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

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

PLC模拟量(工程量)转化的方法
1、基本概念
我们生活在一个物质的世界中。

世间所有的物质都包含了化学和物理特性,我们是通过对物质的表观性质来了解和表述物质的自有特性和运动特性。

这些表观性质就是我们常说的质量、温度、速度、压力、电压、电流等用数学语言表述的物理量,在自控领域称为工程量。

这种表述的优点是直观、容易理解。

在电动传感技术出现之前,传统的检测仪器可以直接显示被测量的物理量,其中也包括机械式的电动仪表。

2、标准信号
在电动传感器时代,中央控制成为可能,这就需要检测信号的远距离传送。

但是纷繁复杂的物理量信号直接传送会大大降低仪表的适用性。

而且大多传感器属于弱信号型,远距离传送很容易出现衰减、干扰的问题。

因此才出现了二次变送器和标准的电传送信号。

二次变送器的作用就是将传感器的信号放大成为符合工业传输标准的电信号,如0-5V、0-10V或4-20mA(其中用得最多的是4-20mA)。

而变送器通过对放大器电路的零点迁移以及增益调整,可以将标准信号准确的对应于物理量的被检测范围,如0-100℃或-10-100℃等等。

这是用硬件电路对物理量进行数学变换。

中央控制室的仪表将这些电信号驱动机械式的电压表、电流表就能显示被测的物理量。

对于不同的量程范围,只要更换指针后面的刻度盘就可以了。

更换刻度盘不会影响仪表的根本性质,这就给仪表的标准化、通用性和规模化生产带来的无可限量的好处。

3、数字化仪表
到了数字化时代,指针式显示表变成了更直观、更精确的数字显示方式。

在数字化仪表中,这种显示方式实际上是用纯数学的方式对标准信号进行逆变换,成为大家习惯的物理量表达方式。

这种变换就是依靠软件做数学运算。

这些运算可能是线性方程,也可能是非线性方程,现在的电脑对这些运算是易如反掌。

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输出。

以上讲述的是PLC中工程量转换的基本方法,程序的编写则因人、因事而异。

但是万变不离其衷。

如果大家感兴趣,我可以给出自己编写的程序供大家参考,同时也希望各位网友不吝赐教、互相交流。

可以使用FC105 FC106,你可以搜一下就会得到好多,当然也可以自己处理。

回答者:qiushuiwuhen - 初级技术员第5级 2009-6-23 10:19
4-20ma的信号在PLC中是以一个字的整数表示的,比如模拟输入为IW或PIW,模拟输出为QW 或PQW,数值范围为0--27648(另外如果是双极性信号如-5V--+5V范围为-27648--+27648)与4--20ma是线性对应的,程序中需要将该模拟量对应的整数转换为实数,再进行线性比例变换为4--20ma对应的实数型工程量即可。

在Step7中程序自带功能FC105可以实现上述计算,使用起来很方便,你只需要填写功能子程序的几个输入,输出参数即可。

可以查看自带的说明文件。

介绍很详细。

回答者:fengdan111 - 资深学长第3级 2009-6-23 10:29
最简单的就是用MOVE来做,直接把模拟量的地址与接线地址对应好.S7-300中模拟量模块有量程选择,按照你的实际信号对应.楼上说的FC105 FC106当然也可以,FC105 是读,FC106是写,用这个不需要怎样换算.楼主需要资料的话可以加我QQ,我可以传你些资料.QQ:80291327
回答者:huanghuang - 中级工程师第10级 2009-6-23 10:35
1、FC105是处理模拟量(1~5V、4~20MA等常规信号)输入的功能块,在中,打开
Libraries\standard library\Ti-S7 Converting Blocks\fc105,将其调入OB1中,给各个管脚输入地址;
其中,管脚的定义如下:
IN---------模拟量模块的输入通道地址,在硬件组态时分配;
HI_LIM---现场信号的最大量程值;
LO_LIM--现场信号的最小量程值;
BIPOLAR—极性设置,如果现场信号为+10V~-10V(有极性信号),则设置为1,
如果现场信号为4MA~20MA(无极性信号);则设置为0;
OUT-------现场信号值(带工程量单位);信号类型是实数,所以要用MD200来存放;
RET_VAL-FC105功能块的故障字,可存放在一个字里面。

