目的:达到二进制状态读取与输出
将端口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
输出完成
声明:本网站所收集的部分公开资料来源于互联网,转载的目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。本站部分作品是由网友自主投稿和发布、编辑整理上传,对此类作品本站仅提供交流平台,不为其版权负责。如果您发现网站上所用视频、图片、文字如涉及作品版权问题,请第一时间告知,我们将根据您提供的证明材料确认版权并按国家标准支付稿酬或立即删除内容,以保证您的权益!联系电话:010-58612588 或 Email:editor@mmsonline.com.cn。
网友评论
匿名:
最新反馈
- 暂无反馈
无须注册,轻松沟通