General Motors project requirement interpretation

jimbob89

Member
Join Date
Jun 2014
Location
West Virgina
Posts
3
Hi all,

I am doing a project for GM and in the specifications it states:

Logic shall be developed in SFC fashion and written in ladder logic. IEC 61131-3 section 2.6 SFC elements shall be rigorously implemented.

The software platform is Logix5000. So am I supposed to do SFC or Ladder?

SFC that references ladder routines?

First time doing a project for GM - there are like 30 specifications that are applicable to the controls part of the machine! It also seems like some of the specifications contradict other specifications...

Any help is appreciated,

Thanks,
Jim
 
It's been a long time since I've done any programming using SFC and I've never done it in the L5K platform. But I can tell you that SFC and Ladder are not either/or selections. SFC provides a sequential framework for the ladder files to run in. So the majority of the logic is still in ladder.

This isn't exactly accurate because there is more going on under the hood but think of SFC as a structured subroutine call manager. The SFC structure determines which ladder files operate at any given time. The SFC moves from one step to another through conditional logic sections called transitions.

SCF really is a nice tool for rigidly sequential machines. It graphically provides that "upper level" framework for a sequential process that so many users seem to struggle to implement. It also allows parallel subprocesses that must complete before the main process can continue. For example, assume a machine making two parts that need to be combined at the end to make a finished part. Each part has its own manufactureing sequence and they will likely not finish at the same time. SFC allows each subprocess to run and automatically pauses the subprocess that finished first to wait for the second process to complete before finishing the combination.

But using SCF for a continuous process can be like putting a square peg in a round hole. If you push hard enough it'll go. But you have to push pretty hard.

Keith
 
"developed in SFC fashion"

It says to be programmed in the SFC fashion but to be done with ladder logic. Basically they want the logic to be done sequentially.

That is my interpretation anyway. :rolleyes:
 
Write ladder logic for a simple sequence according to your interpretation of the spec and submit it to the person who will have to sign off on your program. Get that person to acknowledge that your sample would be in compliance. Any of the LogixPro exercises that pop up here from time to time would probably be good examples.
 
Originally posted bu Peter Nachtwey:

Is there SFC for the Control Logix?

Yes there is. I haven't used it so I don't know what tweaks they made to it from the PLC5 days. But it is in there.

Originally posted by gscure:

It says to be programmed in the SFC fashion but to be done with ladder logic.

That doesn't make sense. SFC is a specific "language" all it's own. Different automation suppliers may implement it differently but in the end you wouldn't attempt to implement SFC in ladder.


Originally posted by Steve Bailey:

Write ladder logic for a simple sequence according to your interpretation of the spec and submit it to the person who will have to sign off on your program.

That's the safest bet. Specific sites tend to implement the parts of generic specs as they see fit. If you talk to the end user this clause may just disappear altogether.

Keith
 
Is there SFC for the Control Logix?

Yes, and Compactlogix, but the 'Standard' versions of RSlogix 5000 won't program it, You need full or pro versions, I think the SFC environment can be purchased separately and added on to the standard versions as well.

I don't understand the stated specification either, why would you develop a program in SFC and then write it in ladder logic?. My best guess is the term "SFC fashion" means they want the rigid program steps that SFC would give them, but they want it in ladder logic.
 
Last edited:
I did some work for a few years with a coworker who had learned his programming style at GM. So I'll take a stab at what this spec may mean, for what its worth.

It indeed is ladder logic, but everything is broken up into two main sections:
1) A sequencer block of ladder logic code (repeated over and over thoughout the code) that has a series of well-defined steps (a sequencer): for example, Sequence 0 is an init step, Sequence 1 is a startup step, Sequence 2 is a running step, Sequence 3 is a slow-down step, Sequence 4 is a stop step, and so forth. Every section of the machine runs from its own sequencer. Each sequence is 'fired' by a machine logic boolean.
2) The machine logic is the logic used to detect when the machine has reached a set of conditions to move to the new sequence. This is the machine logic: for example, if photoeye x is fired and the motor is running, set a boolean so the sequencer can move to the next sequence (part at next location).

