Question about step programming.

fredz0003

Member
Join Date
Dec 2010
Location
Houston
Posts
186
Hi everyone. I am working on a batch simulation on logixpro, following the step programming sequence, I am stuck in a few spots, I don't know where I should implement the stop button, I tried to put it in each rung, and when I hit the stop button while draining the tank, and hit start again it starts filling up instead of draining. Also what's a good way to restart the sequence, any comments or how to improved my program are welcome. Thanks a lot.

stepProgramMixer.jpg
 
Fredz0003 - I'm not going to answer your question directly because this is one of those really, really good learning opportunities. If you can figure this out for yourself, what you gain from the exercise is worth way more than the answer.

However let me try to help you out with the concept and tuning your question:

One of the fundamentals of sequence programming is to find a way to seal-in the steps of your logic so that you stay in the specific sequence step you want and only come out of it when you want to. In your question, you clearly don't want to drop out the sequence when you press "Stop", but rather, you only want to interrupt the action. So, the question then becomes, how do you structure a sequence? How can you make it such that each step is separate from the other steps and only transition from one step to the next when desired? Once you have that, how do you then interrupt any given action within all the steps without dropping out of sequence? Finally, how do you intentionally drop out of the sequence and reset it when that is what you need to do?

The answers to these questions are what you need if you are going to program a sequence. There are several ways to do it and not everyone agrees on a single, best way. But at this point, the best way is not what's important. What is important is discovering how to structure a sequence. Focus on the structure.

Steve
 
Fred,

I agree with Steve, and here is probably the easiest way to set up the Stop Pushbutton on Rung 000 (see attached picture). If you do it like this, and make the Run Light into a System Run Relay & Light, then you only have to use the Stop and Start pushubttons on this ONE rung. That's right, you do not need them on any other rungs, ever, ever, again!

It looks like you might be confusing ladder rungs with logical Steps or Stages of the process. Here are the major Process Steps as I see them:

Step 1: FILL TANK
Step 2: MIX INGREDIENTS
Step 3: DRAIN TANK

Fill, Mix, Drain, and thats all, folks!

BATCH MIX- RUNG 000.jpg
 
Last edited:
Hi everyone. I am working on a batch simulation on logixpro, following the step programming sequence, I am stuck in a few spots, I don't know where I should implement the stop button, I tried to put it in each rung, and when I hit the stop button while draining the tank, and hit start again it starts filling up instead of draining. Also what's a good way to restart the sequence, any comments or how to improved my program are welcome. Thanks a lot.

I think the structure of your code is not suitable for your application. You need to implement a state based ladder logic code. A quick solution to put a "Pause" contact on rung 4, 5 and 6 to deenergize the output when the pause contact is open. When the pause contact is closed, your program should continue where it left off instead of starting over.
 
Last edited:
I think the structure of your code is not suitable for your application. You need to implement a state based ladder logic code. A quick solution to put a "Pause" contact on rung 4, 5 and 6 to deenergize the output when the pause contact is open. When the pause contact is closed, your program should continue where it left off instead of starting over.

Do you have an example of this method? or a good link?
 
Fred,

I agree with Steve, and here is probably the easiest way to set up the Stop Pushbutton on Rung 000 (see attached picture). If you do it like this, and make the Run Light into a System Run Relay & Light, then you only have to use the Stop and Start pushubttons on this ONE rung. That's right, you do not need them on any other rungs, ever, ever, again!

It looks like you might be confusing ladder rungs with logical Steps or Stages of the process. Here are the major Process Steps as I see them:

Step 1: FILL TANK
Step 2: MIX INGREDIENTS
Step 3: DRAIN TANK

Fill, Mix, Drain, and thats all, folks!

I am confused by your example Lancie1, on rung 1 you have a bit for mixing cycle, and another bit for drain cycle, but for filling you just have pump1 instead of another bit for the filling cycle, did I miss something?
 
Fredz003 - while david90 may be correct is saying a sequence style code is not "right" for your application, whether that is true or not is beside the point. Your original question stated that you wanted to use a step programming sequence. If this is what you want to learn do, then the "correct method" is of little importance here. Learning how to build a step programming sequence is. I recommend sticking with the method you have started and learn how to do it. As I said before, its a very valuable tool to have.

With respect to Lancie1's code, he has not given you all the code you need to accomplish your task. What he has done is taken you one step closer to understanding how to implement the interrupt you want. The step sequence itself is still up to you. Figure out how to create a series of steps that are sealed-in until they are complete. Once you have that, figure out how to use Lancie1's method for cycle interruption.

Steve

