搜档网
当前位置:搜档网 › 4到20ma模拟量转换公式

4到20ma模拟量转换公式

4到20ma模拟量转换公式
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可用于内部数据到模拟量输出的转换。

PLC模拟量编程实例

对输入、输出模拟量的PLC编程实例解析 对于初学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种传感変送器的转换公式该如何推导的呢?这要借助与数学知识帮助,请见下图:

上面推导出的(2-1)、(2-2)、(2-3)三式就是对应(1)、(2)、(3)三种温

度传感变送器经过模块转换成数字量后再换算为被测量的转换公式。编程者依据正确的转换公式进行编程,就会获得满意的效果。 二、变送器与模块的连接 通常输出4~20ma电流信号的传感变送器,对外输出只有+、- 二根连线,它需要外接24V电源电压才能工作,如将它的+、- 二根连线分别与24V电源的正负极相连,在被测量正常变化范围内,此回路将产生4~20ma电流,见下左图。下右图粉色虚线框内为EM235 模块第一路模拟输入的框图,它有3个输入端,其A+与A-为A/D转换器的+ - 输入端,RA与A-之间并接250Ω标准电阻。A/D转换器是正逻辑电路,它的输入是0~5V电压信号,A-为公共端,与PLC 的24V电源的负极相连。 那么24V电源、传感变送器、模块的输入口三者应如何连接才是正确的?正确的连线是这样的:将左图电源负极与传感器输出的负极连线断开,将电源的负极接模块的A-端,将传感器输出负极接RA端,RA端与A+端并接一起,这样由传感器负极输出的4~20ma电流由RA流入250Ω标准电阻产生0~5V 电压并加在A+与A-输入端。 切记:不可从左图的24V正极处断开,去接模块的信号输入端,如这样连接,模块是不会正常工作的。 对第(2)种电压输出的传感変送器,模块的输入应设置为0~5V电压模式,连线时,变送器输出负极只连A+,RA端空悬即可。 三、按转换公式编程: 根据转换后变量的精度要求,对转换公式编程有二种形式:1、整数运算,2、实数运算。

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收发非常重要)。这使得两线制传感器的设计成为可能而又富有挑战。

模拟量换算

模拟量的输入/输出都可以用下列的通用换算公式换算: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格式

S7-300 PLC模拟量输入输出量程转换教程

S7-300/400 PLC模拟量输入/输出的量程转换 SLC A&D CS March, 2005

1模拟量输入/输出量程转换的概念 (3) 2S7-300/400 PLC模拟量输入/输出模板 (3) 2.1需要使用的模板 (3) 2.2涉及的信号类型 (3) 3STEP 7中模拟量输入/输出的编程 (3) 3.1FC105/FC106在哪里 (3) 3.2FC105/FC106功能描述 (5) 3.2.1FC105功能描述 (5) 3.2.2FC106功能描述 (5) 3.3FC105/FC106参数定义 (6) 3.3.1FC105 的参数定义 (6) 3.3.2FC106的参数定义 (6) 3.4例子程序 (7) 3.4.1FC105例子程序 (7) 3.4.2FC106例子程序 (8)

1模拟量输入/输出量程转换的概念 实际的工程量,如压力、温度、流量、物位等要采用各种类型传感器进行测量。传感器将输出标准电压、电流、温度、或电阻信号供PLC采集,PLC的模拟量输入模板将该电压、电流、温度、或电阻信号等模拟量转换成数字量——整形数(INTEGER)。在PLC程序内部要对相应的信号进行比较、运算时,常需将该信号转换成实际物理值(对应于传感器的量程)。而经程序运算后得到的结果要先转换成与实际工程量对应的整形数,再经模拟量输出模板转换成电压、电流信号去控制现场执行机构。这样就需要在程序中调用功能块完成量程转换。 如一个压力调节回路中,压力变送器输出4-20mA DC信号到SM331模拟量输入模板, SM331模板将该信号转换成0-27648的整形数,然后在程序中要调用FC105将该值转换成0-10.0(MPa)的工程量(实数),经PID运算后得到的结果仍为实数,要用FC106转换为对应阀门开度0-100%的整形数0-27648后,经SM332模拟量输出模板输出4-20mA DC信号到调节阀的执行机构。 本文主要讨论S7-300/400 PLC编程中模拟量的量程转换。 2S7-300/400 PLC模拟量输入/输出模板 2.1需要使用的模板 使用西门子S7-300/400 PLC进行模拟量输入/输出需要使用的模板: S7-300系列PLC:SM331系列模拟量输入模板;SM332系列模拟量输出模板;SM334/335系列模拟量输入/输出模板。 S7-400系列PLC:SM431系列模拟量输入模板;SM432模拟量输出模板。 目前常用的模板规格型号参见模板手册,请链接到如下网址下载模板手册: S7-300: https://www.sodocs.net/doc/fe14033470.html,/WW/view/en/8859629 S7-400: https://www.sodocs.net/doc/fe14033470.html,/WW/view/en/1117740 2.2涉及的信号类型 电压,电流,温度,电阻。 3STEP 7中模拟量输入/输出的编程 3.1FC105/FC106在哪里 在编程界面下,在Program elements中的Libraries下的Standard Library下的TI-S7 Converting Blocks中就可以找到,见下图:

