STL程序的循环控制(S7-300) 点击:632 | 回复:6



孤掌难鸣

    
  • 精华:0帖
  • 求助:0帖
  • 帖子:76帖 | 324回
  • 年度积分:0
  • 历史总积分:704
  • 注册:2007年8月17日
发表于:2007-12-10 09:11:00
楼主
假如我需要一直比较MW10,MW20的值,如果不等我再比较,如果相等我往下执行,这样的话我不往上跳不行啊,请大家给个建议.我是在OB1中写的.各位高手知道的赶快回啊,谢谢了.
      ...
TIAO:L MW10
       L MW20
       ==I
       A M0.2
       JNB  TIAO
       NOP 0
       ...



yuanle

  • 精华:0帖
  • 求助:0帖
  • 帖子:9帖 | 10208回
  • 年度积分:2747
  • 历史总积分:48332
  • 注册:2005年4月22日
发表于:2007-12-10 09:21:00
1楼
比較的結果為真時,系統會將RLO置1,而JC是當RLO為1時跳轉,相反,JCN就是當RLO不為1跳轉。如果僅僅是直接跳轉,那么您的程序將會超過系統掃描時間而發生停機狀態,因此建議您采用如下手段:
L MW10
L MW20
==I
JCN Finish


Finish:
     BEU

孤掌难鸣

  • 精华:0帖
  • 求助:0帖
  • 帖子:76帖 | 324回
  • 年度积分:0
  • 历史总积分:704
  • 注册:2007年8月17日
发表于:2007-12-10 09:29:00
2楼
谢谢您的回复,这样写当MW10和MW20相等的时候可以,但它们不等的时候还是没办法再去比较,因为程序会一直往下执行,我在L MW10前面还有内容,如果不等的话我还要这两个基本点进行比较,这样是不是做不到?

yuanle

  • 精华:0帖
  • 求助:0帖
  • 帖子:9帖 | 10208回
  • 年度积分:2747
  • 历史总积分:48332
  • 注册:2005年4月22日
发表于:2007-12-10 09:39:00
3楼
因為不能明白您的意圖,因此也不能做過多的討論了,本身您采取==I也只有兩種狀態,等于或者不等于,那么等于使用JC,不等于就是用JCN舊解決了。

天下第七

  • 精华:0帖
  • 求助:0帖
  • 帖子:3帖 | 173回
  • 年度积分:0
  • 历史总积分:273
  • 注册:2004年8月10日
发表于:2007-12-10 10:01:00
4楼
你这样写是存在隐患的,如果不相等的时间太长会导致出错停机,必须保证这段程序能在执行数次以后退出。

皓月

  • 精华:9帖
  • 求助:0帖
  • 帖子:483帖 | 5271回
  • 年度积分:0
  • 历史总积分:8863
  • 注册:2003年11月09日
发表于:2007-12-10 22:53:00
5楼
楼主的程序确实存在隐患,可能会造成超时停机

liu xianghou

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 195回
  • 年度积分:0
  • 历史总积分:179
  • 注册:2007年8月17日
发表于:2007-12-10 22:57:00
6楼
只要不相等就会死机,只在那个循环里运行又不给MW10和MW20赋值是永远不会跳出循环的

热门招聘
相关主题

官方公众号

智造工程师