Professional OPC
Development Tools

logos

Subscription

More
27 Nov 2017 10:29 #5695 by support
Replied by support on topic Subscription
Yes, you can post the link, sure.

Please Log in or Create an account to join the conversation.

More
27 Nov 2017 08:16 #5694 by I-Tecnology
Replied by I-Tecnology on topic Subscription
thank you for your answer.
I will ask to technical support of OPC server.
Can I post on their forum a link to this discussion?
Best regards

Please Log in or Create an account to join the conversation.

More
26 Nov 2017 18:37 #5692 by support
Replied by support on topic Subscription
I have analyzed the logs. For both errors (BadSequenceNumberUnknown and BadTimeout), I have not found any problem on the client side.

Specifically:

For BadSequenceNumberUnknown, at 25/11/2017 10:26:00.650 in the PublishRequest the client is trying to acknowledge an unacked sequence number 1 (from previous PublishResponse at 25/11/2017 10:26:00.630), and the server is rejecting that sequence number as unknown in PublishResponse at 25/11/2017 10:26:20.508.


For BadTimeout, there are two of them, both of them are ServiceFaultResponse, they are both at 25/11/2017 10:27:31.916. They correspond to PublishRequest-s at 25/11/2017 10:26:27.231 and 25/11/2017 10:26:27.283. I do not know what reason the server may have to time out after a few seconds.

As all this information is observable from the server log which you have obtained and sent, I would recommend to send that log with my explanation to Kepware, and ask them for comments. My opinion is that the server is not behaving fully in compliance with the spec (at least not in the case of BadSequenceNumberUnknown; technically, it is entitled to return BadTimeout to any request, but it still does not feel right) , but I would be curious to hear what they have to say; and if they think differently, we can then take it from there.

Best regards

Please Log in or Create an account to join the conversation.

More
25 Nov 2017 19:32 #5691 by support
Replied by support on topic Subscription
Just an addendum to my previous response: The error with BadNodeIdUnknown is "normal", or at least benign. But the others are more suspicious.


Explanation:

The BadNodeIdUnknown is for a node Server.ServerCapabilities.OperationLimits.MaxNodesPerRead which we read at the very beginning in order to be able to chunk the read requests to the size supported by the server. We can normally communicate fine without the server supporting that (typically, embedded servers limit the number of nodes per read; but PC-based servers handle large numbers well). There are other similar errors further down in the log - they are for other operation limits, and it's fine too.

Regards

Please Log in or Create an account to join the conversation.

More
25 Nov 2017 18:58 #5690 by support
Replied by support on topic Subscription
Thank you. I apologize for letting you wait; I had too much work.

I wanted to reply that we normally do not have such problems with KepServer, as it is well established product. But, of course, older version can have some issues, so I suppose the stopping subscriptions were due to something on the server side.

Now, to the remaining errors: They are not normal. I will further analyze the log you have sent, or ask you to make a Wireshark capture should the log be insufficient. Just give me some time.

Best regards

Please Log in or Create an account to join the conversation.

More
25 Nov 2017 09:44 #5689 by I-Tecnology
Replied by I-Tecnology on topic Subscription
I have upgraded my OPC server (TopServer) to the latest version (6.3 from 5.16) and it seems all ok.

I continue having this errors in your log but subscription has no problem:

25/11/2017 09:26:20 The OPC-UA server on endpoint URL "opc.tcp://127.0.0.1:49380" has reported a subscription acknowledgement error with code 0x807A0000 for subscription ID 4 and sequence number 1. Further subscription acknowledgement errors with this code on this session will not be logged.
Operation result: BadSequenceNumberUnknown. ============ Date:2017-11-25 Time:10:26:20

25/11/2017 09:27:31 The OPC-UA client session with connect sequence number 1 on endpoint URL "opc.tcp://127.0.0.1:49380" has encountered a publish error with code 0x800A0000 for subscription ID 0 and sequence number 0. The error might be from the Publish or the Republish service. Further publish errors with this code on this session will not be logged.
Service result: BadTimeout 'BadTimeout'. ============ Date:2017-11-25 Time:10:27:31

In OPC server I have this log (I attacch the complete log):

