西门子S7-200中模拟量处理中的问题 点击:1822 | 回复:9



求学者_2322

    
  • 精华:0帖
  • 求助:2帖
  • 帖子:4帖 | 37回
  • 年度积分:0
  • 历史总积分:286
  • 注册:2011年3月14日
发表于:2012-12-18 14:28:20
楼主
求助帖5分-已结帖

大家好,小弟刚刚看到一个助镀液自动除铁的程序,有段模拟量处理的地方看的不太明白 ,希望大家帮忙解释下。

 

这个是压力传感器检测的压力后与触摸屏上设定的做个比较 
 压力值转换浮点数之后乘以1.0  然后再除以3200.0是什么意思    老液的保护压力是触摸屏上设定的 VD120 是32的浮点



秦君_1

  • 精华:8帖
  • 求助:22帖
  • 帖子:148帖 | 4867回
  • 年度积分:1651
  • 历史总积分:39896
  • 注册:2005年6月28日
发表于:2012-12-18 17:37:39
1楼
模拟量通道采集进来的是整数I,先将整数I转换成双整数DI,再将双整数DI转换成实数R(即就是浮点数),实数参与运算精度高。至于乘以系数1.0为什么?鬼知道。32000是西门子200模拟量上限值,你按比例线性运算一下就知道了。

秦君_1

  • 精华:8帖
  • 求助:22帖
  • 帖子:148帖 | 4867回
  • 年度积分:1651
  • 历史总积分:39896
  • 注册:2005年6月28日
发表于:2012-12-18 17:45:16
2楼
举例说:你输入的是-10V_10V,那么在PLC里面0V对应的就是0,10V对应的就是32000,-10V对应的就是-32000。

wyb2866255---王者之师

  • 精华:57帖
  • 求助:0帖
  • 帖子:148帖 | 2872回
  • 年度积分:1
  • 历史总积分:31450
  • 注册:2010年7月01日
发表于:2012-12-18 18:41:06
3楼
 对“压力值转换浮点数之后乘以1.0  然后再除以3200.0是什么意思    老液的保护压力是触摸屏上设定的 VD120 是32的浮点”的解释:这是因为压力值按转换公式运算是采用实数运算方式,故参与运算的各个量都应写为实数形式,如整数变量AWI0,在运算前要先化为实数形式,即采用 I_DI 与 DI_R 指令,将整数AWI0转换为实数 送入VD104中,参与运算的整数型的立即数,如 1 、3200,应写为等值的实数,即:1.0、3200.0,只有这样处理,程序才能正常运行。

zmy527326309

  • 精华:0帖
  • 求助:16帖
  • 帖子:35帖 | 367回
  • 年度积分:75
  • 历史总积分:6241
  • 注册:2012年8月28日
发表于:2012-12-18 21:46:39
4楼

回复内容:
对:wyb2866255---王者之师关于 对“压力值转换浮点数之后乘以1.0  然后再除以3200.0是什么意思    老液的保护压力是触摸屏上设定的 VD120 是32的浮点”的解释:这是因为压力值按转换公式运算是采用实数运算方式,故参与运算的各个量都应写为实数形式,如整数变量AWI0,在运算前要先化为实数形式,即采用 I_DI 与 DI_R 指令,将整数AWI0转换为实数 送入VD104中,参与运算的整数型的立即数,如 1 、3200,应写为等值的实数,即:1.0、3200.0,只有这样处理,程序才能正常运行。 内容的回复

 

你好,看了一下你的回复,感觉在对作者的问题上怎么没有解决了? 在问题中,作者问的是为什么要乘以1.0  和3200.0?   还望帮助下。

welfare87

  • 精华:0帖
  • 求助:4帖
  • 帖子:44帖 | 2827回
  • 年度积分:0
  • 历史总积分:25853
  • 注册:2009年2月20日
发表于:2012-12-18 22:18:32
5楼
乘以1.0可能是用来对压力信号进行校准的,我们一般转换出结果后,进行Y=aX+b校准

wyb2866255---王者之师

  • 精华:57帖
  • 求助:0帖
  • 帖子:148帖 | 2872回
  • 年度积分:1
  • 历史总积分:31450
  • 注册:2010年7月01日
发表于:2012-12-18 23:44:31
6楼

     回4楼: V3200数字量为1个压力对应的数字量,1.0就是1个压力值转换为实数的值,3200.0 为数字量3200化为实数值,VD104为AWI0数字量化为实数的值,压力值转换浮点数(即VD104)之后乘以1.0  然后再除以3200.0的意思就是求对应的压力值。见下图:

    从图可知:AB/CD=B0/D0   即:32000 / AIW0 =10 / Px   整理得:Px=AIW0 *1/3200 ....(1)

上式(1)就是数字量转换为压力的转换公式,∴用AIW0的实数(VD104)乘以1的实数(1.0),再除以3200的实数(3200.0),运算结果就是压力Px的实数值。

      

求学者_2322

  • 精华:0帖
  • 求助:2帖
  • 帖子:4帖 | 37回
  • 年度积分:0
  • 历史总积分:286
  • 注册:2011年3月14日
发表于:2012-12-20 09:03:29
7楼
6楼分析的我明白了  可是压力传感器的量程是0-0.5MP   

工控小子来咯

  • 精华:0帖
  • 求助:6帖
  • 帖子:9帖 | 30回
  • 年度积分:0
  • 历史总积分:135
  • 注册:2012年10月27日
发表于:2012-12-20 09:46:07
8楼
压力的量程是0到0.5MP是对于模拟量量程的0-32000,程序里除以3200,意思就是将0-32000的模拟量转换成了0-10的一个实际量程,而触摸屏上的比较设定,也肯定是把0-0.5这样一个实际的压力量程换算成0-10的一个量程来设定,这样操作上,更直观通俗些!

求学者_2322

  • 精华:0帖
  • 求助:2帖
  • 帖子:4帖 | 37回
  • 年度积分:0
  • 历史总积分:286
  • 注册:2011年3月14日
发表于:2012-12-20 10:19:40
9楼

恩 谢谢大家   这个基本上明白了


热门招聘
相关主题

官方公众号

智造工程师