1、 模拟量原理和应用
模拟量的使用示意图:
图1,接线原理图
模拟量是指变量在一定范围连续变化的量;也就是在一定范围(定义域)内可以取任意值(在值域内)。数字量是分立量,而不是连续变化量,只能取几个分立值,如二进制数字变量只能取两个值。
模拟量常用的一般有,温度,压力,液位,流量等,反馈到PLC模块的信号一般有电压型和电流型,电压型分为0-5v,0-10V;电流型分为4-20ma,0-20ma;目前常用的是0-10v,4-20ma的多一些,具体模拟量模块的精度各不相同。
模拟量的分辨率
模拟量的分辨率是A/D模拟量转换芯片的转换精度。也就是用多少位的数值来表示这个模拟量。分辨率越高,模拟量的值的范围分得越细,转化为的数字值越精确。假如模拟量模块的转换分辨率是12位,能够反映模拟量变化的最小单位是满量程的1/4096(2的12次方),16位的最小单位是满量程的1/65536(2的16次方)。
12bit=4096(2的12次方),我们按照4000计算,如果选择0-10V的模拟量信号,分辨率是:10÷4000=2.5mv ,也就是把10V分成了4000份。
如果是12bit的模块,输入电压的波动范围小于2.5mv的话,那么此模块是不识别的,最少波动要大于等于2.5,比如:2.6mv
无论是12bit、13bit、15bit,在S7-300PLC,1200,smart200中,对应数值都为27648,与精度值无关。意思是:如果电压信号为0-10V,那么在S7-300PLC中会显示为0-27648。当模拟量信号达到10V时,PLC就会显示27648的数值。
12bit=4096;13bit=8192;14bit=16384;15bit=32768;
12bit时候,0-10V对应0-4096;13bit时候,0-10V对应0-8192
14bit时候,0-10V对应0-16384;15bit时候,0-10V对应0-32768;
我们在编程的时候通过模拟量转后以后:
12bit时候,0-10V对应0-27648(4096);
13bit时候,0-10V对应0-27648(8192);
14bit时候,0-10V对应0-27648(16384);
这些现实数字对应变大,对实际使用没有影响。
15bit时候,0-10V对应0-27648(32768);
但是15位的模块就有影响了,本来了扩做到32768的现实,最终是显示到27648,从最终结果来看,我们降低了模块的分辨率和显示精度。
我猜是西门子为了方便用户的使用,将数值统一规定成了27648,形成了模拟量的库文件,大家调用即可。就此问题我致电西门子客服,得到的回复是,数值是27648还是32000是由开发人员决定的。所以这个数值是写死的。
但是问题来了,西门子300,西门子1200,smart200,最大值是27648;但是西门子200,的最大值是32000.