Thank you for releasing SetupEnIPExplorer_1.2.1.exe!
Hello fchaxel , as before with r53, I'd like to recommend Ethernet/IP Explorer to a customer who's specifically asking for explicit message support. With the above bug entry, I just realized that explixit messaging is broken since r53. Could you therefore compile a new release incorporating the latest commits, please ? Thank you!
Patch by Wouter van Kesteren
In https://sourceforge.net/p/enipexplorer/code/53/ there was a wrongfully deleted line. Instead of removing lb.AddRange(path); inside of b_send_Click the line above it should have been removed. The following patch corrects it and makes it match up with refreshSendWindow again. diff --git a/EnIPExplorer/ExplicitMessages.cs b/EnIPExplorer/ExplicitMessages.cs index ae073a4..c21375b 100644 --- a/EnIPExplorer/ExplicitMessages.cs +++ b/EnIPExplorer/ExplicitMessages.cs @@ -176,7 +176,7 @@ namespace EnIPExplorer...
In https://sourceforge.net/p/enipexplorer/code/53/ there was a wrongfully deleted line. Instead of removing lb.AddRange(path); inside of b_send_Click the line above it should have been removed. Follow patch corrects it and makes it match up with refreshSendWindow again. diff --git a/EnIPExplorer/ExplicitMessages.cs b/EnIPExplorer/ExplicitMessages.cs index ae073a4..c21375b 100644 --- a/EnIPExplorer/ExplicitMessages.cs +++ b/EnIPExplorer/ExplicitMessages.cs @@ -176,7 +176,7 @@ namespace EnIPExplorer...
That's great - appreciate!
Hi Done. Bye.
Hi, do have a new release planned some time? I would love to see one incorporating commits r53 from 2021-05-21, since I'd like to recommend your EIP Scanner to our customers. Thank you!
Two patchs by alki
Hi, Yes this line of code was here at the beginning of the communication stack development process, and its removal was forget. Bye.
Since this tool reads out the I/O data lengths for Class 1 connections (Implicit Messaging) anyway I don't see a reason to define the Forward_Open T->O Connection Size Type as "variable". It should be "fixed" instead. In particular, Anybus CompactCom for EtherNet/IP based network interfaces do not accept variable size types. I could mitigate this by simply commenting out this line in EnIPBase.cs which seems out of place anyway : if (conf.O2T_P2P) O2T_ConnectionParameters = 0x4800; else O2T_ConnectionParameters...
Possible fix in ExplicitMessages.cs: (1) Substitute getAttributeId() by this (probably some cut&paste error) : private UInt16 getAttributeId() { UInt16 attributeId; if (!(UInt16.TryParse(tb_attribute.Text, out attributeId))) { attributeId = 0; tb_attribute.Text = "0"; } return attributeId; } (2) These lines need to be deleted otherwise this CIP is sent for a simple Get_Attribute_Single Identity request [0e 04 0e 03 20 01 24 01 30 01] instead of this [0e 03 20 01 24 01 30 01] : lb.Add(getServiceId());...
Possible fix in ExplicitMessages.cs: (1) Substitute getAttributeId() by this (probably some cut&paste error) : private UInt16 getAttributeId() { UInt16 attributeId; if (!(UInt16.TryParse(tb_attribute.Text, out attributeId))) { attributeId = 0; tb_attribute.Text = "0"; } return attributeId; } (2) These lines need to be deleted otherwise this CIP is sent for a simple Get_Attribute_Single Identity request [0e 04 0e 03 20 01 24 01 30 01] instead of this [0e 03 20 01 24 01 30 01] : lb.Add(getServiceId());...
Thanks !
Small patch on ExplicitMessages.cs
Hi, This ExplicitMessages form is a third party code to this application & protocol stack. I've never look inside it. Sure tb_attribute should replace tb_class (a bad copy/paste certainly), at two places. For the request construction the two lines supression (at two places !) and the ByteArrayToString convertion I will check it soon. Bye.
Possible fix in ExplicitMessages.cs: (1) Substitute getAttributeId() by this (probably some cut&paste error) : private UInt16 getAttributeId() { UInt16 attributeId; if (!(UInt16.TryParse(tb_attribute.Text, out attributeId))) { attributeId = 0; tb_attribute.Text = "0"; } return attributeId; } (2) These lines need to be deleted otherwise this CIP is sent for a simple Get Attribute Identity request [0e 04 0e 03 20 01 24 01 30 01] instead of this [0e 03 20 01 24 01 30 01] : lb.Add(getServiceId()); lb.Add(((byte)(path.Count...
Explicit messages function doesn't permit to insert Attrbute. Path segment error is generated. Any solution? Thanks.
getAttributeId method is using cb_class value getAttributeId method Line 429 possible fix: if(!(UInt16.TryParse(tb_attribute.Text, out attributeId))) Maybe same issue in tb_attribute_Leave method as well but I have not checked
Small patch by tswaehn
Download snapshot information
Change in Universal Robot user decoder structures
Minor improvments during grid update
Rollback enum reordering & Getsbyte method patch
Simplification in ForwardClose call
Missing update
Small update
Small patch : wrong buffer size for LargeForwardOpen request
smal bug patch
The same mistake in public void SetInt32
Hi, Thank's for the bug fix. Bye.
Bug fix : unappropriate data type used for LREAL coding
Found the problem public void SetDouble(ref int Idx, byte[] buf, Double? val) instead of public void SetDouble(ref int Idx, byte[] buf, UInt64? val)
Hi I try to create custom decoder with LREAL. REAL works, but show gagbage, if I change t LREAL it disappears from the list in context menu. Axis pnStatus;UINT axNumber;UINT drStat;UINT busCycle;UINT pcmd;LREAL Did someone try LREAL fileds? Thank Rasty
Hex display option of integer values in the property grid
UserType compiler patch
I've made a mistake in the Read/Write process analysis. Frames 820-821 : Read 0x96 att3 return 32 byte 0 Frames 934-935 : Write 0x96 att3 byte 30 (start counting at 0) to 0x10 is OK Frames 936-937 : Read back get the byte at 0x10. So seems to be a display problem.
Hello, I've just downloaded and compiled your new Version. After that I went to implicit Messaging and the conection Lights of the Axis changed to always on, after I pressed Forward Open. After that changes in the Output structure are shown on the Axis software and finally I managed to move the Axis. A BIG BIG THANK YOU for your help. We made a big step forward. I have to check if we can use your code to write a DLL to interface to the Axis form C++. Can you please give me some contact data so that...
Quite strange Write shows only 26 bytes written. So off course byte n°30 is not modified when readed back ! Try to write first byte (or bellow byte n°26). I have to see why it's like this and why all the array is not sent ! ... but this tool has not be tested with a lot of devices (only 2 in fact). The EDS file shows a config assembly instance #5. You can try implicit messaging using the 3 assemblies attributs instance : using the last source code from this morning will be better than the .exe from...
But The Data to the Axis is not sent. (I also tried the first Bytes, also a completely correct filled 32 Byte Block)...
In Ethernet/IP Explorer -> I see the Output of the Axis
second - the Data, the Input is all 0
From the RC-Software of the Axis
Second capture. I restarted teh Program, opened teh interface, clicked the Tree, Opened Implicit Messaging, Moved my Assemblys to O->T / T->O and clicked forward open. The Interesting for me: When I change some Values which should be written to the Axis, I can end the Ethernet/IP and restart it, and I still see the same changed values. On the Axis I do ont see any changes...
First capture. I did all Changes directly in the GUI. I clicked to the Assembly #100/150, then I changed Byte 30 of Assembly #150 to 16 and got a write OK. After that I clicked to the Assembly #100/150 agian.
First File the EDS... I will try to do the Wireshark captures and post them later on...
Somes changes with ForwardOpen (Path, Transport field, Data size)
Adds forgotten CIP Type
Hi, Maybe implicit (Forward open) messaging is required to write into the device. Please post a link to the eds file or the file itself ... a config assembly is sometimes required for Foward Open connection (even with 0 byte) and the eds file shows it. Could you post a wireshark capture of the write operation who says OK but not working : to looks at the device response ? .. also maybe the Forward open connection with the error response. Bye.
Additional Info: In the Software of the Axis I can setup the Structure of the Ethernet/IP data (Operation Mode). When I change it I can see that the ammount of Data in the exchanged Assemblys also changes. Bernd
Hello, I am absolutely new to Ethernet/IP and CIP. We have a Axis from IAI with an Ethernet/IP (CIP) interface. We have a description of the Assembly-Data sent to and received from the Axis. Now I tried out your Program to see if I am able to move the Axis and so on. Therefore I used the Discover. After thet I can see my Axis. Then I added two Instances to Assembly: #100 For the output of the Axis #150 For the input of the Axis I also managed to Add decoders so that I can read the Data directly (Except...