In the depth of UNICOS … Hervé Milcent EN/ICE How to create a new package.

Slides:



Advertisements
Similar presentations
Yokogawa Network Solutions Presents:
Advertisements

European Organization for Nuclear Research LHC GCS Recipes Geraldine Thomas 11 December 2009.
Industrial Control Engineering UNICOS device model Hervé Milcent UNICOS device modelHervé Milcent1.
Inputs: Digital and 4 configurable for Digital or 10 bit Analog Outputs:4 - 8 amp Relays or 700ma Transistors (1 PWM) 4 Line by 18 Character fully.
Experiment Control Systems at the LHC An Overview of the System Architecture An Overview of the System Architecture JCOP Framework Overview JCOP Framework.
Supervision of Production Computers in ALICE Peter Chochula for the ALICE DCS team.
A Guide to Oracle9i1 Introduction To Forms Builder Chapter 5.
WebDynpro for ABAP Short introduction.
EPOCH 1000 File Management Data Logging and Reporting
Controls EN-ICE UNICOS – PVSS evolution Integration of JCOP devices in UNICOS Jonás Arroyo CERN EN-ICE-SCD 18 March 2010.
UNICOS Objects (CPC) 11/02/14 UNICOS, CERN1 CERN, EN/ICE, UNICOS Team.
DEMONSTRATION FOR SIGMA DATA ACQUISITION MODULES Tempatron Ltd Data Measurements Division Darwin Close Reading RG2 0TB UK T : +44 (0) F :
TIBCO Designer TIBCO BusinessWorks is a scalable, extensible, and easy to use integration platform that allows you to develop, deploy, and run integration.
FwSPY and UNICOS-CPC Benjamin Bradu Giulio Morpurgo CERN, EN-ICE May2015.
Industrial Control Engineering UNICOS-PVSS evolution Hervé Milcent EN/ICE/SCD 07/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 -
South Dakota Library Network ALEPH v21 Staff User Upgrade Information Circulation and ILL South Dakota Library Network 1200 University, Unit 9672 Spearfish,
Novel techniques while developing on the WinCC OA Experience with the UCPC library.
Automatic Generation Tools UNICOS Application Builder Overview 11/02/2014 Ivan Prieto Barreiro - EN-ICE1.
London April 2005 London April 2005 Creating Eyeblaster Ads The Rich Media Platform The Rich Media Platform Eyeblaster.
London April 2005 London April 2005 Creating Eyeblaster Ads The Rich Media Platform The Rich Media Platform Eyeblaster.
Imperial College Tracker Slow Control & Monitoring.
Specview 32 Release 2.5 Enhancements
Jan Hatje, DESY CSS ITER March 2009: Technology and Interfaces XFEL The European X-Ray Laser Project X-Ray Free-Electron Laser 1 CSS – Control.
0 eCPIC User Training: Resource Library These training materials are owned by the Federal Government. They can be used or modified only by FESCOM member.
The Joint COntrols Project Framework Manuel Gonzalez Berges on behalf of the JCOP FW Team.
ALICE DCS Meeting.- 05/02/2007 De Cataldo, Franco - INFN Bari - 1 ALICE dcsUI Version 3.0 -dcsUI v3.0 is ready and will be soon posted on the ACC site.
UNICOS-PVSS evolution Hervé Milcent (EN-ICE-SCD) 06/09/2010.
INTERFACE DESCRIPTION PLC objects and HMI 2 CERN, EN/ICE, UNICOS Team.
PVSSProxy The first piece of the MACS procedure framework (ProShell) Angela Brett.
What’s new in Kentico CMS 5.0 Michal Neuwirth Product Manager Kentico Software.
ALICE, ATLAS, CMS & LHCb joint workshop on
Industrial Control Engineering UNICOS distributed control  What does it mean?  Why do we need it  Implication for UNICOS device and tools Hervé Milcent.
Industrial Control Engineering UNICOS device and front-end Hervé Milcent UNICOS device front-endHervé Milcent1.
MARCO UNICOS based control system CERN Lukasz Zwalinski – PH/DT Maciej Ostrega – PH/DT.
Overview of PVSS 3.6 Oliver Holme IT-CO. 16/11/2006JCOP Project Team Meeting New features in 3.6 New Installer for PVSS on Windows New Qt User Interface.
Alarm Help. Points to discuss (from Clara) Display Only one line per DPE (fatal, error, warning) Background colour should fill whole row Simple version.
Peter Chochula ALICE Offline Week, October 04,2005 External access to the ALICE DCS archives.
1 UNICOS PVSS Evolution Cryogenics Control Enrique BLANCO Industrial Controls & Electronics Group.
1 JCOP-UNICOS. 2 Purpose of this meeting Requested by IT/CO To present you the UNICOS requirements on the hierarchy classifications Not to discuss the.
PVSS: Windows  Linux. 13th May Outline Current software architecture PVSS on Linux Demo What has to be redone for Linux console Vacuum, GCS, cryogenics.
UCPC RP1.8 New Features Nov 2015 UCPC Team 19 Nov 2015UCPC RP Release Features Presentation1.
1 FESA architecture v.1.0 Framework Configuration & Data-entry Tool 5 th December 2003.
UNICOS CONSISTENT IMPORT/EXPORT. Agenda  Present status of prototype for new import  Verification of addresses during check  Non standard import files.
Alarm Handling Oliver Holme 7 th November Guidelines & Strategies All provide recommendation to use Framework Classes Standard severities/behaviour/colours.
“The LHC GCS Framework” Geraldine Thomas CERN, IT-CO A complete PLC and PVSS automatic code Generation.
Quick Test Professional 9.2. Testing Process Preparing to Record Recording Enhancing a Test Debugging Running the Test and Analyzing the Results Reporting.
UAB Tools 1 20/05/2014. Summary Status, opened issues & future requests : Extended Configurations Reverse Engineering Olproc FlexExtractor DIP Import/Export.
European Organization for Nuclear Research LHC Gas Control System Applications Generation to Deployment phases Strategy/Principles.
THE EYESWEB PLATFORM - GDE The EyesWeb XMI multimodal platform GDE 5 March 2015.
The DCS Databases Peter Chochula. 31/05/2005Peter Chochula 2 Outline PVSS basics (boring topic but useful if one wants to understand the DCS data flow)
UNICOS LHCLoggingDB Josef Hofer EN/ICE/SCD. Agenda The LHC Logging Database Purpose of the LHCLogging component Basic concepts Advanced concepts Logging.
DCS Meeting - 17/6/2002 G. De Cataldo, A.Franco - INFN Bari - 1 The implementation of the HMPID DCS in the PVSS-JCOP Framework The Liquid Circulation and.
JCOP Framework and PVSS News ALICE DCS Workshop 14 th March, 2006 Piotr Golonka CERN IT/CO-BE Outline PVSS status Framework: Current status and future.
Active-HDL Server Farm Course 11. All materials updated on: September 30, 2004 Outline 1.Introduction 2.Advantages 3.Requirements 4.Installation 5.Architecture.
MARCO control system Munich Lukasz Zwalinski – PH/DT Maciej Ostrega – PH/DT.
C. Kiesling, 11th B2GM PXD Session, KEK, March , Slow Control System for the PXD PXD Support Systems & Control UNICOS Standard PVSS User Interface.
UAB Requirements for 2016 Ivan Prieto Barreiro 18/04/2016 UAB Requirements for
Xxx Presentation, No 1 Copyright © TAC AB Engineering Classic Networks1.
UNICOS-CPC course - CERN EN/ICE Industrial Controls Engineering Department Deployment of the CPC6 control application Marc Quilichini
PVSS an industrial tool for slow control
Integrating ArcSight with Enterprise Ticketing Systems
UNICOS Application Builder Architecture
Integrating ArcSight with Enterprise Ticketing Systems
CV PVSS project architecture
UNICOS: UNified Industrial COntrol System CPC (Continuous Process Control) Basic course SESSION 4: SCADA UCPC 6 UNICOS-Continuous Process Control Check.
UNICOS: UNified Industrial COntrol System CPC (Continuous Process Control) Basic course SESSION 4: SCADA UCPC 6 UNICOS-Continuous Process Control Check.
Training Module Introduction to the TB9100/P25 CG/P25 TAG Customer Service Software (CSS) Describes Release 3.95 for Trunked TB9100 and P25 TAG Release.
Pierluigi Paolucci & Giovanni Polese
Tools for the Automation of large distributed control systems
Presentation transcript:

In the depth of UNICOS … Hervé Milcent EN/ICE How to create a new package

November 19th 2009UNICOS in depth2 Outline 1. Introduction 2. Concept of the core of UNICOS 3. What can be added/modified in package 4. New package: step by step description Introduction, rules and procedure Configuration Check, delete, import, export Front-end systemIntegrity Widget, faceplate, device action, right click, snapshot, trending Alarm list CPC event list Packaging

November 19th 2009UNICOS in depth3 1. Introduction 2. Concept of the core of UNICOS 3. What can be added/modified in package 4. New package: step by step description Introduction, rules and procedure Configuration Check, delete, import, export Front-end systemIntegrity Widget, faceplate, device action, right click, snapshot, trending Alarm list CPC event list Packaging

November 19th 2009UNICOS in depth4 Preliminary UNICOS: primary for cryogenics control Process control in the front-end Process supervision with a SCADA Keeping in mind: Development of user interface by operators Less work as possible for the developer (non SCADA expert) Control system as a whole (abstraction of SCADA & front-end) UNICOS: SCADA: UNICORE: unCore, unLHCServices Based on PVSS & JCOP Front-end: UNICORE: TSPP protocol

November 19th 2009UNICOS in depth5 UNICOS framework: Package Package Extend UNICORE to a specific domain Set of components combined/configured together Ex: Device component, utilities, etc. Application A UNICORE UNICOS CPC package PLCs CPC PLCs (non CPC) FECs (FESA) Application packages (PIC,..) Application packages (QPS, SURVEY,..) Control layer U N I C O S Supervision layer

November 19th 2009UNICOS in depth6 UNICOS framework: application Set of package combined and configured together to produce control/monitoring application … Process control application UNICORE UNICOS CPC package PLCs CPC Control layer U N I C O S Supervision layer LHC Cryogenics LHC GCS

November 19th 2009UNICOS in depth7 Do not forget … Process control in the front-end & Process supervision with a SCADA & less work as possible for the developer (non SCADA expert) Link between Front-end & SCADA from a unique source No manual configuration Development of user interface by operators Building synoptics with drag & drop features Control system as a whole (abstraction of SCADA & front-end) User: little or no SCADA knowledge Errors in log =>useless Handle remote system as is local All the relevant information on data quality in one shot

November 19th 2009UNICOS in depth8 1. Introduction 2. Concept of the core of UNICOS 3. What can be added/modified in package 4. New package: step by step description Introduction, rules and procedure Configuration Check, delete, import, export Front-end systemIntegrity Widget, faceplate, device action, right click, snapshot, trending Alarm list CPC event list Packaging

November 19th 2009UNICOS in depth9 Concept …. Based on front-end device: PLC, FEC, OPC, Soft Front-end, etc. With or without hardware link And device: Analog Input, Digital Input, etc. With or without hardware link Attached to one and only one front-end The unCore will trigger your device functions Placeholder in well defined places Lib functions & panels

November 19th 2009UNICOS in depth10 Some rules … No use of PARA module by application developer, operators Device configuration: Import utility Device configuration utility: device DPE configs, etc. GEDI just for to create the user panels (synoptics) Easy & understandable Diagnostic Configuration Intensive use of DistributedControl component: check the connection/disconnection of remote system DistributedControl callback functions Can use variables global to the panels, libs, even without the global keyword evalScript and execScript Be careful with global variables (in panels, libs, etc.), $-param

November 19th 2009UNICOS in depth11 unCore: concept … Import: mass configuration Import device configuration Delete device configuration Export: Export device configuration Widget: summarized view of the device data as many as needed Faceplate: detail view of the device data Just one Many device trend configuration Device action interface Action on the device Device access control 4 privileges, many domains File access control 3 privileges, many domains

November 19th 2009UNICOS in depth12 Naming & hierarchies … Device – front-end device name: logical name of the device, PVSS alias ‘:’ not allowed, is the PVSS system name separator PVSSsystemName:PVSSAlias Ex: DFBA_CV981, MB.A12R3, P8_82:DFBA_CV981, QPS_34:MB.A12R3 Device – front-end device DP name: hardware name of the device, PVSS DP name PVSSsystemName:prefix-fe-application-deviceType-xxxxx A…Z and 0…9 allowed characters ‘-’ as separator, ‘:’ is the PVSS system name separator Ex: un-CFP_SHC8_LHC8-QSCB-Analog-00123, qps-CFC_SR3_DR3BC_IP3_DR3B-A34-DQAMCMB-10320, P8_82:un-CFP_SHC8_LHC8-QSCB-Analog-00123, QPS_34:qps-CFC_SR3_DR3BC_IP3_DR3B-A34-DQAMCMB-10320

November 19th 2009UNICOS in depth13 Link & proxy … Link: device can be linked together Link between UNICOS devices: relationship between devices Ex: PID linked to AnalogInput Unidirectional or bi-directional link Device can have access to the linked device No UNICOS device type limitation, as many as needed Linked device not configured with the device config during the import phase Proxy: device & front-end device as a proxy for non-UNICOS device Allow non UNICOS device to be seen by UNICOS utilities Import/export Trending Widget, faceplate, device action Integration of JCOP device into UNICOS Ex: UnFwElmb_AI UNICOS device proxy of FwElmbAi device (JCOP) Unidirectional link: UNICOS device  proxy devices Proxy of only configured types, as many as needed Proxy can be also with UNICOS device type Proxy device can be created and configured during the import phase with the device Proxy in the same system as the device

November 19th 2009UNICOS in depth14 systemIntegrity: concept Checks the integrity of an application Interface to add new type of integrity check Periodic check of the front-end state Check of alive counter Callback on errors, front-end DPE, etc. Create one or many _UnSystemAlarm devices Use different value for different problem, not the same for many different problems  diagnostic easier systemIntegrity component Configuration of the component Component: PVSS libs Configuration panel Operation panel

November 19th 2009UNICOS in depth15 Front-end device and device Device type Set of libraries Recommended solution: load via the config file “#uses keyword” Set of panels Configuration

November 19th 2009UNICOS in depth16 Front-end device Represents a real or soft front-end holding devices E.g.: OPC Server, MODBUS PLC, FEC, SIEMENS PLC, etc. Can have many devices grouped by Application: device grouped together to build a control application (historical, comes from cryogenics first implementation) Device type Number from to Device data through the front-end communication link Quality of the front-end link systemIntegrity Widget, faceplate, access control via file access control Many trending configuration Proxy allowed No link with device

November 19th 2009UNICOS in depth17 Device Represents a piece of hardware or software entity E.g.: AnalogInput, etc. Belongs to one and only one front-end in one and only one application Widget, faceplate, device action, device access control Device can be selected: exclusive lock No action allowed if not selected Automatic de-selection Many trending configuration Link allowed Proxy allowed

November 19th 2009UNICOS in depth18 Grouping devices Hardware by device DP name Device  device type  application  front-end subsystem1 (domain in UNICOS vocabulary) subsystem2 (nature in UNICOS vocabulary) Sub group of subsystem1 Device  one or many subsystem2  one or many subsystem1

November 19th 2009UNICOS in depth19 Test All panels, libs with different conditions All possible errors All possible cases With simulated values Document describing the tests

November 19th 2009UNICOS in depth20 1. Introduction 2. Concept of the core of UNICOS 3. What can be added/modified in package 4. New package: step by step description Introduction, rules and procedure Configuration Check, delete, import, export Front-end systemIntegrity Widget, faceplate, device action, right click, snapshot, trending Alarm list CPC event list Packaging

November 19th 2009UNICOS in depth21 Modification in a package Device component: any device UNICOS configuration Widget behavior Device action behavior Import/export Etc. Must be discussed and checked with the responsible of the package

November 19th 2009UNICOS in depth22 Add: device for new front-end, front-end with new device Import/export Device imported with new front-end Device for new front-end Device configuration can be different See corresponding slide on check, delete, import, export

November 19th 2009UNICOS in depth23 Add new widget in a package Must be discussed and checked with the responsible of the package See corresponding slide on widget Create a new widget Add it into the catalog Modify the device functions test it (see slide on testing)

November 19th 2009UNICOS in depth24 1. Introduction 2. Concept of the core of UNICOS 3. What can be added/modified in package 4. New package: step by step description Introduction, rules and procedure Introduction, rules and procedure Configuration Check, delete, import, export Front-end systemIntegrity Widget, faceplate, device action, right click, snapshot, trending Alarm list CPC event list Packaging

November 19th 2009UNICOS in depth25 New package: for which purpose Exiting device with new front-end See slides on front-end import/export See slides on device front-end import/export Existing front-end with new device See slides on adding a device New front-end and new device New utilities

November 19th 2009UNICOS in depth26 New package: do not forget! If you overwrite a package setting Your package must be always re-installed after an installation Dependency between packages A package is not an application A package can contains a customized HMI Recommended to configure the provided HMI See doc: UNICOS-HMI.pdf

November 19th 2009UNICOS in depth27 New front-end & new device Create the front-end Create the front-end system integrity component Create the device Test it Package the development Note: a front-end device is less configurable than a device Some of the functions are based on a strict naming convention based on the device type and/or front-end type and suffix.

November 19th 2009UNICOS in depth28 Naming convention ‘preFix’ String, e.g.: qps ‘package’: String, e.g.: qps ‘FrontEndType’ String, e.g.: DQGTW Function: ‘FronfEndType’_getArchiveProxyDPE e.g.: DQGTW_getArchiveProxyDPE ‘DeviceType’ String, e.g.: DQAMCMB Function: ‘DeviceType’_getArchiveProxyDPE e.g.: DQAMCMB_getArchiveProxyDPE Check DeviceType function Function: entirely configurable.

November 19th 2009UNICOS in depth29 Rules for development Panels Use prefix, group the panels by functionalities Widgets in objects/… Faceplate, device action in vision/‘package’/‘DeviceType’ Panels re-used in many places in the package in vision/‘package’/common Libs All constants in a lib  ‘preFix’ConstantDeclarations.ctl Function used many time during import  ‘preFix’ConfigGenericFunctions.ctl Functions used many times for widget, faceplate, device action, etc.  ‘preFix’GenericFunctions.ctl Use the MessageText (log book) to keep history of action, inform user, etc. Use unGenericDpFunctions_debugN and unGenericDpFunctions_debugTN functions whenever possible Allow DebugN and DebugTN with condition

November 19th 2009UNICOS in depth30 Front-end/Device function calls: three cases Check/Import Different behavior for front-end and device Configurable Export Different behavior for front-end and device Not configurable, function name based on front-end type and device type Different of driver type by function based on driver type if needed (depends on the developer) Widget, faceplate, right click, device action, treeDeviceOverview Same behavior for front-end and device Device functions: fully configurable Front-end functions: partly configurable

November 19th 2009UNICOS in depth31 New Front-end 1. Create the device type: DPType 2. Set the front-end device definition 3. Create the front-end check, delete and import functions scripts/libs/‘preFix’Config‘FrontEndType’.ctl 4. Create the front-end export functions scripts/libs/‘preFix’ExportDevice.ctl 5. Create the front-end device functions scripts/libs/‘preFix’‘FrontEndType’.ctl 6. Create the widget, catalog of widget, widget param panels/objects/FRONT_END/Widget_‘FrontEndType’.pnl images/objects/FRONT_END/Widget_‘FrontEndType’.pnl/Widget_‘FrontEndType’.png panels/objects_paramspanel/FRONT_END/‘preFix’‘FrontEndType’_para.pnl 7. Create the faceplate panels/vision/graphicalFrame/‘FrontEndType’_DiagnosticDetail.pnl panels/vision/graphicalFrame/Faceplate‘FrontEndType’.pnl 8. Configure the trending 9. Create the front-end system integrity panels/vision/systemIntegrity/systemIntegrity_‘FrontEndType’_configurationl.pnl panels/vision/systemIntegrity/systemIntegrity_‘FrontEndType’_operationl.pnl 10. Test import, export, widget, faceplate, right click, etc.

November 19th 2009UNICOS in depth32 New device 1. Create the device type: DPType 2. Set the device definition 3. Set the JCOP device definition 4. Create the device check and import functions scripts/libs/‘preFix’Config‘DeviceType’.ctl 5. Create the device export functions scripts/libs/‘preFix’ExportDevice.ctl 6. Create the device device functions scripts/libs/‘preFix’‘DeviceType’.ctl 7. Create the widget, catalog of widget, widget param panels/objects/‘PACKAGE’/‘preFix’Widget_‘DeviceType’‘Type’.pnl objects/‘PACKAGE’/‘preFix’Widget_‘DeviceType’‘Type’.pnl/‘preFix’Widget_‘DeviceType’‘Type’.png panels/objects_paramspanel/‘PACKAGE’/‘preFix’‘DeviceType’_para.pnl 8. Create the faceplate panels/vision/‘package’/‘preFix’Faceplate‘DeviceType’.pnl panels/vision/‘package’/‘preFix’Faceplate‘DeviceType’_status.pnl panels/vision/‘package’/‘preFix’‘DeviceType’TrendingFaceplate.pnl 9. Create the device action interface, access control and functions panels/vision/‘package’/‘preFix’‘DeviceType’_ButtonPanel.pnl 10. Configure the trending 11. Create the treeDeviceOverview function 12. Test import, export, widget, faceplate, right click, etc.

November 19th 2009UNICOS in depth33 1. Introduction 2. Concept of the core of UNICOS 3. What can be added/modified in package 4. New package: step by step description Introduction, rules and procedure Configuration Configuration Check, delete, import, export Front-end systemIntegrity Widget, faceplate, device action, right click, snapshot, trending Alarm list CPC event list Packaging

November 19th 2009UNICOS in depth34 Front-end/Device: DPType Mandatory DPE Selected state Device access right Device link Device log ProcessInput: input DPE ProcessOuput: output DPE Front-end counter DPE: used in systemIntegrity

November 19th 2009UNICOS in depth35 Front-end device definition Configuration of the front-end device type Function, proxy device type, etc.

November 19th 2009UNICOS in depth36 Device definition Configuration of the front-end device type Function, proxy device type, etc.

November 19th 2009UNICOS in depth37 Device: JCOP device definition panels/fwDevice/fwDeviceRegisterType.pnl Set the archive config

November 19th 2009UNICOS in depth38 1. Introduction 2. Concept of the core of UNICOS 3. What can be added/modified in package 4. New package: step by step description Introduction, rules and procedure Configuration Check, delete, import, export Check, delete, import, export Front-end systemIntegrity Widget, faceplate, device action, right click, snapshot, trending Alarm list CPC event list Packaging

