模拟量在plc系统中有着非常广泛的应用,特别是在过程控制系统中。模拟量是一种连续变化的量,它的使用对象也是各种连续变化的量,比如温度,压力,湿度,流量,转速,电流,电压,扭矩等等等等。
图一 温度表
如图一所示的温度表,它测量的温度是连续的,对应温度表上的刻度。比如从40度升到50度,它不是直接跳跃的,而是连续上去的,也就是41,42,43这样连续的变化。那么PLC是如何识别并控制这些变化,它和模拟量又是如何转换的呢?本文将为初学者解惑。
PLC系统中使用的模拟量有两种,一种是模拟电压,一种是模拟电流,模拟电压常见,用的也多。
模拟电压 一般是0~10V,并联相等,长距离传输时容易受干扰,一般用在OEM设备中。
模拟电流一般是4~20mA,串联相等,抗干扰能力强,dcs系统中一般都使用模拟电流。
我们先要用传感器测量我们所需要的参数,通过变送器将此参数变换成0~10V 或者4~20mA,现在很多传感器都是自带变送器的,直接就输出模拟量,建议大家在项目中选用此种类型的传感器
图二 某压力传感器手册
如图二所示,是某压力开关的选型手册,红色圆圈部分是它的量程0~250公斤,再看黄色荧光笔部分,此型号的传感器是模拟电流输出,也就是此款传感器将0~250公斤的压力线性转换成了4~20mA的电流,当我们检测到12mA的电流时,就表示压力是125公斤,依此类推。
当我们读取到模拟量之后,就要交给PLC去处理了,由于PLC的实质是电子计算机,而计算机只能识别数字量,要进行转换,也就是模拟量到数字量的转换,模拟电子技术中称之为A/D转换,作为PLC的使用者,而A/D转换的是一个线性变化,也就是把0~10V或者4~20mA 转换成一个数字N,再在PLC中去处理这个转换后的数字。也就是把0~10V 或者4~20mA转换成了0~N。这个数值N在不同的PLC中是不一样的。比如在西门子博途中,它是固定的为27648。有的PLC是4000,还有4096,还有32767,这个就要参考PLC的编程手册了。多数PLC都是可以修改的,建议修改成整数,便于我们计算。
图三 施耐德PLC 模拟量设置
如图三所示,是施耐德CODESYS平台的PLC,红色圆圈是默认的设置为-32768到32768,很显然,这样的数字是不便于我们计算的,改成了4000到20000。顺便说一句,欧美系PLC对模拟量的处理是很简单的,只需简单的设置,而日系PLC特别是三菱,对模拟量的处理是很隆重的,它是通过梯形图写程序的方式来设置。而左上角的蓝色圆圈内的%IW0,就是读取的模拟量的数值,如果压力是125公斤,那么此时,%IW0的值应为12000。
图四 模拟量转换过程
如图四所示,这是整个的模拟量的转换过程,看箭头指向,传感器检测实际物理量,变送输出模拟量到PLC,由PLC转换成数字量,而plc编程,就是对数字量的处理。
图五 模拟量的PID处理
如图五所示,左侧红色圆圈就是我们读取的实际压力,通过PID功能块进行处理,处理后的数值赋值给%QW0,而%QW0是模拟量的输出,也就是模拟量输入的逆运算。
模拟电流相对于模拟电压来说,有着无可比拟的优势,抗干扰能力强,有断线检测功能,模拟电流的传感器一般都是两线制,配线简单方便,模拟电流信号可以方便的转换成模拟电压信号,则不能,推荐大家尽量使用模拟电流。
模拟电流的缺点就是概念比较抽象,测量比较麻烦,初学者可能会不好理解,更重要的是,电流是串联相等,很多初次使用模拟电流的朋友经常想当然的把模拟电流信号并联,这是不对的,希望注意。
这就是PLC对模拟量的处理,它其实是一个线性转换的过程,任何连续的物理量都可以变送成0~10V或者4~20mA供我们处理,而我们又可以把要控制的物理量转换成0~10V 或者4~20mA,这就是模拟量控制的本质。