Presentation is loading. Please wait.

Presentation is loading. Please wait.

Automatic Generation Tools UNICOS Application Builder Overview 11/02/2014 Ivan Prieto Barreiro - EN-ICE1.

Similar presentations


Presentation on theme: "Automatic Generation Tools UNICOS Application Builder Overview 11/02/2014 Ivan Prieto Barreiro - EN-ICE1."— Presentation transcript:

1 Automatic Generation Tools UNICOS Application Builder Overview 11/02/2014 Ivan Prieto Barreiro - EN-ICE1

2 UAB: UNICOS Application Builder Software factory used to develop UNICOS applications. Main features: Provide a unified and highly customizable code generation environment for PLC, SCADA and other UNICOS target platforms. Keep the internal UNICOS types and engineering/process knowledge separated from UAB to maximize reusability. Enforce input consistency and validity through automatic checking of syntax and grammar. Flexibility: Easy to adapt the framework for new UNICOS packages. Scalability: Modular architecture based on plug-ins. 11/02/2014 EN-ICE2

3 UAB Modular Architecture UAB Core Common utilities required by most of the plug-ins (user report, logging, …). Dynamically discovering the different plug-ins. Load the UNICOS project data. Connect plug-ins with external files (specs, device type definitions, …). UAB Plug-ins Platform dependent (Siemens, Schneider, WinCC O. A., …). The plug-ins define the structure and format of the generated files (XML, SCL, …). UAB Resources Set of resources required by the plug-ins. (Device Type Definitions, Jython Templates…). UAB Components Logical integration of UAB plug-ins. Friendly user interface (Wizard). Detected by installation and update tool (UAB Bootstrap). EN-ICE3 11/02/2014

4 Panel : WinCC Flex PLC: S7 SCADA : WinCC OA UAB Core CPC Wizard Inputs Specifications Device Instantiation Templates Process Logic Templates Baselines SCADA Touch Panel PLC Device Types Analog Alarm PID Control System Developer Outputs Control Application PLC S7 Application Generation Workflow Resources Component Plug-ins Core 11/02/2014 EN-ICE4

5 CPC Wizard Screenshots 5 11/02/2014 EN-ICE

6 UCPC Plug-ins The UNICOS CPC component includes the following plug-ins: Siemens PLC S7 Instance Generator S7 Logic Generator Schneider PLC Unity Instance Generator Unity Logic Generator CoDeSys (Twincat, SoMachine) CoDeSys Instance Generator CoDeSys Logic Generator SCADA WinCC OA Generator Touch Panel Generator (Magelis, TIA Portal, WinCC Flexible) General Purpose Expert User Generator EN-ICE6 11/02/2014

7 SCADA : EPICS PLC: S7 Panel : WinCC Flex SCADA : WinCC OA UAB Core CPC Wizard Inputs Specifications Device Instantiation Templates Process Logic Templates Baselines SCADA Touch Panel PLC Device Types Analog Alarm PID Outputs Control Application PLC S7 Use Case: New Target Platform Resources Component Plug-ins Core 11/02/2014 EN-ICE7 1.New target platform: EPICS 2.New plug-in: EPICS 3.New Wizard panel for EPICS 4.New Jython Templates for EPICS 5.New Baseline for EPICS

8 Plug-in & Templates Execution Flow EN-ICE8 11/02/2014 Execute template UAB Core Utilities Return Method call Method return Continue plug-in execution Method call Method return When the generate button is pressed, the wizard will call the plug-in associated with the panel to perform the generation. Call plug-in

9 UAB Plug-ins EN-ICE9 11/02/2014 Features Platform dependent (Siemens, Schneider, WinCC O. A., …). The plug-ins define the structure and format of the generated files (XML, SCL, …). Generation Workflow 1. Get the required parameters and data sources (specs file, templates location, output folder and output file(s) location). 2. Process the selected templates (global templates, device type templates, post- process templates). 3. Write the output files with the data provided by the templates. Reusability In some cases it is possible to reuse the same plug-in for different target platforms (when the plug-in functionalities are equal or very similar). Example: The CPC Touch Panel generator is used for several targets: Magelis, TIA Portal and WinCCFlexible.

10 Device Type Definitions EN-ICE10 11/02/2014 FEDeviceOutputs: Device output Interface isCommunicated: Front-end <> SCADA comm. isSpecificationAttribute: Spec fields

11 Jython Templates Features The templates are specialized scripts used to generate code for the target platform. The templates are located in the Resources Package (separated from the plug-ins). Different Nature Device Type Templates: Generate code related to an specific device type. One template for each existing device type. Global Templates: Used to generate code not related to the device types (like front-end configuration). Semantic Rules: Used to validate the user inputs. These templates are shared by all the plug-ins. EN-ICE11 11/02/2014

12 Device Type Templates EN-ICE12 11/02/2014 Generate code related to an specific device type. One template for each device type. Worksheet reference Getting data from the specs Getting device addresses Writing device importation line

13 Device Type Templates EN-ICE13 11/02/2014 Development for EPICS target platform: Try to reuse the existing plug-ins and device type templates (WinCC OA). Create a new CPC application using the CPC Wizard and resources package (v1.6.0) Modify the WinCCOA device type templates in the application folder to generate the required output for EPICS. If the generated file is plain-text (comma separated or similar)  Modification is straightforward. If the generated file is xml  Use a different API to create the files (IOutputFileBuffers @see Javadoc for UAB Core v1.5.2)@see Javadoc for UAB Core v1.5.2 Recommendation

14 EN-ICE14 11/02/2014 Questions?


Download ppt "Automatic Generation Tools UNICOS Application Builder Overview 11/02/2014 Ivan Prieto Barreiro - EN-ICE1."

Similar presentations


Ads by Google