1. 项目概述:当三菱PLC遇上信捷触摸屏
在工业自动化现场,人机交互界面(HMI)与可编程逻辑控制器(PLC)的通信是构建控制系统的基石。最近,一个朋友的项目里遇到了一个典型的组合:三菱FX系列PLC需要与信捷(XINJE)的触摸屏进行数据交互。他最初以为就是简单的连线、设置一下站号,结果在实际调试中,通信死活连不上,变量读不上来,急得团团转。这个场景太常见了,很多刚接触工控的朋友,甚至一些有经验的工程师,在面对不同品牌设备互联时,也容易在通信配置这个环节“踩坑”。
这个项目标题“三菱PLC-信捷触摸屏通信(编程)”,看似简单,实则涵盖了从硬件接口选择、通信协议理解、参数设置到触摸屏画面编程的完整链路。它绝不仅仅是插上一根线那么简单。核心要解决的是两个不同品牌设备之间如何“说同一种语言”,并稳定、高效地交换数据。无论是监控设备运行状态、设置工艺参数,还是下发启停命令,都依赖于这条通信通道的畅通。本文将从一个实际调试者的角度,彻底拆解三菱PLC与信捷触摸屏通信的每一个技术细节、配置步骤和避坑指南,让你不仅能连上,更能理解背后的原理,做到举一反三。
2. 通信方案选型与核心原理拆解
在动手接线和配置之前,我们必须先搞清楚有哪些通信方式可选,以及它们背后的工作原理。这决定了后续所有操作的走向。
2.1 主流通信接口对比:串口 vs 以太网
三菱FX系列PLC(如FX3U, FX5U)和信捷触摸屏通常支持以下几种物理通信方式:
RS-485/RS-422串行通信:这是最传统、最普遍,也是成本最低的方式。三菱PLC侧通常使用FX3U-485-BD或FX3U-485ADP-MB等通信扩展板。信捷触摸屏则自带COM口(通常是RS-485接口)。其核心协议是三菱的专用协议(常被称为“三菱协议”或“MELSEC通信协议”)。这种方式的优点是硬件简单、抗干扰能力强、距离远(可达1200米),缺点是速度相对较慢,且通常只能实现一对一的连接,或者通过触摸屏做中转实现有限的主从网络。
以太网通信:对于新型号如FX5U、Q系列以及信捷的高端触摸屏,以太网成为了更优选择。它基于TCP/IP协议,速度极快,支持多设备、远距离(局域网内)灵活组网。通信协议上,除了三菱自身的MC协议(MELSEC Communication Protocol)外,信捷触摸屏也可能支持Modbus TCP。如果PLC是FX3U等老型号,可能需要额外添加以太网模块(如FX3U-ENET-ADP)。
如何选择?
- 小型设备、单机控制、预算敏感:优先选择RS-485串口通信,稳定可靠。
- 中大型系统、需要与上位机(SCADA/MES)集成、多台HMI访问:必须选择以太网通信。
- 未来扩展性考虑:即使当前是单机,如果未来有联网需求,直接上以太网是更前瞻的选择。
注意:很多通信失败的第一步错误就出在这里——误以为触摸屏的COM口是RS-232,直接用了RS-232的接线方法去接RS-485,导致信号电平不匹配,无法通信。务必确认接口类型。
2.2 通信协议的本质:地址映射与指令解析
无论采用串口还是以太网,物理层之上都需要一个“翻译官”,这就是通信协议。对于三菱PLC与信捷触摸屏,核心是理解设备地址的映射关系。
三菱PLC有自己的软元件地址体系:
- D:数据寄存器(如 D0, D100)
- M:辅助继电器(如 M0, M100)
- X:输入继电器(如 X0)
- Y:输出继电器(如 Y0)
- T:定时器当前值(如 T0)
- C:计数器当前值(如 C0)
信捷触摸屏软件(如XDPPro)在配置变量时,并不能直接识别“D100”这样的符号。它需要通过一个“协议驱动”来将屏内部的变量地址与PLC的实际软元件地址对应起来。这个映射过程,就是通信配置的核心。
以最常用的三菱FX系列串口协议为例,在信捷触摸屏的驱动配置里,你需要选择“三菱_FX系列_编程口”或“三菱_FX系列_485”等驱动。选择后,在定义变量时,地址栏的填写格式就变得至关重要。例如:
- 要读取PLC的D100寄存器,在信捷软件中地址可能填写为
D100。 - 要读取M50触点状态,地址可能填写为
M50。
但这里有一个巨大的坑:不同协议驱动下,地址的基址和格式可能不同!有些驱动要求地址从0开始计算(即D100对应地址100),有些则需要加上一个偏移量。如果地址填错,触摸屏读写的将是PLC里完全不同的一个区域,导致控制失灵。
实操心得:在调试初期,务必先在信捷软件中建立一个最简单的测试画面:放一个数值显示框关联D0,一个按钮关联Y0。然后在PLC里写一段简单的测试程序,让D0每秒自加1,并让Y0的状态随某个条件变化。用这个最小化系统来验证通信地址映射是否正确,是最快最有效的方法。
3. 硬件连接与参数配置实战
理论清晰后,我们进入实战环节。这里以最常见的FX3U PLC + RS-485 + 信捷触摸屏组合为例,进行详解。
3.1 硬件接线图与要点
首先,你需要准备:
- 三菱FX3U PLC 本体
- FX3U-485-BD 通信板(安装在PLC侧面)
- 信捷触摸屏(确认其COM口为RS-485,通常是两线制A+, B-)
- 双绞屏蔽线(推荐使用带屏蔽层的双绞线,抗干扰)
接线方法(两线制RS-485):
- 将FX3U-485-BD板的SDA端子与触摸屏RS-485 A+(或 Data+) 端子连接。
- 将FX3U-485-BD板的SDB端子与触摸屏RS-485 B-(或 Data-) 端子连接。
- 至关重要:将通信双方的SG(信号地)端子连接起来。很多通信不稳定、时好时坏的问题,都是因为忽略了信号共地。虽然RS-485是差分信号,理论上不需要共地,但在复杂工业现场,共地能有效消除共模电压,大幅提升稳定性。
- 在总线两端(即PLC端和触摸屏端)的A+和B-之间,各并联一个120欧姆的终端电阻。它的作用是消除信号在电缆末端的反射,保证通信波形完整。对于短距离(<50米)通信,有时可以省略,但规范做法是加上。
提示:如果通信距离超过50米或环境干扰大,务必使用屏蔽线,并将屏蔽层单端接地(通常接在控制柜的接地排上),避免形成地环路。
3.2 PLC侧参数设置:GX Works2 编程软件操作
通信是双向的,PLC这边必须“开门迎客”。我们需要在PLC的编程软件(GX Works2)中设置通信参数。
- 打开参数设置:在GX Works2工程导航栏中,找到“参数” -> “PLC参数”。
- 设置协议:打开“PLC系统设置”(FX系列)或“模块参数”(Q/FX5系列)。找到与你的485模块对应的设置项(例如“CH1”或“串行通信设置”)。
- 协议:选择“专用协议通信”或“MELSEC协议”。这是让PLC作为从站,响应触摸屏(主站)查询的模式。
- 数据长度、奇偶校验、停止位:这里必须与触摸屏侧的设置完全一致!最常用的设置是:数据位 7位,偶校验,停止位 1位,波特率 9600bps。这是三菱FX系列专用协议的常见默认设置。波特率可根据需要提高(如19200, 38400),但需同步修改触摸屏设置。
- 站号设置:如果总线上只有一台触摸屏和一台PLC,站号通常设置为默认的1(或0)。如果有多台设备,则每台设备必须有唯一的站号。
- 写入参数并重启:设置完成后,将参数写入PLC,并断电再上电,使新参数生效。这一点非常关键,串口通信参数在运行时修改通常需要重启才能生效。
3.3 触摸屏侧参数设置:XDPPro 软件操作
现在配置请求方——信捷触摸屏。
- 新建工程与设备连接:打开信捷XDPPro软件,新建工程,选择正确的触摸屏型号。在“系统参数”或“设备管理”中,添加一个新的设备。
- 选择驱动:设备类型选择“PLC” -> “MITSUBISHI”(三菱) -> 根据你的连接方式选择,例如“MITSUBISHI FX Series(485)”。如果是以太网连接,则选择对应的“MITSUBISHI MC Protocol (Ethernet)”等。
- 配置通信参数:这是与PLC侧匹配的环节。
- 接口类型:选择“RS485 2W”。
- COM端口:选择触摸屏实际连接通信线的物理端口(如COM1)。
- 波特率、数据位、停止位、校验:必须与PLC侧设置一字不差。例如:9600, 7, Even, 1。
- 站号:填写PLC的站号(默认为1)。
- 应答超时、重试次数:这些是通信可靠性参数。在干扰大的环境,可以适当调大超时时间(如3000ms)和重试次数(如3次)。
- 测试连接:部分版本的XDPPro软件提供“通信测试”功能。在配置好参数后,用编程线连接电脑和触摸屏,点击测试。如果显示“通信成功”,则说明参数基本正确。但请注意,这个测试仅代表屏与电脑通信正常,最终还是要和PLC联调。
4. 触摸屏画面编程与变量关联技巧
通信通道建立后,下一步就是让触摸屏的按钮、指示灯、数据框“活”起来,与PLC的数据产生联动。
4.1 变量定义与地址映射规则
在信捷软件中,变量(或称“标签”)是连接画面元素和PLC数据的桥梁。
- 新建变量:在变量管理表中,新建一个变量,例如“电机转速”。
- 选择设备:设备栏选择你刚才创建的“三菱FX”设备连接。
- 填写地址:这是最核心的一步。地址格式必须遵循你选择的驱动规定。
- 对于数据寄存器D:直接填写
D100(表示PLC的D100寄存器)。有些驱动可能需要填写4x100(Modbus风格映射),但三菱专用协议驱动通常支持直接符号地址。 - 对于辅助继电器M:填写
M50。 - 对于输入X/输出Y:填写
X0或Y10。 - 地址类型选择:旁边通常有下拉菜单,选择“D寄存器”、“M线圈”、“X输入”等,软件会自动帮你转换。
- 对于数据寄存器D:直接填写
- 数据类型:选择与PLC中数据长度匹配的类型。例如,D寄存器一个单元是16位,通常对应“16位无符号整数(UINT)”或“16位有符号整数(INT)”。如果是32位数据(如双字运算结果存储在D101,D100中),则变量类型应选“32位浮点数(FLOAT)”或“32位整数(DINT)”,并填写起始地址
D100。
一个高级技巧:批量定义与数组如果需要在画面上显示一组连续的数据,比如D100到D119这20个温度值,不需要定义20个单独的变量。可以定义一个变量“温度数组”,数据类型为“数组”,长度20,基地址为D100。在画面中,你可以用一个“表格”元件或“历史曲线”元件直接绑定这个数组变量,一次性显示所有数据,极大地提高了效率。
4.2 基本元件应用与动画连接
信捷触摸屏提供了丰富的画面元件,如按钮、指示灯、数值输入/显示、图表、报警等。
- 按钮:用于控制。将一个“位状态设置”按钮与变量
M10关联,设置“按下时”将M10置为1,“松开时”置为0(点动),或“按下后交替状态”(自锁)。在PLC程序中,你需要编写逻辑来响应M10的变化,例如驱动一个接触器或变频器。 - 指示灯:用于状态显示。将一个“指示灯”元件与变量
Y0关联,当PLC的Y0输出为ON时,指示灯亮起(可以设置不同颜色)。 - 数值输入/显示框:用于参数设置和监控。将一个“数值输入”元件与变量
D200关联,并设置上下限(如0-1000)。操作员在屏上输入数值后,该值会通过通信自动写入PLC的D200寄存器。同理,“数值显示”框用于只读显示。 - 报警条与历史报警:这是HMI的重要功能。在信捷软件中,你需要先定义“报警信息”,关联到特定的PLC位地址(如
M100表示“电机过载”)。当PLC程序中将M100置位,触摸屏上就会弹出或记录这条报警信息。合理规划报警地址,能极大方便设备维护和故障诊断。
实操心得:画面布局与操作逻辑画面编程不仅是技术活,也是设计活。建议遵循以下原则:
- 主次分明:主画面显示最关键、最常用的信息和操作(如总启停、运行状态、产量、急停按钮)。
- 操作安全:重要的启停、参数设置按钮,可以增加“操作确认”弹窗,或与权限管理结合。
- 信息直观:用颜色、形状、动态图表来直观表达设备状态。例如,用绿色流动箭头表示物料流动,用红色闪烁表示故障。
- 导航清晰:通过清晰的菜单或按钮,让操作员能快速切换到参数设置、报警历史、手动调试等子画面。
5. 联调测试与高级功能实现
硬件连好,参数设对,画面做完,就到了最激动人心也最容易出问题的环节——上电联调。
5.1 系统性调试步骤与诊断方法
遵循以下步骤,可以有条不紊地定位问题:
- 硬件自查:断电状态下,用万用表通断档检查接线是否正确、牢固。重点检查A+对A+,B-对B-,信号地是否连通。
- 参数复查:再次核对PLC和触摸屏双方的波特率、数据位、校验位、停止位。99%的通信失败源于此处的微小差异。
- 最小化测试:如前所述,创建一个最简单的测试画面和PLC程序。先确保最基本的位(M点)和字(D寄存器)能正确读写。
- 利用指示灯诊断:
- PLC通信指示灯:FX3U-485-BD板上有SD(发送)和RD(接收)指示灯。当触摸屏尝试通信时,这些灯应该闪烁。如果完全不闪,说明物理层或基本参数有问题,数据根本没发出来或收不到。
- 触摸屏通信状态:在信捷触摸屏的系统信息或诊断画面中,通常可以查看当前与PLC的通信状态(“通信正常”或“通信错误”)。
- 软件监控:在GX Works2中,使用“在线”->“监视”功能,查看PLC程序运行状态。同时,观察你测试用的D0寄存器数值是否随着触摸屏的操作而改变。这是最直接的验证方式。
5.2 通信超时、断线处理与心跳机制
在工业现场,干扰不可避免,通信可能偶尔中断。一个健壮的系统必须能处理这种情况。
- 通信超时设置:在信捷触摸屏的设备连接参数中,合理设置“应答超时”时间(如1500ms)。如果超过这个时间没收到PLC回复,屏会认为本次通信失败,并触发重试或报警。
- 断线报警:信捷触摸屏软件通常提供“通信状态”变量或系统寄存器。你可以将这个状态(例如,
$Device0.Status)关联到一个画面上的报警指示灯,或者用它来触发一个声光报警,提醒操作员检查通信线路。 - 实现心跳机制:这是提升可靠性的高级技巧。在PLC中创建一个专用的“心跳”位,例如
M8000(PLC运行常ON触点)驱动一个定时器,让某个寄存器(如D9999)每隔一定时间(如1秒)加1。在触摸屏端,用一个数值显示元件监视D9999,并设置其“值变化”事件。如果该值在超过3秒内没有变化,则通过触摸屏的宏指令或脚本,判断为通信中断,执行预设的安全操作(如弹出严重报警、将设备切换到安全状态)。
5.3 多屏一机与一屏多机配置
随着系统复杂化,通信拓扑也会变化。
- 多台触摸屏监控同一台PLC:对于RS-485网络,可以将多台信捷触摸屏的A+、B-、SG并联到PLC的485总线上。关键点:每台触摸屏必须设置不同的“本地站号”(作为主站标识,非必须但建议),同时它们访问的PLC(从站)站号是相同的。需要特别注意总线负载和终端电阻的配置(只在总线最远端的两台设备上加终端电阻)。
- 一台触摸屏与多台PLC通信:这在分站控制系统中很常见。在信捷XDPPro中,你可以在“设备管理”中添加多个设备连接,分别指向不同的PLC(设置不同的站号或IP地址)。在画面编程时,为每个变量选择正确的设备连接即可。触摸屏会以轮询的方式依次与各PLC通信。此时需要合理设置每个连接的通信周期,确保总体的响应速度满足要求。
6. 常见故障排查与经验实录
即使按照指南操作,现场调试仍可能遇到各种古怪问题。下面是我和同行们踩过的一些“坑”及解决方案。
| 故障现象 | 可能原因 | 排查步骤与解决方案 |
|---|---|---|
| 通信完全失败,指示灯不闪 | 1. 电源未接通或接线错误。 2. 通信参数(波特率等)双方不一致。 3. PLC未设置为“专用协议”模式。 4. 触摸屏驱动选择错误。 | 1. 检查接线和电源。 2.逐字核对双方通信参数,确保完全一致。 3. 确认PLC参数已写入并重启。 4. 确认触摸屏选择的驱动与PLC型号、连接方式匹配(如FX3U 485选对应驱动)。 |
| 通信时好时坏,数据偶尔错误 | 1. 线路干扰(未使用屏蔽线或屏蔽层未接地)。 2. 终端电阻未接或接错位置。 3. 通信距离过长,波特率过高。 4. 信号地(SG)未连接。 | 1. 更换为带屏蔽的双绞线,屏蔽层单端可靠接地。 2. 在总线两端(PLC端和最近的屏端)并联120Ω电阻。 3. 降低波特率(如从38400降至9600),或增加中继器。 4. 连接PLC和触摸屏的SG端子。 |
| 触摸屏能读但不能写PLC数据 | 1. PLC中对应的软元件被写保护(如D寄存器范围设置)。 2. 触摸屏变量地址类型选错(如把只读的X点当作可写的M点)。 3. PLC程序正在大量写入该地址,导致冲突。 | 1. 检查PLC参数中是否有对特定D寄存器范围的写保护设置。 2. 核对变量关联的地址类型是否正确(输入X只读,输出Y、辅助M、数据D可读写)。 3. 在PLC程序中,避免在通信周期内频繁改写触摸屏需要操作的地址。 |
| 通信速度慢,画面切换卡顿 | 1. 波特率设置过低。 2. 触摸屏画面中变量过多,通信负载大。 3. 轮询多台PLC时,循环周期设置过长。 | 1. 在保证稳定的前提下,适当提高波特率(如升至19200)。 2. 优化画面,减少同时刷新或轮询的变量数量。使用“间接窗口”、“数据记录”等功能分时加载数据。 3. 优化多设备连接的轮询时序和超时时间。 |
| 上电初期通信正常,运行一段时间后中断 | 1. 设备发热导致接口芯片或线路特性变化。 2. 现场有大功率设备启停,造成瞬间强干扰。 3. PLC或触摸屏的通信模块硬件故障。 | 1. 检查设备通风散热情况。 2. 强化接地和屏蔽,通信线路远离动力线。 3. 尝试更换通信模块或电缆,进行交叉测试以定位故障硬件。 |
一个记忆深刻的案例:有一次调试,通信始终不通,所有参数检查了无数遍都正确。最后发现,客户提供的FX3U-485-BD板是二手的,其上面的终端电阻选择开关被拨到了“ON”的位置(内部已接终端电阻),而我们在外部线路末端又接了一个120Ω电阻,导致并联电阻过小,信号被严重衰减。将外部电阻移除后,通信立刻恢复正常。所以,对于任何硬件,上电前务必了解其所有跳线或拨码开关的状态。
7. 从通信到系统:工程思维延伸
成功实现通信和基本控制只是第一步。要打造一个稳定、易用、可维护的自动化系统,还需要更上层的思考。
数据规划是灵魂:在开始编程前,最好用Excel表格规划好PLC的软元件使用。例如:
- D0-D99:留作触摸屏监控变量(转速、温度、压力等)。
- D100-D199:留作触摸屏设定参数(目标速度、温度设定值等)。
- M0-M99:触摸屏控制命令(启动、停止、复位等)。
- M100-M199:设备状态反馈与报警代码(运行中、故障1、故障2等)。 这样清晰的规划,无论是编程、调试还是后期维护,都能一目了然,避免地址冲突和混乱。
报警管理专业化:不要简单地把一个故障点M200直接显示在画面上。应该在PLC程序里,当检测到具体故障(如过载)时,将一个唯一的报警代码(如“101”)写入约定的报警寄存器(如D9000),同时置位一个总的报警标志位(M800)。触摸屏则根据D9000里的代码,去查询一个预先定义好的报警信息表,显示出“电机过载,请检查负载”这样人性化的信息。这需要PLC和触摸屏编程的配合,但极大提升了用户体验。
安全与权限:对于重要的参数设置和手动操作按钮,一定要利用信捷触摸屏的“用户权限”功能。可以设置不同级别的登录密码(如操作员、管理员、工程师),不同权限的用户能看到和操作的功能不同。防止误操作导致设备损坏或安全事故。
通信调通的那一刻固然有成就感,但让这条数据通道在未来数年里稳定、可靠地运行,承载起整个控制系统的信息流转,才是我们工程师价值的真正体现。每次项目结束,花点时间整理一份通信参数表、接线图和地址分配表,并和程序一起归档。这份文档,在未来设备改造、故障排查或人员交接时,会比黄金还珍贵。