Control of Automated Guided Vehicle with PLC SIMATIC ET200S CPU

Martin Kajan, Leo Mrafko, František Duchoň, Peter Hubinský, Ján Šovčfík

  Open Access OPEN ACCESS  Peer Reviewed PEER-REVIEWED

Control of Automated Guided Vehicle with PLC SIMATIC ET200S CPU

Martin Kajan1,, Leo Mrafko1, František Duchoň1, Peter Hubinský1, Ján Šovčfík1

1Institute of Control and Industrial Informatics, Faculty of Electrical Engineering and Information Technology, Slovak University of Technology in Bratislava, Ilkovičova 3, 812 19 Bratislava, Slovak Republic


Automated guided vehicle systems currently represent modern technology of industrial transportation, which meets criteria for time demanding requirements for material handling. They are particularly useful in operation with focus on field of discrete manufacturing especially in plants, where transport scheme is persistently repeated. This article is focused on development of mobile automated guided vehicle (AGV) controlled by decentralized periphery PLC SIMATIC ET200S CPU. The design of AGV vehicle lies in choosing appropriate driver motor type, design of motor driver for direction and speed control, design of safety components, and in choosing ET200S station modules configuration. The control algorithm for motion control of differential drive chassis is programmed in SIMATIC STEP 7 in LAD, FBD and STL languages. Graphical user interface for vehicle handling is created in WinCC Flexible environment which is implemented into wireless mobile panel MP277F IWLAN with touch screen. The communication between mobile panel and AGV vehicle is realized via industrial wireless LAN (IWLAN) based on SIMATIC NET product of the SCALANCE W series.

At a glance: Figures

Cite this article:

  • Kajan, Martin, et al. "Control of Automated Guided Vehicle with PLC SIMATIC ET200S CPU." American Journal of Mechanical Engineering 1.7 (2013): 343-348.
  • Kajan, M. , Mrafko, L. , Duchoň, F. , Hubinský, P. , & Šovčfík, J. (2013). Control of Automated Guided Vehicle with PLC SIMATIC ET200S CPU. American Journal of Mechanical Engineering, 1(7), 343-348.
  • Kajan, Martin, Leo Mrafko, František Duchoň, Peter Hubinský, and Ján Šovčfík. "Control of Automated Guided Vehicle with PLC SIMATIC ET200S CPU." American Journal of Mechanical Engineering 1, no. 7 (2013): 343-348.

Import into BibTeX Import into EndNote Import into RefMan Import into RefWorks

1. Introduction

Today in the world of consumer society, where the corporations and organizations are seeking to improve work efficiency, reduce the cost of human operators in logistics, and also reduce production cycle time, the use of robots has an advantage for simplifying the operation of the working process.

Automated guided vehicle (AGV) is a type of unmanned mobile vehicle designed primarily to carry material, tow objects behind them in trailers and also transport individuals. AGVs are commonly used in manufacturing plants, warehouses, distribution centers and terminals [1, 2, 8].

For navigation AGVs mostly use signal paths, lane paths or signal beacons. There are several main sensors that AGVs use for navigation, for example optical sensors, magnetic sensors, laser scanner and camera. Modern AGV systems differ from the classic ones, instead of using fixed paths many modern AGVs are free-ranging [7]. It means their preferred tracks are software programmed, and can be changed relatively easy when new stations or flows are added [2].When moving vehicles it is necessary to ensure the safety of the environment, personnel and the vehicle itself. The safety is ensured by the operation of sensors that detect obstacles and impending danger in their path.

The most commonly used automation tool in the automation industry currently is programmable logic controller (PLC). PLC is a programmable digital computer programmed by the user to perform the desired function. Since the PLC is capable to rapidly process perceptions of the environment and also allows processing of digital and analog signals from the sensors, we decided to use a PLC ET200S CPU from Siemens to control our vehicle. [3].

Our AGV communicates with the human machine interface (HMI) via industrial wireless LAN withthe use of PROFINET and PROFISAFE communication standards. Direct connection of distributed control systems through industrial Ethernet can be easily implemented via PROFINET. This provides rapid exchange of data between peripherals and control system as well as a very good diagnostic capabilities [4].

