Multi-Thread Programming

 

March 2006

 

QuickSilver Controls adds Multi-Thread capability to its SilverDust line of servo controller/drivers for NEMA 17 and 23 frame motors.  It is now possible to have two programs executing simultaneously in the same controller.  This is ideal for motion applications where the servo controller is being used as the main logic controller (i.e. replacing a PLC).  One thread can be used to execute motion oriented programs while the second is dedicated to I/O processing. 

 

With both program threads running, the SilverDust’s instruction execute time is 240 microseconds as opposed to 120 microseconds in single thread operation.  This is the only performance hit.  The 8KHz servo loop executes as normal as does the 1MB CANopen® and 230KB serial channels. 

Both threads or programs share the same data registers to make passing information between threads easy and intuitive.  For example, either thread can change position or velocity by modifying the respective registers. 

 

Either thread can change or terminate the execution of the other thread.  Advanced debugging features include single step and breakpoint operations on one thread while the other thread is executing normally.

See Multi-Thread in chapter 3 of User Manual for more details.

 

CANopen® and CiA® are registered community trade marks of CAN in Automation e.V.