
用GX Works2经交换机连接三菱PLC这件事乍一看就是“插根网线、改个IP、点个连接”但真正到设备现场简简单单一步操作背后全是细节。我遇到过不少次这样的情况电脑和PLC电都通了、交换机状态灯也在闪GX Works2却一直弹“连接失败”围着控制柜转了两个小时最后才发现问题出在Windows防火墙默认拦了PLC通信端口。这篇我就把GX Works2经交换机连接三菱PLC的整个链路拆开讲从原理到操作再到排障尽量说得直白、可复制。适合刚接触三菱PLC以太网通信的电气工程师、设备调试人员和现场维护人员参考也适合那些“之前一直用USB线连今天第一次用网线连”的朋友。1. 为什么要经交换机连PLC而不是一根网线直连1.1 三种连接方式的适用场景别等到了现场才纠结很多人第一次用GX Works2连PLC首选是USB或者串口编程线因为省事、稳定、不需要考虑IP。但USB线有两个硬伤距离短一般超过5米就信号衰减而且只能连一台PLC调试多台设备时你得反复拔插。串口线更不用说了现在的新电脑连COM口都没有还要拖一个USB转串口调试现场满地都是线看着都头疼。网线直连是第二种常见方式。电脑插一根网线直接接PLC的以太网口IP设在同一网段就能通信。这种方式适合一对一调试而且网线可以轻松做20米、30米甚至更长。不过直连有个明显限制一次只能同时连接一台PLC如果电脑需要同时监控两台设备的数据直连就做不到了。经交换机连接是第三种方式也是今天要重点讲的。电脑和PLC都接到交换机上形成一个最小局域网。这种方式既保留了一对一调试的便利也把单点连接扩展成了多点互联。你可以在交换机的其他端口再接一台触摸屏或者上位机甚至可以接一台工业路由网关把数据采集和远程调试的通道一并打通。也就是说交换机连接不是“直连的替代品”而是“直连的方案升级版”。1.2 交换机连接在真实项目里解决什么问题从实际项目看经交换机连接PLC主要有四个非常刚性的场景第一个是设备联调现场。一台自动化设备通常不止一台PLC可能还有一个视觉控制器、一个机器人控制柜、几台伺服驱动器。这时把所有以太网设备集中到一台工业交换机上GX Works2想连哪台就连哪台IP切换一下就行不需要物理拔线。第二个是控制柜布局受限制。PLC装在控制柜里操作工或者调试人员不可能一直蹲在柜子旁边。把PLC网线引到柜门上的网络接口或者旁边的工位交换机人就可以坐在操作台前调试这在产线改造项目里特别常见。第三个是远程维护预留。客户现场经常要求设备具备远程诊断能力最简单可靠的做法就是在交换机上预留一个网口给远程网关或者让维护电脑接入。没有交换机做汇聚点这个口还真不好留。第四个是距离问题。不通过交换机电脑和PLC相距一百多米一根网线极限也就100米中间必须加交换机做信号中继。这种分级延长网段的做法在现场布线里比拉光纤便宜得多。1.3 动手之前先做IP规划这步懒不得很多朋友连不上PLC问题根本不在GX Works2而在IP冲突。这里说的IP冲突包括两种情况一种是PLC和电脑IP完全一样这在出厂默认配置下经常发生另一种是交换机下还挂着别的设备IP段和PLC占用的段重叠。正确的做法是在动手前先画一张IP分配表。以最常见的场景为例PLC设为192.168.3.10子网掩码255.255.255.0电脑设为192.168.3.5掩码一样网关可以不填因为只是在局域网内通信填错了反而可能引起路由判断异常。交换机的管理IP如果需要登录交换机配置界面可以放在另一个网段比如给交换机专门预留一个地址比如192.168.3.2这样以后登录管理也方便不会跟PLC抢地址。IP规划还有一个容易被忽略的点三菱PLC的IP地址是存在CPU参数里的不是像电脑一样每次开机自动获取。你要知道自己这台PLC当前是什么IP有两种办法一是如果当前还能用USB连上直接在GX Works2的“PLC参数-以太网端口设置”里读出来二是查项目图纸或者出厂设定标签。最忌讳的就是不知道PLC当前IP然后把电脑设成192.168.3.5PLC实际在192.168.1.10两边不同网段PING都PING不通你还以为是交换机坏了。2. 通信原理与四个关键参数弄懂了就不会瞎试2.1 一台PLC为什么能“接网线”内置以太网口与以太网模块很多人一提到PLC通信就发怵觉得底层协议很神秘。其实三菱PLC的以太网通信本质就是一台设备通过网络接口进行TCP/IP数据交换。PLC的CPU程序里跑的逻辑控制和网络通信是两个相对独立的“任务”。以太网口负责监听网络请求CPU负责执行用户程序两者通过内部总线交换数据。三菱PLC支持以太网的方式分两类一类是CPU本体自带网口比如FX5U系列、Q系列的部分CPU这类网口直接集成在PLC模块上设置网络参数后即可使用。另一类是外挂以太网模块比如Q系列机身旁边挂一个以太网通信模块这种情况下“网络参数”必须在GX Works2的PLC参数里为这个模块分配一个“起始I/O号”也就是告诉CPU这个模块占用哪个位置以后通信就通过这个模块中转。这两种方式的差别在排障时很重要。如果CPU本体自带网口连不上问题通常集中在IP、端口、防火墙如果外挂以太网模块连不上除了上面这些还要检查模块的I/O分配和网络号、站号是否和GX Works2里填的一致。这也是我后面会再做一张问题速查表的原因。2.2 真正决定连接成功率的四个关键参数IP、掩码、端口、协议GX Works2经以太网连接PLC其实就是在跟PLC的MC协议MELSEC Communication Protocol服务端口通信。一次连接能不能成功主要由四个参数决定缺一个不对都连不上。第一个是IP地址。电脑和PLC的IP必须在同一网段也就是说子网掩码换算下来之后网络位必须相同。比如PLC的IP是192.168.3.10掩码是255.255.255.0那么电脑的IP就要是192.168.3.x不能是192.168.1.x否则数据包根本出不了本地网络。第二个是子网掩码。这个参数很多人忽略以为不填也能连。实际上如果掩码不一致系统判断“目标是否在同一网段”时会得出错误结论。虽然有些情况下Windows会用“网关”硬转发但PLC可没有默认网关跨网段通信大概率失败。第三个是端口号。这是GX Works2排障里最容易踩坑的点。三菱各系列PLC的默认MC协议端口不一样FX5U内置以太网端口默认通常是1024Q系列以太网模块常见默认端口是5007具体以PLC侧模块参数为准。如果PLC侧改过端口或者程序里对端口做过映射GX Works2连接目标里的端口号也必须同步改过来否则GX Works2发出去的连接请求会被PLC拒绝表现就是“连接超时”。第四个是协议类型。GX Works2连接PLC时以太网连接方式下通常使用TCP协议。TCP面向连接通信稳定可靠适合编程软件与PLC之间的指令交互。UDP虽然传输开销小但GX Works2对PLC的编程连接普遍走TCP。这个细节一般不需要人为选择但你在排查交换机配置时要知道如果交换机上做了端口ACL或者协议过滤策略放行TCP端口那一项必须打开否则会出现“PING能通、GX Works2连不上”的奇怪故障。2.3 “PING能通但连不上”是怎么回事现场最常见也最让人抓狂的故障就是电脑能PING通PLC的IP但GX Works2一点连接就报错。PING通说明网络层没问题也就是IP、掩码、物理链路都正常连不上说明更上层的TCP端口通信或者协议握手被拦住了。这里要厘清一个概念PING使用的是ICMP协议GX Works2使用的是MC协议。ICMP通不通和TCP端口通不通是两套独立的判断。把ICMP比作“你能看见对方家门牌号”把GX Works2连接比作“你必须按对门铃按钮并拿到钥匙才能进屋”。门牌号找得到不等于钥匙能开锁。按这个思路排查优先检查三件事一是PLC的MC协议服务是否真的在运行。有些PLC程序里禁用了以太网通信功能或者设置了“加密通信”GX Works2就握不上手。这种情况在FX5U里并不少见需要在PLC参数里把以太网端口的通信协议设置成开放。二是Windows防火墙是否放行GX Works2。我遇到过不止一次关掉“公用网络”的防火墙规则后立刻连通。这里不是建议你永久关闭防火墙而是建议把GX Works2加入防火墙放行列表或者临时关闭防火墙测试确认根因后再恢复安全策略。三是端口号是否匹配。PING通的是IPGX Works2连的是端口。PLC侧端口如果从5007改成了5008或者GX Works2里填的端口还是默认值结果就是“看得见摸不着”。2.4 交换机在这里扮演什么角色为什么不能用HUB代替交换机在连接链路里起的是“数据交换”作用。它维护一张MAC地址表记录每个网口对应哪台设备的MAC地址收到数据帧后只转发到目标端口不向所有端口广播。这样多个设备之间通信互不干扰带宽也高。很早以前有人用HUB集线器代替交换机那东西接收到任何数据都会复制给所有端口设备越多冲突越严重。调试时只有电脑和PLC两台设备HUB还能凑合一旦柜子里再接入触摸屏或上位机HUB环境下广播帧会占据大量带宽你经常会看到通信偶尔成功偶尔失败很难排查。工业现场还是老老实实用工业交换机管理简单、故障率低。如果用的是可网管交换机还要注意一个概念VLAN。VLAN把交换机的网口划分成不同广播域PLC在VLAN10电脑在VLAN20即使插在同一台交换机上它们也互相看不见。这种故障最隐蔽因为物理连接明明都是正常的。绕开这个坑的办法是登录交换机管理界面确认PLC和电脑所在的端口在同一个VLAN里。3. 标准实操流程从接线到通信测试一次跑通3.1 硬件接线与交换机选型基础要求实际操作从选交换机开始。仅在调试期使用的临时场景普通桌面型百兆交换机问题不大如果是设备正式交付、长期运行要优先选工业级交换机供电方式通常为DC24V和PLC电源系统一致防护等级、抗电磁干扰能力都比商用交换机强。接线时注意网络接口标准。PLC的网口基本都是RJ45支持直通线即可。电脑到交换机、交换机到PLC之间都用普通超五类或六类网线不需要交叉线。现代交换机和网卡都支持自动翻转交叉线这种老概念已经不重要了。网线压接质量是现场故障的高发源。很多莫名其妙的偶发性通信失败最后查出来就是RJ45水晶头里的线序没压好。按T568B线序压接1白橙、2橙、3白绿、4蓝、5白蓝、6绿、7白棕、8棕。压接完最好用测试仪测一下别省这一步。3.2 电脑端参数设置静态IP与防火墙放行电脑端设置我习惯按以下顺序做避免遗漏打开“网络和共享中心-更改适配器设置”找到本地以太网卡右键属性双击“Internet协议版本4TCP/IPv4”。选择“使用下面的IP地址”填入规划好的电脑IP比如192.168.3.5子网掩码255.255.255.0默认网关如果只是本地局域网调试可以不填填了反而要保证它可达。IP填完后打开命令行窗口先运行ipconfig /all确认网卡确实拿到了手动配置的IP再运行ping 192.168.3.10 -t用“-t”参数持续PING。如果响应正常且稳定说明链路层没问题。如果超时先检查网线和水晶头再检查IP设置不要急着点开GX Works2。Windows防火墙这一步我的建议是先“临时关闭”测试连接成功后再恢复并确认是哪一条规则导致了拦截。更规范的做法是在“允许应用通过防火墙”里添加GX Works2主程序保证它能在防火墙开启状态下正常通信。如果现场管理严格不希望关闭防火墙至少要放行TCP端口具体端口就是你GX Works2连接目标里填的那个端口。3.3 设置PLC侧网络参数的方法PLC侧如果没有正确IP一切无从谈起。以FX5U为例用USB线先连接PLC打开GX Works2新建或打开对应工程进入“工程-PLC参数-以太网端口设置”。里面可以设置IP地址、子网掩码、默认路由器地址。在这里确认或修改PLC的IP为192.168.3.10掩码255.255.255.0端口相关参数通常保持默认即可。如果设备是Q系列外挂以太网模块需要到“工程-PLC参数-网络参数-以太网/CC IE/MELSECNET模块设置”里为对应的以太网模块设置起始I/O号、网络号、组号、站号和IP地址。这里有一个容易混淆的点PLC参数里的“站号”与GX Works2连接目标里填写的“站号”必须一致。单台PLC调试时网络号默认0、站号默认0一般不用改但如果你面对的是一台从别的现场拉过来的旧设备这两个参数很可能被改过要先读出来看。设置完PLC参数后需要把参数写入PLC并复位或者断电重启参数才会生效。这一步很多人会忘写入参数后不重启PLC继续运行旧的网络配置然后你在GX Works2里折腾半天也连不上。3.4 在GX Works2里建立以太网连接目标PLC侧和电脑侧都准备好之后打开GX Works2。先确认当前工程对应的PLC系列和CPU型号比如FX5U就选“FX5U”Q系列就选对应CPU型号。如果工程类型和实际PLC型号不匹配连接测试会直接失败这也是一个隐蔽原因。然后打开“连接目标”设置窗口。在GX Works2的“在线”菜单下找到“连接目标”或者直接在工具栏点“连接目标”图标。在“CPU连接目标设置”窗口里选择当前的连接方法为“以太网”然后填写PLC的IP地址。端口号按PLC侧实际参数填写FX5U内置以太网默认一般是1024Q系列以太网模块常见是5007以PLC侧看到的参数为准。这里补充一下“网络号”和“站号”的填写逻辑。GX Works2以太网直连单台PLC时网络号默认0、站号默认0通常就行。但是遇到多CPU系统、多PLC协同或者通过某台智能设备中转的场景网络号和站号就必须和PLC参数里分配的一致。不清楚就先用USB连接读一下PLC参数切不可凭感觉乱填。配置完成后点击“通信测试”GX Works2会执行一次握手。连接成功的标志是弹出“与PLC连接成功”的提示框。如果失败先别反复点“测试”按钮回到前面的排查思路逐项检查。3.5 通信测试与在线连接的注意事项通信测试通过后就可以“在线-监视模式”或者“在线-写入PLC程序”了。这里有几个细节值得注意。第一连接成功不代表可以随意写操作。在线修改PLC程序前建议把PLC切换到STOP状态再写入避免程序运行中数据不一致导致设备动作异常。特别是设备正在生产现场运行时贸然在线修改可能触发安全回路。第二调试过程中不要随便拔网线。GX Works2与PLC保持的是长连接拔掉网线后要等TCP超时GX Works2才会报错重新插上后通常需要手动重新连接。频繁拔插还会导致交换机端口学习到错误的MAC地址增加无谓的排障干扰。第三如果电脑同时连接了Wi-Fi和有线网卡要注意Windows可能走无线网卡发出PLC数据包导致“有物理连接却通信失败”。临时调试时建议禁用无线网卡或者在路由表里强制指定走有线网卡。4. 经交换机连接的常见问题与排查清单4.1 从现象到根因一张速查表我把自己和同行朋友踩过的典型故障整理成表格按现象对号入座能省不少排查时间。现象最可能原因处理办法GX Works2提示超时PING不通PLC电脑和PLC不在同一IP网段检查电脑IP确保与PLC同网段PING不通网口指示灯也不亮网线损坏或水晶头没压好重新压接两端水晶头用测试仪验证PING通GX Works2仍然超时Windows防火墙拦截通信端口临时关闭防火墙测试或放行GX Works2及TCP端口PING通GX Works2仍然超时PLC侧MC协议服务未开启/端口被改用USB连接检查PLC以太网端口参数经交换机连接失败直连PLC反而正常交换机端口或VLAN配置问题登录交换机管理界面检查VLAN、端口速率连接偶发失败一段时间后又正常交换机端口协商或网线质量差将交换机端口固定为100M全双工换质量好的成品网线同一交换机下其他设备能上网PLC连不上PLC侧IP被其他设备占用拔掉PLC网线PING该IP看是否有别的设备响应该IP连接目标里选错PLC系列或CPU型号工程类型与实物不符正确选择PLC系列与CPU型号修改PLC网络参数后仍然连接不上参数未写入或PLC未重启重新写入参数并断电重启PLC这张表不是万能药但覆盖了现场八成以上的问题。我反复强调一个原则改动一个变量测试一次。不要同时改IP、改防火墙、改端口否则你根本不知道是哪一步救活了故障。4.2 逐层排查的顺序不要一上来就重装软件排障顺序应该从物理层往上走而不是一开始就怀疑GX Works2有问题。我按下述顺序执行从未失手。第一步看灯。交换机端口指示灯、PLC网口指示灯都亮不亮闪烁是否正常。灯不亮基本可以断定物理链路断了查水晶头压接和两端电源。第二步PING。命令行里持续PING PLC的IP观察丢包和延迟。这里有三种结果完全不响应、时通时不通、稳定响应。完全不通查IP设置和网段时通时不通首先怀疑网线质量、交换机端口协商、电磁干扰稳定响应再进入下一层。第三步测端口。PING通了但GX Works2连不上就要用工具或者软件测试目标IP的TCP端口是否可访问。如果端口测试也失败说明PLC侧完全没有打开对应端口或者防火墙拦截了入站连接。第四步查协议配置。用USB线连接PLC检查PLC参数里的以太网设置重点关注IP、端口号、通信协议、与工程型号是否匹配。这一步能确认PLC侧的真实状态避免“我以为PLC是这个配置”的错觉。4.3 几个我踩过比较深的坑希望你没机会踩第一次踩坑发生在某设备联调现场。我当时调一台FX5U直连电脑一切正常换成交换机后死活连不上。拔出所有其他网线只留PLC能通插上触摸屏网线就断。查了半天发现是触摸屏的IP和PLC设置在同一网段且地址冲突两个设备抢同一个IP。GX Works2每次请求都被混沌的数据响应干扰。从那以后我学乖了凡是经交换机连接先把交换机下所有设备的IP列成一张表确保没有重复地址再开始调试。第二次踩坑是在一套老设备上。PLC用的是Q系列外挂以太网模块GX Works2连接时一直提示超时。PING能通端口测试也显示是开放的后来用USB连上PLC一读发现以太网模块的起始I/O号在PLC参数里根本没分配正确。原来前一个维护人员刷过程序参数被恢复到默认导致CPU根本不知道机架上有这个以太网模块。这类问题光靠网络排查是查不出来的必须回PLC参数里看。做设备运维的人一定要记住网络通信故障不全是网络问题很多时候根子在PLC参数配置里。第三次是让人印象最深刻的一次。电脑和PLC都正常IP也没冲突直连和交换机连接都试过GX Works2还是连不上。最后发现是电脑上装了一个第三方安全软件对所有基于TCP的工业协议都做了“智能隔离”。这种软件层面的干扰仅关Windows防火墙是没用的。给同行一个实用建议调试工控设备时尽量用干净的普通电脑别在上面装各种电脑管家类软件这类软件默认“守护”的很多东西恰好会把工业通信误判成危险行为。4.4 连接后的固化与日常维护建议连接成功后还可以做几件“一劳永逸”的事。一是把GX Works2的连接目标配置导出或者截图存档。下次现场维护时直接按照存档填写不用每次重新猜参数。二是在控制柜里贴一张IP地址标签。标明PLC、触摸屏、交换机、电脑各自分配的IP和端口号。设备故障时任何人过来都能在一分钟内定位网络配置而不是翻图纸找半天。三是如果是长期运行设备建议交换机端口配置成固定端口速率和双工模式建议100M全双工或按设备实际速率固定。自动协商在工业现场可能有兼容性问题固定配置反而稳定。四是定期用PING命令检查PLC响应时间把正常时延记录下来。比如正常时延1ms如果某天发现时延突然到了几十毫秒说明交换机下可能有广播风暴或环路趁早处理能避免一次停机事故。最后说点我的实操体会经交换机连接三菱PLC这件事本质不复杂但特别考验排障思路。我自己最大的体会是顺序对了问题就少了一半。物理层不通就别调IPIP不同网段就别查端口端口不通就别怪PLC程序。很多人卡在“明明PING得通怎么连不上”这个环节上往往是没明白协议分层这个概念。还有一点想专门提醒经交换机连接确实方便但交换机的“隐形故障”也多VLAN隔离、IP冲突、端口协商都可能在关键时刻坑你一把。建议首次调试时先做一次只有一个PLC、一台电脑的“最小系统”验证确认链路通畅后再把其他设备一台一台加进去这样即使后面的设备出问题你也知道是谁在捣乱。保持这个习惯之后我后面再处理类似项目就没怎么在这个环节浪费过时间了。