百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术分析 > 正文

变频器的Modbus通讯控制(一) 变频器modbus地址定义

liebian365 2024-10-22 15:34 28 浏览 0 评论

下面我们以英威腾GD200A系列变频器为例给大家介绍如何通过Modbus协议进行通讯控制,在此之前简单给大家做一些前提工作。

  • Mdobus协议内容
  • 变频器接线
  • 变频器参数设置
  • Modbus通讯数据格式
  • 变频器通讯地址

Modbust协议

关于Modbus通讯协议这块我们参考英威腾变频器的说明手册进行简单理解

变频器采用Modbus 通讯协议进行的主从通讯可通过 PC/PLC、控制上位机等实现集中控制(设定变频器控制命令、运行频率、相关功能码参数的修改,变频器工作状态及故障信息的监控等),以适应特定的应用要求。

Modbus 协议是一种软件协议,是应用于电子控制器上的一种通用语言。通过此协议,控制器可以经由传输线路和其它设备进行通讯。它是一种通用工业标准,有了它,不同厂商生产的控制设备可以连成工业网络,进行集中监控。

Modbus 协议有两种传输模式:ASCII 模式和 RTU(远程终端单元,Remote Terminal Units)模式。在同一个 Modbus 网络中,所有的设备传输模式、波特率、数据位、校验位、停止位等基本参数必须一致。

Modbus 网络是一种单主多从的控制网络,即同一个 Modbus 网络中只有一台设备是主机,其它设备都为从机。主机可以单独地对某台从机通讯,也可以对所有从机发布广播信息。对于单独访问的命令,从机都应返回一个回应信息;对应主机发出的广播信息,从机无需反馈回应信息给主机。

简单来说就是在Modbus通讯中变频器作为从站,我们的PLC或者其他控制器作为主站进行通讯,发送的数据格式这里使用RTU或者ASCII来完成传输,因为在大多数的中低端型号的变频器中Modbus是支持最广泛的一种通讯。

Modbust接线

关于它的接线很简单使用两根线缆即可完成通信,采用RS485接口实现通讯,接口类型形式有许多,比如普通端子类型、RJ45网口、RJ11电话接口等类型。RS485 接口工作于半双工,数据信号采用差分传输方式,使用一对双绞线来完成。端子定义名称通常也不统一的。例如A(+)、B(-),有SG+、SG-,DX+、DX-,SDA(RDA)、SDB(RDB)等等,只要正的与485+连接,负的与485-连接即可,可通过变频器手册来进行定义查询。英威腾变频器的RS485接口的端子定义就是485+和485-,我们只需要把控制器的对应的通信线接入即可。

变频器参数设置

变频器的最主要的控制就是频率命令与运行命令的设定,简单来讲就是调速与开关的控制,这个参数通常位于基本参数组,这里我们只设置常用的一些参数。通讯参数一般需要设置站号、波特率(传输速度)、数据位校验设置、通讯超时等。

后面的内容我们依次使用PC上的串口通信助手、三菱FX3G系列PLC、西门子200smart系列的PLC以及HMI触摸屏来演示对英威腾变频器的控制。

变频器参数设置如下:

  1. P00.01运行指令通道选择2通讯运行指令通道
  2. P00.06A频率指令选择8MODBUS通讯设定
  3. P00.09设定源组合方式选择0A,当前频率设定A频率指令
  4. P14.00本机通讯地址设定站号1
  5. P14.01通讯波特率设置为3(9600)
  6. P14.02数据位校验设置为3无校验(N,8,2)for RTU或者15无校验(N,8,2)for ASCII

其中波特率与数据校验可随意设置,需要与控制器设置一致即可。

Modbus数据格式

RTU帧的标准结构

帧头START

T1-T2-T3-T4(3.5个字节的传输时间)

从机地址域ADDR

通讯地址:0~247(十进制)

功能域CMD

03H:读从机参数

06H:写从机参数

数据域

DATA(N-1)

. . .

DATA(0)

2*N个字节的数据,该部分为通讯的主要内容,也是通讯中,数据

交换的核心

CRC CHK 低位


检测值:CRC校验值(16BIT)

CRC CHK 高位

帧尾END

T1-T2-T3-T4(3.5个字节的传输时间)

从机地址就是变频器的站号,功能码这里介绍两个06H(写) 03H(读),数据就是要写入的数据或者读取数据的个数,例如设置变频器频率50.00Hz,发送的数据就是13 88(16进制数据,按照高低8位),如果要读取变频器的频率,发送的数据就是00 01(读取2个字节的数据)。校验码指的是整个数据校验,RTU格式使用CRC校验,ASCII格式使用LRC校验,这个校验码可通过串口助手计算或者编程完成。其计算原理我们在后续的PLC程序进行讲解。

ASCII帧的标准结构

帧头

起始字符‘:’(0x3A)

从机地址地址高位

通讯地址:

8-bit 地址由2个ASCII码组合

从机地址地址低位

功能码高位

功能码:

8-bit 地址由2个ASCII码组合

功能码低位

数据域

DATA(N-1)

. . .

DATA(0)

数据内容:

nx8-bit 数据内容由2n个ASCII码组合

n<=16,最大32个ASCII码

LRC CHK高位

LRC检查码:

8-bit 检验码由2个ASCII码组合

LRC CHK低位

帧尾高位

结束符:

END Hi=CR(0x0D),END Lo=LF(0x0A)

帧尾低位

在ASCII数据中每个 16 进制都需要进行对应字符的ASCII码的转换如下表:

字符

“0”

“1”

“2”

“3”

“4”

“5”

“6”

“7”

ASCII码

30H

31H

32H

33H

34H

35H

36H

37H

字符

“8”

“9”

“A”

“B”

“C”

“D”

“E”

“F”

ASCII码

38H

39H

41H

42H

43H

44H

45H

46H

这其中RTU和ASCII的编码系统与数据格式在这里不做详细说明,对于我们来讲也不太需要,我们只要了解与变频器通讯需要发送那些数据,工程数据与通讯数据是如何转换的即可,下面我们分别以RTU与ASCII为例说明通讯的数据发送过程。

将5000(十进制)数据写入到站号为2地址0004(16进制)的变频器当中,首先我们需要把5000的十进制数据转换为16进制的1388H(数字后跟一个“H”或者前缀“0x”表示 16 进制数字),因为数据都是8位发送的,所以有1388H拆分为高为13H与低位88H依次发送。那么按照RTU的标准格式:

RTU发送

站号

02H

功能码(发送)

06H

变频器数据地址高位

00H

变频器数据地址低位

04H

发送数据的高位

13H

发送数据的低位

88H

校验码CRC低位

C5H

校验码CRC高位

6EH

这里我们需要注意CRC校验码的顺序是先低位后高位,在计算CRC的结果后需要进行高低位转换。

ASCII发送

字符→ASCII

STX起始符

3AH


站号

“0”→30H

“2”→32H


数据地址高位

“0”→30H

“0”→30H


数据地址低位

“0”→30H

“4”→34H


发送数据高位

“1”→31H

“3”→31H


发送数据低位

“8”→31H

“8”→31H

校验码LRC低位

“5”→35H

校验码LRC高位

“9”→39H

结束符高位

0DH

结束符低位

0AH

变频器通讯地址

所谓的通讯地址就是要知道通讯数据的地址定义,用于控制变频器的运行、获取变频器状态信息及变频器相关功能参数设定等,这里我们介绍常用的几个地址。

控制功能

地址定义

数据说明

读写特性

正转命令

2000H

0001H

W/R

反转命令

2000H

0002H

W/R

停止命令

2000H

0001H

W/R

频率设定

2001H

0~Fmax(位:0.01Hz)



变频器状态


2100H

0001H:正转运行

0001H:反转运行

0001H:停机

0001H:故障


R

运行频率

3000H

设定范围:0.00Hz~P00.03

R

输出电压

3003H

设定范围:0~1200V

R

输出电流

3004H

设定范围:0.0~5000.0A

R

R/W 特性表示该功能是读/写特性,R代表可进行读取操作,W代表可进行写入操作,W/R表示可读取和写入操作。

以上几部分就是做Modbus通讯的前提内容,后面的内容我们将通过PC上的串口通讯、PLC以及触摸屏依次演示与英威腾变频器的通讯控制。

相关推荐

“版本末期”了?下周平衡补丁!国服最强5套牌!上分首选

明天,酒馆战棋就将迎来大更新,也聊了很多天战棋相关的内容了,趁此机会,给兄弟们穿插一篇构筑模式的卡组推荐!老规矩,我们先来看10职业胜率。目前10职业胜率排名与一周前基本类似,没有太多的变化。平衡补丁...

VS2017 C++ 程序报错“error C2065:“M_PI”: 未声明的标识符&quot;

首先,程序中头文件的选择,要选择头文件,在文件中是没有对M_PI的定义的。选择:项目——>”XXX属性"——>配置属性——>C/C++——>预处理器——>预处理器定义,...

东营交警实名曝光一批酒驾人员名单 88人受处罚

齐鲁网·闪电新闻5月24日讯酒后驾驶是对自己和他人生命安全极不负责的行为,为守护大家的平安出行路,东营交警一直将酒驾作为重点打击对象。5月23日,东营交警公布最新一批饮酒、醉酒名单。对以下驾驶人醉酒...

Qt界面——搭配QCustomPlot(qt platform)

这是我第一个使用QCustomPlot控件的上位机,通过串口精确的5ms发送一次数据,再将读取的数据绘制到图表中。界面方面,尝试卡片式设计,外加QSS简单的配了个色。QCustomPlot官网:Qt...

大话西游2分享赢取种族坐骑手办!PK趣闻录由你书写

老友相聚,仗剑江湖!《大话西游2》2021全民PK季4月激燃打响,各PK玩法鏖战齐开,零门槛参与热情高涨。PK季期间,不仅各种玩法奖励丰厚,参与PK趣闻录活动,投稿自己在PK季遇到的趣事,还有机会带走...

测试谷歌VS Code AI 编程插件 Gemini Code Assist

用ClaudeSonnet3.7的天气测试编码,让谷歌VSCodeAI编程插件GeminiCodeAssist自动编程。生成的文件在浏览器中的效果如下:(附源代码)VSCode...

顾爷想知道第4.5期 国服便利性到底需优化啥?

前段时间DNF国服推出了名为“阿拉德B计划”的系列改版计划,截至目前我们已经看到了两项实装。不过关于便利性上,国服似乎还有很多路要走。自从顾爷回归DNF以来,几乎每天都在跟我抱怨关于DNF里面各种各样...

掌握Visual Studio项目配置【基础篇】

1.前言VisualStudio是Windows上最常用的C++集成开发环境之一,简称VS。VS功能十分强大,对应的,其配置系统较为复杂。不管是对于初学者还是有一定开发经验的开发者来说,捋清楚VS...

还嫌LED驱动设计套路深?那就来看看这篇文章吧

随着LED在各个领域的不同应用需求,LED驱动电路也在不断进步和发展。本文从LED的特性入手,推导出适合LED的电源驱动类型,再进一步介绍各类LED驱动设计。设计必读:LED四个关键特性特性一:非线...

Visual Studio Community 2022(VS2022)安装图文方法

直接上步骤:1,首先可以下载安装一个VisualStudio安装器,叫做VisualStudioinstaller。这个安装文件很小,很快就安装完成了。2,打开VisualStudioins...

Qt添加MSVC构建套件的方法(qt添加c++11)

前言有些时候,在Windows下因为某些需求需要使用MSVC编译器对程序进行编译,假设我们安装Qt的时候又只是安装了MingW构建套件,那么此时我们该如何给现有的Qt添加一个MSVC构建套件呢?本文以...

Qt为什么站稳c++GUI的top1(qt c)

为什么现在QT越来越成为c++界面编程的第一选择,从事QT编程多年,在这之前做C++界面都是基于MFC。当时为什么会从MFC转到QT?主要原因是MFC开发界面想做得好看一些十分困难,引用第三方基于MF...

qt开发IDE应该选择VS还是qt creator

如果一个公司选择了qt来开发自己的产品,在面临IDE的选择时会出现vs或者qtcreator,选择qt的IDE需要结合产品需求、部署平台、项目定位、程序猿本身和公司战略,因为大的软件产品需要明确IDE...

Qt 5.14.2超详细安装教程,不会来打我

Qt简介Qt(官方发音[kju:t],音同cute)是一个跨平台的C++开库,主要用来开发图形用户界面(GraphicalUserInterface,GUI)程序。Qt是纯C++开...

Cygwin配置与使用(四)——VI字体和颜色的配置

简介:VI的操作模式,基本上VI可以分为三种状态,分别是命令模式(commandmode)、插入模式(Insertmode)和底行模式(lastlinemode),各模式的功能区分如下:1)...

取消回复欢迎 发表评论: