Generate NuGet package
This patch does a few things:
- Removed the Program.Main from the library
- Added .editorconfig and ReSharper settings to help edits stay with project coding style
- Converted project to a .Net SDK style project and enabled NuGet packaging.
- Output both .netstandard and .NET Framework 4.5.1 libraries
- Enabled XML documentation
Addresses #2
Any chance this is going to happen? Making the library available on nuget would be highly appreciated. I did have hunch that the project was stalled but these recent activities gives hope.
If the library is published on nuget and PRs are welcome, I will contribute with a couple of PRs (including support for multiple implicit messaging devices, connection exception handling)
Any chance this is going to happen? Making the library available on nuget would be highly appreciated. I did have hunch that the project was stalled but these recent activities gives hope.
If the library is published on nuget and PRs are welcome, I will contribute with a couple of PRs (including support for multiple implicit messaging devices, connection exception handling)
Sorry to hijack this, but @ralftar could you explain how you implemented multiple implicit connections? Do you use a single receiving socket on port 2222 or did you manage to get it working on a different port? I'm trying to deal with this issue, one way or another I might end up forking the library to get this into working condition. For what it's worth, I'm also maintaining S7 communication libraries (Sally7 and S7NetPlus), so I can probably get this into a usable state. I just don't own any devices to test with.
@mycroes Yes, my team used a single socket on port 2222, aligning with the EIP protocol. Below is our change log for the internal version. We are currently building to our private NuGet repo., but are happy to switch to public GitHub + NuGet repo. It's a side project for us, so maintainers are welcomed and appreciated!
The big question is how does @rossmann-engineering feel about this?
Change log
| Type | Description | Commit |
|---|---|---|
| Changed .NET-platform |
Converted from v4.5.2 to Standard 2.0 (no compability issues) |
981c911 8bf5ff6 eac4ac8 |
| Removed Program.cs |
Entry point is not needed in a class library | 88f34bf 5ca9b4b |
| Changed Connection |
Support for multiple implicit messaging devices in paralell. | 8cbd69f 8071df0 4bcd560 cd2f94e 112362c 0a8f362 |
| Removed Example projects |
f33e60d | |
| Added try-finally |
Makes sure the session is unregistered properly | fb54eee 1e9a93a |
| Added try-finally |
Makes sure the connection is closed properly | 3603f39 15130a0 |
| Removed DS_Store EEIP.NET.sln |
Not needed | c61d2bb 78c99f5 |
| Added LastImplisitMessage reset |
Resets LastImplicitMessage on connection when it is closed | d9dcc7c |
| Added Try-catch |
Catches and logs to console the exception sometimes thrown by udpSend on a disconnect | 37f8b3d |
| Changed ConsoleLog |
Encapsulated/hided explicit console logging and added console logs as an observable subject | 98d9d24 |
| Changed DateTime |
LastReceivedImplicitMessage changed to use utc | bd494fa |
| Changed Project file properties |
For CI: Version number, github repo., (package) description, renamed file | 1aa2b1b 53224dc |
| Changed Async Open/close |
Opening and closeing of conneciton made async | 88619db |
@ralftar I don't have any concerns at all - would be happy if someone is willing to contribute in any possible way. You are welcome to publish your work to NuGet or GitHub.
@mycroes Yes, my team used a single socket on port 2222, aligning with the EIP protocol. Below is our change log for the internal version. We are currently building to our private NuGet repo., but are happy to switch to public GitHub + NuGet repo. It's a side project for us, so maintainers are welcomed and appreciated!
Would certainly appreciate if this is open sourced. Are there any freely available specifications of the EIP protocol or is the only option to purchase them from ODVA? I'm quite amazed that apparently the UDP port is communicated, but not used (or so it seems). If that is what it is then I'll have to deal with it, but it would certainly make my life easier if other ports can be used as well...
Anyway, thanks for your quick replies!
Would certainly appreciate if this is open sourced.
Let's do this 🚀
Are there any freely available specifications of the EIP protocol or is the only option to purchase them from ODVA?
These documents might be good starting points:
- https://www.odva.org/wp-content/uploads/2020/05/PUB00213R0_EtherNetIP_Developers_Guide.pdf
- https://www.odva.org/wp-content/uploads/2020/06/PUB00123R1_Common-Industrial_Protocol_and_Family_of_CIP_Networks.pdf
I faced the same issues. I'm on project where I need EIP connection with 3 devices.
- First, I had to heavily correct the connection path and the size of the instance: 2da31d4 This was needed for Siemens IM155 example
- Second, when I started to use multiple devices at the same time, impossible to use twice the same default port 2222.
And setting a different
OriginatorUDPPortwasn't working. I found the bug ab23b1f
Oddly enough, changing OriginatorUDPPort is not working (currently) on Universal Robot device. That why I let in the commit the code to change back OriginatorUDPPort when the target did not acknowledge the request.
Hopefully, my 2 other devices are sending data to wanted port.