800xA SV4.1 AdvDsOPCHandler: Write failed: Unspecified error
we experience the follwing problem with an 800xA SV4.1, connected to AC800M Controllers:
When a faceplate is opened and we perform operator actions very fast (e.g. switching from auto mode to manual mode and back within very short time), the operation is not executed and the message according t attached screenshot is presented in the operator message list.
Then we need to reopen the faceplate to be able to perform the required action again.
Any idea, what could cause this problem and how to solve it?
Any comments are highy appreciated
A write order's turnaround time from faceplate to an AC 800M PLC is typically from one to a couple of seconds, or worse if PLC has not been tuned properly (MMS rate, Task Offset, Cyclic Load, etc).
The OPC server for AC 800M or the 800xA OPC DA framework might reject a subsequent write if the previous has not completed.
Try turning on the OPCDADEBUGPRINT system variable in the Connectivity Server's OPC Server Panel (remember to turn it off again, or else the log file might flood the disk).
With OPCDADEBUGPRINT set to "True" the session.log of the OPC server will show write operations and their results.
You should be able to see the following items in the log:
AddItem - faceplate is opened
AsyncWriteBegin - write order is submitted
AsyncWritePosted - write order is now in transit to PLC
AsyncWriteCompleted - write order has been executed by PLC
RemoveItem - faceplace is closed
Further logging can be made with the AppLog tool - search AKS with Google and you should be able to find topics containing "OPC Communicator - Common log", "OPC Communicator - Statistics operation", "OPC Connector - Basic log", etc.
I have attached a document I wrote some years ago (it need a refresh, e.g. the Statistics operation with Detail D will dump the so crucial server handle IDs) - it will tell some about how to log with applog. Applog does not come with any documentation or warranty. Improper use may slow down or even harm the system - don't just go around pushing every button you see... remember, logging in a central place (e.g. OPC Connector) may list all traffic from all clients. Logs will not fill disk, but consume some extra CPU if left on. Restore all log levels you have changed before leaving the tool. Some logs are on by factory default. A reboot will also restore all logs made in that node. Remember, AppLog is a decentralized client/server based tool - logging can be made remotely.
Send me an email if you want a more detailed answer, but try to stay on AKS for the sake of the community.
Applog basics are taught at the E143 Troubleshooting 800xA Expert Workshop here in Västerås. Please feel free to book one session (next one starts on Monday... seats are available...:-))