Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Generate NuGet package #16

Open
wants to merge 5 commits into
base: master
Choose a base branch
from

Conversation

ngbrown
Copy link
Contributor

@ngbrown ngbrown commented Mar 31, 2020

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

@ralftar
Copy link

ralftar commented May 20, 2020

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)

@mycroes
Copy link

mycroes commented Feb 24, 2022

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.

@ralftar
Copy link

ralftar commented Feb 26, 2022

@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

@rossmann-engineering
Copy link
Owner

@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
Copy link

mycroes commented Feb 26, 2022

@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!

@ralftar
Copy link

ralftar commented Feb 26, 2022

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:

@holigo1
Copy link

holigo1 commented Feb 28, 2022

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 OriginatorUDPPort wasn'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.

And Some documentation

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants