回复:两个空子程序实现的功能

芳季

西门子1847工业学习平台

  • 帖子

    15787
  • 精华

    102
  • 被关注

    985

论坛等级:至圣

注册时间:2007-08-03

钻石 钻石 如何晋级?

发布于 2026-02-06 08:11:43

60楼

展开查看
以下是引用阳春节拍在2026-02-05 18:24:55的发言 >59楼

in和inout都会在调用时初始化为参数值;参数与L区的对应关系,L区是从低往高用的,比如LB0基本每次调用都会被改变(没有in或inout时系统才不去改变);另LB60以上也是系统使用区,会做为位驱动的状态位(没有位驱动时【类似EN】也不会被系统改变);

最重要的是L区的共用,是存在于所有同级调用中。也就是说main程序专用一层L区(等同M区);main调用的所有子程序,共用一层L区;所有子程序调用的所有孙程序共用同一层L区。。。中断程序也有自己专用的四层L区。

L区,系统专用于程序间数据传递。

个人觉得L区缺点很多,不要说额外用来传递参数值,就是这个系统功能都不建议用(无参数子程序效率更高,当然程序类似数学函数时可读性更高),也就是说完全不建议使用L区,指针或者UDT才是王道。

以下是引用WWCWWC在2026-02-05 16:49:28的发言 >58楼:我测试了。  如果连...

引用58楼详细内容:

我测试了。

  如果连续创建2个输入空子程序,然后调用,关联的是与输出最近网络段的那个。

  如果输出改为IN_OUT就没有了关联。



以下是引用芳季在2026-02-05 15:48:43的发言 >57楼:楼上。问题不可以这...

引用57楼详细内容:

楼上。问题不可以这样反问。不可以这样类比的。也不可以无限延伸的。

你做程序,我瞪眼法,得到的结果跟上机测试可以一致。(就做类似楼主这样的仅仅为了说明问题的简单程序)

来,试试。现在放假了。我手上没有plc的,试过你就信。

很难理解你的观点哦。

评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-200 SMART

共有9389条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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