plcpeople / nodepccc

Library for node.js to communicate with some Allen-Bradley programmable controllers (PLCs)
MIT License
81 stars 24 forks source link

Basics #17

Closed QuinDennis closed 5 years ago

QuinDennis commented 7 years ago

Greetings! I've used libplctag in "C" but looking for a nodejs solution. I have ControlLogix, ENET in slot 0, L5583 in slot 1. For 'routing' I have 1,0,1,1 (0x01,0x00...), no 'Translation', pgm output: .TCP Connection Established ... port 44818 .EIP ...connection confirmed .Session Handle is 0xB000100 .Adding Test1 (which is DINT in PLC) [419121,627394019] Error - String Couldn't Split Properly. For SLC Addressing it needs a : .. [419121,627460735] Dropping an undefined...

plcpeople commented 7 years ago

nodePCCC only supports PCCC - so if you have a tag called Test1 that is a DINT, you have to save and upload, go offline, "Map PLC/SLC Messages" (Logic menu I think), map file 9 (or any other #) to Test1 (or for efficiency use an array tag), download, then request 'L9:0' instead of 'Test1' in nodePCCC and it will work. The 'String couldn't split properly' indicates you haven't used a valid PCCC tag syntax.

At some point I'd like to add proper support (in a different project) for CIP messages to request ControlLogix/CompactLogix tags by name like you are trying to do. This project was written to communicate with older SLC PLCs and routing was added to support CompactLogix. CIP tag requests are not that difficult, but finding the time to work on it sure is.

QuinDennis commented 7 years ago

Thanks, it looked very SLC oriented. I'll try to take a look at other "C" code that could be ported to support tags.

On 03/15/2017 10:21 AM, plcpeople wrote:

nodePCCC only supports PCCC - so if you have a tag called Test1 that is a DINT, you have to save and upload, go offline, "Map PLC/SLC Messages" (Logic menu I think), map file #9 https://github.com/plcpeople/nodepccc/issues/9 (or any other #) to Test1 (or for efficiency use an array tag), download, then request 'L9:0' instead of 'Test1' in nodePCCC and it will work. The 'String couldn't split properly' indicates you haven't used a valid PCCC tag syntax.

At some point I'd like to add proper support (in a different project) for CIP messages to request ControlLogix/CompactLogix tags by name like you are trying to do. This project was written to communicate with older SLC PLCs and routing was added to support CompactLogix. CIP tag requests are not that difficult, but finding the time to work on it sure is.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/plcpeople/nodepccc/issues/17#issuecomment-286775845, or mute the thread https://github.com/notifications/unsubscribe-auth/AAx1kYLFgeMkq3SL_Fm-Ko1kPvfJVWR8ks5rmAHzgaJpZM4MeBzb.

-- Quin Dennis | t: 512.216.2670 | c: 512.210.4595

plcpeople commented 5 years ago

Closing this issue as ControlLogix tags would be added to a different project, not nodePCCC.