HW_PSWITCH -- 硬件位置比较输出

类型

轴指令

描述

硬件比较输出,不同的轴对应不同的输出口。

 

缺省轴0-5分别对应输出口0 1 2 3 0 1。总共4个比较输出口。

可以连续调用两个HW_PSWITCH指令,通过函数方式可以获取能调用的指令个数。

每个比较点触发都会使得当前输出口电平翻转。

HW缓冲数1024个,可以连续调用1024HW指令。

HW指令调用后,不受后面的坐标修改功能的影响,HW指令TABLE存储的坐标必须在调用时是正确的,因此尽量手动修改坐标,要规避HW指令与坐标循环自动修改的随机冲突。

因为自动循环修改坐标不受程序控制,无法确定是在HW的前面还是后面,这样TABLE里面的坐标就无法确定。

 

此指令仅支持脉冲轴硬件位置比较输出,总线轴请使用HW_PSWITCH2指令。

使用脉冲型电机时只有ATYPE4时才是比较反馈位置(MPOS),默认出厂的ATYPE17比较的是命令位置(DPOS)

语法

HW_PSWITCH(mode, direction, reserve, tablestart, tableend)

Buff = HW_PSWITCH([axisnum])

mode1-启动比较器,2- 停止并删除没完成的比较点

direction0-坐标负向,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)

'OP0MPOS100-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

相关指令

PSWITCHHW_PSWITCH2