技术论坛

子程序调用遇到的问题

作者 主题
侠士

经验值: 1064
发帖数: 81
精华帖: 0
主题:【探讨】子程序调用遇到的问题


只看楼主 楼主 2021-09-08 16:00:53


编了个功能块,单个调用时输出正常,调用多个功能块时,输出点位就不停的变化,是怎么回事?


 
以下网友喜欢您的帖子:

  
重要声明:

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

帖子链接:https://www.ad.siemens.com.cn/club/bbs/post.aspx?a_id=1714727&b_id=64&s_id=0&num=11

至圣

经验值: 24344
发帖数: 4846
精华帖: 6
回复:子程序调用遇到的问题


只看楼主 1楼 2021-09-08 16:07:15
十之八九OuT需用inout之故。
谨慎低调
以下网友喜欢您的帖子:

  
至圣

经验值: 24344
发帖数: 4846
精华帖: 6
回复:子程序调用遇到的问题


只看楼主 2楼 2021-09-08 16:08:21
不妨贴个内部罗辑图。
谨慎低调
以下网友喜欢您的帖子:

  
侠士

经验值: 1064
发帖数: 81
精华帖: 0
回复:子程序调用遇到的问题


只看楼主 楼主 3楼 2021-09-08 16:17:56

内部程序是这样



 
以下网友喜欢您的帖子:

  
至圣

经验值: 67523
发帖数: 14779
精华帖: 100
回复:子程序调用遇到的问题


只看楼主 4楼 2021-09-08 16:52:40

这个话题问过的人不下100个。最好是搜搜以前相同问题的贴,我的贴。

这事情我都不知道怎么说好,反复说100次了。官方又没有好的资料介绍L的用法。

多次调用的子程序不能用边缘指令。用功能指令set reset的时候能流off的话输出是保持的,到底保持了个什么也就是不确定的。temp变量out变量的线圈一定要出现在触点之前(你必须非常清楚什么叫前面什么叫后面。)

如果你是第一次使用,而且又是赶紧要上马的,你大多数是最终放弃使用的。因为学习这个很难理解的。也无法入手了解。慢慢看以前的贴得到一些体会吧。

反正你全部当做双线圈用就可以了。


 
以下网友喜欢您的帖子:

  
至圣

经验值: 12705
发帖数: 1584
精华帖: 1
回复:子程序调用遇到的问题


只看楼主 5楼 2021-09-08 17:59:31

建立多次调用的子程序需要注意的事项:

1、不能用上升沿、下降沿、定时器、计数器

2、IN类型变量只能读不能写、OUT变量不能读只能写、IN_OUT变量可读可写(大家都喜欢)、TEMP变量需要先写后用。


我就知道这么多了。


努力学习西门子
以下网友喜欢您的帖子:

  
版主

经验值: 25989
发帖数: 11808
精华帖: 43
回复:子程序调用遇到的问题


只看楼主 6楼 2021-09-08 22:23:16

凡是计算机编程,局部(临时)变量,使用的规则是一样的。

并不是S7200的规则特别。而是,编译程序不帮你做检查。

其它计算编程语言,有各种级别的警告,比如变量赋值后不用会警告,没赋值直接用也会警告。


 
以下网友喜欢您的帖子:

  
游侠

经验值: 365
发帖数: 65
精华帖: 0
回复:子程序调用遇到的问题


只看楼主 7楼 2021-09-09 11:24:07

L寄存器使用先赋值然后用,检测延使用要小心,反正别的子程序用到了同样的L区,延就不准了我是栽了很多跟头。退一万步讲,系统内的v存储这么大。功能块全部用V存储,做成库随便分配一个V存储,保证不会错。现在编程都没有考虑过L存储,就当它没有。


 
以下网友喜欢您的帖子:

  
奇侠

经验值: 5102
发帖数: 520
精华帖: 7
回复:子程序调用遇到的问题


只看楼主 8楼 2021-09-09 16:30:53

说白了就是同一调用级别的子程序共用一个L区


认真做事,低调做人
以下网友喜欢您的帖子:

  
版主

经验值: 25989
发帖数: 11808
精华帖: 43
回复:子程序调用遇到的问题


只看楼主 9楼 2021-09-09 23:04:01

“调用级别的子程序共用一个L区”是个可遇不可求的特例,不宜当原理来理解。


 
以下网友喜欢您的帖子:

  
游民

经验值: 62
发帖数: 3
精华帖: 0
回复:子程序调用遇到的问题


只看楼主 10楼 2021-09-10 10:45:56

将开(L3.0)、关(L3.1)从变量表里面的OUT变量类型改成IN-OUT试试,应该能行


 
以下网友喜欢您的帖子:

  
侠客

经验值: 863
发帖数: 120
精华帖: 0
回复:子程序调用遇到的问题


只看楼主 11楼 2021-09-10 14:42:32

OUT 改 IN-OUT 完美解决。


 
以下网友喜欢您的帖子:

  
  • 上一页
  • 1
  • 下一页
收起
子程序调用遇到的问题
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。