欢迎来到西门子工业支持中心网站!
欢迎来到西门子工业支持中心网站!
悬赏:15分 | 解决时间:2013-08-27 21:03
产品版区:
SIMATIC S7-300(F)/S7-400(F/H/FH)
小.苹.果
小.苹.果 - 助理工程师  第8级
程序如下,仿真的时候,运行了大概2秒钟CPU就STOP了。就运行了这一段程序,没有其他的。
OPN DB 20
L P#DBX 0.0
T MD 100
L 6
next: T MW 0
LAR1 MD 100
L MD 100
L P#4.0
+D
LAR2
A(
L D [AR1,P#0.0]
L D [AR2,P#0.0]
<D
)
JCN _000
TAR1
T MD 100
JU _002
_002: L MW 0
LOOP next
LAR1 MD 100
L D [AR1,P#0.0]
T MD 104
_000: TAR2
T MD 100
JU _002
另外,我想问一下,跳转标号后面相当于是一段子程序,平时是不执行的。但是,判断有两个结果,判断结果为真,我想执行一个标号后面的程序,判断结果为假,我也要执行另一个标号后面的程序。但是关键的是,判断完了之后我还要继续执行其他的,但是又不能写在标号程序与跳转的地方。一般,除了LOOP外 标号程序是不是放在程序段的最后啊,为什么?
就是如上面的代码所示,我的_002是想放在那个判断之后要一直执行的,但是判断的地方又要用跳转,不知道该怎么写,才能互不影响。
小程序:
最佳答案
L 5
next: T MW 0
L D [AR1,P#4.0]
L MD 104
<D
JCN _000
L D [AR1,P#4.0]
T MD 104
_000: +AR1 P#4.0
L MW 0
LOOP next
回答者:
zengzy
回答时间:2013-08-27 13:59
提问者对于答案的评价:
谢谢,看来你的STL语言用的很好啊,像你学习,我也正在学习STL中!加油!!!
最佳答案作者回复:
慢慢来,建议你学习使用仿真程序PLCSIM,直接在电脑上测试程序,这样就方便多了。