I'm trying to setup a working connection between CodeSys 3.5 SP17 and UaExpert.
The setup was made following the guide in this link .
Changes of local and global variables, both booleans, in my PLC program can be observed in UaExpert. Changing them in UaExpert does not affect the PLC program.
All these variables have maximum acces rights under the symbol configuration-tab.
Under the device-tab/Remote-connections/OPCUAServer, the rights of the admin are write/read enabled and I am an admin.
The connection between the runtime and UaExpert has been setup using these admin credentials in the Authentication Settings of UaExpert.
The log of UaExpert states:
'Write to node 'NS4|String||var|CODESYS Control for BeagleboneBlack SL.Application.GVL.BadkamerSCH12' succeeded [ret = Good]' but the booleans remain in the same state it was on PLC.
Am I overlooking something?
Are you writing this boolean continously from within the runtime. That could be a possible cause, but without the sourcecode it's going to be a wild guess. If you would share your project (upload it as a projectarchive) we can help you better.
Thank you for your reply!
I hope the attached gives you more insight.
The issue is as I suspected. This is a typical fault in these kinds of setups.
Your fielbus is continuously writing to the global var list, while you are trying to write them too via OPC UA. Since the fielbus is writing continuously, it will immediately overwrite any external written signals. The external manipulated signal via OPC UA has been written successfully but gets "squashed" by the fieldbus Value.
This is a kind of a eye-opener!
I noticed when I stopped the Bus, OPCUA held its new value, but no change on the Digital ins or outs because the bus is not running.
It's a kind of noobie question..., how can this be resolved with a running bus? With a Merker to memory?
Thank you in advance for your research!
Creating a boolean without mapping it to the IO module did the trick.
Thank you for your help!
Log in to post a comment.