PL对模拟量数据的计算方法(114)

PLC对模拟量数据的计算方法 可编程控制器(简称PLC) 是专为在工业环境中应用而设计的一种工业控制用计算机, 具有抗干扰能力强、可靠性高、体积小等优点, 是实现机电一体化的理想装置, 在各种工业设备上得到了广泛的应用, 在机床的电气控制中应用也比较普遍, 这些应用中常见的是将PLC 用于开关量的输入和输出控制。 随着PLC技术的发展, 它在位置控制、过程控制、数据处理等方面的应用也越来越多。本文将谈论利用PLC处理模拟量的方法, 以对机床液压系统工作压力的检测处理为例, 详细介绍PLC处理模拟量的各重要环节, 特别是相关软件的设计。为利用PLC全面地实现对机床系统工作参数的检测打下技术基础; 为机床故障的判断、故障的预防提供重要的数据来源。 1 PLC采集、处理模拟量的一般过程 在PLC组成的自动控制系统中, 对物理量(如温度、压力、速度、振动等) 的采集是利用传感器(或变送器) 将过程控制中的物理信号转换成模拟信号后, 通过PLC提供的专用模块, 将模拟信号再转换成PLC可以接受的数字信号, 然后输入到PLC中。由于PLC保存数据时多采用BCD码的形式, 所以经过A /D专用模块的转换后, 输入到PLC的数据存储单元的数据应该是一个BCD 码。整个数据传送过程如图1所示。 图1 PLC采集数据的过程图 PLC对模拟量数据的采集, 基本上都采用专用的A /D模块和专用的功能指令相配合, 可以让设计者很方便地实现外部模拟量数据的实时采集, 并把采集的数据自动存放到指定的数据单元中。经过采集转换后存入到数据单元中的BCD码数字, 与物理量的大小之间有一定的函数关系, 但这个数字并不与物理量的大小相等, 所以, 采集到PLC中的数据首先就需 要进行整定处理, 确定二者的函数关系, 获得物理量的实际大小。通过整定后的数据, 才是实时采集的物理量的实际大小, 然后才可以进行后序的相关处理, 并可根据需要显示输出数据, 整个程序设计的流程图如图2所示。

PLC在程序设计时如何对模拟量进行工程转换程序实例

PLC在程序设计时如何对模拟量进行处理 一.PLC处理信号类型的概述 PLC能处理的数据类型包括数字量和模拟量两种类型。在时间上和数量上都是离散的物理量称为数字量。把表示数字量的信号叫数字信号。把工作在数字信号下的电子电路叫数字电路。数字量由多个开关量组成。如三个开关量可以组成表示八个状态的数字量。模拟量:在时间上或数值上都是连续的物理量称为模拟量。把表示模拟量的信号叫模拟信号。把工作在模拟1信号下的电子电路叫模拟电路。模拟量是连续的量,数字量是不连续的。反映的是电量测量数值(如电流、电压)。 我们把数字量其中的一个位也叫做开关量,每一个开关量对应PLC开关量输入的一个点,对应的对象包括开关,按钮,接近开关,行程开关以及开关量输出的光电开关等电气元件,而模拟量则包括常见的电压,电流,频率,压力,流量和温度等。 二.模拟量传感器的信号类型 模拟量主要是应用于自动控制系统中,它将现场采集到的物理信号转换成电信号,并利用变送器进行信号的校正和标准化。PLC在运行过程中采集到的信号都是经过变送器进行过校正和标准化的电压或者电流信号。 常见变送器输出信号类型有: 电压信号:-10V到10V, 0到10V 1到5V 0到5V 电流信号:4-20mA 0-20mA 在进行方案设计时要确定PLC所接收的数据类型,能够兼容变送器输出的数据类型即可。 三现场模拟量进行数字量转换的对应关系。 接下来以欧姆龙系列PLC对红外测温传感器为例,详细介绍PLC如何多模拟量

2.PLC采集到的数值0-12000到400-1200 C 进行工程量转换。 四.PLC程序设计 1.PLC参数设置 在PLC设置选项-内建AD中进行如下图设置。

