news 2026/4/30 11:42:26

台达 24es 与两台施耐德 ATV310 变频器的 RTU 通讯示例

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
台达 24es 与两台施耐德 ATV310 变频器的 RTU 通讯示例

台达24es通讯(rtu方式)两台施耐德ATV310变频器示例 施耐德变频器的rtu有一点麻烦,是和大多变频器通讯不一样,它有它的逻辑,但这并不妨碍我们和它的通讯,比如用台达plc来通讯,点动频率,加减速时间都可以设定,需要来看看吧 1.硬件,台达plc(es.eh…类型,支持modrw指令)施耐德ATV310(其他型号也可以)。 2.实现功能,两台变频器分别的控制,加减及设定频率,加减速点动频率设定,运行数据读取。

最近在做工业控制相关项目的时候,遇到了用台达 PLC 通过 RTU 方式和施耐德 ATV310 变频器通讯的需求。施耐德变频器的 RTU 通讯逻辑和大多变频器不太一样,有点麻烦,但这并不影响我们实现和它的通讯。下面我就给大家分享一下用台达 24es 进行两台施耐德 ATV310 变频器通讯的示例。

硬件准备

首先来看看我们需要用到的硬件:

  • 台达 PLC(es、eh 等类型,支持 modrw 指令)。这种类型的 PLC 支持 modrw 指令,这对于和变频器进行通讯至关重要,因为我们后续的数据读写都要依靠这个指令来完成。
  • 施耐德 ATV310 变频器(其实其他型号理论上也可以,不过这里以 ATV310 为例)。

实现功能

我们要实现的功能包括对两台变频器分别进行控制,比如加减及设定频率,加减速点动频率设定,还有运行数据的读取。下面我就结合代码给大家详细说说。

代码示例及分析

' 初始化部分 LD M0 ' 假设 M0 为启动标志位 CALL SUB_COMM ' 调用通讯子程序 ' 通讯子程序 SUBROUTINE SUB_COMM: ' 对第一台变频器(站号 1)进行频率设定 MOV D100 K1 ' D100 存放要设定的频率值,这里简单赋值一个固定值,实际可根据需求修改 MOV K1 D102 ' 站号 1 MOV K16#06 D104 ' 写单个寄存器功能码 MOV K16#2000 D106 ' 要写入的寄存器地址(这里是频率设定寄存器,具体地址参考变频器手册) MOV D100 D108 ' 要写入的数据 CALL MODRW ' 调用 modrw 指令进行通讯 ' 对第二台变频器(站号 2)进行频率设定 MOV D110 K2 ' D110 存放第二台变频器要设定的频率值 MOV K2 D102 ' 站号 2 MOV K16#06 D104 ' 写单个寄存器功能码 MOV K16#2000 D106 ' 要写入的寄存器地址 MOV D110 D108 ' 要写入的数据 CALL MODRW ' 调用 modrw 指令进行通讯 ' 读取第一台变频器的运行频率 MOV K1 D102 ' 站号 1 MOV K16#03 D104 ' 读多个寄存器功能码 MOV K16#2001 D106 ' 要读取的寄存器地址(运行频率寄存器) MOV K1 D108 ' 要读取的寄存器数量 CALL MODRW ' 调用 modrw 指令进行通讯 MOV D112 D120 ' 将读取到的数据存放到 D120 中 ' 读取第二台变频器的运行频率 MOV K2 D102 ' 站号 2 MOV K16#03 D104 ' 读多个寄存器功能码 MOV K16#2001 D106 ' 要读取的寄存器地址 MOV K1 D108 ' 要读取的寄存器数量 CALL MODRW ' 调用 modrw 指令进行通讯 MOV D112 D122 ' 将读取到的数据存放到 D122 中 RET

代码分析

  • 初始化部分:我们用一个启动标志位 M0 来控制通讯子程序的调用。当 M0 为 ON 时,就会调用通讯子程序SUB_COMM
  • 通讯子程序
  • 频率设定部分:对于每台变频器,我们先将要设定的频率值存放在一个数据寄存器中(如 D100 对应第一台,D110 对应第二台),然后设置站号、功能码(这里用的是写单个寄存器功能码K16#06)、要写入的寄存器地址(这里假设K16#2000是频率设定寄存器地址,具体要参考变频器手册),最后调用MODRW指令进行通讯,将频率值写入变频器。
  • 运行频率读取部分:同样,先设置站号、功能码(读多个寄存器功能码K16#03)、要读取的寄存器地址(假设K16#2001是运行频率寄存器地址)和要读取的寄存器数量,然后调用MODRW指令进行通讯,将读取到的数据存放到指定的数据寄存器中(如 D120 对应第一台,D122 对应第二台)。

通过以上代码和分析,我们就可以实现用台达 24es PLC 对两台施耐德 ATV310 变频器进行分别控制、频率设定和运行数据读取啦。在实际应用中,大家要根据具体的需求和变频器手册来调整代码中的参数哦。

台达24es通讯(rtu方式)两台施耐德ATV310变频器示例 施耐德变频器的rtu有一点麻烦,是和大多变频器通讯不一样,它有它的逻辑,但这并不妨碍我们和它的通讯,比如用台达plc来通讯,点动频率,加减速时间都可以设定,需要来看看吧 1.硬件,台达plc(es.eh…类型,支持modrw指令)施耐德ATV310(其他型号也可以)。 2.实现功能,两台变频器分别的控制,加减及设定频率,加减速点动频率设定,运行数据读取。

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

5分钟部署Qwen3-VL-8B-Instruct,零基础玩转多模态AI

5分钟部署Qwen3-VL-8B-Instruct,零基础玩转多模态AI 1. 模型简介:为什么你该关注 Qwen3-VL-8B-Instruct-GGUF? 你有没有遇到过这样的问题:想用一个能“看图说话”的AI模型,但动辄需要40GB显存、A100起步的硬件门槛&a…

作者头像 李华
网站建设 2026/4/26 17:27:16

OpCore Simplify:智能硬件检测与自动化配置完整指南

OpCore Simplify:智能硬件检测与自动化配置完整指南 【免费下载链接】OpCore-Simplify A tool designed to simplify the creation of OpenCore EFI 项目地址: https://gitcode.com/GitHub_Trending/op/OpCore-Simplify OpCore Simplify是一款专为Hackintosh…

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

IQuest-Coder-V1最佳实践:CI/CD集成自动化代码生成

IQuest-Coder-V1最佳实践:CI/CD集成自动化代码生成 IQuest-Coder-V1-40B-Instruct 是一款专为现代软件工程和竞技编程场景打造的大型语言模型。它不仅具备强大的代码理解与生成能力,还深度适配自动化开发流程,尤其在持续集成与持续交付&…

作者头像 李华
网站建设 2026/4/9 3:33:21

XposedRimetHelper:钉钉位置模拟终极解决方案

XposedRimetHelper:钉钉位置模拟终极解决方案 【免费下载链接】XposedRimetHelper Xposed 钉钉辅助模块,暂时实现模拟位置。 项目地址: https://gitcode.com/gh_mirrors/xp/XposedRimetHelper 在现代职场中,钉钉打卡已成为大多数企业的…

作者头像 李华
网站建设 2026/5/1 2:55:10

GalTransl:AI智能汉化让Galgame翻译从未如此简单

GalTransl:AI智能汉化让Galgame翻译从未如此简单 【免费下载链接】GalTransl 支持GPT-3.5/GPT-4/Newbing/Sakura等大语言模型的Galgame自动化翻译解决方案 Automated translation solution for visual novels supporting GPT-3.5/GPT-4/Newbing/Sakura 项目地址: …

作者头像 李华