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

欧姆龙服务商    

欧姆龙PLC

新闻分类
  • 暂无分类
站内搜索
 
友情链接
  • 暂无链接
首页 > 新闻中心 > CP1H利用modbus和E5CC温控表通讯!
新闻中心
CP1H利用modbus和E5CC温控表通讯!
发布时间:2025-12-17        浏览次数:0        返回列表

欧姆龙 CP1H PLC 与欧姆龙 E5CC 温控表之间的 Modbus RTU 通讯,核心是通过 CP1H 的串口(RS-232/RS-485)作为 Modbus 主站,读取 E5CC 的温度值、设定值,或写入新的温度设定值、控制模式等参数。以下是从硬件配置、参数设置到程序编写的完整实现方案。

一、通讯准备与硬件配置

1. 核心硬件与接线

设备关键配置 / 作用
CP1H PLC选用带 RS-232(如 CP1H-X40DT-D 的 232 口)或 RS-485 模块(如 CP1W-CIF11)的型号,作为 Modbus 主站
E5CC 温控表确认支持 Modbus RTU(E5CC 默认支持,需配置通讯参数),作为 Modbus 从站
通讯线若为 RS-485 通讯:使用屏蔽双绞线,CP1H 的 485 口(A/B)对应 E5CC 的 485 口(A/B);若为 RS-232,直接用交叉线连接(较少用,远距离推荐 485)
DC24V 电源给通讯模块或温控表供电(若需要)

关键接线(RS-485 为例)

  • CP1H 的 485 口 A(+) → E5CC 的 485 口 A(+)

  • CP1H 的 485 口 B(-) → E5CC 的 485 口 B(-)

  • CP1H 的 GND → E5CC 的 GND(可选,增强抗干扰性)

  • 若通讯距离超过 100 米,在总线两端的 A/B 之间接 120Ω 终端电阻

2. 通讯参数统一(核心前提)

CP1H 和 E5CC 的通讯参数必须完全一致,否则无法建立通讯,推荐参数如下:

参数项配置值
通讯协议Modbus RTU
波特率9600bps(可设 19200 等)
数据位 / 校验位8 位 / 偶校验(Even)
停止位1 位
从站地址E5CC 设为 1(可设 1-247,唯一)
超时时间CP1H 侧设为 100ms(可调整)

二、E5CC 温控表的通讯参数设置

需要在 E5CC 面板上手动配置通讯相关参数,步骤如下:

  1. 进入参数设置模式:长按 E5CC 的「SET」键约 3 秒,进入参数菜单。

  2. 找到通讯参数组:通过「∧/∨」键切换到CT参数组(通讯参数)。

  3. 配置关键参数

    • CT01:通讯协议 → 设为「Modbus RTU」(部分型号显示为「MBRTU」)

    • CT02:从站地址 → 设为「1」(对应 CP1H 中的从站地址)

    • CT03:波特率 → 设为「9600」

    • CT04:数据格式 → 设为「8E1」(8 位数据、偶校验、1 位停止位)

    • CT05:通讯超时 → 设为「0」(关闭,或设为所需时间)

  4. 保存参数:按「SET」键确认参数,再按「ESC」键退出设置模式。

三、CP1H 的串口与 Modbus 参数配置(CX-Programmer)

在 CX-Programmer 软件中配置 CP1H 的串口为 Modbus 主站模式,步骤如下:

  1. 打开 PLC 参数:右键项目中的「PLC 参数」→「串口设置」(针对内置 232 口)或「CP1W-CIF11 参数」(针对 485 模块)。

  2. 配置串口参数

    • 端口类型:设为「RS-232C」或「RS-485」(根据实际硬件)

    • 波特率:9600bps

    • 数据格式:8 位、偶校验、1 位停止位(与 E5CC 一致)

    • 协议:设为「无协议」(因为 CP1H 通过 Modbus 指令实现主站功能,而非内置协议)

  3. 下载参数:将参数下载到 CP1H,重启 PLC 使参数生效。

四、E5CC 的 Modbus 寄存器地址映射(关键)

E5CC 的常用参数对应固定的 Modbus 保持寄存器(4xxxx),需注意Modbus 地址的偏移(部分软件中 4xxxx 需去掉 4,直接用 xxxx,或减 1),以下是常用寄存器:

E5CC 参数Modbus 保持寄存器地址(4xxxx)读写属性数据含义(举例)
测量值(PV)40001只读实际温度,单位 0.1℃(如数值 250=25.0℃)
设定值(SV)40002可写目标温度,单位 0.1℃(如写入 300=30.0℃)
控制输出值40003只读输出百分比(0-1000=0-100.0%)
报警 1 状态40004只读0 = 正常,1 = 报警
手动输出值40005可写手动模式下的输出百分比

