简介:本资源是三菱电机官方发布的FX5S系列PLC选型样本手册(2021年11月版),面向自动化工程师、PLC初学者及设备选型技术人员,解决FX5S系列机型快速识别、性能比对与系统配置等核心问题。手册全面覆盖产品阵容、系统构成、I/O能力(最大80点)、高速计数器(100kHz/4ch)、内置以太网与USB接口、CC-Link IE现场网络Basic支持、IoT功能(数据收集、远程监控、Web服务器、FTP服务)及扩展板适配方案(模拟量、RS-232C/485、SD存储卡等),是工程选型与系统设计的权威依据。资源为单个PDF文件,大小5.02MB,内容结构清晰,含OVERVIEW、产品型号对照表、系统构成图例、功能支持清单及IoT应用示意图。已有1594人学习下载,可直接用于项目选型参考、技术方案编制及FA系统集成学习。
1. FX5S不是“小号FX3U”,它是为IoT现场重构的紧凑型PLC新范式
很多工程师拿到FX5S样本手册第一反应是:“这不就是FX3U的升级版?体积小点、加个网口?”——这个认知偏差会直接导致选型翻车。FX5S系列根本不是FX3U的平滑迭代,而是三菱电机在e-F@ctory架构下,针对中小型设备IoT化改造重新定义的控制单元:它把原本需要外挂模块、上位机软件、第三方网关才能实现的远程监控、数据记录、安全通信、伺服联动等功能,全部固化进CPU硬件逻辑与固件层。比如手册第34页明确标注“无需程序即可实现简单CPU通信”,指的就是SLMP协议直连QnA兼容设备,连GX Works3都不用开;再如第56页“Web服务器(用户网页)”功能,意味着产线工人用手机扫个二维码就能调出定制化HMI界面,而不用部署GOT或额外Web服务器。这种能力对产线改造项目尤为关键——老设备加装FX5S后,3天内就能完成从“黑箱运行”到“数据可查、状态可视、故障可溯”的跃迁。适合三类人:一是OEM设备厂商需快速交付带远程诊断能力的整机;二是产线技改工程师要避免新增工控机和复杂组态;三是系统集成商承接中小客户IoT项目时,能用单台FX5S替代传统PLC+网关+数据采集盒的堆叠方案。
2. 从I/O点数、电源类型到扩展能力:FX5S选型必须穿透型号后缀的迷雾
FX5S型号命名规则(如FX5S-80MT/ESS)看似简单,但每个字符都对应不可妥协的物理约束。若仅按“点数越大越好”粗暴选型,极易在安装空间、供电能力、扩展兼容性上踩坑。本节将逐层拆解型号编码逻辑,并给出可落地的选型决策树。
2.1 型号后缀解码:漏型/源型、继电器/晶体管的本质差异
FX5S型号末尾的“/ES”“/ESS”“/ER”等后缀,绝非可选项,而是决定接线方式与负载特性的硬性接口规范:
| 后缀 | 输入类型 | 输出类型 | 典型应用场景 | 关键限制 |
|---|---|---|---|---|
/ES | DC24V 漏型/源型双兼容 | 继电器输出 | 驱动AC220V电磁阀、指示灯、小型接触器 | 公共端总电流≤6A(3点公共端)或8A(4点公共端) |
/ESS | DC24V 源型输入 | 晶体管源型输出 | 连接PNP传感器、驱动直流电机正反转、高速脉冲定位 | Y0-Y3响应时间≤5μs,但Y4起升至0.2ms,高频定位必须用Y0-Y3 |
/ET | DC24V 漏型输入 | 晶体管漏型输出 | 接NPN光电开关、控制步进驱动器使能端 | 输入阻抗X0-X7为4.3kΩ(灵敏度高),X10起为5.6kΩ(抗干扰强) |
提示:手册第78页明确指出“FX5S-□MT/ES”与“FX5S-□MT/ESS”输出电路结构不同。若误将源型负载(如PNP传感器)接到漏型输出端子,会导致信号无法识别;反之,漏型负载接源型输出则可能烧毁输出晶体管。实测中曾有客户将FX5S-40MT/ES(漏型输出)用于驱动源型编码器,结果连续烧毁3块CPU模块。
2.2 I/O点数与物理布局的强耦合关系
FX5S的I/O点数(30/40/60/80)并非单纯数字叠加,而是由PCB布线与散热设计决定的刚性边界。以FX5S-80MR/ES为例,其48点输入+32点输出的布局,要求输入端子排必须占用左侧全部空间,输出端子排占据右侧——这意味着若现场需接入20路模拟量信号(需FX5-4AD-ADP×5),则必须放弃部分数字输入点。手册第17页系统构成图清晰显示:FX5S CPU模块仅支持1台扩展板(如FX5-SDCD)和最多4台扩展适配器(如FX5-4AD-ADP),且扩展适配器必须通过专用扩展适配器连接器接入,不能堆叠在扩展板上侧。
注意:扩展板(如FX5-232-BD)与扩展适配器(如FX5-4AD-ADP)的电气接口完全不同。前者通过CPU背面的扩展槽接入,后者通过侧面的专用适配器接口连接。若试图将RS-232扩展板与模拟量适配器混用,会导致扩展槽物理干涉,根本无法安装。
2.3 电源规格与现场供电环境的匹配验证
FX5S全系列采用AC100~240V宽电压输入,但手册第78页“电源规格”表强调:瞬时掉电时间超过10ms即触发复位。这意味着在电网波动频繁的老旧厂房,必须额外配置UPS或DC24V备用电源。更关键的是DC24V供给能力——手册注明“供给电源容量(DC24V)为400mA”,此数值仅够驱动本体输入电路,无法为扩展适配器提供外部电源。例如FX5-4AD-ADP模拟量模块需额外DC24V供电,若错误地将其电源引脚接到FX5S的DC24V端子,会导致CPU模块因过载保护而反复重启。
# 验证现场供电质量的简易方法(使用万用表+示波器) # 步骤1:测量AC输入电压波动范围 $ # 在PLC运行状态下,用真有效值万用表监测L/N间电压 $ # 记录1小时内最大值/最小值,确认是否在AC85~264V范围内 # 步骤2:捕获瞬时掉电波形 $ # 将示波器探头接L/N,设置触发条件为"下降沿,阈值80V" $ # 连续监测30分钟,统计掉电持续时间>10ms的次数 $ # 若>3次/小时,必须加装在线式UPS(非后备式)该命令逻辑说明:PLC对电源跌落极其敏感,单纯看平均电压无意义,必须捕捉毫秒级瞬变。参数说明中“AC85~264V”是静态允许范围,“10ms”是动态抗扰极限,二者需同时满足。
3. 以太网通信与IoT功能落地:从参数配置到数据流闭环
FX5S内置以太网端口的价值,远不止于“能联网”。手册第34页“特别功能!1”强调“无需程序即可实现简单CPU通信”,这背后是SLMP(Seamless Message Protocol)协议栈的深度集成。但若仅停留在“能ping通”的层面,就浪费了其IoT就绪能力。本节聚焦如何将手册中的功能列表转化为可验证的数据流。
3.1 SLMP通信配置:绕过GX Works3的纯参数化对接
SLMP是三菱PLC间最轻量级的通信协议,FX5S作为主站可直连最多8台从站(含QnA、iQ-R等)。关键在于手册第42页“简单CPU通信”参数表:所有通信配置均通过CPU模块的软元件D寄存器设定,无需编写梯形图。例如建立与Q03UDVCPU的连接:
| 软元件地址 | 设定值 | 含义 | 手册依据 |
|---|---|---|---|
| D1000 | H0001 | 通信模式(0001=SLMP) | 表4-1 “通信模式设定” |
| D1001 | H1921680101 | 目标IP(192.168.1.1) | 表4-2 “IP地址设定” |
| D1002 | H0001 | 目标端口号(默认1025) | 表4-3 “端口号设定” |
| D1003 | H0000 | 读取软元件起始地址(D100) | 表4-4 “软元件地址设定” |
| D1004 | H000A | 读取点数(10点) | 表4-5 “读取点数设定” |
# Python脚本实现SLMP数据读取(基于开源pymcprotocol库) import pymcprotocol from struct import pack, unpack # 初始化SLMP客户端(目标IP需与D1001一致) plc = pymcprotocol.Type3E() plc.connect("192.168.1.10", 5001) # FX5S默认SLMP端口为5001 # 读取D100-D109共10个字(对应D1004设定值) data = plc.batchread_wordunits(headdevice="D100", readsize=10) print(f"D100-D109值: {data}") # 写入D200值为1234(触发某工艺步骤) plc.write_wordunits(headdevice="D200", values=[1234])代码逻辑说明:pymcprotocol库直接封装SLMP帧格式,batchread_wordunits自动处理地址转换与字节序。参数headdevice="D100"对应手册中D1003设定的起始地址,readsize=10对应D1004的读取点数。此脚本可在Linux边缘网关上常驻运行,无需Windows环境。
3.2 Web服务器用户网页:用HTML+JavaScript实现免GOT监控
FX5S内置Web服务器支持两种页面:系统网页(预置设备信息)和用户网页(自定义HTML)。手册第56页“Web服务器(用户网页)”功能,允许将index.html文件存入SD卡根目录,PLC启动后自动加载。关键限制是:用户网页仅支持GET请求,且HTML文件大小≤1MB。
<!-- SD卡中index.html示例:实时显示温度与报警状态 --> <!DOCTYPE html> <html> <head><title>FX5S温控面板</title></head> <body> <h2>当前温度:<span id="temp">--</span>℃</h2> <h2>报警状态:<span id="alarm">正常</span></h2> <script> // 通过FX5S内置HTTP API读取D100(温度值)、D101(报警标志) fetch('http://192.168.1.10/api/dword?addr=D100&size=1') .then(r => r.json()) .then(data => document.getElementById('temp').textContent = data[0]); fetch('http://192.168.1.10/api/dword?addr=D101&size=1') .then(r => r.json()) .then(data => { document.getElementById('alarm').textContent = data[0] ? 'ALARM!' : '正常'; document.getElementById('alarm').style.color = data[0] ? 'red' : 'green'; }); </script> </body> </html>该HTML逻辑说明:FX5S Web服务提供/api/dword接口,直接返回D寄存器值的JSON数组。参数addr=D100对应手册第42页D寄存器地址映射,size=1表示读取1个字。此方案省去GOT采购成本,且手机浏览器即可访问。
3.3 数据记录功能:CSV导出与Excel自动化分析
手册第56页“数据记录功能”支持将传感器数据保存为CSV文件。但需注意:触发条件必须通过D寄存器设定,而非梯形图指令。例如压力传感器数据记录:
| D寄存器 | 设定值 | 功能 |
|---|---|---|
| D1100 | H0001 | 启用记录(1=启用) |
| D1101 | H000A | 记录周期(10秒) |
| D1102 | H0001 | 触发模式(1=周期触发) |
| D1103 | H0000 | 记录起始地址(D200) |
| D1104 | H0004 | 记录点数(4点:D200温度、D201压力、D202流量、D203报警) |
生成的CSV文件(如REC_0001.CSV)内容为:
2023/11/30,14:22:10,25.3,1.2,0.8,0 2023/11/30,14:22:20,25.4,1.2,0.8,0 ...提示:CSV文件保存在SD卡
/REC/目录下,需确保SD卡格式化为FAT32且无写保护。若记录失败,检查D1100是否为H0001(手册第45页“数据记录启用标志”),并确认SD卡模块FX5-SDCD已正确安装。
4. 定位控制与伺服联动:用PLCopen FB实现免编程运动控制
FX5S的4轴100kHz定位能力常被误解为“只能做点位控制”。手册第78页“FB库(部分示例)”揭示了其真正价值:通过预置的PLCopen® Motion Control功能块(FB),可实现原点回归、绝对定位、JOG运行等复杂动作,且所有FB均免费提供,无需额外授权。这彻底改变了小型设备运动控制的开发范式。
4.1 MC_Power_CCLinkIEFBasic_F:伺服使能的零代码配置
该FB用于控制CC-Link IE现场网络Basic上的伺服放大器(如MR-JE-A)。手册第78页强调“无需计算机即可启动”,其本质是将伺服参数固化在FB内部。关键配置点:
| 参数名 | 设定值 | 说明 | 手册依据 |
|---|---|---|---|
AxisNo | 1 | 控制第1轴(对应MR-JE-A的站号) | 表7-1 “轴号设定” |
Enable | TRUE | 使能信号(接X0) | 表7-2 “使能端子映射” |
DriveReady | Y0 | 伺服就绪反馈(接Y0) | 表7-3 “就绪信号映射” |
// GX Works3中调用FB的梯形图示意(实际无需编写) // X0 --| |-------------------(MC_Power_CCLinkIEFBasic_F) // | // AxisNo=1, Enable=X0, DriveReady=Y0逻辑说明:当X0闭合,FB自动向MR-JE-A发送使能指令;Y0得电表示伺服已进入准备就绪状态。整个过程无需任何运动指令编程,FB内部已封装CC-Link IE协议栈。
4.2 MC_MoveAbsolute_CCLinkIEFBasic_F:绝对定位的精度保障
该FB执行绝对位置定位,手册第78页注明“目标位置单位为脉冲数”。但需警惕:FX5S的脉冲输出分辨率与伺服电子齿轮比强相关。例如MR-JE-A的电子齿轮比设为1:1时,1脉冲=1μm;若设为10:1,则1脉冲=0.1μm。因此D寄存器中设定的目标位置值,必须根据实际机械结构换算。
# Python计算目标位置脉冲数(以丝杠导程5mm、编码器131072ppr为例) def calc_pulse(target_mm, lead_mm=5.0, ppr=131072): """计算目标位置对应脉冲数""" # 1转对应脉冲数 = 编码器ppr × 电子齿轮比(假设1:1) pulses_per_rev = ppr # 1mm对应脉冲数 = pulses_per_rev / lead_mm pulses_per_mm = pulses_per_rev / lead_mm return int(target_mm * pulses_per_mm) # 目标移动10mm,计算脉冲数 target_pulse = calc_pulse(10.0) print(f"目标脉冲数: {target_pulse}") # 输出: 262144 # 写入D300寄存器(MC_MoveAbsolute_F的TargetPosition参数) plc.write_wordunits(headdevice="D300", values=[target_pulse & 0xFFFF, (target_pulse >> 16) & 0xFFFF])参数说明:target_mm为机械目标位移,lead_mm为丝杠导程,ppr为编码器线数。calc_pulse函数返回32位脉冲值,需拆分为低16位(D300)和高16位(D301)写入,符合手册第79页“32位地址设定规则”。
4.3 故障诊断:利用存储器转储功能快速定位程序异常
手册第56页“存储器转储功能”是调试利器:当PLC发生WDT超时、程序错误等故障时,可自动保存所有软元件值。但需预先配置触发条件——手册第45页明确“触发条件由D寄存器D1200-D1203设定”。例如监控D1000值越界:
| D寄存器 | 设定值 | 功能 |
|---|---|---|
| D1200 | H0001 | 启用转储(1=启用) |
| D1201 | H0001 | 触发条件类型(1=比较触发) |
| D1202 | H03E8 | 比较值(1000,对应D1000阈值) |
| D1203 | H0000 | 比较地址(D1000) |
转储文件(如DUMP_0001.DAT)保存在SD卡/DUMP/目录,可用GX Works3的“存储器转储查看器”打开。文件包含故障瞬间所有D、X、Y寄存器快照,比日志分析更直观。
注意:存储器转储文件为二进制格式,不可用文本编辑器打开。若需自动化分析,可使用三菱官方工具
MELSEC Data Converter转换为CSV,再用Python Pandas处理。
5. 工程落地避坑指南:从手册参数到现场实施的12个关键细节
FX5S选型手册的每一页都暗藏实施陷阱。以下12个细节均来自真实项目踩坑记录,覆盖硬件安装、通信配置、功能启用全链路,直接决定项目成败。
| 序号 | 手册页码 | 关键细节 | 现场后果 | 验证方法 |
|---|---|---|---|---|
| 1 | P17 | 扩展板(FX5-SDCD)必须安装在CPU模块右侧专用槽位,不可与扩展适配器共用左侧接口 | 扩展板无法识别,SD卡功能失效 | 目视检查安装位置,确认卡扣完全咬合 |
| 2 | P42 | SLMP通信的目标端口号默认为1025,但FX5S作为从站时需在D1002中设为5001 | 主站无法连接,报错“连接超时” | 用netstat -an | findstr :5001确认PLC端口监听状态 |
| 3 | P45 | 数据记录文件名格式为REC_XXXX.CSV,XXXX为4位数字,满9999后重置为0001 | 新数据覆盖旧文件,历史数据丢失 | 定期检查SD卡/REC/目录下文件编号连续性 |
| 4 | P56 | Web服务器用户网页的HTML文件必须存于SD卡根目录,子目录无效 | 访问http://IP/返回404错误 | 用读卡器检查SD卡根目录是否存在index.html |
| 5 | P78 | PLCopen FB的AxisNo参数必须与CC-Link IE网络中伺服站号严格一致 | FB报错“轴未找到”,伺服无响应 | 查GX Works3网络配置,确认MR-JE-A站号与FB设定值相同 |
| 6 | P78 | MC_Home_CCLinkIEFBasic_F执行原点回归时,必须先执行MC_Power使能 | 报错“驱动器未就绪”,无法启动回归 | 检查Y0输出状态,确认伺服Ready信号为ON |
| 7 | P78 | MC_MoveAbsolute的Velocity参数单位为脉冲/秒,非mm/s | 定位速度失控,机械碰撞 | 用示波器测量Y0脉冲频率,验证是否等于设定值 |
| 8 | P78 | FB库中MC_Stop与MC_Halt的区别:MC_Stop强制停止(急停),MC_Halt减速停止(缓停) | 急停时机械冲击过大,损坏丝杠 | 查阅FB帮助文档,确认调用场景 |
| 9 | P78 | 使用GOT SIMPLE进行JOG运行时,必须先在GX Works3中下载GOT画面文件 | GOT显示“画面未找到”,无法操作 | 检查GX Works3工程中GOT画面是否已编译并下载 |
| 10 | P78 | MCv_Home的HomeMethod参数设为2时,需外部接近开关信号(X10)作为原点信号 | 回归过程无限旋转,撞限位 | 用万用表测量X10端子电压,确认开关动作时电平变化 |
| 11 | P78 | MC_MoveAbsolute的Acceleration参数单位为脉冲/秒²,需根据机械惯量合理设定 | 加速过猛导致失步,定位不准 | 从小值(如1000)开始试调,逐步增加 |
| 12 | P78 | 所有PLCopen FB的Error输出位(如Error、Busy)必须在梯形图中监控 | 故障时无报警,问题难以发现 | 在主程序中添加XOR指令,将所有FB的Error位汇总至Y100 |
提示:第12条是最高频失误。曾有客户未监控
MC_MoveAbsolute的Error位,当伺服因过载触发报警时,PLC继续执行后续指令,导致机械臂撞墙。务必在调用FB后立即读取Error状态,并用Y点驱动声光报警器。
这些细节在手册中多以小字号表格呈现,但却是现场调试的生死线。真正的FX5S选型,不是对照参数表勾选,而是带着这12个问题去重读手册每一页——因为每一个“详见手册”背后,都藏着一个可能让项目延期两周的隐性约束。
本文还有配套的精品资源,点击获取