November 19th 2009UNICOS in depth39 Check, Delete, Import: file File One front-end, one application List of devices All configuration in the same line 3 archives can be in files  use instead of the default one Front-end type, driver number # # Database PVSS generated at :03:40 # # Device type: S7_PLC # #Delete;PLC_Quique;Sector81; PLCCONFIG;S7-300;PLC_Quique;Sector81;0A;0;3;10;0;0;AB;500; ;DB10.DBD0;DB10.DBW20;DB10.DBW30;DB10.DBW40;DB10.DBD4F;0.1;2; # FESystemAlarm (SystemAlarm) #For S SystemAlarm;1;TEST_PLC_Comm_Status_with_FES7;DB1.DBW0;TRUE;Communication state with other FE; #For S SystemAlarm;2;pb1;DB11.DBW30;TRUE;this is a positive alarm; #For S SystemAlarm;3;pb2;DB11.DBW20;FALSE;this is a negative alarm; #For S SystemAlarm;4;positive_true;DB11.DBW10;TRUE;hola positive_true; # # Database PVSS generated at :03:40 # # Device type: Alarm # Alarm;1001;QXD4N_A_SEPH_P_FS1S7;Full Stop;diagnostic.pnl;info.html;;SEPH;alarm;Alarm;0;DB69.DBW0;DB69.DBD2;DB69.DBW6;;;ValueArchive_0000;1; Alarm;1002;QXD4N_A_SEPH_P_FS2S7;Full Stop;diagnostic.pnl;info.html;;SEPH;alarm;Alarm;0;DB69.DBW0;DB69.DBD22;DB69.DBW26;;;;1; Alarm;1001;QQXD4N_A_SEPH_P_FS1S7;Full Stop;diagnostic.pnl;info.html;;SEPH;alarm;Alarm;0;DB669.DBW0;DB669.DBD2;DB669.DBW66;ValueArchive_0000;;ValueArchive_0000;1; Alarm;1002;QQXD4N_A_SEPH_P_FS2S7;Full Stop;diagnostic.pnl;info.html;;SEPH;alarm;Alarm;0;DB669.DBW0;DB669.DBD22;DB669.DBW266;ValueArchive_0000;;ValueArchive_0000;1; # # Database PVSS generated at :03:40 # # Device type: AnaDig # AnaDig;1001;Q_A_ADO1S7;Description Q_A_ADO1;diagnostic.pnl;info.html;NONE;SPARE;anadig;AnaDigValveVertical;%;EXP;100.0;0.0;90.0;10.0;0;0;N;0;0;DB168.DBW0;….38F;;;ValueArchive_0000;1; AnaDig;1002;Q_A_ADO2S7;Description Q_A_ADO1;diagnostic.pnl;info.html;NONE;SPARE;anadig;AnaDigValveVertical;%;EXP;100.0;0.0;90.0;10.0;0;0;N;0;0;DB168.DBW0;..; ……

November 19th 2009UNICOS in depth40 Front-end/Device data flow: check Front-end type 3 archives, valarch & RDB: Boolean, Analog, Event: in device config line from file or panel Default behavior Boolean: bool, char DPE Analog: float DPE Event: int, uint, struct DPE Check the available free space sim driver and dist not running

November 19th 2009UNICOS in depth41 Front-end: check ‘FrontEndType’_getFrontEndArchiveDp: evalScript Return the list of front-end, systemAlarm or FESystemAlarms DPEs to be archived ‘FrontEndType’_getArchiveProxyDPE: evalScript Returns the list of proxy DPEs linked to the front-end For boolean, analog and event archives FrontEndType checkConfig: check the _UnSystemAlarm, SystemAlarm, Front-end configuration, front-end DPE configs, proxy configs, etc. evalScript PLCCONFIG keyword : Mandatory field: PLCONFIG;front-end instance name;front-end application Front-end configuration: as many as needed PLCCONFIG;PREMIUM;vac_180;VAC;4; _UnSystemAlarm keyword: _UnSystemAlarm;nbr;Checked PLC;address; SystemAlarm keyword: SystemAlarm;1;vac_180;2;true;Communication state with PLC: vac_180;

November 19th 2009UNICOS in depth42 Device: check ‘DeviceType’_getArchiveDPE: returns the list of device DPE for boolean, analog and event archives evalScript ‘DeviceType’_getArchiveProxyDPE evalScript Returns the list of proxy DPEs linked to the device For boolean, analog and event archives DeviceType checkConfig: check the device configuration, device DPE configs, proxy configs, etc. evalScript DeviceType keyword Mandatory fields: “DeviceType;Device number (unique);Device name (Device Identifier);description;Diagnostic panel;HTML page;Default panel;subsystem1 (Domain);subsystem2 (Nature);Widget Name";  Diagnostic panel: panel for the device diagnostic  HTLM page (link)  Default panel: panel that can be poped-up  Widget Name: widget used in the treeDeviceOverview = ‘DeviceType’‘Type’ of ‘preFix’Widget_‘DeviceType’‘Type’.pnl Device configuration: as many as needed

November 19th 2009UNICOS in depth43 Front-end/Device data flow: delete Front-end type Delete front-ends and devices Application, device type, number sim driver and dist not running

November 19th 2009UNICOS in depth44 Front-end: delete Delete keyword Mandatory field: Delete;Front-end instance name Delete;Front-end device name[;Front-end application (or *);[Device type;[Device id;]]] Optional: application name, device type, device number Delete;vac_180 Delete;vac_180;Sector12; Delete;vac_180;Sector*2*;AnalogInput*3*; FrontEndType check_deleteCommand: evalScript Return the list of Device and proxy to be deleted FrontEndType deleteCommand: evalScript Delete all the Device and proxy

November 19th 2009UNICOS in depth45 Front-end/Device data flow: import Front-end type With/without check sim driver and dist not running

November 19th 2009UNICOS in depth46 Front-end/Device: import Front-End: FrontEndType setConfig: evalScript set the _UnSystemAlarm, SystemAlarm, Front-end configuration, front-end DPE configs, proxy configs, etc. PLCCONFIG keyword:  Mandatory field: PLCONFIG;front-end instance name;front-end application  Front-end configuration: as many as needed PLCCONFIG;PREMIUM;vac_180;VAC;4 _UnSystemAlarm keyword: _UnSystemAlarm;nbr;Checked PLC;address; SystemAlarm keyword: SystemAlarm;1;vac_180;2;true;Communication state with PLC: vac_180; Device: DeviceType setConfig: evalScript set the device configuration: DPE value, proxy configs, device DPE configs (address, alarm, SMS, archive, etc.) Alarm;1001;QXD4N_A_SEPH_P_FS1S7;Full Stop;diagnostic.pnl;info.html;;SEPH;alarm;Alarm;0;DB69.DBW0;DB69.DBD2;DB69.DBW6 ;;;ValueArchive_0000;1;

