文档库 最新最全的文档下载
当前位置:文档库 › TIA博途模拟量测量与工程量转换

TIA博途模拟量测量与工程量转换

TIA博途模拟量测量与工程量转换
TIA博途模拟量测量与工程量转换

TIA博途模拟量测量与工程量转换

模拟量输入模块提供了一个数值用于标准化模拟量信号(电流、电压、电阻或温度)。这个数值代表被测量的参数(例如:以公升计量料位)。这个过程被称作标准化或缩放模拟量值。图. 01 是标准化的例子。

图. 01

相反,使用用户程序计算过程值。这个过程值被转换成数字信号,模拟量输出模块再将其转换成模拟量信号用来驱动模拟执行器。此转换过程被称作逆标准化。

图. 02 是逆标准化的例子。

图. 02

因此,Y 数值总是转换结果。X 数值在不同情况下都是已知参数。

有以下几种方式进行标准化:

一、FC165和FC166

通过输入yMIN 和yMAX ,能限制计算值y (计算出的y值)到低限和高限之间的一个特定值。这限制了模拟量输入和输出量程卡的上限和下限范围(这限制了模拟量输入和输出卡件的上溢和下溢)。

y值根据一般线性方程计算:y = a x + b。

由此引出以下关系:y = (y1-y0) / (x1-x0) * (x-x0) + y0 。

以下是用功能块SKAL_LINEAR+LIM_INT_REAL [FC165] (INTEGER > REAL) 实现线性缩放的例子。

图. 03

例子:

模拟量输入模块用来测量一个4mA 至20mA 的电流信号。此信号在CPU 内部被转换为0 至27648。液位用此计算值来测量。由此可知4mA 对应0.0m 液位,而20mA 对应1.7m 液位。

输出如下参数:

P0(x0=0; y0=0.0)

P1(x1=+27648; y1=+1.7)

按照如下方式调用FC165 功能块:

图. 04

注:该函数没有加密,不受TIA Portal版本限制。

二、FC105和FC106

程序库例程FC105,FC106,用户可以使用它们将模拟量输入/输出的整数数值与工程量单位之间进行转换。用户需要将此例程安装到程序库中。

步骤1:解压缩“analog_convert.rar”文件到一个文件夹。

步骤2:打开STEP7 Basic中的“Libraries Tab”, 点击“Open global library”图标。

图. 01

步骤3:选择“analog_convert”库所解压的文件夹。

图. 02

步骤4:在添加程序库后,FC105(SCALE),FC106(UNSCALE)即可以被添加到用户程序中。

图. 03

参数转化关系:

OUT = [((FLOAT (IN) –K1)/ (K2–K1)) * (HI_LIM–LO_LIM)] + LO_LIM

注意:如果用户使用的输入/输出类型为双极性(如±10V,±5V等),BIPOLAR参数应当给定为TRUE,此时K1=-27648,K2=27648,否则K1=0,K2=27648。

例如:假设模拟量模块所接传感器为0-20mA 类型,其测量对象为温度,当温度为0℃时电流为0 mA,当温度为100℃时电流为20 mA。此时模拟量输入模块得到的对应数值0 mA对应为0,20 mA对应为27648。如果当前电流值为10 mA,则模拟量模块得到的输入值为13824,如果用户希望在CPU中得到一个最终的实际温度值,则可以调用FC105,将模拟量输入模块的数值赋给参数IN,工程量上限值给定为100.0,下限值给定为0.0,即可在输出参数OUT 得到实际温度值50℃。

图. 04:FC105 使用例子

2. 用户可以使用本例子所提供的FC106将工程量值转换为模拟量输出模板所需要的数值。参数转化关系:

OUT = [ ((IN–LO_LIM)/(HI_LIM–LO_LIM)) * (K2–K1) ] + K1

注意:如果用户使用的输入/输出类型为双极性(如±10V等),BIPOLAR参数应当给定为TRUE,此时K1=-27648,K2=27648,否则K1=0,K2=27648。

例如:假设模拟量输出模块输出设置为0-20mA 类型,其所连接的执行器为调节阀。当电流为0 mA时阀门开度为0%,当电流为20 mA时阀门开度为100%。如果用户希望阀门开度为50%,则可以调用FC106,将开度给定值赋给参数IN,工程量上限值给定为100.0,下限值给定为0.0,将模拟量输出模块的地址赋给参数OUT,此时OUT数值为13824,即可使模拟量输出模块输出电流值为10 mA,即阀门开度为50%。

图. 05:FC106 使用例子

注:该函数有加密,高版本TIA Portal不能使用。

三、NORM_X和SCALE_X

可以使用SCALE_ X “缩放”和NORM_X “标准化”来转化模拟量值。这些功能块位于TIA Portal基本指令的“转换操作”中。功能与参数的详细说明参考TIA Portal在线帮助。若要取得某个功能块的在线帮助,需选中该块( 如SCALE_X ) 然后按下“F1”键。

下面的例子中假设测量范围是单极性的。整数值介于0 到27648 之间。

例子1:

整数 27648 对应于20 mA 电流,整数0 对应于0 mA 电流。上下限分别为MAX=27648 和MIN=0 ,量程转化后对应于MAX=20 和Min=0 。输入值为整数数据类型,量程转化后输出值为实数数据类型,功能块NORM_X 可将整数转化为实数。

图. 01

图. 01 中连接的两个功能块运算后,功能块NORM_X 的输入值和功能块SCALE_X 的输出值之间有如下的定义:

SCALE_X 输出值“OUT”有如下的数值:

模拟量值 4 - 20 mA 将显示为整数值。因为输入的实数值转化为输出的整数值,功能块SCALE_X 将实数转化为整数。整数值27648 对应于20 mA (上限) ,整数值5530 对应于4 mA (下限)。例如,整数值10500 转化为模拟量值7.5955 (mA)。

图. 02

注:该函数比较灵活,但是要换算工程量,还需要做一些修正。

4到20ma模拟量转换公式

4到20ma模拟量转换公式 大家可能会非常熟悉RS232,RS485,CAN等工业上常用的总线,他们都是传输数字信号的方式。那么,我们用什么方式来传输模拟信号呢?工业上普遍需要测量各类非电物理量,例如温度、压力、速度、角度等,这些都需要转换成模拟量电信号才能传输到几百米外的控制室或显示设备上。工业上最广泛采用的是用4~20mA电流来传输模拟量。 采用电流信号的原因是不容易受干扰,因为工业现场的噪声电压的幅度可能达到数V,但是噪声的功率很弱,所以噪声电流通常小于nA 级别,因此给4-20mA传输带来的误差非常小;电流源内阻趋于无穷大,导线电阻串联在回路中不影响精度,因此在普通双绞线上可以传输数百米;由于电流源的大内阻和恒流输出,在接收端我们只需放置一个250欧姆到地的电阻就可以获得0-5V的电压,低输入阻抗的接收器的好处是nA级的输入电流噪声只产生非常微弱的电压噪声。 上限取20mA是因为防爆的要求:20mA的电流通断引起的火花能量不足以引燃瓦斯。下限没有取0mA的原因是为了能检测断线:正常工作时不会低于4mA,当传输线因故障断路,环路电流降为0。常取2mA作为断线报警值。电流型变送器将物理量转换成4~20mA电流输出,必然要有外电源为其供电。最典型的是变送器需要两根电源线,加上两根电流输出线,总共要接4根线,称之为四线制变送器。当然,

电流输出可以与电源公用一根线(公用VCC或者GND),可节省一根线,所以现在基本上将四线制变送器称之为三线制变送器。其实大家可能注意到,4-20mA电流本身就可以为变送器供电,变送器在电路中相当于一个特殊的负载,这种变送器只需外接2根线,因而被称为两线制变送器。工业电流环标准下限为4mA,因此在量程范围内,变送器通常只有24V,4mA供电(因此,在轻负载条件下高效率的DC/DC电源(TPS54331,TPS54160),低功耗的传感器和信号链产品、以及低功耗的处理器(如MSP430)对于两线制的4-20mA收发非常重要)。这使得两线制传感器的设计成为可能而又富有挑战。

1769模拟量转换成数字量的量程

前几天为量程转换犯愁,问了周围几个人,说的都不一样。换好,找到了1769模拟量模块的。我只列出了正常值的范围,超出信号值范围的变换值没有列。 IF4模块(4路模拟量输入模块) 信号类型Raw/Proportional Engineering Scale for PID ±10V±31206±1000~8192~16383 0~5V0~312060~500~16383 1~5V6243~31206 1000~50001~16383 4~20mA6241~0~2000~16383 0~20mA0~312060~2000~16383 IF8模块(8路模拟量输入模块) 信号类型Raw/Proportional Engineering ±10V±32767±10500 0~5V-27068~327670~5250 0~10V-27988~327670~10500 1~5V-32767~~5250 4~20mA-32767~0~21000 0~20mA -32767~327670~21000 OF2模块(2路模拟量输出模块) 信号类型Raw/Proportional Engineering ±10V±31207±100

0~5V0~312070~5000 0~10V0~312070~100 1~5V 6241~0~5000 4~20mA 6241~0~200 0~20Ma0~312070~200 0~16383 OF8C(8路电流模拟量输出模块) 信号类型Raw/Proportional Engineering 4~20mA-29822~0~200 0~20Ma-32767~296460~200 OF8V(8路电压模拟量输出模块) 信号类型Raw/Proportional Engineering ±10V±31207±100 0~5V-27068~299180~5000 0~10V-29788~297880~100 1~5V-25869~0~5000 Scale for PID 0~16383 0~16383 0~16383 1~16383 0~16383 0~16383

模拟量比例换算

模拟量比例换算 因为A/D(模/数)、D/A(数/模)转换之间的对应关系,S7-200 SMART CPU内部用数值表示外部的模拟量信号,两者之间有一定的数学关系。这个关系就是模拟量/数值量的换算关系。 例如,使用一个0 - 20mA的模拟量信号输入,在S7-200 SMART CPU 内部,0 - 20mA对应于数值范围0 - 27648;对于4 - 20mA的信号,对应的内部数值为5530 - 27648。 如果有两个传感器,量程都是0 - 16MPa,但是一个是0 - 20mA输出,另一个是4 - 20mA输出。它们在相同的压力下,变送的模拟量电流大小不同,在S7-200 SMART内部的数值表示也不同。显然两者之间存在比例换算关系。模拟量输出的情况也大致相同。 上面谈到的是0 - 20mA与4 - 20mA之间换算关系,但模拟量转换的目的显然不是在S7-200 SMART CPU中得到一个0 - 27648之类的数值;对于编程和操作人员来说,得到具体的物理量数值(如压力值、流量值),或者对应物理量占量程的百分比数值要更方便,这是换算的最终目标。通用比例换算公式 模拟量的输入/输出都可以用下列的通用换算公式换算: Ov = [(Osh - Osl)*(Iv - Isl)/(Ish - Isl)] + Osl 其中:

Ov:换算结果 Iv:换算对象 Osh:换算结果的高限 Osl:换算结果的低限 Ish:换算对象的高限 Isl:换算对象的低限 它们之间的关系可以图示如下: 图1. 模拟量比例换算关系 量程转化指令库 为便于用户使用,这里提供了量程转化库,用户可以添加到自己的Micro/WIN编程软件中应用。 模拟量比例换算指令库 注意:此指令库/程序的作者和拥有者对于该软件的功能 性和兼容性不负任何责任。使用该软件的风险完全由用户 自行承担。由于它是免费的,所以不提供任何担保,错误

plc模拟量转换标度变换数字量公式以及西门子变换写法

PlC模拟量标度转化原理 信号的变换需要经过以下过程:物理量-传感器信号-标准电信号-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输出。 1.自己写转换程序。 2.需要注意你的模拟量是单极性的还是双极性的。 函数关系A=f(D)可以表示为数学方程: A=(D-D0)×(Am-A0)/(Dm-D0)+A0。 根据该方程式,可以方便地根据D值计算出A值。将该方程式逆变换,得出函数关系D=f (A)可以表示为数学方程: D=(A-A0)×(Dm-D0)/(Am-A0)+D0。 具体举一个实例,以S7-200和4—20mA为例,经A/D转换后,我们得到的数值是6400—32000,即A0=4,Am=20,D0=6400,Dm=32000,代入公式,得出: A=(D-6400)×(20-4)/(32000-6400)+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输出。 1.自己写转换程序。 2.需要注意你的模拟量是单极性的还是双极性的。 函数关系A=f(D)可以表示为数学方程: A=(D-D0)×(Am-A0)/(Dm-D0)+A0。 根据该方程式,可以方便地根据D值计算出A值。将该方程式逆变换,得出函数关系D=f (A)可以表示为数学方程: D=(A-A0)×(Dm-D0)/(Am-A0)+D0。

200 PLC模拟量的AD和DA转换

S7-200 PLC模拟量的A/D和D/A转换以及编程的探讨 对于初学PLC编程的人来说,模拟量输入、输出模块的编程要比用位变量进行一般的程序控制难的多,因为它不仅仅是程序编程,而且还涉及到模拟量的转换公式推导与使用的问题。因为A/D、D/A转换之间的对应关系,S7-200 CPU内部用数值表示外部的模拟量信号,两者之间有一定的数学关系。这个关系就是模拟量/数字量的换算关系。 例如,当输入模拟量设定为电流信号的输入,在S7-200 CPU内部,电流信号0-20mA对应于数值范围0-32000;但是对于4-20mA的信号,对应的内部数值为6400-32000。那可能有学员不知道这个6400是怎么算来的?其实这里的数字量和电流是成正比的,只需要按比例去算就可以了。因为电流信号0-20mA对应于数值范围0-32000,那么1mA 对应的数字量就是32000/20=1600,而4mA对应的数字量就等于4*1600,等于6400。(这里是以S7-200 PLC来作为举例,对于S7-200 SMART S7-300 400等等PLC也是同理的,只是对应的数字量不同而已) 不同的传感变送器,通过不同的模拟量输入输出模块进行转换,其转换公式是不一样的,如果选用的转换公式不对,编出的程序肯定是错误的。比如有3个温度传感变送器:(1)、测温范围为0~200 ,变送器输出信号为4~20ma (2)、测温范围为0~200 ,变送器输出信号为0~5V (3)、测温范围为-100 ~500 ,变送器输出信号为4~20ma (1)和(2)二个温度传感变送器,测温范围一样,但输出信号不同,(1)和(3)传感变送器输出信号一样,但测温范围不同,这3个传感变送器既使选用相同的模拟量输入模块,其转换公式也是各不相同。 下面选用S7-200的模拟量输入输出模块EM235的参数为依据对上述的3个温度传感器进行转换公式的推导: 对于(1)和(3)传感变送器所用的模块,其模拟量输入设置为0~20ma电流信号,20ma 对应数子量=32000,4 ma对应数字量=6400; 对于(2)传感变送器用的模块,其模拟量输入设置为0~5V电压信号,5V对应数字量=32000,0V对应数字量=0; 这3种传感変送器的转换公式该如何推导的呢?这要借助与数学知识帮助,请看下图:

模拟量转换数字量公式

创作编号: GB8878185555334563BT9125XW 创作者:凤呜大王* 信号的变换需要经过以下过程:物理量-传感器信号-标准电信号-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输出。

模拟量值和AD转换值的转换

模拟量值和A/D转换值的转换 假设模拟量的标准电信号是A0—Am(如:4—20mA),A/D转换后数值为D0—Dm(如:6400—32000),设模拟量的标准电信号是A,A/D转换后的相应数值为D,由于是线性关系,函数关系A=f(D)可以表示为数学方程: A=(D-D0)×(Am-A0)/(Dm-D0)+A0。 根据该方程式,可以方便地根据D值计算出A值。将该方程式逆变换,得出函数关系D=f(A)可以表示为数学方程: D=(A-A0)×(Dm-D0)/(Am-A0)+D0。 具体举一个实例,以S7-200和4—20mA为例,经A/D转换后,我们得到的数值是6400—32000,即A0=4,Am=20,D0=6400,Dm=32000,代入公式,得出: A=(D-6400)×(20-4)/(32000-6400)+4 假设该模拟量与AIW0对应,则当AIW0的值为12800时,相应的模拟电信号是6400×16/25600+4=8mA。 又如,某温度传感器,-10—60℃与4—20mA相对应,以T表示温度值,AIW0 为PLC模拟量采样值,则根据上式直接代入得出: T=70×(AIW0-6400)/25600-10 可以用T直接显示温度值。 模拟量值和A/D转换值的转换理解起来比较困难,该段多读几遍,结合所举例子,就会理解。为了让您方便地理解,我们再举一个例子: 某压力变送器,当压力达到满量程5MPa时,压力变送器的输出电流是20mA,AIW0的数值是32000。可见,每毫安对应的A/D值为32000/20,测得当压力为 0.1MPa时,压力变送器的电流应为4mA,A/D值为(32000/20)×4=6400。由 -此得出,AIW0的数值转换为实际压力值(单位为KPa)的计算公式为: VW0的值=(AIW0的值-6400)(5000-100)/(32000-6400)+100(单位:KPa)您可以组建一个小的实例系统演示模拟量编程。本实例的的CPU是CPU222,仅带一个模拟量扩展模块EM235,该模块的第一个通道连接一块带4—20mA变送输出的温度显示仪表,该仪表的量程设置为0—100度,即0度时输出4mA,100 度时输出20mA。温度显示仪表的铂电阻输入端接入一个220欧姆可调电位器,温度显示值=(AIW0-6400)/256 编译并运行程序,观察程序状态,VW30即为显示的温度值,对照仪表显示值是 -否一致。

4到20ma模拟量转换公式

4到20ma模拟量转换公式 因为A/D(模/数)、D/A(数/模)转换之间的对应关系,S7-200 CPU 内部用数值表示外部的模拟量信号,两者之间有一定的数学关系。这个关系就是模拟量/数值量的换算关系。 例如,使用一个0 - 20mA的模拟量信号输入,在S7-200 CPU内部,0 - 20mA对应于数值范围0 - 32000;对于4 - 20mA的信号,对应的内部数值为6400 - 32000。 如果有两个传感器,量程都是0 - 16MPa,但是一个是0 - 20mA输出,另一个是4 - 20mA输出。它们在相同的压力下,变送的模拟量电流大小不同,在S7-200内部的数值表示也不同。显然两者之间存在比例换算关系。模拟量输出的情况也大致相同。 上面谈到的是0 - 20mA与4 - 20mA之间换算关系,但模拟量转换的目的显然不是在S7-200 CPU中得到一个0 - 32000之类的数值;对于编程和操作人员来说,得到具体的物理量数值(如压力值、流量值),或者对应物理量占量程的百分比数值要更方便,这是换算的最终目标。 在STEP 7-Micro/WIN Programming Tips(Micro/WIN编程技巧

中)的Tip38就是关于如何实现上述转换的例程。 为便于用户使用,现已将其导出成为“自定义指令库”,用户可以添加到自己的Micro/WIN编程软件中应用。 模拟量比例换算指令库和例子 注意:此指令库/程序的作者和拥有者对于该软件的功能性和兼容性不负任何责任。使用该软件的风险完全由用户自行承担。由于它是免费的,所以不提供任何担保,错误纠正和热线支持,用户不必为此联系西门子技术支持与服务部门。 在这个指令库中,子程序Scale_I_to_R可用来进行模拟量输入到S7-200内部数据的转换;子程序Scale_R_I可用于内部数据到模拟量输出的转换。

相关文档
相关文档 最新文档