This approach makes for very regular (and long) code. Its cumbersome at first (IMHO), but once you get used to it, it sure is easy to look at someone else's code if its written in this fashion.
 
I did some work for a few years with a coworker who had learned his programming style at GM. So I'll take a stab at what this spec may mean, for what its worth.

It indeed is ladder logic, but everything is broken up into two main sections:
1) A sequencer block of ladder logic code (repeated over and over thoughout the code) that has a series of well-defined steps (a sequencer): for example, Sequence 0 is an init step, Sequence 1 is a startup step, Sequence 2 is a running step, Sequence 3 is a slow-down step, Sequence 4 is a stop step, and so forth. Every section of the machine runs from its own sequencer. Each sequence is 'fired' by a machine logic boolean.
2) The machine logic is the logic used to detect when the machine has reached a set of conditions to move to the new sequence. This is the machine logic: for example, if photoeye x is fired and the motor is running, set a boolean so the sequencer can move to the next sequence (part at next location).

This approach makes for very regular (and long) code. Its cumbersome at first (IMHO), but once you get used to it, it sure is easy to look at someone else's code if its written in this fashion.

I call it state machine programming and we use it extensively for systems like this.

Takes a bit longer to write but debug is a snap when used correctly.
 
It really is bad specification form to use a very specifically defined, industry accepted term but not really mean that. Staying with the GM theme, this is like saying "I want a GM 350 small block motor but make it out of Hydra-Matic transmission parts". What the heck is that??

Keith
 
The main program shall be in SFC short for sequential (not state however often misused)
So you make a sequence of the process, consisting of steps, actions, and transitions. description in 61131 is good, please use IEC symbolic,
first a main diagram, then some subdiagrams etc.
the actions themselves should be in separate action programs all in ladder. the transitions i make them in separate ladder all in one big one just to have easy access to them, however they can be written direct on the SFC.
for test
make a step and the transition between them TRUE, as action in the next step make output 1 high.
 
I agree with you, shooter. That is how I would interpret the statement. But that is not what nwbosun seems to be saying and he has done some work for GM. It would appear they want the functional aspects of SFC to be implemented completely in ladder. At that point you lose the graphical power of SFC, which is significant. You would be better off using a more classic state machine if that is what you want to do.

Keith
 
I work for GM. Please do yourself and us a favor by getting with your GM Central Office controls engineer and get samples of what they want it to look like. There is also training that is supposed to be required (GCCH, for example) that gets held in Michigan.

There is no way that you are going to be able to do this project to GM specs based just on the scope of work or specification.

If this is a "more of the same" type project (i.e. a conveyor or a cell in Body), then you will have most of what you need right off of the bat. The logic, especially for Body, is designed to allow for simple (once you understand it) drop-in of logic.

You will also be expected to follow the standards for the GUI (WinCC?) and for GSIP, QAS, PM&C, etc...

Lockout-tagout plaques require their own software as well.

What business unit is this for? (Body, Paint, GA, ?)
 

Similar Topics

All, General Motors Corporation utilizes an PLC assessment for individuals applying for Journeyman Electrician positions. They utilize a 3rd...
Replies
8
Views
2,822
What is your perspective? Are you a Maintenance Tech? Systems Integrator? OEM Engineer? What are your thoughts on the topic of source...
Replies
24
Views
1,165
Wizards, It has been a few, but you all have always done me well. I have acquired a 1769-L33ER and want to use it as my collection PLC to...
Replies
5
Views
518
Hi! I recently discovered how to get to configuration mode and disable printing for connecting to PanelBuilder32 and updating my Panelview...
Replies
1
Views
448
Hello Guys, Hope everyone is doing well. I have a general doubt about ladder programming. The outputs are not getting energized when I used the...
Replies
13
Views
1,874
Back
Top Bottom