|
类型 |
轴指令 |
|
描述 |
硬件比较输出,不同的轴对应不同的输出口。
缺省轴0-5分别对应输出口0 1 2 3 0 1。总共4个比较输出口。 可以连续调用两个HW_PSWITCH指令,通过函数方式可以获取能调用的指令个数。 每个比较点触发都会使得当前输出口电平翻转。 HW缓冲数1024个,可以连续调用1024个HW指令。 HW指令调用后,不受后面的坐标修改功能的影响,HW指令TABLE存储的坐标必须在调用时是正确的,因此尽量手动修改坐标,要规避HW指令与坐标循环自动修改的随机冲突。 因为自动循环修改坐标不受程序控制,无法确定是在HW的前面还是后面,这样TABLE里面的坐标就无法确定。
此指令仅支持脉冲轴硬件位置比较输出,总线轴请使用HW_PSWITCH2指令。 使用脉冲型电机时只有ATYPE为4时才是比较反馈位置(MPOS),默认出厂的ATYPE为1或7比较的是命令位置(DPOS)。 |
|
语法 |
HW_PSWITCH(mode, direction, reserve, tablestart, tableend) Buff = HW_PSWITCH([axisnum]) mode:1-启动比较器,2- 停止并删除没完成的比较点 direction:0-坐标负向,1- 坐标正向,2-不判断方向 reserve:预留 tablestart:第一个比较点坐标所在TABLE编号 tableend:最后一个比较点坐标所在TABLE编号
HW_PSWITCH没有比较完所有点的话,一定要设置mode值为2,通过HW_PSWITCH(2)指令停止并删除没有完成的比较点,否则后面此输出通道会工作不正常。 |
|
适用控制器 |
4系列及以上产品,4系列固件20170704及以上 ZMC420SCAN不支持HW_PSWTICH |
|
例子 |
以下例程测试环境:ZMC432,固件:20170709(仿真器无法运行此指令)。
BASE(0) '选择轴0默认输出OP(0) ATYPE=4 '采用编码器位置作比较输出参考点,无编码器改成脉冲轴类型 UNITS=100 SPEED=100 ACCEL=500 MPOS=0 OP(0,OFF) TABLE(0, 100,150,250,300,400,450) 'OP0在MPOS100-150间打开,150-250间关闭,250-300间打开,300-400间关闭,400-450间打开,450后关闭 HW_PSWITCH(2) '停止并删除没有完成的比较点 HW_PSWITCH(1, 1, 0, 0, 5) '启动比较输出 TRIGGER MOVEABS(500)
比较输出图 MPOS(0)垂直刻度200 OP(0)垂直刻度2
|
|
相关指令 |