文档库 最新最全的文档下载
当前位置:文档库 › S7-200模拟量输入转换库实例

S7-200模拟量输入转换库实例

S7-200模拟量输入转换库实例
S7-200模拟量输入转换库实例

L / 主程序 (OB1)

块:主程序

作者:

创建时间:2015.02.24 22:35:30 修改时间:

2015.02.24 22:38:53

符号变量类型数据类型注释 TEMP TEMP TEMP

TEMP

程序注释网络标题

网络 1网络注释

模拟量处理EN

模拟输入显示上限显示下限输出

SM0.0AIW0100.00.0VD28

块:模拟量处理

作者:

创建时间:2001.07.27 8:07:16 修改时间:

2015.02.24 22:38:24

符号变量类型数据类型注释 EN IN BOOL LW0模拟输入IN WORD LD2显示上限IN REAL LD6显示下限IN REAL IN LD10输出IN_OUT REAL IN_OUT OUT

TEMP

模拟量处理程序输入数据转换

网络 1

第一行:SM0.0接通后先减掉4-20mA 里的4mA 值(32000/20*4=6400)处理后的数据存LW10里。第二行:把LW10里的整数转换成双整数存于LD12里。第三行:将LD12里的数据转换成实数存于LD16里。

SUB_I

ENO

EN

OUT IN1IN2

I_DI

ENO

EN

OUT IN DI_R

ENO

EN

OUT IN SM0.0#模拟输入:LW0

+6400

LW10

LW10LD12

LD12LD16

数据处理

网络 2第一行:SM0.0接通后用测量值处理后存储数据的存储器LD16,除25600 ,结果存于LD20里(例如测量值26000,给 定基准数据25600=1.015625)。

第二行:处理后的数据LD20乘以显示上限,存于LD24里。第三行:处理后的数据LD24加上显示下限,存于输出里。

DIV_R

ENO

EN

OUT IN1IN2

MUL_R

ENO

EN

OUT IN1IN2

ADD_R

ENO

EN

OUT IN1IN2

SM0.0LD1625600.0

LD20

LD20

#显示上限:LD2

LD24

LD24

#显示下限:LD6

#输出:LD10

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

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