SOFTWARE SERIES OF LECTURES EFIMOV S.V. ACS CONCEPT Automatic - - PowerPoint PPT Presentation

software
SMART_READER_LITE
LIVE PREVIEW

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


slide-1
SLIDE 1

COMPUTER-AIDED SYSTEM SOFTWARE

SERIES OF LECTURES EFIMOV S.V.

slide-2
SLIDE 2

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

slide-3
SLIDE 3

ACS CLASSIFICATION

  • Information systems
  • Control systems

3

slide-4
SLIDE 4

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

slide-5
SLIDE 5

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

slide-6
SLIDE 6

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

slide-7
SLIDE 7

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

slide-8
SLIDE 8

ACS FUNCTIONS

8

  • Data processing functions
  • Control functions
slide-9
SLIDE 9

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

slide-10
SLIDE 10

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

slide-11
SLIDE 11

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

slide-12
SLIDE 12

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

slide-13
SLIDE 13

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

slide-14
SLIDE 14

ACS COMPOUND

  • Maintenance support
  • Mathematical support
  • Information support
  • Organization support

14

slide-15
SLIDE 15

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

slide-16
SLIDE 16

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

slide-17
SLIDE 17

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

slide-18
SLIDE 18

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

slide-19
SLIDE 19

ACS COMPONENTS

19 Organization support Operating staff Mathematical support: · algorithmic · software Information support Input data Output data Maintenance support Computer aids

ACS components liaison

slide-20
SLIDE 20

IEC 61131 STANDARD

  • 1. Overview
  • 2. Equipment and test requirements
  • 3. Programming languages
  • 4. User’s manuals
  • 5. Message development

20

slide-21
SLIDE 21

STANDARD LANGUAGES

  • IL – Instruction List
  • LD – Ladder Diagram
  • SFC – Sequential Function Chart
  • ST – Structured Text
  • FBD – Functional Block Diagram

21

slide-22
SLIDE 22

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

slide-23
SLIDE 23

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

slide-24
SLIDE 24

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

slide-25
SLIDE 25

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

slide-26
SLIDE 26

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

slide-27
SLIDE 27

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

slide-28
SLIDE 28

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

slide-29
SLIDE 29

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

slide-30
SLIDE 30

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.

slide-31
SLIDE 31

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

slide-32
SLIDE 32

TASKS

32

task attributes task manager

slide-33
SLIDE 33

RESOURCES

This resource includes a processor and its native runtime system where the reviewed tasks are downloaded.

33

project resources

slide-34
SLIDE 34

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

slide-35
SLIDE 35

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

slide-36
SLIDE 36

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

slide-37
SLIDE 37

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

slide-38
SLIDE 38

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

slide-39
SLIDE 39

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

slide-40
SLIDE 40

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

slide-41
SLIDE 41

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

slide-42
SLIDE 42

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

slide-43
SLIDE 43

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

slide-44
SLIDE 44

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

slide-45
SLIDE 45

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

slide-46
SLIDE 46

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

slide-47
SLIDE 47

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

slide-48
SLIDE 48

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

slide-49
SLIDE 49

LD LANGUAGE

49

indication

Normally open contact Normally close contact Relay winding

USED

slide-50
SLIDE 50

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

slide-51
SLIDE 51

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

slide-52
SLIDE 52

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

slide-53
SLIDE 53

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

slide-54
SLIDE 54

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

slide-55
SLIDE 55

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

slide-56
SLIDE 56

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

slide-57
SLIDE 57

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

slide-58
SLIDE 58

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

slide-59
SLIDE 59

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.

slide-60
SLIDE 60

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.

slide-61
SLIDE 61

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

slide-62
SLIDE 62

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

slide-63
SLIDE 63

LOGICAL BIT STATEMENT

63

statement action AND Bitwise AND OR Bitwise OR XOR Bitwise exclusive OR NOT Bitwise NOT

slide-64
SLIDE 64

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

