0% found this document useful (0 votes)
76 views8 pages

PID Controller Design for PLC Systems

This document discusses the design of a PID controller for a PLC using a hydraulic system case study. It first provides background on PID controllers and PLCs. It then describes using Unity Pro XL software to program a Schneider Electric PLC and design a PID function block. Parameters for the PID controller were determined using the Ziegler-Nichols tuning method applied to a simulated hydraulic system with a water tank, pump, and pressure transmitter. Simulation results showed the tuned PID controller stabilized the level in the water tank.

Uploaded by

ankit407
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
76 views8 pages

PID Controller Design for PLC Systems

This document discusses the design of a PID controller for a PLC using a hydraulic system case study. It first provides background on PID controllers and PLCs. It then describes using Unity Pro XL software to program a Schneider Electric PLC and design a PID function block. Parameters for the PID controller were determined using the Ziegler-Nichols tuning method applied to a simulated hydraulic system with a water tank, pump, and pressure transmitter. Simulation results showed the tuned PID controller stabilized the level in the water tank.

Uploaded by

ankit407
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

DESIGN OF PID CONTROLLER FOR PLC

J. Paulusov, L. Krsi Institute of Control and Industrial Informatics, Slovak University of Technology, Faculty of Electrical Engineering and Information Technology Abstract This paper deals with PID algorithm for the Modicon Premium platform from Schneider Electric. Based on real time samples measured by the PLC a model of the process was created in Matlab and then PID controller parameters were designed. The verification of algorithms on a real system (container with an unobstructed drain) and the evaluation of control capabilities of the tested controller are introduced. Paper deals with theoretical and practical methodology, offering approach for control design and its successful application.

Introduction

Programmable Logic Controller (PLC) devices have various advantages, such as high computing performance or the ability to communicate using different ports for different protocols (RS232, Ethernet) [2]. Relative complex and difficult ways of control and technical diagnostics can also be handled by a compact PLC. Another positive feature, also from the PLC design perspective, is a simple combination of two basic types of control systems: distributed systems and integrated systems. Thus, the advantages of both systems can be combined. An essential element of these systems is PLC. Components such as sensors, actuators, visualization features, etc. are connected via (digital/analogue) input and output modules or through communication channels. The above mentioned facts confirm that the PLC is suitable for complex solutions in the field of measurement and control. The ability of proportional integral (PI) and proportional integral derivative (PID) controllers to compensate many practical industrial processes has led to their wide acceptance in industrial applications. The easiest way for choice of either two or three controller parameters is perhaps by making use of tuning rules. Various surveys show that the use of PID algorithm is estimated somewhere between 90 and 95% in practice. This paper deals with design of PID algorithm and parameters for Modicon PLC TSX Premium using Matlab [5]. The PID controller has been designed for a real laboratory hydraulic system.

Software Unity Pro XL

Schneider-Electric Unity Pro XL is a software environment for designing and programming of Schneider-Electric PLCs. It is an unique and high performance multitask software, offered for the Modicon M340, Premium, Quantum PLCs and Safety family. Unity Pro makes the best use of the graphic and context-sensitive interfaces of Windows operating systems. It offers five IEC61131-3 languages as standard. Each section of code can be programmed in the language of users choice, best adapted to each processing operation. All of the edit, debugging and operation tools are accessible whatever language is used. The main benefit is in a complete set of functions and tools enabling modelling of application structure on any machine or process structure. The program is split into organised function blocks by grouping: program sections, animation tables, operator screens and hyperlinks. Repetitive used basic functions are encapsulated in user function blocks DFB (Derived Function Block) in IEC61131-3 language. In addition, with the Unity EFB (Elementary Function Blocks) Toolkit, user know-how can be standardised by developing their own basic functions in C language to supplement the Unity Pro library. An integrated library of application diagnostic is provided by DFBs depending on function monitor permanent safety conditions and the evolution of the process over time. With the UDE, Unity is enhanced by specialised software for IT (Information Technology) developers in VBA (Visual Basic for Applications), VB (Visual Basic) or C++. It offers access to all Unity Pro software server objects for development of tailor-made solutions such as

creation of interfaces with an electrical CAD (Computer-Aided Design) or application automatic generator. Example of Unity Pro application is in Fig. 1.

Figure 1: An example of Unity Pro application

PID controller design

PID control is a fundamental feedback control mechanism for various systems. It attempts to correct the difference between the measured and desired value control error using manipulated variable to suppress this difference to zero. The controller is represented by three components: proportional represents the controller gain, depending on the error determines the actual response; integral performs the sum of past deviations and derivative component works with the rate of change of the error. Different PID function blocks are used in Unity Pro. These function blocks perform initialization in the first program cycle of the PLC program. Therefore they must be called in the main program task, otherwise the initialization fails and outputs can have bad values [1]. These function blocks have the following properties: - calculating the proportional, integral and differential component in its incremental form, - anti-windup reset, - direct or inverse action, - differential component to process value or deviation, - parameterization of the differential component transfer gain, - weight of the setpoint in the proportional component (reducing the overrun), - feed forward component for disturbance compensation, - dead zone on deviation, - incremental value and absolute value output, - upper and lower limit on the output signal (according to operating mode), - gradient limitation of the output signal, - output offset, - selecting manual/automatic mode, - tracking mode - bump less changeover between manual and automatic, - upper and lower setpoint limit. General block diagram of the PID function is shown in Fig. 2.

