回复:针对反复调用的子程序,那些命令不能用

Automann

  • 帖子

    6168
  • 精华

    138
  • 被关注

    308

论坛等级:至圣

注册时间:2004-12-23

普通 普通 如何晋级?

发布于 2012-04-20 07:48:53

38楼

quote:[b]以下是引用1&0在2012-04-12 09:46:03的发言:
[COLOR=RED]When a subroutine is called more than once in the same cycle, the edge/up, edge/down, timer and counter instructions should not be used.
当子程序在同一个周期内被多次调用时,不能使用上升沿、下降沿、定时器和计数器指令。[/COLOR]
系统手册,204页 2008年8月版

2009年系统手册中文版204页有同样的话:“当子程序在同一个周期内被多次调用时,不能使用上升沿、下降沿、定时器和计数器指令。”
S7-300/400可以将定时器、计数器的编号设置为块的输入参数,在每次调用时指定不同编号的定时器和计数器作为实参。S7-200则没有这个功能,只能在子程序中使用固定的定时器编号。如果对多个被控对象多次调用子程序,不同被控对象同时使用同一个定时器计数器,将会产生灾难性的结果。
S7-300/400的上升沿、下降沿指令需要指定保存前一扫描周期的位地址。S7-200的上升沿、下降沿指令前一扫描周期的状态是操作系统保存的。但是因为只能保存一个位变量的前一扫描周期的状态,所以子程序在同一个周期内被多次调用时,不能使用上升沿、下降沿指令。
我认为系统手册是我们使用产品的依据,用户应该遵循手册中的规定,而不是挑战它,除非你是顶尖高手,对有关的问题有透彻的了解。
追求完美
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-200

共有33274条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
X 图片
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。