PLC Programming Fundamentals – ONS One Shot Instruction
Introduction of One Shot
The ONS, also known as the One Shot, instruction will allow the rung to execute once if the data leading to it is true. The instruction will not let the rung to evaluate again until the input is set back to LOW and then HIGH. The One Shot instruction is extremely useful when you need to execute a certain instruction once. A common example would be saving initial parameters of a process when it’s initialized. The ONS is found on the input side of a ladder logic rung structure.
What does the One Shot do in PLC Programming?
The One Shot Instruction's main purpose is to let the current through on the rising edge and execute the set of instructions placed after it for a single scan cycle. the first step is accomplished once a path is established to the ONS instruction and the bit is energized. Once that's the case, the following instructions will execute once. While the ONS remains energized, no other action will occur and the instructions following the ONS will not execute. However, if the ONS bit is de-energized and re-energized again, the steps above are repeated: the output instructions are executed once again.
PLC Scan Cycle
It is important to understand the PLC scan cycle as a PLC programmer as well as to work with certain instructions. A PLC scan cycle is the time it takes the PLC to scan every single logic command in the program. In case of ladder logic, it is the time it takes to execute every rung.
Due to their sequential nature, the PLC will scan one rung at a time. Once it completes the scan of a rung, it moves down to the next one. It will continue to do so until the entire program has been executed.
The One Shot Instruction will set itself to TRUE for one cycle of the PLC Scan. In other words, once it is set to TRUE, it will remain TRUE during a single execution of each rung. Therefore, it is possible to evaluate once any logic dependent on the ONS conditions.
Example & Usage of ONS
Here’s a real-world scenario of an ONS instruction:
- A Micrologix 1100 Allen Bradley PLC is used to control a process.
- The F8:0 register is used to read the temperature of the process.
- The F8:1 register is used to store the initial temperature of the process.
- A “Process Running” status is tied to I:0/0
- An ONS instruction is built using the B3:0/0 bit.
- The process is started and I:0/0 bit is set to HIGH.
- The ONS allows the MOV instruction to execute.
- The MOV instruction moves the contents of the F8:0 register to the F8:1 register.
- While the process is running, the MOV does not execute.
Programming example in RSLogix 500:
The ONS instruction allows a single transfer of temperature when the process is initialized. Without an ONS, the temperature would keep transferring continuously.
Data Types Allowed for ONS
The ONS instruction will work with the following data types within the RSLogix 500 environment:
- Boolean – The ONS does not evaluate the bit tied to it but does require a Boolean to work with.
- Note 1 – The ONS instruction requires a non-input boolean bit to function. This bit should not be used anywhere else in the program.
- Note 2 – The ONS instruction should only be used in cases where an instantaneous execution is required. It should not be used in conjunction with OTL and OTU instructions to create loops which could be avoided and simplified through simpler instructions.