I ran into the following problem working on a rather complicated SFC, but was able to reproduce it in the very simple one below. Either this is a bug, or there is something I’m not understanding about tags and expressions in Ignition SFCs.
Here’s the SFC. The transitions look at a String tag I created called TestTag.
I initialize a count parameter to 0 in the chart parameters:
Then I increase the value of that parameter by 1 every time the Action step is performed:
To test the chart, I set TestTag to “off”, then start the chart. It seems to me that every time I set TestTag to “on”, count should increase by 1, and when I set it back to “off”, count should not change. However, the behavior I observe is as follows:
Start - count = 0
Set TestTag to “on” - count = 1
Set TestTag to “off” - count = 2
Set TestTag to “on” - count = 4
Set TestTag to “off” - count = 5
Set TestTag to “on” - count = 7
Set TestTag to “off” - count = 8
Set TestTag to “on” - count = 10
… and so on, going up alternately by 1 and 2.
It seems like each time I modify TestTag (apart from the first time) and one transition becomes true, the other transition remains true until it has been crossed once and then changes to false, rather than becoming false right away.
The XML file for the SFC is attached.
Ignition Version: 7.8.2 (b2016030813)
Java Version: Oracle Corporation 1.8.0_91