楼主最近还看过
"骄阳赤子心" 的回复,发表在1楼
对内容: 【我现在主要疑惑的是这modbus 40001对应16个报警,该怎么组态出来呢? 一直没有思路。以前做过的报警一般都是一个地址对应一个报警或者一个类目。如果是自己做PLC 程序还可以做出来,可这是和别...】进行回复:
-----------------------------------------------------------------
利用数学函数 提取的第一位报警值=!BitAnd(获得的报警值,1),提取的第二位报警值=!BitAnd(获得的报警值,2),提取的第三位报警值=!BitAnd(获得的报警值,4),提取的第四位报警值=!BitAnd(获得的报警值,8)......试一试。
获得的报警值即40001的值!
这是按位与,不是逻辑与好不好,我就是这样做的。比如一个报警数据01001100,第七位假设是温度报警,第四位是压力报警,用01001100与1000000按位与一下,不就得到第七位的温度报警信号了吗,与1000按位与一下就得到压力报警了(如果压力没有报警,是其他值,按位与后是00000000,有报警值就是1000,判断它大于零或等于零不就可以了吗)。
IF 0=!BitAnd(获得的报警值,1) THEN
未检测到点火火焰报警=0 '关闭报警
ELSE
未检测到点火火焰报警=1 '启动报警
ENDIF
IF 0=!BitAnd(获得的报警值,2) THEN
手动急停报警=0
ELSE
手动急停报警=1
ENDIF
"飞龙819" 的回复,发表在6楼
对内容: 【这是按位与,不是逻辑与好不好,我就是这样做的。比如一个报警数据01001100,第七位假设是温度报警,第四位是压力报警,用01001100与1000000按位与一下,不就得到第七位的温度报警信号了吗,...】进行回复:
-----------------------------------------------------------------
哦 明白了 谢谢您。脚本用的少,不太熟悉。十分感谢。您一般组态用什么软件呢?最近因为这个事,确实头疼,下了一个king view老是莫名死机。 感觉还是mcgs稳定。再次感谢!!!