November 19th 2009UNICOS in depth47 Front-end/Device data flow: export Front-end type Front-end One/many application One/many device type To produce the same file as the one used in the import

November 19th 2009UNICOS in depth48 Front-end/Device: export Front-end ‘FrontEndType’_Com_ExportConfig: for each front-end application evalScript Returns the front-end configuration: device value, configs, proxy, etc. Returns the associated _UnSystemAlarm devices configuration Returns the associated SystemAlarm devices configuration Device FrontEndType’_’DeviceType’_ExportConfig: for each device evalScript Returns the device configuration: device value, configs, proxy, etc.

November 19th 2009UNICOS in depth49 Test All the possible errors during the check, delete and import phase The export Final test: export->import of export file->export The two exported files must be identical except the time of export. Document describing the tests

November 19th 2009UNICOS in depth50 1. Introduction 2. Concept of the core of UNICOS 3. What can be added/modified in package 4. New package: step by step description Introduction, rules and procedure Configuration Check, delete, import, export Front-end systemIntegrity Front-end systemIntegrity Widget, faceplate, device action, right click, snapshot, trending Alarm list CPC event list Packaging

November 19th 2009UNICOS in depth51 Front-end systemIntegrity data flow _UnSystemAlarm device Check the communication link with Front-end or any other relevant data from front-end Configuration, operation panel

November 19th 2009UNICOS in depth52 systemIntegrity: alarm screen

November 19th 2009UNICOS in depth53 Front-end: system integrity Configuration panel panels/vision/systemIntegrity/systemIntegrity_‘FrontEndType’_configurationl.pnl $-param $sComponent: the system integrity component Operation panel panels/vision/systemIntegrity/systemIntegrity_‘FrontEndType’_operationl.pnl $-param $sComponent: the system integrity component systemIntegrity functions in lib: Initialize: evalScript, returns the list of devices with enabled system alarms DataCallback: callback function on config data HandleCommand: callback function on the interface DPE Add: add front-end system integrity on the front-end Delete: delete front-end system integrity on the front-end Enable: enable the front-end system integrity of the front-end Disable: disable the front-end system integrity of the front-end Diagnostic: give back the list and state of the system integrity of the front-end … Do a periodic check on an alive counter and create system alarm, dpConnect on front-end device data, etc. Generate _UnSystemAlarm

November 19th 2009UNICOS in depth54 Front-end: diagnostic panels/vision/graphicalFrame/‘FrontEndType’_DiagnosticDetail.pnl $-param $sFrontEnd the front-end DP name Put all relevant and useful info from front-end or proxy for debugging

November 19th 2009UNICOS in depth55 Test Panels Local and remote system systemIntegrity lib All cases Document describing the tests

November 19th 2009UNICOS in depth56 1. Introduction 2. Concept of the core of UNICOS 3. What can be added/modified in package 4. New package: step by step description Introduction, rules and procedure Configuration Check, delete, import, export Front-end systemIntegrity Widget, faceplate, device action, right click, snapshot, trending Widget, faceplate, device action, right click, snapshot, trending Alarm list CPC event list Packaging

November 19th 2009UNICOS in depth57 Front-end/Device data flow: widget Summarized view of the device data, proxy data, linked data Data quality: quality of the front-end communication link Mouse over Device selected mouse over Device selected By another UIM No action possible WA M Mode Alarm Data quality Body Selection

November 19th 2009UNICOS in depth58 Front-end/Device: widget Widget: as many as needed $-param: $sIdentifier, device name Mandatory variables: g_bCallbackConnected, g_sWidgetType Function call: unGenericObject_WidgetInit Widget register DistributedControl CB on device system name Front-end: ‘FrontEndType’_WidgetRegisterCB Device: DeviceType WidgetRegisterCB Panel global var (outside main) allowed Check the state of the system: DISCONNECT: call widget disconnection function DPCONNECT: do dpConnect to the device data, proxy data, linked data and the front-end system integrity state DPDISCONNECT_DISCONNECT: do dpDisconnect to the device data, proxy data, linked data and the front-end system integrity state Widget disconnection: execScript Front-end: FrontEndType’_WidgetDisconnection Device: DeviceType WidgetDisconnection Only one parameter given to the function: widget type Animate the disconnection state of the widget Everything in dark violet and disabled

November 19th 2009UNICOS in depth59 Front-end/Device: widget Catalog of widget: png file Param panel: Device name selector, local and remote system Tips: DPE static information in widget: description, format, unit, etc. Get it once in the functions ‘FrontEndType’_WidgetRegisterCB and DeviceType WidgetRegisterCB in case of DPCONNECT Keep it in var in the widget panel Conflict between widget register CB and widget disconnection when the remote system is disconnected if animation CB too long encapsulate all setMultiValue with g_bSystemConnected Declared as a global var like g_bCallbackConnected g_bSystemConnected represents the state of the remote system Set in widget status register

November 19th 2009UNICOS in depth60 Front-end/Device multi widget: tips … Same functionality: right click, etc. Use evalScript/execScript based on the g_sWidgetType in the device data widget animation E.g.: unGenericObject_WidgetHeaterAnimation, unGenericObject_WidgetHeaterDisconnection Different functionality Use dummy device with device widget functions E.g.: GenericDevice Overwrite the functions Take care: package installation!

November 19th 2009UNICOS in depth61 Front-end/Device data flow: faceplate Detailed view of the device data, proxy data, linked data Show the quality of the front-end communication link

