关于使能端EN ENO的疑惑 点击:2893 | 回复:2



zxlwz

    
  • 精华:0帖
  • 求助:0帖
  • 帖子:4帖 | 1回
  • 年度积分:0
  • 历史总积分:82
  • 注册:2006年5月01日
发表于:2011-06-15 22:02:58
楼主
书上说对于一个模块如果EN输入有能流并且执行无错误,则ENO使能输出,将能流传递给下一个元件,如果在执行过程中有错误,能流在出现错误的指令框终止。

我想问一下 究竟什么时候ENO没有输出 执行错误没有能流输出 怎么理解??因为我看程序的时候发现有的模块没有ENO输出,但是我具体监控这个模块发现这个模块是在执行的,难道是模块指令执行错误而没有能流输出吗?

敬请各位大侠指点一下! 感激不尽!



yuanle

  • 精华:0帖
  • 求助:0帖
  • 帖子:9帖 | 10208回
  • 年度积分:2747
  • 历史总积分:48332
  • 注册:2005年4月22日
发表于:2011-06-16 08:48:55
1楼
EN使能仅表示功能块执行条件满足,而ENO输出也仅仅代表功能块执行结束。

实际上ENO,EN仅仅表示功能块的执行状态,并不表示其他的,在西门子中,不是都有隐含的返回变量RET_VAL,你也会看到,西门子的功能块的状态实际上是通过这个变量进行返回的,并不是通过ENO返回的。

如果你解析过西门子的功能块,你会发现,在功能块的结束,是通过SAVE指令来置位BR位,从而使得ENO有输出,而真正的返回是通过RET_VAL变量的。

如果你自己编写FB,那么你应该在你的程序中添加错误的诊断,并通过OUT变量进行返回,而不是通过ENO进行。

有些厂牌的PLC并没有EN,ENO,他们是通过增加IN,OUT变量来实现的,在因此这些厂家的PLC更容易进行移植。

Good Luck~

云锋

  • 精华:1帖
  • 求助:4帖
  • 帖子:252帖 | 5541回
  • 年度积分:0
  • 历史总积分:30376
  • 注册:2005年6月24日
发表于:2011-06-16 17:31:44
2楼
楼上说得很详尽哦。功能块执行完成,ENO输出。

热门招聘
相关主题

官方公众号

智造工程师