您现在所在的是:

西门子SIEMENS

回帖:3个,阅读:342 [上一页] [1] [下一页]
853
菜鸟丶
文章数:61
年度积分:59
历史总积分:853
注册时间:2017/12/23
发站内信
发表于:2023/8/25 19:42:55
#0楼
长定时子程序调用完怎么不能清零呢

子程序每次执行完,不能把内部变量清零,

请大佬帮分析一下表情表情

附件为原程序
附件 0a1.jpg

附件 0a2.jpg



853
菜鸟丶
文章数:61
年度积分:59
历史总积分:853
注册时间:2017/12/23
发站内信
发表于:2023/8/25 19:44:36
#1楼
附件:
[本地下载]
-1537
收西门子PLC
文章数:-1
年度积分:-1537
历史总积分:-1537
注册时间:2023/9/14
发站内信
发表于:2023/9/18 15:56:25
#2楼
此楼内容不符合板块规定,不予显示! 查看原帖内容>>
1771
甫哥 版主
文章数:230
年度积分:67
历史总积分:1771
注册时间:2015/4/8
发站内信
发表于:2023/11/27 15:24:06
#3楼
A)主程序段2中的:【VD0 为小时,VD4 为分钟】以及段6中的【VD16 为小时,VD20 为分钟】是不是设定时间?【VD12为显示秒数】,【VD28为显示秒数】则为剩余时间?
 如果是设定时间:乘法运算转为秒的积,就不能再用VD0、VD4(VD16、VD20)了,由于这两个【积】是数学运算的中间值,即:计算过程的临时变量,可以用AC或LD;
B)Time0820(SBR1)是:可以重复调用的带参数子程序。
1、内秒、内分、内时,为当前计时值吧?数据的 变量类型不能用TEMP,应采用IN_OUT 变量类型,并在掉电保持的V区分配相应地址;子程序调用时:先将保存在V区的历史数据读入子程序,子程序执行结束后,再将新值传送出来保存。多次调用时,每个调用均有其当前计时数据值的专用保存地址(V区),不相互影响。
2、Time0820(SBR1)的输入脚【条件】是用于【复位】当前计时值的 内时、内分、内秒的吧?
 其实,没必要复位 内分转秒、内时转秒、内时分转秒和、内总秒和。只需将程序段2的计算条件,由【启动】改为SM0.0即可。
3)Time0820(SBR1)子程序中,不要使用沿指令。可重复多次调用的子程序中,不要使用沿指令。可在主程序中增加一个程序段,用沿指令获得秒脉冲,在子程序中直接使用该秒脉冲(如:M31.0)即可。
如M31.0为秒脉冲:
LD     SM0.5
EU
=      M31.0

关于我们 | 联系我们 | 广告服务 | 本站动态 | 友情链接 | 法律声明 | 非法和不良信息举报

工控网客服热线:0755-86369299
版权所有 工控网 Copyright©2024 Gkong.com, All Rights Reserved

46.8003