November 19th 2009UNICOS in depth62 Front-end/Device: faceplate One faceplate $-param: $sDpName, device DP name Front-end: panels/vision/graphicalFrame/Faceplate‘FrontEndType’.pnl Function call: unGenericObject_FaceplateStatusInit  addSymbol/removeSymbol of panels/vision/graphicalFrame/‘FrontEndType’_DiagnosticDetail.pnl Mandatory variable: g_bCallbackConnected Device: Status tab Trending tab: unGenericObject_FaceplateTrendInit or unGenericObject_TabFaceplateExtendedTrendInit Trending panel With fwTrending/fwTrendingTrendControl.pnl, fwTrending/fwTrendingTrend.pnl and wTrending/fwTrendingTrendFaceplateCaption.pnl or fwTrending/fwTrendingTrendFaceplateCaptionLarge.pnl Status tab for Device: panels/vision/‘package’/‘preFix’Faceplate‘DeviceType’_status.pnl $-param: $sDpName device DP name Function call unGenericObject_FaceplateStatusInit Mandatory variable: g_bCallbackConnected

November 19th 2009UNICOS in depth63 Front-end/Device: faceplate Faceplate status register DistributedControl CB on device system name Front-end: ‘FrontEndType’_FaceplateRegisterCB Device: DeviceType FaceplateStatusRegisterCB Panel global var (outside main) allowed Check the state of the system: DISCONNECT: call faceplate disconnection function DPCONNECT: do dpConnect to the device data, proxy data, linked data and the front-end system integrity state DPDISCONNECT_DISCONNECT: do dpDisconnect to the device data, poxy data, linked data and the front-end system integrity state Faceplate status disconnection: execScript Front-end: FrontEndType’_FaceplateDisconnection Device: DeviceType FaceplateStatusDisconnection No parameter Animate the disconnection state of the faceplate Everything in dark violet and disabled Tips: Conflict between faceplate register CB and faceplate disconnection when the remote system is disconnected if animation CB too long encapsulate all setMultiValue with g_bSystemConnected Declared as a global var like g_bCallbackConnected g_bSystemConnected represents the state of the remote system Set in Faceplate status register DPE static information in widget: description, format, unit, etc. Get it once in the functions ‘FrontEndType’_WidgetRegisterCB and DeviceType WidgetRegisterCB in case of DPCONNECT Keep it in var in the widget panel

November 19th 2009UNICOS in depth64 Front-end/Device: widget & faceplate with alert_hdl dpConnect alert_hdl config modified Automatic disconnect Tips: WidgetRegisterCB, FaceplateStatusRegisterCB functions DPCONNECT case dpConnect DPE:_lock._alert_hdl._locked, in the callback do dpConnect to device data, proxy data, linked data DPDISCONNECT_DISCONNECT case dpDisconnect DPE:_lock._alert_hdl._locked and dpDisconnect to device data, proxy data, linked data

November 19th 2009UNICOS in depth65 Front-end/Device data flow: right click Configurable pop-up menu

November 19th 2009UNICOS in depth66 Front-end/Device: right click Create the pop-up menu: evalScript Front-end: ‘FrontEndType’_MenuConfiguration Device: Device Type MenuConfiguration Generic functions: unGenericObject_addSelectToMenu: add “Select” or “Deselect” unGenericObject_UnicosActionToMenu: add “Ack alarm”, etc. unGenericObject_addDefaultUnicosActionToMenu: add “Faceplate”, “Diagnostic”, “Info” unGenericObject_addTrendActionToMenu: add the dynamic trending and device DPE trending Handle the pop-up menu: evalScript Front-end:‘FrontEndType’_HandleMenu Device: Device Type HandleMenu Generic functions unGenericObject_handleSelect: to handle “Select” or “Deselect” unGenericObject_handleDefaultUnicos: handle “Faceplate”, “Diagnostic”, “Info” unGenericObject_handleTrendAction: handle the dynamic trending and device DPE trending unGenericObject_HandleUnicosMenu: call above functions

November 19th 2009UNICOS in depth67 Front-end/Device data flow: treeDeviceOverview snapshot

November 19th 2009UNICOS in depth68 Front-end/Device: treeDeviceOverview snapshot treeDeviceOverview mode snapshot Filtering on state Front-end: evalScript ‘FrontEndType’_ObjectListGetValueAndTime Device: evalScript DeviceType ObjectListGetValueAndTime Return: dyn_string [1]: timestamp [2]: value [3]: invalid [4]: state [5]: color

November 19th 2009UNICOS in depth69 Front-end: treeDeviceOverview./pictures/‘FrontEndType’/iconWithChildrenClose.bmp./pictures/‘FrontEndType’/iconWithChildrenOpen.bmp./pictures/‘FrontEndType’/iconWithChildrenPath.bmp./pictures/‘FrontEndType’/iconWithChildrenSelected.bmp./pictures/‘FrontEndType’/iconWithoutChildrenNotSelected.bmp./pictures/‘FrontEndType’/iconWithoutChildrenSelected.bmp

November 19th 2009UNICOS in depth70 Front-end/Device: trend configuration Trend device data, proxy device data Trending DPE: leaf DPE below ProcessInput and ProcessOutput DPE PVSSSystemName:PVSSAlias.leafProcessInput/OutputDPE E.g.: QRL81:CT_PT100.PosSt Two kind of trending DPE Faceplate trending fwTrendingPlot Define the device DPE to be trended in faceplate and in plot Define the list of faceplate trend tab Trend button

November 19th 2009UNICOS in depth71 Front-end/Device: trend DPE configuration

November 19th 2009UNICOS in depth72 Front-end/Device: faceplate trend configuration

November 19th 2009UNICOS in depth73 Device function call: device action Device action interface User log in/log out Device selected

November 19th 2009UNICOS in depth74 Device: access control Only for device Based JCOP access control Multi domain, 4 privileges/domain List of device action per privilege for all domain Device access rights: list of action for a given level of privilege and domain. Can be set during the import If not set: default behavior in functions.

November 19th 2009UNICOS in depth75 Device: action interface Panel panels/panels/vision/‘package’/‘preFix’‘DeviceType’_ButtonPanel.pnl Mandatory variables: g_bCallbackConnected: the state of the PVSS system g_dsUserAccess: to keep the device access rights g_sFaceplateButtonType: device type $-param: $sDpName device DP name Functions DeviceType ButtonUserAccess DeviceType UserLoginGetButtonState DeviceType ButtonSetState DeviceType ButtonRegisterCB DeviceType ButtonSetState DeviceType ButtonDisconnection Tips: Use as button name the device action name E.g.: SetValue, Select, Ack

