EtherCAT.NET 1.0.0-alpha.2.final

A high-level SOEM-based EtherCAT master with ESI support for Windows and Linux.

This is a prerelease version of EtherCAT.NET.
This package has a SemVer 2.0.0 package version.
This package will only be available to download with SemVer 2.0.0 compatible NuGet clients, such as Visual Studio 2017 (version 15.3) and above or NuGet client 4.3.0 and above. Read more
Install-Package EtherCAT.NET -Version 1.0.0-alpha.2.final
dotnet add package EtherCAT.NET --version 1.0.0-alpha.2.final
<PackageReference Include="EtherCAT.NET" Version="1.0.0-alpha.2.final" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add EtherCAT.NET --version 1.0.0-alpha.2.final
The NuGet Team does not provide support for this client. Please contact its maintainers for support.

EtherCAT.NET

WARNING: The current package contains only Windows libs since AppVeyor has not yet updated to Visual Studio 2019 and .NET Core 3.0 preview 5.

The following is a short introduction to the package. See the repository for more information.

A large amount of the logic of EtherCAT.NET comes from the data acquisition software OneDAS, where the master has been extensively tested on many slaves from Beckhoff, Gantner and Anybus. Due to the effort to reduce protocol specific logic within OneDAS and to allow standalone use of the EtherCAT master, EtherCAT.NET was born.

EtherCAT.NET itself provides high-level abstraction of the underlying native Simple Open Source EtherCAT Master (SOEM). To accomplish this, the solution contains another project: SOEM.PInvoke. It comprises the actual native libraries for Windows and Linux and allows to simply P/Invoke into the native SOEM methods. The intention is to provide a managed way to access the native SOEM master. EtherCAT.NET depends on SOEM.PInvoke and adds classes for high-level abstraction.

This master already supports slave configuration via ESI files. In fact, these files are required for the master to work. As shown in the sample, you need to point the configuration to the folder, where the ESI files live.

Another feature is the configuration of complex slaves. For example, this master has been sucessfully tested with the Profibus terminal (EL6731-0010). TwinCAT allows confguration of this terminal through a special configuration page. Since creating high-level configuration interfaces for each complex slave is much work, the priority for EtherCAT.NET lies on providing a simple interface to customize SDOs (like in TwinCAT), so that the end user can tune the required settings for any slave in a generic way.

sample-master

EtherCAT.NET

WARNING: The current package contains only Windows libs since AppVeyor has not yet updated to Visual Studio 2019 and .NET Core 3.0 preview 5.

The following is a short introduction to the package. See the repository for more information.

A large amount of the logic of EtherCAT.NET comes from the data acquisition software OneDAS, where the master has been extensively tested on many slaves from Beckhoff, Gantner and Anybus. Due to the effort to reduce protocol specific logic within OneDAS and to allow standalone use of the EtherCAT master, EtherCAT.NET was born.

EtherCAT.NET itself provides high-level abstraction of the underlying native Simple Open Source EtherCAT Master (SOEM). To accomplish this, the solution contains another project: SOEM.PInvoke. It comprises the actual native libraries for Windows and Linux and allows to simply P/Invoke into the native SOEM methods. The intention is to provide a managed way to access the native SOEM master. EtherCAT.NET depends on SOEM.PInvoke and adds classes for high-level abstraction.

This master already supports slave configuration via ESI files. In fact, these files are required for the master to work. As shown in the sample, you need to point the configuration to the folder, where the ESI files live.

Another feature is the configuration of complex slaves. For example, this master has been sucessfully tested with the Profibus terminal (EL6731-0010). TwinCAT allows confguration of this terminal through a special configuration page. Since creating high-level configuration interfaces for each complex slave is much work, the priority for EtherCAT.NET lies on providing a simple interface to customize SDOs (like in TwinCAT), so that the end user can tune the required settings for any slave in a generic way.

sample-master

This package is not used by any popular GitHub repositories.

Version History

Version Downloads Last updated
1.0.0-alpha.2.final 197 5/9/2019
1.0.0-alpha.1.20 70 4/3/2019
1.0.0-alpha.1.4 68 4/3/2019