Pause a single step in Logix5000 SFC without pausing the whole routine.

radfahrer

Lifetime Supporting Member
Join Date
Nov 2006
Location
Boston
Posts
156
Does anyone know if it is possible to pause a single step in Logix SFC?

I've searched for pausing in the manual and all I could find was the instruction to pause the entire SFC, and that instruction has to be called from a separate ladder or ST routine.

What I'm looking to do is pause a single step within my SFC without having to have logic in an external routine. My application is I have a mixing timer and I want to make the step timer conditional on the mixing pump running. I check for the pump running before going to the step, but while it's in the step, I want to be able to prevent the step timer from incrementing if the pump interlocks or goes off for any reason.

I'm a bit new to SFC's in Logix, but from what I see so far, the only timers accessible within the SFC are the Step timers themselves, and I can't see a good way to make the Step timer stop based on a condition.

I was thinking of trying to have some logic in the Action that would write to the Step.T value to keep the timer accumulator fixed at a certain value, but I couldn't see a way to do this...I'm running the SFC in a continuous task so I can't just subtract a set value.

My goal is to keep all the logic contained in the SFC. I know how to solve this issue by putting a TON in a ladder instruction and referencing that in the SFC transition, but I was hoping someone might have a more elegant solution that keeps all the logic contained within the SFC.

Any suggestions are appreciated.

-Greg
 
I've no experience with Logix5K SFCs but, I've tinkered with SFCs in Logix5, mostly offline. You say you want to keep everything in the SFC but would calling a sub SFC program and pausing that be acceptable?

.02
 
When you're in a step you can reset its timer.
Write something like this into a non stored step action:

IF Current_Step.T>0 AND (pump_interlock=1 OR pump_active=0)
THEN Current_Step.T := 0;
END_IF;
 
I haven't played with SFC in RS5K, but couldn't you build your own timer? Use the conditions for pump running, get access to the system clock and increment an INT every second? Once hat INT his a certain value, move on to the next step.
 
What I'm looking to do is pause a single step within my SFC without having to have logic in an external routine. My application is I have a mixing timer and I want to make the step timer conditional on the mixing pump running. I check for the pump running before going to the step, but while it's in the step, I want to be able to prevent the step timer from incrementing if the pump interlocks or goes off for any reason.

-Greg

My SFC experience is with Modicon, this may not help. What I would do is create a branch after the action one to go to the next step and the other to check pump status if off and do something like pause or loop back. Make sure that only one branch can be true by adding some logic.
 
Thanks for the ideas. VXY's solution is more along the lines I was looking for since it is self contained within the SFC Action. The only issue with his solution is it resets the step timer and doesn't pause it...I think that might be the case for flux's idea as well, I'm pretty sure looping back to a step causes the step timer to be reset set.

But I was thinking I can probably update VXY's logic to make it do what I want by using a temporary variable to store the current step time:

In my Non-Stored action I put this:
If P_214.Run_Status_In Then
tmp_Step_Pause_Time:=Step_070.T;
Else
Step_070.T:=tmp_Step_Pause_Time;
End_if;

I added a P0 action to this step as well to initialize the tmp_Step_Pause_Time to 0

Just ran a quick test of this and it works well.

-Greg
 
Need a correction on my last post. It should be a P1 action not a P0 to initialize the tmp_Step_Pause_Time.
 

Similar Topics

Hi, I'm programming in RSLogix 500, and I'm wondering how I would program a Jog command that does not increase the encoder count. Basically we'd...
Replies
3
Views
319
I have a request to integrate a pause button in RSlogix to be able to start/stop a video. Video format is not defined at the moment, so it could...
Replies
2
Views
803
Sometimes in a specific Project I need to disable all the output of the system, Then I can Resume it again by Pushing The Same Button ( Pause ) or...
Replies
4
Views
2,217
Hi, I am doing a mini project which requires me to pause(freeze) a sequence using stop button and pressing start button will resume the sequence...
Replies
2
Views
3,291
Hi all, I have an issue with programming MATC instruction in studio5000 V28. What I really need is a way to stop the cam profile when Axis stops...
Replies
2
Views
2,124
Back
Top Bottom