2. Description of Hardware Solution

2.1. DC Motor

To drive our vehicle, we decided to choose DC motors. The motors are controlled by pulse width modulation (PWM). The requirements for DC Motor are following:

Ÿ  supply voltage 24V

Ÿ  compact design with high performance – carrying capacity m=10 kg, 5kg per one DC motor.

Ÿ  long lifetime, low speed – durable gear unit with steel gear wheels

Ÿ  sensing of rotation speed – shaft mounted encoder

Based on above mentioned criteriawe chose brushed DC Motor Micromotors E192-2S.24.91 with planetary gear unit and shaft mounted two-phase Hall-effect encoder.

The principle of Hall-effect encoder is based on output voltage change of sensor in response to a change of magnetic field. The magnetic field is changed by rotation of shaft mounted permanent magnet. The magnetic field is sensed by two Hall-effect sensors TLE 7805L which are inthe phase of 90 degrees. The sensors produce 3 impulses for a motor turn. The gear ratio of planetary gear unit is i=91,66:1 and therefore we get 275 impulses for output shaft turn.

Figure 2. Connector cabling of the quadrature encoder performance

The direction of rotation of the quadrature encoder depends on output phase sequence (shifted by 90 degrees). The outputs of both TLE 7805L sensors are connected with open collector and therefore appropriate pull-up resistor is necessary. This resistor is used to provide stable logic value 1 when the transistor is closed.The pull-up resistor is connected between TLE 7805L sensor output and supply voltage. The logic 1 level depends on supply voltage level.

2.2. Motor Driver Design

Our main task is to control direction and rotational speed of wheels. In our case we use signals directing wheel rotation with 24V amplitude generated by 4DO digital output module, which is connected to PLC ET200S, so it is necessary to transform directioning signals to the TTL logic level first. We also transform PWM signals with 24 V amplitude generated by 2PULSE module. We use PWM signals to control the speed of wheel rotation. In H-bridge design we used MOSFET transistors as high power components because of their high durability during high current flows and lowerdrain-source resistance in closed statein contrary to the bipolar transistors. For the upper half of H-bridge we used P-channel power MOSFET transistors IRF4905 and for lower N-channel power MOSFET transistors IRF3205. The logical part of H-bridge that evaluates the direction of rotation, comprisesTTL logic circuits 74HCT08quad 2-input AND gate and the 74HCT04 hexinverter. The principal schematics of connected TTL logic circuits to H-bridge is shown on Figure 4.

To limit voltage spikes we added two capacitors to motor power supply C=4700µF. We also added capacitor C=100 nF to limit high frequency noise from the brushed DC motors. The power supply part of motor driver board is designed to adjust battery voltage U=24V to TTL logic demands. We used power regulator LM7805 which stabilizes battery voltage to U=5V. The motor driver PCB is shown in the following figure.

2.3. Complete AGV Construction

Our AGV consists of four main parts.

2.3.1. The First - control System Part

The main part is modular decentralized periphery SIMATIC ET200S with integrated CPU. Our used configuration comprises following parts:

Ÿ CPU IM 151-8(F) PN/DP,

Ÿ Power module PM-E DC24. 48V

Ÿ Digital input module 4DI DC24V HF

Ÿ 2x Counter module 1 COUNT 24V/100 kHz

Ÿ 2x Digital output module 4DO DC24V/0,5A HF

Ÿ PWM module 2 PULSE

Ÿ Fail-safe 4 output digital module 4F-DO DC24V/2A

Ÿ Fail-safe 4/8 input digital module 4/8F-DI DC24V.

The PM-E DC24..48V power module provides the supply voltage for all the electronic modules in the voltage group. The 1 COUNT counter modules count both quadrature encoder impulses and evaluate the rotational speed of motors. For control of direction both motors digital output signal of the 4DO digital output module is used. The 2 PULSE PWM module controls rotational speed of both motors by pulse width modulation. The 4/8F-DI fail-safe digital input module processes signals generated from four microswitches installed on safety bumper.

