I think it might help for me to add a functional description of what I'm trying to accomplish:
Here is a functional specification of what I'm trying to do. Basically I want to hit the start button, the lights sequence through every half of a second and continue to do so until I hit the stop button. I have done this on other PLCs and have zero issue with it.
Digital Inputs:
startPB (wired normally open to input 0)
stopPB (wired normally closed to input 1)
Digital Outputs:
greenLight (output 0)
redLight (output 1)
Sequence (started when startPB is on, can be interrupted when stop PB is pressed):
Step 0:
IF startPB or sysButtonInputs[0] (button on device) sees positive edge transition or dummy BOOL[4] is on and stopPB isn't pressed (end of sequence so it loops continuously until stopped THEN
Move 10 into stepSeq, Set DummyBOOL[0] and reset the rest of the DummyBOOL array bits
Step 10:
IF stepSeq is equal to 10 THEN
sysLEDOutputs[0] is on (only when stepseq is equal to 10) (note that sysLEDOutputs[0] is mapped to greenLight in the IO mapping routine)
500 ms timer when sysLEDOutputs[0] is on, Move 20 into stepSeq and set dummyBOOL[1]
Step 20:
IF stepSeq is equal to 20 THEN
sysLEDOutputs[1] and redLight are on (only when stepseq is equal to 20)
500 ms timer when sysLEDOutputs[1] is on, Move 30 into stepSeq and set dummyBOOL[2] and reset dummyBOOL[1]
Step 30:
IF stepSeq is equal to 30 THEN
sysLEDOutputs[2] is on (only when stepseq is equal to 30)
500 ms timer when sysLEDOutputs[2] is on, Move 40 into stepSeq and set dummyBOOL[3] and reset dummyBOOL[2]
Step 40:
IF stepSeq is equal to 40 THEN
sysLEDOutputs[3] and redLight are on (only when stepseq is equal to 40)
500 ms timer when sysLEDOutputs[3] is on, Move 0 into stepSeq and set dummyBOOL[4] and reset dummyBOOL[0] reset dummyBOOL[3] and reset cmdStop