【TRIO-Basic从入门到精通教程十四】Trio实现单位置轴多色标捕捉
作者:Gmotion
发布时间:2018-01-18
更新时间:2023-12-31
点击数:
大家好,相信很多朋友都用过或听过色标功能。Trio物理轴简单配置就能实现双色标功能。
使用TRIO实现探针基本功能,应用高速定位,对位场合.
应用场景如下:印刷,切纸,飞剪,追剪,打孔等场合
TRIO使用的色标捕捉命令如下图所示:
REGIST(20, channel, source, edge, window [,quantity, table_start])
我们使用A、B两个通道就能捕捉到双色标。如果想实现多轴色标功能,那么就需要特殊方法去处理:
方法如下:将所需要捕捉轴位置叠加给虚轴,我们对虚轴位置去捕捉。
注意:因为使用了虚轴,硬件捕捉速度小于实体轴速度。
接下来:我们直接看代码实例
'clear axis(3) motion buffer BASE(3) UNITS=1 CANCEL(2) WAIT IDLE WA(100) DEFPOS(0) WAIT UNTIL OFFPOS=0 WA(10) BASE(4) UNITS=1 DEFPOS(DPOS AXIS(3)) WAIT UNTIL OFFPOS=0 ADDAX(3) BASE(3) UNITS=1000 SPEED=1 DECEL=10 ACCEL=10 REG_INPUTS=$21 BASE(4) UNITS=1000 SPEED=1 DECEL=10 ACCEL=10 WDOG=1 FORWARD AXIS(3) 'input in 1 REGIST(20, 0, 0, 0, 0) AXIS(3) 'input in 2 REGIST(20, 1, 0, 0, 0) AXIS(3) 'input in 3 REGIST(20, 3, 4, 0, 0) AXIS(4) WHILE TRUE IF MARK AXIS(3) THEN PRINT "MarkA pos=",REG_POS AXIS(3) WA(200) REGIST(20, 0, 0, 0, 0) AXIS(3) ENDIF IF MARKB AXIS(3) THEN PRINT "MarkB pos=",REG_POSB AXIS(3) WA(200) REGIST(20, 1, 0, 0, 0) AXIS(3) ENDIF IF MARK AXIS(4) THEN PRINT "MarkC pos=",REG_POS AXIS(4) WA(200) REGIST(20, 3, 4, 0, 0) AXIS(4) ENDIF WEND
测试方案:IO输入1,2,3短接在一起,办证色标同时触发。IN1-2接在本体实体轴3上,IN3接在虚拟轴4上。
我们看看实际运行结果
精度在我们范围以内,达到我们测试要求。
新本伺服探针,放在后期文章中进行发布,敬请收藏加关注!
谢谢大家~~~