2.3.2. The Second - power-sensor Part

AGV model part consists of following parts:

Ÿ 2x brushed DC motor Micromotors E192-2S.24.91

Ÿ 2x quadrature encoders with TLE 7805L sensors

Ÿ Motor driver DPS (2 x H-bridge)

Ÿ 4x microswitch ZIPPY VMN-10H-03B0-B-Z

Our AGV model power and sensor part uses differential drive chassis. Geared motor shafts are connected directly to driven wheels and stability is ensured by supporting omnidirectional wheel. The motor driver evaluates signals from the control system part and determines each motor performance and direction of rotation of each wheel. The rotational speed of both motors is sensed by quadrature encoders. The Hall-effect sensors TLE7805 generate rectangular impulses with amplitude of 24V. To stop AGV in case of collision we used two safety bumpers which are connected to four microswitches ZIPPY, which in case of collision switch on automatically. The vehicle stops after assessing the signals by 4/8F-DI fail-safe module.

2.3.3. The Third – communication Part

Communication part consists of client module SCALANCE W747-1RR. This module estabilishes wireless communication between the vehicle and human machine interface HMI in IWLAN network using PROFINET communication protocol. This module has one radio range which enables operation in 2,4 GHz or 5GHz frequency range. Furthermore the module also supports Rapid Roaming function. The Rapid Roaming function enables the moving client modules to switch between different access points and ensures interruption-free transmission of the wireless signals

2.3.4. The Fourth – power Supply of AGV

We used two sealed lead acid batteries Long WP1236W. These batteries provide supply voltage 12V with capacity of 9Ah. They are connected into series, so we got supply voltage 24V necessary to supply PLC, motor driver and motors. At maximum performance AGV is capable of performing for 6 hours.

The complete AGV construction is shownin the following figure.

3. Control Program

Control program was programed in LAD, FBD and STL programming languages. It was developed in engineering system Step 7. Main cyclic block OB1 was used in the program. Next, OB100 warm reset block, which is initialized after start of PLC makes initialization operations, setting of PI controller coefficients and reset of variables. The next used block is OB35 periodic interrupt block for PI controllers with 10ms period of execution. Since we use the combination of safety PLC, mobile panel with emergency stop and PROFISAFE profile, micro-switches, our program implements safety program, too. This part handles with immediate stop of vehicle in a case of accident, lost connection between panel and PLC or after pressing the safety button. OB34 block is used for safety part of the program, because OB35 block has very low period of interruptions for providing the safety function.

As the first, we introduce function blocks of organization block OB1. The main goal of FB1 “pulse_start” and its data block DB1 “2PULSE” is PWM controlling. This control program processes values of 2 PULSE module and sending level of PWM into output addresses. Blocks FB7 “countL” and FB8 “countR” are used for measuring of both motors velocities. FB5 function block “Control_of_ motors” implements control algorithm for differential drive chassis. Inputs for this block are tangential velocity of central point in percent and radius of vehicle in centimeters. FB5 block also consists of other functional blocks, which process given functions or adjustment. FB2 block “Calculation of wheels velocities”, as it is clear from the heading, counts velocities of wheels and adjustment of input range velocities of central point. The input is in percent and the limit is from -100% to 100%. During the design of FB5 block program we had to describe differential motor chassis. Simple design of differential chassis is shown on next figure.

From figure we can extrapolate these equations:


After deriving velocities vL and vR from (2) and embedding them into equation (1) we get final equations for velocities of left and right wheel with all known variables and constants.


It is important to take into account the case when R=0. Zero turning radius means turning around the center of the vehicle. This leads to dividing by zero in (4). We solved this problem by giving velocity of right and left wheel according to central point velocity. For example, if we want positive central point velocity and turning radius R=0, we must use positive central point velocity for the left wheel and negative velocity for the right wheel. The vehicle will turn clockwise. If we want the direct movement of the vehicle, the turning radius must be infinite. In our program the limit of radius is R=9, 9e5 cm, higher values lead to direct movement.

