
1. 什么场景下我才会选择给PLC做无线通讯做电气自动化这行久了你会发现大部分现场其实轮不到无线出场。机柜并排、线槽到位、桥架通畅的地方屏蔽双绞线一拉Profinet跑得稳稳当当谁也不会闲得去折腾无线。但总有那么几个项目会让你在画图阶段就开始头疼两个1200PLC之间隔着一条厂区主干道或者一个在控制室、一个在几十米外的户外设备旁中间还要过叉车通道和卷帘门。破路挖沟放钢管甲方预算不够工期也不允许。走桥架绕一大圈中间干扰源太多线缆长度也逼近Profinet的极限。这时候无线就成了唯一合理的选项。我这次做的项目就是这样——一台S7-1200作为主站放在电控房另一台1200作为从站装在现场操作柱旁边两台设备直线距离大概四十米中间隔着两堵空心砖墙而且现场还有电焊机、变频器这类高干扰源。甲方要求两台PLC之间能通过Profinet实时交换十几个IO点包括启停指令、运行反馈、故障信号和几个模拟量。一开始我也犹豫毕竟Profinet是实时以太网协议对丢包和时延比Modbus TCP敏感得多。但实地测了一圈拉线确实不现实最后决定上工业级Profinet无线网关。先说结论这个方案完全可行但前提是你得搞清楚Profinet无线通讯的脾气——它不像换一根网线那么无脑IP规划、组态方式、天线安装都有讲究踩错一个点就可能出现PNIO闪烁、IO设备掉站的诡异现象。这篇把一个完整的例程配置过程原原本本写出来从选型到调试再到踩坑给以后要碰这个方案的同行做个参考。2. Profinet无线通讯的硬件选型与网络拓扑设计2.1 为什么不能直接拿普通WiFi做Profinet很多第一次接触这个需求的工程师第一反应是PLC上加个工业WiFi模块交换机一接不就完了吗这里有个概念必须掰开来说清楚。Profinet分两种通讯模式一种是基于TCP/IP的标准通讯用于参数读写、HMI访问这类非实时任务另一种是基于IRT或者RT的实时通讯用于IO数据周期性交换。普通WiFi走的是CSMA/CA机制发送前要监听信道、随机退避这会产生几十到几百毫秒的不确定延迟而且丢包率在复杂电磁环境下会飙升。工业无线网关则不同它把Profinet报文封装后通过专用无线协议传输内部做了优先级调度和重传机制实测ping时延基本稳定在十几毫秒以内IO刷新周期可以做到几十毫秒级别。2.2 我最终选定的硬件清单这次项目用的是一对同型号的Profinet无线通讯网关支持Profinet RT协议透传工作频段2.4GHz发射功率可调带两个RJ45接口用于连接PLC或交换机。这种方案的好处是PLC侧完全不知道自己走的是无线——主站通过网线连A端网关从站通过网线连B端网关两台1200之间看到的还是标准的Profinet连接。相当于中间加了一根“透明的虚拟网线”。硬件清单大致是西门子S7-1200 CPU 1214C DC/DC/DC主站1台西门子S7-1200 CPU 1214C DC/DC/DC从站1台Profinet无线网关A端连接主站1台Profinet无线网关B端连接从站1台2.4GHz全向天线带3米馈线2根工业级网线若干POE供电模块或DC24V电源适配器2个博途V16及以上版本用于组态这里有个关键点需要注意网关本身没有无线漫游、桥接之类的功能它就是成对使用的A端和B端出厂时已经配对好。别想着买三个网关做星型组网那是另一个产品线的事。2.3 网络拓扑规划拓扑不复杂但IP地址规划必须一开始就定好。Profinet的IP地址不是像普通以太网那样随便填的它和设备名称Device Name是绑定的。我这次的规划是这样的主站PLCIP 192.168.0.1设备名plc_master从站PLCIP 192.168.0.2设备名plc_slave网关A端IP 192.168.0.10网关B端IP 192.168.0.11子网掩码统一255.255.255.0无网关有一点要特别说明无线网关本身的IP地址是用于网页管理界面和固件升级的它和透传的Profinet数据流是两回事。Profinet数据流经过网关时网关相当于一个二层转发设备PLC之间的Profinet帧是完整透传的不需要在网关里做路由或者NAT。所以你可以理解成无线网关只是把两根网线中间的物理介质换成了射频链路协议层面完全透明。物理连接上主站PLC的网口直接连A端网关的LAN口从站PLC的网口直接连B端网关的LAN口。如果两台PLC旁边还有其他以太网设备比如触摸屏或者上位机可以挂在同一个交换机下但注意不要让交换机形成环路。我把整个拓扑画在纸上也就是一张A4纸的事中间一条虚线的无线链路两端各有一个小盒子下面各挂一台PLC。所有配置的核心都围绕这条“虚拟网线”展开思路清晰了后面组态就顺了。3. 博途环境下的组态配置全流程3.1 准备工作GSD文件和固件版本检查拿到无线网关之后第一步不是接线而是先确认两件事网关的固件版本是否匹配博途的版本以及是否需要安装对应的GSD文件。因为Profinet IO设备在博途里是以GSD文件形式描述的如果你用的是1200作从站它本身就是Profinet IO设备不需要额外GSD但如果你把无线网关当做一个Profinet设备来管理部分网关支持这种方式那就得装GSD。我这台网关比较特殊它在Profinet协议层面上对PLC完全透明所以不需要在博途里组态网关本身只需要组态两台PLC之间的IO连接。通俗一点说博途里看到的拓扑就是主站1200和从站1200直接网线相连无线网关在中间“隐身”了。固件版本这块我吃过一次亏。早先有一对网关固件版本太老在博途V16里组态后从站始终报“设备故障”后来把网关固件升级到最新版才恢复正常。所以实操开始时先到官网查一下固件更新说明把两端网关都升级到同一版本再开始后续步骤能省掉大量排查时间。3.2 主站侧组态建立Profinet网络并分配设备名称打开博途新建项目添加主站PLC。在设备视图里选择CPU 1214C之后会自动生成一个Profinet接口PN/IE_1双击进入以太网地址设置给主站分配IP 192.168.0.1子网掩码255.255.255.0。接着切换到网络视图再添加第二台1200作为从站。这时会看到两台PLC出现在同一个画面里但此时它们还没有建立IO关系需要手动组态。具体操作是在从站PLC的PN接口上取消“自动生成Profinet设备名称”的勾选手动输入设备名称plc_slave。设备名必须和物理上的IO设备实际名称一致否则后面一编译就会报名称不匹配。在主站PLC的PN接口上右键添加新的IO设备选择“Profinet IO”然后在设备列表里找到刚才添加的从站。这一步相当于告诉主站你把plc_slave从站拉入你的IO控制域。博途会自动分配IO地址。编译后下载到主站PLC。这里重点说设备名称的问题。Profinet的IO设备识别不是靠IP地址而是靠设备名称。也就是说从站PLC上电后会通过DCP协议广播自己的设备名主站收到之后才会建立通讯。如果设备名不一致哪怕IP地址填对了主站也找不到从站。所以组态前最好把两台PLC的名称先在博途里确定下来写在小纸条上贴到PLC外壳上省得现场东改西改。3.3 从站侧组态IO数据传输区定义从站在Profinet里的角色是IO设备它需要向主站“提供”输入数据并从主站“接收”输出数据。为了方便理解可以把主站侧看的输入区I区对应到从站侧的输出区Q区反过来同理。我在博途里是这样定义的传输区1主站输出到从站8字节对应从站Q区起始地址QB0包含启停命令字、模式选择字传输区2从站反馈到主站8字节对应从站I区起始地址IB0包含运行状态、故障报警和两路模拟量定义好之后主站侧的I地址会自动映射到从站侧的Q地址数据实时同步不需要在主站程序里写任何通讯指令。这也是Profinet比Modbus TCP方便的地方——数据交换由系统底层完成你只需要在用户程序里直接读写I/Q区就行。3.4 无线网关的参数配置信道、功率与加密硬件接好、博途组态完成之后就需要进无线网关的网页管理界面做参数设置了。用网线把电脑和任意一端网关的配置网口连起来浏览器输入网关的默认IP一般是192.168.0.10就能进入管理页面。关键的参数我按优先级排序工作模式确认是点对点透传模式有的厂家叫桥接模式或P2P模式不要选成APSTA或者其他混合模式。信道选择2.4GHz频段下建议选1、6、11这些互不重叠的信道。如果现场还有其他WiFi设备可以先拿手机扫描工具看看哪个信道占用少固定工作信道不要选“自动”。发射功率默认一般是最大但考虑到两台网关距离不远适度降低功率反而能减少对其他设备的干扰。这次项目距离四十米我最终把功率调整到了60%左右实测信号稳定在-55dBm左右。加密方式必须开启WPA2-PSK加密。工业现场不做加密容易被其他无线设备干扰甚至误连。设备配对确认两端网关的配对ID一致这个出厂默认为相同但如果换过备件就需要在网页里把两端改成一样的配对ID。这些参数设置好之后保存重启网关。此时从电脑ping对端PLC的IP如果通了说明无线链路已经打通接下来就进入上电调试阶段。4. 无线链路不稳定时的完整排查链路4.1 现象描述IO设备指示灯在PNIO绿和红色之间跳变这是整个调试过程中最折腾人的部分单独拿出来写。一开始无线链路刚通的时候主站和从站之间的IO通讯是正常的监控表里能看到数据实时刷新。但运行了十分钟左右从站的PNIO指示灯开始出现规律性的闪烁绿灯亮几秒、红灯闪两下、再恢复绿灯。伴随的现象是主站报“IO设备plc_slave不可访问”的短暂告警大概持续一两秒后自动恢复过一会儿又重复一次。这种“间歇性掉站”是Profinet无线通讯的特殊问题。有线环境下PNIO告警通常意味着网线断了或者设备掉电故障好定位。无线环境下链路还在但通讯质量在某个瞬间恶化到低于Profinet报文丢失率的容忍阈值系统就会认为IO设备丢失。4.2 排查第一步先分清是无线链路问题还是PLC配置问题不要一上来就怀疑网关坏了。先做两件事第一件在电脑上持续ping从站PLC的IPping 1000个包看丢包率。丢包率为0或低于0.1%说明无线链路本身的物理链路基本稳定。如果丢包率飘忽不定问题大概率出在无线侧。第二件把无线网关B端的网线拔掉让从站物理断网观察主站是不是立刻报错。如果报错延迟很大或者不报错说明Profinet看门狗时间设置过长或者组态有问题。我第一次排查时ping 500个包只丢了1个丢包率0.2%按理说这稳定性足够了但PNIO告警还是周期性出现。这就说明问题不是单纯的丢包而是报文的实时性在某些时刻得不到保障。4.3 排查第二步查看网关的无线链路质量指标工业无线网关的管理页面里通常都会有实时的链路质量参数包括RSSI接收信号强度、信噪比、重传率、误包率。我把A端和B端的这些数据都调出来对比了一下发现RSSI其实很健康一直维持在-50dBm左右但重传率偶尔会跳到5%以上。重传率高的瞬间恰恰就是主站报“设备不可访问”的时刻。这就好定位了链路信号强度没问题但信道质量不稳定。极大概率是2.4GHz频段存在间歇性干扰源。排查到这一步我拿频谱仪在现场测了一圈发现主要是电焊机工作时产生宽带射频干扰还有附近一台变频器的载波频率刚好落在工作信道附近。4.4 排查第三步调整无线参数和物理安装方式确定了干扰来源后我做了三个调整第一无线网关的工作信道从原来的信道6改到信道11避开变频器载波对应的频率段。实测改完信道后重传率明显下降从偶发5%降到0.3%以内。第二把天线位置重新调整。原来A端天线直接吸在电控柜的金属面板上馈线还和变频器输出电缆绑在一起金属柜体对天线辐射特性影响很大。我把天线改到柜顶馈线单独穿管走线离动力电缆保持30厘米以上距离。第三调整了Profinet的更新时间设置从默认的32ms放宽到64ms。这个调整是为了让系统更能容忍无线链路上的微小抖动不至于因为一次短暂重传就误判设备离线。实时性稍微降一点但换来稳定性这在非运动控制场景完全值。调整完成后主站监控画面里PNIO指示灯稳定绿色连续运行两天没再出现告警。这个排查过程让我总结出一条经验无线Profinet出问题九成都不是“信号弱”而是“信号脏”——强但脏的无线链路比弱而干净的链路更危险。4.5 排查过程中的几个反直觉现象这里记录几个我差点误判的现象给后来者提个醒第一个无线网关的LAN口指示灯偶尔闪烁慢不代表链路就有问题。我遇到过绿灯常亮、另一台设备插到同一交换机就正常但对端PLC就是通讯不上后来发现是PLC网口速率和网关不匹配。Profinet默认要求100M全双工但有些老网线只协商成了100M半双工把网线重新压一遍水晶头就解决了。第二个Profinet报文的看门狗时间不能设得太短。在博途里IO设备的监控间隔如果设成默认的三倍更新时间在无线链路上可能太激进。遇到过有人把更新时间设成16ms且看门狗也调得极短结果只要有一次无线重传超过30ms设备就掉线。我的建议是无线场景下更新周期至少32ms起步看门狗倍数可以适当放大。第三个也是很多人忽视的无线网关两端的电源不能共用同一个开关电源的不同输出端子。我遇到过调试一切正常但电柜里某个大接触器吸合瞬间整个通讯就中断一下。万用表一测发现瞬间压降超过3V网关直接重启了。后来给两端网关分别加了独立的DC24V稳压电源问题再没出现。无线网关虽然功耗不大但对电源尖峰非常敏感。5. 实际运行表现与性能边界5.1 实测数据IO刷新时间和通讯稳定性配置完成并稳定运行后我在主站程序里做了一个测试功能块周期性地把MW0的值加1通过Profinet传到从站从站再原样传回来主站读回这个值后和一个基准计数器对比计算出一个往返的延迟时间。实测结果是在64ms的更新周期下从主站输出数据变更到从站获得数据再到主站读回反馈值整个过程大约125ms到160ms之间。这个延迟包括了无线网关的传输处理时间和PLC的扫描周期影响。对于普通的逻辑联锁、状态监控、参数下发场景这个延迟完全够用。但不能用于运动控制、伺服同步、高速编码器计数这类对时延要求极高的场合。这个方案定位就是替代中低速的信号线不是替代Profinet IRT。关于长时间运行的稳定性我记录了连续一周运行的数据PNIO掉线次数为0无线网关重启次数为0累计传输的数据包数量在千万级别IO通讯始终稳定。期间经历了现场电焊机密集作业和一天内多次叉车来回经过天线下方没有出现明显波动。这说明只要选型对、配置细、安装规范无线Profinet在工业现场的可靠性是有保障的。5.2 单台从站与多台从站的差异我这个例程是两台1200点对点通讯属于最简单的拓扑。如果你的项目需要多个从站比如一台主站带两三台无线从站那就要注意了无线网关的支持方式直接决定你能带多少台设备。市面上主流方案有两种一种是一对一透传你要几台从站就得买几对网关每一对占用一个独立的无线信道主站侧所有网关都插到同一台交换机上另一种是一对多网关一个主站网关可以同时和多个从站网关通讯所有网关在同一个信道内分时传输。亲身对比下来我的建议是如果工艺上能忍一对一透传更稳。一对多方案虽然节省硬件但无法避免信道内多设备分时竞争从站数量越多每个从站的刷新周期就越长。我在一个兄弟项目里见过一台主站带三台从站无线网关的情况从站刷新时间已经接近200ms如果是IO联锁要求快的场景就会很难受。5.3 无线链路在什么情况下会被迫降级这里说点实在话。无线通讯再怎么优化本质还是电磁波传输不可能做到有线那样完全确定。我总结了几类会让你“被迫降级”的工况遇到就老老实实改方案传输距离超过100米且中间有钢筋混凝墙垛普通2.4GHz设备穿透能力有限别硬扛要么用5GHz频段设备要么加中继。环境里有连续工作的强干扰源且无法暂停比如电焊机、中频炉、大功率变频器密集区域先测量再决定是否用无线。对时延敏感的逻辑比如两个PLC之间的安全互锁回路要求故障反应时间在几十毫秒以内无线目前的性能达不到得用硬接线。从站数量多且工艺要求同步从站数量超过3台建议别用无线做同步控制改用Profinet IRT有线方案。最后再多说一句关于天线安装的实际经验天线不要直接固定在金属表面上天线底部要离开金属至少一个馈线直径以上的距离。有些人图省事把天线吸在柜门上信号往柜子内部辐射外面反而收不到这类低级错误现场出现频率极高。有条件的话尽量让天线在垂直方向保持水平朝向——全向天线的辐射场型是水平方向的“甜甜圈”天线竖直安装时水平和垂直面上的覆盖效果差别很大装反了会直接少一半通讯距离。