新闻中心 下载中心

欢迎光临佛山市固高自动化技术有限公司!

智能工业装备自动化综合解决方案提供商运动控制领域领导品牌

佛山固高咨询电话:0757-86687156

他们都在搜:  运动控制器  胡国强  运动控制卡  科莱特机器  as
当前位置:主页 > 新闻中心 > 常见问题 >

GTS运动控制卡插补运动缓冲区的管理(暂停与恢复)测试

文章出处:常见问题 人气: 发表时间:
问题:GTS运动控制卡插补运动缓冲区的管理(暂停与恢复)测试
 
回答:GTS运动控制卡插补运动缓冲区的管理(暂停与恢复)测试:
 
 用户的主插补运动的插补数据应该放在FIFO0中。FIFO0的插补运动可以被中断(通过调用GT_Stop()指令),中断后可以进行辅助 FIFO1 的插补运动,辅助 FIFO1 的插补运动完成后,需要将坐标系位置恢复到FIFO0 主运动被打断的位置,之后FIFO0 可从断点处继续恢复原来的运动。
 
由于主缓冲区可以放置插补运动指令(如GT_LnXY)、缓冲区延时指令、缓冲区IO指令等,下面针对不同指令,在指令执行过程中暂停主缓冲区。
 
//主缓冲区运动
sRtn = GT_CrdClear(1, 0);//清空主缓冲区
sRtn = GT_LnXY(1,5000,5000,10,1,0,0);//第一条插补指令
sRtn = GT_BufDelay(1, 8000, 0);//第一条延时指令
sRtn = GT_BufDelay(1, 3000, 0);//第二条延时指令
sRtn = GT_BufIO(1,MC_GPO,1<<(1-1),0,0);//输出IO指令
sRtn = GT_BufDelay(1, 3000, 0);//第三条延时指令
sRtn = GT_LnXY(1,10000,10000,10,1,0,0);//第二条插补指令
 
//辅助缓冲区运动
sRtn = GT_LnXY(1,15000,25000,10,1,0,0);//第一条插补指令
 
(1)当前正在执行插补运动指令
如果当前正在执行插补指令,调用主缓冲区暂停指令后,缓冲区立即停止运动,且可以记录当前断点位置,后续执行完辅助缓冲区后,从该断点位置继续执行主缓冲区。例如,执行第一条插补指令,在位置为(X=2000,Y=2000)处暂停主缓冲区运动,那么后续恢复主缓冲区运动则继续从该位置运动。
 
(2)当前正在执行延时指令
如果当前正在执行缓冲区延时指令,调用主缓冲区暂停指令时,这条延时指令将失效。1.如果这条延时指令后面是插补运动指令,那么启动辅助缓冲区运动时,直接执行辅助缓冲区运动;2.如果这条延时指令后面是延时指令,那么启动辅助缓冲区运动时,会先执行延时指令,再执行辅助缓冲区运动,例如:第一条延时指令执行到(例如3s),暂停主运动,那么8s的延时不再起作用,启动辅助运动,则第二条延时指令先执行再执行辅助运动;3.如果第一条延时指令后面是输出IO指令,当第一条延时指令执行到中间(例如3s),暂停主运动,那么输出IO指令会被执行,启动辅助运动后直接进入辅助运动。

最新产品

同类文章排行

最新资讯文章