news 2026/4/3 3:01:40

欧姆龙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/2 1:19:15

科哥二次开发指南:一小时构建定制化Z-Image-Turbo工作流

科哥二次开发指南:一小时构建定制化Z-Image-Turbo工作流 如果你正在寻找一种快速构建AI图像生成工作流的方法,Z-Image-Turbo无疑是一个值得关注的选择。这款由阿里巴巴开源的模型仅需8步推理就能生成高质量图像,相比传统扩散模型50步的流程&a…

作者头像 李华
网站建设 2026/3/31 15:40:29

阿里通义Z-Image-Turbo WebUI商业授权全解析:安全使用AI生成图像

阿里通义Z-Image-Turbo WebUI商业授权全解析:安全使用AI生成图像 在广告设计、营销素材制作等领域,AI图像生成技术正逐渐成为提升效率的利器。阿里通义Z-Image-Turbo WebUI作为一款商业授权的AI图像生成工具,为广告公司等商业用户提供了稳定、…

作者头像 李华
网站建设 2026/4/2 6:41:17

程序员必备神器:高效插件精选

Falcon Relaxing-Eyes Islands 这是一款旨在缓解眼睛疲劳的插件,适合长时间使用电脑的用户。 功能特点: 定时提醒休息,减少眼睛疲劳提供柔和的背景色,降低屏幕对眼睛的刺激可自定义休息间隔和提醒方式 安装方法: 在 In…

作者头像 李华
网站建设 2026/3/30 15:36:45

AI绘画自动化:用Z-Image-Turbo和云端GPU构建批量处理流水线

AI绘画自动化:用Z-Image-Turbo和云端GPU构建批量处理流水线 如果你是一位内容平台运营,每天需要生成大量风格一致的插画,手动操作不仅效率低下,还容易出错。本文将介绍如何利用Z-Image-Turbo和云端GPU构建一个自动化图像生成系统&…

作者头像 李华
网站建设 2026/3/31 22:53:15

10分钟搭建阿里通义Z-Image-Turbo WebUI:零基础快速生成商用级AI图像

10分钟搭建阿里通义Z-Image-Turbo WebUI:零基础快速生成商用级AI图像 作为一名电商创业者,你是否遇到过这样的困境:急需为新产品制作高质量宣传图,却苦于没有专业设计师资源?或者尝试过本地部署AI绘图工具,…

作者头像 李华
网站建设 2026/3/30 15:21:34

AI绘画性能对决:Z-Image-Turbo与主流模型的云端横评方案

AI绘画性能对决:Z-Image-Turbo与主流模型的云端横评方案 作为一名AI绘画爱好者,我经常遇到这样的困惑:不同模型的实际表现差异究竟有多大?本地测试时,硬件配置、软件版本等环境变量总会干扰结果。最近发现Z-Image-Turb…

作者头像 李华