状态字、控制字在plc编程中经常遇到,具体怎么用呢

字面上理解,一个字包含两个字节,16个位对吧,其实就用其中的位(0和1)来作为控制或者表示状态;一个字里面的高位低位,大家要懂得区分开哈,基本功

如何让计算机有字(状态字傻傻分不清楚)(1)

西门子v20变频器控制字状态字

如何让计算机有字(状态字傻傻分不清楚)(2)

低位高位

1、控制字

先来看一个例子,下图是plc与变频器modbus通讯,控制变频器的启停,可以看到16#047E变频器停止,16#047F控制变频器启动,是怎么做到的呢,其实细分下,16#047E转为二进制0000 0100 0111 1110,16#047F转为二进制0000 0100 0111 1111,所以认真看发现差别就在最低位的0和1,即v101.0位控制变频器的启动跟停止,v101.0为1变频器启动,为0停止;还有正转,反转,急停,故障确认等等,大家都可以举一反三,这边就不多加赘述了;

如何让计算机有字(状态字傻傻分不清楚)(3)

既然最低位控制启停那其他位呢,底下截图就是其他15个位的功能使用,很好理解的,有兴趣小伙伴可以自己去研究下;

如何让计算机有字(状态字傻傻分不清楚)(4)

2、状态字

状态字,顾名思义,就是16个位,每个位表达变频器的当前状态;40110变频器的状态字地址,每个位所表达的意思,我也截图出来,大家可以看看,下段程序我需要用到变频器运行位和故障位用于plc编程中,通过轮询读取状态字;

如何让计算机有字(状态字傻傻分不清楚)(5)

如何让计算机有字(状态字傻傻分不清楚)(6)

状态字,控制字具体有啥用呢,最主要的用途还是在于通讯上的使用,plc作为主站,更方便控制从站变频器的运行,通过状态字,也更清楚了解设备的状态,用于程序的编辑当中,如变频报警,故障确认,运行状态,参数修改等等;

,