1 / 15

CPC WinCC OA evolution

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.

wyatt
Download Presentation

CPC WinCC OA evolution

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. CPC WinCC OA evolution

  2. 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

  3. Presentation plan • CPC core library • Workflow for device creation

  4. Device type on the SCADA • DataPointType • Config library • Importation/exportation • Animation library • Widget • Faceplate • FW and UN configuration

  5. 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.

  6. 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

  7. 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

  8. 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.

  9. unPackageCreation GUI

  10. unPackageCreation classic workflow Template unPackageCreation Package skeleton * should be modified with implementation details

  11. unPackageCreation workflow with DTI Template unPackageCreation The package * ready to use DTI Device specific data

  12. 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

  13. 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>

  14. 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"); ….

  15. Development workflow Template DTI unPackageCreation Package one click PVSSBootstrapper flex extractor PVSS Project

More Related