plc模拟量转换标度变换数字量公式以及西门子变换写法
- 格式:doc
- 大小:19.50 KB
- 文档页数:3
plc模拟量计算公式LAD方法实现(1)计算公式说明[(IN0-IN1)/(IN2-IN1)]*(IN4-IN3)+IN3•IN0:模拟量输入信号,数据类型为整数•IN1:模拟量信号下限,数据类型为整数•IN2:模拟量信号上限,数据类型为整数•IN3:工程量数值下限,数据类型为实数•IN4:工程量数值上限,数据类型为实数(2)程序编写说明02SCL方法实现(1)计算公式说明[(Raw-Dmin)/(Dmax-Dmin)]*(Emax-Emin)+Emin •Raw:模拟量输入信号,数据类型为整数•Dmin:模拟量信号下限,数据类型为整数•Dmax:模拟量信号上限,数据类型为整数•Emin:工程量数值下限,数据类型为实数•Emax:工程量数值上限,数据类型为实数(二)程序编写说明FUNCTION FC1 : VOID //函数定义VAR_INPUT //输入变量定义Raw,Dmin,Dmax: INT;Emin,Emax: REAL;END_VARVAR_OUTPUT //输出变量定义OutReal: REAL;OutPercentage:REAL;END_VARVAR_TEMP //临时变量定义RawTemp: INT;END_VARBEGINIF (Emin < Emax) AND (Dmin < Dmax) THEN//判断上下限值是否设置合理IF Raw < Dmin THEN RawTemp := Dmin;//输入值超下限直接取下限END_IF;IF Raw > Dmax THEN RawTemp := Dmax;//输出值超上限直接取上限END_IF;IF (Raw >= Dmin) AND (Raw <= Dmax) THEN RawTemp := Raw;//输入正常直接读取输入值END_IF;OutReal := (INT_TO_REAL(RawTemp-Dmin)/INT_TO_REAL(Dmax-Dmin))*(Emax-Emin)+Emin;//数量类型转换和计算公式OutPercentage := (OutReal/(Emax-Emin))*100.0;ELSE //上下限值设置不合理直接输出零OutReal := 0.0;OutPercentage := 0.0;END_IF;END_FUNCTION。
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。
模拟量比例换算因为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编程软件中应用。
S7-200PLC模拟量比例换算因为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. 模拟量比例换算关系实用指令库在STEP 7-Micro/WIN Programming Tips(Micro/WIN编程技巧中)的Tip38就是关于如何实现上述转换的例程。
为便于用户使用,现已将其导出成为“自定义指令库”,用户可以添加到自己的Micro/WIN编程软件中应用。
比如有一个压力变送器输入20kp--800kp,输出0—10V信号给PLC,然后PLC把0-10V转换为0-4000数字信号,现在要在PLC程序里实现把20Kp—800KP转换为20-800后直接在触摸屏上显示,可以这样实现,
一种方法调整模拟量增益与偏置,
另外一种方法自己在程序里用公式转换
首先用(4000-0)/(800-20)=5.128,
然后用800乘以5.128等于4102,再用4102-102=4000,
这样就可以得到另外一个公式,以三菱FX为例,当D0为模拟量通道直接写进数范围是0-2000.那么就可以用(D0+K102)/5.128=D1,那么D1就对应20-800,这样就可以直接在触摸屏上显示。
因为在三菱FX-PLC里5.128无法表示,可以把(D0+K102)先乘以K100后在除以K512,这样换算的精度就提高了。
如果还想提高精度可以把(D0+K102)先乘以K1000后,再除以K5128,这样换算的精度就更高了。
这是D0等于0时,0V信号输入,D34等于20。
这是D0等于2000时,5V信号输入,D34等于409。
这是D0等于4000时,10V信号输入,D34等于800。
信号的变换需要经过以下过程:物理量-传感器信号-标准电信号-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。
其实很简单就是一个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模块就不一定了。
西门子plc模拟量转换实例对于自动化控制系统来说,主要处理对象无外乎数字量和模拟量,很多刚接触自动化的新人对于模拟量可能还不是很熟悉,这里以西门子plc300/400为例详细讲一下,其实模拟量处理如很简单。
1、模拟量输入/输出量程转换的概念实际工程中,我们要面对很多工程量,如压力、温度、流量、物位等,他们要使用各种类型传感器开展测量,传感器再将测量值通过输出标准电压、电流、温度或电阻信号供PLC 采集,PLC的模拟量输入模板将该电压、电流、温度、或电阻信号等模拟量转换成数字量—整形数(INT) 。
在PLC 程序内部要对相应的信号开展比较、运算时,常需将该信号转换成实际物理值,这样这个数值才具有实际意义。
相反,我们要控制一些执行机构(如比例阀,电动阀等)需要将控制值转换成与实际工程量对应的整形数,再经模拟量输出模板转换成电压、电流信号去控制现场执行机构。
要完成输入、输出模拟量转换,就需要在程序中调用功能块完成量程转换。
例如一个压力调节回路中,压力变送器输出4-20mA DC 信号到SM331 模拟量输入模板,SM331 模板将该信号转换成0-27648 的整形数,然后在程序中要调用FC105 将该值转换成0-10.0 (MPa )的工程量(实数),经PID 运算后得到的结果仍为实数,要用FC106 转换为对应阀门开度0-100% 的整形数0-27648 后,经SM332 模拟量输出模板输出4-20mA DC 信号到调节阀的执行机构。
2、STEP 7调用FC105,FC106开展模拟量转换编程2.1 FC105/FC106 在哪里在编程界面下,在Program elements 中的Libraries 下的Standard Library 下的TI-S7Converting Blocks 中就可以找到,见下列图:模拟量模拟量注意:请不要使用S5-S7 Converting Blocks 下的FC105, FC106 ,该路径下的功能是用于S5输入输出模板的,在S7 输入输出模板上无法使用。
plc模拟量如何换算?4到20ma模拟量转换公式模拟量值和A/D转换值的转换是成线性关系的。
假设模拟量的标准电信号是A0~Am(如4~20mA),A/D转换后的数值为D0~Dm (如6 400~32 000),设模拟量的标准电信号是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(2)具体举一个实例,以S7-200和4~20mA为例,经A/D转换后,得到的数值是6 400~32 000,即A0=4,Am=20,D0=6 400,Dm=32 000,代入公式,得出:A=(D-6400)×(20-4)/(32000-6400)+4假设该模拟量与AIW0对应,则当AIW0的值为12800时,相应的模拟电信号是6400×16/25600+4=8mA。
例如,当输入模拟量设定为电流信号的输入,在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也是同理的,只是对应的数字量不同而已)不同的传感变送器,通过不同的模拟量输入输出模块进行转换,其转换公式是不一样的,如果选用的转换公式不对,编出的程序肯定是错误的。
对输入、输出模拟量的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电流,见下左图。
创作编号: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输出。
1.自己写转换程序。
plc200中模拟量转换成数字量命令
PLC200是一种常见的工业自动化控制器,用于监测和控制生产过程中的各种参数。
其中,模拟量转换成数字量是其常见的命令之一,用于将采集到的模拟信号转换为数字信号,以便进行处理和控制。
模拟量转换成数字量的命令主要涉及以下几个步骤。
首先,PLC200会从传感器中采集模拟信号,例如温度、压力、液位等。
这些信号通常是连续变化的,可以用模拟量来表示。
接下来,PLC200会将采集到的模拟信号进行采样和量化处理。
采样是指以一定的时间间隔对模拟信号进行离散化处理,将其转换为一系列离散的采样值。
量化是指对每个采样值进行数值化处理,将其转换为数字信号。
PLC200会根据预设的阈值或逻辑判断条件,将量化后的数字信号转换为相应的数字量输出。
例如,当温度超过某个设定值时,PLC200可以输出一个开关信号,控制相关设备的启停。
这样,就实现了模拟量到数字量的转换。
在实际应用中,模拟量转换成数字量的命令常用于工业自动化控制领域。
例如,在生产线上,通过对温度传感器采集的模拟信号进行转换,可以实现对加热设备的自动控制。
通过对液位传感器采集的模拟信号进行转换,可以实现对液体注入设备的精确控制。
PLC200中的模拟量转换成数字量命令是一种重要的控制指令,可以
将采集到的连续模拟信号转换为离散的数字信号,实现自动化控制。
这在工业生产过程中起到了关键作用,提高了生产效率和产品质量。
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
假设该模拟量与AIW0对应,则当AIW0的值为12800时,相应的模拟电信号是6400×16/25600+4=8mA。
又如,某温度传感器,-10—60℃与4—20mA相对应,以T表示温度值,AIW0为PLC模拟量采样值,则根据上式直接代入得出:
T=70×(AIW0-6400)/25600-10
可以用T 直接显示温度值。
模拟量值和A/D转换值的转换理解起来比较困难,该段多读几遍,结合所举例子,就会理解。
西门子200的模拟量转换与写法
模拟量值和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欧姆可调电位器,简单编程如下:
LD SM0.0
MOVW+14632, VW12 -I+6400, VW12 MOVW VW12, VW13 /I+256, VW13。