Issue
How to use the Piecewise command in Sigma Graphics when displaying a multiple value status from a programmable object.
Environment
Sigma Graphics Ver 4.0 onwards
Cause
When using a prog point that returns multiple states for certain conditions if this is required to be displayed on a graphic then problems can arise with updates when the state changes and the graphic is open. Unless the prog object actually changes value from 0 to 100 the graphic will not update.
Resolution
There is an engineering workaround to this problem. Example of prog object.
10 IF POINT 0|123 = 1.00000 THEN RETURN TRUE "Off"
20 IF POINT 0|123 = 2.00000 THEN RETURN TRUE "Text No1"
30 IF POINT 0|123 = 3.00000 THEN RETURN TRUE "Text No2"
40 IF POINT 0|123 < 1.0 OR POINT 0|143 > 3.0 THEN RETURN "Invalid"
In the graphic create 3 text objects.
1 - Off
2 - Text No1
3 - Text No2
Next position them one above the other in the order shown with 1 at the bottom, and align them over the top of each other creating a stack of the texts. Next select them all and combine them. Select the combined object and assign a piecewise command to it. Assign object 123 and select min = 1 max = 3.
The graphic will then display the text according to the object value. If the value is 0 or > 3 then the text will be blank.
There are many variations on this but in general all you need is an analogue value from the prog object then the piecewise command can be used.