Haiwell海为PLC应用指令列表
| 指令类型 | 指令名称 | 8位模式 | 32位模式 | 指令功能 | 支持语言 | ||
| LD | FBD | IL | |||||
| 比较开关 | = | LB.=、HB.= | D.= | 等于比较开关,分16位/32位/低字节/高字节 | √ | ||
| <> | LB.<>、HB.<> | D.<> | 不等于比较开关,分16位/32位/低字节/高字节 | √ | |||
| > | LB.>、HB.> | D.> | 大于比较开关,分16位/32位/低字节/高字节 | √ | |||
| >= | LB.>=、HB.>= | D.>= | 大于等于比较开关,分16位/32位/低字节/高字节 | √ | |||
| < | LB.<、HB.< | D.< | 小于比较开关,分16位/32位/低字节/高字节 | √ | |||
| <= | LB.<=、HB.<= | D.<= | 小于等于比较开关,分16位/32位/低字节/高字节 | √ | |||
| F.= | 浮点数等于比较开关 | √ | |||||
| F.<> | 浮点数不等于比较开关 | √ | |||||
| F.> | 浮点数大于比较开关 | √ | |||||
| F.>= | 浮点数大于等于比较开关 | √ | |||||
| F.< | 浮点数小于比较开关 | √ | |||||
| F.<= | 浮点数小于等于比较开关 | √ | |||||
| 步进指令 | STL | 步开始 | √ | ||||
| SFROM | 步合并 | √ | |||||
| STO | 步转移 | √ | |||||
| 位指令 | AND | 逻辑与 | √ | √ | |||
| OR | 逻辑或 | √ | √ | ||||
| XOR | 逻辑异或 | √ | √ | ||||
| OUT | 线圈输出 | √ | √ | √ | |||
| SET | 置位保持 | √ | √ | √ | |||
| RST | 复位 | √ | √ | √ | |||
| ALT | ON/OFF交替输出 | √ | √ | √ | |||
| ZRST | 批量复位 | √ | √ | √ | |||
| ENO | 取ENO输出 | √ | |||||
| 计时器 | TON | 延时开 | √ | √ | √ | ||
| TOF | 延时关 | √ | √ | √ | |||
| TP | 脉冲计时器 | √ | √ | √ | |||
| 计数器 | CTU | D.CTU | 加计数器 | √ | √ | √ | |
| CTD | D.CTD | 减计数器 | √ | √ | √ | ||
| CTUD | D.CTUD | 加减计数器 | √ | √ | √ | ||
| 高速控制指令 | RESH | IO更新 | √ | √ | √ | ||
| SHC | 单点高速计数器 | √ | √ | √ | |||
| HHSC | 高速计数器 | √ | √ | √ | |||
| HCWR | 写高速计数器 | √ | √ | √ | |||
| SPD | 速度侦测 | √ | √ | √ | |||
| PWM | 脉宽调制 | √ | √ | √ | |||
| PLSY | D.PLSY | 脉冲输出 | √ | √ | √ | ||
| PLSR | D.PLSR | 加减速脉冲输出 | √ | √ | √ | ||
| ZRN | 原点回归 | √ | √ | √ | |||
| SETZ | 设置电气原点 | √ | √ | √ | |||
| PPMR | 直线插补 | √ | √ | √ | |||
| CIMR | 圆弧插补 | √ | √ | √ | |||
| SPLS | 单点脉冲输出 | √ | √ | √ | |||
| MPTO | 多段脉冲输出 | √ | √ | √ | |||
| SYNP | 随动脉冲输出 | √ | √ | √ | |||
| PSTOP | 停止脉冲输出 | √ | √ | √ | |||
| DVIT | 中断定位脉冲输出 | √ | √ | √ | |||
| ECAM | 电子凸轮 | √ | √ | √ | |||
| JOGP | 点动脉冲输出 | √ | √ | √ | |||
| 比较指令 | CMP | D.CMP | 比较指令 | √ | √ | √ | |
| ZCP | D.ZCP | 区域比较 | √ | √ | √ | ||
| MATC | D.MATC | 数值匹配 | √ | √ | √ | ||
| ABSC | D.ABSC | 绝对凸轮比较 | √ | √ | √ | ||
| BON | ON位判定 | √ | √ | √ | |||
| BONC | D.BONC | ON位数量 | √ | √ | √ | ||
| MAX | D.MAX | 最大值 | √ | √ | √ | ||
| MIN | D.MIN | 最小值 | √ | √ | √ | ||
| SEL | D.SEL | 条件选择 | √ | √ | √ | ||
| MUX | D.MUX | 多路选择 | √ | √ | √ | ||
| 移动指令 | LBST | 低字节赋值 | √ | √ | √ | ||
| HBST | 高字节赋值 | √ | √ | √ | |||
| MOV | D.MOV | 移动 | √ | √ | √ | ||
| BMOV | 块移动 | √ | √ | √ | |||
| FILL | 填充 | √ | √ | √ | |||
| XCH | 字节交换 | √ | √ | √ | |||
| BXCH | 块交换 | √ | √ | √ | |||
| SHL | 位左移 | √ | √ | √ | |||
| SHR | 位右移 | √ | √ | √ | |||
| WSHL | 字左移 | √ | √ | √ | |||
| WSHR | 字右移 | √ | √ | √ | |||
| ROL | 位循环左移 | √ | √ | √ | |||
| ROR | 位循环右移 | √ | √ | √ | |||
| WROL | 字循环左移 | √ | √ | √ | |||
| WROR | 字循环右移 | √ | √ | √ | |||
| BSHL | 字节左移 | √ | √ | √ | |||
| BSHR | 字节右移 | √ | √ | √ | |||
| ATBL | 添加到队列 | √ | √ | √ | |||
| FIFO | 先进先出 | √ | √ | √ | |||
| LIFO | 后进先出 | √ | √ | √ | |||
| SORT | 数据排序 | √ | √ | √ | |||
| 数据转换指令 | ENCO | 编码器 | √ | √ | √ | ||
| DECO | 译码器 | √ | √ | √ | |||
| BTOW | 位转换为字 | √ | √ | √ | |||
| WTOB | 字转换为位 | √ | √ | √ | |||
| HEX | HEX.LB | ASCII转换为16进制 | √ | √ | √ | ||
| ASCI | ASCI.LB | 16进制转换为ASCII | √ | √ | √ | ||
| BUNB | 离散位组合到连续位 | √ | √ | √ | |||
| BUNW | 离散位组合到连续字 | √ | √ | √ | |||
| WUNW | 离散字组合到连续字 | √ | √ | √ | |||
| BDIB | 连续位分散到离散位 | √ | √ | √ | |||
| WDIB | 连续字分散到离散位 | √ | √ | √ | |||
| WDIW | 连续字分散到离散字 | √ | √ | √ | |||
| BCD | D.BCD | BIN转换为BCD | √ | √ | √ | ||
| BIN | D.BIN | BCD转换为BIN | √ | √ | √ | ||
| ITOL | 整数转换为长整数 | √ | √ | √ | |||
| GRAY | BIN转换为GRAY码 | √ | √ | √ | |||
| GBIN | GRAY码转换为BIN | √ | √ | √ | |||
| 字符指令 | GHLB | 得出高低字节 | √ | √ | √ | ||
| GETB | 截取字节串 | √ | √ | √ | |||
| BCMP | BCMP.LB | 字节串比较 | √ | √ | √ | ||
| ITOC | D.ITOC | 整数转换为字符 | √ | √ | √ | ||
| CTOI | 字符转换为整数 | √ | √ | √ | |||
| FTOC | 浮点数转换为字符 | √ | √ | √ | |||
| CTOF | 字符转换为浮点数 | √ | √ | √ | |||
| 数学运算指令 | WNOT | D.WNOT | 取反 | √ | √ | √ | |
| WAND | D.WAND | 与运算 | √ | √ | √ | ||
| WOR | D.WOR | 或运算 | √ | √ | √ | ||
| WXOR | D.WXOR | 异或运算 | √ | √ | √ | ||
| ADD | D.ADD | 加法 | √ | √ | √ | ||
| SUB | D.SUB | 减法 | √ | √ | √ | ||
| INC | D.INC | 加1 | √ | √ | √ | ||
| DEC | D.DEC | 减1 | √ | √ | √ | ||
| MUL | D.MUL | 乘法 | √ | √ | √ | ||
| DIV | D.DIV | 除法 | √ | √ | √ | ||
| ACCU | D.ACCU | 累加 | √ | √ | √ | ||
| AVG | D.AVG | 平均值 | √ | √ | √ | ||
| ABS | D.ABS | 绝对值 | √ | √ | √ | ||
| NEG | D.NEG | 求2的补码 | √ | √ | √ | ||
| 浮点数指令 | FCMP | 浮点数比较 | √ | √ | √ | ||
| FZCP | 浮点数区域比较 | √ | √ | √ | |||
| FMOV | 浮点数移动指令 | √ | √ | √ | |||
| FADD | 浮点数加法 | √ | √ | √ | |||
| FSUB | 浮点数减法 | √ | √ | √ | |||
| FMUL | 浮点数乘法 | √ | √ | √ | |||
| FDIV | 浮点数除法 | √ | √ | √ | |||
| FACCU | 浮点数累加 | √ | √ | √ | |||
| FAVG | 浮点数平均值 | √ | √ | √ | |||
| FMAX | 浮点数最大值 | √ | √ | √ | |||
| FMIN | 浮点数最小值 | √ | √ | √ | |||
| FTOI | 浮点数转换为整数 | √ | √ | √ | |||
| ITOF | D.ITOF | 整数转换为浮点数 | √ | √ | √ | ||
| FABS | 浮点数绝对值 | √ | √ | √ | |||
| FSQR | 浮点数平方根 | √ | √ | √ | |||
| FSIN | 正弦值 | √ | √ | √ | |||
| FCOS | 余弦值 | √ | √ | √ | |||
| FTAN | 正切值 | √ | √ | √ | |||
| FASIN | 反正弦 | √ | √ | √ | |||
| FACOS | 反余弦 | √ | √ | √ | |||
| FATAN | 反正切 | √ | √ | √ | |||
| FLN | 自然对数 | √ | √ | √ | |||
| FLOG | 以10为底的对数 | √ | √ | √ | |||
| FEXP | 自然指数 | √ | √ | √ | |||
| FRAD | 角度转换为弧度 | √ | √ | √ | |||
| FDEG | 弧度转换为角度 | √ | √ | √ | |||
| FXY | 指数指令 | √ | √ | √ | |||
| 时钟指令 | TCMP | 实时时钟比较 | √ | √ | √ | ||
| TACCU | 时间累计 | √ | √ | √ | |||
| SCLK | 设置时钟 | √ | √ | √ | |||
| TIME | 时间开关 | √ | √ | √ | |||
| DATE | 日期开关 | √ | √ | √ | |||
| INVT | 倒计时 | √ | √ | √ | |||
| 通讯指令 | SUM | SUM.LB | SUM累加和校验 | √ | √ | √ | |
| BCC | BCC.LB | BCC校验 | √ | √ | √ | ||
| CRC | CRC.LB | CRC校验 | √ | √ | √ | ||
| LRC | LRC.LB | LRC校验 | √ | √ | √ | ||
| COMM | COMM.LB | 串行通讯 | √ | √ | √ | ||
| MODR | Modbus读 | √ | √ | √ | |||
| MODW | Modbus写 | √ | √ | √ | |||
| HWRD | Haiwellbus读 | √ | √ | √ | |||
| HWWR | Haiwellbus写 | √ | √ | √ | |||
| RCV | 接收通讯数据 | √ | √ | √ | |||
| XMT | XMT.LB | 发送通讯数据 | √ | √ | √ | ||
| FROM | 扩展模块CR数据读取 | √ | √ | √ | |||
| TO | 扩展模块CR数据写入 | √ | √ | √ | |||
| TCPMDR | Modbus TCP读 | √ | √ | √ | |||
| TCPMDW | Modbus TCP写 | √ | √ | √ | |||
| TCPHWR | Haiwellbus TCP读 | √ | √ | √ | |||
| TCPHWW | Haiwellbus TCP写 | √ | √ | √ | |||
| 中断指令 | ATCH | 中断绑定 | √ | √ | √ | ||
| DTCH | 中断释放 | √ | √ | √ | |||
| ENI | 允许中断 | √ | √ | √ | |||
| DISI | 禁止中断 | √ | √ | √ | |||
| 程序控制指令 | MC | 主控 | √ | √ | √ | ||
| MCR | 主控清除 | √ | √ | √ | |||
| FOR | 循环指令 | √ | √ | √ | |||
| NEXT | 循环结束 | √ | √ | √ | |||
| WAIT | 延时等待 | √ | √ | √ | |||
| CALL | 调用子程序 | √ | √ | √ | |||
| EXIT | 条件返回 | √ | √ | √ | |||
| REWD | 扫描时间复位 | √ | √ | √ | |||
| JMPC | 条件跳转 | √ | √ | √ | |||
| LBL | 跳转标号 | √ | √ | √ | |||
| 特殊功能指令 | GPWM | 通用脉宽调制 | √ | √ | √ | ||
| FTC | 模糊温度控制 | √ | √ | √ | |||
| PID | PID控制 | √ | √ | √ | |||
| HAL | D.HAL | 上限报警 | √ | √ | √ | ||
| LAL | D.LAL | 下限报警 | √ | √ | √ | ||
| LIM | D.LIM | 范围限制 | √ | √ | √ | ||
| SC | D.SC | 线性变换 | √ | √ | √ | ||
| VC | 阀门控制 | √ | √ | √ | |||
| TTC | 温度曲线控制 | √ | √ | √ | |||
| APID | 自整定PID | √ | √ | √ | |||
指令通用说明
● En使能输入:En为指令的使能输入端,只有当En有电(ON)时,指令被执行,否则指令不执行。
● Eno使能输出:Eno为指令的使能输出端,指示该指令是否被正确执行。当En有电(ON)并且指令被正确执行时那么Eno输出有电(ON),当En没有电(OFF)或者指令在执行时出现错误(例如:指令参数不正确)那么Eno输出没有电(OFF)。在LD、FBD语言的应用指令中,大部分的指令均有Eno使能输出端,所有IL指令均无Eno输出端,由专用于IL语言的ENO指令代替。
● LD语言无AND、OR、XOR三个指令,由逻辑链路代替。
● 32位指令在16位指令名称前加“D.”,表示使用2个连续的寄存器。如加法指令ADD,16位加法为ADD,32位加法为D.ADD。
● 8位指令在16位指令名称后面加“.LB”,表示只使用寄存器的低字节。如串行通讯指令COMM,16位指令为COMM,8位指令为COMM.LB。
● 对于一些指令的参数端将自动占用几个连续元件的情况,在编写程序时要特别注意,应避免元件被重用而使程序执行不正确。
注:
除了CV48~CV79为32位寄存器外(共32个),Haiwell(海为)PLC的其他寄存器(AI、AQ、V、SV、LV、TV、CV、P)都是16位寄存器,一个16位寄存器由2个字节组成,一个32位寄存器由2个连续的16位寄存器组成。
海为公众号
海为云APP
厦门海为科技有限公司
0592-3278716 (技术) | 4000-360-362 (商务)
海为总部:厦门市集美区软件园三期C03栋13-14层 | 制造中心:厦门市翔安区火炬高新区(翔安)产业区垵边南路336-2号4楼