Next important factor is to keep wheels velocity ratio in constant turning radius after changing vehicle velocity. Accelerating or slowing down is realized by adding or subtracting the constant of acceleration. If the speed of both motors is changed with same constant of acceleration, the turning radius is changed. This state is solved by counting difference between desired and actual value of speed for each wheel separately, by next equations:


Next, we compare these values and count a new constant of acceleration CLa- left wheel and CRa – right wheel from Ca – default constant of acceleration.


Function block FB3 “velocity sat” is used if the central point velocity is vT= 100 % and turning radius is for example R =1000 cm, desired left wheel velocity is bigger than 100% and it is impossible to reach it. In this case the program will change central point velocity for reachable value for both wheels. In this case we use following equations.


The saturation of wheels velocities change the central point velocity and new recalculation is needed.


Function block FB4 “Acceleration” is used for increasing or decreasing the velocity by ramp curve. In case of acceleration, the constant of acceleration is added to current velocity in every step of calculation. In case of slowing down the constant is removed in every step. Each step is activated by “clock” bit. If the value exceeds limit, the saturation is activated.

Function block FB6 “absolute percentage direction” makes absolute value from velocities of wheels, which range from -100% to +100%, while the sign plus / minus is turned to logic value of output bits of 4DO module. If the sign is positive the logical value is 1(forward). Negative sign means logical 0 (backward).

The FB9 “twist ctrl” function block. Since control wheel on Panel 277F IWLAN mobile panel hasn’t zero position, the software calibration of this position is performed after start. This block also solves the direction of control wheel rotation. Pulses are generated by twisting of the control wheel. IB6 byte is used while the control wheel is turning clockwise and IB7 is used for counterclockwise movement. After the start both bytes are reset to zero. The value of impulses in bytes is always a positive number; bytes IB6 and IB7 are changed by rotation of the control wheel. The upper limit of impulses is 256 and after overshoot there is zero again. Minimum and maximum position of the wheel poswheelis programmed from -40 to 40 pulses. As we change turning radius R , individual movements like forward or turning to sides are described by following equations:


This block also processes signals from mobile panel MP 277F IWLAN, such as safety stop, normal run and stop as well as radius and central point velocity variable setting.

Measured transfer characteristic of motor, which is used in our work is on Figure 9. It is clear that in the change of motor power from 0 to 100%, the change of rotational speed is nonlinear.

FB41 CONT_C ICONT block compensates this nonlinearity. FB41block consists of PID controller. We used only PI part in closed loop, derivation part is turned off. Constants of PI regulator are set experimentally. Firstly, PI control ensures half velocity of motors in 50% motor power. The controller also compensates the change of the load. If the load is changed, the controller changes the manipulated value. Controller tries to establish desired velocity for vehicle.

The function of the program is shown in the following figure.

4. Communication between AGV and HMI

Vehicle communication is based on wireless network IWLAN (IEEE 802.11i standard). The system uses two separate access points SCALANCE W788-2RR and SCALANCE W788-1RR. Client device SCALANCE W747-1RR is placed on vehicle base. This device is connected to access point with the strongest signal using Rapid Roaming function. CPU SIMATIC ET 200S device includes 3 ports PROFINET switch, which provides connection between the client module and PLC.

The vehicle is controlled by touch panel SIMATIC MOBILE PANEL 277F IWLAN Figure 1. This panel consists of 8” color TFT display, 21 hardware buttons and one control wheel. The panel is wirelessly connected to one of the access points, which furthermore routes the communication to the client module installed on the vehicle.

The visualization for panel screen was designed in WINCC Flexible program. The velocity and orientation of vehicle are controlled by panel. The rotation of vehicle can be controlled by rotation of wheel or by value directly inserted into input field. The velocity can be set in three ways: the velocity can be changed by a slider, minimal and maximal values can be set by buttons or by entering into input field. The vehicle starts after pressing “Start” button. To stop the vehicle we use “Stop” button. In case of collision it is possible to use “Emergency Stop” button for fast stop of the vehicle.