25/11/2017 10:26:00.150 [OpcLabs.EasyOpc.UA.Implementations.NetSdk.EasyUASession;5.51.465.1@NB-TecnicoVM/3868:1;1] ReadResponse
0000000000: Event started
0000000000: Response Header:
0000000000: timestamp (UTC): 2017-11-25T09:26:00.150
0000000000: requestHandle: 4
0000000000: serviceResult: 0x00000000 (Good)
0000000000: Parameters:
0000000000: readResults []: Size: 1
0000000000: readResults [ 0 ]:
0000000000: statusCode: 0x80340000 (BadNodeIdUnknown)
0000000000: Event complete

25/11/2017 10:27:31.916 [OpcLabs.EasyOpc.UA.Implementations.NetSdk.EasyUASession;5.51.465.1@NB-TecnicoVM/3868:1;1] ServiceFaultResponse
0000000000: Event started
0000000000: Response Header:
0000000000: timestamp (UTC): 2017-11-25T09:27:31.916
0000000000: requestHandle: 7
0000000000: serviceResult: 0x800a0000 (BadTimeout)
0000000000: Event complete

Is it normal? or I must adjust something in my software?

Best regards
Attachments:

Please Log in or Create an account to join the conversation.

More
23 Nov 2017 17:14 #5687 by I-Tecnology
Replied by I-Tecnology on topic Subscription
any news?

Please Log in or Create an account to join the conversation.

More
22 Nov 2017 17:13 #5684 by I-Tecnology
Replied by I-Tecnology on topic Subscription
Here the log entry:
 
22/11/2017 16:53:31 OPC-UA endpoint selection on discovery URL "opc.tcp://localhost:49380" candidate report (5 entries) follows.
[0:Winner(1000+0), 1:EligibleNotAccepted(80), 2:EligibleNotAccepted(130), 3:EligibleNotAccepted(90), 4:EligibleNotAccepted(140)]. ============ Date:2017-11-22 Time:17:53:31
 
22/11/2017 16:53:31 The OPC-UA server endpoint URL "opc.tcp://127.0.0.1:49380" with security policy URI "http://opcfoundation.org/UA/SecurityPolicy#None" and transport policy URI "http://opcfoundation.org/UA-Profile/Transport/uatcp-uasc-uabinary", selected using discovery on endpoint URL "opc.tcp://localhost:49380", has zero security level. Using this endpoint is not recommended and is only supported for backward compatibility. This happens when no other endpoints are available and eligible for selection. ============ Date:2017-11-22 Time:17:53:31
 
22/11/2017 16:53:31 The preliminary OPC-UA server endpoint URL selected using discovery on endpoint URL "opc.tcp://localhost:49380/" differs in host name or port number from the discovery endpoint. The original endpoint URL "opc.tcp://127.0.0.1:49380" has been replaced by "opc.tcp://localhost:49380/". ============ Date:2017-11-22 Time:17:53:31
 
22/11/2017 16:53:31 The OPC-UA client session with connect sequence number 1 has selected an OPC-UA endpoint for discovery URL "opc.tcp://localhost:49380" with following parameters:
Endpoint URL "opc.tcp://localhost:49380/", message security mode 'None', security policy URI "http://opcfoundation.org/UA/SecurityPolicy#None", transport profile URI "http://opcfoundation.org/UA-Profile/Transport/uatcp-uasc-uabinary". ============ Date:2017-11-22 Time:17:53:31
 
22/11/2017 16:53:32 The OPC-UA client session with connect sequence number 1 user token selection on endpoint URL "opc.tcp://localhost:49380" candidate report (2 entries) follows.
[0:Winner(""), 1:ValidNotEligible(NotApplicable("http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0"))]. ============ Date:2017-11-22 Time:17:53:32
 
22/11/2017 16:53:32 The OPC-UA client session with connect sequence number 1 on endpoint URL "opc.tcp://localhost:49380" has been associated with user identity token type 'Anonymous', display name "Anonymous". ============ Date:2017-11-22 Time:17:53:32
 
22/11/2017 16:53:32 The OPC-UA server on endpoint URL "opc.tcp://localhost:49380" returned an empty list of software certificates. ============ Date:2017-11-22 Time:17:53:32
 
22/11/2017 16:53:32 The OPC-UA server on endpoint URL "opc.tcp://localhost:49380" returned an empty server signature. ============ Date:2017-11-22 Time:17:53:32
 
