news 2026/4/28 23:13:25

欧姆龙CP1H与2台三菱变频器Modbus RTU通讯那些事儿

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
欧姆龙CP1H与2台三菱变频器Modbus RTU通讯那些事儿

欧姆龙cp1h与2台三菱变频器modbus rtu通讯程序。 程序有注释。 用的电脑在线模拟,选的威纶通mt8102ip,如果是真实触摸屏只需更改com口和买一根威纶通与欧姆龙232的通讯线即可。 控制正反转、状态显示、写入频率、加减速时间和读取频率、电流、输出电压,plc型号为cp1h-x40dt-d,变频器为三菱fr-e700(d700也能用) 零基础、基础差的朋友不适合。 适合有基础,但有某些个知识点不懂的朋友。

最近在研究欧姆龙CP1H与2台三菱变频器通过Modbus RTU进行通讯,这里和大家分享一下相关程序以及一些要点,有基础但在某些知识点上有困惑的朋友可以看过来啦,零基础和基础差的朋友可能不太适合这篇文章哦。

这次我是用电脑在线模拟,选的威纶通MT8102IP,如果是真实触摸屏的话,只需更改COM口并买一根威纶通与欧姆龙232的通讯线即可。PLC型号是CP1H - X40DT - D,变频器是三菱FR - E700(其实D700也能用)。

程序主体部分

// 定义通讯端口参数 #DEFINE COM_PORT 1 // 使用COM1口 #DEFINE BAUD_RATE 9600 // 波特率9600 #DEFINE DATA_BITS 7 // 数据位7位 #DEFINE STOP_BITS 2 // 停止位2位 #DEFINE PARITY EVEN // 偶校验 // 初始化Modbus RTU通讯 SEND_MSG: SET S120.00; // 开启通讯功能 MOV #0001 D100; // 站号设置为1(第一台变频器) MOV #0006 D101; // 功能码06,用于写入单个寄存器 MOV #0000 D102; // 寄存器地址,这里举例一个地址 MOV #0050 D103; // 写入数据,比如设定频率值 MOV #0004 D104; // 数据长度 MOV #0000 D105; // 错误代码暂存 MOV #0000 D106; // 通讯状态暂存 MOV #0000 D107; // 其他相关暂存 // 启动通讯发送 OUT S122.00; WDR; // 防止看门狗复位

代码分析

  1. 端口参数定义:通过#DEFINE来设置通讯端口的基本参数,像COM口、波特率、数据位、停止位和校验方式。这些参数必须和变频器的设置一致,不然通讯肯定出问题。
  2. 初始化通讯:先置位S120.00开启通讯功能,这就像给整个通讯系统上电一样。然后在D100-D107这些寄存器里设置各种通讯相关参数,比如站号、功能码、寄存器地址、写入数据等等。这里的站号要对应变频器实际设置的站号,功能码根据我们要实现的功能来选,像写入频率就选功能码06 。最后通过OUT S122.00启动通讯发送,同时用WDR防止看门狗复位,因为通讯过程可能稍微长一点,别让看门狗以为程序死机把它复位了。

控制正反转部分

// 正转控制 FORWARD_CONTROL: MOV #0001 D102; // 对应正转控制的寄存器地址 MOV #0001 D103; // 正转指令数据 MOV #0004 D104; MOV #0000 D105; MOV #0000 D106; MOV #0000 D107; OUT S122.00; WDR; // 反转控制 REVERSE_CONTROL: MOV #0001 D102; // 对应反转控制的寄存器地址 MOV #0002 D103; // 反转指令数据 MOV #0004 D104; MOV #0000 D105; MOV #0000 D106; MOV #0000 D107; OUT S122.00; WDR;

代码分析

正转和反转控制部分逻辑类似,都是先设置对应的寄存器地址(D102)和指令数据(D103)。正转时写入对应正转指令数据,反转同理。其他参数如数据长度等和初始化部分类似。设置好后同样通过OUT S122.00发送指令,并防止看门狗复位。

