Issue with CCW Software Version 22.00.00: EQL Instruction Stuck as True Despite Inputs Being Not Equal

Question:

Version 22.00.00 of the software is experiencing an issue where the "EQL" instruction is incorrectly evaluating as true even when the inputs are not equal. Input #1 is a Dint Tag, while Input #2 is static. Different values are being input into Tag #1 and updating correctly. The "EQL" comment is typically used at the beginning of the rung, but even with Input #1 equal to 0 and Input #2 static at 25, the rung is still evaluating as true.

Top Replies

Could you kindly share the code online with the input values displayed? I am not very experienced with the EQL "instruction" in CCW.

Apologies, EQU instead of EQL - Understanding the Difference and How it Impacts Your Results

Step 35 in your PLC program is straightforward, with only one subtraction instruction. The remaining part of the rung focuses on managing steps. If other parts of your logic follow a similar pattern of sequential evaluations, keep in mind that a significant portion of your sequence can be executed in a single scan. This may result in multiple repetitions of the sequence instead of an "stuck" EQU situation. When constructing sequence steps in this manner, timer and counter instructions may not experience rung-in-false conditions.

In the world of PLC programming, timing plays a crucial role as the scan cycle acts as the heartbeat of the process. PLCs are known for being discrete devices, meaning they can only perform one task at a time. When monitoring something in the online mode of CCW, it's important to remember that the information displayed is sampled at a specific point in time. This means that even if a sequence step tag appears in multiple instructions, it doesn't mean it was the same value at the time of evaluation. Take a look at the attached program and images for a clearer understanding. The PDF shows the static program, while the PNG files capture instant snapshots of the program in action. Pay close attention to how the value of the step tag changes throughout the program, while the online display shows a sampled value at a specific time point. This discrepancy can lead to confusion, such as when an EQU comparison instruction shows a displayed value of 0 for the step tag being equal to 1, 2, or 3. This discrepancy occurs because at the time of evaluation, the step tag had different values than the displayed 0.

When considering a program and its online state, it is important to note that reversing the steps can impact the evaluation of EQU comparisons. In this scenario, only one step's EQU comparison can be True for a single scan sequence. For example, if step 1 is being evaluated, the value of step will be incremented to 2 at the end of the rung guarded by EQU step 1. Since the rung with EQU step 2 is executed before the rung with EQU step 1 in a single scan cycle, the EQU step 2 will not be evaluated and produce a True result until the next scan cycle. In the online state image provided, step is displayed as 2, while step initial, step 3, and step 2 are displayed as 1. This indicates that step was 1 at the beginning and 2 at the end of the scan cycle when it was sampled for online mode display. The comparison for rung 3 (EQU step 3) is True, while the comparison for rung 5 (EQU step 2) is False, suggesting that the online states of the rungs are sampled asynchronously at different times from the tags. Overall, using the online mode display may not always provide an accurate representation of a running PLC program's state. This highlights the importance of being able to predict the program's behavior over time in PLC programming, as timing is crucial in determining the outcome of events.

It's certainly puzzling that the "EQL" instruction is evaluating as true in these circumstances. I'm wondering if there might be discrepancies in data type handling or conversion that's causing this issue. You could try clearing the cache or resetting the system to see if this resolves the problem. Alternatively, you might want to verify if there are any additional conditions contributing to the rung's evaluation. It might be worth looking into the possibility of a potential bug with Version 22.00.00, too.

That definitely sounds like a frustrating bug. You might want to try applying the updated patch which the developers recently released as it claims to specifically address some discrepancies with the "EQL" function. If the problem persists, I would suggest raising a ticket with the support team - providing as many details as possible about your Static and Dint tag inputs - as this could potentially be an unreported issue with this particular software version. Until it's resolved, an alternative approach might be to use the "NEQ" instruction in conjunction with the “OTE” to simulate the "EQL" function, which might get your rung logic working as expected.

I've noticed this anomaly as well. It seems the "EQL" instruction is currently acting more as "ALWAYS TRUE" in this version. Have you tried using a workaround in the meantime, like using a comparison block instead until they can roll out a fix? It's not ideal, but in a pinch, it gets the job done. Also, I think it's worthwhile to report this bug to the software development team, if you haven't done so already. They might not be aware of this particular problem.

That sounds really frustrating! It might be worth checking if there’s some kind of type mismatch happening with the Dint Tag in Input #1 or if there's an unintended data conversion in play. Sometimes, software updates can lead to unexpected bugs like this, and it could also be a good idea to review any recent changes in logic or configurations. Have you tried testing with different value types or restarting the software? That might help isolate the issue further.

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: 1. What is the specific issue with CCW Software Version 22.00.00 mentioned in the discussion thread?

Answer: Answer: The issue is related to the "EQL" instruction incorrectly evaluating as true even when the inputs are not equal.

FAQ: 2. Which inputs are causing the problem in CCW Software Version 22.00.00?

Answer: Answer: Input 1 (a Dint Tag) and Input 2 (static value) are causing the problem, where despite different values being input into Tag 1, the "EQL" instruction is still evaluating as true.

FAQ: 3. How is the "EQL" instruction typically used in the software rung?

Answer: Answer: The "EQL" instruction is typically used at the beginning of the rung to compare two values for equality.

FAQ: 4. What is an example of the issue described in the thread, where Input 1 is 0 and Input 2 is static at 25, yet the rung evaluates as true?

Answer: Answer: The problem occurs when Input 1 is set to 0 and Input 2 is set to a static value of 25, but the "EQL" instruction incorrectly evaluates as true despite the inputs not being equal.

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  â†’