目的:达到二进制状态读取与输出
将端口000.07-000.11作为5位2进制输入接口(000.00为低)
首先要读取000CH的数据,但000CH中的.00-.06和.12位不能读取。所以不能用MOV直接传送数据
应该使用XFRB(多位传送)传送000字中的7-11位。
XFRB #05(取5位)00(目标首位)07(源首位)000(源字) D1(目标字)
这样就能得到7-11位的状态。
可是刚好,现在的状态是刚好相反的,也就是说外部数据为 0 时(0000)得到的是15(FFFF)
只能再次进行-BCD运算,
15-(0 (外部数据)=0000(外部数据状态)=1111(PLC接收到的状态)=FFFF(内部数据状态)=15(内部BCD))=0(运算结果)
这样就得到了和外部数据一样的结果。可以开始下一步进行数据的BIN输出处理
如输出到100CH的07-11位
那么就是:XFRB#04 00 07 D1 100
输出完成
将端口000.07-000.11作为5位2进制输入接口(000.00为低)
首先要读取000CH的数据,但000CH中的.00-.06和.12位不能读取。所以不能用MOV直接传送数据
应该使用XFRB(多位传送)传送000字中的7-11位。
XFRB #05(取5位)00(目标首位)07(源首位)000(源字) D1(目标字)
这样就能得到7-11位的状态。
可是刚好,现在的状态是刚好相反的,也就是说外部数据为 0 时(0000)得到的是15(FFFF)
只能再次进行-BCD运算,
15-(0 (外部数据)=0000(外部数据状态)=1111(PLC接收到的状态)=FFFF(内部数据状态)=15(内部BCD))=0(运算结果)
这样就得到了和外部数据一样的结果。可以开始下一步进行数据的BIN输出处理
如输出到100CH的07-11位
那么就是:XFRB#04 00 07 D1 100
输出完成