PS.....Lancie1's code example also gives a nice hint on one method for sealing-in your step sequences, too. Take some time to understand what he did there.
 
Fredz003 - while david90 may be correct is saying a sequence style code is not "right" for your application, whether that is true or not is beside the point. Your original question stated that you wanted to use a step programming sequence. If this is what you want to learn do, then the "correct method" is of little importance here. Learning how to build a step programming sequence is. I recommend sticking with the method you have started and learn how to do it. As I said before, its a very valuable tool to have.

With respect to Lancie1's code, he has not given you all the code you need to accomplish your task. What he has done is taken you one step closer to understanding how to implement the interrupt you want. The step sequence itself is still up to you. Figure out how to create a series of steps that are sealed-in until they are complete. Once you have that, figure out how to use Lancie1's method for cycle interruption.

Steve

PS.....Lancie1's code example also gives a nice hint on one method for sealing-in your step sequences, too. Take some time to understand what he did there.

Yes indeed Steve I have completed the program, I think I did get the point from Lancie1 now, what he was trying to tell me is that the run light should not mess with any sequence steps, so I think I implemented the stop button correct now as my sequence doesn't change anymore, I've also added the manual and auto mode using the selector switches, thanks for you advice.

I will also attempt to complete the program with David's suggested method later today, skimming through the pages on state based programs I also find that method interesting.

Here's my completed program. If you find any erros let me know. I've also attached the logixpro.

Thanks again for sharing your wisdom.

stepSequenceMixer.jpg
 

Attachments

  • structAppMixer.zip
    869 bytes · Views: 52
I think I did get the point from Lancie1 now, what he was trying to tell me is that the run light should not mess with any sequence steps,...
Yes, and you can improve your Run Light even more (see the attached revised and reorganized logic of your LogixPro file).

I see one error that you should correct. When you press Stop during your Mix Batch Step, the Mix Timer resets and starts over when you press Start again. This will result in "over-mixed" product. It doesn't matter for your student project - no one will have to eat the bread made from this dough! For a real batch process, the mixing time can be critical, so it should not be restarted after a temporary stop. You can solve that little problem by using a timer that retains its counted time when stopped, called a RTO or Retentive Timer On delay in RSLogix.

Also I know you mean for your Auto and Manual Mode relays to be useful, but think carefully about what gains these two relays are giving you. Are they doing anything that the bare A and B Selector Switch Inputs are not already doing? If you are gaining nothing by redefining some inputs, then that is a good indication that you can use the input switches directly in your program and eliminate 2 rungs of redundant logic.

structAppMixer- REV 1.jpg
 
Last edited:
Yes, and you can improve your Run Light even more (see the attached revised and reorganized logic of your LogixPro file).

I see one error that you should correct. When you press Stop during your Mix Batch Step, the Mix Timer resets and starts over when you press Start again. This will result in "over-mixed" product. It doesn't matter for your student project - no one will have to eat the bread made from this dough! For a real batch process, the mixing time can be critical, so it should not be restarted after a temporary stop. You can solve that little problem by using a timer that retains its counted time when stopped, called a RTO or Retentive Timer On delay in RSLogix.

Also I know you mean for your Auto and Manual Mode relays to be useful, but think carefully about what gains these two relays are giving you. Are they doing anything that the bare A and B Selector Switch Inputs are not already doing? If you are gaining nothing by redefining some inputs, then that is a good indication that you can use the input switches directly in your program and eliminate 2 rungs of redundant logic.

I see your point about using rungs when you really don't have to, and thanks for noticing the error on my part on the timer.
 
I had to modify the first run, the branch with the A selector switch, instead of using B3:0/3, I used the low level sensor, otherwise the mixer would not get drained, thanks again and now I think I know how to use the RTO as well.

stepSequenceMixer2.jpg
 

Similar Topics

Hello, im pretty new to the FBD programming in the step 7 software and have a question for someone out there. I have a timer in a program that on...
Replies
4
Views
2,699
Hi, I have to start-up a project from someone else. He makes steps like this: "DB aanvoer1".toestemming is needed for start-up in...
Replies
10
Views
5,635
Hi everyone, I have a short question about BLKMOV instruction, illustrated in the image below. I have the same piece of code in STEP 7 (ET200S)...
Replies
2
Views
2,704
When looking at the DB declaration ( see below pic), I did not see addresses like DB108.DBX203.0 or DB108.DBX205.0 and so on .... and yet they...
Replies
15
Views
3,249
Is it Gain or Proportional band? The HMI shows it as Proportional Band and the tag name is Gain???
Replies
3
Views
2,164
Back
Top Bottom