我在书上看到,模拟量输入处理中,在输入没在数据的0位时要将模拟量输入右移3位(单极)或4位(双极),怎么有的地方输入不这样处理。我自己验证了下好像也可以。请高手指点下在什么情况下应该处理。
问题补充:
我读的模拟量单极型是从第3位开始的,双极型是从第4位开始的,我怎么保证他就是从那位开始的呢。如果不移位数据处理准确不
最佳答案
我在书上看到,模拟量输入处理中,在输入没在数据的0位时要将模拟量输入右移3位(单极)或4位(双极),怎么有的地方输入不这样处理。我自己验证了下好像也可以。请高手指点下在什么情况下应该处理。
问题补充:我读的模拟量单极型是从第3位开始的,双极型是从第4位开始的,我怎么保证他就是从那位开始的呢。如果不移位数据处理准确不
你好:
你所描述的其实可以认为是模拟量精度的问题,这个精度和你读取数据没有任何关系,无论是什么精度,转换后的结果都是0到32000,这个过程是模块自动完成的。
你可以参照一下下面这个连接
精度≠分辨率。
分辨率:将整个量程分成多少等份
精度: 测量值和实际值的偏差
高精度必须要高分辨率,但高分辨率并不表示高精度。
8位、12位、13位、16位对应的就是2进制的位数,对应各自的精度就是1/256、1/4096、1/8192、1/65536。
你用模拟量对应的实际物理量来除,看对应误差的范围你能不能接受就可以了,比如阀门开度0-100,那么误差率就是8位:100/256=0.4个开度,12位:100/4096=0.025个开度。
参考资料:http://www.ad.siemens.com.cn/service/answer/solution.asp?Q_id=63454&cid=1029
提问者对于答案的评价:
你好,谢谢你的指点,我在想请教下那个8位的256和12位的4096怎么来的?8位不是11111111,为255吗,我看有的地方说分辨率=精度+符号位,假如12位的模块,那期分辨率是不是位12位的数据(我算怎么是4095),精度为11位的数据(我算怎么是2047),我有点模糊不清,请您在详细说下。谢谢。非常感谢。
专家置评
已阅,最佳答案正确。
8位:2的8次方为256,但是从0开始就变成0到255了;
12位和8位的计算方法一样
如果是8位的精度,相当于将0到255转换为0到32000的量程范围,即进行了一个线性转换而已。
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc252939.html