模拟量换算

合集下载

模拟量转工程量公式

模拟量转工程量公式

模拟量转工程量公式
例如有三种测温范围的温度传感变送器,对应的范围分别为:
1)测温范围为0—200°,变送器输出信号为4—20mA,对应的数字量范围为6400—32000;
2)测温范围为0—200°,变送器输出信号为0—10V,对应的数字量范围为0—32000;
3)测温范围为-200—500°,变送器输出信号为4—20mA,对应的数字量范围为6400—32000;
利用相似三角形比例原理可推导模拟量转换工程量转换公式:(Ov-Osl)/(Osh-Osl)=(Iv-Isl)/(Ish-Isl)。

公式经过换算化简后得到:
Ov= (Osh-Osl)*(Iv-Isl)/(Ish-Isl)+Osl。

Ov:模拟量转换后的工程量。

Iv:对应模拟量通道的模拟量输入值。

Osh:工程量的上限。

Osl:工程量的下限。

Ish:数字量的上限。

Isl:数字量的下限。

(完整版)S7-200模拟量计算公式

(完整版)S7-200模拟量计算公式

因为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之类的数值;对于编程和操作人员来说,得到具体的物理量数值(如压力值、流量值),或者对应物理量占量程的百分比数值要更方便,这是换算的最终目标。

如果使用编程软件Micro/WIN32中的PID Wizard(PID向导)生成PID功能子程序,就不必进行0 - 20mA与4 - 20mA信号之间的换算,只需进行简单的设置。

通用比例换算公式模拟量的输入/输出都可以用下列的通用换算公式换算:Ov = [(Osh - Osl)*(Iv - Isl)/(Ish - Isl)] + Osl其中:Ov:换算结果Iv:换算对象Osh:换算结果的高限Osl:换算结果的低限Ish:换算对象的高限Isl:换算对象的低限它们之间的关系可以图示如下:图1. 模拟量比例换算关系实用指令库在Step7 - Micro/WIN Programming Tips(Micro/WIN编程技巧中)的Tip38就是关于如何实现上述转换的例程。

为便于使用,现已将其导出成为”自定义指令库“,可以添加到自己的Micro/WIN编程软件中应用。

4到20ma模拟量转换公式

4到20ma模拟量转换公式

这个4-20 mA模拟量是标准变送器的输出,以及应该换算多少压力和流量。

以此类推,完全根据你的需要,当然应该对应你不同的发射机。

如果需要很大,可以增加后一个放大器的放大倍数,这样A/D转换时显示的数据就会很大,反之亦然。

例如,4 mA代表1 kg压力,根据变送器的线性度和放大器的放大倍数进行校对和补偿,即可在可容忍的误差范围内显示您的工况数据。

学好PLC不仅需要实践,更需要理论支撑,否则根本无从下手。

模拟量在PLC编程中占有重要地位,而在实际工作中遇到的最常见的问题是模拟量与工程量的换算问题。

在实际工程中,现场人员经常需要采集温度、压力、流量、频率等物理量信号,而程序中采集的是与物理量对应的模拟量信号。

如何将模拟量信号转换成相应的量(物理量)?换句话说,编写模拟程序的目的是什么?编制模拟量的目的是使模拟量有相应的数字量,最终将数字量转换为工程量(物理量),即模拟量转换为工程量。

工程量的问题实际上是用数字量来处理的,模拟量可以说是中间过渡。

那么今天,肖志就来推导模拟量换算的换算公式,供大家参考和使用。

如果你熟悉模拟量转换的过程,你会对模拟量知识有更深的理解,编写模拟量程序并不困难。

例如,具有测温范围的温度传感变送器有三种,对应的范围为:1)温度测量范围为0-200时,变送器输出信号为4-20 mA,对应的数字量范围为6400-32000;2)温度测量范围为0-200V,变送器输出信号为0-10V,对应的数字量范围为0-32000;3)温度测量范围为-200500,变送器输出信号为4-20 mA,对应的数字量范围为6400-32000;要求我们编制的模拟量换算工程量换算公式应满足上述三个条件,三种温度检测设备都能得到正确的工程量输出结果。

三种测温方式的温度变送器模拟量与工程量的对应关系如下图所示:可以用相似三角形原理进行分析,两个相似三角形的对应边成比例,模拟量换算公式的推导过程,根据相似三角形的比例原理,推导出模拟量换算公式:●(OV-OSL)/(OSH-OSL)=(IV-ISL)/(ISH-ISL)。

S7-200模拟量换算(可编辑)

S7-200模拟量换算(可编辑)

S7-200模拟量换算模拟量比例换算因为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之类的数值;对于编程和操作人员来说,得到具体的物理量数值(如压力值、流量值),或者对应物理量占量程的百分比数值要更方便,这是换算的最终目标。

如果使用编程软件Micro/WIN32中的PID Wizard(PID向导)生成PID功能子程序,就不必进行0 - 20mA与4 - 20mA信号之间的换算,只需进行简单的设置。

通用比例换算公式模拟量的输入/输出都可以用下列的通用换算公式换算:Ov = [(Osh - Osl)*(Iv - Isl)/(Ish - Isl)] + Osl其中:Ov:换算结果Iv:换算对象Osh:换算结果的高限Osl:换算结果的低限Ish:换算对象的高限Isl:换算对象的低限它们之间的关系可以图示如下:图1. 模拟量比例换算关系实用指令库在Step7 - Micro/WIN Programming Tips(Micro/WIN编程技巧中)的Tip38就是关于如何实现上述转换的例程。

