The One-Shot Instruction (ONS) in PLC Programming

Listen to this Post

Featured Image
The One-Shot Instruction (ONS) is a critical tool in PLC (Programmable Logic Controller) programming, particularly for event-based actions where a command must execute only once per trigger. This technique ensures that an action (like data capture) occurs only during the first scan cycle when a condition becomes true, preventing repeated executions.

How ONS Works

  • Triggers once per rising edge (transition from false to true).
  • Ignores subsequent scans even if the condition remains true.
  • Uses a unique Boolean tag to avoid conflicts in complex logic.

Example: Temperature Monitoring in a Heating Tank

1. Initial Capture:

  • When the heating process starts, ONS captures the initial temperature (e.g., StartTemp = CurrentTemp).
  • This value remains locked even if `CurrentTemp` changes.

2. Final Capture:

  • At the end of the process, another ONS stores the final temperature (e.g., EndTemp = CurrentTemp).
  • Ensures no overwrites occur due to later fluctuations.

Key Benefits of ONS

βœ” Prevents redundant operations (e.g., multiple data writes).

βœ” Ensures accurate event-based logging.

βœ” Reduces PLC scan cycle overhead.

You Should Know: Practical PLC & Automation Commands

1. Basic PLC ONS Implementation (Ladder Logic)

|--[ONS Bit]--[MOV StartTemp, CurrentTemp]--|

ONS Bit: Ensures `MOV` runs only once when triggered.
MOV: Copies `CurrentTemp` to StartTemp.

2. Simulating ONS in Linux (Bash Scripting)

!/bin/bash 
triggered=false

while true; do 
if [[ $condition == "true" && $triggered == false ]]; then 
echo "One-time action executed!" 
triggered=true 
fi 
done 

– Mimics ONS logic using a flag variable.

3. Windows Batch Script for One-Time Execution

@echo off 
set "flag=%temp%\ons_flag.txt"

if not exist "%flag%" ( 
echo Running one-time command... 
echo Done > "%flag%" 
) 

– Creates a temporary file as a “one-shot” flag.

4. Python Automation (Simulating ONS)

trigger = False

def one_shot_action(): 
global trigger 
if not trigger: 
print("Action executed once!") 
trigger = True

one_shot_action()  Runs once 
one_shot_action()  Ignored 

5. Industrial PLC Commands (Rockwell Automation)

– `ONS` (Allen-Bradley) – Standard one-shot.
– `OSR` (Omron) – One-shot rising.
– `OTL` (Siemens) – Latching output.

What Undercode Say

The One-Shot Instruction (ONS) is a powerful yet simple tool in automation, ensuring precise, single-execution actions. Beyond PLCs, similar logic applies in scripting (Bash/Python) and Windows batch files.

Key Takeaways

πŸ”Ή Use unique tags for each ONS to avoid conflicts.

πŸ”Ή Combine with timers for delayed one-shot actions.

πŸ”Ή Test logic in simulation before deployment.

For deeper PLC automation, explore:

Expected Output

A structured guide on One-Shot Instructions (ONS), covering PLC logic, scripting alternatives, and industrial automation best practices.

Prediction

  • Increased AI integration in PLC programming (e.g., auto-generating ONS logic).
  • More hybrid automation (PLC + Python/Bash scripting).
  • Demand for simulation tools to validate one-shot behavior.

References:

Reported By: Vladromanov Plcprogramming – Hackers Feeds
Extra Hub: Undercode MoN
Basic Verification: Pass βœ…

Join Our Cyber World:

πŸ’¬ Whatsapp | πŸ’¬ Telegram