cmseaton42 / node-ethernet-ip

A Lightweight Ethernet/IP API written to interface with Rockwell ControlLogix/CompactLogix Controllers.
MIT License
265 stars 106 forks source link

Can't Read Tag by using attribute ID #78

Closed SerafinTech closed 4 years ago

SerafinTech commented 4 years ago

Trying to read tag value with Instance ID instead of symbolic name. Symbolic name works fine, but Instance ID keeps getting same error response 'Service Not Supported'.

Tested on compactlogix 1769-L32E

Instance ID: 55838 Request:

0000   f4 54 33 96 4d 73 e0 3f 49 0e 48 d9 08 00 45 00   .T3.Ms.?I.H...E.
0010   00 60 88 80 40 00 80 06 43 e0 c0 a8 56 1e c0 a8   .`..@...C...V...
0020   56 c8 ec cb af 12 ff 67 2b 04 6f ac b9 5d 50 18   V......g+.o..]P.
0030   01 ff 7b e6 00 00 70 00 20 00 00 89 02 0b 00 00   ..{...p. .......
0040   00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
0050   00 00 00 00 02 00 a1 00 04 00 41 44 25 00 b1 00   ..........AD%...
0060   0c 00 06 00 4c 03 20 6b 25 00 1e da 01 00         ....L. k%.....

Response:

0000   e0 3f 49 0e 48 d9 f4 54 33 96 4d 73 08 00 45 00   .?I.H..T3.Ms..E.
0010   00 5a f3 8f 40 00 40 06 18 d7 c0 a8 56 c8 c0 a8   .Z..@.@.....V...
0020   56 1e af 12 ec cb 6f ac b9 5d ff 67 2b 3c 50 18   V.....o..].g+<P.
0030   10 00 21 a5 00 00 70 00 1a 00 00 89 02 0b 00 00   ..!...p.........
0040   00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
0050   00 00 00 00 02 00 a1 00 04 00 00 2c 9b 6e b1 00   ...........,.n..
0060   06 00 06 00 cc 00 08 00                           ........

Symbolic Name: Integer2 Request:

0000   f4 54 33 96 4d 73 e0 3f 49 0e 48 d9 08 00 45 00   .T3.Ms.?I.H...E.
0010   00 64 89 44 40 00 80 06 43 18 c0 a8 56 1e c0 a8   .d.D@...C...V...
0020   56 c8 ed b7 af 12 c5 87 fc 27 83 16 d8 69 50 18   V........'...iP.
0030   02 00 69 06 00 00 70 00 24 00 00 8c 02 0b 00 00   ..i...p.$.......
0040   00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
0050   00 00 00 00 02 00 a1 00 04 00 c1 45 25 00 b1 00   ...........E%...
0060   10 00 02 00 4c 05 91 08 49 6e 74 65 67 65 72 32   ....L...Integer2
0070   01 00                                             ..

Response:

0000   e0 3f 49 0e 48 d9 f4 54 33 96 4d 73 08 00 45 00   .?I.H..T3.Ms..E.
0010   00 60 f4 4c 40 00 40 06 18 14 c0 a8 56 c8 c0 a8   .`.L@.@.....V...
0020   56 1e af 12 ed b7 83 16 d8 69 c5 87 fc 63 50 18   V........i...cP.
0030   10 00 70 59 00 00 70 00 20 00 00 8c 02 0b 00 00   ..pY..p. .......
0040   00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
0050   00 00 00 00 02 00 a1 00 04 00 fc ad 58 7f b1 00   ............X...
0060   0c 00 02 00 cc 00 00 00 c4 00 69 05 00 00         ..........i...

Followed exactly how to do it in Logix 5000 manual, but it won't work.

I want to use Instance ID because it is faster and could help with others who have performance issues with large number of tags

Any guess at what is going on?

SerafinTech commented 4 years ago

Never mind. Firmware below 21 does not support instance addressing