1 / 85

In the depth of UNICOS …

In the depth of UNICOS …. How to create a new package. Hervé Milcent EN/ICE. Outline. Introduction Concept of the core of UNICOS What can be added/modified in package New package: step by step description Introduction, rules and procedure Configuration Check, delete, import, export

Download Presentation

In the depth of UNICOS …

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. Outline • Introduction • Concept of the core of UNICOS • What can be added/modified in package • 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 UNICOS in depth

  3. Introduction • Concept of the core of UNICOS • What can be added/modified in package • 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 UNICOS in depth

  4. 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 UNICOS in depth

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

  6. Supervision layer UNICOS CPC package U N I C O S UNICORE … Process control application Control layer PLCs CPC UNICOS framework: application • Set of package combined and configured together to produce control/monitoring application LHC GCS LHC Cryogenics UNICOS in depth

  7. 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 UNICOS in depth

  8. Introduction • Concept of the core of UNICOS • What can be added/modified in package • 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 UNICOS in depth

  9. 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 UNICOS in depth

  10. 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 UNICOS in depth

  11. 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 UNICOS in depth

  12. 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 UNICOS in depth

  13. 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 UNICOS in depth

  14. 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 UNICOS in depth

  15. Front-end device and device • Device type • Set of libraries • Recommended solution: load via the config file • “#uses keyword” • Set of panels • Configuration UNICOS in depth

  16. 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 00000 to 99999 • 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 UNICOS in depth

  17. 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 UNICOS in depth

  18. 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 UNICOS in depth

  19. Test • All panels, libs with different conditions • All possible errors • All possible cases • With simulated values • Document describing the tests UNICOS in depth

  20. Introduction • Concept of the core of UNICOS • What can be added/modified in package • 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 UNICOS in depth

  21. 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 UNICOS in depth

  22. 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 UNICOS in depth

  23. 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) UNICOS in depth

  24. Introduction • Concept of the core of UNICOS • What can be added/modified in package • 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 UNICOS in depth

  25. 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 UNICOS in depth

  26. 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 UNICOS in depth

  27. 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. UNICOS in depth

  28. 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. UNICOS in depth

  29. 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 UNICOS in depth

  30. 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 UNICOS in depth

  31. New Front-end • Create the device type: DPType • Set the front-end device definition • Create the front-end check, delete and import functions scripts/libs/‘preFix’Config‘FrontEndType’.ctl • Create the front-end export functions scripts/libs/‘preFix’ExportDevice.ctl • Create the front-end device functions scripts/libs/‘preFix’‘FrontEndType’.ctl • 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 • Create the faceplate panels/vision/graphicalFrame/‘FrontEndType’_DiagnosticDetail.pnl panels/vision/graphicalFrame/Faceplate‘FrontEndType’.pnl • Configure the trending • Create the front-end system integrity panels/vision/systemIntegrity/systemIntegrity_‘FrontEndType’_configurationl.pnl panels/vision/systemIntegrity/systemIntegrity_‘FrontEndType’_operationl.pnl • Test import, export, widget, faceplate, right click, etc. UNICOS in depth

  32. New device • Create the device type: DPType • Set the device definition • Set the JCOP device definition • Create the device check and import functions scripts/libs/‘preFix’Config‘DeviceType’.ctl • Create the device export functions scripts/libs/‘preFix’ExportDevice.ctl • Create the device device functions scripts/libs/‘preFix’‘DeviceType’.ctl • 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 • 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 • Create the device action interface, access control and functions panels/vision/‘package’/‘preFix’‘DeviceType’_ButtonPanel.pnl • Configure the trending • Create the treeDeviceOverview function • Test import, export, widget, faceplate, right click, etc. UNICOS in depth

  33. Introduction • Concept of the core of UNICOS • What can be added/modified in package • 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 UNICOS in depth

  34. ProcessInput: input DPE ProcessOuput: output DPE Front-end counter DPE: used in systemIntegrity Front-end/Device: DPType Mandatory DPE Selected state Device access right Device link Device log UNICOS in depth

  35. Front-end device definition • Configuration of the front-end device type • Function, proxy device type, etc. UNICOS in depth

  36. Device definition • Configuration of the front-end device type • Function, proxy device type, etc. UNICOS in depth

  37. Device: JCOP device definition panels/fwDevice/fwDeviceRegisterType.pnl • Set the archive config UNICOS in depth

  38. Introduction • Concept of the core of UNICOS • What can be added/modified in package • 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 UNICOS in depth

  39. 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 2008.06.01 22:03:40 # # Device type: S7_PLC # #Delete;PLC_Quique;Sector81; PLCCONFIG;S7-300;PLC_Quique;Sector81;0A;0;3;10;0;0;AB;500;137.138.37.232;DB10.DBD0;DB10.DBW20;DB10.DBW30;DB10.DBW40;DB10.DBD4F;0.1;2; # FESystemAlarm (SystemAlarm) #For S7-300 1 SystemAlarm;1;TEST_PLC_Comm_Status_with_FES7;DB1.DBW0;TRUE;Communication state with other FE; #For S7-300 2 SystemAlarm;2;pb1;DB11.DBW30;TRUE;this is a positive alarm; #For S7-300 3 SystemAlarm;3;pb2;DB11.DBW20;FALSE;this is a negative alarm; #For S7-300 4 SystemAlarm;4;positive_true;DB11.DBW10;TRUE;hola positive_true; # # Database PVSS generated at 2008.06.01 22: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 2008.06.01 22: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;..; …… UNICOS in depth

  40. 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 UNICOS in depth

  41. 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; UNICOS in depth

  42. 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 UNICOS in depth

  43. Front-end/Device data flow: delete • Front-end type • Delete front-ends and devices • Application, device type, number • sim driver and dist not running UNICOS in depth

  44. 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 UNICOS in depth

  45. Front-end/Device data flow: import • Front-end type • With/without check • sim driver and dist not running UNICOS in depth

  46. 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; UNICOS in depth

  47. 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 UNICOS in depth

  48. 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. UNICOS in depth

  49. 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 UNICOS in depth

  50. Introduction • Concept of the core of UNICOS • What can be added/modified in package • 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 UNICOS in depth

More Related