恭喜,你发布的帖子
发布于 2025-05-26 06:58:41
5楼
终于弄明白了问题的本质。造成这个问题的原因主要有2点:
- 创建工程时,要注意当前CPU的固件版本
- 应该将V2.8版本的PLC程序编辑器打补丁
在上面的帖子中,我想通过新建一个工程,利用PID向导,来验证学习PID控制算法,但是此时没有注意到项目树中CPU固件版本的设置。
如下图所示,双击项目树中的CPU选项,会弹出“系统块”对话框。
图1. 系统块对话框
如上图所示,在我的计算机上,如果“系统块”中CPU型号选择“ST20 DC/DC/DC”,那么默认的固件版本为“V02.06.00_00.00.05.00”,在这种情况下,如果使用PID向导生成程序,在PID向导设置的第3步“参数”选项卡中,显示的内容如下图所示
图2. PID回路向导对话框
而如果在“系统块”对话框中调整CPU的固件版本为“V02.08.00_xx”(应该就是通常所说的V2.8版本)。
图3. 修改CPU固件版本
则PID向导的***步界面如下图所示(由8个PID回路扩充为16路PID回路)
图4. PID回路向导(扩充了回路数量)
PID向导的第3步如下图所示
图5. PID回路向导(不激活PID选项)
可见图1和图5有比较明显的差别。其中有一个“不激活PID”单选按钮。
在学习PID控制算法时,我首先选择了CPU ST30型号,在用PID向导时,我勾选了“不激活PID”选项。之后,又手动修改了CPU的型号为ST20。然后在研究学习中,反复修改了PID向导中的设置。
但是,由于修改了CPU型号为ST20(并且默认的固件版本为V2.6)导致在后面的使用中,不再出现V2.8固件版本的对话框(ST30的默认固件版本为V2.8),再加上不熟悉PID向导,彻底忘记了“不激活PID”这个选项。因此,无论自己怎么编写修改调用PID子程序,当前的PID都处于“不激活状态”,所以自然PID是没有输出的。
但这还不算完,如果之前的学习研究顺利,我可能会单击“PID 整定控制面板”,对PID参数进行整定。但这里面还有另一个“坑”。我的PLC程序编辑器的版本为
图6. 编辑器版本
但这个版本在进入2025年1月1日后,据说产生了一个BUG——时间戳问题(详见文后参考[1],[2],[3])。
这个BUG会导致在启动系统监控时,产生所谓的“时间戳问题”,如下图所示。
图7. 时间戳不匹配
在这篇CSDN(文后参考[1])中说明,这确实是一个BUG。
图8. 软件BUG
现如今,西门子官网已经给出了修复补丁(文后参考[3]),如下图所示
图9. 补丁下载
对于我这次实验来说,如果不对“时间戳”问题进行修复,当点击“PID整定控制面板”按钮时
图10. PID整定控制面板按钮
会弹出“CPU中的程序与打开的项目不相符,必须下载打开的项目或者从CPU中上传程序”(很遗憾,我没有截图,后续我装了补丁后,这个问题不再弹出了)。
而如果安装了补丁,这个警告对话框就不会弹出了。会弹出“PID整定控制面板”,如下图所示
图11. PID整定控制面板
注意其中的“PID控制器:未激活”状态。如果在图5中,勾选了“不激活”选项,则此处需要点击“激活PID输出”,才能真正进行PID算法计算。这也是我的PID控制算法为什么输出为0的原因。
点击“激活PID输出”选项后,可以看到PID算法有输出了,本帖的提问也就顺利解决了。
参考
[1]. [200smart监控时时间戳不匹配问题_西门子200时间戳记不匹配-CSDN博客](https://blog.csdn.net/Mr_Zhang_PLC/article/details/145508458)
[2]. [2025新BUG时间戳不匹配西门子200smart编程软件下载后每次监控程序状态提示_哔哩哔哩_bilibili](https://www.bilibili.com/video/BV1JKKLe2EsZ/?vd_source=b29b0c704c969bdbefc0ee7a01d52e54)
[3]. [S7-200 - 产品模板页](https://w2.siemens.com.cn/smart/Product/S7)
[4]. [S7-200 SMART PID](https://www.ad.siemens.com.cn/productportal/prods/s7-200-smart-portal/200smarttop/smartsms/014.html)
请填写推广理由:
分享
只看
楼主