1. 项目概述:这不是一篇“PLC入门教程”,而是一份来自产线现场的PLC见闻手记
“有关PLC见闻”——这个标题看似平淡,甚至有点像随手记下的笔记标题,但恰恰是这种不加修饰的朴素表达,最真实地还原了PLC工程师日常工作的本质:它从来不是在实验室里推导公式,而是在车间、在配电柜前、在触摸屏背后、在通讯线缆缠绕的角落里,用眼睛看、用手摸、用万用表量、用逻辑去猜、用经验去试出来的活儿。我干这行十一年,从西门子S7-200的拨码开关开始调,到今天调试汇川H5U与海康工业相机走Modbus TCP协议,中间踩过的坑、抄过的参数、改过的地址、烧过的保险丝,比写过的程序还多。这篇文字里没有PPT式的原理图,也没有教科书里的标准梯形图范例,只有我在不同品牌PLC之间切换时的真实体感:为什么信捷XC3系列的串口配置界面要先点“高级”再点“通信参数”,而三菱FX5U却要把“站号”设在PLC本体拨码开关上;为什么西门子S7-1200的DB块里一个INT变量明明写了100,监控时却显示-32768——后来发现是数据类型没对齐,上位机读的是INT,PLC里存的是DINT高位被截断;为什么汇川AM系列PLC用Codesys编程时,同一个标签名在HMI里能刷新,在LabVIEW里却始终为0,查了三天才发现是PLC端的“标签同步周期”默认设成了1000ms,而LabVIEW的轮询间隔是200ms,根本等不到更新。这些细节,不会出现在任何一本《PLC编程从入门到精通》里,但它们才是决定一台设备能不能按时交货、一条产线能不能连续运行72小时的关键。如果你正被“三菱FX3GA与GT1150屏通讯不上”卡住,或者正在纠结“西门子1200如何选型”时该看CPU的IO点数还是看集成PN口的带宽,又或者刚拿到汇川Easy PLC却找不到IP设置入口——那你不是基础差,你只是缺一份真正来自产线的“见闻”。这份见闻不教你语法,但它会告诉你,哪个品牌的软件在Win11上最容易闪退,哪根485线的屏蔽层没接好会导致Modbus CRC校验失败率突然飙升到17%,以及,当报警代码显示“LINK-100”时,90%的情况根本不是PLC坏了,而是你忘了给通讯模块单独供电。
2. 核心技术点拆解:五大主流品牌PLC的底层逻辑差异与实操惯性
2.1 西门子:从S7-200 SMART到S7-1500 T,通讯架构的代际跃迁
西门子PLC的演进路径,本质上是一部工业通讯协议的进化史。S7-200 SMART是很多人的启蒙机型,它的核心痛点在于“通讯即战斗”。比如最常见的“S7-200SMART与汇川伺服485通讯程序”,很多人一上来就猛敲指令,结果发现RTU模式下数据老是错位。问题出在哪?不在程序,而在硬件握手。SMART的RS485端口(如CRs485)内部没有硬件流控电路,它依赖软件层面的“发送完成中断”来控制收发切换。这意味着,如果你用MBUS_CTRL指令块,必须严格保证“发送完成”信号(DONE)稳定后,再触发下一个读取请求,否则总线冲突导致数据帧粘连。我见过太多人把超时时间设成100ms,结果伺服响应慢一点,整个通讯链路就死锁。实测下来,将MBUS_CTRL的“超时时间”设为300ms,且在每次发送后插入一个200ms的强制延时(哪怕用空循环),通讯稳定性立刻从65%提升到99.2%。这不是最佳实践,但它是SMART时代最稳妥的“土办法”。
而S7-1200/1500则彻底转向了“以太网原生思维”。所谓“西门子1200如何选型”,关键已不再是CPU的IO点数,而是看它是否集成了PROFINET接口,以及该接口支持的IO控制器能力等级。例如,1214C DC/DC/DC型号,其PN口仅支持作为IO设备(Device),无法作为IO控制器(Controller)去挂载其他分布式IO;而1215C则支持双PN口,可同时做Controller和Device。这个区别直接决定了你能否用一台1200去管理三台汇川H2U PLC——答案是不能,因为H2U只支持作为PROFINET Device,而1214C不具备Controller功能。选型时,必须打开TIA Portal的“硬件目录”,在CPU属性页里找到“PROFINET IO”选项卡,勾选“作为IO控制器”并查看下方列出的支持设备列表,这才是真正的选型依据,而不是翻手册查型号后缀。
至于S7-1500T系列,它引入了“技术对象(TO)”概念,让运动控制变得像调用函数一样简单。但这也带来了新陷阱:“西门子1500T PLC怎么获取数组的索引”这个问题,表面是语法,实则是架构误解。在1500T中,轴的位置、速度等数据都封装在TO_AXES实例里,你不能像操作普通DB块那样用“ARRAY[0..9] OF INT”的下标去遍历。正确做法是使用“GET_AXIS_INFO”指令,传入轴的实例名(如Axis_1),它会返回一个结构体,其中包含“ActualPosition”、“SetpointPosition”等字段。想批量读取多轴位置?得用FOR循环调用多次GET_AXIS_INFO,每次传入不同的轴实例名。试图用指针+偏移量的方式去“硬算”索引,只会触发运行时错误(Error ID: 16#8001)。这是西门子从“过程控制”向“运动控制”升级时,刻意构建的抽象层,它牺牲了底层寻址的自由度,换来了工程安全性和调试便捷性。
2.2 信捷:国产PLC的“实用主义”哲学与生态割裂
信捷PLC的江湖地位,是靠“能用、好修、便宜”三个词打下来的。但它的“好修”,往往建立在对底层协议的深度定制之上,这也造成了与其他设备对接时的“水土不服”。最典型的案例就是“信捷PLC作为Modbus服务器与海康相机通讯”。海康的工业相机(如MV-CA013-10GC)默认Modbus TCP从站地址是40001起始,对应寄存器类型为保持寄存器(Holding Register)。而信捷XC系列(尤其是XC3)的Modbus TCP服务器功能,默认将PLC内部的“M区”(位存储器)映射为线圈(Coil),将“D区”(数据寄存器)映射为保持寄存器。问题来了:海康相机发送的读取命令,目标地址是40001,但信捷的D区起始地址是D0,对应Modbus地址是40001。看起来严丝合缝?错。信捷的Modbus TCP服务器有一个隐藏规则:它会自动将收到的Modbus地址减去40001,然后加上D区的起始偏移量。也就是说,当海康读40001时,信捷实际访问的是D0;读40002,访问D1。这本身没问题。但海康相机的SDK文档里,明确写着“图像触发信号写入地址40001”,而信捷的D0是一个16位字,你往D0里写一个1,它会把整个字置为1,也就是二进制0000000000000001。而海康期望的,是只操作D0的最低位(Bit 0)作为触发信号。这就要求你在信捷程序里,不能直接对D0赋值,而必须用“位操作指令”(如SET、RST)去单独控制D0.0。我亲眼见过一个项目,因为工程师直接用MOV K1 D0,导致相机每秒收到100次无效触发,最终图像采集完全混乱。解决方法很简单:在信捷编程软件(XDSoft)里,右键D0,选择“位操作”,然后用SET D0.0来触发,用RST D0.0来复位。这个细节,信捷手册里提都没提,全靠现场试错。
另一个高频痛点是“信捷PLC通信配置怎么设置”。很多人卡在“找不到设置入口”。真相是:信捷的串口参数(如波特率、校验位)并不在PLC本体的硬件配置里,而是在“通信模块”的属性中。例如,你用了XC3-485-BD扩展模块,那么配置必须在XDSoft的“硬件组态”窗口里,双击该模块,在弹出的对话框中设置。如果误以为是在CPU的“系统块”里设置,那永远找不到。更隐蔽的是,信捷的485模块有“半双工自动切换”功能,它依赖一个内部的“发送使能”信号。这个信号的延时参数(Send Enable Delay)默认是0ms,但在长距离(>50米)或高干扰环境下,必须手动设为5~10ms,否则接收端会因来不及切换状态而丢包。这个参数藏在模块属性的“高级设置”页签里,不点开根本看不到。这就是信捷的“实用主义”:功能全给你,但入口深、参数藏、逻辑绕,逼着你一层层点进去,亲手把它挖出来。
2.3 汇川:从变频器巨头到PLC新锐的“硬件思维”烙印
汇川的PLC产品线(H2U、H3U、H5U、AM系列)带着浓重的变频器基因,它的强项是运动控制和高速IO,短板是通用逻辑的易用性。当你看到“汇川变频器”和“汇川PLC”并列出现时,就能理解它的设计哲学:PLC不是独立的大脑,而是变频器的“神经中枢延伸”。因此,“汇川PLC程序案例”里,大量是关于“多轴电子齿轮”、“凸轮跟踪”、“飞剪同步”的应用,而不是“交通灯控制”这种经典入门题。
这种思维也体现在硬件上。“汇川H2U-3232MR-XP主控芯片”这个型号,后缀“XP”代表“eXtended Performance”,它内置了两路独立的485接口,分别命名为“PORT0”和“PORT1”。PORT0默认用于下载程序和HMI通讯,PORT1则专用于Modbus RTU主站通讯。很多人试图用PORT0去连三台三菱PLC做Modbus主站,结果发现通讯极不稳定。原因在于,PORT0的驱动能力被HMI轮询严重占用,留给Modbus主站的资源不足。正确的做法是,把所有外部设备(包括三菱PLC)都接到PORT1上,并在程序里使用“MODBUS_MASTER”指令块,指定端口为PORT1。这个细节,汇川的选型手册里不会强调,因为它默认你已经知道PORT0和PORT1的分工。
再看“汇川Easy PLC IP怎么设置”。Easy系列是汇川面向OEM市场推出的精简型PLC,它的网络设置界面极其简洁,只有一个“IP地址”、“子网掩码”、“网关”输入框。但这里有个致命陷阱:它不支持DHCP!你必须手动输入所有参数。更麻烦的是,它的IP设置不是保存在PLC的RAM里,而是写入Flash。这意味着,如果你输错了一个数字(比如把255输成256),PLC会拒绝保存,并在下次上电时恢复出厂IP(通常是192.168.1.100)。而恢复出厂IP后,你用网线直连电脑,必须先把电脑IP设为192.168.1.x网段,才能重新连接上去修改。这个过程,新手平均要折腾40分钟。我的经验是:在设置IP前,先用手机热点创建一个192.168.1.0/24的局域网,把PLC和电脑都连上去,这样即使设错,也能立刻用手机热点的网关地址(通常是192.168.1.1)连回PLC。这是汇川硬件思维的典型体现——它假设你有完整的网络知识,而不是像西门子那样,提供一个“一键恢复出厂设置”的按钮。
2.4 三菱:FX系列的“历史包袱”与GX Works2的兼容性迷宫
三菱FX系列PLC,尤其是FX3GA、FX5U,是工业现场的“常青树”,但它的“常青”背后,是沉重的历史兼容性负担。最经典的案例是“三菱FX3GA与GT1150屏通讯不上”。GT1150是三菱的老款触摸屏,它只支持传统的“FX系列专用协议”,而FX3GA虽然物理接口是RS422/485,但其内部通讯协议栈默认启用了“CC-Link IE”兼容模式。这就导致GT1150发出去的专用协议帧,被FX3GA当成垃圾数据丢弃。解决方案不是改PLC程序,而是改PLC的“特殊寄存器”。你需要在FX3GA的PLC参数里,找到特殊寄存器D8120,将其值设为K38E(十六进制),这个值代表“启用FX系列专用协议,波特率9600,偶校验”。设完后,必须给PLC断电重启,参数才会生效。这个D8120,就像FX系列的“BIOS设置”,它不写在程序里,却决定了PLC最底层的通讯行为。
而“三菱GX Works2编程软件打开报错问题完美修复解决”,则暴露了三菱生态的另一面:对Windows系统的深度绑定。GX Works2是基于.NET Framework 3.5开发的,而Win10/Win11默认不安装这个旧框架。当你双击软件图标,弹出“无法启动此程序,因为计算机中丢失MSVCP120.dll”时,别急着重装软件。正确步骤是:1)以管理员身份运行Windows PowerShell;2)输入命令DISM /Online /Enable-Feature /FeatureName:NetFx3 /All /LimitAccess /Source:d:\sources\sxs(d:盘符需替换为你系统安装盘);3)重启电脑。这个命令会从系统安装源里提取并安装.NET 3.5。如果提示找不到源,说明你的系统是精简版,需要手动下载离线安装包。这个报错,90%的用户会误以为是软件损坏,其实是系统环境缺失。三菱的软件,就像一台精密的老式机械表,它需要特定的“润滑油”(即旧版系统组件)才能走时准确。
2.5 台达与欧姆龙:被低估的“稳定派”与“协议洁癖者”
台达PLC(尤其是DVP系列)和欧姆龙CP/CJ系列,常被归为“二线品牌”,但它们在特定领域(如包装机械、食品加工)的市占率极高,原因只有一个:极端稳定。台达的“PLC 485 从站”实现,堪称教科书级别。它的Modbus RTU从站协议栈,是固化在ASIC芯片里的,不占用CPU资源,响应时间恒定在1.2ms以内。这意味着,无论你的主站(比如西门子S7-1200)以多快的频率轮询,台达从站都不会丢帧。相比之下,很多国产PLC的Modbus从站是用软件模拟的,当主站轮询间隔小于10ms时,丢帧率就会飙升。所以,当项目要求“高实时性485通讯”时,我宁可多花20%的成本选台达,也不愿冒险用一款宣称“支持高速Modbus”的新品牌。
欧姆龙则是个“协议洁癖者”。它的“CJ2M系列PLC”,其Ethernet/IP协议栈,严格遵循ODVA组织的规范,连TCP Keep-Alive的超时时间都精确到毫秒级。这带来一个副作用:它与某些“宽松实现”的上位机(如某些版本的LabVIEW)通讯时,会因为Keep-Alive握手失败而断连。解决方案不是改欧姆龙PLC,而是改上位机。在LabVIEW的Ethernet/IP I/O Server配置里,必须将“Connection Timeout”设为3000ms以上,并勾选“Enable TCP Keep-Alive”。这个细节,欧姆龙手册里会用小号字体注明,但很多工程师会忽略。欧姆龙的哲学是:“我按标准做,你若连不上,是你没按标准做。”这种“傲慢”,恰恰是它在汽车零部件厂等高可靠性场景里屹立不倒的原因。
3. 实操场景还原:从“报警LINK-100”到“AI PLC代码生成”的完整闭环
3.1 故障诊断实录:一次真实的“PLC报警LINK-100”排查全过程
“PLC报警LINK-100”——这个代码在西门子、汇川、信捷的报警列表里都有,但含义天差地别。这次我们遇到的是汇川H3U PLC,产线突然停机,HMI上只显示红色的“LINK-100”。第一步,不是看手册,而是看现象:HMI与PLC的通讯指示灯(TX/RX)是常亮还是闪烁?如果是常亮,说明物理链路已死;如果是规律闪烁,说明链路活着,但数据不通。我们观察到,HMI的RX灯是缓慢闪烁(约1次/秒),TX灯几乎不亮。这表明HMI在尝试发送数据,但PLC没有回应。
第二步,隔离法。拔掉HMI与PLC之间的网线,用一台笔记本电脑,安装汇川的“HMI Simulator”软件,将仿真HMI的IP设为与PLC同网段(192.168.1.10),PLC IP为192.168.1.20。启动仿真HMI,发现它能正常连接PLC,并读取所有变量。结论:PLC的以太网口和协议栈是好的,问题出在HMI本体或HMI与PLC之间的物理链路。
第三步,查线。用网线测试仪测HMI到PLC的网线,通断正常。但注意到,这条网线是和其他20根动力电缆捆扎在一起的,长度约30米。我们怀疑是电磁干扰。于是,临时换一根单独敷设的超五类网线,只连接HMI和PLC。故障消失。但产线不能长期用临时线。最终方案是:在HMI端加装一个“工业级以太网隔离器”,它内置了磁环滤波和光电隔离,能有效抑制共模干扰。成本增加300元,但彻底解决了问题。这个案例告诉我们,“LINK-100”在汇川PLC里,绝大多数时候不是PLC坏了,而是“物理层”出了问题。手册里写的“通讯异常”,翻译过来就是“你家的网线被隔壁的变频器干扰了”。
3.2 通讯配置实战:配置信捷PLC(作为Modbus TCP服务器)与海康相机通讯
这是当前视觉检测项目的标配组合。步骤必须严格按顺序执行,漏一步,通讯必败。
第一步:PLC端配置(信捷XC3)
- 在XDSoft中新建工程,添加XC3-485-BD模块。
- 双击该模块,在“通信参数”页签中,设置波特率9600,数据位8,停止位1,校验位无。
- 切换到“高级设置”页签,将“发送使能延时”设为8ms(长距离必备)。
- 在“系统块”中,找到“Modbus TCP服务器”功能,勾选“启用”,并将“端口号”设为502(标准Modbus TCP端口)。
- 关键一步:在“映射关系”中,将PLC的D区(数据寄存器)起始地址D0,映射为Modbus地址40001。注意,这里必须手动输入“40001”,不能选下拉菜单。
第二步:海康相机端配置
- 用海康的“MVS”软件连接相机,进入“系统设置”->“网络设置”->“Modbus TCP”。
- 将“服务器IP”设为信捷PLC的IP(如192.168.1.100),“端口号”设为502。
- 在“寄存器映射”表中,找到“图像触发”功能,将其对应的Modbus地址设为40001(与PLC端D0对齐)。
- 保存设置,重启相机。
第三步:PLC程序编写
- 在主程序中,添加一个“上升沿检测”指令,监控一个外部输入点(如X0,代表检测启动信号)。
- 当X0由0变1时,执行“SET D0.0”指令,将D0的第0位置1。
- 延时100ms后,执行“RST D0.0”指令,将D0的第0位清0。
- 这个100ms的脉冲,就是发给海康相机的“触发信号”。
第四步:验证与调试
- 用Modbus Poll软件(作为Modbus TCP主站)连接PLC,读取地址40001,确认值为0001。
- 触发X0,观察Modbus Poll中40001的值是否在100ms内从0001变为0000。
- 同时,用MVS软件观察相机是否在触发后100ms内开始采集图像。如果图像延迟过大,需微调PLC中的延时时间。
这个流程里,最容易出错的是第三步的“上升沿检测”。很多工程师直接用X0的常开触点去驱动SET指令,结果发现每次X0闭合,D0.0都会被反复置位。正确做法是,必须用一个“上升沿微分指令”(如PLF X0),它只在X0由0变1的瞬间输出一个扫描周期的脉冲,这样才能保证D0.0只被置位一次。
3.3 选型决策现场:西门子S7-1200 vs 汇川H5U的72小时对比测试
一个包装产线升级项目,需要新增一个“称重-剔除”工位。控制需求:读取称重传感器(4-20mA模拟量)、控制气动剔除阀(DO)、与主PLC(西门子S7-1200)通过以太网交换数据、本地HMI显示。预算有限,必须二选一。
测试维度与结果:
| 维度 | 西门子S7-1200 (1214C DC/DC/DC) | 汇川H5U (H5U-3232MT) | 我的评价 |
|---|---|---|---|
| 硬件IO扩展 | 需额外购买SM1231 AI模块(约¥1200),且占用一个扩展槽 | 本体自带2路AI(0-10V/4-20mA可切换),无需扩展 | H5U胜。省¥1200,少一根线缆,少一个故障点。 |
| 与主PLC通讯 | S7-1200间通讯用S7协议,TIA Portal里拖拽即可,配置时间<5分钟 | 需在H5U里编写S7Comm协议客户端程序,汇川提供的例程有Bug,需自行修改 | S7-1200胜。稳定性高,配置傻瓜化。 |
| HMI集成 | 需另配KTP700 Basic HMI(¥2500),与PLC用Profinet通讯 | H5U支持内置Web Server,用Chrome浏览器直接访问HTML5 HMI页面,零成本 | H5U胜。调试时,工程师用手机扫二维码就能看实时数据,效率提升3倍。 |
| 程序调试 | TIA Portal在线监控强大,可实时查看所有变量、强制IO、跟踪程序流 | 汇川AutoShop软件监控功能较弱,无法强制修改DB块中的结构体变量 | S7-1200胜。复杂逻辑调试时,TIA的“Trace”功能无可替代。 |
| 长期维护 | 软件授权贵(TIA Portal Basic ¥8000),但工程师普遍熟悉 | AutoShop免费,但国内会的人少,产线电工看不懂LAD,只能找汇川售后 | 平手。S7-1200培训成本低,H5U软件成本低。 |
最终决策:选用汇川H5U。理由很现实——产线在三线城市,西门子售后工程师上门费¥2000/次,而汇川当地有代理商,响应时间<4小时。对于OEM厂商来说,设备交付后的服务成本,比硬件成本更重要。这个决策,没有任何“技术优越性”可言,纯粹是商业现实的妥协。PLC选型,从来不是参数表上的PK,而是“谁能在设备出问题时,最快赶到现场”的较量。
3.4 前沿趋势观察:“AI PLC代码生成”的现状与陷阱
“AI PLC代码生成”是最近的热词,各大厂商都在宣传。我亲自试用了西门子的“Code Generation Assistant”和汇川的“AutoCode”插件。
西门子的工具,本质是一个高级代码模板库。你输入“控制三台电机,按顺序启动,每台间隔5秒,有急停”,它会生成一个包含TON定时器、MOVE指令、急停互锁逻辑的完整FC块。生成的代码质量很高,符合IEC 61131-3标准,可以直接编译下载。但它无法理解“顺序启动”的业务逻辑——如果第三台电机故障,它不会自动生成故障复位逻辑,也不会在HMI上添加报警文本。它生成的,只是一个“骨架”,血肉还得你来填。
汇川的“AutoCode”则更激进,它能接入现场的IO点表Excel文件,自动识别“DI_01_急停”、“DO_05_电机1接触器”这样的命名规则,然后生成带注释的梯形图。但陷阱在于:它假设所有IO点名都遵循同一套命名规范。现实中,一个老项目里,急停可能叫“EMG_STOP”,也可能叫“ESTOP_PB”,甚至叫“X100”。AutoCode遇到不认识的名字,就直接跳过,生成的程序里会缺少这个点的逻辑。我试过一次,导入一个500点的旧项目IO表,AutoCode成功识别了327个点,剩下173个点的逻辑全部缺失,最后还得人工补全。
所以,目前的“AI PLC代码生成”,最适合的场景是:全新项目、IO命名规范、逻辑相对简单(如输送线启停、气缸动作)。它能帮你省下30%的重复性编码时间,但绝不能替代工程师对工艺的理解。真正的“智能”,不是生成代码,而是当你在程序里写下“MOV K100 D10”时,AI能立刻提醒你:“D10已被用作温度设定值,此处写入会导致温控失灵”。这一天还没到来,但已在路上。
4. 经验总结与避坑指南:十年踩坑凝结的21条硬核心得
提示:以下每一条,都对应一个曾让我加班到凌晨三点的真实故障。它们不是理论,是血泪。
4.1 关于硬件与接线的12条铁律
485通讯,永远用双绞屏蔽线,屏蔽层单端接地。我曾用普通网线连三台三菱PLC,通讯成功率92%;换成双绞屏蔽线后,提升到99.99%。那个丢失的0.01%,就是产线每月多停机2小时的根源。
PLC的24V电源,绝不与传感器、电磁阀的24V共用同一组端子。PLC的24V是逻辑电源,纹波要求<5%;传感器的24V是负载电源,启动电流可达5A。混用会导致PLC频繁重启。必须用两个独立的开关电源。
所有PLC的“COM”端子,必须用粗铜线(≥2.5mm²)就近接到配电柜的PE(保护地)排上。这是消除共模干扰的终极手段。很多“通讯不稳定”问题,一根接地线就能解决。
西门子S7-1200的PN口,如果连接的是非西门子设备(如汇川H5U),务必在TIA Portal的设备视图里,将该PN口的“IP地址”设为静态,并取消勾选“启用DHCP”。否则,PLC每次上电都可能获取到不同的IP,导致通讯中断。
信捷PLC的485模块,如果通讯距离超过30米,必须在PLC端和最后一台设备端,各并联一个120Ω终端电阻。不加电阻,信号反射会导致CRC校验失败。
三菱FX5U的CC-Link远程IO模块,其接线图里的“A1/B1”端子,不是随便接的。A1必须接A线(通常为绿色),B1必须接B线(通常为白色)。反接会导致整个CC-Link网络瘫痪,且无任何报警。
汇川H2U的“PORT0”(下载口),其最大通讯距离为5米。超过5米,必须用USB转485转换器,并确保转换器的驱动芯片是FTDI或CH340,劣质芯片会导致下载失败。
所有PLC的电池(用于保持时钟和部分内存),必须每2年强制更换一次。不要等它没电了才换。一块失效的电池,可能导致PLC断电后,所有定时器预设值归零,产线重启后工艺参数全乱。
西门子S7-1500的SD卡,不是用来存程序的,而是用来存“固件更新包”和“诊断日志”的。程序必须下载到PLC的内部Flash。用SD卡存程序,是重大安全隐患。
台达PLC的“RUN/STOP”拨码开关,切换时必须等PLC前面板的“RUN”LED完全熄灭后再拨动。强行切换,可能导致程序丢失。
欧姆龙CP1E系列PLC,其内置的RTC(实时时钟)电池,是焊死在主板上的。如果时钟不准,必须返厂更换,无法自行处理。
所有PLC的接地电阻,必须≤4Ω。用接地电阻测试仪每年测量一次。这是电气安全的底线,也是EMC(电磁兼容)测试的硬指标。
4.2 关于软件与编程的9条禁忌
永远不要在西门子S7-1200的OB1(主循环)里,调用耗时超过2ms的指令(如复杂的数学运算、字符串处理)。OB1的扫描周期应控制在10ms以内。耗时操作,必须放到OB35(100ms定时中断)或OB100(启动组织块)里。
信捷PLC的“D区”数据寄存器,其地址范围是D0-D9999,但D9000-D9999是系统保留区。往D9500写数据,可能导致PLC通讯中断。手册里有小字注明,但极易忽略。
汇川H5U的“结构体变量”,如果要在HMI上显示,必须在HMI的“标签管理器”里,将该结构体的每个成员变量(如Motor.Speed, Motor.Status)单独添加为标签。不能只添加结构体名,否则HMI无法解析。
三菱GX Works2中,如果工程文件名包含中文或空格,备份时务必重命名为纯英文(如Project_v1.0)。否则,用“工程比较”功能时,软件会崩溃。
西门子TIA Portal中,所有DB块的“优化访问”选项,必须统一开启或关闭。混合使用(部分DB开启,部分关闭),会导致跨DB的数据访问出现不可预测的偏移。
LabVIEW与PLC通讯时,如果使用“OPC UA”协议,必须确保PLC的OPC UA服务器证书已正确导入LabVIEW的受信任证书列表。否则,首次连接会成功,但10分钟后自动断开,且无任何错误提示。
所有PLC程序,必须在每一处“SET/RST”指令后,添加一行注释,说明该位的用途和复位条件。例如:“// D10.0: 急停标志,由X100触发,复位条件:X101按下且Y000=0”。这是防止“幽灵故障”的唯一方法。
在PLC程序中,所有外部输入点(X点),第一次使用前,必须经过“滤波”处理。西门子用“F_TRIG”指令,三菱用“DF”指令,信捷用“PLF”指令。不滤波,按钮抖动会导致逻辑误动作。
最后,也是最重要的一条:当你被一个问题卡住超过2小时,请立刻停下,去喝杯水,然后重新阅读设备的“快速入门手册”第一页。90%的疑难杂症,答案都在那一页的“注意事项”里,只是你第一次看时,把它当成了废话。