西门子200,模拟量0-32000,到SMART系列就是0-27648了?
首先要明确:量程、分辨率、精度这三个词!
先说量程:0-32000,以及0-27648是量程,和分辨率,精度都没啥关系,包括AD的转换芯片多少位的都没关系!以mA信号为例:0-20mA转换成数字值就是0-27648,所以每mA = 27648 / 20 = 1382.4,所以4mA 就是1382.4*4= 5529.6,所以就出现了5530-27648代表4-20mA了。但是为什么是0-27648呢?
16位AI,除去符号位,剩下15位,2^15 = 32768。
正常信号是4~20mA,对应的值为:5530~+27648,但是实际可以转换的信号范围要大于这个,最大电流可能会大于22mA,那么这时超限的电流信号转换后的值,就会出现超限,那么超过27648的时候可以做成报警信号,诊断时就可以很直观地看出。在200系列中,模拟量满量程对应32000,与16位最大正数32767相比,有大约2.3%的余量,余量很小,模拟量稍微超出满量程一点就可能超过32767,转换值可能就变成负的了,而27648与32767相比,有大约15.6%的余量,相对来说要更安全一些。
西门子:单极性输入范围
例如:电压输入0~10V,对应值为0~27648
西门子:双极性输入范围
例如:电压输入-10~10V,对应值为-27648~27648
分辨率是 A/D 模拟量转换芯片的转换精度,即用多少位的数值来表示模拟量,模拟量模块的转换分辨率用于反映模拟量变化的最小单位。
精度问题就是最小能识别的值,比如我们日常的直尺,就是1mm的。
举例:12 位分辨率的模块,其数据从低字节的第四位(bit3)开始变化,其最小变化单位 2^3 = 8 ,bit0~bit2 则补“ 0 ”(红色图框为无效位)
设该模拟量通道类型为电压0~10V,满量程电压值10V对应数据27648,其能识别的最小电压值为:
SMART 200 模拟量模块的参数:
西门子plc模拟量控制中27648这个数值怎么来的?我们知道模拟量值按字寻址,也就AIW,W是一个字,16位,最大值为32767,那为什么不用32767而用27648呢?这应该是西门子为模拟量转换值量程留了一定余量,如果用32767,模拟量超量程溢出的话,按着存储器特点,32767存储在16个位中,最高位符号位是0,其他15位全是1,再增长一点儿最高位进1,成负数了,岂不就乱了。所以留了百分之十五的余量。有不同见解的朋友评论区提出来讨论。