Automatic Control System VII. Controller Structure of control system Control software actuating drive controller actuating unit actuator transducer sensors Process the name of mathematical model of the plant transmitter Standard signals operator desk Standard industrial I/O interface Visualisation software SCADA (Supervisory control and data acquisition) Material flow Simulation software Variables Process controller and typical application field • Process controller ready to use for industrial control and it’s possible the hardware redundancy and integrate the functionality of control and SCADA software. • Application field process industry applications (paper, primary metals, food processing, and so on.) batch-type control (chemicotechnology, pharmaceutic chemistry, or injection molding machines, and so on.) • Programmability standard control languages IEC1131-3 and SCADA depending of factory PLC familyes • Control relays 8-20 I/O, limited memory size, only LD programming languages with limited and not standard instructions. • Compact PLC 12-32 I/O, normal memory size, standard IL, LD, FBD programming languages with limited instructions. • Modular PLC with compact unit flexible arrangement up to 800 I/O, different memory size, standard IL, LD, FBD programming languages. • Modular PLC with rack system Higher I/O number, memory size, CPU frequency, network ability. All standard programming languages are used. Structure of modular PLC Programming device CPU module Local extension I/O module Network station Remote extension I/O module Network arrangement Remote Clients Workplaces Maintenance Operator Engineering System Servers Control Network Process Automation Process Automation and Safety S800 I/O Variable Speed Drives S900 I/O (Ex) MCC Fieldbus High Speed Linking Devices (FF HSE/H1, PB DP/PA) Safety AC 700F kontroller V9.1 Local I/O Modules (Up to 8) CPU (“PM 783F”) Field Bus Coupler Connector * 24 VDC Power connector FBP (Field Bus Plug) * CPU Terminal base Ethernet (“TB 711F”) (RJ-45) © ABB Group March 23, 2016 | Slide 8 RS232/485 SER (MODBUS) RS232/485 DIAG I/O Terminal Units (up to 8) Industrial software • Simulation software Facilities: Involving differential equations, matrix, etc. Converting between frequency and time domain. Charting functions. Creating block models. • Control software Content of control task for industrial computer (process control), or intelligent devices in laboratory (scope, frequency generator, power supply, etc.) • Visualisation software Instead of classic operator desk (push button, dial indicator) Control software Control software needs a model of the process • Define correct interface between process and controller. (using standard signals) • Dividing into simpler part of the process. • Choosing control strategies. • Creating control task, and define the parameters. Standard industrial I/O interface for signals Digital I/O • galvanic isolation • 24 VDC logic (0 -7 VDC , 14 - 30 VDC) Analogue I/O • Usually no galvanic isolation • Typically: 4-20 mA signal area • Typically resolution: 12 bit Dimensionless technique manipulated variable Controlled, measured variable action signal feedback signal max max 20 mA 20 mA A/D conversion control task D/A conversion Domain of variability 4 mA 4 mA min min w(t ){dim} wmin {dim} w(t ) 1{dim} Program structure of PLC control program Priority Deafault task Periodic task Program A1 Function block 1 Function 1 Program An Function block 2 Program P1 Function x Program Pn Data FB1/1 Data FB1/2 Data FB1/3 Function block N Function N Event task System task Program E1 Program En Program R1 Program Rn The system programs handle the error, keep the connection with operator, and so on. Programs, function blocks, functions • The programs can be written any standard languages. Different languages can be used in the project. • The function blocks and the function are well tested subprograms. • The function blocks have more input and more output variables, which can be catch from any programs. • The functions have more input and one output variables. The output variables appear in the working register of CPU and needs handle. How the programs use the CPU D P E S A1 A2 A3 A1 A2 A3 A1A P1 AA3 A1 A2 A3 A1A P AA3 A1 A2 A3 P t t t E1 R1 t Cyclic processing of the user program not use loop instruction (for, until..) at the end the program the processing starts again automatically Standby PLC interrupt selftest Write data Read data Process user program The standard control languages IEC1131-3 • Structural Text similar to QuickC • Instruction Line similar to assembly • Ladder Diagram graphical language similar to contact plan • Function Block Diagram graphical language similar to digital circuit plan • Function Chart graphical language and text languages by IEC848 standard Structure of Instruction line Label Instruction Symbolic name for variable Comment These are always required It is used like the target of It relates to the variable. the jump instructions. Jumps Calls Label Symbolic name for function block or function Structure of jump’s instructions A A yes no jump conditional no yes B jump unconditional B C label yes C D label unconditional jump D Structure of Call’s instructions Data_2 call name Data_1 Function block User program return The same type of function blocks or functions can be called more times with different name and so data block. The call’s instructions can be used in the function block program too. Instructions of IEC1131-3 • • • • • • • • • • LD, LDN S, R ST, STN AND, ANDN OR, ORN XOR, XORN LT, LE, EQ, EN, GE, GT JMP, JMPC, JMPCN CAL, CALC, CALCN RET, RETC, RETCN all variables bool variables all variables bool variables bool variables bool variables all variables (the result is bool) label name of function block or function Store, Set, Reset output instructions • Store ST In all scan the output result depends on the actual value of the contacts. • Set S In the first scan when the logical result of contacts actual value equals true the output register (variable) is set high, and remains in this state independent the contacts actual value until a reset instruction. • Reset R In the first scan when the logical result of contacts actual value equals false the output register is reset Variables of IEC1131-3 • BOOL • BYTE, WORD, DWORD • integer (INT), short integer (SINT), double integer (DINT), unsigned integer (UINT), ... • REAL • TIME • DATE • TIME_OF_DAY • DATE_AND_TIME • STRING bool variables bit sequence variables digital variables real number T#0h0m0s0ms D#1900-01-00 (YYYY-MM-DD) TOD#00:00:00 (HH:MM:SS) DT# 1900-01-00-00:00:00 Structure of Instruction line program Sequence Smallest part of a instruction line program the sequence consisting of one or more instruction line. Syntactic of sequence – Started one load instruction (LD, LDN) and finished one or more result instruction (ST, STN, S, R, JMPC, JMPCN, CALC, CALCN). – Inside the sequence the type of the variables is the same. – JMP, CAL, RET are the one line instructions. Bool algebra AND The relaycoil1 is energised if the contact1 and the contact2 are closed. OR The relaycoil2 is energised if the contact1 or contact2 are the closed. XOR The relaycoil3 is energised if either the contact1 or the contact2 are closed. Circuit connections between ends AND OR XOR Sequence LD contact1 AND contact2 ST relaycoil1 LDN contact1 OR contact2 ST relaycoil2 LD contact1 XOR contact2 ST relaycoil3 Logical closed instruction series LD contact1 ANDN contact2 LDN contact1 AND contact2 OR ST relaycoil3 Structure of Ladder diagram Type Suggested flowchart of the PLC program conditions conditions Actions Jump’s label Call’s name Actions conditions Actions If the result of the conditions is false the actions aren’t processed and begins automatically examination of the next conditions. The jumped actions aren’t processed. It remains the latest value. There aren’t conditions before JMP, CAL instructions Steps of creating control program • Flowchart of the program define input, output, and internal variables • Hardware topology file • Edit program file and reference file definition of variables, edit program, syntax check • Compile editing program convert to machine code, error massages • Transfer (download) to PLC • Test and commissioning start/stop program running, display program in running • Modify program