Autotuning

Setpoint

Processing setpoint Processing Process value Processing Feed Forward

Process value

Loop controller and command processing

Auto Manual

Processing Output

Feed forward Manual command Tracking

Figure 2: PID function block diagram Representation of the PID function block (in Function Block Diagram - FBD language) with inputs and outputs is shown in Fig. 3. The illustration shows, that it is possible to assign SP, PV, MODE PARA FEED_FWD a YMAN tags (variables). Variables are explained in detail in Table 1.

Figure 3: PID Function block Possibility to create controllers with different combinations of P, I and D components is provided by Boolean internal variables of the functional block en_p, en_i a en_d by setting their values to 0 or 1. Table 1: LIST AND DESCRIPTION OF PID CONTROLLER VARIABLES I/O parameters Parameter SP PV MODE Inputs PARA FEED_FWD YMAN InputsOutputs Data type REAL REAL Mode_PID Para_PID REAL REAL Description Reference value Process value Operating mode Parameters Feed forward Controller output value in manual mode Manipulated variable Control deviation State of manipulated variable

Y ERR

REAL REAL Stat_MAXMIN

Outputs

STATUS

The structure and description of the data types of variables Mode_PID, Para_PID and Stat_MAXMIN are in Tab. 2. Table 2: LIST AND DESCRIPTION OF DATA STRUCTURES PID CONTROLLER Structure Parameter man halt en_p Mode_PID en_i en_d d_on_pv Data type BOOL BOOL BOOL BOOL BOOL BOOL Description "1": Manual mode "1": Halt mode "1": P enabled "1": I enabled "1": D enabled "1": D processing deviation, "0": D processing process value

gain ti td Para_PID td_lag ymax ymin

REAL TIME TIME TIME REAL REAL

Gain Integral time Derivation time Delay of D Upper limit of manipulated variable Lower limit of manipulated variable

qmax Stat_MAXMIN qmin

BOOL BOOL

Upper limit of manipulated variable reached Lower limit of manipulated variable reached

Case study

Hydraulic system (Fig. 4) consists of water tank with water reservoir, PLC, pressure transmitter, frequency inverter and a pump [3]. Honeywell ST 3000 S900 pressure transmitter was used to measure the water level in the tank. It is a reliable and intelligent transmitter [4]. It offers the possibility of measuring pressure, absolute pressure, differential pressure and level. The signal from the transmitter is connected to the PLC analogue input card. The transfer of water from the water reservoir into the water tank was making use of a monoblock centrifugal pump with threaded neck from CALPEDA manufacturer. The pump type is CALPEDA NM 2/AE. The pump is controlled by a compact inverter PowerFlex 40 from Allen-Bradley, which is connected to the PLC analogue output card. PowerFlex 40 has a standard control panel display, touch keypad and potentiometer. The inverter also includes LEDs to indicate the current status of the inverter.

Figure 4: Block diagram of the hydraulic system (PLC, inverter, pump, pressure transmitter, tank and reservoir)

Simulation Results
The Kp, Ti and Td parameters has been obtained by Ziegler-Nichols method [6]. Transfer function of PID controller is:
G R (s ) = U (s ) I 1 = P + + Ds = K p 1+ + Td s E (s ) s Ti s

(1)

The procedure is as follows: 1) Turn off the I-term and the D-term in the controller. 2) Turn P to zero, and then increase it slowly, while looking at time responses of the output variable (y) or - some times better - the output of the controller, u. Increase P until the output exhibits sustained oscillations (see Fig. 5 - violet, P=6.5) 3) At this "quasi steady-state" point we have reached the critical gain, called P=PK, and period of oscillations, TK=5.34 s. 4) Then the Ti and Td should be turned on with the following configuration values (see the Tab. 3).

Figure 5: Time responses of the output variable by different parameter P (I=0, D=0)

Table 3: CLOSED-LOOP CALCULATIONS OF PID PARAMETERS Kp P controller PI controller PID controller PK / 2 PK / 2.2 PK / 2.7 Ti TK / 1.2 TK / 2 Td TK / 8

From Tab. 3, Kp, Ti, and Td can be calculated for all three types of controllers. The results are shown in (Tab. 4 and Tab. 5). Table 4: PARAMETERS OF PID CONTROLLER (SEE EQ. 1) Kp P controller PI controller PID controller 3.25 2.95 3.82 Ti 4.45 2.67 Td 0.67

TABLE 5: PARAMETERS OF PID CONTROLLER (SEE EQ. 1) P P controller PI controller PID controller 3.25 2.95 3.82 I 0.66 1.43 D 2.55

At first glance, we can see from the table that the PI controller has Ti greater than Kp, and in theory we know that for the most applications it is the opposite. Also Td is high value in comparison with the other parameters and such tuned PID controller can create oscillations of the output variable around the desired variable.

Figure 6: Time responses of the output variable under PID controller (Ziegler-Nichols method)

Time responses of the output variable under Ziegler-Nichols controller are shown in Fig. 6. Designed PI controller (Ziegler-Nichols) is compared with PI controller, whose parameters were designed by experimental methods (P=2.6, I=3.6). Time responses of the output variable under both controllers are shown in Fig. 7.

Figure 7: Comparison of time responses of the output variable under PI controller (Ziegler-Nichols method and experimental method)

Conclusion

This paper deals with control of a real system a container with an unobstructed drain. PID controller for control of hydraulic system was designed by Ziegler-Nichols method and experimental method. Each of the designed control loops were verified by a simulation model in Matlab-Simulink before a test on the real system.

ACKNOWLEDGMENT This paper was supported by the Slovak Scientific Grant Agency VEGA, Grant no. 1/1105/12, Grant No. 1/2256/12 and Grant No. 1/1241/12.

References
[1] A. Pulen. Implementation of automatic design of PID controller in the PLC. Master Thesis, FEI STU, Slovak Republic, May 2009. [2] L. Mrafko, M. Mrosko, L. Krsi: PLC a ich programovanie. Available on internet: <[Link] [3] Frekvenn mni PowerFlex 40. Available on internet: <[Link] [4] Inteligentn vysiela pretlaku, absoltneho tlaku, tlakovej diferencie a hladiny ST 3000. Available on internet: <[Link] [5] Modicon TSX Premium PLCs. Available on internet: <[Link]

[6] truktry a formy spojitch PID regultorov. Available on internet: <[Link] 2005/[Link]>

Jana Paulusov and Ladislav Krsi Institute of Control and Industrial Informatics, Faculty of Electrical Engineering and Information Technology, Slovak University of Technology, Ilkoviova 3, 812 19 Bratislava, Slovak Republic e-mail: [Link]@[Link], [Link]@[Link]

Common questions

Powered by AI

Encapsulating basic functions in User Function Blocks (DFBs) provides organizational benefits, allowing for code reusability and standardization within the Unity Pro environment. This encapsulation simplifies complex programming tasks and enhances maintainability and scalability by enabling consistent application of defined functions across different projects .

Derived Function Blocks (DFBs) in Unity Pro offer benefits such as encapsulating repetitive basic functions, which helps in organizing and structuring PLC programs efficiently. They allow users to standardize their know-how by developing and reusing their own basic functions in C, potentially enhancing the consistency and quality of software development across different applications .

The PID controller can be customized using Unity Pro's PID function blocks by configuring different combinations of proportional (P), integral (I), and derivative (D) components through Boolean internal variables such as en_p, en_i, and en_d. Furthermore, settings like anti-windup reset, direct or inverse action, gain parameterization, feed forward components, dead zones on deviation, manual/automatic mode selection, and tracking mode for bump-less changeover provide extensive customization options .

The strategy for validating the PID controller design involved initially creating a simulation model using Matlab-Simulink to test the control loops. This simulation step ensured that the controller's design and parameterization would function effectively before being deployed in the physical hydraulic system, minimizing the risk of unexpected behavior in a real-world application .

The Unity EFB Toolkit is significant as it enables users to extend the Unity Pro software library by developing their own basic functions in C language. This extension allows for enhanced customization and sophistication in application design, providing flexibility for tailored solutions to meet specific user requirements or process needs .

Unity Pro XL enhances the functionality of Schneider-Electric PLCs by providing a multitask software environment that offers a range of features such as high-performance graphic interfaces, compatibility with five IEC61131-3 programming languages, and integrated function blocks for developing customised solutions. It supports application structure modeling on any machine or process structure, and includes animation tables, operator screens, and hyperlinks. It also allows the development of user-defined basic functions in C language to extend the Unity Pro library .

The integral component of a PID controller is responsible for summing past deviations over time, helping to eliminate steady-state error in industrial control systems. Its significance lies in its ability to effectively correct accumulated errors, resulting in improved accuracy and stability of the control process .

The implementation of a PID controller in a real system is illustrated using a hydraulic system case study. This system includes a water tank, PLC, pressure transmitter, frequency inverter, and a pump. The PID controller was designed using the Ziegler-Nichols method, and simulations in Matlab-Simulink were conducted before testing on the real system. The success of the controller in managing the fluid levels in the tank was evaluated by comparing the time responses of the output variable .

The main advantages of using a PLC in industrial applications include high computing performance, the ability to communicate using various ports and protocols (such as RS232 and Ethernet), and the capability to handle complex and difficult control and technical diagnostics through a compact design. Additionally, PLCs can combine the advantages of both distributed systems and integrated systems, making them suitable for complex solutions in measurement and control .

The paper employed the Ziegler-Nichols method to determine PID controller parameters for a hydraulic system. The key steps involved initially turning off the I-term and D-term, setting P to zero, and then gradually increasing P until the output exhibited sustained oscillations, indicating the critical gain and period of oscillations. Ti and Td values were then set using specific configuration values derived from the method .

You might also like