Terry Woods
Member
- Join Date
- Apr 2002
- Posts
- 3,170
Lancie said...
"Terry, The idea and straight-forward logic is great, but your rung for Drill Cycle would not work in this case, if Paula uses the X12 Drill Finished bit for your Drill Cycle Complete. It would cause the drill to stop, then restart, then stop ad infinitum."
Yes, that is correct. That was the "oops" I referred to at the top of my post. I was in a hurry and didn't have time to fix it. I was only able to add the "oops" before I had to go.
All that's needed is to fix one rung and add another.
Paula,
Mike is right about considering the DRUM. This is the kind of process that drums accel in.
My point about "think like a people" was meant to encourage you to re-think how you were looking at the process.
When you develop a process like this you just need to consider what YOU would have to say to be bunch of guys that were actually controlling the particular devices.
For example... oh hell, I'll go through the whole thing...
.
Your scheme requires an operator to load a part and then press the Start Button.
So, Rung-1 says... If the Table is at Home and the Operator presses Start, then the part is clamped until the Cycle is Done. The assumption is that the operator just inserted a part for processing.
.
You should have a sensor that indicates that the clamp is closed, thus indicating that the part really is clamped. A Timer will not do!
Rung-2 says... If Part is Clamped then Do the Drill Cycle until Drill Cycle is Done (or until Clamp Part goes OFF).
If you include your E-Stop and Light Curtain in Rung-1, then if either is activated, the Clamp Part signal goes OFF and the Drill Cycle is aborted.
You indicated that the "Start Drill" signal only needs to exist for a moment in order to start a cycle. However, there is nothing wrong with keeping the signal ON until the full extention is done.
.
In Rung-2, Do Drill Cycle extends the Drill. You should have a sensor that indicates that the drill is really extended. A Timer will not do!
Rung-3 says... if the Drill is extended then maintain Drill Cycle is Done until the part is unclamped. Once the Drill Cycle is Done, the drill is retracted in Rung-2.
Rung-4 says... If the Drill Cycle is Done AND the Drill is Retracted, and of course, if we are Clamping the Part (meaning that we are in Cycle), then, Extend the Table until we are out of cycle (that is, until Clamp Part is turned OFF).
.
Rung-5 says... the Table is Extended and we are in cycle (Clamp Part) so... Do the Pin Cycle until the clamp is released (Clamp Part goes OFF).
.
Rung-6 says... If we are Doing the Pin Cycle, then Extend the Pin Pusher until the Pin Delay is Done.
.
In Rung-6 you are extending the Pin Driver. You should have a sensor to indicate that full extenstion has occurred. A Timer will not do!
Rung-7 says... If we are doing the Pin Cycle (as initiated and controlled in Rung-5) and the Pin Driver is Extended, then run a timer... the need for the timer is because you indicated a need for a hesitation at full extention. (I find this troublesome... do you have a sensor for full extention???) At any rate, the timer is a delay before the full extention is "really done".
Once the Timer times out, the Pin Delay Done bit goes ON. This is used to self-seal itself (redundant? Well, maybe). The Pin Delay Done bit needs to be maintained until the Pin Driver is fully Retracted in the next rung.
.
Rung-8 says... If we are Doing the Pin Cycle, and the Pin Delay is Done, and the Pin Driver has been fully retracted then... we are done with the cycle!
Once this bit goes ON, the output in Rung-1 is turned OFF and the entire section of code is disabled until the next time that the Table is at Home and the Start Button is pressed.
The whole point of that was to show that the entire control scheme can be handled simply by using carefully considered "human-speak", that is, normal, everyday language.
Ergo... "Think like a people."
The unspoken part of my "Be the Computer" concept is, do so, but think like a people!
Now... there are other considerations...
- what if the drill bit is broken? It will not bore very far, if at all.
- what if the Table Extender fails?
- what if the Pin Driver somehow ends up mis-aligned? And doesn't complete the function?
You only have a few driving devices... it should be pretty simple to monitor all of the what-ifs.
"Terry, The idea and straight-forward logic is great, but your rung for Drill Cycle would not work in this case, if Paula uses the X12 Drill Finished bit for your Drill Cycle Complete. It would cause the drill to stop, then restart, then stop ad infinitum."
Yes, that is correct. That was the "oops" I referred to at the top of my post. I was in a hurry and didn't have time to fix it. I was only able to add the "oops" before I had to go.
All that's needed is to fix one rung and add another.
Start Table Whole-Cycle
Cycle Retracted Completed
-----| |-------| |-----+-----|/|--------( ) Clamp Part (This is equal to "DO CYCLE")
|
Clamp |
Part |
-----| |---------------+
Part Drill-Cycle Clamp
Clamped Completed Part
-----| |-----+-----|/|----------| |----( ) Do Drill Cycle
|
Do Drill |
Cycle |
-----| |-----+
Drill Clamp
Extended Part
-----| |-----+------------------| |----( ) Drill Cycle Completed
|
Drill Cycle |
Completed |
-----| |-----+
Drill-Cycle Drill Clamp
Completed Retracted Part
-----| |------------| |----+-----| |----( ) Extend Table
|
Extend |
Table |
-----| |-------------------+
Table Clamp
Extended Part
-----| |-----+-----| |--------( ) Do Pin Cycle
|
Do Pin |
Cycle |
-----| |-----+
Do Pin Pin-Delay
Cycle Done
-----| |-----+-----|/|--------( ) Extend Pin Driver
|
Extend |
Pin Driver |
-----| |-----+
Do Pin Pin-Driver +----------------+
Cycle Extended | TIMER |
-----| |----+------| |-----+---+ Pin Delay Done |
| | +----------------+
| Pin Delay |
| Done |
+------| |-----+
Do Pin Pin-Delay Pin Driver
Cycle Done Retracted
-----| |---------| |--------| |-------( ) Whole Cycle Completed
Paula,
Mike is right about considering the DRUM. This is the kind of process that drums accel in.
My point about "think like a people" was meant to encourage you to re-think how you were looking at the process.
When you develop a process like this you just need to consider what YOU would have to say to be bunch of guys that were actually controlling the particular devices.
For example... oh hell, I'll go through the whole thing...
Rung-1:
Start Table Whole-Cycle
Cycle Retracted Completed
-----| |-------| |-----+-----|/|--------( ) Clamp Part (This is equal to "DO CYCLE")
|
Clamp |
Part |
-----| |---------------+
.
Your scheme requires an operator to load a part and then press the Start Button.
So, Rung-1 says... If the Table is at Home and the Operator presses Start, then the part is clamped until the Cycle is Done. The assumption is that the operator just inserted a part for processing.
Rung-2:
Part Drill-Cycle Clamp
Clamped Completed Part
-----| |-----+-----|/|----------| |----( ) Do Drill Cycle
|
Do Drill |
Cycle |
-----| |-----+
.
You should have a sensor that indicates that the clamp is closed, thus indicating that the part really is clamped. A Timer will not do!
Rung-2 says... If Part is Clamped then Do the Drill Cycle until Drill Cycle is Done (or until Clamp Part goes OFF).
If you include your E-Stop and Light Curtain in Rung-1, then if either is activated, the Clamp Part signal goes OFF and the Drill Cycle is aborted.
You indicated that the "Start Drill" signal only needs to exist for a moment in order to start a cycle. However, there is nothing wrong with keeping the signal ON until the full extention is done.
Rung-3:
Drill Clamp
Extended Part
-----| |-----+------------------| |----( ) Drill Cycle Completed
|
Drill Cycle |
Completed |
-----| |-----+
.
In Rung-2, Do Drill Cycle extends the Drill. You should have a sensor that indicates that the drill is really extended. A Timer will not do!
Rung-3 says... if the Drill is extended then maintain Drill Cycle is Done until the part is unclamped. Once the Drill Cycle is Done, the drill is retracted in Rung-2.
Rung-4:
Drill-Cycle Drill Clamp
Completed Retracted Part
-----| |-----------| |----+-----| |----( ) Extend Table
|
Extend |
Table |
-----| |------------------+
Rung-4 says... If the Drill Cycle is Done AND the Drill is Retracted, and of course, if we are Clamping the Part (meaning that we are in Cycle), then, Extend the Table until we are out of cycle (that is, until Clamp Part is turned OFF).
Rung-5:
Table Clamp
Extended Part
-----| |-----+-----| |--------( ) Do Pin Cycle
|
Do Pin |
Cycle |
-----| |-----+
.
Rung-5 says... the Table is Extended and we are in cycle (Clamp Part) so... Do the Pin Cycle until the clamp is released (Clamp Part goes OFF).
Rung-6:
Do Pin Pin-Delay
Cycle Done
-----| |-----+-----|/|--------( ) Extend Pin Driver
|
Extend |
Pin Driver |
-----| |-----+
.
Rung-6 says... If we are Doing the Pin Cycle, then Extend the Pin Pusher until the Pin Delay is Done.
Rung-7:
Do Pin Pin-Driver +----------------+
Cycle Extended | TIMER |
-----| |----+------| |-----+---+ Pin Delay Done |
| | +----------------+
| Pin Delay |
| Done |
+------| |-----+
.
In Rung-6 you are extending the Pin Driver. You should have a sensor to indicate that full extenstion has occurred. A Timer will not do!
Rung-7 says... If we are doing the Pin Cycle (as initiated and controlled in Rung-5) and the Pin Driver is Extended, then run a timer... the need for the timer is because you indicated a need for a hesitation at full extention. (I find this troublesome... do you have a sensor for full extention???) At any rate, the timer is a delay before the full extention is "really done".
Once the Timer times out, the Pin Delay Done bit goes ON. This is used to self-seal itself (redundant? Well, maybe). The Pin Delay Done bit needs to be maintained until the Pin Driver is fully Retracted in the next rung.
Rung-8:
Do Pin Pin-Delay Pin Driver
Cycle Done Retracted
-----| |---------| |--------| |-------( ) Whole Cycle Completed
.
Rung-8 says... If we are Doing the Pin Cycle, and the Pin Delay is Done, and the Pin Driver has been fully retracted then... we are done with the cycle!
Once this bit goes ON, the output in Rung-1 is turned OFF and the entire section of code is disabled until the next time that the Table is at Home and the Start Button is pressed.
The whole point of that was to show that the entire control scheme can be handled simply by using carefully considered "human-speak", that is, normal, everyday language.
Ergo... "Think like a people."
The unspoken part of my "Be the Computer" concept is, do so, but think like a people!
Now... there are other considerations...
- what if the drill bit is broken? It will not bore very far, if at all.
- what if the Table Extender fails?
- what if the Pin Driver somehow ends up mis-aligned? And doesn't complete the function?
You only have a few driving devices... it should be pretty simple to monitor all of the what-ifs.