quote:以下是引用downhappy在2012-04-11 04:56:54的发言:
子程序中,有那些程序用的命令不可以采用?
我做了好多子程序,有些子程序反复调用没有任何问题,但是有一个子程序,在调用时,
只有每次每个循环里面第一个调用该子程序的命令起作用,而第二次调用则完全无效。
如果把这个子程序再重新复制一下,也是一个子程序,里面内容完全不一样,仅仅子程序号不同,
则两个调用都正常。
是否是因为子程序中用到了EU命令?用到R或S应该没有问题吧。
LD #START:L0.0
AW>= #TempPV:LW1, #StopAgTemp:LW7
EU
S L19.0, 1
R L19.1, 1
S L19.2, 1
LD #START:L0.0
AW< #TempPV:LW1, #StopAgTemp:LW7
LPS
AN L19.5
EU
S L19.1, 1
LPP
A L19.5
S L19.6, 1
R L19.4, 1
R L19.0, 1
R L19.2, 1
没弄明白楼主到底是什么意思,是每个扫描周期,还是有循环命令?!
系统手册如是说:
当发生中断或者调用一个子程序时,需要分配局部存储器。新的局部存储器地址可能会覆盖另一个子程序或中断程序的局部存储器地址。
当子程序在
同一个周期内被多次调用时,不能使用上升沿、下降沿、定时器和计数器指令。