返回
用永宏clink的md2模式一直收不到数据,感觉plc那边程序没写好,请问有大佬指点一下吗
发布

用永宏clink的md2模式一直收不到数据,感觉plc那边程序没写好,请问有大佬指点一下吗

98阅读 1 回复 2025-10-07 20:19发布
关注Ta

16219333803995普通会员楼主

电话/手机:联系客服

我之前试着接收的时候好像只有rx亮,通讯参数应该没问题,不知道是不是通讯命令表格没写对?

以下内容回复后可见

优质评论内容

  • 明扬工控技术客服

    明扬工控技术客服2025-10-07 20:39:37

    永宏(FATEK)C-LINK|MD2模式“只RX亮、收不到数据”一页式排查(HTML版)

    你的现场描述


    用永宏 C-LINK 的 MD2 模式一直收不到数据,只有 RX 指示灯亮,感觉 PLC 那边程序没写好。通讯参数看起来没问题,怀疑是 通讯命令表没写对。


    结论(先看这3条):

    1. MD2=主站轮询模式:只有当你的设备“发出命令帧”时,对端才会回。只亮RX多半说明你没发帧,或你实际上处在从站状态
    2. “通讯参数一致”不等于“协议一致”。请先确认 对端到底是 C-LINK 还是 Modbus RTU。两者帧格式完全不同。
    3. 90% 的问题出在 命令表未启用/未下载、站号错、设备码与地址写法不符。按本文“黄金示例”写一条最小命令先通,再扩展。

    一、开始前的三个判断(非常关键)

    1. 谁是主站? MD2 供主站使用。如果对端才是主站,你这端就不该用 MD2;应换从站/自由口/Modbus从站模式。
    2. 协议是什么? C-LINK ≠ Modbus RTU。请与对端确认协议与站号。若对端只支持 Modbus,请改用“Modbus 主站”。
    3. 指示灯含义
      • 只亮 RX:你在“听”,几乎没在“发”。主站应先发,正常应先看到 TX。
      • RX乱闪无数据:485无偏置/极性反/串扰,属于物理层问题。

    二、硬件层 & 串口层快速自检(3分钟)

    硬件(RS-485/232)

    • A/B 极性对、两端120Ω终端,母线仅一侧上偏置。
    • 屏蔽层单端接地,分支尽量短;长线先降波特率。
    • 用 USB-RS485 回环自测:TX↔RX 能否自收自发。

    串口参数

    • 波特率/数据位/奇偶/停止位 完全一致(如 9600-8-E-1)。
    • 站号一致(主站命令表里的站号=对端站号)。
    • 超时先设 300–500ms,重试 2–3 次。

    三、先判协议:C-LINK 还是 Modbus?

    1. 临时用串口工具发一帧 Modbus RTU 03(读保持寄存器)到对端:
      请求:01 03 00 00 00 01 CRClo CRChi
      期望响应:01 03 02 xx xx CRClo CRChi
      • 若有响应 → 对端是 Modbus:改用 Modbus 主站,别再折腾 MD2。
      • 若无响应 → 对端可能是 C-LINK 或站号/参数不对,继续看下文。

    四、C-LINK(MD2)最小可行“黄金命令表”

    下列字段名称因机型/软件略有差异,请按你的编程软件对应项填写;思路一致即可。

    字段 示例值 说明
    功能启用 命令表项必须勾选启用并已下载到PLC/模块
    站号 1 与对端站号一致
    命令类型 读数据(C-LINK 读指令) 选择“读”以便先看回包
    设备码 D 示例读数据寄存器(按对端开放的区)
    起始地址 0000 从地址 0 开始
    长度 0010 读16字(按“字”或“字节”单位,依软件而定)
    周期 100 ms 先短周期便于观察
    超时/重试 300 ms / 2 连通性阶段先放宽
    本机缓冲 R1000~ 回包落地到本PLC寄存器,在线监看

    下载后,在线监看R1000~是否刷新:刷新=收到了回包;无刷新则看下一节排错。

    五、命令表最常见 8 个错误

    1. 未启用/未下载:表格写了但没勾启用或没写入模块。
    2. 站号错:对端站号=2,你写了1。
    3. 设备码/地址格式错:如写了D0000,但对端开放的是R区;或地址以十六进制/十进制搞混。
    4. 长度单位错:软件按“字节”,你以为是“字”。
    5. 帧校验/BCC/CRC模式不符(旧固件易见)。
    6. TX线断/DE控制不当:半双工485需正确驱动收发方向。
    7. 周期太快:对端忙/缓冲满导致不回;先调慢周期。
    8. 混协议:你发 C-LINK,对端在等 Modbus(或相反)。

    六、“只有 RX 亮”的三种典型含义

    场景 含义 处理
    你是从站,只有RX 主站在发你在听,但你不回(站号/帧/程序应答出错) 核对站号与协议;先做最小应答(哪怕回异常)验证链路
    你是主站,只有RX 你其实没发帧;看到的是对端广播或总线噪声 抓包/示波确认TX是否真正发送;检查命令表启用与下载
    RX乱闪无有效数据 485悬空/无偏置/串扰 加偏置与终端、缩短分支、先降波特率

    七、若对端其实是 Modbus:改用 Modbus 主站更快

    1. 口模式改 Modbus Master (RTU),参数一致(例:9600-8-E-1、站号1)。
    2. 加一条读命令:功能码 03,地址 0x0000,长度按需。
    3. 抓包应看到:01 03 00 00 00 0A CRC→01 03 14 … CRC。

    八、最小化连通流程(10–20分钟定位)

    1. USB-RS485 + 串口工具,单机自发自收,确认本端硬件OK。
    2. 对端用 Modbus 试探一帧(第 3 节)。有回应=Modbus;无回应再走 C-LINK。
    3. 在 PLC 端:命令表只保留一条“读16字”,周期100ms,超时300ms。
    4. 在线看R1000~是否刷新;不刷新就抓包看 TX 是否真的发,再按“第5节八条”逐项核对。
    愿意的话现在就发我这些信息,我直接回你“能复制的命令表/帧”:
    • 你这端设备型号 & 口(RS-232/485),主站还是从站
    • 对端设备/协议(C-LINK or Modbus)及站号
    • 波特率/数据位/奇偶/停止位;
    • 你想读/写的寄存器类型与地址范围;
    • 一张抓包或示波截图(若有)。