Cacophony is a quasar extension module helping with integration of quasar-made OPC-UA servers into WinCC OA SCADA.
Tutorial: https://www.youtube.com/watch?v=g2LWOx1BufI
- Clone it in your quasar project directory
- From your quasar project directory run:
python3 Cacophony/generateStuff.py - All CTL files in
Cacophony/generatedare what is needed to make WinCC OA project profit from that particular quasar OPC-UA server. - For a detailed reference, see: https://www.youtube.com/watch?v=g2LWOx1BufI
By default, Cacophony uses Design/Design.xml (user design only). If you need to include quasar's internal meta-design classes in your generation:
Run with the --use_design_with_meta flag:
python3 Cacophony/generateStuff.py --use_design_with_meta
This will:
- Merge
Design/Design.xmlwithMeta/design/meta-design.xml - Create
Design/DesignWithMeta.xmltemporarily in your Design folder - Use the merged design for code generation
- Automatically delete
DesignWithMeta.xmlafter successful generation
Cacophony now parses design-instantiated children of configuration-instantiated objects
Use case example:
- A class
AMACis instantiated from configuration XML AMAChas children (e.g., 4HVSwitchobjects) instantiated from design
In this scenario, Cacophony will:
- Parse configuration XML to create
AMACinstances - Automatically instantiate design-defined children for each
AMACinstance
Thanks to iTk Strips team (and more specifically to Kees Benkendorfer) for their contribution
If you need to include calculated variables in your generation:
Run with the --config_file option and provide a configuration XML file,
python3 Cacophony/generateStuff.py --config_file config.xmlThis will:
- Detect unique calculated variable profiles per class
- Generate separate DPTs for each profile (e.g.,
[<DPT_prefix>]classname_CVX) - Generate the appropriate configuration based on each profile classification