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

丹佛斯变频器中国区域服务商    

丹佛斯变频器

新闻分类
  • 暂无分类
联系方式
  • 联系人:吴经理
  • 电话:18576370666
  • 邮件:18576370666@163.com
站内搜索
 
首页 > 新闻中心 > 三菱FX5U怎么把主站M状态通信到从站MODBUS通信!
新闻中心
三菱FX5U怎么把主站M状态通信到从站MODBUS通信!
发布时间:2025-09-05        浏览次数:2        返回列表

在三菱 FX5U PLC 中,要将主站(FX5U)的 M 继电器状态通过 MODBUSMODBUS 通信发送到从站,核心是利用 FX5U 的MODBUS 通信功能(需搭配 FX5U 本体集成的 MODBUS-RTU/ASCII 模块或扩展通信模块),通过编程实现 M 状态的读取、数据格式转换及 MODBUSMODBUS 协议帧发送。以下是具体实现步骤,包含硬件配置、软件设置和程序编写:

一、前提条件与硬件准备

  1. 硬件要求

    • 主站:FX5U PLC(需支持 MODBUS 通信,如本体集成 RS485 端口的型号(如 FX5U-32MR/ES),或扩展 FX5-485-BD 通信板、FX5-232-BD 等);

    • 从站:支持 MODBUS-RTU/ASCII 协议的设备(如另一台 PLC、变频器、传感器等,需确认从站的从站地址、通信波特率、数据位、停止位、校验位,需与主站一致);

    • 通信线路:RS485 双绞线(建议使用屏蔽线,减少干扰),主站与从站的 A/B 端子对应连接(主站 A→从站 A,主站 B→从站 B,GND 可选接)。

二、Step1:软件配置(GX Works3)

先在 GX Works3 中完成 FX5U 的通信参数设置,确保主站与从站的 MODBUS 通信参数匹配:

1. 新建工程并添加通信模块

  • 打开 GX Works3,新建 “FX5U 系列” 工程,在 “设备配置” 中确认 FX5U 本体或扩展的通信模块(如 FX5-485-BD)已正确添加(默认会自动识别本体端口,扩展模块需手动添加)。

2. 设置 MODBUS 通信参数

  • 双击 “设备配置” 中的通信端口(如 “端口 1(RS485)”),进入 “通信设置”:

    • 通信方式:选择 “MODBUS-RTU”(工业常用,比 ASCII 高效);

    • 波特率:与从站一致(如 9600bps、19200bps,默认 9600);

    • 数据位 / 停止位:默认 “8 位数据位,1 位停止位”(需与从站匹配);

    • 校验位:默认 “无校验”(或根据从站要求设为 “偶校验”“奇校验”);

    • 超时时间:设为 100~500ms(避免通信超时误判);

    • 点击 “确定” 保存参数(参数会自动写入 PLC 系统区,无需额外编程)。

三、Step2:程序设计核心逻辑

