Hi John,
Can the KSTEP virtual inputs be remapped to work on the AUX ports 4 or 6?
Not sure what you mean by this. KSTEP has 16 24V Opto Inputs that are designed to be read in through KFLOP JP7 using 6 I/O pins (2bits of multiplexor selection and 4 inputs). The KFLOP Firmware automatically reads all the inputs squentually and makes them available as 16 Virtual Input Bits. It would be difficult to use the other connectors.
Can the use of a feedback source one one of the motion control channels be enabled/disabled on the fly? Maybe a better way to put this is can a motion controlled stepper channel be switch between open loop and closed loop on the fly?
Yes. But I think I would describe your situation differently. I think what would work better is more of a "Dual Loop" situation. Maybe Dual Loop is a bad term. Where Two Axis Channels are linked together. One Closed Loop Axis (the THC) commands another Axis Channel's Velocity. The outer loop is the THC feedback loop. The Axis Channel connected to the Motor is usually a traditional Servo loop - but doesn't have to be. It can be any Axis type that can move in a controlled manner.
So I think what you would want is to be able to switch the link between the two Axis on and off. When off (non-THC) you can move and position the Axis connected to the Motor directly.
See the example HeightServo.c that was used with an LVDT Height sensor to allow an axis to track the surface of uneven material. Persist Variable 0 is used to switch Dual Loop Mode on and off:
Code:
#include "KMotionDef.h"
main()
{
while(1) // loop forever
{
WaitNextTimeSlice(); // execute loop once per time slice (2 servo ticks)
// Change Encoder loop's commanded destination based on error output of LVDT Height loop
// User Variable 0 enables/disables the mode
if (persist.UserData[0])
{
ch3->Dest += ch2->Output * TIMEBASE * 2.0;
}
}
}
HTH
Regards