November 19th 2009UNICOS in depth76 Device: action interface functions DeviceType ButtonUserAccess: evalScript When user log in/out no panel var, no $-param Must return the device access rights: list of allowed device actions unGenericDpFunctions_getAccessControlPriviledgeRigth: returns the list of actions for the 4 privileges If no device action defined, define the default behavior for the 4 privileges Kept in g_dsUserAccess and given to DeviceType ButtonSetState DeviceType UserLoginGetButtonState: evalScript When user log in/out Device action is opened no panel var, no $-param Must return the device state, same format as the var given to DeviceType ButtonSetState Kept in g_dsUserData DeviceType ButtonSetState: evalScript Parameter: device state, device action access rights Set the device action button according the access rights and the device state DeviceType ButtonRegisterCB: DistributedControl CB on device system name From device action panel Panel global var (outside main) allowed Check the state of the system: DISCONNECT: call ButtonDisconnection function DPCONNECT: Call DeviceType ButtonUserAccess, store the result in g_dsUserAccess, do dpConnect to the device data DPDISCONNECT_DISCONNECT: do dpDisconnect to the device data DeviceType ButtonDisconnection: evalScript Animate the disconnection state of the device action panel: all button disabled

November 19th 2009UNICOS in depth77 Front-end: access control Set buttons in front-end diagnostic panel: panels/vision/graphicalFrame/‘FrontEndType’_DiagnosticDetail.pnl Based on file access control 3 privileges, multi domain Functions: unGenericButtonFunctionsHMI_isAccessAllowed, unGenericButtonFunctionsHMI_getUnicosPriviledges unGenericDpFunctions_getAccessControlPriviledgeRigth, …

November 19th 2009UNICOS in depth78 Test: widget, faceplate, device action, access control, right click, snapshot Everything must be tested with local and remote PVSS system Test with remote system: panels, utilities opened since the beginning and before each step Remote system never connected Remote system connected the first time Remote system disconnected Remote system re-connected With simulator: PVSS scripts, PVSS panels, simulator, etc. With “”, unknown device, local device, remote devices, etc. as device identifier Document describing the tests

November 19th 2009UNICOS in depth79 1. Introduction 2. Concept of the core of UNICOS 3. What can be added/modified in package 4. New package: step by step description Introduction, rules and procedure Configuration Check, delete, import, export Front-end systemIntegrity Widget, faceplate, device action, right click, snapshot, trending Alarm list Alarm list CPC event list Packaging

November 19th 2009UNICOS in depth80 Device: alarm list DeviceType Acknowledge alarm: evalScript Returns the DPE to acknowledge and the action Function to create and configure alarm: unConfigGenericFunctions_setAlarmDescription, unConfigGenericFunctions_setDigitalAlert, unConfigGenericFunctions_setAnalogAlert

November 19th 2009UNICOS in depth81 1. Introduction 2. Concept of the core of UNICOS 3. What can be added/modified in package 4. New package: step by step description Introduction, rules and procedure Configuration Check, delete, import, export Front-end systemIntegrity Widget, faceplate, device action, right click, snapshot, trending Alarm list CPC event list CPC event list Packaging

November 19th 2009UNICOS in depth82 Device: CPC event list configuration CPC event list

November 19th 2009UNICOS in depth83 1. Introduction 2. Concept of the core of UNICOS 3. What can be added/modified in package 4. New package: step by step description Introduction, rules and procedure Configuration Check, delete, import, export Front-end systemIntegrity Widget, faceplate, device action, right click, snapshot, trending Alarm list CPC event list Packaging Packaging

November 19th 2009UNICOS in depth84 Package the development Package to be installed via the fwInstallation tool Package files: xml: list of all files of the package dpl: file to be ascii import Front-end/Device configuration, settings, trending, etc. Take care of setting, can be overwritten.config: list of libs to be added in the config file Dependencies, date.init: panel or script launched during the installation Useful to ask a confirmation from the user for settings Panel: cannot be executed in background.postInstall: post install script Set configuration: take care, settings can be overwritten Create the Windows and Linux OWS file Widget: widget file, png, param panels Faceplate, device action button, trend device panel Front-end diganostic Libs: device libs, front-end libs colorDB file, catalog file Test panel Front-end type bmp files Any utilities: scripts, panels, etc. Test: test the package on a new project!

November 19th 2009UNICOS in depth85 Questions? Web: Packages, 3.6SP2 & 3.8SP1, Doc on Device, Front-end, systemIntegrity Import/export: \\cern.ch\dfs\Departments\AB\Groups\CO\sections\IS\projects\U NICOS\PVSS\framework\documentation\UNICOS-2.0- Internal\Schneider_SIEMENS_PVSS-UNICOS-export.doc \\cern.ch\dfs\Departments\AB\Groups\CO\sections\IS\projects\U NICOS\PVSS\framework\documentation\UNICOS-2.0- Internal\Schneider_SIEMENS_PVSS-UNICOS-export.doc Proxy: \\cern.ch\dfs\Departments\AB\Groups\CO\sections\IS\projects\U NICOS\PVSS\framework\documentation\UNICOS-2.0- Internal\device-with-UNICOS.pdf \\cern.ch\dfs\Departments\AB\Groups\CO\sections\IS\projects\U NICOS\PVSS\framework\documentation\UNICOS-2.0- Internal\device-with-UNICOS.pdf UNICOS-HMI \\cern.ch\dfs\Departments\AB\Groups\CO\sections\IS\projects\U NICOS\PVSS\framework\documentation\UNICOS-HMI.pdf \\cern.ch\dfs\Departments\AB\Groups\CO\sections\IS\projects\U NICOS\PVSS\framework\documentation\UNICOS-HMI.pdf