Resolving iFix IGS and ControlLogix Analog Output Rounding Issues

Question:

Hello everyone, I am currently facing a challenge with my ControlLogix system integrated with iFix 4.5 via the IGS driver. Within my iFix application, I have a button designed to transmit data to the PLC through the IGS interface. However, I've encountered an issue where the Analog Output (AO) data type from iFix is being rounded, despite the corresponding tag in the PLC being configured as REAL. I would greatly appreciate any insights or suggestions to resolve this issue. Thank you, Carlos

Top Replies

What is the precision level of the number being represented? It's important to note that 32-bit floating-point numbers offer a precision of up to 5 decimal places. This assumes that the Analog Output is utilizing a Float or Real data type as well.

Thank you, Fred, for your response. The problem I'm encountering is that when I input 0.75, the ControlLogix interprets it as 1.00. Similarly, if I enter 1.5, the PLC only reads it as 1.00, and for 0.50, it displays 0.00. I believe this explanation clarifies my situation more effectively.

Are you confirming whether the item in Controllogix is classified as a real variable, or are you merely designating the tag as a real in the IGS system? Additionally, have you implemented any signal conditioning on the analog output that could be affecting the value transmitted to the PLC? Lastly, to check the version of IGS you’re using, navigate to Help > About.

I'm not well-versed in ifix HMIs, but I can confidently say that ControlLogix systems excel at processing Real data types. It seems that the issue may lie within the ifix configuration. Traditionally, analog values have been represented by integers. Is it possible for you to modify the Data Type within the ifix system? If that's not an option, you might consider inputting the value as a scaled integer and then dividing it by another Tag to convert it into your Real Tag in the ControlLogix. For instance, you could input 542 and then divide by 100 to obtain a value of 5.42. Best of luck!

Are you transferring data in VBA, or are you inputting it through a numeric data link object via the user interface? If you are using the first method, review your VBA code to verify that you are not assigning analog data to an unsuitable data type, which can lead to truncation or rounding errors. Additionally, consider appending the @Float specifier to the end of your input/output address field in the iFix database tag, for example: Channel.Device.AnalogRegister@Float. This can enhance the accuracy of your data representation.

Hi Carlos, that sounds frustrating! One thing you might want to check is the scaling and formatting settings in your iFix project for the AO tag. Sometimes, iFix can apply default formatting that causes unexpected rounding. Also, ensure that the data type mapping in the IGS setup is correctly configured to match the REAL type in your PLC. It might help to look into the documentation for both iFix and the IGS driver for any specific nuances regarding floating-point handling. Good luck!

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.

You must be a registered user to add a comment. If you've already registered,
sign in. Otherwise, register and sign in.

Frequently Asked Questions (FAQ)

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  →