Hello everyone,
See, I have a little trouble of programming(in FBD Unity Pro), I want to makee a circular permutation of three pumps A, B and C.
a first call for startup: A pump starts first
then one second call startup so the pump B starts the second, so we pump A and B have started
Then a third call from startup so the pump starts the third C
demand stop, stop all the pumps at the same time.
the next cycle.
a first call for startup: pump B starts first
then one second call startup so the pump starts the second C, so we pump B and C have started
Then a third call from startup so the pump A starts the third
the call of stopping, stop all the pumps at the same time.
the next cycle.
a first call for startup: C pump starts first
then one second call startup so the pump A starts the second, so we pump C and A have started
Then a third call from startup so the pump B starts the third
the call of stopping, stop all the pumps at the same time.
I managed to make the undergraduate program but I do not get to do other
it blocks, can you help me
Thank you for your support
Programming swapping between pump in FBD Unity Pro
-
- Posts: 2
- Joined: Sat May 04, 2013 10:03 pm
-
- Posts: 121
- Joined: Tue Apr 12, 2011 1:44 pm
Re: Programming swapping between pump in FBD Unity Pro
what I would do is have two counters
The first counter is the StartFirst Drive. You only increment this one when the stop command is issued
The second counter is nextdrive start. Increment each time start is pushed.
So start command + if value in StartFirst = 2 OR NextDrive = 2 then Start drive 2. and Set NextDrive counter + 1
on second start command StartFirst = 3 or NextDrive = 3 then start 3
Since nextdrive = 3 while Startfirst = 2 its starts the drive and then NextDrive + 1 if >3 then = 1
On Stop Command set StartFirst + 1. If > 3 then set to 1 and set NextDrive = StartFirst
etcetc
You need some watchdogs around the counter in case they are zero or > 3 etc just reset them back to 1
This is also useful if you have feedback if a drive does not starftup.
I.e. Fault on Drive 2 not start pulse Internal Start button to next drive.
The first counter is the StartFirst Drive. You only increment this one when the stop command is issued
The second counter is nextdrive start. Increment each time start is pushed.
So start command + if value in StartFirst = 2 OR NextDrive = 2 then Start drive 2. and Set NextDrive counter + 1
on second start command StartFirst = 3 or NextDrive = 3 then start 3
Since nextdrive = 3 while Startfirst = 2 its starts the drive and then NextDrive + 1 if >3 then = 1
On Stop Command set StartFirst + 1. If > 3 then set to 1 and set NextDrive = StartFirst
etcetc
You need some watchdogs around the counter in case they are zero or > 3 etc just reset them back to 1
This is also useful if you have feedback if a drive does not starftup.
I.e. Fault on Drive 2 not start pulse Internal Start button to next drive.
-
- Posts: 2
- Joined: Sat May 04, 2013 10:03 pm
Re: Programming swapping between pump in FBD Unity Pro
Hello peterg70,
I don't understand, Please can you give me a exemple.Thanks you for your help, it's very precious for me(I looking for this things more than one month)
thanks a lot.
I don't understand, Please can you give me a exemple.Thanks you for your help, it's very precious for me(I looking for this things more than one month)
thanks a lot.
-
- Posts: 121
- Joined: Tue Apr 12, 2011 1:44 pm
Re: Programming swapping between pump in FBD Unity Pro
what bit do you not understand?
Two Counters = StartFirst and NextDrive
Drive 1 Logix
Input Start is pressed and (StartFirst = 1 OR NextDrive = 1) Then Start Drive 1
If Drive1 Running and NextDrive = 1 then Set NextDrive = 2
Drive 2 Logix
Input Start is pressed and (StartFirst = 2 OR NextDrive = 2) Then Start Drive 2
If Drive2 Running and NextDrive = 2 then Set NextDrive = 3
Drive 3 Logix
Input Start is pressed and (StartFirst = 3 OR NextDrive = 3) Then Start Drive 3
If Drive3 Running and NextDrive = 3 then Set NextDrive = 1
Stop Logix
Input Stop is pressed then Stop Drive1, Drive2, Drive3
If StartFirst = 1 then StartFirst = 2
If StartFirst = 2 then StartFirst = 3
If StartFirst = 3 then StartFirst = 1
NextDrive = StartFirst
If that doesn't explain it then not much i can help with.
Two Counters = StartFirst and NextDrive
Drive 1 Logix
Input Start is pressed and (StartFirst = 1 OR NextDrive = 1) Then Start Drive 1
If Drive1 Running and NextDrive = 1 then Set NextDrive = 2
Drive 2 Logix
Input Start is pressed and (StartFirst = 2 OR NextDrive = 2) Then Start Drive 2
If Drive2 Running and NextDrive = 2 then Set NextDrive = 3
Drive 3 Logix
Input Start is pressed and (StartFirst = 3 OR NextDrive = 3) Then Start Drive 3
If Drive3 Running and NextDrive = 3 then Set NextDrive = 1
Stop Logix
Input Stop is pressed then Stop Drive1, Drive2, Drive3
If StartFirst = 1 then StartFirst = 2
If StartFirst = 2 then StartFirst = 3
If StartFirst = 3 then StartFirst = 1
NextDrive = StartFirst
If that doesn't explain it then not much i can help with.