注意:部分文档中寄存器地址为「0000」「0001」,对应 Modbus 的 40001(即地址偏移 + 1),编程时需确认。

五、CP1H 的 Modbus 主站程序编写(CX-Programmer)

CP1H 通过MB_MSTR(Modbus 主站指令) 实现与 E5CC 的通讯,包括 ** 读取测量值(PV)写入设定值(SV)** 两个核心功能,以下是完整的梯形图程序及解释。

1. 程序核心逻辑

  • 首次扫描初始化:设置 Modbus 指令的参数,避免重复触发。

  • 读取 E5CC 的测量值(PV):使用功能码 03(读取保持寄存器)。

  • 写入 E5CC 的设定值(SV):使用功能码 06(写入单个保持寄存器)。

2. 完整梯形图程序(附注释)

ladder

// ===================== 初始化(仅首次扫描执行)=====================
LD     P_First_Cycle       // 首次扫描标志
MOV    #0000 D100          // 初始化Modbus状态寄存器
SET    M0000               // 启动读取PV的触发标志

// ===================== 读取E5CC的测量值(PV):40001寄存器 =====================
// MB_MSTR指令格式:MB_MSTR 从站地址,功能码,起始寄存器地址,寄存器数量,数据存储地址,状态地址,完成标志
// 从站地址1,功能码03(读保持寄存器),起始地址0000(对应40001),读取1个寄存器,存入D200,状态D100,完成标志M0010
LD     M0000               // 触发读取指令
ANDNOT M0010               // 未完成时执行
MB_MSTR #0001 #03 #0000 #0001 D200 D100 M0010

// 读取完成后,将D200的数值(PV,0.1℃)转换为实际温度存入D201(如D200=250 → D201=25.0)
LD     M0010               // 读取完成标志
DIV    D200 #000A D201     // D200 ÷ 10 = D201
RST    M0010               // 复位完成标志

// ===================== 写入E5CC的设定值(SV):40002寄存器 =====================
// 示例:将D300的数值(如300=30.0℃)写入40002寄存器,触发条件为X000(按钮)
// MB_MSTR指令格式:MB_MSTR 从站地址,功能码,寄存器地址,无效(写单个时为0),写入数据地址,状态地址,完成标志
LD     X000                // 写入触发按钮
ANDNOT M0020               // 未完成时执行
MB_MSTR #0001 #06 #0001 #0000 D300 D110 M0020

// 写入完成后,复位触发按钮(可选)
LD     M0020               // 写入完成标志
RST    X000                // 复位触发(实际可改用上升沿触发)
RST    M0020               // 复位完成标志

3. 指令参数解释

  • MB_MSTR:CP1H 的 Modbus 主站专用指令,需在 CX-Programmer 的「指令库」中调用(或输入指令名)。

  • 从站地址:E5CC 的 CT02 参数设置的地址(如 1)。

  • 功能码:03 = 读取保持寄存器,06 = 写入单个保持寄存器,16 = 写入多个保持寄存器。

  • 寄存器地址:E5CC 的寄存器地址(注意偏移:40001 对应 0000,40002 对应 0001)。

  • 数据存储地址:读取时,数据存入该地址;写入时,该地址为要写入的数值。

  • 状态地址:存储 Modbus 指令的执行状态(0 = 正常,非 0 = 故障,如 1 = 超时,2 = 校验错误)。

  • 完成标志:指令执行完成后置 1,需手动复位。

六、常见故障排查

  1. 通讯无响应

    • 检查接线(A/B 线是否接反,屏蔽层是否单端接地)。

    • 核对 CP1H 和 E5CC 的通讯参数(波特率、数据格式、从站地址)是否完全一致。

    • 用串口调试助手监听总线,查看是否有数据发送 / 接收。

  2. 读取数据错误

    • 确认 E5CC 的寄存器地址是否正确(是否存在地址偏移)。

    • 检查数据格式(E5CC 的数值为 0.1℃单位,需转换)。

  3. 写入数据失败

    • 确认 E5CC 是否处于锁定状态(部分型号需解锁才能写入参数)。

    • 检查功能码是否正确(写单个寄存器用 06,多个用 16)。

总结

  1. CP1H 与 E5CC 的 Modbus 通讯核心是参数统一(波特率、数据格式等)寄存器地址正确映射

  2. 程序中通过MB_MSTR 指令实现主站功能,03 功能码读取 PV 值,06 功能码写入 SV 值是最常用的操作。

  3. 调试时优先排查硬件接线和参数配置,再检查程序中的指令参数(如寄存器地址、功能码)。

收缩
  • QQ咨询

  • 电话咨询

  • 18576370666
  • 添加微信客服