SOEM.PInvoke 1.0.0-alpha.2.final

A .NETStandard wrapper around the Simple Open Source EtherCAT Master (SOEM).

This is a prerelease version of SOEM.PInvoke.
There is a newer prerelease version of this package available.
See the version list below for details.
Install-Package SOEM.PInvoke -Version 1.0.0-alpha.2.final
dotnet add package SOEM.PInvoke --version 1.0.0-alpha.2.final
<PackageReference Include="SOEM.PInvoke" 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 SOEM.PInvoke --version 1.0.0-alpha.2.final
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: SOEM.PInvoke, 1.0.0-alpha.2.final"
#r directive can be used in F# Interactive, C# scripting and .NET Interactive. Copy this into the interactive tool or source code of the script to reference the package.
// Install SOEM.PInvoke as a Cake Addin
#addin nuget:?package=SOEM.PInvoke&version=1.0.0-alpha.2.final&prerelease

// Install SOEM.PInvoke as a Cake Tool
#tool nuget:?package=SOEM.PInvoke&version=1.0.0-alpha.2.final&prerelease
The NuGet Team does not provide support for this client. Please contact its maintainers for support.

SOEM.PInvoke

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

SOEM.PInvoke

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

  • .NETStandard 2.0

    • No dependencies.

NuGet packages (1)

Showing the top 1 NuGet packages that depend on SOEM.PInvoke:

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

GitHub repositories

This package is not used by any popular GitHub repositories.

Version History

Version Downloads Last updated
1.0.0-alpha.9.final 49 8/20/2021
1.0.0-alpha.8.final 93 7/6/2021
1.0.0-alpha.6.final 145 2/17/2021
1.0.0-alpha.5.final 55 2/16/2021
1.0.0-alpha.4.final 346 5/28/2020
1.0.0-alpha.3.final 284 3/4/2020
1.0.0-alpha.2.final 1,188 5/9/2019
1.0.0-alpha.1.21 184 4/3/2019
1.0.0-alpha.1.20 181 4/3/2019
1.0.0-alpha.1.11 177 4/2/2019
1.0.0-alpha.1.10 177 4/2/2019
1.0.0-alpha.1.4 205 4/2/2019
1.0.0-alpha.1.3 173 4/2/2019
1.0.0-alpha.1.2 183 4/2/2019
Show less