返回主站|会员中心|保存桌面

三菱电机服务商    

PLC、变频器、伺服驱动、触摸屏,机器人

联系方式
  • 联系人:黄小姐
  • 电话:15523729285
  • 邮件:15523729285@163.com
新闻分类
  • 暂无分类
站内搜索
 
首页 > 新闻中心 > 用FX5U MODBUS RTU 本机做从站!
新闻中心
用FX5U MODBUS RTU 本机做从站!
发布时间:2025-09-10        浏览次数:1        返回列表

在三菱 FX5U PLC 中配置 MODBUS RTU 从站功能,可实现与其他 MODBUS 主站设备(如 HMI、变频器、传感器)的通信。FX5U 的内置 RS-485 接口(或通过扩展模块)支持 MODBUS RTU 从站模式,以下是详细的配置步骤和程序示例:

一、硬件准备与接线

  1. 硬件需求

    • FX5U PLC(如 FX5U-32MT/ES)

    • 内置 RS-485 接口(部分型号需扩展模块,如 FX5-485-BD)

    • 屏蔽双绞线(用于连接主站与从站)

  2. 接线方式
    MODBUS RTU 采用差分信号传输,接线如下:

    • 从站(FX5U)的 A 端子 → 主站的 A 端子

    • 从站(FX5U)的 B 端子 → 主站的 B 端子

    • 屏蔽层单端接地(避免干扰)

二、软件配置(GX Works3)

  1. 启用 MODBUS RTU 从站功能
    ① 新建项目,选择 FX5U PLC 型号。
    ② 双击左侧「参数」→「PLC 参数」→「串行通信设置」。
    ③ 选择「通道 1」(或对应接口),设置:

    • 通信模式:MODBUS RTU 从站

    • 波特率:9600bps(可根据主站设置调整,支持 1200~115200)

    • 数据格式:8位数据位,1位停止位,无校验(或偶校验)

    • 从站地址:1(1~247 范围内,需与主站匹配)
      ④ 点击「确定」,下载参数至 PLC。

三、程序编写(梯形图)

FX5U 通过专用指令MBUS_SLAVE实现 MODBUS RTU 从站功能,需定义数据存储区(输入 / 输出寄存器)供主站读写。

FX5U MODBUS RTU从站程序

V1

创建时间:20:37

// MODBUS RTU从站主程序

// 功能:初始化从站并处理主站请求


// 首次扫描初始化

LD     SM400        // 常ON

LD     SM401        // 首次扫描

AN     M100         // 未初始化

=      M0           // 触发初始化


// 初始化MODBUS从站

LD     M0

CALL   "MBUS_SLAVE" // MODBUS从站指令

       EN:=1

       Mode:=1      // 1=启动从站,0=停止

       Addr:=1      // 从站地址(与参数设置一致)

       Baud:=3      // 波特率:3=9600bps(1=1200,2=2400,4=19200等)

       Parity:=0    // 校验:0=无校验,1=奇校验,2=偶校验

       Timeout:=100 // 超时时间(ms)

       DBDec:=D100  // 保持寄存器起始地址(主站可读写)

       DBSize:=10   // 保持寄存器数量(10个,D100~D109)

       XStart:=X0   // 输入点起始地址(主站可读)

       XSize:=8     // 输入点数量(X0~X7)

       YStart:=Y0   // 输出点起始地址(主站可写)

       YSize:=8     // 输出点数量(Y0~Y7)

       Error=>D200  // 错误代码存储(0=正常)

       Done=>M100   // 初始化完成标志


// 保持寄存器数据更新(示例:将计数器值写入D100)

LD     SM400

MOV    C0, D100     // 计数器C0的值写入D100,供主站读取


// 处理主站写入的输出点(示例:Y0控制指示灯)

LD     Y0

OUT    Y10          // 主站写入Y0=1时,Y10(指示灯)亮

四、指令参数说明(MBUS_SLAVE

参数含义与设置
Mode1 = 启动从站,0 = 停止(通常设为 1)
Addr从站地址(1~247,需与主站匹配)
Baud波特率代码:1=1200,2=2400,3=9600(默认),4=19200 等
Parity校验方式:0 = 无校验,1 = 奇校验,2 = 偶校验
Timeout通信超时时间(ms,建议 100~1000)
DBDec保持寄存器起始地址(如 D100,主站可读写)
DBSize保持寄存器数量(最多 512 个)
XStart输入点起始地址(如 X0,主站可读)
XSize输入点数量(最多 128 点)
YStart输出点起始地址(如 Y0,主站可写)
YSize输出点数量(最多 128 点)
Error错误代码(0 = 正常,非 0 表示故障)

五、主站读写对应关系

FX5U 从站的地址映射需遵循 MODBUS 协议规范,主站通过以下功能码访问:


主站功能码访问对象FX5U 地址范围说明
0x01读输出点(Y)Y0~Y127主站读取 Y 点状态
0x02读输入点(X)X0~X127主站读取 X 点状态(如传感器)
0x03读保持寄存器D100~D611(示例)主站读取 D 寄存器数据
0x06写单个保持寄存器D100~D611(示例)主站写入单个 D 寄存器
0x10写多个保持寄存器D100~D611(示例)主站批量写入 D 寄存器

六、常见问题与排查

  1. 通信失败(Error≠0)

    • 1 = 参数错误(重新核对波特率、地址);

    • 2 = 超时(检查接线或主站是否发送请求);

    • 3 = 校验错误(主从站校验方式需一致)。

    • 检查Error代码:

  2. 数据读写异常

    • 确保主站访问的地址在DBSizeXSizeYSize范围内(如超出范围,数据不更新);

    • 保持寄存器(D)需用MOV指令实时更新数据(主站才能读到最新值)。

  3. 干扰问题

    • 通信线远离动力线(避免电磁干扰);

    • 增加终端电阻(120Ω),消除信号反射(长距离通信时)。

七、总结

FX5U 配置为 MODBUS RTU 从站的核心是:


  1. 正确设置通信参数(地址、波特率、校验);

  2. 通过MBUS_SLAVE指令定义数据存储区;

  3. 主站按 MODBUS 功能码访问对应地址。


此方案适用于 FX5U 与 HMI、变频器等设备的低成本通信,实际应用中需根据主站类型调整数据映射关系。


收缩
  • 电话咨询

  • 15523729285
  • 添加微信客服