Topic: DMD0183

Help File Version: 2.9.4.37

Instruction Flags


Do-more Designer uses the differently colored triangles in the upper left corner (called instruction flags) to draw attention to instructions that require special consideration when using them.

 


- Red (Fully Asynchronous)

 

Designates an instruction that is dependent on a shared device to complete the operation. When the instruction is executed it will lock the device to gain exclusive use of that device while the instruction is being processed across multiple scans. When the instruction is completed it will unlock the device so that the device can be used by the next instruction that needs it.

 

These instructions can be configured to "Jump to a Stage" when they are done, so if configured in this way, these instructions must be placed in a Program (not a Task). The main concern with these instructions is including them in a section of ladder logic (Program, Task, or Stage) that ends before the instruction has completed. This will leave the shared device in a locked state, making it unavailable for use by any other instruction that needs it.

 

Another consideration is that most instructions in this class have success and error status bits that are set to mark the completion of the instruction. To make sure that these instructions operate as designed, the ladder logic must stay enabled until these instructions have completed and set the state of their status bits.

 

For a list of the instructions that are Fully Asynchronous, refer to the Instruction Set Help topic, looking for the instructions tagged like this: - Fully Asynchronous.

 


- Yellow (Multi-scan)

 

Designates an instruction that will take two or more PLC scans to complete. These instructions depend on the status of the instruction from the previous scan to properly function during the current scan.

 

There are some instructions with inputs that need to see an OFF-to-ON transition; for example the Count input of the Counter (CNT) instruction needs to see an OFF-to-ON transition to register as a legitimate count. Instructions with edge-triggered inputs will require the same minimum of two scans to operate as expected; one scan to see the OFF state, and a second scan to see the ON state.

 

There are also instructions that are power-flow driven that require multiple scans to operate properly. A good example of this type of instruction is the TMR which has internal state values that must be cleared on the scan following the scan when the Timer was disabled. This allows the Timer to function exactly the same way each time it is used.

 

For a list of the instructions that are Multi-scan, refer to the Instruction Set Help topic, looking for the instructions tagged like this: - Multi-scan.

 


- Blue (Yielding)

 

Designates an instruction that can temporarily suspend its processing on the current scan and resume processing at that point on the subsequent scan, for example YIELD, NEXT, WEND, or UNTIL. When using any of the looping instruction (for / next, do / while ...) this allows you to specify how much time to allow on each scan for the loop to run.

 

For a list of the instructions that are Yielding, refer to the Instruction Set Help topic, looking for the instructions tagged like this: - Yielding.

 


- Green (Skipping)

 

Designates an instruction that will alter the normal execution order by moving the execution pointer forward or backward in the ladder logic diagram. For example BREAK and CONTINUE are used to stop execution of a loop before it normally completes. EXIT is used to stop the normal execution of a Program, or a Task. REBOOT, RESTART, STOP, and WATCHDOG are used to stop the normal execution of the PLC itself.

 

For a list of the instructions that are Yielding, refer to the Instruction Set Help topic, looking for the instructions tagged like this: - Skipping.

 


- Blue / Green (Yielding / Skipping)

 

 

Designates an instruction that will alter the normal execution order by moving the execution pointer forward or backward in the ladder logic diagram, AND can temporarily suspend its processing on the current scan and resume processing at that point on the subsequent scan. For example, GOTO will Yield if it is jumping backward in the ladder logic, and will Skip if moving forward in the ladder logic.

 

For a list of the instructions that are Yielding, refer to the Instruction Set Help topic, looking for the instructions tagged like this: - Yielding / Skipping.

 


- No Designator

 

Designates a simple instruction that executes completely in-line.

 


See Also: