nimbuscontrols / EIPScanner

Free implementation of EtherNet/IP in C++
https://eipscanner.readthedocs.io/en/latest/
MIT License
224 stars 90 forks source link

Implicit communication display "not enough data" #108

Open 1193851719 opened 3 months ago

1193851719 commented 3 months ago

Describe the bug This shouldn't be a bug, but it's a difficult problem I'm having right now.When I was communicating implicitly, I encountered an error with the error code 0x13."not enough data".I looked at similar discussions and found a configuration in the EDS file that needed to be changed, and I added the configuration path. But it's still wrong.

To Reproduce Place, the code snippet that causes the issue

Example:


  ConnectionManager connectionManager;

  ConnectionParameters parameters;
  parameters.connectionPath = {0x20, 0x04, 0x24, 0x00, 0x2C, 0x01,0X2C,0X00};  
  parameters.o2tRealTimeFormat = true;
  parameters.originatorVendorId = 0x6c;
  //parameters.originatorSerialNumber = 32423;  
  parameters.t2oNetworkConnectionParams |= NetworkConnectionParams::P2P;
  parameters.t2oNetworkConnectionParams |= NetworkConnectionParams::SCHEDULED_PRIORITY;

  parameters.t2oNetworkConnectionParams |= 32; //size of Assm100 =32
  parameters.o2tNetworkConnectionParams |= NetworkConnectionParams::P2P;
  parameters.o2tNetworkConnectionParams |= NetworkConnectionParams::SCHEDULED_PRIORITY;
  parameters.o2tNetworkConnectionParams |= 32; //size of Assm150 = 32

  parameters.originatorSerialNumber = 1;  
  parameters.o2tRPI = 100000;//1000000;
  parameters.t2oRPI = 100000;//1000000;

Expected behavior I modified the connectionPath according to EDS instructions.Example of the format: 0x20, 0x04, 0x24, 0x00, 0x2C, 0x01,0X2C,0X00,0x20 ,0x0C, 0x21, 0x01. It's still wrong!!hope someone can help me determine if these parameters are configured correctly. Thank you very much. errDATA.pcapng.TXT ST15_EIP_Ethernet_IP CPU_IO64.eds.txt