登录
首页 PLC论坛 西门子SIEMENS
回帖 发帖
正文

主题:S7-300中循环程序编写求助???

点击:6426 回复:13

在S7-300中如何编写循环程序???1、
附件
附件
在这个程序段中,此程序可以进行循环,但是造成了程序的死循环,程序只在这里循环了,跳不出这段循环程序,最终导致CPU SF报错。
2、
附件
上段程序,通过主程序的调用,按照理论来说应该是可以循环的,但是我的程序为什么地址里的数据不发生变化?请指教在S7-300中如何编写循环程序?
如何将C语言中的循环嵌套程序,编写成S7-300中的梯形图,我自己编写了一个,老是出现死循环的现象,SF报错!
13-02-17 11:34
你用的是OB?
是专用的循环指令吗?
13-02-17 11:40
不是专用的指令。就是在FC里面写的程序,在OB1中调用。
13-02-17 13:43
程序1中因为出现了死循环,导致FC无法返回到OB中,从而引发看门狗超时,导致SF问题。
程序2中循环已经进行,但是由于Network1中的MOV指令,导致MW80在每次执行FC的时候被重新赋值,从而你人为的认为程序没有循环。
Good Luck~
13-02-17 14:01
在第二个程序中,我监控的时候,为什么地址当中的值是不变化的呢?
13-02-17 15:10
应该是LOOO的循环中MW80记满50时才跳出FC,执行其他的程序,直到下一次扫描时,才应该再将1 MOV到MW80里面吧?
13-02-17 15:15

引用 phcheng2008 在 2013/2/17 15:15:56 发言【内容省略】

确保你的主程序调用时如以下贴图中显示的有边沿检测指令。
附件
FC1中的程序如下显示,与你的贴图是一致的:
附件
附件
上述测试证实了你的程序段2的程序中的循环是被执行的。
Good Luck~
13-02-17 15:37
但是为什么我在监控的时候,看不到MW80中数据的变化,难道是因为数据变化的太快?
请教有没有做过内嵌套的循环程序,可否给提供一下思路,不胜感激!
13-02-17 16:02

引用 phcheng2008 在 2013/2/17 16:02:46 发言【内容省略】

嵌套的循环程序只不过循环的次数多一点而已。
Good Luck~
13-02-17 16:34
这个支持下,挺有氛围的!
13-02-17 18:13

上一页下一页

工控新闻

更多新闻资讯