Hi guys,
I’m writing a program for a small machine that I designed to install a roll-pin in a brass valve body, and I could really use a bit of help. Though it seems a very simple sequence, this is only my second PLC program, and I’m finding myself quite stuck at the moment.
At this point, I have the panel built and wired, and the various machine components hooked up on the bench, so that the program can be tested prior to actually assembling the machine. The PLC is an Automation Direct DL-06 (D0-06DR), using DirectSOFT32 (version 4) software.
Here is a crude layout of the process:
Here is a basic operational sequence:
1) A part is placed in the fixture.
2) The operator presses “Start”.
3) An air-powered clamp extends to clamp the part in the fixture.
4) When the clamp is fully extended, a self-feed air drill starts, and a hole is drilled for the roll pin.
5) When the drill cycle is completed, the table indexes, and a driver (fed from a feeder bowl system) presses a pin into the drilled hole.
6) Once the pin is seated, the driver retracts.
7) When the driver is fully retracted, the index table and clamp are retracted, completing the cycle.
Here’s my program, so far:
Some general notes:
1) The self-feed air drill has a built in valve system, and requires only a momentary air signal (approx 1 sec.) to start the cycle. This is what I’ve attempted to accomplish in the program with the “Drill Pulse” timer (T3). The drill also provides a “finished” signal when the drill cycle is complete. It uses air pressure, but I’m using a pressure switch to convert it to a usable input (X12).
2) It was deemed necessary to have the driver “dwell” for a brief period when completely extended, to insure that the pin is fully seated, and that the driver doesn’t prematurely retract when LS7 (X10) is made. This is the reason for the “Pin Seat” timer (T4).
The problem I’m having is that, once the drill completes its cycle, it simply starts another. I’ve got a feeling that I can’t accomplish what I want using the Drill Pulse timer. It seems that it resets sooner than I need. Would it be possible to use Set/Reset outputs to accomplish this? I apologize if this seems ridiculously simple to many of you, but I’m still very much in the “learning” mode with this project.
Any/all comments or suggestions are much appreciated.
Paula
PS - A related question: I also need to provide logic within this program to sequence a couple of valves for feeding the pin to the driver from a vibratory bowl system. Is it possible for the program to do this while the “main” program is running, such that it doesn’t subtract from the total cycle time? It only takes few seconds for the sequence, but that is still a significant time increase for this application.
I’m writing a program for a small machine that I designed to install a roll-pin in a brass valve body, and I could really use a bit of help. Though it seems a very simple sequence, this is only my second PLC program, and I’m finding myself quite stuck at the moment.
At this point, I have the panel built and wired, and the various machine components hooked up on the bench, so that the program can be tested prior to actually assembling the machine. The PLC is an Automation Direct DL-06 (D0-06DR), using DirectSOFT32 (version 4) software.
Here is a crude layout of the process:
Here is a basic operational sequence:
1) A part is placed in the fixture.
2) The operator presses “Start”.
3) An air-powered clamp extends to clamp the part in the fixture.
4) When the clamp is fully extended, a self-feed air drill starts, and a hole is drilled for the roll pin.
5) When the drill cycle is completed, the table indexes, and a driver (fed from a feeder bowl system) presses a pin into the drilled hole.
6) Once the pin is seated, the driver retracts.
7) When the driver is fully retracted, the index table and clamp are retracted, completing the cycle.
Here’s my program, so far:
Some general notes:
1) The self-feed air drill has a built in valve system, and requires only a momentary air signal (approx 1 sec.) to start the cycle. This is what I’ve attempted to accomplish in the program with the “Drill Pulse” timer (T3). The drill also provides a “finished” signal when the drill cycle is complete. It uses air pressure, but I’m using a pressure switch to convert it to a usable input (X12).
2) It was deemed necessary to have the driver “dwell” for a brief period when completely extended, to insure that the pin is fully seated, and that the driver doesn’t prematurely retract when LS7 (X10) is made. This is the reason for the “Pin Seat” timer (T4).
The problem I’m having is that, once the drill completes its cycle, it simply starts another. I’ve got a feeling that I can’t accomplish what I want using the Drill Pulse timer. It seems that it resets sooner than I need. Would it be possible to use Set/Reset outputs to accomplish this? I apologize if this seems ridiculously simple to many of you, but I’m still very much in the “learning” mode with this project.
Any/all comments or suggestions are much appreciated.
Paula
PS - A related question: I also need to provide logic within this program to sequence a couple of valves for feeding the pin to the driver from a vibratory bowl system. Is it possible for the program to do this while the “main” program is running, such that it doesn’t subtract from the total cycle time? It only takes few seconds for the sequence, but that is still a significant time increase for this application.
Last edited: