SFC Recovery after failure

SCADA_Dude

Member
Join Date
Feb 2008
Location
California
Posts
115
I have constructed an SFC for the main part of my process and it works great. I started thinking about unexpected things, like a non-related equipment failure that would require the SFC to restart, and reset the transition states.

I came up with quite a few scenario's, but I'm sure there are some I havent thought of (or near impossible to think of). It would be a major pain to try to add transitions everywhere to force a restart of the SFC for these cases. Is there an easier way to force a restart of SFC?

On a general note, I really like the SFC concept, but the issue I mention above seems like a major weakness compared to ST or Ladder that gets evaulated repeatedly. Am I wrong in thinking this?
 
Hello SCADA_Dude,

If by any chance you are using Omron (in particular CX-Programmer), then there are the SFCON, SFCOFF, and SFCPR instructions that can be used to stop / start / reset and/or pause the SFC operation.
I don't know if any other manufacturers have something like this, but it's very probable!
 
Unfortunately you don't mention which PLC you're using. With the Siemens S7 series you've got loads of control possibilities over SFCs written in Graph7.

Graph7_Control.JPG


The other SFC programs will almost certainly have similar capabilities.
 
I've been investigating SFCs (A-B PLC-5) myself but I'm certainly no expert. A-B does have an SFC reset instruction. Where it resets to depends on the processor firmware version.

In the PLC-5 reference manual some space is devoted to programming SFCs. A suggested general scheme is: SFC and its attendant programs as one unit, fault handling/reset ladder logic as another, and direct machine control ladder logic as a third unit.

I haven't built up anything using this model yet but it seems like it would simplify the SFC part. Instead of the SFC checking for and handling every fault condition, the faults are condensed/summed in a separate program and the SFC only has to deal with "is it faulted or not?" If the instruction set allows it, I'd think the fault handler would take care of (re)setting the SFC to the proper step.

.02
 
Thanks for the feedback. I failed to mention I am using Unity Pro XL 3.0 on a Quantum 434 processor.

I found a that you can place a condition on the SFC, so I will test that out today. It looks similar to what was mentioned above. I guess I'll need a seperate routine that controls that condition based on all my failure scenarios.
 
Historically, I've found the built in SFC building blocks of any PLC very limiting (admittingly non S7 user), so I've always rolled my own using standard ladder logic. I'll setup a single INT (16 bits) to represent 16 steps of a particular process. Bit 0 on is step 0, Bit 1 on is step 1 and so forth. The ladder to implement is basically:

XIC INT1.0 XIC (condition to move to step 2) OTL INT1.1 OTU INT1.0

Using this format it's very easy to unconditionally force the SFC to any step (usually step 0 in the case of a catastrophic error) by using a MOV instruction:

XIC Error MOV 1 INT 1

If I need to move to some other step (say step 7 for a cleanout process) then:

XIC Error CLR INT 1 OTL INT1.7

Since the SFC is emulated using standard ladder, its very transportable across all makes of PLCs and models of PLCs within makes. Very easy for troubleshooting a process too, as a technician simply can monitor the INT and see what bit is on and instantly know what step the process is in.
 

Similar Topics

Hey. If you haven't already read me, first time I'm building a full project on Rockwell PLC. I started building the sequences last week and I...
Replies
3
Views
120
Hi all. I'm building my first Grafcet using Logix, but I started from another project. From what we usually do with other PLC's, I was expecting...
Replies
3
Views
147
I have a fanuc servo motor and drive that I salvaged from a lathe barfeeder that was headed for the dumps which I'm trying to see if I can get...
Replies
2
Views
148
Hiya, I'm a student who's very new to programming on Studio5000 (Logix Designer - Rockwell Software) and maybe getting some insight or help on a...
Replies
0
Views
86
HI! HOW COULD I OBTAIN THE NAMES OF THE STEPS OF A ROUTINE IN SFC LANGUAGE IN STUDIO5000? Or is there a system variable that gives me those...
Replies
0
Views
339
Back
Top Bottom