为什么16位模拟量电压输入转换的过程值是27648,而不是32767?

文章讲述了模拟量信号通过模数转换后,为何选择27648作为额定范围而非32767,以提供更丰富的测量范围判断和诊断功能。使用27648能确保在额定范围内保持较高的精度,同时降低分辨率以增强诊断能力。
摘要由CSDN通过智能技术生成

        一个模拟量信号,例如0-10V电压,通过模拟量模块的模数转换器转换为过程值,然后通过背板总线传送给到CPU中,  在CPU中使用一个数据类型为Int的变量表示,例如IW10,一个Int包含16个位信号。

1个字=16个位

最高位即第16位表示符号位,0为正值,1为负值

其他的15个位信号表示过程值

        正数时,最大值为2的15次方减1,即32767,取值范围为0-32767。如果与0-10V模拟量信号按线性关系对应,过程值的一个增量对应305.2微伏,也就是最小可以分辨305.2微伏。

 

那么为什么在电压、电流转换计算时,使用的是27648而非32767呢?

原因就是显示的测量范围分别有额定范围、超出范围以及低于范围,以及上溢或下溢。

       以0-10V模拟量信号转换后的过程值为例,0-27648为额定范围,27649-32511为超出范围,32512-32767为上溢,实际上0-32767对应的是0-11.852V的测量范围,0-27648对应的是0-10V的测量范围。所以在额定范围内,转换计算的是27648而非32767,这样做的好处之一就是可以连接具有多个测量范围的变送器或者仪表。好处之二就是可以在程序中判断取值是否超限。

      如果使用0-32767作为额定范围,即使超限也只能显示最大值,而不能得到超限的状态。 

        以0-10V为例,使用0-27648作为额定测量范围,每一个增量将从305.2微伏降低到361.7微伏,考虑到模数转换误差以及其他因素,适当降低分辨率并不会影响计算的准确性,但是却增加了诊断功能。

       除了在程序中可以判断外,过程值超限还可以触发诊断中断。

        对于低于16位分辨率的模拟量模块,转换的过程之采用整体位左移的方式,移出的位使用0填充,这样对于额定测量范围来说,转换的过程值还是0-27648,但是分辨率却降低了。 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值