S7-200的子程序调用问题 点击:205 | 回复:1



稚若初现0

    
  • 精华:0帖
  • 求助:0帖
  • 帖子:104帖 | 384回
  • 年度积分:0
  • 历史总积分:4735
  • 注册:2012年4月20日
发表于:2012-09-29 11:47:38
楼主
      S7-200的2009年系统手册中文版第204页里有下面一段话:“当子程序在同一个周期内被多次调用时,不能使用上升沿、下降沿、定时器和计数器指令。”
      S7-300/400可以将定时器、计数器的编号作为FB、FC(即子程序)的输入参数,在每次调用时指定不同编号的定时器和计数器作为实参。S7-200则没有这个功能,只能在子程序中使用固定的定时器编号。如果同时对多个被控对象调用同一个子程序,不同的被控对象可能同时使用同一个定时器、计数器,将会产生灾难性的结果。
     上升沿、下降沿指令通过比较前后两个扫描周期同一个位变量的状态,来判断是否是上升沿、下降沿。S7-300/400的上升沿、下降沿指令用指定的位地址保存前一扫描周期的状态。S7-200的上升沿、下降沿指令前一扫描周期的状态是操作系统保存的。但是因为只能保存一个位变量的前一扫描周期的状态,所以子程序在同一个周期内被多次调用时,不能使用上升沿、下降沿指令。
 



纵横军团-王道火山

  • 精华:2帖
  • 求助:5帖
  • 帖子:86帖 | 1878回
  • 年度积分:0
  • 历史总积分:7858
  • 注册:2012年1月11日
发表于:2012-09-29 12:38:56
1楼

恩,受过这样的教训!

                      


热门招聘
相关主题

官方公众号

智造工程师