Back to tutorials
PLC Instructions

PLC Programming Fundamentals – OSR Instruction

Vladimir Romanov
Table of Contents


The OSR, also known as One Shot Rising, instruction allows a programmer to create a scenario where an output is energized for a single scan when a transition from a logic low to a logic high is detected on the input side of the instruction. The OSR is identical to the ONS in the performance. However, it does give the programmer slightly more flexibility due to a dedicated output bit. Furthermore, the instruction is also a lot more explicit. It resides on the right side of the ladder logic rung and allows the user to use its output tag where needed within the program.

Example & Usage of OSR

Here’s a real-world scenario of an OSR instruction:

  1. A Micrologix 1100 Allen Bradley PLC is used to control a process.
  2. A “Heating Process Start” status is tied to I:0/0.
  3. The F8:0 register is used to read the temperature of the process.
  4. The F8:1 register is used to store the initial temperature of the process.
  5. An OSR Instruction is tied to the output of the“Heating Process Start” XIC instruction.
  6. The “Output Bit” of the OSR instruction is used on an XIC instruction in rung “0001”
  7. Once the I:0/0 is pulled HIGH, the OSR is executed once.
  8. Once the OSR executes, the “Output Bit” is set to HIGH for one scan of the PLC.
  9. The MOV instruction moves the contents of the F8:0 register to the F8:1 register.

Programming example in RSLogix 500:

OSR One Shot Rising RSLogix 500 Example Usage

The OSR instruction is energized by the “Heating Process Start” condition. As soon as this condition is met, the “Output Bit” of the OSR is set to HIGH for a single scan of the PLC. During this scan, the bit allows the MOV instruction to energize through an XIC instruction. The MOV instruction transfers the contents of a register into another at the start of the process.

Data Types Allowed for OSR

The OSR instruction will work with the following data types within the RSLogix 500 environment:

  • Boolean – The OSR requires two bits to operate. One is called the “Storage Bit” and the other the “Output Bit”. The “Output Bit” should be the only one used outside of the instruction.

Important Notes

  • Note 1 – The OSR instruction requires two non-input boolean bit to function. The “Storage Bit” should not be used anywhere else in the program. The “Output Bit” should be used as a condition to execute other instructions.

Video Tutorial

Back to tutorials

Related Tutorials


PowerFlex 525 Parameter, Input and Output Programming Tutorial in RSLogix Studio 5000

The PowerFlex 525 series of Variable Frequency Drives from Allen Bradley is highly utilized and respected within the automation field. The drives are compact, versatile and easy to use. We’ve written an extensive tutorial on how to get started with these drives in a previous tutorial; it covers how to initialize the drive, connect it to an EtherNet/IP based PLC and how to set the right parameters. In this tutorial, we’re looking to expand on the concepts and demonstrate a way to access and utilize the multiple Input and Output options available on the drive. The reason you may want to utilize the IO is to save money on purchasing external components, integrate instrumentation into your drive and save floor space, wiring and cost. We’ve seen the need to integrate closely related sensors into a PowerFlex 525 application; this would be the right way to do it.

Vladimir Romanov

Publishing MQTT Data Using Opto 22 groov EPIC PAC

MQTT is a communication protocol that has taken off in the IIoT community. It’s a light-weight, efficient protocol that works through a publisher / broker / subscriber model. It creates an easy way for field devices to communicate and retrieve data from a single location. In this article, we’ll go over MQTT and dive into an example of how you can publish data using a groov EPIC PAC and retrieve the data using a MQTT client.

Vladimir Romanov

HMI Design - Best Practices for Effective HMI Screens

HMI Design is the practice of building HMI screens that are intuitive to the end user, pleasing to the eye and are efficient to operate. As control systems within manufacturing are migrated from traditional push button designs to primarily operated from HMI displays, HMI Design has become trivial to any new installation.Although there is a wide range of HMI based systems, the basic principles of good design remain the same. Different industries may dictate different patterns of layout for their systems, but the good practices remain.

Vladimir Romanov