C++ 西门子PLC数据监控

📅 2026/6/17 23:13:38
C++ 西门子PLC数据监控
背景与西门子PLC通讯snap7绘图qucustomplot程序UI框架qt6使用visual 2022编译因为qt6的原因只能在win10上运行。使用VxKex神器有时候不灵。场景南山铝业航材生产线主要是西门子300、400的PLC。因此本程序主要测试了NetToPLsim连接模拟。有两台拉伸机设备配备了ibaPDA带的加密狗C#写的很流畅。它与西门子PLC通讯UI界面买的是商业库确实强。当前6.x的版本它是连续采集分析数据需要先确定时间范围选用文件存储则要装载连续的文件。可以使用数据库存储需要增加授权。特点数据库TDengine不错但是开源版只能运行于linuxwin10开了wsl跑docker也可以就是16G内存紧张。所以后来又加了questDB速度确实没有前者快。在win10下把questDB安装成服务通过http://127.0.0.1:9000访问仪表盘。qt6使用高精度定时器采集0.5s PWM波宽度不均匀我看ibaPDA波形也不好。原因应该是win系统不是实时的定时器根本上不准。采用task方式触发数据采集PLC提供DB的交换区但是当前状态程序不修改PLC数据。所以又任务执行日志。可以导入step7/博途的地址簿博途测试过的版本是V13和V16 .博途非常混乱有可能其他版本不正确。可以调用python脚本分析数据因为python库丰富。软件流程简单定义信号-从PLC采集-存储-回放数据。没有实现FFT变换等数据分析。屏幕快照主界面多Y轴共享X轴不会legend分组和legend拖动调顺序改用拖动Y轴调曲线顺序。选了两个时序数据库TDengine保留数据时间可以配置。任务触发是从容克的报告程序学习得来它是炉内不为空时才采集温度可以减少数据库空间占用。信号选择、定义地址簿尚没有搜索地址簿导入问智谱就是手动导出再人工导入。好在glm5.1强大使用nvidia的旅游api熬出来了。任务日志就是一个简单的master/detail表。写在最后opencode 还是很好用的给我这半吊子程序员节省了很多力气。大佬黄仁勋说的对英语专业的学生可能会是最成功的那批人英语专业将血洗计算机文科将成为AI时代的新贵族。当前AI技术发展已实现重大突破底层操作不再依赖复杂代码指令自然语言已成为操控AI的核心方式。本地使用llama.cpp好处是可以向不同的模型去问同一个问题。deepseek的网页版经常应付了事反而glm5要负责任。免费的没法苛求。