Sequences

Unless the process or function you are controlling is as simple as "push and hold button / extend cylinder" it is HIGHLY unlikely that you will be able to encapsulate all the logical requirements for all of the output functions into one rung each.

True, but the goal is to give the technician-electrician, who was not involved in the development, an easy method to track down what the problem is. If a rung is not true because some other condition is not true, then the technician can then follow that condition. Often, an action isn't enabled because the results of another action was not previously achieved.

Again, some of the biggest manufacturers in industry don't allow sequencers or sequencing logic; not because its an invalid method of programming, hardly the case. Its because the maintenance people don't possess the skill set to debug it in a timely fashion. The economical pressures of reduced downtime demands that the programming be made as easy as possible to debug. Hence, the continued use of ladder logic (graphically easy to follow) and the large proportion of programming that is dedicated to diagnostics.
 
Originally posted by jstolaruk:

Often, an action isn't enabled because the results of another action was not previously achieved.

I think we can both agree that sounds like sequential logic. An event cannot occur until some other defined event occurs first.

Originally posted by jstolaruk:

Again, some of the biggest manufacturers in industry don't allow sequencers or sequencing logic;

Sure they do. They just don't call it sequential logic. I'm sure they have some other obscure buzzword to describe it. As I said earlier, a sequential process requires sequential logic. I can call my garbage man a garbage man or I can call him a refuse remediation facilitator. What I call him doesn't change the fact that he drives around, picks up the trash and hauls it to a landfill. Sequential processes require sequential logic, whatever you call it.

Keith
 
True, but the goal is to give the technician-electrician, who was not involved in the development, an easy method to track down what the problem is. If a rung is not true because some other condition is not true, then the technician can then follow that condition. Often, an action isn't enabled because the results of another action was not previously achieved.

Again, some of the biggest manufacturers in industry don't allow sequencers or sequencing logic; not because its an invalid method of programming, hardly the case. Its because the maintenance people don't possess the skill set to debug it in a timely fashion. The economical pressures of reduced downtime demands that the programming be made as easy as possible to debug. Hence, the continued use of ladder logic (graphically easy to follow) and the large proportion of programming that is dedicated to diagnostics.

Only when the process requires. Not all projects are a state machine. But your washing machine sure as heck is.
Btw, I show the current state in the hmi and the conditions that need to happen for the transition to the next step and what conditions are currently met. Easy for the technician to troubleshoot.
 
Maybe someone should post a functional spec and we all get to program it and compare different sequential logic. On reflection, I don't actually use a sequencer at all, I use an abstract design concept called a State Machine. I have a DINT which stores the current state of the machine. I have a section of ladder logic that handles the transition between states. I then have a section of logic that defines what happens in each state, ie. the outputs, motion instructions, etc.

I am curious to see how for example James McQuade programs this. I am also curious to find out more of how the sequence logic James talks about was programmed, so we can all avoid such practices in the future. Are you able to tell us a bit more about how it was programmed? Was it a specific sequence instruction, or did it just use ladder logic to switch between different states?

That's essentially how I do it. I made a state machine/sequencer AOI that does both a dint and a bit so I get the best of both worlds. The only thing is that you can't go more than 30 steps. I will have one as the master and then I will use it to activate other sub sequences if needed. It ha a hold and a single step mode so that I can single step through sequences when troubleshooting. Plus having it in an AOI hides most of the "overhead" code and let's you see what really matters on the rungs.

In the process industry they like to refer to it as state based control but it's really all the same thing. I'm finally starting to get people onboard with state based control mainly because the code is so much more predictable. Spaghetti code causes so many unintended consequences I don't think I would be able to sleep at night if I didn't use some sort of state control scheme. Some of the guys like to refer to it as "fancy" logic. But then they says it's pretty easy to figure out once they know how it works.
 

Similar Topics

Hey guys, A couple of quick questions but first a layout of what I'm working with. Compactlogix 1769-L37erm controller. The current system we...
Replies
2
Views
1,234
Hi dear programmers, Im a newbie in plc programming, i start using s7-graph to program a palletizer i wrote a typical program but im facing a...
Replies
3
Views
3,120
Hi all! I have one question: How do i create in a STEP7 GRAPH object in which more than one (2,3...) sequence running? Thx!
Replies
7
Views
1,941
Dear all, I would like to do several logical sequences to do implement in an auto mode using fbd for exemple : 1 move motor forward until stop...
Replies
4
Views
3,264
I have a uni project to develop a traffic light sequencer for a 4 way junction (with filter lights and pedestrian crossings...). Is there any...
Replies
18
Views
7,075
Back
Top Bottom