cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
Showing results for 
Search instead for 
Did you mean: 

Community Tip - When posting, your subject should be specific and summarize your question. Here are some additional tips on asking a great question. X

Remote properties updated with delay when bound to an existing property

Simon007
7-Bedrock

Remote properties updated with delay when bound to an existing property

Hello,

 

I have a thing where I have binded a remote property from the Kepserver by creating a new property.

Also, I have the same property binded to a property we have created on template level to trigger subscriptions with that.

 

Now I'm facing that I have a delay in updating the values of the property which is binded to the other property. The property which was new created on the thing does not have this delay.

So, I have 2 times the same property from Kepserver binded to a thing, but the values are not updated at the same time.

 

The properties in the screenshot in category "AutoBinding" are in sync with the Kepserver, the upper properties are having the delay.

 

I have already tried with different Cache Options and different settings on the push type, but unfortunately without any success.

Also we have tried for the property from template level as persistent and not persistent but did not make any difference.

 

Has anyone an idea how that could be fixed or by what this could be caused?

 

Thanks,

Simon 

 

ThingProperties.png

 

 

 

 

 

 

 

21 REPLIES 21
PaiChung
22-Sapphire I
(To:Simon007)

I have noticed that if you try to use a remote binding multiple times, Thingworx can experience issues with that, You could try doing 1 remote binding and then bind the other property using a local binding from that bound property and see if it behaves more consistent.

Thanks for your reply!

Makes sense, I thought the same already.

 

I tried it in that way now, to bind the property remotely and did the other binding locally.

Unfortunately I had no success with that.

 

What is also strange for me is that the delay we are facing is pretty much, up to several seconds.

What I forgot to mention, we see this behavior also when we do not have the property bound 2 times, it also occurs when the remote property is only bound 1 time to the property from the template

PaiChung
22-Sapphire I
(To:Simon007)

How are you determining the fact that you have a delay?

Could it be due to scan time or the way VTQ is recorded?

I have seen it in 2 different ways:

 

1. Connected to KepserverEX with an OPC-UA Client and compared live the value from the property in Kepserver with the bound one in Thingworx

2. We are creating JSON Files out of the Data based on a trigger coming from the machine where we have both properties in, the remote property and the bound property and there we also see that the one which is bound to the property from the template has the value which was before the one of the remote property

PaiChung
22-Sapphire I
(To:Simon007)

Is the property value consistently a value behind?

Could you perhaps install WireShark or something similar to see what is transmitted when an update happens on the Kepserver side to make sure it is transmitted. If that transmits on update then at least that eliminates one part of the mystery.

What basetype are these properties btw?

Should be always a value behind, normally it toggles between 3 different values depending of the process state of the part which is processed.

I'll try to have a look with wireshark to see if there are maybe some more insights on that.

 

We have different base types where this occurs.

The property which is bound remote and then local is an Integer, but we have also a Boolean property which is only bound one time to the property from the template and not bound remote where this happens.

slangley
23-Emerald II
(To:Simon007)

Hi @Simon007.

 

Can you provide some details of your use case?  We're not understanding why you have multiple bindings for the same data.

 

Also, please provide the versions of ThingWorx and KepServerEX you are running.

 

Regards.

 

--Sharon

Hi Sharon,

 

we have assembly machines connected and need to store the process data for traceability reasons. Therefor we have some subscriptions and services which are running some processes which among other things are creating JSON files for an other system. Some of the properties we need both in the JSON file and for subscriptions to be triggered.

But please do not be fixed on that we are having sometimes properties 2 times bound. This happens also when we the property only 1 time bound.

In fact, this happens only at the properties which I have bound to the properties from the template on not on the properties where I have created new properties on the thing.

Simon007_0-1683093184176.png

E.g. the green ones are updating in sync with the Kepserver, the red one had e.g. yesterday a delay of > 5sec to the value of the Kepserver.

So the complete Handshake we have with the machine was not working anymore. And this is a property we have only 1 time bound.

 

KepserverEx I'm running V6.12.325.0

Thingworx Software Version 9.3.1-b156

 

Thanks,

Simon

Could it maybe be due to the Tag Count? There we have currently about 8600 tags from 1 Kepserver.

Or maybe the Publish floor from KepserverEX to Thingworx? This is currently set to 250ms.

Store&Forward is also currently not enabled.

PaiChung
22-Sapphire I
(To:Simon007)

I can't say for sure, 250ms is quite fast, and I'm not sure if your use case requires that type of granularity.

This combined with a robust number of properties could impact performance, but I wouldn't draw any conclusions, but rather you would have to do a controlled test.

I've connected a second KepserverEX to Thingworx with only 5 channels and adjusted the Publish floor to 500ms.

Unfortunately it did not work.

PaiChung
22-Sapphire I
(To:Simon007)

I would recommend putting in a support ticket.

I'll do that now.

 

Today I even faced that I have a remote bound property (Boolean) which was working and updating as expected but then I've put a DataChange Subscription on that and it stopped updating the values. Even after disabling it did not further update the value until I deleted it and bound new.

slangley
23-Emerald II
(To:Simon007)

Hi @Simon007.

 

Have you checked for the possibility that the scan rate may be the cause of the issue?  Something else to look at is the push type. 

 

I checked to see if a case had been opened for this but didn't find one.  If you figured out the cause of the issue, the community would be happy for you to share your findings.

 

Regards.

 

--Sharon

Hi Sharon,

 

we have found another possibility that it might be due to a subscription which is on "AnyDataChange" and doing with the same logging at info level.

We are currently changing our concept and trying to disable this subscription.

 

But what I also faced is that I switched off the machine physically and after switching on again everything worked.

 

We are still evaluating both options, I will update here if we have success.

 

Thx, Simon

slangley
23-Emerald II
(To:Simon007)

Hi @Simon007.

 

We definitely recommend changing or deleting the subscription configured for "AnyDataChange."  With the push rate coming from Kepware, this can flood the subsystem with events resulting in queuing, which in turn can cause events to be processed out of order. 

 

If you haven't yet opened a case, it would be recommended that you do so or I will be happy to open one for you, to allow one of our engineers to review your use case and make appropriate recommendations.

 

Regards.

 

--Sharon

Hi Sharon,

 

thanks, we have disabled that Subscription at test system already and currently monitoring for any issues but planning to bring to Prod env tomorrow.

Unfortunately we are not able to test at test env everything what is running in prod as some things could lead to miscommunication with the machine interfaces and then cause production problems.

 

Another issue we could already fix was that at some machine the NTP server at the PLC was overwritten by an update and then under certain circumstances it also started to not further update the values. After setting up the NTP server again it was also updating again.

 

But still some problems at other machines where we have the NTP server correct, but as it seems mostly at things which have lots of properties (>400) and there I hope that disabling this "AnyDataChange" subscripton will help.

 

If this will also not fix our problems, it would be great if one of the engineers could have a look with me together.

 

Thanks,

Simon

We have today disabled that subscription in Prod to verify that still everything is working with that.

Unfortunately we still have the delays. Next week we are going to delete it, not sure if there is something still in the background running even if it is disabled.

 

Thx, Simon

slangley
23-Emerald II
(To:Simon007)

Hi @Simon007.

 

Have you made any progress in resolving your issue?  If not, I will be happy to open a case on your behalf.

 

Regards.

 

--Sharon

Hi Sharon,

 

would be much appreciated if you could help me with that!

 

Thx, Simon

Announcements


Top Tags