c#做运动控制卡的线程循环有异常

最近遇到个项目是做板卡控制的,接触的不多,和板卡通讯问题不大,但是做流程控制的时候,感觉做的不太对,特此请教下。
当我开线程进行自动运行的时候,会根据一些需求信号,给轴卡发运动指令(绝对,相对,JOG,插补等),但是遇到个问题是

1.当没有额外反馈信号的时候,我得自己去得板卡轴当前的位置,我是不是得做while(true)死循环去监控位置值,到位后,break出去。
2.但是当轴正在运行的时候,我程序是一直在while(true)死循环里,一直给板卡发指令,板卡厂商给的意思是,最好不要这样一直给,其他还好,像类似插补这样的,板卡直接会出错,卡死。

以上是我纠结的点,希望各位指点迷津!

用的谁家的板子,不同家板子的api不一样

不用死循环,给个Time,多久执行一次。
while(true)也是有条件退出的。

运动控制器不需要你一直轮询卡的位置,如果你想实现轨迹规划、插补、是需要调用控制卡的特殊功能块,比如前探功能,现在主流的运动控制器都不需要你这些操作,你这些操作会给运动带来中断,导致不连贯等问题。

意思是这个意思,在循环内加sleeptime(1).

我一般的做法是,提前预估出运动时间, 直接等待这么久就行。因为,当你知道运动卡底层算法逻辑,就能够自己在上层做出相应的运动时间预估算法。
或者,先预估出可运行的时间列表,再用PVT模式进行运行。
方法多得很。