unsaint32
Member
I am having a hard time understanding how using a reference tag (a buffer) would prevent the I/O value changing in the middle of a program execution. The following is an excerpt from LCX5K manual.
"Follow these steps to buffer I/O.
1. On the rung before the logic for the function, copy or move the data from
the required input tags to their corresponding buffer tags.
2. In the logic of the function, reference the buffer tags.
3. On the rung after the function, copy the data from the buffer tags to the
corresponding output tags."
I am attaching two pictures. 0.jpg is without buffering. 1.jpg is with the buffering (the way I understand it).
In 0.jpg, asynchronous I/O updating could make both O:0/0 and O:0/1 turn ON at the same time because I:0/0 can be updated when the processor is in-between the two output rungs.
But even with the "buffering," can the value of B3:0/0 be updated in-between the two output rungs, just as I:0/0 could, therefore producing the same result?
"Follow these steps to buffer I/O.
1. On the rung before the logic for the function, copy or move the data from
the required input tags to their corresponding buffer tags.
2. In the logic of the function, reference the buffer tags.
3. On the rung after the function, copy the data from the buffer tags to the
corresponding output tags."
I am attaching two pictures. 0.jpg is without buffering. 1.jpg is with the buffering (the way I understand it).
In 0.jpg, asynchronous I/O updating could make both O:0/0 and O:0/1 turn ON at the same time because I:0/0 can be updated when the processor is in-between the two output rungs.
But even with the "buffering," can the value of B3:0/0 be updated in-between the two output rungs, just as I:0/0 could, therefore producing the same result?