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

雷诺尔综合服务商    

雷诺尔低压软启动,雷诺尔低压变频器,防爆电器,马达保护器,EPS应急电源

新闻分类
  • 暂无分类
联系方式
  • 联系人:方经理
  • 电话:13073017555
站内搜索
 
首页 > 新闻中心 > 两台PLC用modbus通信,主机控如何制分机数字输出点!
新闻中心
两台PLC用modbus通信,主机控如何制分机数字输出点!
发布时间:2026-06-13        浏览次数:15        返回列表

A 为主 PLC(主机,发起读写指令),B 为从 PLC(从站,响应指令),主机直接读写从站 DO 数字输出点,完整步骤 + 寄存器对应规则 + 梯形图实例(三菱 FX、西门子 S7-1200、欧姆龙 CP1H 分开说明)。

一、Modbus 从站 PLC 输出点映射规则

Modbus 标准寄存器分类(RTU)

  1. 线圈寄存器:地址 00001~09999 → 单个 bit,对应数字量输出 DO、数字量输入 DI

    • 0x 地址域(线圈):可读、可写;适合单独控制某一个输出点 ON/OFF

  2. 保持寄存器:地址 40001~49999 → 16bit 字,批量一次性操作一组 8/16 个 DO

从站 PLC DO 点标准映射规则

以从站第一个数字输出点为例:

  • 从站 Y0(Q0.0) → Modbus 线圈地址 00001(0x0000)

  • Y1(Q0.1) → 00002(0x0001)

  • Y2(Q0.2) → 00003(0x0002)偏移规律:线圈实际偏移号 = 输出点序号,线圈绝对地址 = 偏移 + 1

两种控制方式

  1. 单点控制:主机发「写单个线圈」指令(05H),单独置位 / 复位某个 DO;

  2. 批量多点控制:主机发「写多个线圈」指令(0FH),一次性批量控制连续多个输出。

二、硬件接线(统一 485)

两台 PLC 各自 RS485-A、485-B 手拉手接线:

  • 主机 SDA ↔ 从站 SDA(A 线)

  • 主机 SDB ↔ 从站 SDB(B 线)两端 485 终端电阻只一头拨入,屏蔽层单端接地。

关键参数统一(主从必须完全一致)

波特率:9600/19200数据位:8,校验:无,停止位:1从站站号唯一:从站设站号 = 1,主机访问地址 1。

三、分品牌实操教程

场景 1:三菱 FX3U/FX5U 做主站,另一台 FX 做从站(Modbus RTU)

1)从站 PLC 设置(FX)

  1. 加装 FX3U-485-BD 板;

  2. 寄存器 D8120 设置通信格式:H0009(9600,8,N,1,Modbus 从站);

  3. M8142=ON,启用 Modbus 从站模式,设定从站站号 D8121=1;

  4. PLC 自带 Modbus 从站自动映射:Y0~Y17 自动对应线圈 00001~00016,无需手动映射。

2)主机 PLC 编程(FX 做主站,MODWR 指令写 DO)

方式 1:单点控制(05 指令,单独 Y0 置 ON)

MODWR  S1 S2 D1 D2S1:从站站号 = K1S2:Modbus 线圈地址 K0(对应 00001,Y0)D1:写入值 K1(1=ON,0=OFF)D2:通讯状态存储寄存器

梯形图:

plaintext

LD X0
MODWR K1 K0 K1 D0    // X0接通,从站1号Y0=ON
LD X1
MODWR K1 K0 K0 D0    // X1接通,从站1号Y0=OFF

方式 2:批量控制连续多个输出(0FH 指令)

一次性同时改写 Y0~Y7 八个输出点,主机用 MODWR 批量写多线圈。

场景 2:西门子 S7-1200 互相 Modbus RTU 通信

从站设置(S7-1200 MB_SLAVE)

  1. CM1241 RS485 模块;调用 FB MB_SLAVE

  2. 设置端口参数、从站站号 = 1;

  3. 建立 DB 块映射 Q 输出区,将 Q0.0~Q1.7 映射到 Modbus 线圈区;Modbus 线圈 0 对应 Q0.0,线圈 1 对应 Q0.1……

主机设置(S7-1200 MB_MASTER)

调用MB_MASTER主站功能块:

  1. 功能码 05:写单线圈

    • Slave=1,Addr=0(Q0.0),Data=1 → 从站 Q0.0 置 1

  2. 功能码 15(0FH):批量写连续多个 DO 点。

场景 3:欧姆龙 CP1H 互作 Modbus-RTU

从站 CP1H:Modbus-RTU 从站

  1. 串口 2 设置为 Modbus 从站,站号 1;

  2. CIO100 通道(内置输出 Y)自动映射线圈:CIO100.00 → 线圈 00001

主机 CP1H:用 TXD/RXD 或者 MODWR 主站指令

发送 05H 单线圈写入帧,直接远程置位 / 复位从站 CIO100.00 输出。

四、通用 Modbus 指令报文举例(调试用)

从站站号 = 1,控制 Y0(线圈 00001,偏移 0)

1)05H 单点置 ON

发送帧:01 05 00 00 FF 00 8C 3A含义:01:从站地址05:写单线圈0000:线圈偏移地址 0(Y0)FF00:强制 onCRC 校验:8C3A从站正常应答完全相同报文。

2)05H 单点置 OFF

发送帧:01 05 00 00 00 00 CD CA

3)0FH 批量写多个线圈示例

一次性改写 Y0~Y3 四个输出,按需批量远程控制多台阀门。

五、关键注意要点

  1. 区分线圈 / 保持寄存器DO 是 bit 点位,必须用0x 线圈地址、05/0FH 指令;不能用 4x 保持寄存器(字)直接写,点位不会动作。

  2. 从站 PLC 务必切换到 RUN 模式,STOP 模式远程无法修改输出端子。

  3. 接线 A/B 不能交叉接,交叉后完全无应答;

  4. 通讯轮询间隔不能太短,主站不要每秒无限次发写指令,容易总线拥堵;

  5. 远程修改从站 DO 时,从站本地程序也可以同时操作该输出,存在逻辑竞争:例:从站本地程序 Y0 自锁 ON,主机远程发 OFF 指令,会瞬间被本地程序重新置 ON,表现为 “远程控制无效”。✅ 解决办法:增加一个远程允许开关 M;只有 M=ON 时,从站本地程序不驱动 Y,全权交由主机 Modbus 远程控制。

六、应用架构总结

  1. 硬件:485A/B 对接,主从参数一致;

  2. 从站:开启 Modbus 从站,站号固定,DO 自动映射线圈;

  3. 主机:调用 Modbus 主站写线圈指令(05 单点 / 0FH 批量);

  4. 上位逻辑:主机内部按钮、联锁条件触发写指令,即可远程操控分机任意数字输出点。

收缩
  • QQ咨询

  • 电话咨询

  • 13073017555
  • 添加微信客服