首页
学习
活动
专区
圈层
工具
发布

PLC最难的不是写程序,而是组态和通讯。等你做完一整套项目才发现,编程才是最简单的

引言

很多刚接触PLC的朋友都以为写程序是最难的部分,真正上手做完一整套项目才会明白,组态配置和通讯调试才是最耗精力的环节。

等你把所有前期准备工作都捋顺落地之后就会发现,反而是写逻辑程序这件事,成了整个流程里最简单的一环。

今天,我们就来扒一扒,为什么说编程只是PLC工程师的“基本功”,而组态和通讯才是真正的“渡劫”。

一、编程的错觉:那只是最后一步的“搭积木”

为什么说编程最简单?因为编程的逻辑是线性的、确定的。

举个例子:你要控制一台电机启动停止。程序怎么写?一个启动按钮常开触点,一个停止按钮常闭触点,加上一个接触器的自保触点,线圈输出。只要你的控制逻辑没有死循环,只要语法不出错,程序就能跑起来。

当硬件都已经连通,数据都能准确读取时,编程就像是搭积木。“传感器亮了,电机就转;液位到了,阀门就关。”这种因果关系的建立,对任何一个有逻辑思维的人来说,只要熟悉了指令集,不过是时间问题。

真正的难点,在于让这些信号能够“传”到PLC里,让PLC“认识”外部的硬件。

二、第一座大山:硬件组态——“对不起,我不认识你”

硬件组态,简单来说就是告诉PLC:“你是个什么型号,你肚子里插了哪些模块,你的底层参数是多少”。

很多新手以为,模块插在导轨上,线接好,PLC就能用了。大错特错!

举个真实的“翻车”例子:

现场控制柜加入了一个新的温度采集模块(RTD),工程师满心欢喜地写好了读取温度的程序,一下载,发现数值一直是0。

他检查了半天接线,没问题;检查了程序,没问题。最后发现,在博途(TIA Portal)的硬件组态里,他根本没有添加这个模块!PLC看着这个插在背板上的陌生家伙,心里想的是:“这玩意儿谁啊?我没见过,我不会理它的。”

更让人抓狂的是“版本匹配”问题。

组态时选了V4.0的固件版本,但实际买来的模块是V4.2的;或者组态里选了某个第三方网关,但设备描述文件(GSD)没装对。这些组态上的微小差异,都会导致PLC直接亮红灯报错。

组态,就是建立PLC与物理硬件之间的“虚拟映射”。这一步没做好,你的程序写得再天花乱坠,也不过是空中楼阁。

三、第二座大山:通讯协议——“你说什么,我听不懂”

如果说组态是让PLC认识自己的“四肢”,那么通讯就是让PLC学会和“外界”交流。这也是整个自动化行业最让人头秃的环节。

工业通讯协议五花八门:Modbus RTU、Modbus TCP、Profinet、EtherCAT、CANopen等,每一个都有自己的一套脾气。

通讯翻车案例:变频器的Modbus通讯

工程师需要用PLC通过RS485控制一台变频器。手册上写着变频器的频率给定地址是40001。

工程师在PLC里读取40001,结果变频器纹丝不动,PLC报通讯超时错误。

排查了几个小时,最后发现了三个坑:

接线坑

:RS485的A和B线接反了(有些厂家A+,有些厂家A-,全凭运气)。

参数坑

:变频器的通讯波特率设成了9600,奇偶校验设成了None,但PLC里设的是8-N-1。

地址坑

:Modbus地址存在“偏移”。有些设备手册写的是从0开始,有些写的是从1开始。实际要读写的寄存器,可能要加上一个偏移量变成40002。

如果是Profinet通讯,那更是噩梦。IP地址冲突、子网掩码不对、设备名称(Profinet Device Name)没有分配或者有空格……只要一个标点符号不对,整个网络就会瘫痪,通讯指示灯死活不闪绿光。

在通讯面前,所有的工程师都是卑微的。只要数据传不过来,你连调试程序的机会都没有。

四、顿悟时刻:准备工作做完了,编程如鱼得水

一个资深的PLC工程师是怎么做项目的?

他到了现场,第一件事绝对不是打开电脑写梯形图。而是拿着万用表检查接线,打开软件配置硬件组态,然后花费大量时间盯着电脑屏幕,一个字节一个字节地去抓包、去测试通讯。

当你终于把硬件的红灯变成了绿灯;

当你终于看到变频器的实际频率稳稳地传到了PLC的MD100寄存器里;

当你终于把各种传感器的数据干干净净地映射到了DB块中……

这时候,你长舒一口气,点开主程序块(OB1)。你会发现,之前觉得复杂的控制逻辑,现在写起来如丝般顺滑。因为你知道,只要你在程序里给一个M0.0置位,现场的电机就一定会转;只要你在程序里改一个数值,变频器就一定会响应。

原来,70%的精力都在铺路(组态和通讯),而编程,只是在已经修好的高速公路上开车而已。

五、结语

在自动化这个行当里,写程序决定了一个项目的“上限”,而组态和通讯决定了一个项目的“下限”。

组态涉及硬件选型、连接和参数配置,稍有疏漏会导致系统无法运行;通讯涉及多协议对接且场景不可预知;而程序本身只是逻辑顺序控制,结构相对简单。

PLC经典案例与源程序

  • 发表于:
  • 原文链接https://page.om.qq.com/page/Oer9zU2gwyMrnz0StasZgmsg0
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。
领券