22/11/2017 16:53:32 The OPC-UA client session with connect sequence number 1 has successfully connected to endpoint URL "opc.tcp://localhost:49380". The server-assigned session Id is "ns=1;g=acab6f2b-e688-48ab-b67f-37f92db53222". ============ Date:2017-11-22 Time:17:53:32
 
22/11/2017 16:53:32 The OPC-UA subscription on client session with connect sequence number 1 to endpoint URL "opc.tcp://localhost:49380" has been successfully created and checked, and given subscription ID 1. Revised publishing interval is 7500, keep-alive count is 11520 and lifetime count is 34560. ============ Date:2017-11-22 Time:17:53:32
 
22/11/2017 16:53:32 When creating or modifying a monitored item, the OPC-UA server on endpoint URL "opc.tcp://localhost:49380" has revised the sampling interval to 5000 milliseconds; the requested sampling interval was 15000 milliseconds. Further such warnings on this session will not be logged. ============ Date:2017-11-22 Time:17:53:32
 
22/11/2017 16:53:32 The OPC-UA subscription on client session with connect sequence number 1 to endpoint URL "opc.tcp://localhost:49380" has been successfully created and checked, and given subscription ID 2. Revised publishing interval is 250, keep-alive count is 345600 and lifetime count is 1036800. ============ Date:2017-11-22 Time:17:53:32
 
22/11/2017 16:53:44 The OPC-UA server on endpoint URL "opc.tcp://localhost:49380" has reported a subscription acknowledgement error with code 0x807A0000 for subscription ID 2 and sequence number 1. Further subscription acknowledgement errors with this code on this session will not be logged. 
  Operation result: BadSequenceNumberUnknown. ============ Date:2017-11-22 Time:17:53:44
 
22/11/2017 16:53:50 The OPC-UA subscription on client session with connect sequence number 1 to endpoint URL "opc.tcp://localhost:49380" has been successfully created and checked, and given subscription ID 3. Revised publishing interval is 50, keep-alive count is 1728000 and lifetime count is 5184000. ============ Date:2017-11-22 Time:17:53:50
 
22/11/2017 16:55:50 The OPC-UA client session with connect sequence number 1 on endpoint URL "opc.tcp://localhost:49380" has encountered a publish error with code 0x80850000 for subscription ID 0 and sequence number 0. The error might be from the Publish or the Republish service. Further publish errors with this code on this session will not be logged. 
  Service result: BadRequestTimeout 'BadRequestTimeout'. ============ Date:2017-11-22 Time:17:55:50
 
 

Please Log in or Create an account to join the conversation.

More
22 Nov 2017 15:24 #5678 by support
Replied by support on topic Subscription
There is an error connecting to the server, but the main question is, *why* is the client even trying to (re)connect?

My understanding was that you are subscribing to some data changes. In such case. EasyUAClient should remain connected (or at least attempt to stay connected) until all subscriptions are removed. So, if you have not removed the subscription, and there is a connection attempt after 1 minute, something must have gone wrong in between, and the client is try to re-connect.

Can you please attach a handler to the static EasyUAClient.LogEntry event, and make a record of the messages (with their timestamps) that occurr?

Thank you

Please Log in or Create an account to join the conversation.

More
22 Nov 2017 14:13 #5672 by I-Tecnology
Replied by I-Tecnology on topic Subscription
Sorry for the late, but I make some tests.

I modified my plc program to fire just 1 event on 1 bit variable only when I command it.
At startup it seems all ok. DatachangeNotification are right.
After about 1 minute, are fired some events (without any variable changes) with subscription errors, see attacched image.

I also paste the errrors:
e {[] *** Failure -1 (0xFFFFFFFF): OPC-UA client session is not available when connecting the client subscription.}
e.Arguments {"opc.tcp://localhost:49380", "NodeId="ns=2;s=PLC_Siemens.PLC1.DB199.DBX100.4"", Value}
http://schemas.datacontract.org/2004/07/OpcLabs.EasyOpc.UA.OperationModel

Any suggestion?
Attachments:

Please Log in or Create an account to join the conversation.

Moderators: support
Time to create page: 0.251 seconds

      

 Recommend this on Google