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

Community Tip - Did you get an answer that solved your problem? Please mark it as an Accepted Solution so others with the same problem can find the answer easily. X

Problem with continuous data of Remote Thing (Edge SDK) in the Value Stream

fpribbernow
7-Bedrock

Problem with continuous data of Remote Thing (Edge SDK) in the Value Stream

Hello,

 

sorry if this question has already been answered somewhere else. I did not find something in this forum that fits to my problem. I have a remote thing that uses the .NET Edge SDK to be connected to Thingworx - which works. To create the properties of my Thing I use a function that sets up the property definition this way:

 

private void _createAdressSpaceParameter(string name, string descritpion, BaseTypes basetype, bool logged = true, float threshold = 0.5f)

{

            PropertyDefinition pd = new PropertyDefinition(name, descritpion, basetype);

            var aspects = new AspectCollection();

            aspects.Add(Aspects.ASPECT_DATACHANGETYPE, new StringPrimitive(DataChangeType.ALWAYS.name())); //release events based on changed value

            aspects.Add(Aspects.ASPECT_DATACHANGETHRESHOLD, new NumberPrimitive(0.0));// Add the dataChangeThreshold aspect

            aspects.Add(Aspects.ASPECT_CACHETIME, new IntegerPrimitive(-1));// Add the cacheTime aspect

            aspects.Add(Aspects.ASPECT_ISPERSISTENT, new BooleanPrimitive(true));// Add the isPersistent aspect

            aspects.Add(Aspects.ASPECT_ISREADONLY, new BooleanPrimitive(true));// Add the isReadOnly aspect

            aspects.Add("pushType", new StringPrimitive(DataChangeType.VALUE.name()));// Add the pushType aspect

            aspects.Add("pushThreshold", new NumberPrimitive(threshold));// Add the pushType aspect

            aspects.Add("isLogged", new BooleanPrimitive(logged));

            pd.setAspects(aspects);

            base.defineProperty(pd);

}

 

When I create the binding in my ThingTemplate this results in the following settings:

 

1.PNG

 

My remote device is running a cyclic process with a cycle time of about 10 seconds. I checked that the cycle count is updated by my remote device and I can see that the cycle count property in my Thing in Thingworx gets the updates if I click the refresh button in the property list of the composer.

 

But here is my problem, in my value stream, I get the values only on a 30 second basis.

 

2.PNG

 

As far as I understand this Article Viewer | PTC​ it is the remote device that pushes the data to the Thingworx instance. And this seems to work.

 

Can anyone please help me to understand where the 30 seconds delay between my values come from? Thank you in advance.

 

Frank.

ACCEPTED SOLUTION

Accepted Solutions

I found the issue myself. In my remote device I forgot to call the function "base.updateSubscribedProperties(int timeout)" of the Virtual Thing. So now I get a continous data stream.

But anyway. I still don't  understand where the 30 seconds time basis in my previous post is comming from.

View solution in original post

1 REPLY 1

I found the issue myself. In my remote device I forgot to call the function "base.updateSubscribedProperties(int timeout)" of the Virtual Thing. So now I get a continous data stream.

But anyway. I still don't  understand where the 30 seconds time basis in my previous post is comming from.

Announcements


Top Tags