简单的控制系统仅使用PLC数字量输入和输出。数字量输入用于从对象收集双态信息,数字量输出用于控制开/关类型。但在更复杂的控制和调节系统中,以及任何过程开始的地方,都需要使用模拟量输入和输出。
介绍模拟量测量向PLC提供测量值信息,例如:压力[bar,MPa]、流量[m3/h]、液位[m]、温度[℃]、距离[m]、频率[Hz]、电流[A]等等。
在测量值进入控制器前,必须将其值转换为电信号,然后再转换为数值量。物理量到电信号的转换发生在传感器中。电信号进入PLC,在这里它被转换为PLC程序可以理解的数值量。让我们以储罐中的压力测量为例进行分析。
储气罐中安装了范围为0…16bar的压力传感器,其输出电流为0…20mA。电流信号传输到PLC模拟量输入端。让我们看看这种测量从物理量到用户(操作员)理解的值的路径:1、传感器测量0…16bar范围内的压力,并将其转换为0…20mA电流信号;2、PLC控制器的模拟量输入端接收0…20mA范围内的信号并将其转换为数值量,例如0-32767,这取决于PLC控制器的类型和配置,单极性输入例如电压输入0…10V,电流输入4…20mA,其对应值均为0…27648;双极性输入例如电压输入±10V、±5V、±2.5V,对应值为-27648…27648;3、对于PLC程序来说,数值量反映物理量测量值的大小,例如压力。要进一步使用该测量值,PLC程序员必须根据压力传感器的测量范围对其进行缩放。缩放后的值保存在控制器的内存中;4、缩放后的测量值的使用取决于应用需求,可以是:- 警报信号(例如超压);
- 在HMI面板或SCADA数据采集与监视控制系统中为操作员显示压力值;
- 使用测量值作为反馈信号;
- 超过限制后的下一步动作,例如打开阀门;
- 等等。
模拟量测量中可接受的标准电信号可以是:0…20mA、4…20mA和0…10mA。0…20mA、4…20mA和0…10V模拟量测量我们经常接触到几种标准模拟量电信号。但它们在哪些方面不同呢?在工业自动化中,最常见的模拟量电信号是4…20mA电流信号。这是由于该信号的易用性以及比电压测量0…10V相对更高的抗干扰性。在4…20mA信号中,更容易检测到传感器和控制器之间的电缆断开。如果电流降至约3.8mA以下,则检测到电缆断裂。在4…20mA和0…20mA两种测量中,如果电流值超过约20.5mA,则检测到传感器输出短路。必须在PLC程序中考虑此类缺陷的检测。在大多数传感器上,你可以直接读取它们的测量范围和输出电信号。下图显示了范围为0…16bar和电流输出为4…20mA的压力传感器示例,该图表显示了这两个范围之间的关系。
PLC程序中的模拟缩放让我们将上述范围为0…16bar的压力传感器安装到我们的储罐,并将其输出4…20mA连接到西门子S7-1200 PLC的模拟量输入端。我们看看它在理论上的样子:
S7-1200控制器中的模拟量输入0…20mA,实际上工作在0…23.7mA的范围内,这反映了AC/DC转换器输出端数值量的范围从0到32767。如果我们将电流输出为4…20mA的传感器连接到此类输入端,则4mA的数字值为5530,20mA的数字值为27648。 从PLC中要获得测量的实际数值即OUT变量,需根据上述公式进行计算。在一些控制器中,有现成的函数用于缩放模拟测量,而在一些控制器中,有必要自己构建这样的函数。S7-1200控制器没有就绪功能,但我们可以使用CALCULATE或 SCALE_X+NORM_X 选项,不过现在S7-1200也出了一块AI模组6ES7231-5ND30-0XB0,可以直接设定成4…20mA,而不需转换。备注:如有错误,敬请指正。