
1. 项目概述这不是一篇“PLC入门教程”而是一份来自产线现场的PLC见闻手记“有关PLC见闻”——这个标题看似平淡甚至有点像随手记下的笔记标题但恰恰是这种不加修饰的朴素表达最真实地还原了PLC工程师日常工作的本质它从来不是在实验室里推导公式而是在车间、在配电柜前、在触摸屏背后、在通讯线缆缠绕的角落里用眼睛看、用手摸、用万用表量、用逻辑去猜、用经验去试出来的活儿。我干这行十一年从西门子S7-200的拨码开关开始调到今天调试汇川H5U与海康工业相机走Modbus TCP协议中间踩过的坑、抄过的参数、改过的地址、烧过的保险丝比写过的程序还多。这篇文字里没有PPT式的原理图也没有教科书里的标准梯形图范例只有我在不同品牌PLC之间切换时的真实体感为什么信捷XC3系列的串口配置界面要先点“高级”再点“通信参数”而三菱FX5U却要把“站号”设在PLC本体拨码开关上为什么西门子S7-1200的DB块里一个INT变量明明写了100监控时却显示-32768——后来发现是数据类型没对齐上位机读的是INTPLC里存的是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输成256PLC会拒绝保存并在下次上电时恢复出厂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 PowerShell2输入命令DISM /Online /Enable-Feature /FeatureName:NetFx3 /All /LimitAccess /Source:d:\sources\sxsd:盘符需替换为你系统安装盘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.10PLC 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路AI0-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以内。耗时操作必须放到OB35100ms定时中断或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按下且Y0000”。这是防止“幽灵故障”的唯一方法。在PLC程序中所有外部输入点X点第一次使用前必须经过“滤波”处理。西门子用“F_TRIG”指令三菱用“DF”指令信捷用“PLF”指令。不滤波按钮抖动会导致逻辑误动作。最后也是最重要的一条当你被一个问题卡住超过2小时请立刻停下去喝杯水然后重新阅读设备的“快速入门手册”第一页。90%的疑难杂症答案都在那一页的“注意事项”里只是你第一次看时把它当成了废话。