模拟量信号是自动化过程控制系统中最基本的过程信号(压力、温度、流量等)输入形式。系统中的过程信号通过变送器,将这些检测信号转换为统一的电压、电流信号,并将这些信号实时的传送至PLC(可编程逻辑控制器)。 PLC在处理模拟量信号时,通常需要将模拟信号转换成数字信号,以便进行进一步的数字处理。模拟量信号的转换通常涉及到模数转换器(ADC)的使用。以下是一些基本的转换公式和概念:Ø转换过程涉及到将连续的模拟信号映射到离散的数字值上。Ø在PLC编程软件中,需要为模拟输入通道设置量程,即模拟信号的最小值和最大值。Ø根据ADC的分辨率,模拟信号被转换为一定范围内的数字值。Ø例如,一个12位的ADC可以提供 212=4096 个不同的数字输出值。Ø这通常通过一个线性方程来实现,该方程将模拟信号的电压范围映射到数字值范围。 在现场由于受到各种因素的影响,尤其是各种设备之间复杂的电磁干扰,对模拟量信号的处理已基本都采用电流信号方式进行传输,相比于电压信号方式,电流信号基本不受距离的影响抗干扰能力更强,传输距离更远,信号稳定。 本期内容就以西门子PLC对模拟量信号的转换过程进行一个简单的分解介绍。首先看下表中两种常用的模拟量输入模块的相关参数 l模拟量信号接入PLC后,PLC将模拟量信号转换为了整型数据,西门子-27,648 到 27,648)lPLC同一个模块对不同类型的模拟量信号的转换范围是一致的(如±10 V、±5 V、±2.5 V 或 0 到 20mA的模拟量信号的转换范围均为-27,648 到 27,648);对于4-20mA信号,当模拟量输入模块输入电流为4mA时对应的数字量为5530。根据转换思路模拟量的输入/输出都可以用下列的通用换算公式换算:Ov = [(Osh - Osl)*(Iv - Isl)/(Ish - Isl)]+ Osl 根据以上转换公式其实完全可以自己动手写一个自定义的转换模块子程序。但是为了缩短程序员开发周期,我们一般使用指令库来实现。在这个指令库中,子程序S_ITR用来进行模拟量输入到S7-200 SMART 内部数据的转换。在最新V2.8编程软件中该指令已经集成到软件中了,但只支持最新版本的PLC。如果PLC版本是老版本也不支持最新的指令。但是可以添加库文件同样可以获得支持,库文件在文章末尾有获取方法。 该指令库同时还包括其他的功能,比如内部数据到模拟量输出的转换、其他量程转换等功能。 |