恭喜,你发布的帖子
发布于 2026-01-04 14:37:04
2楼
接着又对AI进一步提问:
怎么理解“OB1 跑完后 CPU 主动空等,这段时间把总线带宽让给 PN/IE、MPI、USB-Web、OPC UA 等背景通信任务” 我设置0ms会对PN/IE 或S7通讯带来什么影响吗?
AI回答:
把 CPU 想成“一个人干两份活”:
① 跑 OB1(用户程序)——占“CPU 时间片”;
② 跑通信固件(PN/IE、S7、OPC UA…)——也要占“CPU 时间片”,但优先级比 OB1 低。
最小循环时间 = 0 ms 时,OB1 一旦执行完立刻重新触发自己,CPU 时间片几乎 100 % 被 OB1 占满;通信固件只能靠“OB1 暂时让出”的极短缝隙(微秒级)插空运行。结果:
PN/IE 实时数据(I-Device、IRT、PROFIdrive)
不受影响——它们走 ASIC 硬件时间片,与 CPU 空不空闲无关。
非周期通信(S7 读写、HMI 面板、OPC UA 批量、Web 访问、FTP、SNMP…)
明显变慢甚至超时:
– 用 Wireshark 可看到 S7 读 4 kB 数据,正常 20 ms 回来,现在 200 ms+;
– HMI 切换画面“转圈”;
– TIA 在线监控经常报“80C8:通信资源临时不足”。
大块数据传输(配方、日志、固件升级)
会因“缝隙”太小被拆成无数小片,吞吐率降到原来的 1/10~1/20,看起来就像“卡死”。
请填写推广理由:
分享
只看
楼主