The Object Oriented Alarming (OOA) Library of ControlSphere Engineering enhances the CODESYS Alarm Manager to allow objects (Function Blocks) to create and activate their own alarms.
This library provides access to the best features of the Alarm Manager (such as Alarm Classes, Actions, Acknowledgment, Archiving, and Visualization integration) while eliminating the need for the PLC programmer to manually create and maintain alarm lists separate from the control code.
After the order the software will be delivered by the manufacturer (ControlSphere LLC) to the customer.
(limited to four alarms, 3 classes, 5 groups, and 4 alarms per group)
100 Alarm compiled Site License
(limited to 100 alarms in each of 3 classes, 10 groups, and 10 alarms per group)
200 Alarm compiled Site License
(limited to 200 alarms in each of 3 classes, 20 groups, and 20 alarms per group)
Unlimited source code site license is available from ControlSphere.
Object-based programming has become the standard in worldwide IT software programming and is rapidly being adopted into PLC programming. To see the benefits of object-based programming and examples of how this looks in the world of industrial controls programming, please view these videos and articles:
Object Oriented Industrial Programming with CODESYS - Simulation and Configuration
Object Oriented Industrial Programming (OOIP) – March 2021 CODESYS Tech Talk
Leverage object-oriented industrial programming
The CODESYS IDE includes a full-featured Alarm Manager that has a tight integration into the CODESYS Visualization. Unfortunately, the CODESYS Alarm Manager does not provide a way for objects to create and activate their own alarms, and hence does not work well in an object-based design environment.
The ControlSphere Object Oriented Alarm (OOA) Library addresses this issue while maintaining the ability to use the best features of the CODESYS Alarm Classifications, including Class Actions, Class Acknowledgment options, Alarm Archiving, Alarm Banners, and Alarm Tables. The OOA library may also be used in conjunction with traditional Alarm Management alarms. The OOA library provides programming objects (Function Blocks) the ability to register their alarms during global initiation, and then activate and deactivate those alarms during runtime. The alarms may have fixed messages that are specified during registration, or dynamic messages that are formatted during runtime.
When an OOA alarm is activated, it triggers all the same functionality as would a traditional alarm from the CODESYS Alarm Manager. Actions, Acknowledgments, and Archiving set up in the Alarm Class are executed and recognized, and the alarm is displayed in the visualization Alarm Banner and Alarm Table.
The OOA also provides the ability to perform Alarm Rollup where alarms are assigned to one or more groups during global initiation, and then those groups can be queried during runtime to see if any alarms in that group is active. Once the OOA library features are applied to a Function Block, all the alarms for that FB are automatically created for each instance of that Function Block. There is no need to manually add each alarm to a separate alarm table. This tedious and error prone process is eliminated. The resulting growth in complexity that limits the size of traditional PLC programs is also eliminated.
The ControlSphere Object Oriented Alarming library provides the best of both worlds – the best of the CODESYS built-in Alarm Manager along with the ability to use the Alarm Manager in an object-based PLC design. See this video for more details: www.controlsphere.pro/video/OOA.
CODESYS Development System V220.127.116.11
CODESYS Control V18.104.22.168
Supported Platforms / Devices
License valid for unlimited number of products developed by a single development team originating from a single site.
OOA library source code must be compiled before being released outside the development team
The CODESYS Development System is the IEC 61131-3 programming tool for industrial control and automation technology, available in a 32-bit and a 64-bit version.