FX5U 作为 MODBUS 主站,需通过专用指令(如MODRW 主动向从站发送数据。核心逻辑:


  1. 读取主站需发送的 M 继电器状态(如 M0~M15,共 16 个 bit,对应 2 个字节);

  2. 将 M 状态转换为 MODBUS 协议支持的 “寄存器数据”(MODBUS 从站通常通过 “保持寄存器” 或 “离散输出寄存器” 接收 bit 数据);

  3. 调用MODRW指令,将数据通过 MODBUS 协议发送到从站指定地址。

1. 数据格式转换:M 状态→寄存器数据

MODBUS 协议中,bit 数据需打包为 “字节” 或 “字”(16bit)传输。例如:


  • 若需发送 M0~M15(16 个 bit),可将其状态存入 FX5U 的 “数据寄存器 D”(如 D0,D0 的 bit0 对应 M0,bit1 对应 M1,…,bit15 对应 M15)。

  • 转换程序(梯形图):

    ladder

    // 示例:将M0~M15的状态写入D0(每1个扫描周期更新1次)
    MOV K0 D0          // 先清空D0,避免残留数据
    ORB M0 D0, #0001   // M0状态写入D0的bit0
    ORB M1 D0, #0002   // M1状态写入D0的bit1
    ORB M2 D0, #0004   // M2状态写入D0的bit2
    // ... 以此类推,直到M15写入D0的bit15(ORB M15 D0, #8000)


    • 说明:ORB指令是 “bit 状态写入寄存器” 指令,格式为ORB 源bit 目标D, 目标bit掩码(如 #0001 对应 bit0,#0002 对应 bit1,#8000 对应 bit15)。

2. 调用 MODBUS 通信指令(MODRW

FX5U 的MODRW指令用于实现 MODBUS 主站的 “读 / 写操作”,这里需用 “写操作”(将 D0 的数据发送到从站)。

MODRW指令格式(梯形图):
指令操作模式从站地址寄存器类型起始地址数据长度源 / 目标 D通信端口完成标志错误标志
MODRWK1KxKyKzKnDsKpMfMe


  • 各参数说明:

    • 若从站用 “保持寄存器”(常用,地址 4xxxx),则 Ky=K4;

    • 若从站用 “离散输出寄存器”(地址 0xxxx),则 Ky=K0;

    • 操作模式(K1):K1 = 写操作(发送数据到从站),K0 = 读操作;

    • 从站地址(Kx):从站的 MODBUS 地址(如从站设为 1,则 K1,范围 1~247);

    • 寄存器类型(Ky):根据从站接收数据的寄存器类型选择:

    • 起始地址(Kz):从站接收数据的起始寄存器地址(如从站用保持寄存器 40001,则 Kz=K0,注意:MODBUS 地址 40001 对应指令中的起始地址 0);

    • 数据长度(Kn):发送的寄存器个数(如发送 D0(1 个 16bit 寄存器),则 Kn=K1);

    • 源 D(Ds):FX5U 中存储 M 状态的寄存器(如 D0);

    • 通信端口(Kp):FX5U 的通信端口号(如本体 RS485 端口为 K1,扩展模块端口需查手册);

    • 完成标志(Mf):通信成功后置 1(如 M100,需手动复位);

    • 错误标志(Me):通信失败后置 1(如 M101,需手动复位,可通过 “错误代码寄存器” 查看失败原因)。

示例程序(梯形图):

ladder

// 触发条件:M000(启动信号,可设为常ON或手动按钮)
LD M000          
// MODRW指令:写1个寄存器到从站1的保持寄存器40001,源数据D0,端口1,完成M100,错误M101
MODRW K1 K1 K4 K0 K1 D0 K1 M100 M101  

// 通信完成后复位标志(避免重复触发)
LD M100          
RST M100          // 复位完成标志
LD M101          
RST M101          // 复位错误标志

四、Step3:从站接收配置(关键!需与主站匹配)

从站需配置为 “MODBUS 从站模式”,并确认以下参数与主站一致:


  1. 从站地址:与主站MODRW指令中的 “从站地址(Kx)” 一致(如 K1);

  2. 通信参数:波特率、数据位、停止位、校验位,与主站 Step1 中的设置完全一致;

  3. 接收寄存器地址:与主站MODRW指令中的 “寄存器类型(Ky)” 和 “起始地址(Kz)” 一致:

    • 例:主站设 Ky=K4(保持寄存器)、Kz=K0 → 从站需读取 “保持寄存器 40001” 的数据,该数据即为 FX5U 主站 M0~M15 的状态(bit0=M0,bit1=M1,…)。

五、调试与故障排查

  1. 通信链路检查

    • 用万用表测量主站与从站的 A/B 端子间电阻(正常 RS485 总线电阻约 120Ω,若未接终端电阻则无);

    • 确认 A/B 端子无接反(接反会导致通信完全失败)。

  2. 程序调试

    • 若 M100(完成标志)置 1:通信成功,从站已接收数据;

    • 若 M101(错误标志)置 1:查看 “错误代码寄存器”(如 D8120,不同端口对应不同寄存器,查 FX5U 手册),常见错误原因:

    • 错误代码 01:从站无响应(检查从站地址、电源、通信线);

    • 错误代码 03:从站不支持该寄存器类型(确认 Ky 参数是否正确);

    • 错误代码 06:从站拒绝写入(检查从站是否允许写入该寄存器)。

    • 监控 FX5U 的 D0 值:通过 GX Works3 的 “在线监控” 查看 D0 的 bit0~bit15 是否与 M0~M15 状态一致(确保数据转换正确);

    • 监控MODRW指令的标志位:

  3. 从站数据验证

    • 通过从站的调试软件(如变频器的调试面板、从站 PLC 的监控界面)查看接收寄存器的数据(如保持寄存器 40001),确认是否与 FX5U 的 D0 值一致,进而验证 M 状态是否正确传输。

六、注意事项

  1. 数据更新周期

    • MODRW指令需在 “触发条件”(如 M000 常 ON)下持续执行,确保 M 状态变化能实时同步到从站(若仅触发 1 次,仅发送 1 次数据)。

  2. 多从站扩展

    • 若需向多个从站发送 M 状态,需为每个从站单独调用MODRW指令(不同从站地址 Kx),且避免同时触发(可通过定时器分时发送,防止总线冲突)。

  3. 干扰防护

    • 通信线需使用屏蔽双绞线,屏蔽层单端接地(主站侧接地);

    • 若总线长度超过 100 米,需在总线两端(主站和最远端从站)的 A/B 端子间并联 120Ω 终端电阻,减少信号反射。


通过以上步骤,即可实现 FX5U 主站 M 继电器状态到 MODBUS 从站的稳定通信,适用于设备间的状态同步、远程监控等场景。

收缩
  • QQ咨询

  • 电话咨询

  • 18576370666
  • 添加微信客服