CPC (C ONTINUOUS P ROCESS C ONTROL ) SCADA UNICOS: UN IFIED I NDUSTRIAL CO NTROL S YSTEM CPC (C...

65
UNICOS: UNIFIED INDUSTRIAL CONTROL SYSTEM CPC (CONTINUOUS PROCESS CONTROL) SCADA 1 Marco Boccioli - EN/ICE

Transcript of CPC (C ONTINUOUS P ROCESS C ONTROL ) SCADA UNICOS: UN IFIED I NDUSTRIAL CO NTROL S YSTEM CPC (C...

Page 1: CPC (C ONTINUOUS P ROCESS C ONTROL ) SCADA UNICOS: UN IFIED I NDUSTRIAL CO NTROL S YSTEM CPC (C ONTINUOUS P ROCESS C ONTROL ) SCADA 1 Marco Boccioli -

1

UNICOS: UNIFIED INDUSTRIAL CONTROL SYSTEM

CPC (CONTINUOUS PROCESS CONTROL)

SCADA

Marco Boccioli - EN/ICE

Page 2: CPC (C ONTINUOUS P ROCESS C ONTROL ) SCADA UNICOS: UN IFIED I NDUSTRIAL CO NTROL S YSTEM CPC (C ONTINUOUS P ROCESS C ONTROL ) SCADA 1 Marco Boccioli -

Content• UNICOS SCADA environment• Device SCADA implementation

2

Page 3: CPC (C ONTINUOUS P ROCESS C ONTROL ) SCADA UNICOS: UN IFIED I NDUSTRIAL CO NTROL S YSTEM CPC (C ONTINUOUS P ROCESS C ONTROL ) SCADA 1 Marco Boccioli -

Where we are Specification file

Logic completion

PLC

SCADA

Generation toolUser templates

Instances source files Logic source files

WinCC OA importation file

S7 Instance Generator S7 Logic Generator WinCC OA Instance Generator

WinCC flexibleInstance Generator

WinCC flexibleImportation files

Touch Panel

3

Page 4: CPC (C ONTINUOUS P ROCESS C ONTROL ) SCADA UNICOS: UN IFIED I NDUSTRIAL CO NTROL S YSTEM CPC (C ONTINUOUS P ROCESS C ONTROL ) SCADA 1 Marco Boccioli -

UNICOS HMI

Filter

Applications tree

Devices widgets

4

Page 5: CPC (C ONTINUOUS P ROCESS C ONTROL ) SCADA UNICOS: UN IFIED I NDUSTRIAL CO NTROL S YSTEM CPC (C ONTINUOUS P ROCESS C ONTROL ) SCADA 1 Marco Boccioli -

UNICOS HMIHierarchy

5

Page 6: CPC (C ONTINUOUS P ROCESS C ONTROL ) SCADA UNICOS: UN IFIED I NDUSTRIAL CO NTROL S YSTEM CPC (C ONTINUOUS P ROCESS C ONTROL ) SCADA 1 Marco Boccioli -

UNICOS HMI

HeaderFix area (toolbar)

Process areaSynoptics

Trends

FooterContextual area

6

Page 7: CPC (C ONTINUOUS P ROCESS C ONTROL ) SCADA UNICOS: UN IFIED I NDUSTRIAL CO NTROL S YSTEM CPC (C ONTINUOUS P ROCESS C ONTROL ) SCADA 1 Marco Boccioli -

Device faceplate

7

Page 8: CPC (C ONTINUOUS P ROCESS C ONTROL ) SCADA UNICOS: UN IFIED I NDUSTRIAL CO NTROL S YSTEM CPC (C ONTINUOUS P ROCESS C ONTROL ) SCADA 1 Marco Boccioli -

Device configuration

8

Page 9: CPC (C ONTINUOUS P ROCESS C ONTROL ) SCADA UNICOS: UN IFIED I NDUSTRIAL CO NTROL S YSTEM CPC (C ONTINUOUS P ROCESS C ONTROL ) SCADA 1 Marco Boccioli -

Alarm screen

9

Mode of operation

Filters: object type, alias, etc.

Acknowledge Visible alarms

Page 10: CPC (C ONTINUOUS P ROCESS C ONTROL ) SCADA UNICOS: UN IFIED I NDUSTRIAL CO NTROL S YSTEM CPC (C ONTINUOUS P ROCESS C ONTROL ) SCADA 1 Marco Boccioli -

Layers integration

10

Industrial Supervision Layer

Industrial Control Layer

Object status

Human Requests

SCADA Object HMIParameters

Manual Request

Information display

SCADA

Proxy

Auto. Requests

Object logic

Orders

PLC ObjectObject status

Manual Request

ParametersProcess Inputs

Process

PlantOperator

SCADA Server(s)

CERN Control Room(s)

OWS

Industrial Field Layer

Page 11: CPC (C ONTINUOUS P ROCESS C ONTROL ) SCADA UNICOS: UN IFIED I NDUSTRIAL CO NTROL S YSTEM CPC (C ONTINUOUS P ROCESS C ONTROL ) SCADA 1 Marco Boccioli -

UNICOS SCADA Object Model

11

Object

Operator actionsSCADA configuration

tool

PLC

Operator screen

Requests ParametersInformation

Manual Requests PLC Object Status

Page 12: CPC (C ONTINUOUS P ROCESS C ONTROL ) SCADA UNICOS: UN IFIED I NDUSTRIAL CO NTROL S YSTEM CPC (C ONTINUOUS P ROCESS C ONTROL ) SCADA 1 Marco Boccioli -

UNICOS architecture

12

Application A

UNICORE

UNICOS CPC package

PLCs CPCPLCs

(non CPC)

Application packages

(PIC, CIS, ..)

Application packages

(QPS, SURVEY, ..)

Control layer

UNICOS

Supervision layer

Industrial PC

Cooling & Ventilation

Process Control applications

LHC Collimator

s Interlocks

LHC Gas Control

LHC Cryogenics

Page 13: CPC (C ONTINUOUS P ROCESS C ONTROL ) SCADA UNICOS: UN IFIED I NDUSTRIAL CO NTROL S YSTEM CPC (C ONTINUOUS P ROCESS C ONTROL ) SCADA 1 Marco Boccioli -

UNICOS architecture

13

UNICORE

UNICOS CPC package

Devices implementation

Generation

Animation

Diagnostics

Page 14: CPC (C ONTINUOUS P ROCESS C ONTROL ) SCADA UNICOS: UN IFIED I NDUSTRIAL CO NTROL S YSTEM CPC (C ONTINUOUS P ROCESS C ONTROL ) SCADA 1 Marco Boccioli -

WinCC OA device

14

Device = Data Point Device type = Datapoint Type (structure of the Data Point). Device name = Datapoint Alias

Page 15: CPC (C ONTINUOUS P ROCESS C ONTROL ) SCADA UNICOS: UN IFIED I NDUSTRIAL CO NTROL S YSTEM CPC (C ONTINUOUS P ROCESS C ONTROL ) SCADA 1 Marco Boccioli -

UNICOS SCADA Device

A device type is• Data Point Type• Widget• Faceplate• Import / export functions

15

Page 16: CPC (C ONTINUOUS P ROCESS C ONTROL ) SCADA UNICOS: UN IFIED I NDUSTRIAL CO NTROL S YSTEM CPC (C ONTINUOUS P ROCESS C ONTROL ) SCADA 1 Marco Boccioli -

The Device Implementation• Device structure definition• Importation/exportation

• Library functions for configuring the device

• Widget• Graphical objects drawing• Library functions for animating

• ParamPanel• Faceplate

• Graphical object drawing• Library functions for animating

• Access rights definition• Actions• FW/UN configurations

• Integration within those frameworks

16

UNICORE

UNICOS CPC package

Page 17: CPC (C ONTINUOUS P ROCESS C ONTROL ) SCADA UNICOS: UN IFIED I NDUSTRIAL CO NTROL S YSTEM CPC (C ONTINUOUS P ROCESS C ONTROL ) SCADA 1 Marco Boccioli -

The Device Implementation• Device structure definition• Importation/exportation

• Library functions for configuring the device

• Widget• Graphical objects drawing• Library functions for animating

• ParamPanel• Faceplate

• Graphical object drawing• Library functions for animating

• Access rights definition• Actions• FW/UN configurations

• Integration within those frameworks

17

UNICORE

UNICOS CPC package

Page 18: CPC (C ONTINUOUS P ROCESS C ONTROL ) SCADA UNICOS: UN IFIED I NDUSTRIAL CO NTROL S YSTEM CPC (C ONTINUOUS P ROCESS C ONTROL ) SCADA 1 Marco Boccioli -

PLC – SCADA interface• ProcessInput

• Bits from StsReg for digital inputs• DPEs for analogue inputs (PosSt, …)

• ProcessOutput• Bits in ManReg for digital orders• DPEs for analogue orders (MPosR, …)

18

WinCC OA

PLC

Input Output

Process input data

Process output data

Page 19: CPC (C ONTINUOUS P ROCESS C ONTROL ) SCADA UNICOS: UN IFIED I NDUSTRIAL CO NTROL S YSTEM CPC (C ONTINUOUS P ROCESS C ONTROL ) SCADA 1 Marco Boccioli -

File CPC.dpl

• Device Data Point Type

19

UNICOS CPC package

Device Import/Export library

Dev

def

Page 20: CPC (C ONTINUOUS P ROCESS C ONTROL ) SCADA UNICOS: UN IFIED I NDUSTRIAL CO NTROL S YSTEM CPC (C ONTINUOUS P ROCESS C ONTROL ) SCADA 1 Marco Boccioli -

Unicos Import/Export

20

UNICORE UNICOS CPC package D

ev d

ef

Page 21: CPC (C ONTINUOUS P ROCESS C ONTROL ) SCADA UNICOS: UN IFIED I NDUSTRIAL CO NTROL S YSTEM CPC (C ONTINUOUS P ROCESS C ONTROL ) SCADA 1 Marco Boccioli -

The Device Implementation• Device structure definition• Importation/exportation

• Library functions for configuring the device

• Widget• Graphical objects drawing• Library functions for animating

• ParamPanel• Faceplate

• Graphical object drawing• Library functions for animating

• Access rights definition• Actions• FW/UN configurations

• Integration within those frameworks

21

UNICORE

UNICOS CPC package

Page 22: CPC (C ONTINUOUS P ROCESS C ONTROL ) SCADA UNICOS: UN IFIED I NDUSTRIAL CO NTROL S YSTEM CPC (C ONTINUOUS P ROCESS C ONTROL ) SCADA 1 Marco Boccioli -

WinCC OA importation fileDevice configuration = WinCC OA importation file.

Default information:• Device name• Alias• Description• Nature• Diagnostic• Domain• Device links• Access Control Domain list• Access Control Actions• Html• Widgets list

ImportFile.txt# # Database PVSS generated at 2012.11.28 19:38:17 # # Device type: S7_PLC # #Delete;test;MultiOnOff;PLCCONFIG;S7-300;test;MultiOnOff;01;0;2;10;0;0;10;5000;137.138.192.1;DB100.DBD;# FESystemAlarm (SystemAlarm)# # Database PVSS generated at 2012.11.28 19:38:17 # # Device type: CPC_MultiOnOff # CPC_MultiOnOff;1;MOO1,TEST_PCO1,Feedback1,Feedback2,DO1_MOO1,DO2_MOO1;3 way CPC_MultiOnOff;17;MOO17,TEST_PCO1,Feedback1,Feedback2,AIR1,DO1_MOO17,DO2_MO

22

Page 23: CPC (C ONTINUOUS P ROCESS C ONTROL ) SCADA UNICOS: UN IFIED I NDUSTRIAL CO NTROL S YSTEM CPC (C ONTINUOUS P ROCESS C ONTROL ) SCADA 1 Marco Boccioli -

WinCC OA importation file

Values are stored in Data Point Elements (DPEs).

DPEs families:• ProcessInput• ProcessOutput

DPEs are configured with:• DPE name• DPE description• Format• Unit• Range• Alert config• Archive config• Address• Smoothing

23

Page 24: CPC (C ONTINUOUS P ROCESS C ONTROL ) SCADA UNICOS: UN IFIED I NDUSTRIAL CO NTROL S YSTEM CPC (C ONTINUOUS P ROCESS C ONTROL ) SCADA 1 Marco Boccioli -

24

ImportFile.txt

Importation line mapping

mNm1 m2 mi a1 a2 ai aK

Main Additional

unitPosSt unit

format

PosSt address Mask

value type

parameters

… … … … … … … …

… … … … … … … …

CPC_MultiOnOff;1;MOO1,TEST_PCO1,Feedback1,Feedback2,DO1_MOO1,DO2_MOO1;…

Page 25: CPC (C ONTINUOUS P ROCESS C ONTROL ) SCADA UNICOS: UN IFIED I NDUSTRIAL CO NTROL S YSTEM CPC (C ONTINUOUS P ROCESS C ONTROL ) SCADA 1 Marco Boccioli -

File cpc%DeviceType%Config.ctl

CPC_%DeviceType%_checkConfig()

CPC_%DeviceType%_checkCustomConfig()

CPC_%DeviceType%_setConfig()

CPC_%DeviceType%_setCustomConfig()

25

UNICOS CPC package

Device Import library

Impo

rt

expo

rt

Dev

def

Page 26: CPC (C ONTINUOUS P ROCESS C ONTROL ) SCADA UNICOS: UN IFIED I NDUSTRIAL CO NTROL S YSTEM CPC (C ONTINUOUS P ROCESS C ONTROL ) SCADA 1 Marco Boccioli -

Device Export libraryFile cpc%DeviceType%Config.ctl

CPC_%DeviceType%_getConfig()

CPC_%DeviceType%_getParamNames ()

26

UNICOS CPC package

Impo

rt

expo

rt

Dev

def

Page 27: CPC (C ONTINUOUS P ROCESS C ONTROL ) SCADA UNICOS: UN IFIED I NDUSTRIAL CO NTROL S YSTEM CPC (C ONTINUOUS P ROCESS C ONTROL ) SCADA 1 Marco Boccioli -

27

Unicos Import/Export

UNICORE

Page 28: CPC (C ONTINUOUS P ROCESS C ONTROL ) SCADA UNICOS: UN IFIED I NDUSTRIAL CO NTROL S YSTEM CPC (C ONTINUOUS P ROCESS C ONTROL ) SCADA 1 Marco Boccioli -

Unicos Import/Export libraryFile unicosImportDevice.ctl

• unicosImportDevice_check()• …• unicosImportDevice_import()• unicosImportDevice_export()

28

UNICORE

Impo

rt

expo

rt

Page 29: CPC (C ONTINUOUS P ROCESS C ONTROL ) SCADA UNICOS: UN IFIED I NDUSTRIAL CO NTROL S YSTEM CPC (C ONTINUOUS P ROCESS C ONTROL ) SCADA 1 Marco Boccioli -

Unicos Import/Export

29

UNICORE UNICOS CPC package

ImportFile.txt# # Database PVSS generated at 2012.11.28 19:38:17 # # Device type: S7_PLC # #Delete;test;MultiOnOff;PLCCONFIG;S7-300;test;MultiOnOff;01;0;2;10;0;0;10;5000;137.138.192.1;DB100.DBD;# FESystemAlarm (SystemAlarm)# # Database PVSS generated at 2012.11.28 19:38:17 # # Device type: CPC_MultiOnOff# CPC_MultiOnOff;1;MOO1,TEST_PCO1,Feedback1,Feedback2,DO1_MOO1,DO2_MOO1;3 way CPC_MultiOnOff;17;MOO17,TEST_PCO1,Feedback1,Feedback2,AIR1,DO1_MOO17,DO2_MO

Impo

rt

expo

rt

Impo

rt

expo

rt

Dev

def

Page 30: CPC (C ONTINUOUS P ROCESS C ONTROL ) SCADA UNICOS: UN IFIED I NDUSTRIAL CO NTROL S YSTEM CPC (C ONTINUOUS P ROCESS C ONTROL ) SCADA 1 Marco Boccioli -

The Device Implementation• Device structure definition• Importation/exportation

• Library functions for configuring the device

• Widget• Graphical objects drawing• Library functions for animating

• ParamPanel• Faceplate

• Graphical object drawing• Library functions for animating

• Access rights definition• Actions• FW/UN configurations

• Integration within those frameworks

30

UNICORE

UNICOS CPC package

Page 31: CPC (C ONTINUOUS P ROCESS C ONTROL ) SCADA UNICOS: UN IFIED I NDUSTRIAL CO NTROL S YSTEM CPC (C ONTINUOUS P ROCESS C ONTROL ) SCADA 1 Marco Boccioli -

UNICOS Widget • Represent the nature of an object• Color and letter• Body to represent the type of

widget• Pump• Heater• 3WayValve• …

31

Page 32: CPC (C ONTINUOUS P ROCESS C ONTROL ) SCADA UNICOS: UN IFIED I NDUSTRIAL CO NTROL S YSTEM CPC (C ONTINUOUS P ROCESS C ONTROL ) SCADA 1 Marco Boccioli -

32

Color convention

Page 33: CPC (C ONTINUOUS P ROCESS C ONTROL ) SCADA UNICOS: UN IFIED I NDUSTRIAL CO NTROL S YSTEM CPC (C ONTINUOUS P ROCESS C ONTROL ) SCADA 1 Marco Boccioli -

Widget layout

33

Page 34: CPC (C ONTINUOUS P ROCESS C ONTROL ) SCADA UNICOS: UN IFIED I NDUSTRIAL CO NTROL S YSTEM CPC (C ONTINUOUS P ROCESS C ONTROL ) SCADA 1 Marco Boccioli -

Widget interaction• Mouse over• Mouse click

• Select if user authorized: operator minimum

• Mouse double click• Select, open faceplate

• Mouse right click• Menu

• Device selected:• White box around• Contextual button

opened in context area• Device name set in the

footer of the graphicalFrame

34

Device selectedmouse over

Device selected

Device selectedBy another UIM

No action possible

Page 35: CPC (C ONTINUOUS P ROCESS C ONTROL ) SCADA UNICOS: UN IFIED I NDUSTRIAL CO NTROL S YSTEM CPC (C ONTINUOUS P ROCESS C ONTROL ) SCADA 1 Marco Boccioli -

Widget: graphical implementationPanel: CPCWidget_MultiOnOff_3WayValve.pnl• Should contain no logic (i.e. control code)

except• Widget variable definitions• Graphical objects naming convention

• Body1• pos_on• pos_off• …

35

UNICOS CPC package

Impo

rt

expo

rt

Dev

def

Page 36: CPC (C ONTINUOUS P ROCESS C ONTROL ) SCADA UNICOS: UN IFIED I NDUSTRIAL CO NTROL S YSTEM CPC (C ONTINUOUS P ROCESS C ONTROL ) SCADA 1 Marco Boccioli -

Widget: graphical implementation

main()

{

dyn_string exceptionInfo;

unGenericObject_WidgetInit($sIdentifier,

UN_CONFIG_CPC_MULTIONOFF_DPT_NAME,

exceptionInfo);

}

36

Page 37: CPC (C ONTINUOUS P ROCESS C ONTROL ) SCADA UNICOS: UN IFIED I NDUSTRIAL CO NTROL S YSTEM CPC (C ONTINUOUS P ROCESS C ONTROL ) SCADA 1 Marco Boccioli -

37

How does animation workDevice library

Event manager

WinCC OA Driver

dpConnect(f, dpe1, …)

upddpe1, …

updateeval f(dpe1, dpe1value, …)

Page 38: CPC (C ONTINUOUS P ROCESS C ONTROL ) SCADA UNICOS: UN IFIED I NDUSTRIAL CO NTROL S YSTEM CPC (C ONTINUOUS P ROCESS C ONTROL ) SCADA 1 Marco Boccioli -

UNICOS CPC package

MultiOnOff widget animationFile cpcMultiOnOff.ctl

• CPC_MultiOnOff_WidgetRegisterCB• Connect to data

• CPC_MultiOnOff_WidgetInitStatics• initialize static data (unit, format, …)

• CPC_MultiOnOff_WidgetLockDPEs• Lock/unlock device

• CPC_MultiOnOff_WidgetDPEs• specify which DPEs you want to animate

• CPC_MultiOnOff_WidgetAnimation• the animation routine

• CPC_MultiOnOff_WidgetDisconnection• the disconnection routine

38

wid

get

Impo

rt

expo

rt

Dev

def

Page 39: CPC (C ONTINUOUS P ROCESS C ONTROL ) SCADA UNICOS: UN IFIED I NDUSTRIAL CO NTROL S YSTEM CPC (C ONTINUOUS P ROCESS C ONTROL ) SCADA 1 Marco Boccioli -

Widget Primitive functionsFile unGenericObject.ctl

• unGenericObject_WidgetSelectAnimation• unGenericObject_WidgetWarningAnimationDoubleStsReg• cpcGenericObject_WidgetValidnessAnimation• cpcGenericObject_WidgetAlarmTextAnimationDoubleStsReg• cpcGenericObject_WidgetControlStateAnimation• unGenericObject_WidgetDisplayValueAnimation

• …

39

UNICORE

wid

get

Impo

rt

expo

rt

Page 40: CPC (C ONTINUOUS P ROCESS C ONTROL ) SCADA UNICOS: UN IFIED I NDUSTRIAL CO NTROL S YSTEM CPC (C ONTINUOUS P ROCESS C ONTROL ) SCADA 1 Marco Boccioli -

Unicos device widget

40

UNICORE UNICOS CPC package

wid

get

wid

get

Impo

rt

expo

rt

Impo

rt

expo

rt

Dev

def

Page 41: CPC (C ONTINUOUS P ROCESS C ONTROL ) SCADA UNICOS: UN IFIED I NDUSTRIAL CO NTROL S YSTEM CPC (C ONTINUOUS P ROCESS C ONTROL ) SCADA 1 Marco Boccioli -

The Device Implementation• Device structure definition• Importation/exportation

• Library functions for configuring the device

• Widget• Graphical objects drawing• Library functions for animating

• ParamPanel• Faceplate

• Graphical object drawing• Library functions for animating

• Access rights definition• Actions• FW/UN configurations

• Integration within those frameworks

41

UNICORE

UNICOS CPC package

Page 42: CPC (C ONTINUOUS P ROCESS C ONTROL ) SCADA UNICOS: UN IFIED I NDUSTRIAL CO NTROL S YSTEM CPC (C ONTINUOUS P ROCESS C ONTROL ) SCADA 1 Marco Boccioli -

Parampanels• Used in synoptic development on widget adding

to specify DP by alias

42

Page 43: CPC (C ONTINUOUS P ROCESS C ONTROL ) SCADA UNICOS: UN IFIED I NDUSTRIAL CO NTROL S YSTEM CPC (C ONTINUOUS P ROCESS C ONTROL ) SCADA 1 Marco Boccioli -

The Device Implementation• Device structure definition• Importation/exportation

• Library functions for configuring the device

• Widget• Graphical objects drawing• Library functions for animating

• ParamPanel• Faceplate

• Graphical object drawing• Library functions for animating

• Access rights definition• Actions• FW/UN configurations

• Integration within those frameworks

43

UNICORE

UNICOS CPC package

Page 44: CPC (C ONTINUOUS P ROCESS C ONTROL ) SCADA UNICOS: UN IFIED I NDUSTRIAL CO NTROL S YSTEM CPC (C ONTINUOUS P ROCESS C ONTROL ) SCADA 1 Marco Boccioli -

Faceplate layout

44

Status

Ranges

Operation modes

Requests

Alarms

Warnings

Actions

Page 45: CPC (C ONTINUOUS P ROCESS C ONTROL ) SCADA UNICOS: UN IFIED I NDUSTRIAL CO NTROL S YSTEM CPC (C ONTINUOUS P ROCESS C ONTROL ) SCADA 1 Marco Boccioli -

MultiOnOff faceplate

45

Buttons panel

Container

Status panel

Page 46: CPC (C ONTINUOUS P ROCESS C ONTROL ) SCADA UNICOS: UN IFIED I NDUSTRIAL CO NTROL S YSTEM CPC (C ONTINUOUS P ROCESS C ONTROL ) SCADA 1 Marco Boccioli -

46

Color convention

Page 47: CPC (C ONTINUOUS P ROCESS C ONTROL ) SCADA UNICOS: UN IFIED I NDUSTRIAL CO NTROL S YSTEM CPC (C ONTINUOUS P ROCESS C ONTROL ) SCADA 1 Marco Boccioli -

Faceplate colors• Status - cpcColor_Faceplate_Status• Request - cpcColor_Faceplate_Request• Alarm - cpcColor_Alarm_Bad• Warning - unFaceplate_WarningActive• Disconnected - unDataNoAccess

• Specified in animation code.

47

Page 48: CPC (C ONTINUOUS P ROCESS C ONTROL ) SCADA UNICOS: UN IFIED I NDUSTRIAL CO NTROL S YSTEM CPC (C ONTINUOUS P ROCESS C ONTROL ) SCADA 1 Marco Boccioli -

MOnOff faceplate animation cpcFaceplateMultiOnOff.pnl

File cpcMultiOnOff.ctl

• CPC_MultiOnOff_FaceplateInitStatics• init static data

• CPC_MultiOnOff_FaceplateLockDPEs• specify lock dpes

• CPC_MultiOnOff_FaceplateDPEs• specify which dpe you want to animate

• CPC_MultiOnOff_FaceplateStatusAnimationCB• animation routine

• CPC_MultiOnOff_FaceplateStatusDisconnection• disconnection routine

48

UNICOS CPC package

Wid

get

face

plat

eIm

port

ex

port

Dev

def

Page 49: CPC (C ONTINUOUS P ROCESS C ONTROL ) SCADA UNICOS: UN IFIED I NDUSTRIAL CO NTROL S YSTEM CPC (C ONTINUOUS P ROCESS C ONTROL ) SCADA 1 Marco Boccioli -

Unicos device faceplate

49

UNICORE UNICOS CPC package

wid

get

wid

get

Impo

rt

expo

rt

Impo

rt

expo

rt

Dev

def

Page 50: CPC (C ONTINUOUS P ROCESS C ONTROL ) SCADA UNICOS: UN IFIED I NDUSTRIAL CO NTROL S YSTEM CPC (C ONTINUOUS P ROCESS C ONTROL ) SCADA 1 Marco Boccioli -

The Device Implementation• Device structure definition• Importation/exportation

• Library functions for configuring the device

• Widget• Graphical objects drawing• Library functions for animating

• ParamPanel• Faceplate

• Graphical object drawing• Library functions for animating

• Access rights definition• Actions• FW/UN configurations

• Integration within those frameworks

50

UNICORE

UNICOS CPC package

Page 51: CPC (C ONTINUOUS P ROCESS C ONTROL ) SCADA UNICOS: UN IFIED I NDUSTRIAL CO NTROL S YSTEM CPC (C ONTINUOUS P ROCESS C ONTROL ) SCADA 1 Marco Boccioli -

Access rights overview• 4 users and group of

users created during the unicos installation:• Monitor• Operator• Expert• Admin

• Action accessibility depends on current user’s role

51

Page 52: CPC (C ONTINUOUS P ROCESS C ONTROL ) SCADA UNICOS: UN IFIED I NDUSTRIAL CO NTROL S YSTEM CPC (C ONTINUOUS P ROCESS C ONTROL ) SCADA 1 Marco Boccioli -

Access rights definitionFile cpcMultiOnOff.ctl

• Define the access level for all and each action

buttons[UN_FACEPLATE_BUTTON_SELECT] =

CPC_ACCESS_RIGHTS_OPERATOR;

buttons[UN_FACEPLATE_BUTTON_AUTO_MODE] =

CPC_ACCESS_RIGHTS_OPERATOR;

buttons[UN_FACEPLATE_BUTTON_MANUAL_MODE] =

CPC_ACCESS_RIGHTS_OPERATOR;

buttons[UN_FACEPLATE_BUTTON_FORCED_MODE] =

CPC_ACCESS_RIGHTS_EXPERT;

52

UNICOS CPC package

Wid

get

face

plat

eIm

port

ex

port

Dev

def

Page 53: CPC (C ONTINUOUS P ROCESS C ONTROL ) SCADA UNICOS: UN IFIED I NDUSTRIAL CO NTROL S YSTEM CPC (C ONTINUOUS P ROCESS C ONTROL ) SCADA 1 Marco Boccioli -

Unicos access control

53

UNICORE UNICOS CPC package

wid

get

wid

get

Impo

rt

expo

rt

Impo

rt

expo

rtLDAP

Dev

def

Page 54: CPC (C ONTINUOUS P ROCESS C ONTROL ) SCADA UNICOS: UN IFIED I NDUSTRIAL CO NTROL S YSTEM CPC (C ONTINUOUS P ROCESS C ONTROL ) SCADA 1 Marco Boccioli -

The Device Implementation• Device structure definition• Importation/exportation

• Library functions for configuring the device

• Widget• Graphical objects drawing• Library functions for animating

• ParamPanel• Faceplate

• Graphical object drawing• Library functions for animating

• Access rights definition• Actions• FW/UN configurations

• Integration within those frameworks

54

UNICORE

UNICOS CPC package

Page 55: CPC (C ONTINUOUS P ROCESS C ONTROL ) SCADA UNICOS: UN IFIED I NDUSTRIAL CO NTROL S YSTEM CPC (C ONTINUOUS P ROCESS C ONTROL ) SCADA 1 Marco Boccioli -

Right-click menu APIFile cpcMultiOnOff.ctl

Tags: • TAG_SCRIPT_DEVICE_TYPE_ButtonConfig

• Reused, extend if necessary.

• TAG_SCRIPT_DEVICE_TYPE_MenuConfiguration• To configure right click menu items

• TAG_SCRIPT_DEVICE_TYPE_HandleMenu• To process right click menu’ actions

55

UNICOS CPC package

Wid

get

face

plat

eIm

port

ex

port

Dev

def

Page 56: CPC (C ONTINUOUS P ROCESS C ONTROL ) SCADA UNICOS: UN IFIED I NDUSTRIAL CO NTROL S YSTEM CPC (C ONTINUOUS P ROCESS C ONTROL ) SCADA 1 Marco Boccioli -

Buttons panel

56

Buttons panel

Page 57: CPC (C ONTINUOUS P ROCESS C ONTROL ) SCADA UNICOS: UN IFIED I NDUSTRIAL CO NTROL S YSTEM CPC (C ONTINUOUS P ROCESS C ONTROL ) SCADA 1 Marco Boccioli -

Buttons panelFile: CPCMultiOnOffButtonPanel.pnl

main()

{

dyn_string exceptionInfo;

g_sFaceplateButtonType = UN_CONFIG_CPC_MULTIONOFF_DPT_NAME;

unGenericObject_ButtonInit($sDpName, g_sFaceplateButtonType, exceptionInfo);

}

57

UNICOS CPC package

Wid

get

face

plat

eIm

port

ex

port

Dev

def

Page 58: CPC (C ONTINUOUS P ROCESS C ONTROL ) SCADA UNICOS: UN IFIED I NDUSTRIAL CO NTROL S YSTEM CPC (C ONTINUOUS P ROCESS C ONTROL ) SCADA 1 Marco Boccioli -

Buttons animationFile cpcMultiOnOff.ctl

Tags: • TAG_SCRIPT_DEVICE_TYPE_ButtonConfig

• TAG_SCRIPT_DEVICE_TYPE_ButtonDPEsdynAppend(dpes, deviceName + ".ProcessInput.StsReg01");

dynAppend(dpes, deviceName + ".ProcessInput.StsReg01:_online.._invalid");

• TAG_SCRIPT_DEVICE_TYPE_ButtonSetState• iterate through buttons (fetched from _ButtonConfig)• “switch” to define buttonEnabled (button-related code)• “cpcButton_setButtonState” to animate

58

UNICOS CPC package

Wid

get

face

plat

eIm

port

ex

port

Dev

def

Page 59: CPC (C ONTINUOUS P ROCESS C ONTROL ) SCADA UNICOS: UN IFIED I NDUSTRIAL CO NTROL S YSTEM CPC (C ONTINUOUS P ROCESS C ONTROL ) SCADA 1 Marco Boccioli -

_ButtonSetState examplefor(int i = 1; i <= dynlen(dsButtons); i++) {

buttonEnabled = (dynContains(dsUserAccess, dsButtons[i]) > 0); // User access

switch (dsButtons[i]) {

...

case UN_FACEPLATE_BUTTON_ACK_ALARM:

buttonEnabled = buttonEnabled &&

!getBit(stsReg01Value, UN_STSREG01_LDST) &&

!getBit(stsReg02Value, CPC_STSREG02_SOFTLDST) &&

!bStsReg01Bad && !bStsReg02Bad;

...

}

cpcButton_setButtonState(UN_FACEPLATE_BUTTON_PREFIX + dsButtons[i],

buttonEnabled);

}

59

Page 60: CPC (C ONTINUOUS P ROCESS C ONTROL ) SCADA UNICOS: UN IFIED I NDUSTRIAL CO NTROL S YSTEM CPC (C ONTINUOUS P ROCESS C ONTROL ) SCADA 1 Marco Boccioli -

Unicos actions

60

UNICORE UNICOS CPC package

wid

get

wid

get

Impo

rt

expo

rt

Impo

rt

expo

rt

Dev

def

Page 61: CPC (C ONTINUOUS P ROCESS C ONTROL ) SCADA UNICOS: UN IFIED I NDUSTRIAL CO NTROL S YSTEM CPC (C ONTINUOUS P ROCESS C ONTROL ) SCADA 1 Marco Boccioli -

The Device Implementation• Device structure definition• Importation/exportation

• Library functions for configuring the device

• Widget• Graphical objects drawing• Library functions for animating

• ParamPanel• Faceplate

• Graphical object drawing• Library functions for animating

• Access rights definition• Actions• FW/UN configurations

• Integration within those frameworks

61

UNICORE

UNICOS CPC package

Page 62: CPC (C ONTINUOUS P ROCESS C ONTROL ) SCADA UNICOS: UN IFIED I NDUSTRIAL CO NTROL S YSTEM CPC (C ONTINUOUS P ROCESS C ONTROL ) SCADA 1 Marco Boccioli -

Event bits• evStsReg01• Set up accordingly to the DeviceType model

CE

RN

, De

c/20

12

62UCPC Advanced Course: SCADA Device

Page 63: CPC (C ONTINUOUS P ROCESS C ONTROL ) SCADA UNICOS: UN IFIED I NDUSTRIAL CO NTROL S YSTEM CPC (C ONTINUOUS P ROCESS C ONTROL ) SCADA 1 Marco Boccioli -

Creating a Synoptic panel

63

Page 64: CPC (C ONTINUOUS P ROCESS C ONTROL ) SCADA UNICOS: UN IFIED I NDUSTRIAL CO NTROL S YSTEM CPC (C ONTINUOUS P ROCESS C ONTROL ) SCADA 1 Marco Boccioli -

64

Uniform look and feel

Page 65: CPC (C ONTINUOUS P ROCESS C ONTROL ) SCADA UNICOS: UN IFIED I NDUSTRIAL CO NTROL S YSTEM CPC (C ONTINUOUS P ROCESS C ONTROL ) SCADA 1 Marco Boccioli -