首页 > 全部分类 > 技术问答 > 帖子内容

威纶通 EasyBuilder Pro 的穿透传输(Pass-Through)功能死穴: 威纶通 cMT 系列 HMI,网口接外网/局域网,串口(RS485)接三菱 FX3U PLC。 在 EBPr

联系人:15635859459462

电话/手机:联系客服

发布时间:2026-09-29 06:26

浏览:52次

威纶通 EasyBuilder Pro 的穿透传输(Pass-Through)功能死穴:
威纶通 cMT 系列 HMI,网口接外网/局域网,串口(RS485)接三菱 FX3U PLC。

在 EBPro 里开启‘穿透传输’,电脑安装虚拟串口工具(Virtual COM)。

打开三菱 GX Works2 软件,选择虚拟串口,通信测试显示‘已与 PLC 成功连接’!

崩溃故障: 从电脑端向 PLC 读取程序完全正常;但是只要点击‘写入 PLC’,下载进度条一路跑到 98%~99% 时,必定卡住不动,10 秒后 GX Works2 弹窗报错 通信超时 / 01802015,导致 PLC 内部程序损坏变 Blank!
能读程序、也能连通,为什么偏偏在下载写入的最后 1% 必定卡死超时?
明扬工控技术客服2026-09-29 06:28:07
答复内容:亲,这个案例我觉得已经抓到两个非常关键的点了,而且其中一个需要先纠正:
威纶通官方对 Mitsubishi FX3U 的穿透通讯,专门写了一句:下载/上传 PLC 程序时,应把 LW-9903 设为 2。

因为默认 LW-9903=0 时,HMI 在 PC 穿透访问 PLC 的同时,自己仍然会继续轮询 PLC。威纶通明确说明 LW-9903=2 是 Stop Mode——穿透期间停止 HMI→PLC 通讯,并特别注明这样可提高 PLC program download/upload 的速度。dl.weintek.com
这和你现在“能读、写到99%才死”的现象非常吻合。
为什么读取正常,写程序最后1%却特别容易死?
默认状态实际上可能是:
GX Works2
   ↓
虚拟COM
   ↓
Ethernet
   ↓
cMT HMI
   ↓
──────── 串口 ────────
   ↓               ↑
GX Works2报文      HMI自己还在轮询
   ↓
FX3U

威纶通甚至明确说,FX3U 驱动支持 HMI与PLC在穿透模式下仍然同时通信。dl.weintek.com
读程序时主要是:
PC请求
↓
PLC返回数据
↓
PC继续请求下一块

偶尔被 HMI 插一帧,很多时候只是变慢,重试以后还能继续。
但“写入 PLC”不一样。它不是简单地一直发程序块,过程中还涉及写入、确认以及最后的结束处理。工程上可以把它理解成:
停止/准备PLC
↓
写参数
↓
写程序块1
↓
写程序块2
↓
……
↓
最后数据块
↓
结束写入/确认
↓
校验、状态确认

98%~99%附近恰好是链路最不能丢一次关键应答的时候之一。
这时候如果:
GX Works2:
发最后确认
       ↓
HMI:
刚好插入自己的D/M/X/Y读取
       ↓
串口响应被占用/延迟
       ↓
虚拟COM等待
       ↓
GX Works2 timeout

就会出现你这种特别诡异的:
前面几十KB都写得好好的,最后一下永远卡住。

所以这个案例我的第一刀非常明确:
LW-9903 = 2

然后再下载。
正确测试顺序我建议这样做
设备先处于安全状态,PLC STOP,避免程序中途写坏造成输出异常。
先把 HMI 的:
LW-9903 = 2

这意味着:
穿透期间 HMI 暂时停止自己与 FX3U 的通讯。

屏幕上的 PLC 数据暂停刷新是正常的。
然后:
启动 Weintek Pass-Through
↓
确认 Virtual COM 正常
↓
GX Works2 Communication Test
↓
Write to PLC

第一次只选:
Program
+
PLC Parameter

先不要把:
Device Memory
Comments
Symbolic Information
File Registers

全部一起写。
如果 Program + Parameter 能100%完成,再分别加其他内容。
写完以后:
停止 Pass-Through
↓
LW-9903 = 0

让 HMI 恢复正常 PLC 通讯。
威纶通最新版手册对 LW-9903 的定义就是:
0 = Normal Mode
    穿透时允许 HMI ↔ PLC 通讯

2 = Stop Mode
    穿透时禁止 HMI ↔ PLC 通讯

并特别说明,由于速度限制,PLC 程序 download/upload 时可设置为2。dl.weintek.com
这不是我的经验性猜测,是威纶通官方直接给 FX3U 的建议。
但还有第二个问题:你写的错误码 01802015 和“通信超时”对不上
这个我建议你特别注意。
我能查到的 GX Works2/FX3U 公开案例中:
ES:01802015

通常对应的是:
写入/读取的数据超过 Memory Cassette / PLC 参数中设置的存储容量。

而类似:
Cannot communicate with PLC

的公开案例更常见的是:
ES:01802007
``` :chatgpt-content-reference{index="3"}


所以这里存在两种可能。

### 如果你实际看到的是 `ES:01802007`

那和你描述的:

```text
Communication timeout
+
99%

是吻合的。
这时我把:
LW-9903 = 2

排第一嫌疑。
但如果屏幕上真的明确写的是 ES:01802015
那就不要把它当成穿透超时。
很可能同时存在第二个问题:
程序已经写入
↓
99%开始处理Comments / Symbolic Info / File Register等
↓
超过FX3U Memory Cassette容量
↓
ES:01802015

这反而特别能够解释:
为什么总是到98~99%才报错。

三菱官方 FX3U/FX3UC 手册明确说明,程序、comments、file registers、symbolic information 都涉及内存容量配置,而且总量不能超过 memory cassette 的可用容量;GX Works2 也提供 Confirm Memory Size 来核算程序和 symbolic information 使用量。三菱电机下载中心
所以:
99%失败

未必一定是“最后一个通信包没回来”。
也可能是:
最后才写到某一种额外数据,而那一类数据容量超限。

这也解释为什么 PLC 最后可能变成 Blank
这一点很危险。
做完整 Write to PLC 时,PLC 原有程序可能已经进入重写过程。
如果出现:
原程序已经清除/改写
↓
新程序正在写
↓
最后阶段失败
↓
整个写入流程没有正常完成

那么你最后留下来的 PLC 状态就可能不是原来的完整程序。
因此现在既然已经出现过:
“下载失败后 PLC 变 Blank”

我不建议继续一遍一遍用完整项目试。
先把链路问题和容量问题分开。
最漂亮的诊断其实只有3次测试
测试1:直连 PLC
暂时不用 HMI:
PC
↓
编程线
↓
FX3U

写同一个工程。
如果:
直连 → 100%正常
穿透 → 99%失败

基本锁定:
Pass-Through路径。

优先改 LW-9903=2、虚拟串口驱动、串口参数。
测试2:穿透 + LW-9903=2
PC
↓
cMT
↓
FX3U

LW-9903 = 2

仍然只写:
Program + Parameter

如果100%成功:
HMI并发轮询就是主因。

测试3:再把 Symbolic / Comments 等加回来
如果:
Program + Parameter → 100%

加 Comments/Symbolic → 99%失败

那就不要再怪穿透。
去 GX Works2:
Tool
→ Confirm Memory Size

检查:
Program Capacity
Comment Capacity
File Register Capacity
Symbolic Information Capacity

以及 CPU 上有没有:
FX3U-FLROM-16
FX3U-FLROM-64/64L

之类的 Memory Cassette。
三菱明确说明不同 FLROM 容量不同,而且 comments、file registers 等也会占用参数所划分的空间。三菱电机下载中心
串口参数也再核一次,但我不会把它排第一
威纶通当前 FX3U/FX3G/FX3GA Connection Guide 推荐的串口配置是:
38400 baud
7 data bits
Even parity
1 stop bit

同时支持相应的 RS232/RS485 接口配置。dl.weintek.com
当然具体要以你 PLC 当前通讯口实际参数为准。
因为:
能稳定读完整程序

已经说明:
波特率/校验位完全错的可能性很小。

但“读可以、长时间大量写不可靠”时,仍然要检查:
RS485/RS422接线
终端
接地
虚拟COM驱动
USB/网络延迟

尤其如果你接的是 FX3U 自带 8-pin Mini-DIN 编程口,要注意其物理接口是四线差分方式;不要把普通两线RS485的接线思路直接套过去。威纶通自己的 FX3U 接线页也是按 4-wire differential 方式给出的。dl.weintek.com
我现在给这个案子排嫌疑
第一名:LW-9903 仍然是默认 0。
也就是:
GX Works2正在写
+
HMI自己仍在轮询FX3U

而威纶通恰好对 FX3U 明确建议下载/上传程序时设:
LW-9903 = 2

这条证据最强。dl.weintek.com
第二名:你实际的错误码是 ES:01802015,根因不是超时,而是 Memory Cassette / Symbolic / Comment 容量。
特别是:
总在99%

非常值得查这个。
第三名:虚拟 COM / EBPro 版本较旧。
当前 Weintek 官方提供的 EasyBuilder Pro 已到 6.10.02.421(2026-08-27);官方 Pass-Through 手册也要求虚拟串口驱动保持更新。Weintek
第四名:长报文条件下的串口线路质量。
但因为 read program 一直正常,所以先放后面。
所以这个案例一句话讲透:
威纶通的 Pass-Through 默认并不一定独占 HMI→PLC 串口。FX3U 驱动允许穿透时 HMI 自己继续访问 PLC,这在普通监控和读取时通常没问题,但长时间 PLC 下载尤其最后确认阶段更容易发生竞争和超时。威纶通官方因此明确要求 FX3U 下载/上传程序时把 LW-9903 设成 2,让 HMI 暂停自身 PLC 通讯,把串口完全让给 GX Works2。

但我还会特别强调一次:
如果你屏幕上的报码真的是 ES:01802015,先截图核准,因为它不像通信超时码,更像存储容量错误。

我会先做:
LW-9903 = 2
↓
只写 Program + Parameter

如果这次直接从 99% → 100%,这个“穿透写程序死穴”基本就破了。
对不起,请登录后再发表评论!

触屏端
扫一扫手机也能发信息
明扬工控商城-工控网-工控自动化真品,一站式专业服务!