SclSharp7 1.1.0

dotnet add package SclSharp7 --version 1.1.0
                    
NuGet\Install-Package SclSharp7 -Version 1.1.0
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="SclSharp7" Version="1.1.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="SclSharp7" Version="1.1.0" />
                    
Directory.Packages.props
<PackageReference Include="SclSharp7" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add SclSharp7 --version 1.1.0
                    
#r "nuget: SclSharp7, 1.1.0"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package SclSharp7@1.1.0
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=SclSharp7&version=1.1.0
                    
Install as a Cake Addin
#tool nuget:?package=SclSharp7&version=1.1.0
                    
Install as a Cake Tool

SlcSharp7 overview

You can refer to the documentation over at Snap7. This package is based off the last version of Sharp7 1.1.0.0 The version of this package will start with a base version off 1.1.0.0 and increment as fixes are made.

Intension

I intend to make this package thread safe and mvvm friendly.

Refactoring

To try and keep the implementation the same as the original Sharp7 package I have moved code into partial classes and kept the namespaces the same. As I go along I will add the xml documentation to the code so that it is easier to understand and use.

Main features

  • Fully standard "safe managed" C# code without any dependencies.

  • Virtually every hardware with an Ethernet adapter able to run a .NET Core can be connected to an S7 PLC.

  • Packed protocol headers to improve performances.

  • Helper class to access to all S7 types without worrying about Little-Big endian conversion.

  • Compatible with Universal Windows Platform including Win10 IoT for Raspberry.

  • One single file. This library has all the classes and structs seperated.

  • Made thread safe.

  • Many function and methods now have async impementations.

  • How to install

Package Manager or dotnet CLI

PM> Install-Package SclSharp7

or

> dotnet add package SclSharp7

Get Started

Supported Targets

  • S7 300/400/WinAC CPU (fully supported)
  • S7 1200/1500 CPU
  • CP (Communication processor - 343/443/IE)

S7 1200/1500 Notes

An external equipment can access to S71200/1500 CPU using the S7 'base' protocol, only working as an HMI, i.e. only basic data transfer are allowed.

All other PG operations (control/directory/etc..) must follow the extended protocol, not implemented yet.

Particularly to access a DB in S71500 some additional setting plc-side are needed.

  • Only global DBs can be accessed.

  • The optimized block access must be turned off.

DB_props

  • The access level must be �full� and the �connection mechanism� must allow GET/PUT.

DB_sec

Product Compatible and additional computed target framework versions.
.NET net9.0 is compatible.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
  • net9.0

    • No dependencies.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
1.1.0 287 6/10/2025

Made thread safe and added async methods.