Terry Woods
Member
- Join Date
- Apr 2002
- Posts
- 3,170
I said...
Instead of using Chk_1, Chk_2, etc in your AND_BOOL's, use CHECK_MTR in all of them.
You said...
If I do that, multiple units that request service at the same time, can start simultaneously (ie. a power outage and all t-stats go high. Power comes up with ALL units requesting svc at the same time). That defeats my purpose. I want to achieve exactly the opposite. I want to NOT allow multiple units to start at the same time.
Also, the SELECTOR uses the output of the counter to scroll thru the motor list. It tries each motor in sequence due to the counter output. Show me a different way to do it and I'll definitely try it.
After any kind of start-up, and all through the day, CHECK_MTR looks for the first motor in the code sequence that is not on but wants to be on.
If it finds one, then CHECK_MTR is disabled and the Timer runs. As long as the timer is running CHECK_MTR is OFF so... no other motors can be started during the timer period.
The program will ALWAYS be scanning the code - it does NOT stop scanning.
When the timer times out, CHECK_MTR is turned on again and the program looks again for the first motor in the code sequence that is not on but wants to be on.
While Check_Mtr, if Mtr3 wants to be started...
Start_Mtr3
Disable Check_Mtr and begin 30-Sec Delay
@Timeout - Enable Check_Mtr
While Check_Mtr, if Mtr8 wants to be started...
Start_Mtr8
Disable Check_Mtr and begin 30-Sec Delay
@Timeout - Enable Check_Mtr
While Check_Mtr, if Mtr2 wants to be started...
Start_Mtr2
Disable Check_Mtr and begin 30-Sec Delay
@Timeout - Enable Check_Mtr
etc...
The fact that CHECK_MTR is turned OFF is what prevents any other motors from starting during the timer period. The program continues to scan ALL start_motor requests but none can be serviced as long as CHECK_MTR is OFF.
As far as the number of logic blocks... I didn't mean the number of types... I meant the actual number of blocks that you can load into the program.
You might have 5 logic block types. The program might allow a total of 32 blocks (in any "type" combination).
Instead of using Chk_1, Chk_2, etc in your AND_BOOL's, use CHECK_MTR in all of them.
You said...
If I do that, multiple units that request service at the same time, can start simultaneously (ie. a power outage and all t-stats go high. Power comes up with ALL units requesting svc at the same time). That defeats my purpose. I want to achieve exactly the opposite. I want to NOT allow multiple units to start at the same time.
Also, the SELECTOR uses the output of the counter to scroll thru the motor list. It tries each motor in sequence due to the counter output. Show me a different way to do it and I'll definitely try it.
After any kind of start-up, and all through the day, CHECK_MTR looks for the first motor in the code sequence that is not on but wants to be on.
If it finds one, then CHECK_MTR is disabled and the Timer runs. As long as the timer is running CHECK_MTR is OFF so... no other motors can be started during the timer period.
The program will ALWAYS be scanning the code - it does NOT stop scanning.
When the timer times out, CHECK_MTR is turned on again and the program looks again for the first motor in the code sequence that is not on but wants to be on.
While Check_Mtr, if Mtr3 wants to be started...
Start_Mtr3
Disable Check_Mtr and begin 30-Sec Delay
@Timeout - Enable Check_Mtr
While Check_Mtr, if Mtr8 wants to be started...
Start_Mtr8
Disable Check_Mtr and begin 30-Sec Delay
@Timeout - Enable Check_Mtr
While Check_Mtr, if Mtr2 wants to be started...
Start_Mtr2
Disable Check_Mtr and begin 30-Sec Delay
@Timeout - Enable Check_Mtr
etc...
The fact that CHECK_MTR is turned OFF is what prevents any other motors from starting during the timer period. The program continues to scan ALL start_motor requests but none can be serviced as long as CHECK_MTR is OFF.
As far as the number of logic blocks... I didn't mean the number of types... I meant the actual number of blocks that you can load into the program.
You might have 5 logic block types. The program might allow a total of 32 blocks (in any "type" combination).
Last edited: