Use a VAR_INPUT for properties. The reason for the error is that you can't get a reference to a property. Using a VAR_INPUT will copy the property to an input variable.
This came up again today, so I'll post the fix for future reference. Happens with Schneider Machine Expert 2.2 and M262 controllers. Add this bit of code to a program called from the visu task //disable "VisuFbFrameBase.SetInputPositionData" log messages, which fill up the logs IF VisuElems.Private_Visu_Globals.g_ValueChangedListenerManager.GetListenerCount() > 0 THEN VisuElems.Private_Visu_Globals.g_ValueChangedListenerManager.RemoveValueChangedListener(VisuElems.Private_Visu_Globals.g_ValueChangedListenerManager.listenerForOnValueChanged);...
This came up again today, so I'll post the fix for future reference. Happens with Schneider Machine Expert 2.2 and M262 controllers. Add this bit of code to a program called from the visu task //disable "VisuFbFrameBase.SetInputPositionData" log messages, which fill up the logs IF VisuElems.Private_Visu_Globals.g_ValueChangedListenerManager.GetListenerCount() > 0 THEN VisuElems.Private_Visu_Globals.g_ValueChangedListenerManager.RemoveValueChangedListener(VisuElems.Private_Visu_Globals.g_ValueChangedListenerManager.listenerForOnValueChanged);...
Vijeo doesn't support TIME variables, so the easiest thing to do is convert to a STRING in your program, and use that variable. You could use TimeAsString:= TIME_TO_STRING(TimeVar) to get a string that looks like this: T#5h10m45s200ms
Check any of your JSONVARs. The Names variable contains an array of the variable name divided by level. For example, if the variable path is Application.Test_SingleVar_PRG.colour, then the array will contain [3] 'Application' [2] 'Test_SingleVar_PRG' [1] 'colour' The ApplicationLevel property should be the array index which contains 'Application', in this case 3. This is all figured out in the JSONVAR.FB_Init method. The other place to check is JSONVAR.VarName, which is the full instance path of...
Correct. In an actual use case I think the compose and parse would happen on different machines.
If you can post an example I can test it here.
The EXIT is in the correct place in the original, this is not a bug. The loop returns FALSE and exits on the first occurrence of a mismatch. If there are any mismatches, there is no point in evaluating the rest of the array. All levels must match for this method to return TRUE.