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

Community Tip - You can subscribe to a forum, label or individual post and receive email notifications when someone posts a new topic or reply. Learn more! X

QueryPropertyHistory shows partially empty rows depending on time range selected

JA_9980354
7-Bedrock

QueryPropertyHistory shows partially empty rows depending on time range selected

Hello,

 

I'm running into a strange issue in my mashup where if I select a short time range, I see data from my properties in the most recent timestamps but towards the beginning of the time range, values are missing. If I then select a longer time range, I will then see data populating at those timestamps that were once empty.

 

See below. Both are at the same timestamps but different time range.

LEFT: 7/23 22:30 to 7/24 3:00, values are showing at 2:45

RIGHT: 7/24 2:45 to 3:00, some values are missing at 2:45

 

timestamp_diff.PNG

 Looks like data starts showing when the value changes. I assume I'm setting something up in my properties incorrectly or there's something I'm missing? This post is similar, but didn't see a solution. 

 

Thank you for the help!

1 ACCEPTED SOLUTION

Accepted Solutions
geva
14-Alexandrite
(To:JA_9980354)

You should establish and verify connectivity and that data is flowing from Kepware to ThingWorx before attempting to verify historical data storage and retrieval.  In Composer you can do this by verifying that the Thing is online, clicking Refresh shows updating data in the properties, and you should also see a recent timestamp in the tooltip when you hover over the "tag quality" icon (normally a thumbs up).

 

From there you should read about the different Property configurations pertaining to remote properties as you do have options as to how and when data will be pushed and hence when you'll see changes in the platform. https://support.ptc.com/help/thingworx/platform/r9/en/index.html#page/ThingWorx%2FHelp%2FComposer%2FThings%2FThingProperties%2FThingProperties.html%23

 

Another thing to leverage are the Kepware system tags like _System._Time_Second... this will tell you if you've got streaming data from Kepware without involving PLC communications which could also be posing you problems.

 

Once you get the communications validated, you should verify that the Thing has an associated Value Stream and the Property definition has "Logged" enabled.

View solution in original post

4 REPLIES 4
geva
14-Alexandrite
(To:JA_9980354)

I've played with this sort of thing before and admit that the CSV results confused me.  As I understand after having looked in the database, the QueryPropertyHistory is filling in the missing values for each row from previous known values.  This is to make your graphs or data visualisation nicer and to ensure that you've got data points which line up on a time slice.

 

However, if the data was not stored and there is no previous value, then it won't fill it in as it doesn't know the last value.

 

When using a Value Stream, data will be stored based on how you've configured the Data Change event settings (under Advanced Settings in the property).  The behavior here can differ slightly depending on the way in which you're connecting to the device, but in general you can say get data point every X seconds, or when the data changes, or when it changes by a certain amount.

JA_9980354
7-Bedrock
(To:geva)

Hi Geva,

 

Thank you very much for the information. That makes sense! So I did change my "Data Change Type" to Always but did not have any success. I'm still not seeing data in my Mashup or Export at the start of my time selection.

 

We are using Kepware to monitor our data from our PLCs. I believe we are only storing data when the value changes not time specific. Could this be part of our issue? Or should the value be sitting in Kepware and able to be pulled from ThingWorx with my Always option selected?

geva
14-Alexandrite
(To:JA_9980354)

You should establish and verify connectivity and that data is flowing from Kepware to ThingWorx before attempting to verify historical data storage and retrieval.  In Composer you can do this by verifying that the Thing is online, clicking Refresh shows updating data in the properties, and you should also see a recent timestamp in the tooltip when you hover over the "tag quality" icon (normally a thumbs up).

 

From there you should read about the different Property configurations pertaining to remote properties as you do have options as to how and when data will be pushed and hence when you'll see changes in the platform. https://support.ptc.com/help/thingworx/platform/r9/en/index.html#page/ThingWorx%2FHelp%2FComposer%2FThings%2FThingProperties%2FThingProperties.html%23

 

Another thing to leverage are the Kepware system tags like _System._Time_Second... this will tell you if you've got streaming data from Kepware without involving PLC communications which could also be posing you problems.

 

Once you get the communications validated, you should verify that the Thing has an associated Value Stream and the Property definition has "Logged" enabled.

slangley
23-Emerald II
(To:JA_9980354)

Hi @JA_9980354

 

if you feel one of the previous responses helped to resolve your issue, please mark the appropriate one as the Accepted Solution for the benefit of others with the same problem.

 

Regards.

 

--Sharon

Top Tags