在生产过程中,有很多模拟量存在,如压力、温度、流量、速度、PH值等。想实现自动化控制,这些模拟量需要进行处理。因此,PLC要加模拟量输入扩展模块。这样就提供了模拟量输入路径,则可以直接与现场的传感器、变送器直接相连接。
例如现场用的变送器,输出的标准信号4-20mA或1-5V,由于连接模拟量输入模块,将信号传输到每块模拟量输入模块。又因为模拟量输入模块的每个通道都有个A/D转换器,把输入的模拟量信号转换为CPU能够解决的数字量。例如西门子S7_200PLC,其模拟量输入扩展模块能把0-20mA或4-20mA或1-5V的模拟量处理为0-32000或6400-3200的数字量,以便于其CPU处理。由此可见,信号变化经历了物理量(P、T、L、F)到传感器到a/d转换器到显示。
假如现场一台测量液位的液位变送器,量程是0-10m,输出信号4-20mA,当液位高度为5m时,PLC如何处理而显示5m呢?这里有模拟量输入换算公式,在模拟量输入程序编写也要用的。传感器输出信号下限为0,转为程序编写的公式为Y=X/32000x10,如果信号输出下限为4m或1V,转换为程序编写的公式为Y=(X-6400)/25600x10。
实际高度为5m,那么液位变送器输出信号应该为12mA。送到模拟量输入模块,由A/D转换器转为19200。在PLC转为程序编写的公式,Y=(X-6400)/25600x10。其中,Y表示CPU处理好的实际值,X表示每个通道A/D转换器处理模拟量后的数字量。
以上述的例子,既然模拟量输入模块A/D转换器处理模拟量信号12mA为数字量19200。套用公式可知Y=5m,与现场液位变送器显示一致,测量是准确的。
写程序时先进行数据类型转换,然后再进行处理。把A/D转换器转为数字量的值处理为双整型,随后处理为实型,最后用减、除、乘功能块,乘功能块输出值就是实际值Y。