最近学习S7300模拟量输入模块,对于模块分辨率的理解不知道正确与否:
模块采集4~20mA 信号,对应温度0~100度;
选择干扰频率50Hz对应12位分辨率,那么A/D转换器将4~20mA分成2^11=2048份,也就是说模拟量转换成数字量在x=0~2048之间变化;
当模块将x传递给CPU时再除以2048乘以27648,即模块将y=x/2048*27648这个数传递给CPU做运算处理,这时y的范围为0~27648,这时调用FC105将模拟量转换为0~100的温度实际值。
由于FC105功能的输入值IN范围西门子规定好了是0~27648,这样我们设定模块硬件属性时无论你选择多少位,模块都将y这个数传给CPU,区别就在于X的范围不一样,分辨率位数越多X范围
越大,对应y值在0~27648内的细化程度越高,分辨率也越高。
说了这么多,就怕自己表达的不清楚,请各位高手来指点下,不胜感激!!
最佳答案
这个分辨率是这个模拟量输入模块获得这个模拟量所能够达到的精度,以你选择的12位的模拟量模块来说:S000 0000 0000 1XXX X表示这个位是没有用的,1表示最小的变化量,这些都是二进制的形式,2的3次方等于8,外部信号的变化量只要达到8,PLC就能够接收到数据的变化;例如8位的,S000 0000 1XXX XXXX ,2的7次方128,外部信号的变化量达到了128模块才能识别。4到20MA ,0到100度的一个信号,用12位精度的模块,(100/27648)*8=0.0289 度,能够检测到0.0289度的温度变化,而8位精度的,(100/27648)*128=0.463 度 ;以上的分析是假设传感器的精度非常理想的情况。
提问者对于答案的评价:
一楼给的链接有的人是说12位分辨率一共可以分2^12=4096份,按照您的说法以最小变化单位8,最大值27648,分成27648/8=3456份。我认为您说的有道理,但是你能解释下?
原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc349215.html