Back to tutorials

PLC Programming Fundamentals – ONS One Shot Instruction

Vladimir Romanov
June 16, 2020
Table of Contents

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:

  1. A Micrologix 1100 Allen Bradley PLC is used to control a process.
  2. The F8:0 register is used to read the temperature of the process.
  3. The F8:1 register is used to store the initial temperature of the process.
  4. A “Process Running” status is tied to I:0/0
  5. An ONS instruction is built using the B3:0/0 bit.
  6. The process is started and I:0/0 bit is set to HIGH.
  7. The ONS allows the MOV instruction to execute.
  8. The MOV instruction moves the contents of the F8:0 register to the F8:1 register.
  9. While the process is running, the MOV does not execute.

Programming example in RSLogix 500:

ONS One Shot Instruction 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.

Important Notes

  • 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.

Video Tutorial

Back to tutorials

Got a question or comment?

Related Tutorials


Opto 22 groov RIO Getting Started

The groov RIO module from Opto 22 has been released only a few months ago. The groov RIO is a feature packed piece of hardware that is easy to install, configure and deploy for many different field applications. The module comes pre-loaded with an array of software tools used across the industry and is ready to hit the floor running out of the box. Furthermore, the module is equipped with user configurable input and output nodes that have the capability unlike anything else on the market.

August 2, 2020
Vladimir Romanov

Micro800 PLC Programming Getting Started

The Micro800 Control Systems by Rockwell Automation provide a cost effective solution for small to medium automation systems. The controllers within this family are typically used on stand alone machines or small process applications. The family offers five distinct controller types that are further customizable through add-on modules: Micro810, Micro820, Micro830, Micro850 and Micro870.Micro800 Programmable Logic Controllers Getting StartedUnlike the other Rockwell Automation controllers, this line of PLCs is programmed through a dedicated software: Connected Components Workbench. From within this tool, the programmer can flash the firmware, load the program and monitor the state of the controller. Furthermore, Connected Components Workbench (CCW) is often used to program other non-PLC Rockwell Automation devices such as Variable Frequency Drives (VFDs) and certain Safety Relays.

July 26, 2020
Vladimir Romanov

An Introduction to DeviceNet Industrial Networks

In this tutorial you will learn about the DeviceNet industrial network, go over a basic offline configuration, and explore some advanced features.

July 24, 2020
Jacques Venter