Fault recovery Subroutine?

Bytesize

Member
Join Date
Sep 2007
Location
Seattle
Posts
34
Hey just wondering how to come up with a subroutine to identify processor faults. If anyone has any ideas please let me know...thanks in advance.

Processor-Micrologix 1500
 
If an A/B CPU faults in the woods and nobody is there with $3000 worth of hardware and software to monitor it, did it really fault? (sorry, I couldn't resist).
Aren't there some system bits that can be monitored for fault conditions?
 
Check out:

http://literature.rockwellautomation.com/idc/groups/literature/documents/rm/1762-rm001_-en-p.pdf

for the user manual (thanks to Ken Moore for the link).

Then start reading from page 266.

From the manual:

"To use the user fault subroutine:

[font=ITC Garamond,Garamond]1. [/font]Create a subroutine file. Program Files 3 to 255 can be used.

[font=ITC Garamond,Garamond]2. [/font]Enter the file number in word S:29 of the status file.
[font=Univers,Univers]Controller Operation

[/font]The occurrence of recoverable or non-recoverable faults causes the controller to read S:29 and execute the subroutine number identified by S:29. If the fault is recoverable, the routine can be used to correct the problem and clear the fault bit S:1/13. The controller then continues in its current executing mode. The routine does not execute for non-user faults."

If you still need help, post back here.
 
If you get this to work for you let us know. I've never tried it with a SLC-style PLC but I've never gotten it to work with a Logix based processor. The PLC seems to bale out of the fault routine before I can get anything copied to someplace I can read it.

What do you want to do with the info? Can you just read the status file directly?

Keith
 
Not having ever programmed a Micrologix, I would first try clearing S:1/13 before doing anything else.

There might be some setup stuff to do to get the processor to run once the fault bit is cleared.
 
kamenges said:
If you get this to work for you let us know. I've never tried it with a SLC-style PLC but I've never gotten it to work with a Logix based processor. The PLC seems to bale out of the fault routine before I can get anything copied to someplace I can read it.

What do you want to do with the info? Can you just read the status file directly?

Keith



My task is to have our operators view processor faults on a HMI so they can quickly identify and relay problems to engineering. I was also wondering if it possible to clear processor faults through a HMI.





 
rootboy said:
Check out:

http://literature.rockwellautomation.com/idc/groups/literature/documents/rm/1762-rm001_-en-p.pdf

for the user manual (thanks to Ken Moore for the link).

Then start reading from page 266.

From the manual:

"To use the user fault subroutine:

[font=ITC Garamond,Garamond]1. [/font]Create a subroutine file. Program Files 3 to 255 can be used.

[font=ITC Garamond,Garamond]2. [/font]Enter the file number in word S:29 of the status file.
[font=Univers,Univers]Controller Operation

[/font]The occurrence of recoverable or non-recoverable faults causes the controller to read S:29 and execute the subroutine number identified by S:29. If the fault is recoverable, the routine can be used to correct the problem and clear the fault bit S:1/13. The controller then continues in its current executing mode. The routine does not execute for non-user faults."

If you still need help, post back here.

Thank you and Ken for the link
 
Bytesize said:


My task is to have our operators view processor faults on a HMI so they can quickly identify and relay problems to engineering. I was also wondering if it possible to clear processor faults through a HMI.



Yes, it is possible, and you don't necessarily have to have a fault routine - the purpose of a fault routine is to allow your process to keep running, depending on the fault. Otherwise allow the PLC to fault and stop running. Your HMI should still be able to read and modify S file bits even if the PLC program is not running.

Here is a clip from an RSView32 screen.

A031408A.JPG

The PLC mode string expression references tag S_1 which is word S:1 and the expression is
Code:
 if (DEVICE\S_1 & 8192) THEN "FAULT" ELSE
IF (DEVICE\S_1 & 31 = 6) THEN "REM RUN" ELSE
IF (DEVICE\S_1 & 31 = 30) THEN "RUN (KEY)" ELSE 
IF (DEVICE\S_1 & 31 = 1) THEN "REM PROG" ELSE
IF (DEVICE\S_1 &31 = 17) THEN "PROG (KEY)" ELSE
IF (DEVICE\S_1 &3 = 3) THEN "SUS IDLE" ELSE "?"

The PLC Fault Code displays S:6

The Fault/Power down File/Rung displays S:21/S:20

The REMOVE FAULT button resets S:1/13 and S:6 by executing the following
Code:
DEVICE\S_1_13_FAULT=0;
DEVICE\S_6=0
The REMOVE FAULT button has visibilty animation on it so that it is visible only when S:1/13 is set.

The battery status string expression is
Code:
If (DEVICE\S_5_11) THEN "LOW" ELSE "OK"

In this case once the fault is removed the PLC is placed back in run mode with the keyswitch, but you could place a button on the HMI to put the PLC back into REM RUN mode after the fault has been cleared, provided the key switch is in the REM position. Refer to the S file bits in the instruction set reference manual to see which S:1 bits to test to see where the keyswitch is and which bits to set to re-enter REM RUN.

Additonally, you can set up your HMI to log fault codess to a data base whenever the value of S:6 changes, or you can set up an alarm triggered on S:1/13 and log it to the alarm log - this way you have a record of any faults that are reset by someone else.
 
Last edited:
Not to be a smart behind, but there is a BIG diference between machine faults, and processor faults. A fault monitoring subroutine is ideal on prosses where a stopage of equipment poses a safty hazzard, but if you are getting enough prossesor faults to be this concerned there is something else wrong,be it code or hardware. I have seen this many times with excessive current draw on an output card, but as I said, that was hardware related. You should almost never fault the procesor......my 2c
 
Thanks everyone for your help…what I did is set up S:29 to run a fault subroutine to display on our HMI so our operators can help in identifying the processor faults. Processor faults would lock up the HMI on what ever screen it was displaying…it now displays the faults so engineering can determine if it’s a program or hardware issue before heading out in the field or dial in and clear errors.
 
Just out of curiousity, what type of processor faults are you getting? You really shouldn't be getting any...
 

Similar Topics

Hello, We have a customer with a 1756-L72 ControlLogix PLC. They have recently got a T01:C62 Fault Code. I am trying to figure out how to...
Replies
6
Views
1,118
Hello everyone, I got called down to a plant to service a powdered metal press. It has an SLC 500 5/02 CPU that was faulted for the code 0002h...
Replies
9
Views
1,834
We had a site where a rat gnawed through some fiber optic cables which (obviously) prevented communication to a remote rack entirely. We, and the...
Replies
3
Views
112
Good morning everyone I’m currently working on a omron device net and have a nord drive that fell off the network. I have limit knowledge in...
Replies
2
Views
96
Hi. We've been asked to do an upgrade on plant, consisting on a PLC upgrade. This involves replacing a 1747-SDN module to a 1769-SDN, in a network...
Replies
0
Views
81
Back
Top Bottom