模拟量定义异常 点击:325 | 回复:3



bird1982

    
  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 1回
  • 年度积分:0
  • 历史总积分:4
  • 注册:2007年11月09日
发表于:2007-12-12 17:00:00
楼主
在变量表中定义模拟量输入输出,用ANL_IN或ANL_OUT时显示不匹配,知道是怎么回事??这样定义AIO才好??求助?



皓月

  • 精华:9帖
  • 求助:0帖
  • 帖子:483帖 | 5271回
  • 年度积分:0
  • 历史总积分:8863
  • 注册:2003年11月09日
发表于:2007-12-12 21:56:00
1楼
问题不是很明确,不好回答

bird1982

  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 1回
  • 年度积分:0
  • 历史总积分:4
  • 注册:2007年11月09日
发表于:2007-12-13 09:05:00
2楼
例子:变量表中定义  300001为ANL_IN时显示不匹配,需要把ANL_IN改为INT或别的类型才行

  • 精华:1帖
  • 求助:0帖
  • 帖子:9帖 | 40回
  • 年度积分:0
  • 历史总积分:376
  • 注册:2002年4月27日
发表于:2010-09-22 13:17:46
3楼

我认为:

这个数据类型在I/O管理块中使用,就不是你能定义的。

使用这些I/O管理块可以省却很多对模拟量进行整定、转换等工作,使用起来非常方便。

比如在本地机架上的第四个模块是AVI03000,你只要调用两个块就可以完成所有数据转换、工程值转换等等,1、AVI030,2、I_SCALE,程序中直接将AVI030的输出接入I_SCALE的输入即可,因为他们的数据类型都是ANL_IN(当然在AVI030中需要指明模块的槽号),这样你就能够得到一个在你需要的数值范围内的浮点数。

如果你要在变量中对模拟量输入输出通道进行声明,则默认的数据类型是INT,而且有两种地址表示方式,你需要自己编写一段小程序来将这个工程值范围为6400-32000(相对4~20mA而言)的单整数进行转换、整定后才能得到一个浮点数。


热门招聘
相关主题

官方公众号

智造工程师