Avatar

Please consider registering
guest

sp_LogInOut Log In sp_Registration Register

Register | Lost password?
Advanced Search

— Forum Scope —




— Match —





— Forum Options —





Minimum search word length is 3 characters - maximum search word length is 84 characters

sp_Feed Topic RSS sp_TopicIcon
Bad_Timeout when attempting to write to a node that doesn't exist.
March 9, 2020
18:01, EET
Avatar
HDMIKabel
Member
Members
Forum Posts: 3
Member Since:
February 6, 2020
sp_UserOfflineSmall Offline

Hello,

when I try to write a value to a node that doesn’t exist, I get a ServiceException: Bad_Timeout. The node I’m trying to write to is obviously invalid (this is for a unit test):
“ns=99;s=gibberish”.
This is the stacktrace I’m getting:

com.prosysopc.ua.ServiceException: Bad_Timeout (code=0x800A0000, description=”The operation timed out.”) ServiceResult=Bad_Timeout (0x800A0000) “The operation timed out.”
at com.prosysopc.ua.client.UaClient.a(SourceFile:5370)
at com.prosysopc.ua.client.UaClient.write(SourceFile:4556)
at com.prosysopc.ua.client.UaClient.writeValues(SourceFile:4868)
at com.tcon.prosysservice.StandardProsysOPCUAService.writeNodes(StandardProsysOPCUAService.java:123)
StandardProsysOPCUAService.java:123
at com.tcon.processors.prosys.WriteOPCUA.onTrigger(WriteOPCUA.java:131)
WriteOPCUA.java:131
at org.apache.nifi.processor.AbstractProcessor.onTrigger(AbstractProcessor.java:27)
AbstractProcessor.java:27
at org.apache.nifi.util.StandardProcessorTestRunner$RunProcessor.call(StandardProcessorTestRunner.java:259)
StandardProcessorTestRunner.java:259
at org.apache.nifi.util.StandardProcessorTestRunner$RunProcessor.call(StandardProcessorTestRunner.java:253)
StandardProcessorTestRunner.java:253
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:834)
Caused by: com.prosysopc.ua.stack.common.ServiceResultException: Bad_Timeout (code=0x800A0000, description=”The operation timed out.”)
at com.prosysopc.ua.stack.transport.impl.AsyncResultImpl.waitForResult(SourceFile:287)
at com.prosysopc.ua.stack.transport.tcp.io.SecureChannelTcp.serviceRequest(SourceFile:869)
at com.prosysopc.ua.stack.transport.tcp.io.SecureChannelTcp.serviceRequest(SourceFile:808)
at com.prosysopc.ua.stack.application.SessionChannel.serviceRequest(SourceFile:305)
at com.prosysopc.ua.stack.transport.ChannelService.Write(SourceFile:827)
at com.prosysopc.ua.client.UaClient.a(SourceFile:5363)
… 12 more

I’ve tried this with multiple servers and I cannot get this to work with either of them.
Can you help?

EDIT:
Prosys Version: 4.14
Java Version: 11

March 10, 2020
9:17, EET
Avatar
Matti Siponen
Moderator
Members

Moderators
Forum Posts: 346
Member Since:
February 11, 2020
sp_UserOfflineSmall Offline

Hello,

Receiving Bad_Timeout as a response to a write request suggests that the Servers are unable to process the request and give a proper response in a timely manner or at all. If you have configured a long timeout to your UaClient instance, then it is most likely the latter case. If the Servers you’re connecting your Client to haven’t been programmed to handle nonexistent NodeIds and namespaces properly, it is possible that the write operation fails on the Server side and this failure isn’t reported to the Client with Bad_NodeIdUnknown leading to a Bad_Timeout instead.

Have you tried to perform this write operation with SampleConsoleClient of the Java SDK? The operation should complete with Bad_NodeIdUnknown StatusCode for WriteValues that specify nonexistent Node. You could also use Wireshark to monitor the traffic between your Client and the Servers to verify whether the response to your write request is sent too late or not sent at all. See https://www.prosysopc.com/blog/opc-ua-wireshark/ for instructions on how to use Wireshark with OPC UA.

BR,

Matti

Forum Timezone: Europe/Helsinki

Most Users Ever Online: 1919

Currently Online:
19 Guest(s)

Currently Browsing this Page:
1 Guest(s)

Top Posters:

Heikki Tahvanainen: 402

hbrackel: 144

rocket science: 88

pramanj: 86

Francesco Zambon: 83

Ibrahim: 78

Sabari: 62

kapsl: 57

gjevremovic: 49

Xavier: 43

Member Stats:

Guest Posters: 0

Members: 735

Moderators: 7

Admins: 1

Forum Stats:

Groups: 3

Forums: 15

Topics: 1523

Posts: 6449

Newest Members:

rust, christamcdowall, redaahern07571, nigelbdhmp, travistimmons, AnnelCib, dalenegettinger, howardkennerley, Thomassnism, biancacraft16

Moderators: Jouni Aro: 1026, Pyry: 1, Petri: 0, Bjarne Boström: 1026, Jimmy Ni: 26, Matti Siponen: 346, Lusetti: 0

Administrators: admin: 1