如:MW50;
回答者:barry - 顶级工程师第12级 2009-6-23 10:36
如你所说的,西门子PLC里4-20ma模拟量信号接PIW模拟量输入点,传给PLC的是0-27648
的数据,也就是你的量程对应0-27648.
不过PIW是浮点数,你要用程序把它转化成实数,再对应你的量程。

我的程序如下:
#a move #b1
#b1 I-DI #b2
#b2 DI-R #c
#c MUL-R #d
#b
a b c d都是中间变量
这是我做的一个简单的模拟量转换系统,你可以把他放在一个FC块里,如FC1,你到时候直接调
用就行。

调用如下:
FC1
piw a
x b d db2.dbd0
这里piw是你的模拟量输入点,x=量程|27648,db2.dbd0就是你最后换算过来的实际值。

回答者:迷茫人在线上- 毕业实践员第4级 2009-6-23 11:00
发了邮件给你
假设模拟量的标准电信号是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)
回答者:塞上雁- 中级工程师第10级 2009-6-23 11:23
请见有关资料:
<SIMATIC S7-300 《SM331; AI 8x12 位使用入门》第 1 部分: 4 - 20 mA>下载:
/CN/llisapi.dll?query=SM331%3B+AI+8x12+%E4%BD%8
D%E5%85%A5%E9%97%A8%E6%8C%87%E5%8D%97&func=cslib.cssearch&content=skm%
2Fmain.asp&lang=zh&siteid=cseus&objaction=cssearch&searchinprim=0&nodeid0=4000024&x
=33&y=7
《SM331信息集要(更新版)(2008.03.05)》下载:
/download/searchResult.aspx?searchText=F0220
回答者:阿鸣- 高级顾问第14级 2009-6-23 11:28
模拟量输入模块的模数转换结果为:0-32000
以4~20mA电流信号为例,由于S7 200的电流信号组态只有有0~20mA可供选择,且0~20mA
对应于0~32000,所以4~20mA对应于6400~32000。

设工程量的上限、下限分别为A、B,实时
采集转换的整型变量输入为X, 则对应的实际物理量Y的计算如下:
(Y-A) / (B-A) = (X-6400) / (32000-6400)
整理后得:Y=(B-A)*(X-6400)/25600+A
回答者:pianzhouyiye - 中级工程师第10级 2009-6-23 13:17
使用FC105和FC106,按F1查看帮助。

回答者:lbgk - 中级工程师第10级 2009-6-23 16:13
推荐你看本书,廖常初的s7200编程及应用,有详实例子。

为什么SM 334模块以四线接法测量PT100温度传感器时会显示不正确的值?
显示订货号
描述
可能的原因是在针脚4和5之间(针对通道0和通道1)或者针脚11和13之间(针对通道2和通道3)不正确的跳线连接。

背景知识:
如果在模块接线端上插入了跳线,在实际测量的信号上会增加压降,这是由于给PT100提供的恒定电流产生的。

这将对测量值产生影响。

隔离跳线与PT100的距离因此应当尽可能近。

下图是通道0和通道1测量电阻时在SM334模块接线端互联的示意。

图. 01:带跳线连接的SM334(除去SM 334 AI 4/A0 2 x 12 bit)
说明
更多关于此主题的信息可参见手册"SIMATIC Programmable Logic Controllers S7-300 Module Data" ,条目号8859629.
关接词
接线, 硬件组态
1、SM334技术规范
技术规范SM334
型号6ES7 334-0CE01-0AA0 6ES7 334-0KE00-0AB0
图片
基本简介4模拟量输入,2模拟量输出
4模拟量输入,2模拟量输出;电阻测量,
Pt100
所需前连接器20 针20 针
模拟量输入特性
模拟量输入
• 模拟量输入点数
• 用于电压测量的模拟量输入点数• 用于电阻测量的模拟量输入点数4
4
4
2
4
• 电压输入时允许的输入电压(破坏极限),最大20 V ;最大 20V 连续电压; 75V 时最长
1s( 脉冲占空比1:20)
20 V ;恒定电压;75V 时最长1s
( 脉冲占空比1:20)
2、SM334接线图。

相关文档
最新文档