Comments (7)
I have my money on the guardlogix not letting you write to the plc. Can you record the packets with Wireshark? can give us a better idea what's going on.
Guardlogix isn't in the supported plc's in the readme as well. @dmroeder has anyone actually used it before on this model? I know for sure these plc's have tons of safety features.
Can you please try this scenario in a non guardlogix plc?
Can you change this bool tag from say an ignition opc server?
from pylogix.
GuardLogix isn't an issue. It is not pylogix that determines if the write was successful, the PLC returns that code, I pass it on to you. The fact that the PLC says it was successful and the value doesn't change suggests that there is something overwriting the value in the PLC. You can try to write to a BOOL that is used in am OTE, for example, the PLC will consider it successful, but the rung it is used on controls the value in the tag
from pylogix.
Yeah I didn't even think about something overriding the value. I was thinking maybe OP already had that covered.
from pylogix.
I did look for anything that might override the value. The tag is only referenced three times in the whole program. There is one UNLATCH further down the stepper but the sequence never gets there. One of the tags I am trying to write needs to go True before it does.
I will try to get Wireshark working next week when I get back to the shop.
I have about 25 units polling PLCs (Gaurdlogix included) without an issue. I rarely write to PLCs for obvious reasons so I haven't run into this before. Was hoping someone else might have seen this.
I suspect a firmware issue with the PLC but how do I get AllenBradley to help when I tell them I am writing to their PLC with your library? Might have to use some relays to talk to the PLC. Frustrating.
I think my next test will be to write to a completely new tag.
from pylogix.
Highly doubt firmware issue unless the same scenario worked with previous firmware versions.
One obvious question, are these tags you're trying to write writeable? because there's one property to make them read only.
I would make a test with a tag that isn't referenced anywhere and I would also try to change it from an opc server, ignition edge is free 2hr runtime and easy to setup opcua, then use opcua matrikon or alike to change it.
from pylogix.
I don't think that wireshark is really going to help at all because I don't think anything is going wrong. You write to the PLC, it says, yeah, that was successful.
I also think it is very unlikely that this is a firmware issue. Possible, but not probable. More than likely, exactly what is supposed to happen is actually happening. Maybe there is some sort of scan/race condition in your program that is not obvious. Maybe there are two of the same tag by accident, one being controller scope, one being program scope, so the one being written to is not the one you are using in logic. Or the tag is aliased to another tag. There is almost certainly something logical to explain this.
I think you are on the right track, create a new tag to write to, have no logic controlling it, I think you'll find that everything is working properly. When you create the tag, pay attention to scope and external access properties.
You would have a hard time convincing Rockwell to pay attention to something like this, especially some library unknown to them. You would have to come at them with some very clear evidence that their controller is at fault, I don't think you're there yet. You're blaming them a little too early.
from pylogix.
I'm closing this. Reopen if there is evidence of an issue.
from pylogix.
Related Issues (20)
- "Forward open failed" when trying to read tags from Berghof PLC HOT 8
- .GetDeviceProperties always returns DeviceType of "None" HOT 5
- Issues connecting to emulate HOT 7
- micro850 connection HOT 5
- Return data gets jumbled up on a multi write when the tags don't exist. HOT 13
- The return value is different when using a multi write compared to a single write for a string. HOT 4
- cannot get a tag list HOT 3
- Is it possible to inhibit a periodic task? HOT 2
- pylogix - returning a tag list as a row of values HOT 7
- PLC REAL values HOT 5
- Pylogix - compare a previously acquired tag list with the current one HOT 5
- Discover does not work while running pylogix in docker HOT 10
- Invalid Continuation Byte HOT 5
- Abnormal code termination. HOT 8
- Do I need to use routing? HOT 20
- PLC connection best practice HOT 8
- Forward Open Failed HOT 22
- Connection Issues HOT 9
- PLC read does not run when called from a function HOT 5
- documentation on the CIP protocol HOT 8
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from pylogix.