电工学习网

 找回密码
 立即注册
查看: 1344|回复: 0
打印 上一主题 下一主题

糟心的西门子PLC项目经历

[复制链接]
跳转到指定楼层
楼主
发表于 2021-11-1 11:37:23 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
配置:西门子1215(先选的1214,后来因为工作存储器的关系换了)和16个MODBUS称重仪表,每个称重仪表的通讯量在200个字节左右,并且不是连续地址。
前言:这个项目的电气选型是公司领导(机械设计)做的,我接到工作任务的时候,也跟领导详细说了他的选型所带来的弊端,但是因为业内有竞争对手使用的是这款仪表,领导认为别人能用我们也能用,所以根本劝说不动。
首先16个MODBUS从站带来的滞后性的问题根本无法解决,并且通讯干扰始终是存在隐患的。最开始的时候领导从成本角度就PASS掉了最优方案,用支持PN通讯的称重仪表,每个仪表就要加1000元,但是成本领导接受不了。如果折中方案用西门子1500来挂多个MODBUS主站模块可能会改善滞后性的问题,但是1500的成本还没有直接换PN仪表来的痛快。
编程第一个坑:称重仪表的双字整数与西门子的高低字节是反的,所以读取写入都要经过转换,因为没有现成的指令(SWAP指令交换的是字节,不是字),所以我自己编写了功能块来转换,但是16个仪表的通讯量过于大,导致功能块要被调用200多次(建议这个量级,大家用循环来做,这种项目用梯形图绝对搞不定的),当时我的第一反应就是,plc极有可能性能和存储都不行。但是因为前期与领导沟通的并不愉快,我只是提了一句,说这个系列的PLC很可能不行,因为我知道就算我说绝对不行,PLC也不可能换的。
编程第二个坑:其实这个不算坑,应为已经预料到,并且是不能绕过的。16个MODBUS称重仪表,每个称重仪表的通讯量在200个字节,并且不是连续地址,直接用轮询指令简单粗暴的一次性读写,是绝对不可能的了,只能划分区域,尽量将实时读取的数据压缩到最小,类似参数、控制用的字节,只在某些特定情况完成读写。其实我应该感谢西门子,感谢博图,博图对数组、结构体、variant指针的支持,使程序量极大的简化,要不然真能干一个项目少活一年。
编程第三个坑:配方我全部放在PLC里完成的,因为配方数据量巨大,所以保持性存储器被填满了,只能由原来的6个配方改为3个,不够也没办法了(与客户要求可能已经不满足了)。配方也没有办法放在屏里,因为,配方包含了很多数组和指针的逻辑功能,KTP系列的屏完成不了。
调试第四个坑:滞后性!虽然已经尽自己最大努力优化了MODBUS程序,可是16个仪表的延时还是在8秒以上(1200虽然可以挂3个主站模块,1个扩展板,将从站分别处理,可是相应的逻辑程序会增加,因为当时1214的工作存储器已经接近极限了),与实时性有关的功能都变成了鸡肋。
调试第五个坑:调试过程因为要更改功能,发现1214的工作存储器不够了,调整成了1215。
调试第六个坑:换成1215之后发现有个光电检测出了问题,当物体移动过快,光电就检测不到了,我测试了一下,只有一段检测程序运行的时候是可以的,所以程序体量太大会导致“反应慢”的问题。(中断和:P都不行,我已经考虑过了)。领导也是个机灵鬼,让我单独挂一个PLC执行检测功能,我呵呵。
总结一,对于几十万的设备,省下一两万的成本,搭进去更多售后成本,丢掉客户体验,甚至影响公司口碑,得不偿失。
总结二,我有多数技术人员的通病,我只关心设备最后的结果好坏,很少关心人情世故,我要和我的领导道个歉,“让你难堪了”。

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

电工学习网 ( )

GMT+8, 2024-4-27 20:22

Powered by © 2011-2022 www.diangon.com 版权所有 免责声明 不良信息举报

技术驱动未来! 电工学习网—专业电工基础知识电工技术学习网站。

栏目导航: 工控家园 | 三菱plc | 西门子plc | 欧姆龙plc | plc视频教程

快速回复 返回顶部 返回列表