S7200对模拟输入变量怎么处理

读入的是8位字节的无符号整数,要求输出按32位无符号整数的形式。
S7200是按反高低字节直接的方式处理的,问题是具体是按那种?
有一下几种:将连续4 个单元(x1,x2,x3,x4),变换为(x4,x3,x2,x1)后,作为32 位数值处理
将连续4 个单元(x1,x2,x3,x4),变换(x3,x4,x1,x2)后,作为32 位数值处理;
将连续4 个单元号(x1,x2,x3,x4),变(x2,x1,x4,x3)后,作为32 位数值处理;
请各位高手指点,不胜感激!

问题补充:
我的意思是变量存储区定义的是VB,但是要求经过一定的处理方式以后,输出的是双字32位。
 假设连续的4个单元是(X1,X2,X3,X4)输出是按那种方式?
 现在有3种方式供选择,分别是(X4,X3,X2,X1);(X3,X4,X1,X2);(X2,X1,X3,X4)。
 请问应选择哪一种?

最佳答案

存储时确实高低字节关系是反的,如果按字节去考虑编程的话会很费时间,而且出错的概率较大,其实我们直接存取数据就可以了,不用考虑实际的存储方式.
  我建议你这种问题按如下方法解决:先把字节变为16位整数,再转化成32位双整数,即可输出或存储,不用考虑具体地址也不会出错:       BTI
                        ITD
                        把转化后的D类型数据保存,如MD100
                       输出时直接调用MD100即可

  虽然存储时存储的高低字节对应关系反了,但是你的输出肯定是正确的。
 我说的您能理解吗,不行的话邮件联系lewanwan@sohu.com
 

提问者对于答案的评价:
谢谢

原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc359223.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2021年7月5日 上午10:53
下一篇 2021年7月5日

相关推荐

发表回复

登录后才能评论