Hello, I am experiencing difficulties in Crimson 3.0 while trying to create a program with a case statement that references a fault word to change the state of a flag tag, which should trigger an alarm in the banner. I am unsure of how to properly configure the flag tag despite confirming that the syntax in my script is correct. When I input the corresponding value into a setpoint, no alarms are being triggered. I have sought assistance from my tutor, but unfortunately, he has not been able to provide much help with this issue.
Do you have a copy of your red file that you can share? I usually create alarms at the tag level by referencing individual faults using bits. By assigning the word from the field device to one tag, and treating the bits as flag tags with the data source pointing to that integer tag as a bit array, I can specify the bit number for each fault. For codes, I use a multi-state object and list all the faults as states, then use an expression in the Event Name field on the alarm tab that includes the tag value. This ensures that each unique alarm is displayed in the event viewer and alarm banner, without the need for complicated expressions or programs with case statements.
Could you provide a demonstration of this concept?
Taintd asked for an example of a common practice in system organization. Here is an instance: when setting up a system with multiple pumps, I used a structured folder and tag system for each pump, along with widgets for display. To personalize the pump names, I utilized a memory string tag named "Title" instead of generic names like "Pump 1" and "Pump 2". The end users preferred names like "West" and "East", so by changing the data source of the Title tag, I was able to easily update the names throughout the system. By nesting another Title tag within the root Title tag, I ensured consistency across tags, alarms, and widgets. While this may seem like excessive indirection, it ultimately simplifies data entry for alarms and status updates.
When writing integer values using memory tags in Crimson software, it may seem illogical as it requires specific values like 2, 4, 8, 16, or 32 to trigger alarms. However, by inputting a different value, such as 3, into the fault word, the corresponding fault_3 flag tag alarm can be activated. An example of utilizing bit and word alarming is demonstrated with a system containing two pumps. A structured folder and tag system is used for each pump, with a memory string tag named Title for customizable pump names like "West" and "East". By referencing this title tag throughout other tags, alarms, and widgets, changing the data source of the Title tag allows for easy customization of pump names. Despite using nested tags for indirection, this approach simplifies the entry of strings in alarms and status words.
Taintd mentioned that they are capable of writing integer values using a memory tag in Crimson, but they are facing difficulty as the logic behind it seems unclear. In order to trigger the correct alarm, they need to input values like 2, 4, 8, 16, or 32. However, when they input a value like 3, it does not activate the corresponding fault_3 flag tag alarm as expected. It appears there may be confusion regarding the source and data type of the alarm. In some cases, different bit values can represent various conditions, leading to multiple alarm events simultaneously. On the other hand, a fault code typically assigns a unique integer value to a single fault condition. In Crimson, you can set up fault codes using a multi-state format, with the fault description included in each state's Text field. By selecting event mode "Data Mismatch" and setting the value to 0, you can reference the tag's value using AsText to display the corresponding fault description in the alarm banner and list objects. This method ensures that the alarm reflects the intended information accurately.
Hi there, it sounds like a tricky issue. One possibility could be that the fault word isn't correctly linked to the flag tags. You might want to double-check the association between the two. Also, make certain that the flag tag's visibility is configured correctly, some configurations might inhibit alarm triggering if the visibility is set wrongly. Remember, in Crimson 3.0, once a flag tag is set, it will remain set until it is explicitly reset. So, you might also want to check in your program that nothing is immediately resetting the flag after it gets set. Hope this gives you a starting point!
Hi there, it sounds like you're having quite a specific issue. When it comes to debugging software like Crimson 3.0, there are a lot of factors to consider. However, the problem might lie in the way you've linked your flag tag to the alarm trigger. Double-check that the reference between the flag status and alarm trigger is in place. Sometimes, what seems like a syntax problem is actually related to how the flag is configured to trigger the alarm. You might also want to review your fault word and the setpoint value, just in case there's a mismatch preventing the alarm. Lastly, keep in mind that the software might not update in real time, so make sure to save, exit, and restart the application to allow the changes to properly register.
Hello! It's a common issue and somewhat tricky if you're new to Crimson 3.0. Let's see if we can troubleshoot this together. Firstly, make sure your fault word is correctly referenced in your case statement. If you've confirmed that, then let's check your configuration for the flag tag. Since Crimson largely uses Tag Name, Name, and Tag Type for flags, it's important to check that these fields are correctly filled out. Furthermore, ensure that your alarm settings have been correctly linked to the flag tag. Keep in mind, the flag tag value in your script should match exactly with the setpoint input value for the alarm to be triggered. Hope this helps!
It sounds frustrating to hit a roadblock like that! Have you double-checked if the fault word is correctly mapped to the flag tag in your configuration settings? Sometimes, the issue can be with how the tags are linked or their data types. Also, ensure you have the alarm conditions set up properly in the alarm configuration section—it might be worth revisiting those settings or even looking at the event logs to see if there are any clues about what's going wrong. Don't give up; troubleshooting these issues can be tricky, but they often lead to valuable learning!
It sounds like you've done a lot of troubleshooting already! One thing to double-check is whether the flag tag is properly linked to the alarm conditions. Sometimes it's easy to overlook the connection settings in Crimson. Also, make sure that the alarm settings for the specific tag are correctly configured in the Alarm section. If everything looks good there, it might help to add some debugging outputs in your case statement to see if it’s actually hitting the conditions you expect. Good luck!
✅ Work Order Management
✅ Asset Tracking
✅ Preventive Maintenance
✅ Inspection Report
We have received your information. We will share Schedule Demo details on your Mail Id.
Answer: - To create a program with a case statement in Crimson 3.0 to trigger alarms based on a fault word, you need to properly configure a flag tag that changes state according to the condition specified in the case statement. Ensure the syntax in your script is correct and that the flag tag is linked correctly to the alarm trigger in the banner.
Answer: - If alarms are not being triggered in Crimson 3.0 despite inputting the correct value into a setpoint, there may be an issue with the configuration of the flag tag or the alarm trigger setup. Double-check the syntax in your script, verify the linkage between the flag tag and the alarm trigger, and ensure that the fault word is correctly referenced in the case statement.
Answer: - If you are facing difficulties in triggering alarms using a case statement in Crimson 3.0, you can troubleshoot by confirming the correctness of the script syntax, checking the configuration of the flag tag, verifying the linkage to the alarm trigger, and ensuring that the fault word is properly referenced in the case statement. You may also
Join hundreds of satisfied customers who have transformed their maintenance processes.
Sign up today and start optimizing your workflow.