RSLogix 500, MicroLogix 1400 Pulse Train Output

donp

Member
Join Date
Jul 2022
Location
Clear Lake, Iowa
Posts
6
Hello, I am using pulse train output to a stepper driver to control a stepper motor. It seems to work fine except when I use a Control Stop. According to the manual the control stop should immediately start the deceleration ramp, but it doesn't. It just hard stops. There is a hard stop function, but I need the deceleration function. Any ideas what I could be doing wrong?
Thanks for any help you can give.
 
What Drive are you controlling? I'd be looking for the Control Stop[Estop?] terminal, and regular Stop terminal. You may have the only stop input landed in the Hard Stop terminal, instead of the normal stop terminal. Once I sorted that confusion, I'd be looking for the drive parameter that tells the drive the decel speed when stopping. All that to say, I need more info. Is the MicroLogix pulse train the only speed reference you're using?
 
In this program I am using PTO #1 which outputs on output 3. I have the PTO set to 7500 pulses and have 100 pulses for accel and decel. If I enable it and allow it to run the full course it accelerates smoothly at start and decelerates smoothly at the end. If I try to stop it in the middle using a control stop it will just stop immediately instead of decelerating to a smooth stop. According to the manual it should decelerate when you use a control stop. I am trying to run to a limit switch in a home position. Maybe there is a better way but I don't know.
 
According to the manual the control stop should immediately start the deceleration ramp, but it doesn't. It just hard stops.
[...]
Any ideas what I could be doing wrong?

It may not be a helpful data point for OP, but my MicroLogix 1100 follows the process described in the manual: assigning 1 to PTO:0.CS (Control Stop) initiates a deceleration to 0 (once the acceleration is complete).

Perhaps it's a firmware bug in OP's 1400?

In the image below, .CS was assigned a value of 1 before the rising edge of B3:0.0/0 triggered a PTO cycle, so the PTO accelerated for ~40 steps then decelerated for 40 steps.
pto_controlled_stop.png
 
Thanks to everyone for the reply's. I believe the suggestion that it could be a glitch in the firmware. I am looking into that. I am going to try to attach a picture of my code. The 1 in the PTOX window in the CS value goes to 0 when you are online and when line 17 goes active it will change to a 1. I think my code is correct because it does stop but at the speed I need to run the hard stop shakes everything.

Capture.PNG
 
Does it work if you remove or disable rung 0018? because that rung could be changing the configuration (.TOP) of the PTOX, in which case who knows how is the PTOX is implemented to respond to such changes within the cycle.

E.g. .TOP can be 7500 (Rungs 0012 and 0013). What if the PTOX is generating pulses, and it has generated 4000 so far? If Rung 0018 changes the .TOP (total number of pulses) suddenly decreased to 3200, could that not be interpreted by the PTOX the same as a hard stop?

Remember: the PLC cares not a whit what you want it to do, but it will mercilessly and inexorably do exactly what you tell it to do according to its programming and firmware.
 
Last edited:
My Micrologix 1100 does a controlled stop even if the .TOP is decreased below wherever it is at the time the controlled stop bit is issued.
pto_controlled_stop.png
 
I ran a test on my bench unit & can confirm that the .DS flag activates under a .CS command.
It is a Series B CPU, not sure of exact version as am not adjacent to it.
 
Well I think drbitboy is correct. I wrote a code with only two lines in it. One to enable the PTO and the other to do the control stop. It works as it is supposed to. It has to be the way my code is written. At least I know the problem now and can rewrite it.
Thanks to everyone that took the time to help me with this issue.
 
Hmm, that is somewhat surprising. I thought I had it when I saw the write of 3200 to .TOP, but that is apparently not the issue.

When it is figured out, please consider posting the original code, or a least a test case that demonstrates what caused it to act that way, for future readers.
 

Similar Topics

I'm not super familiar with the Micrologix line of processors, but I am pretty familiar with RSLogix 500. I'm trying to simply copy a string to...
Replies
4
Views
307
I stumbled onto this behavior the other day, then went looking for old forum posts with the assumption that "there is nothing new under the...
Replies
0
Views
780
Hi there, I've managed to get Python to talk to my Micrologix 1400 using Pycomm. (Using read & write commands). My question is, is it possible to...
Replies
3
Views
2,580
Hey everyone, i have a very very stupid stupid question. How do i change the IP address on Micrologix 1400 using Rslogix 500. i know how to do...
Replies
2
Views
3,866
Dear Forum Members, I'm new to the world of plcs and their respective programming. So I apologize for my ignorance, and thank you in advance for...
Replies
2
Views
1,599
Back
Top Bottom