ARTICLE DETAIL

资讯详情

深耕商务建站与企业官网运营的一线实战洞察。

BCNet-QnA模块实战:让三菱QnA老PLC轻松接入以太网

BCNet-QnA模块实战:让三菱QnA老PLC轻松接入以太网 简介《无锡北辰BCNet-QnA以太网通信模块使用手册V1.2》面向三菱QnA系列PLC的现场工程师与自动化技术人员系统讲解BCNet-QnA经济型以太网通信处理器的应用方法重点解决PLC以太网数据采集、设备联网监控及远程维护等常见需求。资源为单个PDF文件约2.55MB内容覆盖产品概述、功能与应用领域、硬件接口、指示灯说明、快速应用起步等章节已有692人学习下载。手册详细介绍了通过35mm导轨安装、外接24VDC电源并连接PLC编程口的硬件部署方式以及X1X4接口定义与指示灯状态诊断通信方面涵盖MELSOFT以太网编程、MC3E帧协议、ModbusTCP服务器、OPC通道及高级语言二次开发支持6台PC同时采集数据。书中还说明了利用内置WEB服务器进行参数设置与运行诊断并支持通过以太网实现固件更新在设备改造场景中无需修改原系统任何参数即可接入以太网配合远程通讯模块还能实现异地程序修改和维护。1. 把老掉牙的QnA PLC接上以太网BCNet-QnA模块最容易被低估的一件事很多搞设备改造的工程师第一次拿到这类以太网通信模块时都觉得它不过是个“串口转网口”的小盒子接上编程口、配一下IP就能通。结果实际一上手卡了整整两天上位机Ping得通模块数据却读不回来触摸屏黑屏PLC侧倒是跑得好好的。最后查出来问题根本不在硬件而在协议转换的模式选错了。BCNet-QnA这名字里最关键的不是“以太网”也不是“通信模块”而是后面那个“QnA”——三菱老一代Q系列PLCQ2A/Q3A/Q4A这类早期CPU使用的专用通信协议和后来Q系列用的MC协议不是一回事。这篇笔记就围绕这个模块的使用手册V1.2展开讲清楚它到底是做什么的、怎么接线、参数怎么设、调试时有哪些坑以及怎样用它替代串口线把老PLC真正变成网络节点。适合正在做老产线改造、设备数据采集或触摸屏远程监控的电气工程师和现场维护人员。2. 模块定位与工作原理为什么QnA系列必须用专用协议转换2.1 QnA、Q系列与FX系列编程口差异决定了转换方案不能通用三菱PLC里有几条产品线很多人一听到“三菱”就默认指令集和通信协议都差不多这是个致命误解。FX系列走的是编程口专用协议Q系列Q00/Q01/Q02/Q03等走的是MC协议而QnA系列属于更早的过渡代它的CPU比如Q2A、Q3A、Q4A虽然安装底座和后来的Q系列有点像但内部通信帧结构完全不同。QnA的编程口输出的是它自己的帧格式既不是标准的MC帧也不是后来Q系列那种封装方式。这意味着你如果拿一个给FX系列设计的以太网模块插到QnA CPU上或者用一个支持“三菱MC协议”的通用网关去接QnA结果只有两种要么完全不通要么能建立TCP连接但读回来的寄存器数据全是乱码或报错码。BCNet-QnA之所以要单独做一个型号就是因为模块内部的协议栈是针对QnA帧做了专门解析的它在串口侧捕获CPU发出的原始帧然后在模块内完成帧格式重组再以TCP/IP的方式转发给上位机或触摸屏。实际项目里有人会把QnA CPU当成普通Q系列来配拿GX Developer通过以太网去连结果提示“无法与PLC通信”或者“响应超时”。这不是模块坏了也不是网线问题而是上位机软件用了Q系列的连接方式去访问QnA。GX Developer要访问QnA往往需要选对CPU类型和通信方式这一步选错后面所有尝试都是白费。2.2 BCNet-QnA在链路里的位置串口捕获、协议转发、虚拟串口三种模式从链路结构上看BCNet-QnA是插在PLC编程口和上位机之间的一个协议转换设备。物理连接是QnA CPU的编程口通过专用电缆接到模块的串口侧模块的RJ45网口接到交换机或直接连电脑网卡。数据流向是上位机发起读请求 → 模块收到以太网帧 → 模块将请求翻译成QnA帧格式 → 通过串口发给CPU → CPU响应 → 模块再把响应翻译回以太网帧格式发回上位机。这个模块在逻辑上支持三种工作方式。第一种是透传模式模块只做串口与以太网之间的透明搬运不解析内容这种模式多半用来做远程编程调试相当于一根很长的串口线。第二种是协议转换模式这也是使用手册V1.2里默认推荐的方式模块把QnA帧转换成标准TCP/IP数据让上位机可以用TCP Socket直接读写。第三种是虚拟串口模式模块在电脑上虚拟出一个COM口原有组态软件或者串口调试工具不需要改任何配置把通信端口指向这个虚拟COM口就能继续用这对老旧的工控软件特别友好。这三种模式的差别用一张表可以看得很清楚模式串口侧行为以太网侧行为典型用途透传模式原样转发原始字节流透传远程编程调试GX Developer远距离连接协议转换模式解析QnA帧并重组TCP Server/Client标准Socket通信SCADA数据采集、自定义上位机虚拟串口模式解析QnA帧并重组虚拟COM口映射老组态软件不改程序直接接入混合模式按需求切换同时支持Socket和虚拟串口调试与运行并存验证阶段使用需要留意的是透传模式和协议转换模式在模块固件里往往不能同时开启V1.2手册里写的是通过配置工具里面的“工作模式”下拉框来切换。调试阶段我一般先切到透传模式用串口调试工具抓一下模块和PLC之间的原始通信数据确认链路没问题再切到协议转换模式去联调上位机。2.3 选型对照表什么时候选BCNet-QnA而不是FX模块或QJ71E71手里有一台QnA PLC想上以太网摆在你面前有几条路换PLC、加装QJ71E71以太网模块、用BCNet-QnA这类协议转换模块。换PLC成本太高改造量巨大一般不作为选项。加装QJ71E71呢QnA系列是支持这个扩展模块的但它需要占用PLC的安装槽位还要考虑I/O分配、模块初始化设置编程量不小而且QJ71E71本身是走MC协议的如果你手里已经有别的设备在用QnA专用格式麻烦。剩下就是BCNet-QnA这种协议转换方案。选型时真正要判断的是三个条件第一PLC必须是带编程口的独立CPU底座本身不带以太网第二通信数据量不大主要做读写寄存器、监控状态、上下载程序第三现场没有多余槽位或者不想改动原PLC配置。这三个条件同时满足时BCNet-QnA几乎是最省事的方案不需要改PLC程序不需要额外组态模块插上去就相当于给PLC加了一个网口。但也要提醒一句BCNet-QnA不是万能的。如果你需要高速、大数据量的以太网通信比如多个伺服驱动器批量读写、视觉系统实时交互那协议转换模块的处理能力和带宽会不够用。这种场景应该老老实实上QJ71E71或者直接换新一代Q系列CPU。协议转换这种事本质上是用“慢”换“省”省的是改造工作量牺牲的是通信效率心里要有数。3. 硬件安装与接线从确认CPU型号到上电检查3.1 确认PLC型号与运行状态QnA CPU型号识别与面板状态判断动手接线前第一件事是确认手里的PLC确实是QnA系列而不是后来那种Q系列带USB口的CPU。识别方法很简单看CPU模块正面的型号标签QnA系列常见的有Q2A、Q2AS、Q3A、Q4A等型号里通常有字母A。再看编程口QnA的编程口是那种25针的D-Sub插座而Q系列常用的编程口是USB口或者迷你DIN圆头一眼就能区分。确认CPU型号的同时还要确认PLC当前处于什么状态。看CPU面板上的RUN/STOP指示灯RUN亮表示PLC在运行STOP亮表示处于停止状态。接模块之前最好让PLC保持在RUN状态因为有些老CPU在STOP状态下编程口会自动进入等待连接模式模块上电后和CPU之间的握手时序会不一样容易让第一次调试的人误判为通信失败。还有个容易忽略的点QnA系列CPU的编程口默认通信参数不是统一的有的CPU是9600bps有的可能是19200bps这取决于CPU型号和拨码开关设置以及是否有人在程序里用特殊继电器改过通信设置。模块串口侧的波特率必须和CPU一致不然模块和CPU之间根本没法通信。我一般会在接模块之前先用一条串口线把CPU和电脑连起来在GX Developer里确认能正常连接顺便读取一下PLC的通信参数再决定模块串口侧怎么设置。3.2 模块与PLC编程口之间的接线信号定义与接线原则QnA编程口是25针D-Sub模块串口侧一般也是配了对应的接头。接线原则按RS-422来对待发送数据SD、接收数据RD、信号地SG这三个信号是必须的。信号地必须接而且要从PLC侧引出不能偷懒不接。很多现场通信时好时坏就是信号地悬空导致的。屏蔽层的处理也值得一提通信电缆的屏蔽层应该在PLC侧单端接地或者接到模块外壳接地端子不要在两头都接避免形成地环路。地环路一形成PLC和模块之间的地电位差会产生共模干扰轻则通信误码重则击穿串口芯片。这一条在变频器多的现场尤其重要感应电一大屏蔽层两头接地几乎必出问题。具体管脚号怎么定义以随模块附带的说明书为准不同批次可能会有细微差别。我在现场一般会做这么一件事拿万用表量一下编程口各脚的电压正常情况下SD脚和RD脚对SG会有一定的直流偏压通过这个能快速判断线缆是否接对也能确认该用哪几根线。3.3 供电与接地24V电源接法及共地问题BCNet-QnA模块通常需要外部提供DC 24V电源常见做法是直接取PLC电源端子或开关电源的输出。接线时注意正负极别反了模块上一般有电源指示灯上电后灯亮说明供电正常。这里最容易被忽略的是共地问题。模块的电源地和PLC的信号地看似不相关实际上如果不共地PLC和模块之间的串口通信会变得非常不稳定。我遇到的案例里最典型的现象是模块用独立开关电源供电PLC用另一路电源两路电源不共地结果是模块和PLC能连上但每隔几十秒就通信超时一次。把两路电源的负极用一根线连在一起之后问题立刻消失。所以接线的习惯是模块电源负极端子要和PLC电源负极端子共地就算PLC那边是内部隔离的也建议用一根短粗线把两地连起来这个动作成本极低但能解决大量疑难杂症。3.4 上电检查清单模块与PLC两边灯的状态怎么看接线完成并上电后不要急着连上位机先看指示灯。模块PWR灯亮说明供电正常RUN灯闪烁或常亮说明模块固件正常启动。PLC侧CPU的RUN灯保持亮COM口指示灯如果有的话会在通信发生时有活动指示。模块和PLC之间的串口链路是否建立很多模块上用“LINK”灯或者“COM”灯来指示V1.2手册里描述的是模块上电后会自动检测编程口是否有数据帧检测到有效帧时链路指示灯会从慢闪变成快闪或常亮。如果你看到模块RUN正常但COM/LINK灯从来不亮基本可以断定问题出在串口接线或者波特率不匹配而不是以太网侧。这时候先把网线拔了专心查串口侧用万用表量线、核对信号定义、检查波特率链路灯亮了再回头看以太网。提示模块上电前确认PLC的编程口没有被其他设备占用。有些老设备改造时PLC编程口还插着原来的编程电缆如果那头还接着电脑或触摸屏模块抢不到总线即使接线正确链路灯也不会亮。4. 参数设定与通信联调配置工具里必须搞定的5个参数4.1 IP地址、子网掩码、网关规划一个不会冲突的小网段以太网通信的第一步永远是IP规划。模块的IP地址要和你准备连接它的上位机在同一个网段。也就是说如果电脑网卡IP是192.168.1.100子网掩码255.255.255.0那模块的IP就要设为192.168.1.xx≠100网关按现场实际填如果没有路由需求网关可以填192.168.1.1或者留空视模块配置工具而定。规划IP时要在图纸上记清楚避免和现场已有的设备冲突。我见过一个项目模块IP和触摸屏IP设成了同一个地址结果一上电两台设备轮流掉线查了半天才发现是IP地址打架。建议的做法设备改造时专门划出一段地址比如192.168.1.200到192.168.1.210用来分配给所有新加的协议转换模块每台设备贴标签写上IP防止后续维护的人改错。子网掩码那栏有人喜欢填255.255.255.0有人填255.255.0.0区别在于通信范围大小。如果上位机和模块之间隔着一个三层交换机、分成多个VLAN那网关一定要填对填错或留空会让跨网段通信直接失败。如果只是模块和电脑直连或者在同一台交换机下网关留空问题不大。4.2 串口参数与PLC站号波特率、数据格式要和CPU保持一致模块串口侧能设置的参数一般包括波特率、数据位、停止位、校验位以及PLC站号。这些参数必须和QnA CPU的实际设置完全一致任何一个不匹配模块和PLC之间都无法建立正常通信。QnA系列CPU侧的默认通信参数大概率是8位数据位、1位停止位、偶校验或奇校验波特率可能是9600或19200。但注意这只是大概率不能当作定论。最可靠的做法是连接GX Developer在PLC参数里查看通信设置或者在模块配置工具里逐个尝试直到链路指示灯变亮。V1.2手册里通常会给出一张“串口参数对照表”列出不同CPU型号对应的默认值但这张表只能作为起点实际以PLC里读出来的值为准。站号这个参数也常被搞错。QnA CPU作为从站时有一个站号通常默认是0或FF取决于PLC参数设置。上位机发送的请求帧里会带上站号模块转发给PLC时也要用同样的站号。如果你上位机里填的站号和PLC参数不一致那通信结果会表现为偶尔能读通一次大部分时候超时。有人会以为是模块不稳定其实是站号搞错了。4.3 工作模式的选择TCP Server还是TCP Client与轮询方式的取舍模块的以太网侧工作模式决定它是以服务器身份等你来连还是作为客户端主动去找上位机。V1.2手册里这两种模式都支持选择依据很简单上位机软件是主动连接型还是被动监听型。大多数组态软件和SCADA系统是主动连接型也就是上位机作为TCP客户端去连设备这时候模块应设置为TCP Server模式固定IP等待连接。少数场景下比如模块要主动把数据推送到某个服务器那模块就要设为TCP Client模式填上服务器的IP和端口。还有一种情况现场有一台触摸屏原本通过串口直连PLC现在想改成都走以太网那模块要同时支持触摸屏连接和上位机连接这就涉及到模块是否支持多连接。V1.2手册里提到的连接数上限通常是2到4个够用但不算多设计时要数清楚到底有几个上位机或触摸屏要同时访问PLC别超了上限。UDP模式我一般不建议在生产场合用。UDP虽然开销小、速度略快但它是无连接的丢包不重传在工业现场这种干扰较多的环境里通信质量不稳定的时候很难排查。除非你的上位机程序专门按UDP设计、能容忍丢包重试否则还是用TCP稳妥。4.4 用最小命令在本地验证链路从一个Ping到一条Modbus查询参数写好后用下面的步骤把链路捋一遍每一层都验证过再连上位机能省掉后面大量排查时间。全程只需要一台笔记本电脑和一条网线。先给电脑网卡配一个和模块同网段的IP地址然后检测物理链路ping 192.168.1.200如果Ping不通先看网线、交换机端口指示灯和模块上以太网口的Link灯。Link灯不亮就是网线问题或网口接触不良Link灯亮但Ping不通就要检查电脑网卡IP和模块IP是不是同一个网段。第三步确认TCP端口是否开放。模块的以太网端口号一般是特定的比如监听端口是5000或8000具体看手册。用下面的命令扫描模块端口代替手工Telnet验证nc -zv -w 5 192.168.1.200 5000这条命令的意思是连接目标IP的5000端口等待5秒连接成功会返回open失败会返回unreachable或timeout。如果端口是closed说明模块上Server模式没有启用或者端口号不对。这一步通过说明以太网链路和模块的网络服务已经正常。如果模块支持用Modbus TCP进行数据读取那最后一步可以用现成的Modbus工具发一条查询指令确认能拿到PLC的数据。注意QnA的寄存器地址映射不是标准Modbus格式模块在转换时会把QnA的软元件编号映射到Modbus地址上映射规则在V1.2手册里专门有一张表格。初次调试时要仔细看这张表不然你读了100个地址以为对应D100实际读的是D110数据对不上会一头雾水。注意模块参数写完后有的参数需要断电重启才能生效。常见做法是用配置工具写入参数软件提示成功然后你拔掉模块电源重新上电。别嫌麻烦也别用软件内部的“复位”按钮替代断电个别固件版本复位后参数并不重新加载。5. 老PLC上以太网避坑最容易翻车的6个错误现场5.1 模块和PLC链路灯常亮但上位机连不上协议封装格式选错了现象是模块上电后串口侧链路指示灯正常亮起说明模块和PLC之间通信没问题但用上位机Socket去连模块的IP和端口一直连不上或者连上了发读命令就超时。原因是模块里除了“工作模式”还有一个“协议类型”或“帧格式”选项用来指定上位机发过来的是什么格式的数据。很多人默认填了Modbus TCP但V1.2手册里这个模块的协议选项可能有好几种比如“QnA over TCP”和“Modbus TCP”是两回事。上位机发的是Modbus帧模块侧选的是QnA格式转发给PLC后PLC根本不认。解决方法是先把上位机或调试工具的协议格式选对再看模块侧的协议选项。调试阶段最快的办法是模块自带一个测试页或命令行工具可以直接以字节形式查看上位机发来的原始帧。发一条Modbus报文看模块收到的十六进制数据是什么就能确认是格式不匹配还是模块解析出错。5.2 能Ping通但通信时断时续信号地和两端供电没有共地现象是模块的IP能Ping通上位机也能偶尔读到数据但通信非常不稳定有时几秒钟就断一次有时一二十分钟才断一次。这种问题最容易让人误判为模块质量不好。原因大多是串口侧信号地悬空或者模块电源和PLC电源没有共地。QnA编程口是RS-422电平对地电位差很敏感如果模块侧和PLC侧的地电位不一致串口芯片输出的差分信号会被共模干扰淹没。解决检查25针线缆里SG线是否接通把模块电源负极和PLC电源负极短接如果现场变频器多尽量让通信线远离动力线不能避开的话就穿金属管并让屏蔽层单端接地。眼下的解决办法里“把两个电源共地”这一步的效果最立竿见影超过一半的时断时续都是这个问题。5.3 原来直连触摸屏正常改成以太网后触摸屏黑屏没有查触摸屏的连接方式现象是PLC原来通过串口直接连着一台触摸屏一切正常。改造后触摸屏改走以太网接到交换机结果触摸屏直接黑屏或提示“无连接”。原因是老触摸屏的通信协议和端口设置固化在工程文件里你把硬件链路改成以太网但触摸屏工程里的连接对象还是“串口”或者协议类型还是“QnA串行”而不是“以太网/QnA”。解决在触摸屏组态软件里新建一个通信连接连接方式选择“以太网”协议选择模块对应的协议名IP填模块的IP而不是PLC的IP。端口号要看模块手册触摸屏侧也要填同一个端口。要注意的是触摸屏工程里设备IP的概念要理清模块代替了PLC的网络身份所以触摸屏访问的是模块的IP而不是一个不存在的PLC直连IP。5.4 模块配置工具连不上模块电脑网卡和模块不在同一网段这个属于入门级但是现场高发问题。现象是双击厂商配置工具点击“搜索设备”列表里一片空白找不到模块。原因是电脑网卡的IP和模块的出厂IP不在同一个网段很多模块出厂IP是192.168.0.x或者10.0.0.x而你的电脑可能是自动获取IP拿到了一个192.168.1.x的地址。配置工具的搜索功能通常基于广播包广播域不同就发现不了设备。解决手动把电脑网卡IP改成和模块出厂IP同网段的临时地址再搜索。搜到模块后再把模块IP改成现场规划地址。改完IP后再把电脑网卡改回正常地址。整个过程中电脑和模块要直连别过交换机不然交换机端口配置也可能挡住广播包。5.5 模块参数保存失败断电后恢复出厂配置工具保存按钮没生效现象是你在配置工具里把IP和波特率都改好了工具也提示“写入成功”但模块一断电再上电参数全部还原或者恢复成出厂默认值。原因有两个。一个是写入参数后没有执行“保存到FLASH”或“持久化”操作参数只写在运行内存里断电即失。多数模块为了延长存储器寿命默认不会每次写入都刷FLASH需要你手动点保存按钮。另一个是有些配置工具在保存时要求字段校验全部通过才能写入比如IP地址里某个位填了超范围的值保存动作会失败但界面上不一定有红色提示。解决写入参数后寻找“保存”或“持久化”按钮并点击然后断电重启重启后再用配置工具连接模块读回参数核对是否一致。这个“写回来后读一遍”的习惯非常值得养成能避开大量后续麻烦。5.6 GX Developer通过模块连PLC时提示CPU类型不匹配仿照串口直连的参数设置现象是你在GX Developer里设置以太网连接填了模块的IP和端口却提示“无法与PLC通信”或“CPU型号不匹配”而你确认模块和PLC之间的链路正常。原因是GX Developer通过以太网连接PLC时它会按照以太网模块的通信方式去连接而不是按QnA编程口的串口协议去连接。BCNet-QnA模块在透传模式下虽然物理上是“串口转以太网”但GX Developer并不认为对方是一个以太网模块它可能要求你说清楚是“通过编程口直连”还是“通过网络模块连接”。解决GX Developer里选择“直接连接”通信方式选择与编程口一致的串口方式然后在网络设置里把模块的IP和端口填上让GX Developer把模块当成一个透明链路来用。注意分清楚“透明链路”和“以太网模块”在GX Developer的逻辑里是完全不同的连接类型选错了就会卡在CPU类型检测上。这块的细节建议多看模块手册里关于透传模式的章节照着示例一步步来比自己在软件里瞎试要快得多。6. 把这个模块用透轮询间隔设置与虚拟串口的两个进阶验证手段调试通过、通信稳定之后还有两个手段能让模块用得更顺手。第一个是轮询间隔的设置。上位机在读取多个寄存器地址时是逐条发出读请求的。如果上位机把间隔设得太短比如10毫秒就发一条读命令模块每条命令转发给PLC后要等PLC处理完老CPU处理一条指令需要几十毫秒这样连续发会大量超时重试整体效率反而更低。我一般把轮询间隔设在100毫秒以上读一批连续地址用批量读指令而不是一条一条单独读通信成功率会明显提升。你可以在模块的调试日志里看到每条请求的响应时间如果发现大量超时记录先看轮询间隔再看站号。第二个是虚拟串口的验证方法。模块在虚拟串口模式下会在电脑上生成一个COM口比如COM5。连接方式为串口的旧组态软件不需要改工程文件只要把通信端口改成COM5就能用。验证办法很简单先在电脑上打开一个串口调试助手连接COM5然后发一条调试指令如果模块配置成透传模式调试助手会收到PLC返回的原始帧如果配置成协议转换模式会收到转换后的数据帧。通过这个方式不用等组态软件启动就能快速验证模块工作状态。最后说一个我的真实教训有一次在现场改了模块的IP和端口忙了一下午没记住改成了什么第二天来现场带了另外一台电脑怎么都搜不到模块最后一台一台查IP才把模块找回来。从那以后我每次改模块参数之前先导出一份当前配置存档写好项目名称和日期改完后把最终的参数配置也存一份。模块配置工具一般都支持导出配置文件这个动作一分钱不花但在半年后设备故障需要换模块时能让你直接从配置文件恢复所有参数不用头天晚上翻聊天记录找IP。希望这个习惯也能帮到你少踩一次坑。本文还有配套的精品资源点击获取
返回列表
PREV
查看更多资讯
NEXT
返回资讯列表