a5997123
级别: 略有小成
精华主题: 0
发帖数量: 225 个
工控威望: 369 点
下载积分: 5246 分
在线时间: 256(小时)
注册时间: 2007-08-03
最后登录: 2024-05-09
查看a5997123的 主题 / 回贴
楼主  发表于: 2010-03-19 17:53
求助:PLC模拟量通道是0~20MA的,对应数字量是0~32000,我的温度传感器输出是4~20MA的,对应温度是0~200度,这段算法怎样编写呢?
yuliangaa
深圳PLC编程15919427570 QQ385364283
级别: 略有小成
精华主题: 0
发帖数量: 80 个
工控威望: 222 点
下载积分: 1087 分
在线时间: 94(小时)
注册时间: 2009-09-20
最后登录: 2024-04-25
查看yuliangaa的 主题 / 回贴
1楼  发表于: 2010-03-19 20:13
网上有好多这资料的。。。我转一份给你看看!


S7-200的模拟量编写方法总结
[center]S7-200的模拟量编写方法总结[/center]
1、模拟量值和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
举几个例子:
    例1、以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。
    例2、某温度传感器,-10—60℃与4—20mA相对应,以T表示温度值,AIW0为PLC模拟量采样值,则根据上式直接代入得出:
    T=70×(AIW0-6400)/25600-10
可以用T 直接显示温度值。
   例3、某压力变送器,当压力达到满量程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
本帖最近评分记录:
  • 下载积分:+3(buyiwuxi) 热心助人
  • 专业提供各品牌PLC编程服务. qq:385364283