slide-65
SLIDE 65

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

slide-66
SLIDE 66

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

slide-67
SLIDE 67

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

slide-68
SLIDE 68

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

slide-69
SLIDE 69

TP TIMER CHIP

69

TP IN BOOL BOOL Q PT TIME TIME ET

t t t IN Q PT ET

slide-70
SLIDE 70

TOF TIMER CHIP

70

TOF IN BOOL BOOL Q PT TIME TIME ET

t t t IN Q PT ET

slide-71
SLIDE 71

TON TIMER CHIP

71

TON IN BOOL BOOL Q PT TIME TIME ET t t t IN Q PT ET

slide-72
SLIDE 72

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.

slide-73
SLIDE 73

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

slide-74
SLIDE 74

SR MAKING DOMINANT FLIP FLOP

74

SR SET BOOL BOOL Q RESET BOOL

t t SET RESET Q t

slide-75
SLIDE 75

RS RESETTING DOMINANT FLIP FLOP

75

RS SET BOOL BOOL Q RESET BOOL

t t SET RESET Q t

slide-76
SLIDE 76

LEADING EDGE DETECTOR

76

R_TRIG CLK BOOL BOOL Q

t t CLK Q

slide-77
SLIDE 77

BACK EDGE DETECTOR

77

F_TRIG CLK BOOL BOOL Q

t t CLK Q

slide-78
SLIDE 78

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).

slide-79
SLIDE 79

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.

slide-80
SLIDE 80

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.
slide-81
SLIDE 81

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

slide-82
SLIDE 82

HYSTERESIS

82

HYSTERESIS IN INT BOOL OUT HIGH INT LOW INT

t t IN HIGH LOW OUT

slide-83
SLIDE 83

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

slide-84
SLIDE 84

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.

slide-85
SLIDE 85

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.

slide-86
SLIDE 86

DERIVATIVE

86

DERIVATIVE IN REAL REAL OUT TM DWORD RESET BOOL T0 T1 T2 y1 y0 y2 y3

slide-87
SLIDE 87

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, он вызывает обнуление суммы и снимает признак переполнения.

slide-88
SLIDE 88

PID CONTROLLER

88

where Y0 – value at zero error (starting value), Kp – proportional gain, Tn – integration constant, Tυ – derivative action time.

slide-89
SLIDE 89

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

slide-90
SLIDE 90

PID CONTROLLER

90

Output Data type Description Y REAL control action LIMITS_ACTIVE BOOL threshold value achieving flag OVERFLOW BOOL

  • verflow error flag
slide-91
SLIDE 91

CONTROLLER PARAMETERIZATION

  • Ziegler- Nichols method
  • Shubladze method
  • Kuhn method
  • Schedel method

91

slide-92
SLIDE 92

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

slide-93
SLIDE 93

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:

slide-94
SLIDE 94

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:
slide-95
SLIDE 95

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:
slide-96
SLIDE 96

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

slide-97
SLIDE 97

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

slide-98
SLIDE 98

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

slide-99
SLIDE 99

ALARMS

99 accident attention norm attention accident blind spot

slide-100
SLIDE 100

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

slide-101
SLIDE 101

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

slide-102
SLIDE 102

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

slide-103
SLIDE 103

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

slide-104
SLIDE 104

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

slide-105
SLIDE 105

SCADA CHARACTERISTICS

  • Tool properties
  • Performance characteristics
  • Openness characteristics
  • Cost-effectiveness

105

slide-106
SLIDE 106

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

slide-107
SLIDE 107

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

slide-108
SLIDE 108

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

slide-109
SLIDE 109

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

slide-110
SLIDE 110

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

slide-111
SLIDE 111

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

slide-112
SLIDE 112

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

slide-113
SLIDE 113

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

slide-114
SLIDE 114

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

slide-115
SLIDE 115

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

slide-116
SLIDE 116

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

slide-117
SLIDE 117

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