当三菱iQ-R系列PLC通过CC-Link IE TSN网络与伺服、IO模块、HMI等设备通信时,若出现周期性通信延迟、伺服响应抖动、远程IO刷新滞后或诊断提示“TSN Bandwidth Exceeded”(带宽超限),说明当前TSN网络已无法满足所有流量的确定性传输需求。此时,不能通过简单扩容交换机或升级网线解决——TSN带宽是时间片资源,本质是调度能力,而非物理吞吐量。唯一可靠手段是启用并精确配置服务质量(QoS)优先级策略,让关键控制流量抢占高优先级时间槽,非关键流量主动让出带宽。
以下为完整、可立即执行的操作指南。全过程仅需GX Works3 V1.059.1及以上版本、iQ-R系列CPU(R08/16/32/64EN)、支持TSN的CC-Link IE TSN兼容交换机(如SL-SCN-TSN系列)及标准Cat.6A网线。无需额外硬件或授权许可。
一、确认带宽不足的根本原因
CC-Link IE TSN采用时间敏感网络(TSN)标准,将1ms通信周期划分为固定数量的时间槽(Time Slot)。每个槽分配给特定流量类型:
- Control Traffic(控制流量):PLC→伺服位置指令、伺服→PLC状态反馈(硬实时,严格要求≤100μs抖动);
- Standard Traffic(标准流量):PLC↔HMI画面更新、PLC↔SCADA数据上传(软实时,允许毫秒级延迟);
- Best-Effort Traffic(尽力而为流量):固件升级包、日志导出、FTP文件传输(无时序保障)。
带宽超限的本质是:Control Traffic请求的时间槽数量 + Standard Traffic请求槽数量 > 网络周期内可用槽数量。
验证方法:
- 打开GX Works3,连接目标iQ-R CPU;
- 双击项目树中的
Network Parameters→CC-Link IE TSN; - 切换到
Bandwidth Monitor标签页; - 点击
Start Monitoring按钮,持续运行30秒; - 观察
Used Slots / Total Slots柱状图:若任一周期中Used Slots≥Total Slots × 0.95(即占用率≥95%),即判定为带宽瓶颈。
注:
Total Slots默认值为100(对应1ms周期下10μs精度),可通过Network Configuration→Cycle Time Settings修改,但不推荐调整此值——降低周期会加剧CPU负载,提高周期则牺牲控制精度。
二、QoS优先级的三级调度机制
iQ-R系列CC-Link IE TSN的QoS非简单“高/中/低”三档,而是三层嵌套调度:
| 层级 | 名称 | 控制对象 | 调度粒度 | 可配置项 |
|---|---|---|---|---|
| L1 | Traffic Class(流量类别) | 所有网络帧的IEEE 802.1Q标签中的PCP字段(3位,0–7) | 帧级 | 在PLC程序中为不同数据链接指定Class ID |
| L2 | Gate Control List(门控列表) | 物理端口上每个时间槽的开关状态 | 槽级(10μs) | 定义哪些时间槽允许Class 7帧通过,哪些关闭 |
| L3 | Credit-Based Shaper(信用整形器) | 同一Class内多设备间的带宽分配 | 字节级 | 为每个从站分配发送信用值,防止单设备独占带宽 |
核心逻辑:只有被Gate Control List开放的时间槽,且该槽内Credit-Based Shaper仍有余额的Class 7帧,才能被转发。其余帧排队等待下一周期或直接丢弃。
三、实操步骤:从零配置QoS优先级
步骤1:在GX Works3中定义高优先级数据链接
- 展开项目树
Devices→CC-Link IE TSN→Stations; - 右键需保障实时性的从站(如MR-J4-BS伺服驱动器),选择
Properties; - 切换到
Data Link Settings标签页; - 勾选
Use Priority Setting; - 在
Priority Class下拉菜单中选择Class 7(最高优先级,仅用于硬实时控制); - 点击
OK保存。
✅ 关键点:
Class 7专用于位置指令(SD1000起始地址)和状态反馈(RD1000起始地址)这类循环通信数据;
❌ 禁止将HMI画面数据、报警日志等设为Class 7——这会挤占真正需要的控制槽。
步骤2:配置Gate Control List(门控列表)
- 双击
Network Parameters→CC-Link IE TSN→Gate Control List; - 点击
Add Entry新增条目; - 设置参数:
Port:选择实际连接伺服的物理端口(如Port 1);Start Time:输入0(微秒);Duration:输入150(微秒);Traffic Class:选择7;Gate State:选择Open;
- 重复步骤3,新增第二条:
Start Time:200;Duration:150;Traffic Class:7;Gate State:Open;
- 点击
Apply生成门控序列。
🔍 原理解析:上述配置在每1ms周期内,为
Class 7流量预留两个独立窗口:[0–150μs]和[200–350μs],总长300μs。其余700μs供Class 0–6使用。该分配满足典型3轴伺服系统(每轴需约80μs指令+反馈时间)。
步骤3:设置Credit-Based Shaper(信用整形)
- 在
Gate Control List窗口中,切换到Credit Shaper标签页; - 点击
Add Station; - 输入以下值(以MR-J4-BS为例):
Station No.:2(该伺服在站号表中编号);Credit Increment:1200(单位:字节/周期);Credit Limit:3000(单位:字节);Credit Debit:100(单位:字节/帧);
- 点击
OK保存。
📐 计算依据:
- 单次位置指令(32位×3轴)+ 状态反馈(32位×3轴)= 24字节;
- 每周期发送1帧指令、1帧反馈 →
Credit Debit = 24 × 2 ≈ 50,取整为100留余量;Credit Increment = 100 × 12(确保12帧连续发送不欠信用)=1200;Credit Limit = 100 × 30(防止单次突发耗尽全网信用)=3000。
步骤4:部署并验证QoS生效
- 编译整个项目;
- 在线写入至iQ-R CPU;
- 重启PLC使TSN参数生效;
- 返回
Bandwidth Monitor标签页,重新启动监控; - 观察变化:
Class 7 Used Slots应稳定在300±20μs(即你配置的两个窗口);Class 0–6 Used Slots应显著下降(因让出带宽);Total Used Slots应 ≤90(占用率≤90%,留10%余量)。
四、故障排查速查表
| 现象 | 最可能原因 | 解决动作 |
|---|---|---|
Class 7流量仍延迟 |
Gate Control List中Duration过小 |
将Duration从150增至200,重试 |
| HMI画面卡顿严重 | Class 0–6未配置Credit Shaper导致争抢 |
为HMI站(如站号5)设置Credit Increment=800, Credit Limit=2000 |
监控显示Used Slots=0 |
PLC未识别TSN交换机 | 检查网线直连PLC与交换机,禁用中间Hub;确认交换机TSN模式已启用 |
伺服报Err.23(通信超时) |
Credit Debit设置大于单帧实际字节数 |
用Wireshark抓包确认该站单帧大小,将Credit Debit设为实际值×1.5 |
五、进阶优化建议(非必需但强烈推荐)
- 启用Frame Preemption(帧抢占):在
Network Parameters→Advanced Settings中勾选Enable Frame Preemption。允许Class 7帧在Class 0长帧传输中途插入,将最大抖动从150μs降至25μs; - 绑定物理端口与站号:在
Stations属性中,为每个伺服指定Physical Port Binding(如伺服1强制走Port 1),避免TSN交换机内部路由引入不确定延迟; - 禁用非必要服务:在
CPU Parameters→Network Services中,关闭FTP Server、SNTP Client等后台服务,释放CPU处理TSN调度的资源。
完成上述配置后,CC-Link IE TSN网络将严格按预定时间槽分发流量:控制指令在0–150μs窗口发出,状态反馈在200–350μs窗口返回,其余所有通信自动退让。带宽不再“不足”,而是被精确“分配”。

暂无评论,快来抢沙发吧!