(完整版)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编程软件中应用。

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

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: 换算对象的低限 它们之间的关系可以图示如下:

模拟量比例换算

模拟量比例换算 因为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

PLC模拟量(工程量)转化的方法

PLC模拟量(工程量)转化的方法 1、基本概念 我们生活在一个物质的世界中。世间所有的物质都包含了化学和物理特性,我们是通过对物质的表观性质来了解和表述物质的自有特性和运动特性。这些表观性质就是我们常说的质量、温度、速度、压力、电压、电流等用数学语言表述的物理量,在自控领域称为工程量。这种表述的优点是直观、容易理解。在电动传感技术出现之前,传统的检测仪器可以直接显示被测量的物理量,其中也包括机械式的电动仪表。 2、标准信号 在电动传感器时代,中央控制成为可能,这就需要检测信号的远距离传送。但是纷繁复杂的物理量信号直接传送会大大降低仪表的适用性。而且大多传感器属于弱信号型,远距离传送很容易出现衰减、干扰的问题。因此才出现了二次变送器和标准的电传送信号。二次变送器的作用就是将传感器的信号放大成为符合工业传输标准的电信号,如0-5V、0-10V或4-20mA(其中用得最多的是4-20mA)。而变送器通过对放大器电路的零点迁移以及增益调整,可以将标准信号准确的对应于物理量的被检测范围,如0-100℃或-10-100℃等等。这是用硬件电路对物理量进行数学变换。中央控制室的仪表将这

些电信号驱动机械式的电压表、电流表就能显示被测的物理量。对于不同的量程范围,只要更换指针后面的刻度盘就可以了。更换刻度盘不会影响仪表的根本性质,这就给仪表的标准化、通用性和规模化生产带来的无可限量的好处。 3、数字化仪表 到了数字化时代,指针式显示表变成了更直观、更精确的数字显示方式。在数字化仪表中,这种显示方式实际上是用纯数学的方式对标准信号进行逆变换,成为大家习惯的物理量表达方式。这种变换就是依靠软件做数学运算。这些运算可能是线性方程,也可能是非线性方程,现在的电脑对这些运算是易如反掌。 4、信号变换中的数学问题 信号的变换需要经过以下过程:物理量-传感器信号-标准电信号-A/D转换-数值显示。 声明:为简单起见,我们在此讨论的是线性的信号变换。同时略过传感器的信号变换过程。 假定物理量为A,范围即为A0-Am,实时物理量为X;标准电信号

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)。 ●公式经过换算和简化后得到: ●OV=(OSH-ISL)*(IV-ISL)/(ISH-ISL)+OSL。 ●OV:模拟转换后的工程量。 ●IV:对应模拟通道的模拟输入值。 ●OSH:工程量上限。 ●OSL:工程量下限。

模拟量值和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时,压力变送器的输出电流是20 mA,AIW0的数值是32000。可见,每毫安对应的A/D值为32000/20,测得当压力为0.1MPa时,压力变送器的电流应为4mA,A/D值为(32000/20)×4=6 400。由此得出,AIW0的数值转换为实际压力值(单位为KPa)的计算公式为: VW0的值=(AIW0的值-6400)(5000-100)/(32000-6400)+100(单位: KPa) 编程实例 您可以组建一个小的实例系统演示模拟量编程。本实例的的CPU是CPU2 22,仅带一个模拟量扩展模块EM235,该模块的第一个通道连接一块带4—20 mA变送输出的温度显示仪表,该仪表的量程设置为0—100度,即0度时输出

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种传感変送器的转换公式该如何推导的呢?这要借助与数学知识帮助,请看下图:

模拟量转换数字量公式

信号的变换需要经过以下过程:物理量-传感器信号-标准电信号-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。

模拟量计算

假设模拟量的标准电信号是 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欧姆可调电位器,

模拟量比例换算

模拟量比例换算: 因为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: 换算对象的低限 实用指令库: 在STEP 7-Micro/WIN Programming Tips(Micro/WIN编程技巧中)的Tip38就是关于如何实现上述转换的例程。 为便于用户使用,现已将其导出成为“自定义指令库”,用户可以添加到自己的Micro/WIN编程软件中应用。 注意:此指令库/程序的作者和拥有者对于该软件的功能性和兼容性不负任何责任。使用该软件的风险完全由用户自行承担。由于它是免费的,所以不提供任何担保,错误纠正和热线支持,用户不必为此联系西门子技术支持与服务部门。

S模拟量详细教程

模拟量比例换算 因为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就是关于如何实现上述 转换的例程。

模拟量计算

假设模拟量的标准电信号就是 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欧姆可调电位器,

相关主题