Skip to main content

Understanding the Scan Cycle of SIEMENS PLC

 The most basic concept about learning is “If you want to have a deep understanding of any system, you have to go into detail with it”.

If you are a real Automation Engineer you will not be satisfied with the simple basic information about PLCs.

Instead, you will always need to go further for deep details about the CPU of a PLC, how does it work? what is meant by a SCAN CYCLE? and how could this concept (SCAN CYCLE) help us in programming?

If you have already all of these questions in your engineering mind so this post is made special for you … Enjoy.

What is meant by a SCAN CYCLE?

In general, a PLC scan cycle is a repeatable list of executable tasks, the list can vary in size and the tasks can vary in nature and the cycle time varies based on performance and configuration.


It really depends on which PLC you are using. They all do it slightly differently and it’s important to know the difference.

In most PLCs, a scan cycle is the cycle in which the PLC gathers the inputs, runs your PLC program, and then updates the outputs.


This will take some amount of time often measured in milliseconds or microseconds.


Scan Cycle of SIEMENS PLC

As all of us know that the control system of any electrical panel consists of basic components such as

  • a power supply module
  • CPU module
  • Input/Output cards
  • Interfacing module..etc.

The operation and tasks of all of these PLC components are being handled and organized by the CPU module, and for sure the CPU module has specific steps/procedures to control this system.

Inside CPU module of SIEMENS PLC

The following will show the procedures that the CPU performs to execute the scan cycle:


Startup

The first action that a CPU executes when it goes from Stop to Run mode is the STARTUP routine, this routine performs the following tasks:


  1. The input area of the process image (I memory) is cleared.
  2. The outputs are initialized with the last value.
  3. Any interrupt events are queued for processing during RUN mode.

Executing the startup Organization Block (OB100)

As you can see in Fig. (2) after starting up, the CPU will execute the startup OB (OB100).

OB 100 will be executed once, before OB 1 starts, so it is a great place to initialize registers and DBs, set control bits, reset past alarms, and so on before letting the program start.

NOTE:


OB100 will run once just when the PLC boots and will never run again until the next boot.


Reading the status of physical Inputs

The program does not scan the signal status on the input signal modules but accesses a memory area in the system memory of the CPU and distributed I/O. This memory area is known as the “process image”.


So, before the system runs the main program it reads the status of the physical inputs and transfers it to the process image (later we will understand why the CPU does not read the input status directly from the input modules.)

Executing the main program (OB 1)

Now the CPU is ready to perform the main program (ladder logic), this main program is executed through the main OB (OB 1).


In the main OB, you can call the functions (FC) and function blocks (FB), also you can deal with the system memory by using memory flags, timers, and counters.


NOTE:


If any of the FCs or FBs are not being called in the main OB it will not be executed as the scan cycle focuses just on the main OB and what it includes.


After the scan cycle finishes the main OB, the scan cycle will go to copy the updated output status to the process image (output image) to prepare for the next step


Updating the status of physical Outputs

After the user program is executed with all blocks that are called in it, the cycle ends with writing the process image memory (output image) to the output physical modules.

NOTE:

You might be curious “why the CPU does not access the status of the physical I/O module directly?”

The main advantage of accessing the process image is that the CPU will have a consistent image of the process signals for the duration of one program cycle.


If a signal state on an input module changes while the program is being executed, the signal state in the process image is retained until the process image is updated again in the next cycle.


In this way, you can notice that your code will be executed by the more organized method.


Executing the system Interrupts

An interrupt occurs during any time of the scan cycle, the CPU in this case will make the operating system call the related OB interrupt (OB 121, OB 80, OB86, …), as shown in Fig. (3).

If the related OB was downloaded to the CPU, the CPU will not go to stop mode.


NOTE:


The interrupts do not have a specific position in the scan cycle, once it is initialized it will be executed.


After all of these steps are finished the operating system prepares the CPU to repeat all of these procedures again and again with a high speed reaches to 10:15ms/scan cycle.

Comments

Popular posts from this blog

PLC Program for Mixing Tank

 Create a ladder diagram for controlling a batch mixing process. Implement a PLC program for mixing tank or Mixing Process using PLC Ladder Logic. PLC Program for Mixing Tank Fig : Mixing tank A tank is used to mix two liquids. The required control circuit operates as follows: A. When the START button is pressed, solenoids A and B energize. This permits the two liquids to begin filling the tank. B. When the tank is filled, the float switch trips. This de-energizes solenoids A and B and starts the motor used to mix the liquids together. C. The motor is permitted to run for 1 minute. After 1 minute has elapsed, the motor turns off and solenoid C energizes to drain the tank. D. When the tank is empty, the float switch de- energizes solenoid C. E. A STOP button can be used to stop the process at any point. F. If the motor becomes overloaded, the action of the entire circuit will stop. G. Once the circuit has been energized, it will continue to operate until it is manually stopped. Solution...

What is Relay? How it Works? Types, Applications, Testing

 We use relays for a wide range of applications such as home automation, cars and bikes (automobiles), industrial applications, DIY Projects, test and measurement equipment, and many more. But what is Relay? How a Relay Works? What are the Applications of Relays? Let us explore more about relays in this guide. What is a Relay? A Relay is a simple electromechanical switch. While we use normal switches to close or open a circuit manually, a Relay is also a switch that connects or disconnects two circuits. But instead of a manual operation, a relay uses an electrical signal to control an electromagnet, which in turn connects or disconnects another circuit. Relays can be of different types like electromechanical, solid state. Electromechanical relays are frequently used. Let us see the internal parts of this relay before knowing about it working. Although many different types of relay were present, their working is same. Every electromechanical relay consists of an consists of an Elect...

Chlorine dioxide Analyzer Principle

 Chlorine dioxide measurement Chlorine dioxide (ClO2) is an instable, non-storable, toxic gas with a characteristic scent. The molecule consists of one chlorine atom and two oxygen atoms – represented in the chemical formula ClO2. It is very reactive. To avoid the risk of spontaneous explosions of gaseous chlorine dioxide or concentrated solutions, it is generally handled in dilution with low concentrations. ClO2 is soluble in water, but tends to evaporate quickly. Typically it is prepared on site, for example from hydrochloric acid and sodium chlorite. The procedure provides solutions with approx. 2 g/l ClO2 that can be safely handled and stored for several days. Image Credits : krohne Sensor Parts : Reference electrode Applied chlorine dioxide specific potential Current needed to maintain the constant potential Counter electrode Measuring electrode The disinfection effect of ClO2 is due to the transfer of oxygen instead of chlorine, so that no chlorinated byproducts are formed. C...