Resolving Modicon 984 PLC B875-102 Analog Input Issues: Why Zero Reads as 32,768

Question:

As a Navy Electronics Technician (ET) working for a cyclotron operating company, I encounter an issue with our Modicon 984 PLCs, specifically with the B875-102 fast analog input module. This problem is widespread among our systems. Currently, when our analog inputs drop to zero, the PLC register shows a value of 32,768, which appears to reflect the full range rather than the expected zero. Consequently, our meters and display bars erroneously spike to full scale instead of indicating the expected zero output. Is this behavior a known characteristic of Modicon PLCs, or could it be a misconfiguration on our part? Is there a viable solution to ensure that a reading of zero corresponds accurately to the actual input of zero?

Top Replies

The underlying issue is relatively straightforward, but implementing a solution may prove to be more complex. It appears that your analog readings are dipping into negative territory, resulting in their respective register values translating to significantly high negative numbers. For instance, while 0 is represented as 0000 in hexadecimal, -1 is denoted as FFFF. To resolve this, it's essential to modify your displays to accommodate negative values in the analog inputs. This will necessitate adjustments to your programming.

We utilize Wonderware as our Human-Machine Interface (HMI), but it appears to struggle when handling mixed signal types—specifically, negative and positive values within the same register. Consequently, we've configured all our inputs to operate within a range of 0-10V, which aligns with the outputs from our vacuum and power supply status signals. Given this 0-10V configuration, how is it possible for the readings to show negative values? Could this indicate an error or anomaly in the system?

Lantheus stated: "I am an Electronics Technician (ET) serving in the Navy and currently employed by a company that operates cyclotrons. We utilize Modicon 984 PLCs, specifically the B875-102 fast analog input module, although this issue is relevant across the board. I've observed that when our analog inputs fall to zero, the PLC register reads 32768, which I believe represents the full scale. Consequently, the meters and display bars erroneously jump to their maximum values instead of correctly displaying zero. Is this merely a characteristic of the Modicon system, or could there be a misconfiguration within our setup? Can anyone suggest solutions to ensure that a zero reading accurately reflects zero? To elaborate, this issue isn't exclusive to Modicon systems. In my previous experience, I've successfully transferred analog inputs to holding registers and inputted a zero into the register whenever the analog value was less than or equal to zero. This approach prevented the maximum value from being displayed as an unsigned integer when the analog input value dipped below zero."

Lantheus stated that they utilize Wonderware as their Human-Machine Interface (HMI), but it appears to struggle with processing both positive and negative values within the same register. This is the reason all their inputs are configured for a range of 0-10V, which aligns with the outputs from their vacuum and PS status systems. Given that the system operates on a 0-10V basis, how could it be encountering negative values? Is this possibly indicative of a faulty error signal? To elaborate, most analog modules are designed with an over-range tolerance since the sensors they interact with may not always provide accurate readings. Typically, a 0-10 VDC input can accommodate a range from -0.5 to 10.5 VDC. Similarly, 4-20mA inputs can also handle variations when readings fall outside the anticipated parameters. In the past, I have implemented a zeroing pushbutton feature for systems equipped with analog inputs. This functionality allows users to capture the sensor's value in a storage register when the button is activated, subsequently subtracting this stored value from all subsequent readings to ensure a precise zero measurement. However, this method isn't foolproof. The approach suggested by Bit Bucket 07 offers a more effective solution to prevent negative values from occurring entirely.

Explore the concept of "two's complement signed integer" data encoding, particularly focusing on how the most significant bit functions as a Sign flag. The analog module likely accommodates negative voltages, albeit to a limited extent, perhaps ranging from -0.5 to -1.0 volts. If your Wonderware bar graph is configured to expect an unsigned 16-bit or 32-bit integer, a true Sign bit will correspond to a value of 32768 instead of representing a negative number. A quick and effective solution in this scenario can be found in the PLC code: whenever the analog input value drops below zero, simply write a zero into the register being accessed by the Human-Machine Interface (HMI).

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  →