SOFTWARE SERIES OF LECTURES EFIMOV S.V. ACS CONCEPT Automatic - - PowerPoint PPT Presentation
SOFTWARE SERIES OF LECTURES EFIMOV S.V. ACS CONCEPT Automatic - - PowerPoint PPT Presentation
COMPUTER-AIDED SYSTEM SOFTWARE SERIES OF LECTURES EFIMOV S.V. ACS CONCEPT Automatic Control System (ACS) is a set of hardware and software tools that provide an automated collection, processing, transmission and storage of data necessary
ACS CONCEPT
Automatic Control System (ACS) – is a set of hardware and software tools that provide an automated collection, processing, transmission and storage of data necessary for optimal control in various spheres of human activity according to the accepted criteria.
2
ACS CLASSIFICATION
- Information systems
- Control systems
3
ACS TYPES
- Automated Process Control system (APCS)
- Computer-Aided Manufacturing System (CAM)
- Integrated Automated Control System (IACS)
Each of these systems performs certain types of tasks and has a set of functions and characteristics.
4
ACS ARCHITECTURE
- 1. Field level – detecting elements, sensors, actuating
mechanisms.
- 2. Middleware layer – cross-column bases, control system rack
cabinets that include PLC systems.
- 3. Upper level – operator station where an operator controls the
technological process.
5
ARCHITECTURE REQUIREMENTS
- Low cohesion of architecture components
- Testability
- Diagnosability
- Maintainability
- Reliability
- Safety
- Easy servicing and operating
- Security
- Economical efficiency
- Modifiability
- Functional extendibility
- Expandability
- Openness
6
ARCHITECTURE MODIFICATIONS
7 Technological process Sensors Actuating mechanisms ССС Technological process Sensors Actuating mechanisms PLC Technological process Sensors Actuating mechanisms PLC OS
ACS hierarchical structure ACS decentralized structure ACS centralized structure
ACS FUNCTIONS
8
- Data processing functions
- Control functions
DATA PROCESSING FUNCTIONS
- Data collection, processing and storage; primary data processing consists
- f input signal filtering, data validating, analytical sensor calibration that is
an information gaining on a technical parameter in response to a signal input from the sensor
- Status signaling of equipment parameters and technological process
- Indirect measurement of process parameters and equipment status
- Derivation
- f
- perating
and technical-and-economic indices
- f
technological process
- Record-keeping of required parameters, technological equipment status
and results obtained in system or PLC system, calculations
9
DATA PROCESSING FUNCTIONS
- Record-keeping of process parameters divergence and equipment status
from the stated values
- Root cause analysis and compile-time diagnostics of originated interlocks
and equipment process safeguards
- Option value impact analysis of technological process and equipment
status
- ACS hardware components diagnostics
- Information display on process flow status and tip provision on process
control
- Information exchange algorithm performance with other ACSs
10
CONTROL FUNCTIONS
- Single-loop control of technological process individual parameters
- Logic (interlocks and safeguards performance)
- Waterfall
- Multivariable
- Software-based
- Parameters optimal control in technological process steady state (optimal
control in statistics)
- Optimal control of transitional technological processes (animated optimal
control), this problem solution result is variation laws of technical parameters in going from one static mode to another
- Optimal control of technological processes that is control system adaptive
11
PLC FUNTIONS
- Data collection and primary processing
- Technological parameters monitoring
- Program control
- Warning
- Safety protection
- Problem diagnosis
- Data transmission to dispatch office
- Command receipt and execution
12
OPERATOR STATION FUNCTIONS
- Data display that is done on monitors’ screens as
mnemonic diagrams, graphs (trends), digit quantities, tables, animation and etc.
- Data archiving
- Report generation
- Controller parameters variation
- Remote manual control
13
ACS COMPOUND
- Maintenance support
- Mathematical support
- Information support
- Organization support
14
MAINTENANCE SUPPORT
Maintenance support includes the following hardware components: microprocessor controllers, dispatch offices on PC basis, data collection devices, data transmission devices, actuating devices and etc.
15
MATHEMATICAL SUPPORT
Mathematical support is divided into algorithmic and software.
- Algorithmic is a collection of interconnected
algorithms according to which ACS functions.
- Software is a collection of programs according to
which microprocessor controllers and dispatch stations perform.
16
INFORMATION SUPPORT
Information support represents a document list where there is a set of input signals, their characteristics, a set
- f output signals including the ways that information is
presented, and data collection, processing and usage schemes.
17
ORGANIZATION SUPPORT
Organization support represents a document collection that is necessary to operate ACS: system technical description, user’s manuals, an overhaul manual, and etc.
18
ACS COMPONENTS
19 Organization support Operating staff Mathematical support: · algorithmic · software Information support Input data Output data Maintenance support Computer aids
ACS components liaison
IEC 61131 STANDARD
- 1. Overview
- 2. Equipment and test requirements
- 3. Programming languages
- 4. User’s manuals
- 5. Message development
20
STANDARD LANGUAGES
- IL – Instruction List
- LD – Ladder Diagram
- SFC – Sequential Function Chart
- ST – Structured Text
- FBD – Functional Block Diagram
21
LANGUAGE REQUIREMENTS
- The program is divided into a variety of functional elements – Program
Organization Units (POU), each of them can consist of functions, function units and programs; any program element can be built hierarchically from simpler elements
- The standard requires a strict data typing; data types listing allows to
detect easily the majority of errors in program before its execution
- There are some means to execute various program parts in different time,
different speed, and also concurrently
- To perform operations in a certain sequence that is sequenced by time
intervals or events, the special language of sequential function charts (SFC) is used
22
LANGUAGE REQUIREMENTS
- The standard supports structural systems that describe heterogeneous data,
i.e. pump bearing box temperature, pressure and condition “on - off” can be described with the help of one structural system and transmit it inside the program as a single data element
- The standard provides all five languages sharing; so, any more convenient
language can be used for every problem part
- The program written for one controller can be transmitted to another
controller that is compatible to IEC 61131-3 standard
- Any PLC system performs in repetitive mode. The cycle begins with the data
collection from input modules , then the PLC program is executed and the cycle finishes by data output in output devices. The controller cycle run-time depends on “input-output” operation time and processor module running speed
23
PLC DESIGN TOOLS
24
Instrumented system titles Manufacturing company CoDeSys Smart Software Solutions, Germany OpenDK Infoteam Software, Germany ACCON-ProSys Deltalogic, Germany SUCOsoft S340 Klokner-Moeller, Germany PUMA KEBA, Austria PDS7 Philips, the Netherlands NAIS CONTROL Matsushita AC, Germany Soft Control Softing, Germany SELECONTROL Selectron Lyss, Switzerland Concept Schneider Electric, France ISaGRAF CJ International, France
BUILT-IN EDITOR
A compiler routine is usually called a built-in editor. Its purpose is to read out programs written in IEC 61131-3 standard languages, and to convert text or graphic code into a machine code.
25
TEXT EDITOR
- Fast entry of text elements, possibility to map hotkey patterns that
are able to provide the patch of commands, functions, function units and other standard elements
- Fully automatic appending of input data, i.e. in declaration part it is
possible to declare variables in concise form, and after the end they are converted into the required form
- Automatic declaration of variables. If a new identity is used in
program code, there is automatically a window for its declaration using which it is possible to specify the variable mode, type, starting value and etc.
26
TEXT EDITOR
- Possibility to present the declaration part variables in various forms
(text, table)
- Fully automatic code indenting and its syntax checking, text editor
highlights the code, commands, comments, redundant words and
- etc. with different colors
- Line numbers in automatic
27
GRAPHIC EDITOR
- Automatic routing of program blocks connecting lines
- Automatic program components layout. It is correct for programs developed in
LD, FBD and SFC languages. And for CFC CoDeSys language, the developer identifies the component layout in program himself thus prioritizing these components execution
- Algorithmical loop numbering in automatic
- Possibility to copy, to paste and to move the highlighted graphic program
elements
- Program code image shrinkage on the screen to present it better or to review
it in more detail
- In online mode the activation networks and variables are given in bold and
highlighted by other color
- In online mode the input values that can be recopied (in case if the input block
parameter is set by a variable) are shown on blocks
28
PROJECT MANAGER
- Presentation of all developed project components and its structure
- Project components operation (development, renaming, transmission,
copying, deleting)
- Project resources setting
- Project library management (login of existing libraries, development and
adding of associated libraries)
- Project hardcopy preparation that includes:
- Textual representation;
- Project components and variables declaration part description;
- Developed project resources – PLC format, global variables list and
description, project tasks list, attached libraries list
- Project variables cross references list
29
PLC STRUCTURE
30
Project tree The source environment to develop the PLC code has a well-defined
- structure. The tree or design structure are displayed in project
manager while its development.
TASKS
The tasks main goal is to manage the project program performance executed by a PLC processor. Every task has a personal unique identity (its name). A separate task can manage the whole range of programs that are executed in every PLC cycle. It is possible to create several tasks both of similar and different types within
- ne project.
31
TASKS
32
task attributes task manager
RESOURCES
This resource includes a processor and its native runtime system where the reviewed tasks are downloaded.
33
project resources
RESOURCES
- Declaration part of directly addressable and global
variables
- Attachable libraries manager
- PLC configuration tool
- System target settings: microprocessor type, memory
layout, network parameters, and other settings
- Tasks manager
34
FORMAT
The format intermixes a variety of resources that follow a certain
- law. One system can contain several resources, each of them has
a processor, a memory and a runtime system in hand. Such resources can be true appliances remote from each other, and they can also be virtual that are emulated by one process. All these appliances have an access to a certain hardware base (input-output modules), and their performance and collaboration are coordinated via the project global variables.
35
FORMAL AND CURRENT PARAMETERS
Component name, its input and output variables form the component
- interface. The input parameters are called formal. When the
component is used, the external variables that have certain values are connected to the input variables and such parameters are called
- current. Thus, when the component is called, its parameters have
current values that are delivered to the component, processed according to the algorithm inside this component and then the values that are recorded as current parameters, are output.
36
COMPONENT VARIABLES
Declaration part of component variables contains several types
- f variables: VAR_INPUT, VAR_OUTPUT, VAR, VAR_IN_OUT
37
declaration part of component variables
FUNCTIONS
Function is a program component that displays a variety of input values at the output. The function always returns only one value (that can consist of several elements if it is a bit field or a layout). The variable name is a kind of output variable where the calculation data are written. When the function is declared, the type of a return value, the function name and input parameters are designated.
38
FUNCTION BLOCKS
Function block is a program component that accepts, processes and returns any quantity of values. A function block instance is called in a program code. Rather than functions, the function blocks do not form the return values. After the function block instance execution all values of its variables are saved up to the next call-in. As the function blocks have an internal memory and keep the variables values, the called instances with the similar input data can have variable output data.
39
PROGRAMS
Program is a global program component that is able to form the don’t care values at the time of calculations. All variable values are saved after the program execution and are kept up to the next call-in. Rather than function blocks, the programs do not have instances, they are global components of the whole project and are set at the project resources level.
40
IL LANGUAGE
IL language (Instruction list) – a list of instructions. It is a common assembler program with a result register and tab
- transitions. The set of instructions is standard and does not
depend on a well-defined target. Each instruction is recorded on a separate line. Instruction can include four fields separated by the space bar spaces or tabulation characters: tab: statement
- perand comment
41
RESULT REGISTER
- The majority of IL instructions executes some
- peration with the result register content
- IL result register content is a general-purpose
container that is able to save the variables values of any type
42
TAB TRANSITION
IL program is executed without interruption, downwards. To change the cycles execution order the tab transition is used.
LD 1 (*value download in a result register*) ST Counter (*result register value assignment to a variable*) loop1: LD Counter (*Counter download to result register*) ADD 1 (*addition of 1 to result register*) ST Counter (*result register value assignment to Counter*) LE 5 (*result register value check <= 5*) JMPC loop1 (*tab transition*)
43
BRACKETS
The consecutive order of IL instructions execution can be changed with the help of brackets. The opening bracket is put in instruction after the execution. The closing bracket is put in a separate line. Instructions put in brackets are executed first of all.
LD 5 MUL (2 SUB 1 ) ST y (*y=5*(2-1)=5*) LD 5 MUL 2 SUB 1 ST y (*y=5*2-1=9*)
44
MODIFIERS
45
statement modifier description LD N Download the operand value in result register ST N Assign the result register value to the operand S If the result register is TRUE, install the logical operand (TRUE) R If the result register is TRUE, discard the logical operand (FALSE) AND N, ( Bitwise-AND OR N, ( Bitwise-OR XOR N, ( Bitwise-OR NOT Result register bitwise converse ADD ( Addition SUB ( Subtraction MUL ( Multiplication DIV ( Division
MODIFIERS
46
statement modifier description MOD ( Division modulo GT ( > GE ( >= QE ( = NE ( < > LE ( <= LT ( < JMP CN Tab transition CAL CN Function block calling RET CN POU exit and retrieve to the called program
ST LANGUAGE
ST language (Structured Text) – a high level language. Syntactically ST language is a Pascal tailored language. Instead of Pascal algorithm St language uses the components of IEC standard programs.
47
LD LANGUAGE
- Ladder diagram language (LD) or relay contact circuit
language (RCC) – a graphic language that carries out electric circuits structures.
- LD-diagram is presented as two column power rails.
There some circuits between them that are formed by contact points spiking. Relay is a circuit load. Every relay has contact points that can be used in other circuits.
48
LD LANGUAGE
49
indication
Normally open contact Normally close contact Relay winding
USED
FBD LANGUAGE
FBD (Function Block Diagram) – a graphic programming
- language. FBD diagram contains components that are
displayed by means of rectangles on the diagram. POU inputs are displayed on the left of the rectangle, the
- utputs – on the right. The POU type and input-output
indications are displayed inside the rectangle.
50
CONNECTING LINES
POU rectangles in FBD are connected by connecting
- lines. Connections are directed from left to right. Block
input can be connected to the block output that is on its left. Besides that, the input can be connected to the variable or to the constant. This connection should link variables or inputs and outputs of one type. Unlike the component, the variable is shown on a diagram without a rectangular frame.
51
EXECUTION ORDER
FBD-circuits execution is done from left to right, downwards. The blocks that are on the left are executed before. The block starts to be calculated when the values of all its inputs are calculated. The further calculations won’t be done until the values at all
- utputs are calculated. In other words, the values at all picture
box outputs appear simultaneously. The circuit calculation is considered completed only when the values at all its elements
- utputs are calculated.
52
NOT-SIGNAL
The logic signal inversion in FBD is displayed as a circumference on connection, before the input or the
- variable. Inversion is not a characteristic of the block
itself and can be easily added or cancelled in the diagram.
53
CONNECTORS
Connectors are a named connection that can be broken and transferred in the next circuit. Such method can be useful at a determined width of FBD editor window. The standard does not ban connections that go from the block
- utput to their input or to the input of blocks that were executed
- before. The feedback does not form a cycle that is similar to FOR.
It means that some calculated value is transferred to the input when the diagram is called next time.
54
TABS AND TRANSITIONS
The diagram FBD-circuits execution order can be forcedly changed using the tabs and transitions exactly as in relay wiring. The tab is put at the beginning of any circuit and it is a name of this circuit. The circuit can contain only one tab. The tab names follow the common rules of IEC identifier
- naming. The graphic editor numbers automatically the
diagram circuits. This numbering is applied only to document and cannot replace the tabs.
55
SFC LANGUAGE
In IEC language family the SFC (Sequential Function Chart) diagrams are higher than other four languages. The SFC diagrams are a high level graphic tool.
56
INCREMENT SIZES
The increment sizes in SFC programs are displayed as
- rectangles. An actual increment size action is described
in a programming system separate window and is not displayed in the diagram. The name of the SFC increment size or, if it is not enough, a brief text description (comment) show its purpose.
57
TRANSITIONS
There is a horizontal line below the increment size on the connecting line that defines a transition. A logic variable, a logical expression, the constant or a direct address can be transition condition. The transition is done if two conditions are followed:
- Transition is permitted ( the corresponding increment size is
active);
- Transition condition has a TRUE value.
58
SIMULTANEOUS BRANCHES
59
1 2 3 4
In theory the simultaneous branches are executed at the same time. It means – in one cycle, from left to right. The transition condition that proceeds the concurrency to completion is checked only if the last increment sizes are active in each simultaneous branch.
ALTERNATIVE BRANCHES
60
1 2 3 4 a b c d e f
Every alternative branch starts and finishes with its own transition condition. The alternative conditions check is executed from left to right.
ARITHMETIC STATEMENTS
61
statement symbol action Parameter types ADD + Addition ANY_NUM, TIME SUB – Subtraction ANY_NUM, TIME MUL * Multiplication ANY_NUM, TIME DIV / Division ANY_NUM, TIME MOD MOD Residue ANY_INT ЕХРТ ЕХРТ Exponentiation IN1 ANY_NUM, IN2 ANY_INT MOVE := Assignment ANY
BIT SHIFTING STATEMENTS
62
statement action SHL Bit shifting of IN operand to the left by N bits, with zero extension to the right SHR Bit shifting of IN operand to the right by N bits, with zero extension to the left ROR End-around shifting of IN operand to the right by N bits, high bits are replaced by low bits ROL End-around shifting of IN operand to the left by N bits, low bits are replaced by high bits
LOGICAL BIT STATEMENT
63
statement action AND Bitwise AND OR Bitwise OR XOR Bitwise exclusive OR NOT Bitwise NOT
SWITCH AND DELIMITER STATEMENTS
64
Text format Action Parameter types OUT:= SEL(G, IN0, IN1) Binary choice: OUT = IN0 when G = FALSE OUT = IN1 when G = TRUE IN0, IN1: ANY, G: BOOL OUT:= MAX(INO, INI) The highest value ANY OUT:= MIN(INO, INI) The lowest value ANY OUT:= LIMIT(Min, IN, Max) Sentinel: OUT = MIN(MAX(IN,Min),Max) ANY OUT:= MUX(K, IN0,..,IN(K-1)) Multiplexer: OUT = INK IN: ANY K: ANY_INT
COMPARATIVE OPERATORS
65
- perator
symbol action GT > above GE >= above or equal EQ = equal LE <= less than or equal LT < less than NE <> non-equal
MATH FUNCTIONS
66
statement action parameter type ABS Absolute value of a number ANY_NUM SQRT Square root of a number ANYREAL LN Natural logarithm of a number ANYREAL LOG Decimal logarithm of a number ANYREAL EXP Exponential ANYREAL SIN Sine ANYREAL COS Cosine ANYREAL TAN Tangent ANYREAL ASIN Arcsine ANYREAL ACOS Anticosine ANYREAL ATAN Arctangent ANYREAL
STRING FUNCTIONS
67
INT:= LEN(STR) return the string length STR:= LEFT(STRING STR, INT SIZE) return the STR left part in SIZE STR:= RIGHT(STRING STR, INT SIZE) return the STR right part in SIZE STR:= DELETE(STRING STR,INT LEN,INT POS) return STR, deleting LEN symbols from POS position STR:= MID(STRING STR, INT LEN, INT POS) return STR part from POS with the length LEN STR:= CONCAT(STRING STR1, STRING STR2) return STR strung concatenation:= STR1 + STR2 STR:= INSERT(STRING STR1, STRING STR2, INT POS) return STR1 with the attached STR2 in POS position STR:= REPLACE(STR1, STRING STR2, INT LEN, INT POS) return STR1, replacing LEN symbols, from POS position to STR2 INT:= FIND(STRING STR1, STRING STR2) return STR2 position in STR1 string. If STR2 is not found, return 0
TIMER CHIPS
PLC timer chips differ from timer chips that are applied in general purpose languages. In computer programming languages there are the delay functions that lead to program execution suspension at a time target. In IEC standard there is no timer chip that is able to suspend the PLC performance. Imagine that some signal arrives at a controller input. The same signal arrives at the second input but via a delay hardware module. The standard timer chips work that way. The time delay influences
- nly the output signals shaping and does not provoke any
program slow-up.
68
TP TIMER CHIP
69
TP IN BOOL BOOL Q PT TIME TIME ET
t t t IN Q PT ET
TOF TIMER CHIP
70
TOF IN BOOL BOOL Q PT TIME TIME ET
t t t IN Q PT ET
TON TIMER CHIP
71
TON IN BOOL BOOL Q PT TIME TIME ET t t t IN Q PT ET
REAL-TIME CLOCK
72
RTC EN BOOL BOOL Q PDT D_A_T D_A_T CDT
When a block instance is developed, EN input is equal to FALSE, Q output is equal to FALSE, and CDT output is equal to DT#1970-01-01-00-00:00:00. The PDT start time is downloaded
- ver the EN leading edge and the sampling starts. While the
clock works, the output Q = TRUE. If EN becomes FALSE, CDT will take the starting value.
FLIP FLOPS
The SR and RS flip flops performance can be easily understood in equivalent to electric devices. For instance, an electrical starter. To switch it is necessary to have two buttons “START” and “STOP”. These buttons do not have any mechanical fixing, the switching is executed by the button short push. The starting switch sets its condition.
73
SR MAKING DOMINANT FLIP FLOP
74
SR SET BOOL BOOL Q RESET BOOL
t t SET RESET Q t
RS RESETTING DOMINANT FLIP FLOP
75
RS SET BOOL BOOL Q RESET BOOL
t t SET RESET Q t
LEADING EDGE DETECTOR
76
R_TRIG CLK BOOL BOOL Q
t t CLK Q
BACK EDGE DETECTOR
77
F_TRIG CLK BOOL BOOL Q
t t CLK Q
CTU INCREMENTER
78
CTU CU BOOL BOOL Q RESET BOOL PV WORD WORD CV
For every edge the CU increment value (CV output) is increased by 1 at the input. Q output is set in TRUE when the increment reaches or exceeds the PV preset threshold. The logical unit shuts the calculation and zeroes the increment (CV:=0) at the reset input (RESET = TRUE).
CTD DECREMENTER
79
CTD CD BOOL BOOL Q LOAD BOOL PV WORD WORD CV
For every edge the CD decrement (CV output) is decreased by 1 at the output. Q output is set in TRUE when the decrement reaches the zero point. The CV decrementer is loaded with the starting value that is equal to PV at the input LOAD = TRUE.
CTUD INCREMENTER / DECREMENTER
80
CTUD CU BOOL BOOL QU CD BOOL BOOL QD RESET BOOL LOAD BOOL PV WORD WORD CV
When the input value is RESET = TRUE, the CV incrementer/decrementer is reset to zero. When the input value is LOAD = TRUE, the CV incrementer/ decrementer is loaded with the value equal to PV. At the edge of CU input the incrementer/ decrementer is increased by 1. At the edge of CD input the incrementer/ decrementer is decreased by 1 (up to zero). The QU output is equal to TRUE, if CV >= PV, or FALSE. The QD
- utput is equal to TRUE, if CV = 0, or FALSE.
INTEGRALS BITWISE ACCESS
- EXTRACT function of BOOL type has 2 parameters: DWORD X и BYTE N. It
returns TRUE if N bit in X numeral is equal to 1, if not – FALSE. The bit numbering starts with 0.
- The function of DWORD type has 2 parameters: DWORD X, BYTE N and
BOOL В. This function returns X with bit N set in 1 if B equals TRUE. Otherwise, the set bit takes the value of 0.
- The blockage of eight logical variables in one byte. The PACK function gets
eight parameters В0, В1,.. В7 of BOOL type. The returned value of BYTE type contains bitwise packed values of input parameters.
- Byte deblocking in eight logical variables. UNPACK function block has one
input of BYTE type and eight outputs of BOOL type that execute the reactive deblocking towards PACK.
81
HYSTERESIS
82
HYSTERESIS IN INT BOOL OUT HIGH INT LOW INT
t t IN HIGH LOW OUT
LIMIT ALARM
83
LIMITALARM IN INT BOOL O HIGH INT BOOL U LOW INT BOOL IL
t t IN HIGH LOW O t U t IL
SIGNAL UPDATE RATE LIMIT
84
RAMP IN INT, REAL INT, REAL OUT ASCEND INT, REAL DESCEND INT, REAL TIMEBASE TIME RESET BOOL
The function block RAMP limits the signal update rate. If a new input value increased less than by ASCEND in comparison with the previous one or decreased within DESCEND, the signal is transmitted without
- bstacles to the output. If the signal increase or decrease are too fast, its update
is limited. TIMEBASE sets the time over which the limit is determined. An immediate output change is calculated the way that the preset amount does not exceed the set limits. If TIMEBASE equals t#0s, one instance fetch cycle of a function block is used as an amount.
DEPENDENCY INTERPOLATION
85
CHARCURVE IN INT INT OUT N BYTE BYTE ERR P ARRAY
CHARCURVE function block executes the straight-line dependency interpolation that is set by an anchor point value
- vector. An interpolation means dependency value calculation
that is set by anchor points between these points.
DERIVATIVE
86
DERIVATIVE IN REAL REAL OUT TM DWORD RESET BOOL T0 T1 T2 y1 y0 y2 y3
INTEGRATION
87
INTEGRATION IN REAL REAL OUT TM DWORD BOOL OVERFLOW RESET BOOL
The output Out gives an integral value. The Overflow (Bool) output signals about an overload of the Out variable highest value of Real type. Before the calculations it is necessary to reset. Then, the set integration interval is divided into several small parts. The integral value is calculated by means of cyclic summation. At every function block instance call, it gets a new IN value at the input and a corresponding time increment (TM). The integral is calculated approximately by a rectangle method. The integral value is approximately equal to the rectangle square sum. The reset is done by setting the RESET input value at TRUE, it causes the Сброс выполняется установкой значения входа RESET в TRUE, он вызывает обнуление суммы и снимает признак переполнения.
PID CONTROLLER
88
where Y0 – value at zero error (starting value), Kp – proportional gain, Tn – integration constant, Tυ – derivative action time.
PID CONTROLLER
89
Input Data type Description ACTUAL REAL feedback signal SET_POINT REAL specification КР REAL transmission coefficient TN DWORD integration constant (msec) TV DWORD derivative action time (msec) Y_MANUAL REAL manual specification Y_OFFSET REAL steady-state value Y_MIN REAL minimum valid value Y_MAX REAL maximum valid value MANUAL BOOL manual feed RESET BOOL reset action
PID CONTROLLER
90
Output Data type Description Y REAL control action LIMITS_ACTIVE BOOL threshold value achieving flag OVERFLOW BOOL
- verflow error flag
CONTROLLER PARAMETERIZATION
- Ziegler- Nichols method
- Shubladze method
- Kuhn method
- Schedel method
91
ZIEGLER – NICHOLS METHOD
1. Logout of PID-controller integral and derivative components. 2. Increase of kп with a specification concurrent step-wise signaling up to continuous waves occurrence with period Tкр in system. 3. PID-controller parameter determination by the following formula:
92
SHUBLADZE METHOD
- Proportional adjustment coefficient is determined by the
following formulae:
93
- Integrated adjustment coefficient is determined by the
following formulae:
- Differential adjustment coefficient is determined by the
following formulae:
KUHN METHOD
- The setting determination is done by a total time constant
94
1 2 1 2
.. ..
n d d d m t
T T T T T T T T
- The point definition with coordinates (t1,h1) and (t2,h2) on the transient
behavior curve. The calculation of values T1 and Tt:
2 1 1 1 1 2
, ln(1 ) , ln
i t i s s s
h t t T T T t k h k k h
- The calculation of a total time constant:
1
.
t
T T T
- The calculation of PID-controller fudge factors:
SCHEDEL METHOD
- PID-controller coefficients are set the way that the system damping
coefficients are:
95
1
2, 0,5 3
- The controlled object is approximated by the following transfer function:
3 3 2 2 3 2 1
( ) 1 k W s T s T s T s
- PID-controller parameters are calculated by the following formula:
HIGHS AND LOWS
- The method choice should be based on control object characteristics and
requirements to the synthetic system
- To provide a higher system performance it is better to use Ziegler-Nichols
- r Schedel adjustment methods
- For processes without an overshoot it is more efficient to use the PID-
controllers set by Kuhn and Shubladze methods
- The common disadvantage of existing methods is control objects
approximation by models that contain neither zeros nor lag elements
- The lack of connection between controller fudge factors and system
quality direct indices
96
USER INTERFACE
The interface between a human and a system is called a human- computer interface (HCI). When a human-computer interface is designed for human interaction with a computer-aided processing procedure, it is called SCADA. This term is literally translated as “supervisory control and data acquisition”, but in practice it is interpreted much wider, and the modern SCADA bursts include a wide range of functionalities that is wider than a supervisory control and data acquisition.
97
SCADA FUNCTIONS
- SCADA adjustment to a definite task (i.e. automation system
software component development)
- Dispatch control
- Automatic control
- Workflow history holding
- Safety function execution
- Systemic function execution
98
ALARMS
99 accident attention norm attention accident blind spot
INTERFACE DEVELOPMENT
- Development of a graphic interface (mnemonic diagrams,
charts, tables, popup windows, command entry elements and etc.)
- Programming and automation system operating procedure
- debugging. Many SCADAs allow to perform the system
debugging in equipment compatibility mode as well as with connected equipment
- An
intercommunicating system adjustment (networks, modems, communication controllers and etc.); data bases development and SCADA connection
100
DISPATCH CONTROL
- Interaction with a statement (visual and auditory information output,
Взаимодействие с оператором (выдача визуальной и слуховой информации, transmission to the statement machine code)
- Assistance in decision making (expert system functions)
- Accidents and emergencies automatic signaling
- Informative messages output at operator’s control panel
- Event logging
- Information exploding and its representation in a human-friendly format
- Report generation (for instance, temperature table, operator shift
schedule, operator action list printing)
- Technological equipment life length recordkeeping
101
SCADA AS ACS
- Automatic control
- Operation sequence control in automation system
- Adjustment to modification of production process behavior
conditions
- Automatic blocking of executive units at previously specified
conditions execution
102
WORKFLOW HISTORY
- Data collection and processing (digital filtering, interpolation,
compression, normalization, scaling and etc.)
- Data backup (operator actions, collected and processed data,
events, alarms, charts, screen forms, configuration files, reports and etc.)
- Database management (real-time and archive)
103
SCADA SAFETY
- System access security between various categories of users (a shift
- perator, technician, programmer and director should have different data
and system adjustment modification access permissions)
- Data security (by means of data encryption and communication protocols
privacy protection)
- Operator security due to his distance from a dangerous controlled process
(dispatch control). A remote monitoring and dispatch control are common requirements of Federal Service for Environmental, Technological and Nuclear Oversight of Russia and are executed via a wired network, radio channel (via GSM or wireless modem), Internet and etc.
- Special protection method from cyber attacks
- Firewall application
104
SCADA CHARACTERISTICS
- Tool properties
- Performance characteristics
- Openness characteristics
- Cost-effectiveness
105
TOOL PROPERTIES
- Project development rate
- Assimilation simplicity
- Supported means of communication
- Existence of complicated data processing functions
- Existence of IEC 61131-3 languages and a general-purpose algorithmic
programming language such as Visual Basic
- Developer openness level (COM and ActiveX support to attach user
programming modules, and OPC, ODBC, OLE DB)
106
TOOL PROPERTIES
- Engineering data quality (comprehension, clarity of presentation, error
rate)
- Compatibility mode existence of debugging equipment
- Existence of internal graphics editors that allow to abandon the use of
external editors such as CorelDraw or Photoshop
- Common file graphical format support
- Technical support quality (users questions response time, existence of
technical support hotline
107
PERFORMANCE CHARACTERISTICS
- Robustness (user errors insensitivity, vandals and hostile elements security,
fault tolerance in master data)
- Reliability
- Information protection
- Hold facilities availability at exceptions, power-offs and failures
- Reboot automatic machine availability at its buzz or after a power-off
- SCADA backup maintenance (operator control station, network servers, client
workstations, data backup)
- Screen switch maintenance with different zoom
- Several displays maintenance
108
OPENNESS LEVEL
Openness to program is provided by the possibility to attach program modules written by the user or other users. It is usually
- btained by the fact that SCADA is developed as a COM-object
and ActiveX-elements container. The equipment and databases compatibility of other manufacturers is reached by means of OPC standard, ODBC or OLE DB interface use. The programming system openness is obtained by IEC 61131-3 languages maintenance.
109
COST EFFECTIVENESS
- Scalability (the possibility to apply for both large and small systems)
- Modularity. The modularity allows to create a customer-built system
complement in accordance with the original problem. The common modules are input-output module, rendering husk, alarms module, trends module, reports module, energy supply revenue metering module and
- thers
- Maintenance cost
- Release update requirements
- Supplier reliability, operational experience
- Tuition cost
- Maintenance cost
- Pricing methods
110
OPC STANDARD
OPC main objective is to provide the automation facilities that run on different hardware platforms, in different field bus networks and that are produced by different companies with the possibility to coact.
111
OPC STANDARD
- ОРС DA (ОРС Data Access) – a technical data sheet to exchange data
between a client (SCADA, for instance) and an equipment (controllers, input-output modules and others) in real time
- ОРС Alarms & Events (А&Е) – a technical data sheet to inform the client of
events and alarm signals that are sent to a client as they arise. This server sends alarm signals, operator actions, messages and system state control results
- ОРС HDA (Historical Data Access) – a technical data sheet to access the
process historical data ( to the saved data). The server provides a unified access technique by means of DCOM technologies. It provides reading, recording and change of data
112
OPC STANDARD
- ОРС Batch – a technical data sheet for special physico-chemical
technological metal working processes that are not continuous. In such processes the input of several types of raw materials is executed within specified proportions according to the formula, the operating modes are set and a new batch is input when the operating and discharging cycle is
- executed. ОРС-server executes the formula exchange between a client and
a server, technical equipment characteristics, operating conditions and results
- ОРС Data eXchange – a technical data sheet for data exchange between
two ОРС DA-servers via Ethernet network
- ОРС Security – a technical data sheet that determines the clients access
methods to the server that provide the important data security from an unapproved modification
113
OPC STANDARD
- ОРС XML-DA – a set of flexible matching rules and formats to present
primary data by means of XML language, web technologies and SOAP messages
- ОРС Complex Data – supplementary specifications to ОРС DA and XML-DA
that allow the servers to deal with complicated types of data such as binary structures and XML-documents
- ОРС Commands – a set of program interfaces that allows OPC clients and
servers to identify, send and control commands that are executed in a technological device (controller, input-output module)
- ОРС Unified Architecture – a brand new set of specifications that is not
already based on DCOM technology
114
OPC - SERVER
- In-sync state: a client makes request to a server and waits for reply
- Out-of-sync state: a client makes request and immediately goes over to other
- tasks. When a query and response function is executed a server reports to a
client and the former gets the provided data
- Subscription mode: a client lets a server know a list of tags the values of which
the server must send to the client only in case of their change. The notion of “blind spot” is introduced and it exceeds the highest probable noise waves peal-to-peak separation
- Update mode: a client rings up a simultaneous reading of all current tags.
Current are all tags apart from those that are indicated as “dead”. Such classification of tags decreases the processor loading by warm-up that is input from a physical device
115
OPC DA - SERVER
- Search of equipment that is attached to the fieldbus network
- Equipment characteristics setting (name, address, data
exchange rate, watchdog timer period, hash total availability and others)
- Development of a tag name hierarchical view
- Tag value observation
- OPC-server access right control
116
OPC HDA - SERVER
- Historical data server to develop graphs (trends)
- Server to store data packed adapted to processing and
analysis. Processing and analysis functions are a determination of average, lowest and highest value and etc. data management is a data reading, recording and change.
117