Controlling stepper with Direct Logic 06 plc

billglenn

Member
Join Date
Jun 2013
Location
georgia
Posts
1
Im trying to program a D0-06 Directlogic plc to move a stepper as long as i hold a switch to the clockwise position then when i press another switch to move in the ccw position.

Im using directsoft 5 software to program the plc.

Here is my problems. I can get the stepper to move in one direction but the y1 output wont control direction.. But then I can make the y1 work by moving it in the programming but the stepper motor will only take one single step per press of the button.

Whats weird is as long as i dont initialize the scratch pad and i move the x1 to y0 and x0 to y1 then it will rotate aslong as i hold the button down, but then I lose directional control again.

Any ideas will be greatly appreciated.

Thanks!
 
But then I can make the y1 work by moving it in the programming but the stepper motor will only take one single step per press of the button.
That sounds like it could be "normal". A stepper motor moves a certain distance for each On/Off input. That is why it is called "stepper" - it moves a step for each input. To make a stepper motor move more than 1 step, you have to give it a series of On/Off pulses. To make your DL-06 PLC step using the HSIO (High Speed Input & Pulse Output) instruction send out pulses, you must do the extensive set up procedures as shown in Appendix E of your DL06 Software User Manaul. You must have your HSIO set for operating mode "30" (Pulse Output), configured by setting a value in memory location V7633 as shown on page E-6 of the DL06 Software User Manaul. There are many other memory locations that must be configured also, such as V7634 to V7637. See Page E-38 for how to set up Mode 30 Pulse Output mode to control your stepper motor.

If set up properly, an On/Off input on X0, X1, X2, or X3 will cause the motor to rotate for 1 step. If you want more than one step, then to do that manually, you have to design some method to allow sending multiple pulses to one of the inputs. For example, you could use a Counter with a Preset for the number of steps you want to move, then use a timer to trigger a Counter to control a PLC Output, and wire this Output to the X0 input. Then when you start your timer, you should get a series of pusles to X0, which will get sent to your stepper motor wired to terminals Y0 and Y1.

To make your pulses automatic, there is a way to store a Position in your DL06 memory, then have the HSIO send pulses until your stepper motor steps to that position. See page 4-42. You must save data in Profile/Velocity Select memory register locations, starting at V3630. V3630 is the Target Velocity, and the remaining pairs are Acceleration and Distance for each Step. The Pointer to this table is V7630, which can be used to step through the table with your ladder program.

Here are my problems. I can get the stepper to move in one direction but the Y1 output won't control direction..
Looking at Page E-38, the default mode (DL-06 memory location V7634 set to 0003) is that Y0 = CW pulse, and Y1 = CCW pulse. If you want Y0 = Pulse, and Y1 = Direction, you must change V7634 to hexadecimal value "0103".
Any ideas will be greatly appreciated.
If It sounds as if you might have some errors in your program logic. This is a difficult subject, with many involved memory settings that must be properly set up to make the HSIO work as desired. Then once set up properly, you need a ladder program to control the HSIO to make it send out the correct number of pulses (either manually using some pulse input method, or automatically using the Profile/Velocity Select registers).

If you will print your DirectSoft ladder program to a PDF file, and post that here, you will receive more and better help. If you cannot print to a PDF-type file, then you could take a screen snapshot of the problem part of your program, and post that as a JPG picture file, limit 800 Wide x 600 High pixels.
 
Last edited:
the stepper driver needs a pulse for every step and a directionto do it cw or ccw.
max is 200 steps/second.
so you will have to put an output on and off again, and this is done every cycle.
if output on then output off.
complete a cycle as the outputs will not react direct in your program
output on
output off
will not work.
 
I'm going to go out on a limb and make an assumption. The assumption is that your PLC's Y0 output is connected to the "Step" input of the stepper drive and your PLC's Y1 output is connected to the "Direction" input of the stepper drive.
If that's the case, then for every transition of the Y0 output, the stepper motor should move one increment. When the Y1 output is on the stepper motor will move in one direction, When the Y1 output is off the stepper motor will move in the opposite direction.
 

Similar Topics

Hello. I am using the following: Eaton E4-AC-12RXP PLC I am trying to control the CL86T which controls a Closed-Loop Stepper motor. I am using...
Replies
3
Views
938
Hello, thing that makes me wonder, its the situation when we move axis from one position to other position with CommandTable. For example, after...
Replies
4
Views
1,457
I am quite new to PLC and have to build a solar tracking system. I have to move my stepper motor by 15 degrees every hour . That means 24 steps...
Replies
5
Views
2,547
All, I need to assemble a device for my trade that will count down a number array while controlling the rotation and direction of a stepper...
Replies
8
Views
7,250
Compactlogix controller, program has 28 conveyors that use TON's to start the conveyors. The TT sounds a warning horn during start and the DN...
Replies
6
Views
87
Back
Top Bottom