为便于使用,现已将其导出成为”自定义指令库“,可以添加到自己的Micro/WIN编程软件中应用。

模拟量计算

模拟量计算

假设模拟量的标准电信号是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)编程实例您可以组建一个小的实例系统演示模拟量编程。

模拟量计算

模拟量计算

假设模拟量的标准电信号就是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)编程实例您可以组建一个小的实例系统演示模拟量编程。

S7-200模拟量换算

S7-200模拟量换算

因为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之类的数值;对于编程和操作人员来说,得到具体的物理量数值(如压力值、流量值),或者对应物理量占量程的百分比数值要更方便,这是换算的最终目标。

如果使用编程软件Micro/WIN32中的PID Wizard(PID向导)生成PID功能子程序,就不必进行0 - 20mA与4 - 20mA信号之间的换算,只需进行简单的设置。

通用比例换算公式模拟量的输入/输出都可以用下列的通用换算公式换算:Ov = [(Osh - Osl)*(Iv - Isl)/(Ish - Isl)] + Osl其中:Ov:换算结果Iv:换算对象O sh:换算结果的高限O sl:换算结果的低限I sh:换算对象的高限I sl:换算对象的低限它们之间的关系可以图示如下:图1. 模拟量比例换算关系实用指令库在Step7 - Micro/WIN Programming Tips(Micro/WIN编程技巧中)的Tip38就是关于如何实现上述转换的例程。

为便于使用,现已将其导出成为”自定义指令库“,可以添加到自己的Micro/WIN编程软件中应用。

模拟量转换方法

模拟量转换方法

其实很简单就是一个Y(实际值)=A*X(数字量)+B的公式而已。

例如你的压力变送器检测压力范围是0~200kPa,输出4~20mA,PLC通过通道设置可以设置成输入4~20mA,对应数字量0~4000,那么0~200kPa与4~20mA是一一对应关系,4~20mA与0~4000是一一对应的关系,所以0~200kPa与0~4000就是一一对应关系,既然是一一对应关系,他两个就符合公式Y=A*X+B,这里A=1/20,B=0。

因此实际压力值=采集的数字量/20。

望采纳。

谢谢,有点似懂非懂了,基本采纳了。

所以还要继续向你请教:1.数字量范围(如0~4000)是由AD模块决定么?PLC采集的数字量是什么进制?2.3.Y=AX+B的公式中,B是什么,为什么B是0,如果B恒等0为什么还要加B。

倍数=数字量程上限/传感器量产上限;然后根据采集的数字量/倍数,得出实际的压力值,对么?压力单位是Kpa?4.5.手头的模块不是FX配套2AD/4AD的,是国产普通采集模块,换算方法是否一样适用?6.1、0~4000是根据模块里特殊寄存器设置的,比如三菱的FX3U-04AD的BFM #0设置输入的类型,就决定了类型是电压,还是电流,是4~20mA还是-20~2 0mA等等。

采集到的数字量都是十进制数字。

2、B=0,是通过这几个参数计算出来了,因为0~200kpa与0~ 4000成一一对应关系,而算出来的A=1/20,B=0,不是B固定就是0的,如果你要是西门子的AD,是0~20mA对应0-32000,那么就是0~200kpa对应4~20mA对应6400~32000,那么就是Y=X/128-50,A=1/128,B=-50。

压力单位这个很多,气体压力一般是kpa,mpa,bar,固体压力一般是kg/m的平方,N/m 平方等等。

3、只要是PLC的AD模块都是这个算法,置于别的AD模块就不一定了。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

模拟量的输入/输出都可以用下列的通用换算公式换算:Ov = [(Osh - Osl)*(Iv - Isl)/(Ish - Isl)] + Osl
其中:
Ov: 换算结果
Iv: 换算对象
Osh: 换算结果的高限
Osl: 换算结果的低限
Ish: 换算对象的高限
Isl: 换算对象的低限
转换模拟量值到工程量值
问题: 是否有功能块能转换模拟量值到工程量值?
解答: 在Step7 中,standard library T1-S7 Converting Blocks FC105。

例如:转换一个模拟量PIW256到0.0~200.0工程范围
Call FC105
IN:=PIW256 (模拟量,范围-27648~27648)
HI_LIM:=200.0 (上限)
LO_LIM:=0.0 (下限)
BIPOLAR:=M2.1 (极性
如M2.1为1,对应的PIW256 为-27648~27648;
如M2.1为0,对应的PIW256为0~27648)
RET_V AT:=MW4 (错误返回值)
OUT:=MD50 (工程值
例子:从0到10V的值中输入到插在插槽6的模拟模块中。

目前这个值是一个整数(16位),应该规格化100到1000之间的REAL格式,并以双字MD10保存在位储存器中。

语句表的解决方案:
L PIW 288 //0到10V的模拟量输入包含0到27648个整数(16位)
ITD //16位整数值转换成32位整数
DTR //32位整数转化成实数
L 2.7648e+4 //
/R //除以实数27648
L 9.000e+2 //
*R // 乘以实数***(1000-100)
L 1.000e+2 //
+R // 加上实数100(补偿值)
T MD10 //把100到1000规格化成REAL格式。

相关文档
最新文档