Kinetix Servo Randomly Runs Away!

Terry Day

Member
Join Date
Nov 2017
Location
Seattle
Posts
3
How many GSV instructions are too many? I have a program with 144 executing every scan. I have 14 servo axes that all change back and forth from torque mode to position mode from time to time. lets say twice a day. Once in a while one or two of the axes runs away hitting the hard stop very hard. It happens on the torque to position transition. I check the servo status using a GSV (loop_config_current) is 5, (dual position servo mode) and that position data is correct before enabling the drive. I am wondering if I am getting false data from the GSV instruction? Any Clues??

PS Hi Ken, Hi Bernie long time no see.
 
Last edited:
Oh, hi Terry ! Small world here on the Internet !

I've always been told that GSV's "take some overhead time" but have never really measured to see what their impact on scantime is, or whether they could give you stale data when they query an object like an axis status that hasn't received a recent update at the Coarse Update Rate.

Are the servos on CIP Motion, or connected over SERCOS ?

And chance you could take some of those GSV instructions and put them into a sequencer or a lower-priority task to take pressure off the motion subsystem ?
 
Ken
All 14 are on SERCOS. As for a sequencer that was my first thought. I did not write this code so just looking for ways to improve it.

I recall doing multiple Drives on Ethernet network and using CIP instructions chained together using the .DN and .ER bits to toggle the next message. But there are no .DN or .ER bits associated with a GSV. So how do you tell when a GSV is truly done if you cant trust the data it's getting??

All I know is somehow it is reporting back that it switched to position mode but did not and runs away.
 
For GSV's, I just use a simple DINT as a counter. Add 1 to the DINT every scan, and trigger GSV's based on the current sequence # of the GSV. After the last one, I set the counter back to zero.

I use this for many hundreds of GSV's for retrieving module status from IO, drives, etc, without noticing any performance hit at all on the CPU.

For the record, the absolute longest GST instruction time is about 205 uS, and that is retrieving local time on Rev 17 of an 1769-L2x processor. The time varies greatly depending on firmware revision and processor. Most GSV instructions are under 10 uS on all platforms.
 
Last edited:

Similar Topics

Hi all, New here and new all round to PLC`s. We have a servo drive that runs a cross travel beam backwards and forwards. I am having trouble with...
Replies
3
Views
134
Hi, I had two kinetix 5500 servo driver H015 will show FLT S25…PRECHARGE FAILURE error on the drive whenever it being power up with DC 24V &...
Replies
0
Views
814
I am looking to upgrade some of our old Servo Drives to the newer kinetix 5700 style. currently we have 4 1394 axis that are all driven by 5kw...
Replies
1
Views
853
Hi! I'm trying to communicate with an old Kinetix 300 drive that is fully functioning. Is there any library I can use to monitor this drive with...
Replies
0
Views
409
Hi! I'm trying to communicate with an old Kinetix 300 drive that is fully functioning. Is there any library I can use to monitor this drive with...
Replies
0
Views
473
Back
Top Bottom