☰
FX5U通过FX5-CCL-MS接入CC-Link配置与排查
2026/9/29 2:03:44 网站建设 项目流程

线上跑了好几条带CC-Link的产线之后,我越来越觉得这套总线是个“入门容易、调稳看细节”的东西。三菱FX5U本身并不带CC-Link接口,想让FX5U作为主站去带远程IO、变频器、伺服或者另一台PLC,必须靠FX5-CCL-MS这类扩展模块来落地。这套组合在小产线改造、老设备联网、分布式IO替代传统硬接线这些场景里特别常见,因为它的接线简单、抗干扰能力不错、一次能挂的站也多。这篇文章我打算把从选型、接线、GX Works3参数配置,到程序读写和现场排查的整条路径拆开讲一遍,重点是那些手册上写着但不会告诉你在什么情况下会翻车的地方,比如终端电阻该接在哪两个端子之间、站信息设定和实际设备对不上会怎样、刷新软元件不够用怎么救。不管你是刚接手FX5U的新手,还是从FX3U那套CC-Link转过来的老手,都能直接照着做。

1. 先把角色定位搞对:FX5U做CC-Link的几条路

1.1 FX5U本体为什么接不了CC-Link

先把一个最常见的误区掐掉:有朋友看到FX5U自带RS-485端子,就想直接把CC-Link设备的DA、DB线拧上去,觉得反正都是两线制串行通信,应该能通。这是不可能的。CC-Link虽然物理层也是差分信号加终端电阻,但它的协议是轮询式现场总线协议,有自己的帧格式、站号体系、链接扫描机制,跟FX5U的RS-485口支持的MC协议、无协议通信、Modbus完全不是一回事。速率、终端电阻阻值、编码方式全都对不上,接上去的结果就是双方谁也听不懂谁。

所以FX5U要走CC-Link,只有一条正路:在CPU右侧的扩展总线上挂FX5专用CC-Link模块。FX5U系列对应的模块主要有两个方向,一个是主站模块FX5-CCL-MS,另一个是智能设备站模块FX5-CCL-GS。前者让FX5U当“指挥官”,去轮询和管理下面一堆从站;后者让FX5U降格成一个被别的CC-Link主站管理的从站设备,常见于把FX5U挂到一个大控制系统里当子站,或者两台FX5U之间做数据交互。这两者的参数配置、接线、程序写法差别不小,选之前一定先想清楚你这个FX5U在网络里是“主”还是“从”。

1.2 主站、智能设备站怎么选

我给个更实用的判断方式。如果这个网络里只有一台FX5U在“发号施令”,其他全是远程IO、变频器、阀岛、称重模块这类只管听命令的从站,那你就是主站,选FX5-CCL-MS。注意主站在CC-Link里本身也要占一个逻辑站,最多64个逻辑站里,主站先拿走一个名额,剩下63个给从站。

如果现场已经有一套在跑的CC-Link网络,主站可能是Q系列、iQ-R或者L系列的老设备,现在你加了一台FX5U只是为了采数据、做小逻辑、控制旁边的气缸,那FX5U就作为智能设备站挂进去,选FX5-CCL-GS。这里有个容易搞混的点:智能设备站和远程设备站都能传位数据和字数据,区别在于智能设备站支持瞬时传送(指令通信),也就是说主站可以针对某一个站做一次性的读写请求,类似“点对点”地问一句答一句,而远程设备站只参与固定的循环刷新。如果你需要读变频器的某些参数、或者做故障时的详细诊断信息读取,智能设备站的瞬时传送会好用很多。

1.3 选型时最容易被忽略的三个点

第一个是站数预算。整条网络最多64个逻辑站,但注意“逻辑站”和“物理设备”不是一回事。一个设备可以占用1个、2个、4个甚至8个逻辑站,用它来换取更大的数据容量。比如某些多轴伺服模块、带大量数据的视觉模块,可能一次就吃掉4个站。你先把每个从站的数据量算清楚,再数站数,别数到64就以为还能再加。

第二个是速率和距离的取舍。CC-Link的传输速率从156kbps到10Mbps分五档,速率越高,允许的总线长度越短,而且这个长度是所有站点共享的“总延长距离”,不是每两个站之间都能拉那么长,支线还要另外算。现场经常遇到的情况是:老板要求通信快一点,结果线拉了150米,速率却想设10Mbps,这时候物理上就不成立,必须降速或者改拓扑。

第三个是Ver.1还是Ver.2。Ver.1是经典规格,每站固定32点远程输入、32点远程输出、4字远程读、4字远程写。Ver.2可以按需要扩展占用,数据量大得多,但要求主站和所有从站都支持Ver.2,混着用会出问题。老设备多的现场,老老实实Ver.1往往更省事。

2. 接线:CC-Link的物理层比你想的讲究

2.1 端子定义和电缆选型

CC-Link模块上的通信端子一般有五个:DA、DB、DG、SLD、FG。DA和DB是一对差分数据线,DG是信号地,SLD接电缆屏蔽层,FG接机架地。接线的时候DA对DA、DB对DB、DG对DG、SLD对SLD,这几根对应上了,通信才谈得上正常。

电缆这块,我强烈建议用CC-Link专用电缆,别拿普通的屏蔽双绞线凑合。专用电缆的特征阻抗、线间电容、双绞节距都是按这套总线的电气特性设计的,尤其在10Mbps这种高速率下,用非专用线现场出现偶发丢站、ERR.灯闪一下就恢复的概率会明显上升,而这种间歇性故障排查起来最要命,你可能花两天都找不到原因。专用电缆分成圆型和扁型两种,圆型适合固定布线穿管,扁型适合拖链或者要频繁弯折的场合。DA和DB必须是用同一对双绞线,不能拆开用两根不同绞对的线,这一点比想象中重要,差模信号的抗干扰能力全靠这个。

2.2 终端电阻:110Ω到底接在哪两个端子之间

这是新手翻车率最高的地方,我单独拎出来说。CC-Link要求在整条总线最远的两端各接一个终端电阻,阻值110Ω、功率1/2W,接在DA和DB之间。注意不是接在DA和DG之间,也不是DG和DB之间,是DA-DB。而且只接两个,中间的所有站点一律不接。

为什么是这两个端子、这个阻值?因为总线两端接上匹配电阻之后,信号到达末端不会产生反射,波形才干净。阻值选110Ω是配合专用电缆的特性阻抗来的,用别的阻值会让匹配变差,速率越高越明显。我还见过有人图省事,把两个终端电阻都接在同一个柜子里,中间站点一头一个,这种“两端”其实没落在物理最远点上的做法,在几米的短距离下也许能跑,一旦拉到几十米,末端站点就会开始报通信错误。

还有个小细节:终端电阻要接在电缆的端头,不要把电缆多甩出一段再接电阻,甩出来的那截线等于一根天线,会把干扰引进来。

2.3 屏蔽处理与接地

SLD接屏蔽层,这个屏蔽层最好是两端都接,让它形成一个完整的屏蔽回路。有些现场只在一端接屏蔽,另一端悬空,结果干扰从悬空那头灌进来。FG接机架地,按手册要求做第三类接地(接地电阻100Ω以下),并且PLC柜的地要和动力柜的地分开走线,实在没法分开,也要保证只有一个接地点,避免地环流。

还有一个老生常谈但总有人犯的错:通信电缆千万不要和变频器输出线、伺服动力线并排走同一个线槽。哪怕有屏蔽层,动力线的共模干扰照样能顺着线槽耦合过来。真要走同一条桥架,中间加隔板,或者把通信线单独穿金属管。

2.4 拓扑:总线和支线

CC-Link是总线型拓扑,主干一路串下去。允许有支线,但支线长度有严格限制,而且总延长距离里要把支线算进去。我的建议是能不用支线就不用,直接从主干上分,一站一站往下走。如果设备分布在几个方向,用中继单元或者干脆分成两条网络,比在一棵树上挂一堆支线要可靠得多。

3. GX Works3里把参数配明白

3.1 工程创建与模块添加

打开GX Works3,新建工程的时候CPU系列选FX5U,机型按你实际的型号来(比如FX5U-32MT/ES)。然后在导航窗口找到“模块配置图”,在CPU右侧的空槽位上双击,从模块列表里选FX5-CCL-MS(或者FX5-CCL-GS)。添加完之后双击这个模块图标,就能进它的参数设置画面。

这里提醒一句,FX5系列智能功能模块的站号、传输速率大部分是在工程工具的参数里设定的,不像老的FX3U-16CCL-M那样靠模块本体上的旋转开关。所以换了程序、改了参数,一定要把工程下载到CPU,而不是只在电脑上改完就以为生效了。如果你手头的模块本体上确实带有站号或速率的旋转开关(不同批次、不同型号可能不一样),那就以模块正面的标签和手册为准,先用开关设好,再在参数里保持完全一致——开关和参数不一致,是现场第二种最常见的翻车方式。

3.2 站号、速率、模式三项基本设定

主站参数里的“站号”通常保持默认,因为主站在逻辑上占0号这个位置。传输速率要和网络上所有从站完全一致,五档可选:156kbps、625kbps、2.5Mbps、5Mbps、10Mbps。模式选“远程网络(Ver.1)”还是“远程网络(Ver.2)”,取决于你的从站支持情况。

速率的选择我给个经验:短距离、站数多、要求响应快的场合,10Mbps没问题;线长超过100米,就得往下降;如果现场电磁环境脏、柜子里变频器多,宁可降到2.5Mbps换取稳定性,这点响应损失对绝大多数逻辑控制来说完全无感。别一味追求高速率,CC-Link的循环通信是周期性的,速率降一档,扫描时间增加的量级往往只有零点几毫秒,但对误码率的改善是实实在在的。

3.3 站信息设定:这一步错了后面全废

站信息设定是主站参数里最花时间、也最不能出错的部分。你要为每一个站号逐个指定它是什么类型、占几个逻辑站。

站类型主要有这几种:远程I/O站、远程设备站、智能设备站、本地站、待机主站。数据量对照关系大致是这样的:

站类型远程输入RX远程输出RY远程读RWr远程写RWw
远程I/O站(Ver.1)32点32点不占不占
远程设备站(Ver.1)32点32点4字4字
智能设备站(Ver.1)32点32点4字4字
Ver.2设备(4倍占用)128点128点16字16字

每个站还有一个“有设定/无设定”的开关。这个开关的价值在于拆站和预留:假如某个站设备拆掉了,但你要保留站号位置不删,就把该站改成“无设定”,这样主站不再等它的数据,网络可以继续正常跑;如果还留着“有设定”,主站会一直认为该站掉线,ERR.灯就会亮。现场改造期间经常靠这个开关救急,属于非常实用的小技巧。

另外,从站的站号是设备自己设的(旋转开关或者配置工具),一般从1开始往上排,0号不要给从站用,那是主站的位置。

3.4 刷新软元件分配与点数核算

参数配好之后,要把网络上的数据映射到FX5U的软元件上,这一步在“刷新设定”里做。典型的映射关系是这样的:

数据类别方向刷新目标示例
远程输入RX从站到主站位软元件,如X1000起
远程输出RY主站到从站位软元件,如Y1000起
远程读RWr从站到主站字软元件,如D1000起
远程写RWw主站到从站字软元件,如D2000起

RX和RY记得区分方向:RX是从站“送进来”的输入,映射到X上读取;RY是主站“送出去”的输出,映射到Y上写。RWr和RWw更容易混,一个记法:字母w代表write,是主站往下写的;字母r代表read,是主站往上读的。

点数一定要算清楚。Ver.1下一个站就是32点RX加32点RY。如果网络上有8个远程IO站,那就是8×32=256点,X1000起就要占到X1377附近。FX5U的X和Y可用点数是有限的,站点一多,X1000往后根本不够分。这时候有两个处理办法:一是把部分RX、RY刷新到B或M这类内部位软元件上,不占X/Y;二是按实际站数精简刷新点数,先给当前用上的站分配,后期扩容再改参数。第二种做法要注意:参数一改,地址可能整体错位,程序里用到的地址全要跟着改,所以前期规划时宁可多留一点余量,也别贴着边分配。

4. 程序侧怎么写

4.1 远程I/O站:直接映射,简单直接

远程I/O站是最省事的,它没有远程寄存器,只有位数据。假设1号站是32点输入、32点输出的远程IO模块,RX刷新到X1000起,那这个模块的第1点输入就是X1000,第32点输入是X101F,输出对应Y1000到Y101F。你在程序里读X1000、写Y1000,就等于读到了远端设备的输入、控制了远端的输出,不用写任何通信指令。

用ST写这段逻辑,控制一个小气缸就很直观:

// 1号远程站:第1点输入到位信号,第1点输出控制电磁阀 Y1000 := X0 AND X1; // 本机启动条件满足,驱动远端电磁阀

这种写法在梯形图里也完全一样,只是把触点线圈换到对应的X/Y地址上。要注意的是刷新周期:这些地址的值不是立刻更新的,它跟着链接扫描周期走,速率低、站数多的时候,你写下去到远端真正输出,中间会有几毫秒的延迟。做普通顺序控制无所谓,做高速同步或者飞剪之类的东西就得掂量了。

4.2 远程设备站:RWr和RWw要握手

远程设备站除了位数据,还有远程寄存器,这里就涉及握手逻辑了。以CC-Link变频器为例,一般主站通过RWw下发运行指令、频率指令,通过RWr读回运行状态、输出频率、故障代码。假设2号站是变频器,RWr映射到D1000起4个字,RWw映射到D2000起4个字,那么:

// 2号远程设备站(变频器)指令下发 D2000 := H0001; // 运行指令:正转启动 D2001 := K3000; // 频率指令:30.00Hz // 读取变频器状态 D1000 表示运行状态字,D1001 表示输出频率,D1002 表示故障代码

具体的寄存器编号和位定义,必须查设备自带的CC-Link通信手册,不同厂商、不同系列的映射完全不一样,抄别人的地址一定会踩坑。变频器这类设备的位数据RX/RY里通常是运行中、频率到达、故障报警这些状态位,字数据里是频率、电流、电压这类模拟量。

握手时序上有个经验:写RWw之后,不要立刻去判断RWr的反馈值,因为指令下发到从站执行、再从从站回报状态,中间至少要经过两个链接扫描周期。稳妥的做法是加一个定时器或者状态机,先置指令,等反馈位稳定后再进入下一状态。用ST写成简单的状态机:

CASE Step OF 0: D2000 := H0001; // 下发启动 Step := 1; 1: IF X1000 THEN // 变频器反馈运行中 Step := 2; END_IF; 2: // 后续逻辑 END_CASE;

4.3 一个完整的小案例

我拿一个真实改造场景说:一台FX5U-32MT做CC-Link主站,挂8个远程IO站给一台包装机做分布式IO,再挂2台CC-Link变频器控制输送带。速率设2.5Mbps,Ver.1模式,总线长度约60米。参数里1到8号站设成远程I/O站,9、10号站设成远程设备站。刷新设定里RX从X1000起,按8个站算就是256点,正好到X1377;RY同样Y1000到Y1377;RWr从D1000起给两个远程设备站各4个字,共8个字;RWw从D2000起同样8个字。

程序结构分三块:第一块是远程IO的状态采集和输出控制,纯X/Y映射;第二块是变频器的启动停止和频率给定,走D2000区;第三块是通信状态监视,把主站的故障信号、各站的数据链接状态引到一个报警画面位上。这套结构不复杂,但上下游的关系要理清楚,尤其是变频器的频率给定值,最好在本机做一个限幅,别让上位给个超范围的值直接送下去。

4.4 通信状态怎么看

FX5-CCL-MS模块正面有几个LED,这是现场最快的第一手信息:RUN常亮说明模块本身在工作,ERR.亮红说明有错误,L RUN常亮说明数据链接正常在跑,SD和RD分别表示数据发送和接收时闪动。如果ERR.灯常亮而L RUN不亮,先看站信息设定和实际挂的站是否一一对应;如果L RUN亮但某个站的数据不更新,看那个站的站号开关和接线。

软件侧,GX Works3里带CC-Link诊断功能,打开之后能列出每个站的数据链接状态、循环数据、出错代码。现场排查时把这个画面开出来,比拿着万用表一根一根测线要快得多。模块内部的出错代码含义,去查模块手册的错误代码表,别自己猜。

5. 现场排查实录:ERR.灯亮起来的那些情况

5.1 故障速查表

现象可能原因处理思路
ERR.常亮,L RUN不亮站信息设定与实际从站不符逐站核对站号与站类型
部分站数据不更新该站站号重复或未上电检查站号开关和24V供电
低速能用,高速就掉站终端电阻缺失或阻值不对在最远两端DA-DB接110Ω
偶发通信错误电缆非专用、与动力线同槽换专用电缆,分开布线
上电后一直不通信主站速率与从站不一致统一速率并断电重启
拆掉设备后报警该站仍设为“有设定”改为“无设定”
刷新地址全乱参数改动后未同步修改程序建立地址规划表统一管理

5.2 三个最阴的坑

第一个是速率不一致。有些从站设备的速率是通过拨码或配置工具单独设的,主站参数改了速率,从站没改,结果就是网络死活起不来。这个坑难在症状不明确,灯该亮的都亮,就是没数据。建议大家养成习惯:改速率的时候,把每个从站的速率设置都过一遍。

第二个是站信息与实际设备类型不符。比如实际设备是远程设备站(带远程寄存器),你在参数里设成了远程I/O站,那么地址映射会整体错位,读到的数据全是乱的,而且不一定报错。这个只能靠一台上电试一台,别嫌慢。

第三个是刷新软元件溢出或者重叠。比如RX分配了256点,但X区的可用范围不够,或者RX区和RY区不小心配到了同一段地址上,现象是数据乱跳、控制异常。我的做法是拿张纸或者表格,把每个区的起始地址、占用点数、结束地址全部列出来,互相之间留出至少一个区的余量。

5.3 链接扫描时间和响应延迟

CC-Link的循环通信不是实时的,一轮扫描把所有站轮询一遍所花的时间,叫做链接扫描时间。它和传输速率、站数成正比:10Mbps、8个站的时候,实测通常在亚毫秒到1毫秒这个量级;降到156kbps、站点又多,可能涨到十几毫秒。这个数值在GX Works3的CC-Link诊断画面里能看到,做程序时心里要有数。

对那些要求“输入一变马上输出跟着变”的场合,比如高速计数、位置比较输出,就不要指望走CC-Link的循环刷新,那些功能应该放在本地做,或者用带瞬时传送的智能设备站来补。这一点在方案阶段就要想清楚,别等调试时才发现响应跟不上。

6. 几个我踩过之后总结下来的实操习惯

第一,接线之前先把地址规划表做出来。每个站的站号、类型、占用几个逻辑站、RX/RY/RWr/RWw分别落在哪个地址段,全部写清楚,贴到电柜门内侧。后期维护的人会感谢你,你自己三个月后再来看也不会懵。

第二,终端电阻随模块一起买。110Ω 1/2W这个阻值不常见,现场临时找不到,有人就随便拿个电阻凑,结果高速率下通信时好时坏。多备几个放在工具包里,成本可以忽略不计。

第三,调试顺序从少到多。先接主站加一个从站,把通信跑通,再去加第二个、第三个。一次性全部接完再上电,出了问题你根本不知道是从站的锅还是接线的锅,排查时间会成倍增加。

第四,参数改完记得断电重启或者复位,让设置真正生效,然后看L RUN灯是不是稳定常亮,再开始写程序。我见过有人在参数没生效的状态下写了一整天程序,最后发现地址全对不上,白干。

第五,如果这条网络后续还要扩容,在地址规划阶段就留出余量,RX/RY多留两三个站的位置,RWr/RWw也多留几个字。后期加一个站不用动已有地址,程序改起来就是几个坐标的事,省心省力。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询