150 likes | 366 Views
CPC WinCC OA evolution. Acknowledgments. Herve Milcent , EN-ICE-SIC UNICOS Cyril Caillaba , EN-ICE-SCD unPackageCreation Bartlomiej Urbaniec , EN-ICE-SIC Flex Extractor Axel Voitier , EN-ICE-SCD PVSSBootstrapper Marco Boccioli , EN-ICE-SCD testing/review. Presentation plan.
E N D
Acknowledgments Herve Milcent, EN-ICE-SIC UNICOS Cyril Caillaba, EN-ICE-SCD unPackageCreation Bartlomiej Urbaniec, EN-ICE-SIC FlexExtractor Axel Voitier, EN-ICE-SCD PVSSBootstrapper Marco Boccioli, EN-ICE-SCD testing/review
Presentation plan • CPC core library • Workflow for device creation
Device type on the SCADA • DataPointType • Config library • Importation/exportation • Animation library • Widget • Faceplate • FW and UN configuration
WinCC-OA CPC core • Goal: hide or reduce this complexity for CPC developers • Clear mnemonic API of CPC core • proxy to unCore or ported functions • take care of unwanted code • Importation is configuration driven • no check/set redundancy • no code needed, CPC core does all the work • Animation is simplified • one line per one graphical object • no callback code Minimizing amount of technical code.
Device configuration CPC UNICOS unConfigAnalog_setConfig unConfigAnalog_checkConfig _UnPlc_Analog_setConfig _UnPlc_Analog_checkConfig S7_PLC_Analog_setConfig S7_PLC_Analog_checkConfig • CPC_AnalogConfig_getConfig • CPC_AnalogConfig_getParamNames • CPC_AnalogConfig_checkConfig • S7_PLC_CPC_Analog_checkConfig • _UnPlc_CPC_Analog_checkConfig • CPC_AnalogConfig_checkCustomConfig* • CPC_AnalogConfig_setConfig • S7_PLC_CPC_Analog_setConfig • _UnPlc_CPC_Analog_setConfig • CPC_AnalogConfig_setCustomConfig* • CPC_AnalogConfig_ExportConfig • S7_PLC_CPC_Analog_ExportConfig • _UnPlc_CPC_Analog_ExportConfig * for optional; colored for those who should be touched by user
Device animation CPC UNICOS unAnalog_WidgetRegisterCB unAnalog_WidgetConnect unAnalog_WidgetAnimationCB unAnalog_WidgetAnimationCB_1Ctrl unAnalog_WidgetAnimationCB_2Ctrl unAnalog_WidgetDisconnect unAnalog_WidgetDisconnection • CPC_Analog_WidgetRegisterCB • CPC_Analog_WidgetInitStatics • CPC_Analog_WidgetDPEs • CPC_Analog_WidgetAnimation • CPC_Analog_WidgetDisconnection * for optional; colored for those who should be touched by user
Equator So now you have an idea of the platform for device creation. Let’s talk about the workflow. I shall introduce unPackageCreation tool, show the screenshot and few diagrams.
unPackageCreation classic workflow Template unPackageCreation Package skeleton * should be modified with implementation details
unPackageCreation workflow with DTI Template unPackageCreation The package * ready to use DTI Device specific data
Challenge Generate device ready to use. Template + DTI = Package Pros: • Template’s update is possible for existing package • DTI can be generated with a third tool • Implementations can be easily crosschecked Cons: • Maintenance of DTI
DTI xml <deviceType> <script name="TAG_SCRIPT_DEVICE_TYPE_constants"><![CDATA[ const unsigned UN_CONFIG_CPC_ANALOG_LENGTH = 23; … </script> … <script name="TAG_SCRIPT_DEVICE_TYPE_FaceplateStatusAnimationCB"><![CDATA[ cpcFaceplate_animateOnlineValue(dpes, values, "PosSt", g_params["PosStUnit"], g_params["PosStFormat"], "cpcColor_Faceplate_Status"); cpcFaceplate_animateOnlineValue(dpes, values, "PLiOn", g_params["PLiOnUnit"], g_params["PLiOnFormat"], "unDisplayValue_Parameter"); … <script> </deviceType>
Generated Device.ctl // Constants const string UN_CONFIG_CPC_ANALOG_DPT_NAME = "CPC_Analog"; //begin_TAG_SCRIPT_DEVICE_TYPE_constants const unsigned UN_CONFIG_CPC_ANALOG_LENGTH = 23; … //end_TAG_SCRIPT_DEVICE_TYPE_constants … CPC_Analog_FaceplateStatusAnimationCB(dyn_stringdpes, dyn_anytype values) { //begin_TAG_SCRIPT_DEVICE_TYPE_FaceplateStatusAnimationCB cpcFaceplate_animateOnlineValue(dpes, values, "PosSt", g_params["PosStUnit"], g_params["PosStFormat"], "cpcColor_Faceplate_Status"); cpcFaceplate_animateOnlineValue(dpes, values, "PLiOn", g_params["PLiOnUnit"], g_params["PLiOnFormat"], "unDisplayValue_Parameter"); ….
Development workflow Template DTI unPackageCreation Package one click PVSSBootstrapper flex extractor PVSS Project