请问这几步模拟量运算程序怎么理解 点击:1459 | 回复:8



曾豪

    
  • 精华:0帖
  • 求助:1帖
  • 帖子:2帖 | 6回
  • 年度积分:0
  • 历史总积分:71
  • 注册:2007年11月29日
发表于:2012-08-14 21:14:11
楼主
这是一个三菱FX2N的模拟量运算程序,0—10伏。与触摸屏连接。请问各位老师这几步程序怎么理解,



ye_w

  • 精华:21帖
  • 求助:1帖
  • 帖子:69帖 | 5217回
  • 年度积分:0
  • 历史总积分:46739
  • 注册:2002年4月17日
发表于:2012-08-14 23:00:02
1楼
不晓得D200是何值?总得来看就像是简单的线性转换

ahukuaipao

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 2745回
  • 年度积分:0
  • 历史总积分:7439
  • 注册:2011年12月12日
发表于:2012-08-15 08:29:55
2楼
这个是你所要测量的模拟量为了对应0-10V的线性关系所做的运算。。。

ac 米兰

  • 精华:4帖
  • 求助:0帖
  • 帖子:228帖 | 12359回
  • 年度积分:2963
  • 历史总积分:29795
  • 注册:2004年4月26日
发表于:2012-08-15 10:13:51
3楼

乘除运算

0-4000对应你的实际值

www.ytleader.cn

wyb2866255---王者之师

  • 精华:57帖
  • 求助:0帖
  • 帖子:148帖 | 2872回
  • 年度积分:1
  • 历史总积分:31450
  • 注册:2010年7月01日
发表于:2012-08-15 12:54:29
4楼

通过上述程序可知:这是通过模块的输入模拟量V,分别按对应的转换公式求出模块的数字量SHx(0~4000)和求出输出的物理量(比如压力P : 0~1.0 PM)的值。相解如下:

   上图为模拟输入信号V(0~10V)与模块的对应数字量SHx(设为:0~4000)的关系曲线(SHx / V 曲线),及模块的数字量SHx与实测物理量值P(如压力:0~1.0 PM)的关系曲线(SHx / P曲线)。

   1、 SHx ÷ V=K1(4000÷10=400)   即为每V电压对应的数字量,如V=3V,则:  SHx=V * K1=3×400=1200,这就是程序的第一条指令:MUL  D204  K2000  D208    其D204为模拟输入量V,而 K2000 为每V电压对应的数字量(K1),D208为乘积,即为转换的数字量SHx。由于V、SHx、K1皆为整数,故此时的运算选用整数运算。

   2、SHx ÷ P=K2(4000÷1.0=4000) 即:K2为每1个PM压力对应的数字量,如SHx=3200,则:P=3200 ÷4000=0.8 PM,由于数字量最大值=4000,故压力值为0~1.0之间, 故此时的除法运算选用浮数(实数)运算。即程序的第二条指令语句:DDIV   D208   D200   D208    (模块的数字量SHx除以没1PM压力对应的数字量(K2),其商即为实测压力值P。最后一句是将商(即实测压力值P)传送给D100。

曾豪

  • 精华:0帖
  • 求助:1帖
  • 帖子:2帖 | 6回
  • 年度积分:0
  • 历史总积分:71
  • 注册:2007年11月29日
发表于:2012-08-15 21:06:40
5楼

感谢各路豪侠大力相助

 

曾豪

  • 精华:0帖
  • 求助:1帖
  • 帖子:2帖 | 6回
  • 年度积分:0
  • 历史总积分:71
  • 注册:2007年11月29日
发表于:2012-08-15 21:28:25
6楼

特别感谢王者之师老师的回答

 

曾豪

  • 精华:0帖
  • 求助:1帖
  • 帖子:2帖 | 6回
  • 年度积分:0
  • 历史总积分:71
  • 注册:2007年11月29日
发表于:2012-08-15 21:50:12
7楼
但我想请问王者之师老师,书上说4AD模块0到10伏对应的数字量是0到2000,那么每1伏电压对应的数字量就是200,而你为什么说K2000是每伏电压对应的数字量呢?小弟不解

wyb2866255---王者之师

  • 精华:57帖
  • 求助:0帖
  • 帖子:148帖 | 2872回
  • 年度积分:1
  • 历史总积分:31450
  • 注册:2010年7月01日
发表于:2012-08-17 09:05:21
8楼

     回7楼的问题:

    1、原程序的K2000是不是由于编程者笔误造成的,实际上应为K200,即每1伏电压对应的数字量就是200,我讲的“K2000是每伏电压对应的数字量”是直接引用源程序中的K2000,当时误认为它是K1(即存储器变量地址代号)。

    2、我简单查看一下4AD模块,输入量如设置为0到10伏,其对应的数字量应为是0到4000,即每1伏电压对应的数字量就是400,


热门招聘
相关主题

官方公众号

智造工程师