-
-
Notifications
You must be signed in to change notification settings - Fork 108
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
Support for period in tag names #4
Comments
I'll look into it today; good catch. |
Fixed in branch fix-dotted-tags; try it out, if you want:
I'm doing some work on improving the multi-threaded client API unit tests, so I'll be including these improvements, too, before I push another release -- hopefully by later today. |
Thanks, that was quick! However, I get this:
|
OK, the "Controller" (server) side is returning a status code "4"... Is this a real Rockwell controller, or are you (also) running a simulated Controller (eg. using something like: python -m cpppo.server.enip --print -v ACC_MISC_PLC01_ALMA01.HLimit=INT)? If so, did you remember to restart the simulated Controller? The fix was on the "Controller" side of the communications... |
It's a real Rockwell CompactLogix (I think) PLC. |
Ahh. OK, there must be some other system by which those tags inside function blocks are addressed... We can support pretty much arbitrarily complex sets of EtherNet/IP CIP "path" elements, so we need to determine which ones to use. I'll take a look online to see if I can discover what they need to see. |
Thanks for looking into it. If there's any more information I can supply, just ask! |
OK, I've pushed another fix to branch fix-dotted-tags. It now (correctly) handles generating multiple 'symbolic' path segments, for any Tags containing 1 (or more) '.' symbols. |
Found and fixed some multi-threading issues in both Client API and Controller communications simulator. Aggressive threaded Client tests now pass reliably. |
Version 3.6.0 has been pushed, fixing both multi-segment symbolic paths, and some multi-threading issues. |
Version 3.6.1 pushed; fixes a problem in the client API's handling of Multiple Service Packets introduced in 3.6.0. |
Amazing, thanks! |
# This is the 1st commit message: Initial foray in to support for generic CIP Service Code requests # This is the commit message #2: No requirement for existence of .multiple segment in failed responses # This is the commit message #3: Correct handling of service_code operations in client connector I/O # This is the commit message #4: HART Requests almost working o Cannot derive HART from Logix; service codes overlap # This is the commit message #5: Initial working HART I/O card request # This is the commit message #6: Support intermixed Tags and already parsed operation in parse_operations # This is the commit message #7: Test and decode the Read primary variable response, however: o Still broken; the CIP Encapsulation path is still suppsed to be to the Connection Manager @0x06/1! The 0x52 Route Path is Port 1, Address 2, and the message path should be to @0x035D/8. # This is the commit message #8: Success. Still needs cleanup # This is the commit message #9: Further attempts to refine HART pass-thru. o HART I/O card is not responding as defined in documentation # This is the commit message #10: Cleanups for python3, source analysis, unit tests # This is the commit message #11: Attempt to parse Read Dynamic Variables reply; 3 unrecognzied bytes? # This is the commit message #12: Update to attempt to parse real HART I/O card response o Minimal Read Dynamic Variables status response? Not successful o Implement minimal simulated pass-thru Init/Query, HART commands 1,2,3 o Minor changes to client.py Send RR Data, to have timeout and ticks compatible with RSLogix; no difference
For directly accessing tags inside "function blocks" (not sure this is the right terminology) it's necessary to use periods in the tag names, e.g. "ACC_MISC_PLC01_ALMA01.HLimit". Currently this does not seem to work.
The text was updated successfully, but these errors were encountered: