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

Communicate to a device without config assembly #34

Closed
gpenzo opened this issue Oct 6, 2020 · 5 comments
Closed

Communicate to a device without config assembly #34

gpenzo opened this issue Oct 6, 2020 · 5 comments
Labels
question Further information is requested

Comments

@gpenzo
Copy link

gpenzo commented Oct 6, 2020

Hello.
I am using the EIPscanner with a plc and it works perfectly.
But I also have a second device which doesnot have a config assembly. Only input and ouput assemblies.
What do I need to do with the follow line of code to communicate to the device.
parameters.connectionPath = {0x20, 0x04,0x24, 151, 0x2C, 150, 0x2C, 100}; // config Assm151, output Assm150, intput Assm100
Does EIPScanner support a device without input assembly?

Many thanks
Grayson Penzo

@gpenzo gpenzo added the bug Something isn't working label Oct 6, 2020
@jadamroth
Copy link
Collaborator

Hi Grayson, thanks for using the library.

  1. Out of curiosity, and for my own knowledge, what kind of PLC are you using?
  2. Will you please provide the model of the second device and a eip/cip datasheet if you have one?
  3. Have you downloaded the EDS file yet? - https://github.com/nimbuscontrols/EIPScanner/blob/master/examples/FileObjectExample.cpp

@jadamroth jadamroth added question Further information is requested and removed bug Something isn't working labels Oct 6, 2020
@gpenzo
Copy link
Author

gpenzo commented Oct 7, 2020

The first PLC is a safety plc with a ethernetIP gateway. See sick FX0-GENT
Second plc without a config assembly is a navigation module from bluebotics.
Attached the eds file from the company. I try FileObjectExample but it does not support it.
In wireshark I see :Service not supported.
I try to debug it but I do not have access to the Ethernet/IP specification yet.
I was surprised that I need to be in the odva club to get it.
I use your library because it is the only one which works out of the box.
Thanks for the effort.

ANTEtherNetIP.txt

@jadamroth
Copy link
Collaborator

Sorry for the confusion. I meant eip/cip datasheet for the device your using. For example, RA has this one for their Powerflex 755 - https://literature.rockwellautomation.com/idc/groups/literature/documents/um/750com-um001_-en-p.pdf

The EDS you sent me is the same one that's usually downloaded from the FileObjectExample.cpp I provided, so this is a good start. From first glance, your device looks like it should support implicit connections

We have not tested implicit connections nearly as much as explicit messaging, but it appears you've looked at this example given the connection path you've provided - https://github.com/nimbuscontrols/EIPScanner/blob/master/examples/ImplicitMessagingExample.cpp

I'm busy for the next few days, so may not be as quick to respond until the weekend, but try these

  1. What does the console response and wireshark dump say when you try to connect with implicit
  2. Try following along similarly from this issue - Implicit Messaging - Yaskawa MP3300iec #30 and this example - https://github.com/nimbuscontrols/EIPScanner/blob/master/examples/vendors/yaskawa/mp3300iec/Yaskawa_AssemblyObjectExample.cpp

@gpenzo
Copy link
Author

gpenzo commented Oct 11, 2020

They do not have a eip/cip data sheet. I ask them to send me a wireshark log of a device talking to it. And I see the connectionpoint id are different than mention in the EDS file. In the EDS file it only say Assem1 and Assem2. But the connection point is 0x69 and 0x70. Will try it tomorrow and let you know if it works.
So the array should be parameters.connectionPath = {0x20, 0x04,0x24, 0x03, 0x2C, 0x70, 0x2C, 0x69};

@gpenzo
Copy link
Author

gpenzo commented Oct 19, 2020

Hello.
Just to let you know it is working.
The problem is with the plc it does not behave as it should.
the date from the PLC towards the library does not go to port 2222. But it goes towards the port source port of the O->T message. I changed the library to use the source port as receiving port when getting data form this vendor.
Thanks for the help.

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

No branches or pull requests

2 participants