Troubleshooting Alarm Display Issue in CCW

Question:

Hello, I am working on setting up an alarm queue in CCW. While I have successfully implemented the FFL and FFU functions, I am facing an issue where the alarm string is not being displayed alongside the alarm. Any suggestions on how to resolve this issue? In the past, I was able to accomplish this using a Control data type and a BSR. Unfortunately, CCW lacks some of the tools available in RSLogix 500 or Studio, making it challenging to replicate the same code structure.

Top Replies

How are you presenting the alarm message on your HMI? Utilizing a DINT tag in CCW as the trigger can be an effective method. Consider storing the alarm message in the PLC using a DINT tag and creating a loop in structured text (ST) to transfer the alarm text to an Alarm_Display string tag. By doing so, you can easily display the current alarm based on its corresponding DINT tag. This approach simplifies the process and ensures that only one tag, Alarm_Display, is needed to showcase the alarm information. If you are using the free version of CCW, you may need to use ladder logic instead of structured text, although it may be a bit more complex and time-consuming to set up. Keep in mind the limitations of the free version of CCW when implementing these strategies.

SCADA expert, SCADA_Joe, suggests a more efficient way to display alarm messages using a Cmore RHMI panel. Instead of directly displaying the alarm string, it is recommended to store the alarm message in the HMI's alarm configuration and use a DINT tag in CCW as the Trigger for the alarm. An alternative approach is to utilize a DINT tag in the PLC for the alarm and implement FFL/FFU operations followed by creating a loop in structured text (ST) to transfer the alarm text to a new "Alarm_Display" string tag. This method ensures that only one tag is used to display the current alarm based on its corresponding DINT tag. If the free version of CCW is being used, ST may not be available, but the same logic can be implemented in ladder logic, albeit with a bit more effort. In the case of multiple alarms, holding and displaying the message as it transitions through will be beneficial. Feel free to ask for an example of the ST loop to refine your implementation.

I currently do not have a CCW, so I am unable to verify the syntax. However, I hope this guidance leads you in the right direction for what I have in mind. In this array, all the alarm text is stored. The following is an example of a loop that iterates through numbers 0 to 100 until it matches the current value of Alarm_Trigger from your FFL/FFU alarms. Once a match is found, it will retrieve the corresponding Alarm_Registry[x] text and populate the Alarm_Text field. This Alarm_Text is what will be displayed on the HMI. It may be beneficial to incorporate some logic to clear the alarm text and potentially use timers to cycle through, although the existing setup may suffice for that purpose. // Loop example FOR x := 0 TO 100 BY 1 DO; IF Alarm_Trigger = x THEN; COP(Alarm_Registry[x], Alarm_Text, Alarm_Registry[x].LEN); END_IF; END_FOR;

JamesV inquired about using a Cmore RHMI and is struggling with code differences between CCW and Rockwell's other platforms. He is seeking an example of the ST Loop and currently uses a UDint for alarms in the FFL/FFU. The current process involves moving the Alarm String to a holding place for reading by the HMI, where it displays the ST for 4 seconds upon FFU activation. However, JamesV is open to looping the process for multiple alarms, wanting to display messages as they shift through.

SCADA_Joe mentioned that although he doesn't currently have CCW, he provided an array that contains all the alarm text needed. The code example demonstrates how to cycle through values until it matches the Alarm_Trigger value from the FFL/FFU of alarms. This will then populate the Alarm_Text with the corresponding text from Alarm_Registry[x] to be displayed on the HMI screen. It is advisable to include logic to clear the alarm text and potentially use timers to cycle through the messages. The existing code may suffice for this purpose. The loop example shown below helps in achieving this functionality effectively: ============ // Loop example FOR x := 0 TO 100 BY 1 DO; IF Alarm_Trigger = x THEN; COP(Alarm_Registry[x], Alarm_Text, Alarm_Registry[x].LEN) END_IF; END_FOR; =========== Feel free to refer to the attached image (View attachment 69681) for more clarity.

I've run into this issue before in CCW. A few things you might want to check: verify that your alarm string configuration is correct, inclusive of language of the string, enable/disable status, and alarm severity. Additionally, ensure that the datatype of your alarm variable coincides with that of your string. If these setups are correct, check to see that your alarm queue's size is not full - alarms might fail to be registered if the queue has reached its capacity. You might want to manage the queue by regularly clearing out 'acknowledged' or obsolete alarms to release space for incoming ones. If none of these work, there could potentially be a software bug - seeing if there are updated patches or newer versions of CCW might resolve the issue.

More Replies →

Streamline Your Asset Management
See How Oxmaint Works!!

✅   Work Order Management

✅   Asset Tracking

✅   Preventive Maintenance

✅   Inspection Report

We have received your information. We will share Schedule Demo details on your Mail Id.

To add a comment, please sign in or register if you haven't already..   

Frequently Asked Questions (FAQ)

FAQ: FAQs:

Answer: 1. How can I resolve the issue of the alarm string not being displayed alongside the alarm in CCW? - Answer: One suggestion to resolve this issue is to explore alternative methods within CCW that may help display the alarm string, as CCW may lack some tools available in RSLogix 500 or Studio.

FAQ: 2. Is it possible to implement the alarm string display using Control data type and BSR in CCW?

Answer: - Answer: While CCW may lack some of the tools available in RSLogix 500 or Studio, you can try to adapt your approach within CCW to achieve the desired alarm string display using alternative methods.

FAQ: 3. What are the differences in functionality between CCW, RSLogix 500, and Studio in terms of setting up alarm queues?

Answer: - Answer: CCW may have differences in tools and functionality compared to RSLogix 500 or Studio, which can present challenges in replicating code structures. Exploring CCW-specific features and workarounds may be necessary to address these differences.

Ready to Simplify Maintenance?

Join hundreds of satisfied customers who have transformed their maintenance processes.
Sign up today and start optimizing your workflow.

Request Demo  â†’