回复:一个全局变量,在程序运行时,监控发现,它同时又等于3又等于4又等于5,这个怎么可能呢

xinchen

  • 帖子

    230
  • 精华

    1
  • 被关注

    5

论坛等级:侠圣

注册时间:2015-11-05

白金 白金 如何晋级?

发布于 2025-11-04 08:12:31

20楼

展开查看
以下是引用WWCWWC在2025-11-03 11:07:26的发言 >16楼

如果地址没有重复使用,你的问题可能在定时器这里。

我根据你的程序,重新做了一个是正常的。


你定时器背景数据块是如何定义的?


以下是引用xinchen在2025-11-03 09:40:50的发言 >15楼:简化后的 测试程序 ...

引用15楼详细内容:


简化后的 测试程序 及 效果 如上图

当 arrBool[1] = false,int[0] 在 3 4 5 中循环(=5延时后,再赋值成3)

当 arrBool[1] = true,int[0] 随着 tmr0 1 2 依次延时完成后,可以看到 3 4 5 同时成立的现象

以下是引用WWCWWC在2025-11-01 15:26:16的发言 >14楼:实际上类似的问题无...

引用14楼详细内容:

实际上类似的问题无需过多讨论,直接直接仿真一下就知道了的、

以下是引用xinchen在2025-11-01 08:38:03的发言 >11楼:是吗?仔细分析下...

引用11楼详细内容:

是吗?仔细分析下,关键点是两个 定时器同时输出,不是 MB11 的值;


初始化后,置位 MB11 = 3,流程开始,最初 两个定时器输出均为 false;

MB11 =  3 延时完成后的这个周期,t2.Q = true,置位 MB11 = 4,此时 t3 的 IN 由 false  变为 true,但因为延迟 30s,所以 t3.Q 为 false;

此时若截图,可以看到 MB11 = 3 和 4 会同时成立;但两个定时器的 Q 不会同时为 true;


下个扫描周期,MB11 = 4,原先 = 3 的 定时器 t2.IN 改为 false,则 t2.Q 为 false

直到 MB11 = 4 持续 30s 后, t3 的 Q 才为 true,但此时 t2 的 Q 仍应为 false


因此,仅看贴图的程序段,MB11 = 3 和 4 确实有概率同时成立,但 两个定时器的 Q 同时输出可以说几乎不可能;


基于此,可以确认该现象不是监控或者截图问题,大概率是程序逻辑问题,参考 10L 的建议,查下 = 3 的逻辑,应该是在贴图外的程序中 = 3 也成立了


若确实这样的话,再对程序分析,当 =3 延时完成后,mb11=4,t3 开始计时,但在其他程序段 mb11 恢复成 3,再次执行到 NET3 时 t2 .IN 状态依旧为 true,Q 继续输出,置位 Mb11= 4;到 NET4 时 t3 的 IN 也成立,继续计时,直到 t3.Q 输出后,mb11= 5,参照 3 和 4, =5 延时完成后,就能看到 =3 4 5 同时成立




以下是引用WWCWWC在2025-10-31 11:31:14的发言 >7楼:如果程序运行MB...

引用7楼详细内容:

如果程序运行MB11 =3,那么,定时器启动,当接通延时时间到达,move指令将4传送给MB11的那个周期,你说MB11 =3,MB11 =4,有没有这个概率?

我让你测试线圈接通再断开的验证做了没有?有异曲同工的效果,不妨做一下加深理解。

以下是引用xinchen在2025-10-31 08:24:38的发言 >4楼:MB11 同时 显...

引用4楼详细内容:

MB11 同时 显示 为 3 和 4,这个确实有可能

但 基于 MB11 = 3 或 4 做延时的 TON 指令 同时输出,这个就有问题了

以下是引用WWCWWC在2025-10-30 18:05:36的发言 >3楼:网络3,是MB1...

引用3楼详细内容:

网络3,是MB11 = 3时,接通延时5秒后,MB11= 4,你显示正好是那个周期中是状态。

正常的plc扫描机制,没有问题。

注释MB =3和MB11 = 4有概率同时显示为真,但是,不存在MB11 = 3和MB11 = 5同时为真的概率。

理解这个问题是MB 11 = 3后,延时5秒后的那个周期,会有这个同时为真的概率。

建议你这样测试,加深理解:

创建一个简单的测试程序,上一个网络接通一个线圈,下一个网络断开这个线圈,这样做几个网络段的接通和断开,是同一个线圈。这样在个网络段之间,线圈是否有接通和断开的状态?你理解这个,也就理解你那个程序的状态了。方法有多种,我只是随便举例而已。


贴图就是全部程序了,它的“核心”之一在最后一行;

理解 ton 指令 有关 IN/Q 的时序,结合“双线圈”问题,这个现象就能分析了


评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-1200系列

共有15108条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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