PLC工程量转换的方法
经常在论坛上看到网友提出工程量显示的问题,想在此做个专题,供各位网友参考。
1、基本概念
我们生活在一个物质的世界中。世间所有的物质都包含了化学和物理特性,我们是通过对物质的表观性质来了解和表述物质的自有特性和运动特性。这些表观性质就是我们常说的质量、温度、速度、压力、电压、电流等用数学语言表述的物理量,在自控领域称为工程量。这种表述的优点是直观、容易理解。在电动传感技术出现之前,传统的检测仪器可以直接显示被测量的物理量,其中也包括机械式的电动仪表。
2、标准信号
在电动传感器时代,中央控制成为可能,这就需要检测信号的远距离传送。但是纷繁复杂的物理量信号直接传送会大大降低仪表的适用性。而且大多传感器属于弱信号型,远距离传送很容易出现衰减、干扰的问题。因此才出现了二次变送器和标准的电传送信号。二次变送器的作用就是将传感器的信号放大成为符合工业传输标准的电信号,如0-5v、0-10v或4-20ma(其中用得最多的是4-20ma)。而变送器通过对放大器电路的零点迁移以及增益调整,可以将标准信号准确的对应于物理量的被检测范围,如0-100℃或-10-100℃等等。这是用硬件电路对物理量进行数学变换。中央控制室的仪表将这些电信号驱动机械式的电压表、电流表就能显示被测的物理量。对于不同的量程范围,只要更换指针后面的刻度盘就可以了。更换刻度盘不会影响仪表的根本性质,这就给仪表的标准化、通用性和规模化生产带来的无可限量的好处。
3、数字化仪表
到了数字化时代,指针式显示表变成了更直观、更精确的数字显示方式。在数字化仪表中,这种显示方式实际上是用纯数学的方式对标准信号进行逆变换,成为大家习惯的物理量表达方式。这种变换就是依靠软件做数学运算。这些运算可能是线性方程,也可能是非线性方程,现在的电脑对这些运算是易如反掌。
4、信号变换中的数学问题
信号的变换需要经过以下过程:物理量-传感器信号-标准电信号-a/d转换-数值显示。
声明:为简单起见,我们在此讨论的是线性的信号变换。同时略过传感器的信号变换过程。
假定物理量为a,范围即为a0-am,实时物理量为x;标准电信号是b0-bm,实时电信号为y;a/d转换数值为c0-cm,实时数值为z。
如此,b0对应于a0,bm对应于am,y对应于x,及y=f(x)。由于是线性关系,得出方程式为y=(bm-b0)*(x-a0)/(am-a0)+b0。又由于是线性关系,经过a/d转换后的数学方程z=f(x)可以表示为z=(cm-c0)*(x-a0)/(am-a0)+c0。那么就很容易得出逆变换的数学方程为x=(am-a0)*(z-c0)/(cm-c0)+a0。方程中计算出来的x就可以在显示器上直接表达为被检测的物理量。
5、plc中逆变换的计算方法
以s7-200和4-20ma为例,经a/d转换后,我们得到的数值是6400-32000,及c0=6400,cm=32000。于是,x=(am-a0)*(z-6400)/(32000-6400)+a0。
例如某温度传感器和变送器检测的是-10-60℃,用上述的方程表达为x=70*(z-6400)/25600-10。经过plc的数学运算指令计算后,hmi可以从结果寄存器中读取并直接显示为工程量。
用同样的原理,我们可以在hmi上输入工程量,然后由软件转换成控制系统使用的标准化数值。
在s7-200中,(z-6400)/25600的计算结果是非常重要的数值。这是一个0-1.0(100%)的实数,可以直接送到pid指令(不是指令向导)的检测值输入端。pid指令输出的也是0-1.0的实数,通过前面的计算式的反计算,可以转换成6400-32000,送到d/a端口变成4-20ma输出。
以上讲述的是plc中工程量转换的基本方法,程序的编写则因人、因事而异。但是万变不离其衷。如果大家感兴趣,我可以给出自己编写的程序供大家参考,同时也希望各位网友不吝赐教、互相交流。
1楼
0
0
回复
经常在论坛上看到网友提出工程量显示的问题,想在此做个专题,供各位网友参考。
1、基本概念
我们生活在一个物质的世界中。世间所有的物质都包含了化学和物理特性,我们是通过对物质的表观性质来了解和表述物质的自有特性和运动特性。这些表观性质就是我们常说的质量、温度、速度、压力、电压、电流等用数学语言表述的物理量,在自控领域称为工程量。这种表述的优点是直观、容易理解。在电动传感技术出现之前,传统的检测仪器可以直接显示被测量的物理量,其中也包括机械式的电动仪表。
2、标准信号
在电动传感器时代,中央控制成为可能,这就需要检测信号的远距离传送。但是纷繁复杂的物理量信号直接传送会大大降低仪表的适用性。而且大多传感器属于弱信号型,远距离传送很容易出现衰减、干扰的问题。因此才出现了二次变送器和标准的电传送信号。二次变送器的作用就是将传感器的信号放大成为符合工业传输标准的电信号,如0-5v、0-10v或4-20ma(其中用得最多的是4-20ma)。而变送器通过对放大器电路的零点迁移以及增益调整,可以将标准信号准确的对应于物理量的被检测范围,如0-100℃或-10-100℃等等。这是用硬件电路对物理量进行数学变换。中央控制室的仪表将这些电信号驱动机械式的电压表、电流表就能显示被测的物理量。对于不同的量程范围,只要更换指针后面的刻度盘就可以了。更换刻度盘不会影响仪表的根本性质,这就给仪表的标准化、通用性和规模化生产带来的无可限量的好处。
3、数字化仪表
到了数字化时代,指针式显示表变成了更直观、更精确的数字显示方式。在数字化仪表中,这种显示方式实际上是用纯数学的方式对标准信号进行逆变换,成为大家习惯的物理量表达方式。这种变换就是依靠软件做数学运算。这些运算可能是线性方程,也可能是非线性方程,现在的电脑对这些运算是易如反掌。
4、信号变换中的数学问题
信号的变换需要经过以下过程:物理量-传感器信号-标准电信号-a/d转换-数值显示。
声明:为简单起见,我们在此讨论的是线性的信号变换。同时略过传感器的信号变换过程。
假定物理量为a,范围即为a0-am,实时物理量为x;标准电信号是b0-bm,实时电信号为y;a/d转换数值为c0-cm,实时数值为z。
如此,b0对应于a0,bm对应于am,y对应于x,及y=f(x)。由于是线性关系,得出方程式为y=(bm-b0)*(x-a0)/(am-a0)+b0。又由于是线性关系,经过a/d转换后的数学方程z=f(x)可以表示为z=(cm-c0)*(x-a0)/(am-a0)+c0。那么就很容易得出逆变换的数学方程为x=(am-a0)*(z-c0)/(cm-c0)+a0。方程中计算出来的x就可以在显示器上直接表达为被检测的物理量。
5、plc中逆变换的计算方法
以s7-200和4-20ma为例,经a/d转换后,我们得到的数值是6400-32000,及c0=6400,cm=32000。于是,x=(am-a0)*(z-6400)/(32000-6400)+a0。
例如某温度传感器和变送器检测的是-10-60℃,用上述的方程表达为x=70*(z-6400)/25600-10。经过plc的数学运算指令计算后,hmi可以从结果寄存器中读取并直接显示为工程量。
用同样的原理,我们可以在hmi上输入工程量,然后由软件转换成控制系统使用的标准化数值。
在s7-200中,(z-6400)/25600的计算结果是非常重要的数值。这是一个0-1.0(100%)的实数,可以直接送到pid指令(不是指令向导)的检测值输入端。pid指令输出的也是0-1.0的实数,通过前面的计算式的反计算,可以转换成6400-32000,送到d/a端口变成4-20ma输出。
以上讲述的是plc中工程量转换的基本方法,程序的编写则因人、因事而异。但是万变不离其衷。如果大家感兴趣,我可以给出自己编写的程序供大家参考,同时也希望各位网友不吝赐教、互相交流。