5. Future Work

Currently we are working on other components of AGV. The main focus is on sensory subsystem and realization of autonomous charging of accumulators. In the future we will work on laser scanner installation.

Present model works only with bumper switches, which stop vehicle in case of hitting an obstacle. Surely, we want to avoid the contact between a vehicle and an obstacle. For this case we are planning to implement proximity sensors, or mount COGNEX In-Sight video camera, which is able to read QR codes, text recognition and can be used for navigation, too. These functions are sufficient for AGV vehicle path planning.

We are working on the design of optical sensors group, too. By using these sensors, following given trajectory will be possible. Optical sensors will consist of infrared LED diode (transmitter) and photo-resistor (receiver). Opening of phototransistor is based on light strength of reflection from IR LED. According to this we are able to decide if the sensor is exactly above given path.

For accumulator charging we are planning to use UC3906 chip. This chip was designed for charging of maintenance-free accumulators and it is able to control battery status in every phase of charging circle. Voltage of every accumulator will be measured by analog card of PLC, this will lead to indication of status and necessity of battery charging.


This paper was processed in the frame of the projects No. 1/0178/13 of VEGA agency and project No. APVV-0539-11 of APVV agency as the results of author’s research.


[1]  Yu, J., Lou, P., Wu, X. Fogg, B.J., “A Dual-core Real-time Embedded System for Vision-based Automated Guided Vehicle,” in2009 IITA International Conference on Control, Automation and Systems Engineering, IEEE, 207-211.
In article      
[2]  Le-Anh, T., De Koster, M.B.M., “A review of design and control of automated guided vehicle systems,” European Journal of Operational Research”, 171(1), 1-23, May 2006.
In article      CrossRef
[3]  Mrafko, L., “PLC and their programing - 1. What is a PLC?,” Posterus, 3(4), April 2010. [Online]. Available:[Accessed Oct. 28, 2013].
In article      
[4]  PNO, PROFINET System Description - Technology and Application, PROFIBUS Nutzerorganisation e.V. PNO, Germany, June 2011.
In article      
[5]  Jurišica, L., Hubinský, P. Kardoš, J., Robotics, 2005. [E-book] Available
In article      
[6]  Shulze, L., Wüllner, A., “The Approach of Automated Guided Vehicle Systems,” in Service Operations and Logistics, and Informatics, 2006. SOLI '06. IEEE, 522-527.
In article      
[7]  Židek Kamil, Maxim Vladislav, “Design of high performance multimedia control system for UAV/UGV based on SoC/FPGA Core”, Procedia Engineering : MMaMS 2012 : Modelling of Mechanical and Mechatronics Systems 2012, TU Košice, 402-408.
In article      
[8]  Stoianovici Gabriela-Veronica, Bulej Vladimír, Ghionea Adrian, Poppeová Viera, “Mobile robots and simulation - an appropriate tool how to increase the eficiency of their application in production systems”, Proceedings in manufacturing systems, Vol. 6, No. 4, 2011, 267-270.
In article      
[9]  Virgala Ivan, Kelemen Michal, “Experimental friction identification of a DC motor”, International Journal of Mechanics and Applications, Vol. 3, No. 1, 2013, 26-30.
In article      
[10]  Virgala Ivan, Frankovský Peter, Kenderová Mária, “Friction Effect Analysis of a DC Motor”, American Journal of Mechanical Engineering, Vol. 1, No. 1, 2013, 1-5.
In article      CrossRef
[11]  Hrianka Miroslav, Lakatoš Jozef, Hargaš Libor, Koniar Dušan, “Modelling, simulation and verification of heat transfer in power transistor cooler”, Metalurgija, Vol. 49, No. 2, 2010, 283-287.
In article      
  • CiteULikeCiteULike
  • Digg ThisDigg
  • MendeleyMendeley
  • RedditReddit
  • Google+Google+
  • StumbleUponStumbleUpon
  • Add to DeliciousDelicious
  • FacebookFacebook
  • TwitterTwitter
  • LinkedInLinkedIn