回复:子程序调用问题

lightroat

  • 帖子

    327
  • 精华

    5
  • 被关注

    6

论坛等级:侠士

注册时间:2008-08-08

普通 普通 如何晋级?

发布于 2008-09-02 14:00:45

0楼

感谢鼠老爹~

quote:以下是引用墨菲斯托在2007-12-30 14:14:13的发言:
例如在被重复调用的子程序里有上升沿触发的计数器就会造成一个信号多个计数,大概是这样吧,没试过.


难道是这样?有时间亲自试一下。
c0会出现两次计数么,不过从plc的工作机制来讲,不应该啊。是这样么?如果把m0.0用局部变量代替,程序正常么?请鼠老爹指点。

关于子程序,有一些疑问,请鼠老爹和高人指点:
1 帮助文件上说当子程序被调用时,整个逻辑堆栈被保存,堆栈顶端被设为一,所有其他堆栈位置被设为零,控制被传送至调用子程序。当该子程序完成时,堆栈恢复为在调用点时保留的数值,控制返回调用例行程序。
如何理解?既然整个逻辑堆栈被保存,为什么所有其他堆栈位置被设为零?
2 帮助文件中有一个例子
[COLOR=red]
LD I0.0
= L60.0
LD I0.1
= L63.7
LD L60.0
CALL SBR_0 L63.7 VB10 I1.0 &VB100 *AC1 VD200
[/COLOR]
在这里 为什么要用L60.0等位置?L60.0等起什么作用?
二人行,必有吾师。
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-200

共有33257条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。