Excerpted from How To Troubleshoot With A PLC
Let’s consider a batching system just like the one we worked on earlier, except that the PLC is an Allen-Bradley ControlLogix. The software we use to program a ControlLogix PLC is Rockwell’s RSLogix 5000.
TROUBLESHOOTING OPERATION #3
BATCHING SYSTEM WON’T PUMP FINISHED PRODUCT
The problem is that the system is not working. A completed batch was being pumped to the filing lines when the pumped stopped and the “System Fault” pilot light came on. Pressing the “Start” or “Stop” buttons has no effect.
Shown below is a graphical layout of the system. In fact, apart from the program, this is all the information you have.
The operator station looks like this.
The “System Fault” pilot light is on.
As you go online, this screen appears.
We want to find the rung that generates a system fault.
In the Controller Organizer (the window on the left), click on the “+” folder icon to open the “Tasks” folder.
Open the “Main Task” folder.
Open the “Main Routine”.
The screen looks like this.
Finding The Problem
We could use CTRL-F to find the system fault bit, but it conveniently appears in the first rung.
The instruction is false, which keeps the output “SystemEnable” false.
Right-click on the tag name (SystemFault) and choose “Find All SystemFault”. The search results box appears at the bottom of the screen.
We are looking for the output, or OTE. Click on the blue line that says “Found: Rung 22, OTE Operand 0: OTE(SystemFault).
We are taken to Rung 22.
The output is true, but there is no other instruction in the rung that is highlighted.
Take a closer look at the GRT instruction. A GRT instruction is true when Source A is greater than Source B.
In our GRT instruction, Source A is 100 and Source B is 95. That makes the instruction true, which is turning on the “SystemFault” output, which is keeping the system from running.
Not all instructions in RSLogix change color when they are true.
According to the description applied to the instruction, Source A is the liquid level in the mixing tank. It is being reported as 100 (whatever that means).
Source A gets its value from Local:2:I.Ch1Data. We can tell that this tag represents a hardwired input.
We can deduce that this is an analog input, since we are getting a value that is not just 1 or 0.
Investigating An Analog Input
In the Controller Organizer, double-click on “I/O Configuration”. On this PLC, slot 2 has a 1756-IF8 card. Right-click on slot 2 and choose “Properties”. The “Module Properties: Local:2 (1756-IF8 1.1)” window appears. Click on the “Configuration” tab. Click on the “Channel 1” button.
The configuration is shown like this.
Now we see that the input range on this channel is 0 to 10 volts. The engineering units applied to the scaling suggests that the level in the tank is shown as a percentage. That is, 0 volts equals 0% and 10 volts equals 100%.
Let’s go back to Rung 22.
The GRT will become true if the level in the tank exceeds 95%, which sets a system fault. That makes sense.
The PLC thinks the tank is 100% full. As we look inside the tank, we can see that it is nearly empty.
We can conclude that the PLC program is functioning properly. It is doing what it is supposed to do.
This is very likely to be a hardware problem. There could be a short in the signal wire from the level sensor, the sensor could be defective or the input card on the PLC could be bad.
Your electrician measures the voltage on the input of the PLC card and sees 10 volts. He disconnects the signal wire from the PLC, and you see the value of Source A in the GRT instruction drop to zero.
He measures the voltage at the output of the level sensor and again finds 10 volts.
You can manually pump the remaining liquid out of the tank and monitor the voltage at the output of the sensor. If it does not change, then the next step would be to clean, repair or replace the sensor.
The sensor is replaced and you see a more accurate level indicated in the GRT.
Testing the sensor to make sure it shuts down the system if the level gets too high might be difficult without disrupting a batch. You may have to use your imagination here. I will leave that up to you.