状态显示、读取频率、电流和输出电压部分

// 读取频率 READ_FREQUENCY: MOV #0001 D100; // 站号 MOV #0003 D101; // 功能码03,用于读取多个寄存器 MOV #0002 D102; // 频率寄存器起始地址 MOV #0002 D103; // 读取2个寄存器(根据频率数据存储情况) MOV #0004 D104; MOV #0000 D105; MOV #0000 D106; MOV #0000 D107; OUT S122.00; WDR; // 读取电流 READ_CURRENT: MOV #0001 D100; MOV #0003 D101; MOV #0004 D102; // 电流寄存器起始地址 MOV #0002 D103; // 读取2个寄存器 MOV #0004 D104; MOV #0000 D105; MOV #0000 D106; MOV #0000 D107; OUT S122.00; WDR; // 读取输出电压 READ_VOLTAGE: MOV #0001 D100; MOV #0003 D101; MOV #0006 D102; // 电压寄存器起始地址 MOV #0002 D103; // 读取2个寄存器 MOV #0004 D104; MOV #0000 D105; MOV #0000 D106; MOV #0000 D107; OUT S122.00; WDR;

代码分析

读取频率、电流和输出电压都使用功能码03来读取多个寄存器。不同的是寄存器起始地址,根据变频器手册找到频率、电流、电压对应的寄存器地址分别设置在D102里。读取的寄存器个数根据数据存储情况来,一般可能是2个寄存器。设置好这些参数后,同样启动通讯发送并防止看门狗复位。

总的来说,欧姆龙CP1H与三菱变频器通过Modbus RTU通讯,关键在于参数设置准确和指令发送正确,希望这篇文章对有相关疑惑的朋友有所帮助。要是实际连接真实触摸屏,记得按前面说的改COM口和准备好通讯线哦。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/23 2:27:47

创意编码新范式:Processing结合Z-Image-Turbo的技法

创意编码新范式:Processing结合Z-Image-Turbo的技法 作为一名新媒体艺术爱好者,你是否曾想过将AI生成图像的无限可能与传统程序艺术的精确控制相结合?Processing作为创意编码的经典工具,与Z-Image-Turbo这一高效图像生成引擎的融合…

作者头像 李华
网站建设 2026/4/28 8:42:39

多智能体系统如何评估公司的可持续发展能力

多智能体系统如何评估公司的可持续发展能力关键词:多智能体系统、公司可持续发展能力评估、人工智能、数据分析、决策支持摘要:本文旨在深入探讨多智能体系统在评估公司可持续发展能力方面的应用。通过详细介绍多智能体系统的核心概念、算法原理、数学模…

作者头像 李华
网站建设 2026/4/22 16:30:23

从飞行控制到结构监测:石英加速度计如何成为航空航天中的可靠之眼

在航天航空这一对可靠性与精度要求极严的领域,每一个传感器都承载着飞行安全与任务成功的重任。ER-QA-03A高性能石英加速度计,以其基于石英挠性结构的独特设计、高稳定性与强环境适应性,成为飞行器姿态控制、结构健康监测与导航系统中不可或缺…

作者头像 李华
网站建设 2026/4/18 11:32:16

Z-Image-Turbo性能调优:基于预配置环境快速实验不同推理参数

Z-Image-Turbo性能调优:基于预配置环境快速实验不同推理参数 作为一名AI工程师,你是否经常遇到这样的困扰:在优化Z-Image-Turbo模型的推理速度和质量平衡时,每次调整参数都需要重新运行整个流程,效率低下?本…

作者头像 李华
网站建设 2026/4/18 2:44:27

无障碍设计:视障者友好的AI图像描述生成系统搭建

无障碍设计:视障者友好的AI图像描述生成系统搭建 对于公益组织开发人员来说,创建图片转语音描述服务是一个非常有意义的项目,但往往面临AI基础设施不足的挑战。本文将介绍如何利用预置镜像快速搭建一个视障者友好的AI图像描述生成系统&#x…

作者头像 李华