Hello.
I have Siemens CPU 1214 DC/DC/DC and 2 Delta Servodrive ASD-B2.
The first drive rules moving, second rules rotation.
I can rule these servodrives in position mode only by pulse with variable frequency.
I created Technology object and tuned it for motion.
It works without problem.
For rotation I can not use technology object, because I need to change frequency immediately.
I used CTRL_PTO (Pulse train output) for rule it.
But I have problem.
I set the value of frequency as riser between two encoder`s value: moving and rotation (multiplied by several value, of course).
This value of frequency can negative, so in my program in this situation I invert this value to positive and set direction bit.
It works, but unstable. The CTRL_PTO function randomly stops without fault.
I noticed that this problem appears in ending of rotation (randomly!), when value of frequency is small, less then 1000Hz, but not equally 0.
The function doesn`t work after that. The PLC`s output, configured as pulse generator, doesn`t works.
When function stops, I need to set 0Hz in frequency input`s function, after that I set real value of frequency, and function works! For next stopping...
For solving this problem I had to write a condition: when frequency less than 1000HZ, the program sets this value as 0 Hz.
It`s works, but which can be quality precision of positioning in this or another situation?
I have no ID errors in this situation. For my mind it`s a problem in program`s code CTRL_PTO.
It is a big puzzle for me. Anybody, can you help me to find solution of this problem?
Thank you for answer!