登录
首页 PLC论坛 西门子SIEMENS
回帖 发帖
正文

主题:对模拟量输入/输出模块分辨率与精度理解之我见

点击:6959 回复:5

附件 a1293c4d9b0be783519a8315e083f5d.jpg
参数:输入12BIT,+/-10V/0-20MA,输出:11BIT,+/-10V/0-20MA。随有疑问:既然输入12BIT,去掉一位符号位,有11位二进制数表示模拟量大小,对应±2047表示+/-10V/0-20MA,为什么说明书中是±27648表示+/-10V/0-20MA?多方查找资料,随有一下理解:
PLC的CPU用16位二进制补码定点数来表示模拟量值。A/D转换的结果是按16位二进制补码形式存储,即占用一个字(两个字节)的长度。其中,最高为(第15位)为符号位,正数的符号位为0,负数的符号位为1。模拟量模块的模拟值位数(即转换精度)可以设置为9--15位(与模块的型号有关,不包括符合位)。如果模拟量值的精度小于15位,则模拟量值左移,使其最高位(符号位)在16位字的最高位(第15位),模拟量左移后未使用的低位填入“0”,这种方法称为“左对齐”。
模拟量模块为12bit 16bit,注意这里12位和16位是指的分辨率,分辨率=精度+符号位,所以分辨率与精度是不同的概念,不能混为一潭,你上述算法是错误的。如果设模拟量的精度是12位(对应的分辨率为13位,加上符号位),相当于模拟量模块13bit,未使用的低位(第0-2位)为0,相当于实际的模拟值被乘以8。下面以13bit分辨率为例说明精度、分辨率、对应模拟量模块数字化的模拟量转换值之间的关系:
13bit分辨率对应精度12bit,12bit对应的最大数字化量值为(整值,16位的符号位为0)= S1111111  1111000=32760( S位符号位,后3个0由于“左对齐”补的),相比27648相当于上溢值,通常正常范围(单极性而言)为0---27648,27648对应于满量程10V(0-10V)或20 mA(4-20 mA)。由于补0的原因,这样就相当于把32760等分成,4095份,32760与4095不存在一一对应关系,即16位二进制数中每8个对应一个4095.
所以输入12BIT,并非±2047对应+/-10V/0-20MA,是由于补0的原因,依然是±27648表示+/-10V/0-20MA。27648是额定值范围内100%的值,32767是超上限的值,比如测量一个正负10V的信号,但过来的信号也可能大于10V,超出额定值100%的信号,在一定范围内也是能测量的。大于32767的值模块就会报错。对于使用者,只要知道±27648表示+/-10V/0-20MA即可。
最后修改:2021/8/11 9:08:20
21-06-23 08:23
对SIEMENS的模块,不要纠结多少位对应的数字量是多少;12位分辨率的对应27648,如果是16位也是对应27648,只是精度高了而已;
21-06-23 09:12
是的,只是对12位分辨率对应27648有疑惑
最后修改:2021/6/23 10:17:27
21-06-23 10:17
是16位也是对应27648
22-03-24 11:38
请问大神:
那我图一是安川伺服模拟量16位输出到图二200SMART模拟量输入模块(12位),那16位就是15位+符号位,也是按27648进行D/A转换吗?但最大值也只监视到25284如图三。
32768下调了上限取27648这个明白。但还有不明白,第16位是符号,是不是15位中后面补3位为0就是12位分辨率,看起来和2?12=4096没关系呀。最后你们说分辨率无论是有符号的11、12、15位都是按±27648就行,那精度是和分辨率直接相关,和±27648间接相关是吗
附件 屏幕截图 2023-07-13 155112.jpg
附件 屏幕截图 2023-07-13 155245.jpg
附件 微信图片_20230713155825.jpg
最后修改:2023/7/13 16:22:44
23-07-13 16:21
楼上说的都是模数转换的分辨率。真正的精度是模拟量采集的精度,比如4楼的第2张图里已经写的很明白了,精度中的电流模式和电压模式,都是千分级的精度,无论是12位还是16位,在精度上其实没有任何区别
最后修改:2023/11/22 9:49:11
23-11-22 09:48

工控新闻

更多新闻资讯