AI转化程序 点击:812 | 回复:15



春华★秋实

    
  • 精华:0帖
  • 求助:0帖
  • 帖子:103帖 | 1038回
  • 年度积分:0
  • 历史总积分:3013
  • 注册:2007年5月17日
发表于:2007-07-30 09:28:00
楼主
 注:in0:采集到的AI、WORD型;temp1\2\3:中间变量、REAL;osh\osl:现场仪表的上、下限,其信号为4-20mA标准信号。out1:监控显示值。根据公式out1=((osh-osl)*(in0-lsl)/(lsh-lsl))+osl.
请各位大虾指点啊. A( L #IN0 L 0 <=I ) JCN MOO1 L 0.000000e+000 T #TEMP1 JU M003 MOO1: A( L #IN0 L 27648 >=I ) JCN M002 L 2.764800e+004 T #TEMP1 JU M003 M002: L #IN0 ITD DTR T #TEMP1 JU M003 M003: L #OSH L #OSL -R L #TEMP1 *R L 2.764800e+004 /R L #OSL +R T #OUT0



皓月

  • 精华:9帖
  • 求助:0帖
  • 帖子:483帖 | 5271回
  • 年度积分:0
  • 历史总积分:8863
  • 注册:2003年11月09日
发表于:2007-07-30 21:16:00
1楼
有什么问题?

春华★秋实

  • 精华:0帖
  • 求助:0帖
  • 帖子:103帖 | 1038回
  • 年度积分:0
  • 历史总积分:3013
  • 注册:2007年5月17日
发表于:2007-07-31 08:07:00
2楼
不知道写的对不对...

guafa58

  • 精华:1帖
  • 求助:0帖
  • 帖子:43帖 | 2142回
  • 年度积分:4
  • 历史总积分:3969
  • 注册:2006年1月13日
发表于:2007-07-31 08:22:00
3楼
用模拟软件测试一下,不就知道了吗,

春华★秋实

  • 精华:0帖
  • 求助:0帖
  • 帖子:103帖 | 1038回
  • 年度积分:0
  • 历史总积分:3013
  • 注册:2007年5月17日
发表于:2007-07-31 10:38:00
4楼
另外,AO模块组态为4—20mA时,给通道PQW送多少值对应4—20mA?是不是5530-27648呢?

yuanle

  • 精华:0帖
  • 求助:0帖
  • 帖子:9帖 | 10208回
  • 年度积分:2747
  • 历史总积分:48332
  • 注册:2005年4月22日
发表于:2007-07-31 22:35:00
5楼
对AI的线性转换,西门子已经提供了成熟的功能块FC105,不需要用户另行编写程序了,对AO西门子也已经提供了FC106功能块供线性转换。
另外,对您的程序粗略一看,就知道您的程序是经不起推敲的,您的程序没有对除数可能为0做很好的错误处理。

春华★秋实

  • 精华:0帖
  • 求助:0帖
  • 帖子:103帖 | 1038回
  • 年度积分:0
  • 历史总积分:3013
  • 注册:2007年5月17日
发表于:2007-08-01 00:11:00
6楼
除数为0?不可能的啊,因为整个过程只有一个常数22118,不可能出现0的啊。

yuanle

  • 精华:0帖
  • 求助:0帖
  • 帖子:9帖 | 10208回
  • 年度积分:2747
  • 历史总积分:48332
  • 注册:2005年4月22日
发表于:2007-08-01 08:22:00
7楼
哦,另外由于您组态的是4-20mA,此时数值0就是对应的4mA,数值27648对应的是20mA,300系列根据硬件组态定义,无需坐标转换。

春华★秋实

  • 精华:0帖
  • 求助:0帖
  • 帖子:103帖 | 1038回
  • 年度积分:0
  • 历史总积分:3013
  • 注册:2007年5月17日
发表于:2007-08-01 10:49:00
8楼
to yuanle:
我糊涂了,4-20mA和0-27648对应?不是应该对应5530-27648吗?
那AO如果组态为4-20mA,那PQW的多少和4-20对应呢?

guafa58

  • 精华:1帖
  • 求助:0帖
  • 帖子:43帖 | 2142回
  • 年度积分:4
  • 历史总积分:3969
  • 注册:2006年1月13日
发表于:2007-08-01 11:51:00
9楼
楼上,多看看SM331的介绍啊,300中4-20MA就是对应0-27648区别200的,不需要坐标转换啊

songzg

  • 精华:0帖
  • 求助:0帖
  • 帖子:96帖 | 732回
  • 年度积分:0
  • 历史总积分:1884
  • 注册:2006年11月16日
发表于:2007-08-01 12:13:00
10楼
看不懂

春华★秋实

  • 精华:0帖
  • 求助:0帖
  • 帖子:103帖 | 1038回
  • 年度积分:0
  • 历史总积分:3013
  • 注册:2007年5月17日
发表于:2007-08-01 13:30:00
11楼
我知道了,谢谢大家的帮忙。以前听别人说的,误解了。

shadow8201

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 18回
  • 年度积分:0
  • 历史总积分:374
  • 注册:2004年8月15日
发表于:2007-08-01 17:21:00
12楼
写这么简单个程序,你写了这么多,,,服了YOU,,

春华★秋实

  • 精华:0帖
  • 求助:0帖
  • 帖子:103帖 | 1038回
  • 年度积分:0
  • 历史总积分:3013
  • 注册:2007年5月17日
发表于:2007-08-01 20:24:00
13楼
TO shadow8201:
那么请这位仁兄写个简单点的。
我感觉必须这样,因为要判断IN0是否在0-27648之间,还要调用仪表的测量范围,所以才多点的。
大家有好的方法拿来共享哈

老泉

  • 精华:0帖
  • 求助:0帖
  • 帖子:10帖 | 136回
  • 年度积分:0
  • 历史总积分:445
  • 注册:2006年2月19日
发表于:2007-08-02 01:20:00
14楼
学习,学习

hooko

  • 精华:1帖
  • 求助:0帖
  • 帖子:3帖 | 90回
  • 年度积分:0
  • 历史总积分:146
  • 注册:2005年3月03日
发表于:2007-08-14 00:59:00
15楼
 学习一下

热门招聘
相关主题

官方公众号

智造工程师