I have a rung in a ControlLogix processor running in the continuous task. When the Step tag is a certain value it latches the corresponding bit number in the SystemFlags tag. This is existing code which I did't write.
In another periodic task, running at 100ms, the set bit is used as permissive to other logic. What appears to be happening occasionally is that since on every scan the flag word is being set to zero, the periodic task "sees" the SystemFlags.xx bit as cleared. I understand the asynchronous nature of ControlLogix. Is what I'm describing possible?
LIM(1,Step,20)MOV(Step,FlagReference)MOV(0,SystemFlags)OTL(SystemFlags.[FlagReference]);
In another periodic task, running at 100ms, the set bit is used as permissive to other logic. What appears to be happening occasionally is that since on every scan the flag word is being set to zero, the periodic task "sees" the SystemFlags.xx bit as cleared. I understand the asynchronous nature of ControlLogix. Is what I'm describing possible?
LIM(1,Step,20)MOV(Step,FlagReference)MOV(0,SystemFlags)OTL(SystemFlags.[FlagReference]);