阳光电源并网逆变器MODBUS通讯协议培训资料

客服中心2012年4月培训资料

一、MODBUS通讯协议

1、 MODBUS通讯协议简介:

Modbus是由Modicon(现为施耐德电气公司的一个品牌)在1979年发明的,是全球第一个真正用于工业现场的总线协议。为更好地普及和推动Modbus在基于以太网上的分布式应用,目前施耐德公司已将Modbus协议的所有权移交给IDA(Interface for Distributed Automation,分布式自动化接口)组织,并成立了Modbus-IDA组织,为Modbus今后的发展奠定了基础。在中国,Modbus已经成为国家标准GB/T19582-2008。

Modbus 协议是应用于电子控制器上的一种通用语言。通过此协议,控制器相互之间、控制器经由网络(例如以太网)和其它设备之间可以通信。它已经成为一通用工业标准。有了它,不同厂商生产的控制设备可以连成工业网络,进行集中监控。此协议定义了一个控制器能认识使用的消息结构,而不管它们是经过何种网络进行通信的。它描述了一控制器请求访问其它设备的过程,如何回应来自其它设备的请求,以及怎样侦测错误并记录。

当在一Modbus网络上通信时,此协议决定了每个控制器须要知道它们的设备地址,识别按地址发来的消息,决定要产生何种行动。如果需要回应,控制器将生成反馈信息并用Modbus协议发出。

而在一个系统中,对具体命令代码执行的动作就需要对协议按照协议公约进行解析(相当于翻译的过程,确定此代码具体包含何种信息)。应用到公司生产的逆变器设备,就需要掌握公司制定的光伏并网逆变器通讯协议。

2、 MODBUS的特点:

(1)标准、开放,用户可以免费、放心地使用Modbus协议,不需要交纳许可证费,也不会侵犯知识产权。

(2)Modbus可以支持多种电气接口,如RS-232、RS-485等,还可以在各种介质上传送,如双绞线、光纤、无线等。

(3)Modbus的帧格式简单、紧凑,通俗易懂。用户使用容易,厂商开发简单。

3、 MODBUS的分类:

MODBUS通讯协议分为RTU协议和ACSII协议两种。

ASCII 模式:当控制器设为在Modbus 网络上以ASCII (美国标准信息交换代码)模式通信,在消息中的每个8位字节都作为一个ASCII 码(两个十六进制字符)发送。这种方式的主要优点是字符发送的时间间隔可达到1秒而不产生错误。

RTU 模式: 当控制器设为在Modbus 网络上以RTU (远程终端单元)模式通信,在消息中的每个8位字节包含两个4位的 十六进制字符。这种方式的主要优点是:在同样的波特率下,可比ASCII 方式传送更多的数据。 (为什么公司的通讯协议选用RTU 模式???) 两种协议的区别:

ASCII 协议和RTU 协议相比拥有开始和结束标记,因此在进行程序处理时能更加方便,而且由于传输的都是可见的ASCII 字符,所以进行调试时就更加的直观,另外它的LRC 校验(纵向冗长检测) 也比较容易。

RTU 传输的数据每一个字节ASCII 都要用两个字节来传输,比如RTU 传输一个十六进制数0xF9,ASCII 就需要传输’F’’9’的ASCII 码0x39和0x46两个字节,这样它的传输的效率就比较低。所以一般来说,如果所需要传输的数据量较小可以考虑使用ASCII 协议,如果所需传输的数据量比较大,最好能使用RTU 协议。RTU 协议采用CRC 校验(循环冗长检测) 。

二、光伏并网逆变器通讯协议

1、报文格式(上位机发送或下位机响应的报文,十六进制): 数据格式: 数据长度:

地址码:设备的地址,即逆变器上设置的485通讯地址;

功能码:

作为上位机请求发送,通过功能码告诉从机执行什么动作。 作为下位机响应,下位机发送的功能码与从上位机发送来的功能码一样,并表明下位机已响应上位机进行操作。

MODBUS 通讯规约定义功能码为0x01到0xff 。公司光伏并网逆变器仅使用功能码0x03、0x04、0x06、0x10。 各功能码定义如下: 功能码0x03: 读取保持寄存器(读取4x 地址类型) ; 功能码0x04: 读取输入寄存器(读取3x 地址类型) ;

功能码0x06: 向保持寄存器写单个字(写入4x 地址类型) ; 功能码0x10: 向保持寄存器写多个字(写入4x 地址类型)。

地址码 功能码 数据区 错误校验 1字节

1字节

N 字节

CRC 码

两类地址类型区别如下(此处地址为机器电路板上通讯芯片内部寄存器的地址,和机器的485通讯地址不同):

3x地址类型该区域地址空间只读;

4x地址类型该区域地址空间可读可写。

数据区:分三种情况

(1) 对于功能码0x03和0x04(读取数据):

上位机读取下位机数据:[要读取的寄存器前一位地址高8位(注意:是前一位,比如要读地址5000的数据,就是地址4999)] [低8位] [读取几个寄存器高8位] [低8位]

此时下位机响应的数据:[返回几个数据][数据1][数据2]...[数据n]

(2) 对于功能码0x06(写入单个数据):

上位机写入下位机数据:[需写入的寄存器前一位地址高8位] [低8位] [写入的数据高8位] [低8位]

下位机响应的数据:[需写入的寄存器前一位地址高8位] [低8位] [写入的数据高8位] [低8位](同发送的数据一样)

(3) 对于功能码0x10(写入多个数据):

上位机写入下位机数据:[需写入的寄存器前一位地址高8位] [低8位] [写入几个寄存器高8位] [低8位] [数据1][数据2]...[数据n]

下位机响应的数据:[需写入的寄存器前一位地址高8位] [低8位] [写入几个寄存器高8位] [低8位]

错误校验:CRC校验,在COMTEST里由COMTEST软件自动完成。

2、光伏并网逆变器通讯协议的解析:

光伏并网逆变器地址定义表如下所示

“地址”栏中为需要读写的内部寄存器的地址,“数据范围”栏中为寄存器中的数据,“地址类型”栏中分3x地址和4x地址两种。

其中“设备状态”寄存器5038中的数据对应于“附录一”中的“状态码”(即逆变器的实时工作状态)一栏

如果逆变器发生故障,则在“设备状态”寄存器5038中的数据为0x0200(硬件故障)或者0x0800(模块故障),此时需要进一步读取“状态数据1”寄存器5045中的数据(对应“附录一”中的“状态数据”一栏),以确定具体的故障信息。

针对SG630KTL机型,专门开辟了地址区间:5050~5070,用于记录更多

的机器状态和故障信息。

仅当机型为SG630KTL,“设备状态”寄

存器5038中的数据才有可能为

0x5500(故障),此时需要进一步读取“故

障状态”寄存器5050和5051中的数据

(对应“附录一”中的“状态数据”一栏),

以确定具体的故障信息。

注:此时故障信息为按位读取,不再是按

字节读取。

另外SG630KTL机器增加了许多节点状态检测,可以在“节点状态”寄存

器5058和5059中读取,状态信息也是按位读取的。

3、利用COMTEST软件对通讯进行模拟

现场调试通讯时,由于现场情况复杂,很多情况下利用SolarInfo软件搜索

设备时搜索不到,无法正常建立通讯,此时可以利用COMTEST软件直接

发送报文对通讯进行模拟。

操作界面

应用实例:

以公司发布的光伏并网逆变器通讯协议上的例子来分析:

(1) 获取逆变器型号(假设逆变器为SG4KTL)

假设逆变器通讯地址为1,需要获取逆变器型号(3x地址类型的5000地址数据)。上位机发送(HEX):

01 04 13 87 00 01 85 67

逆变器回应(HEX):

01 04 02 00 22 39 29

注释:SG4KTL 设备类型码为0x0022

在COMTEST里输入:01 04 13 87 00 01 (85 67 不用输入,由COMTEST软件自行CRC校验)

按报文解析:

01 ——逆变器485通讯地址注意:十六进制,如果此处为11,则逆变

器通讯地址为17(1x161+1x160),通讯地址为10的应为0A。

04 ——功能码,读取输入寄存器(仅限3x地址类型)

13 87 ——地址4999的十六进制,1x163+3x162+8x161+7x160=4999

00 01 ——地址4999后一个地址,即读取地址4999+1=5000的数据

逆变器回应报文解析:

01 04 02 00 22 39 29

01 ——响应的逆变器地址

04 ——功能码

02 ——返回两个数据

00 22 ——返回的机器型号(对照并网逆变器型号对应编码表可确定型号

为SG4KTL)

39 29 ——CRC校验,软件自动完成

并网逆变器型号对应编码表

序号型号编码

1S G1K5T L0x1F

2S G2K5T L0x20

3S G3K-B0x0B

4S G5K-B0x0C

5S G5K-C0x0D

6S G6K-B0x0E

7S G6K-C0x0F

8S G3K T L0x21

9S G4K T L0x22

10S G5K T L0x23

11S G6K T L0x24

12S G8K T L0x25

13S G10K T L0x26 14S G30K T L0x27 15S G15K T L0x28 16S G12K T L0x29 17S G20K T L0X2A

18 SG10K3 0x8D

19 SG30K3 0x8F

20 SG50K3 0x90

21 SG100K3 0x91

22 SG100K30x91

23 SG250K3 0x92

24 SG250KT0x93

25 SG500K3 0x94

26 SG500KT0x95

27 SG1000K0x96

28 SG250KL0x97

29 SG630KT0x98

30 SG100K0x99

31 SG100K0x9A

32 WG1K5T0x33

33 WG2K5T0x34

34 WG3K 0x35

35 WG5K 0x36

36 WG10K 0x37

37 WG10K-0x3A

38 WG10K3 0xA1

39 WG20K 0x38

40 WG20K3 0xA2

41 WG30K 0x39

42 WG30K3 0xA3

43 WG50K3 0xA4

44 SC22020 0xC9

45 SC4860 0xCA

46 SC482000xCD

47 WEL2K 0x47

48 WEL4K 0x48

49 WEL6K 0x49

50 WEL10K 0x4A

51 WEL20K 0x4B

52 WEL30K 0x4C

53 SDCPG 0x61

54 GCI1500(0x 51

55 GCI5000(0x 52

56 PVS-6M 0x D0

57 PVS-16M 0x D1

PVS-16M

59 PVS-12M 0x D3

60 PVS-8M 0x D4

61 SS100K 0x E0

62 SS100KL0x E1

(2) 获取逆变器运行信息

假设逆变器地址为1,需要获取3x地址类型的5000地址开始的10个地址的数据。上位机发送(HEX):

01 04 13 87 00 0A C4 A0

逆变器回应(HEX):

01 04 14 00 22 00 28 00 00 00 00 00 05 00 00 00 26 00 00 00 00 00 00 AF F8 注释:读取SG4KTL 设备类型码为0x0022,额定输出功率4.0kW,两相,日发电量为0,总发电量为5 kWh,总运行时间为38h,机内空气温度为0。

按报文解析:

上位机发送:01(地址) 04(功能码,读数据) 13 87(地址4999) 00 0A(取4999后10个寄存器数据,即5000~5009) C4 A0(CRC校验)

逆变器回应:01(地址) 04(功能码) 14(不是14个,而是1x161+4x160=20个,返回20个字节数据) 00 22(地址5000,机器型号,SG4KTL)

00 28(地址5001,转为十进制为40,单位为0.1KW,即额定输出

功率40x0.1=4KW) 00 00 (地址5002,两相)00 00(地址5003,日

发电量为0) 00 05 00 00(地址5004~5005,其中5004为低位字,

5005为高位字,总发电量为5KW) 00 26 00 00(地址5006~5007,

总运行时间2x161+6x160=38h) 00 00(地址5008,机内空气温度

0) 00 00(地址5009,保留,未用) AF F8(CRC校验)

(3) 读取一条设置数据

假设逆变器地址为1,需要获取4x地址类型的5000地址数据。

上位机发送(HEX):

01 03 13 87 00 01 30 a7

逆变器回应(HEX):

01 03 02 07 D8 BA 2E

注释:读取2008 年

报文解析:

上位机发送:01(地址) 03(功能码) 13 87(地址4999) 00 01(读取地址5000) 30 a7(CRC校验)

逆变器回应:01(地址) 03(功能码) 02(返回2个字节数据) 07 D8(2008年) BA 2E(CRC校验)

(4) 读取多条设置数据

假设逆变器地址为1,需要获取4x地址类型的5000地址开始的10个地址的数据。

按报文解析:

上位机发送(HEX):

01 03 13 87 00 0A 71 60

逆变器回应(HEX):

01 03 14 07 DA 00 0A 00 1E 00 09 00 28 00 25 00 CE 00 AA 01 F4 00 00 80 53

注释:读取时间:2010 年10 月30 日9 时40 分37 秒;关机;限功率启用,且限功率设置为50.0%

按报文解析:

上位机发送:01(地址) 03(功能码) 13 87(地址4999) 00 0A(读取地址5000~5009)

71 60(CRC校验)

逆变器回应:01(地址) 03(功能码) 14(返回20个字节数据) 07 DA(地址

5000,2008年) 00 0A(地址5001,10月) 00 1E(地址5002,30日) 00

09(地址5003,9时) 00 28(地址5004,40分) 00 25(地址5005,37

秒) 00 CE(地址5006,关机状态) 00 AA(地址5007,限功率开关

启用状态) 01 F4(地址5008,限制功率500x0.1%=50%) 00 00(地

址5009,保留,未用) 80 53(CRC校验)

(5) 设置一条数据

假设逆变器地址为1,需要设置4x地址类型的5000地址(系统时钟:年)数据。

上位机发送(HEX):

01(地址) 10(功能码,写多个数据) 13 87(地址4999) 00 01(写地址5000) 02(写两个字节数据) 07 DA(写入的数据,2010年) 19 4d(CRC校验)

逆变器回应(HEX):

01(地址) 10(功能码) 13 87(地址4999) 00 01(确认已写入地址5000) B5 64(CRC校验)

或上位机发送(HEX):

01(地址) 06(功能码,写单个数据) 13 87(地址4999) 07 DA(写入的数据,2010年) BE CC(CRC校验)

逆变器回应(HEX):

01(地址) 06(功能码) 13 87(地址4999) 07 DA(写入的数据,2010年) BE CC(CRC校验)

注释:设置为2010 年

(6) 设置多条数据

假设逆变器地址为1,需要设置4x地址类型的5000地址开始的10个地址的数据上位机发送(HEX):

01(地址) 10(功能码,写多个数据) 13 87(地址4999) 00 0A(地址5000~5009) 14(写入20个字节数据) 07 d9(地址5000,设为2009年) 00 0a(地址5001,设为10月) 00 1e(地址5002,设为30日) 00 09(地址5003,设为9时) 00 10(地址5004,设为16分) 00 00(地址5005,设为0秒) 00 CE(地址5006,设为关机) 00 AA(地址5007,设为限功率) 01 F4(地址5008,设为50%) 00 00(地址5009,保留,设置无效) 3e 65(CRC校验)

逆变器回应(HEX):

01(地址) 10(功能码) 13 87(地址4999) 00 0A(已设置地址5000~5009数据) F4 A3(CRC校验)

注释:时间设置为:2009 年10 月30 日9 时16 分0 秒;设置为关机;限功率启用,且限功率设置为50.0%

附:

如何利用WINDOWS系统自带计算器进行十六进制和十进制转换:点击计算器——>查看——>科学型

选择十六进制

输入字符后再选择十进制即可自动转换为十进制数

台达UPS通讯协议说明

台达UPS通讯协议说明 一.硬件说明。 1.通讯波特率:2400 bit/s. 8位数据位,1位停止位,无校验。 二.协议说明。 说明: 数据头:必须是“~”,转换成ASCII码是7E ID号:必须是00,转换成ASCII码是30 30 命令类型:P:UPS连接到主机命令,(主机-------→UPS) S:设置UPS的数据命令,(主机-----→UPS) D:UPS数据返回命令,(UPS------→主机) 数据长度:这里的数据长度指的是数据内容的字节个数。用3位的ASCII码表示。 数据内容:实际就是主机发给UPS的命令数据。用ASCII码表示。 读取UPS额定电压输入电参数信息:(RAT命令) PC机发送: 7e 30 3050 30 30 3352 41 54 说明: 7e:数据包头, 30 30:ID号。 50:命令类型,“P”。 30 30 33:数据长度;是指数据内容的数据长度。“003”。 52 41 54:数据内容;就是命令;“RAT”。 UPS返回数据: 7E 30 304430 37 30 32 32 30 3B 35 30 30 3B 32 32 30 3B 35 30 30 3B 31 31 30 30 30 3B 37 37 30 30 3B 33 3B 31 35 36 3B 32 37 36 3B 3B 3B 3B 3B 30 3B 32 37 34 3B 34 37 30 3B 35 33 30 3B 34 39 35 3B 34 35 30 3B 35 35 30 3B 35 30 35 说明: 7E:数据头。 30 30:ID号, 44:命令类型,“D”。 30 37 30:数据长度,070,说明数据区有70个字节的数据。 32 32 30:UPS输入额定电压,ASCII字符:220V,交流。 3B:表示一个实数与另一个实数间的分隔符,ASCII字符“;”。 35 30 30:UPS输入额定频率,计算公式:500*0.1=50HZ。 3B:表示一个实数与另一个实数间的分隔符,ASCII字符“;”。

逆变电源的几种控制算法

逆变电源广泛运用于各类:电力、通讯、工业设备、卫星通信设备、军用车载、医疗救护车、警车、船舶、太阳能及风能发电领域。 在电路中将直流电转换为交流电的过程称之为逆变,这种转换通常通过逆变电源来实现。这就涉及到在逆变过程中的控制算法问题。 只有掌握了逆变电源的控制算法,才能真正意义上的掌握逆变电源的原理和运行方式,从而方便设计。在本篇文章当中,将对逆变电源的控制算法进行总结,帮助大家进一步掌握逆变电源的相关知识。 逆变电源的算法主要有以下几种。 数字PID控制 PID控制是一种具有几十年应用经验的控制算法,控制算法简单,参数易于整定,设计过程中不过分依赖系统参数,鲁棒性好,可靠性高,是目前应用最广泛、最成熟的一种控制技术。它在模拟控制正弦波逆变电源系统中已经得到了广泛的应用。将其数字化以后,它克服了模拟PID控制器的许多不足和缺点,可以方便调整PID参数,具有很大的灵活性和适应性。与其它控制方法相比,数字PID具有以下优点: PID算法蕴涵了动态控制过程中过去、现在和将来的主要信息,控制过程快速、准确、平稳,具有良好的控制效果。 PID控制在设计过程中不过分依赖系统参数,系统参数的变化对控制效果影响很小,控制的适应性好,具有较强的鲁棒性。 PID算法简单明了,便于单片机或DSP实现。 采用数字PID控制算法的局限性有两个方面。一方面是系统的采样量化误差降低了算法的控制精度;另一方面,采样和计算延时使得被控系统成为一个具有纯时间滞后的系统,造成PID控制器稳定域减少,增加了设计难度。 状态反馈控制 状态反馈控制可以任意配置闭环控制系统的极点,实现了逆变电源控制系统极点的优化配置,有利于改善系统输出的动态品质,具有良好的瞬态响应和较低的谐波畸变率。但在建立逆变器的状态模型时将负载的动态特性考虑在内,因此状态反馈控制只能针对空载和已知的负载进行建模。由于状态反馈控制对系统模型参数的依赖性很强,使得系统的参数在发生变化时易导致稳态误差的出现和以及动态特性的改变。例如对于非线性的整流负载,其控制效果就不是很理想。 重复控制

modbus_通讯协议_实例

上海安标电子有限公司 ——PC39A接地电阻仪通信协议 通信协议: 波特率:9600数据位:8校验位:无停止位:1 上位机(计算机): 字节号 1 2 3 4 5 6 7 8 意义ID Command 数据地址V alue CRC 注:1 ID:1个字节,由单机来定(0~255) 2 Command:1个字节,读:3或4,写:6 3 数据地址:2个字节,寄存器地址,读从100开始,写从200开始 4 V alue:2个字节,读:个数(以整型为单位),写:命令/ 数据(以整型为单位) 5 CRC:计算出CRC 下位机(PC39A): 读数据,若正确 字节号 1 2 3 3+N (N=个数*2) 3+N+1 3+N+2 意义ID Command=3 / 4 数据个数数据CRC 注:1 ID:1个字节,由单机来定(0~255) 2 Command:1个字节,收到的上位机命令 3数据个数:1个字节,返回数据个数(以字节为单位) 4 V alue:N个字节,是返回上位机的数据 5 CRC:计算出CRC 写命令,若正确 返回收到的数据: 若错误 字节号 1 2 3 4 5 意义ID Command 数据CRC 注:1 ID:1个字节,由单机来定(0~255) 2 Command:1个字节,收到的上位机命令或上0x80, 如收到3,返回0x83 3数据:1个字节,错误的指令 错误指令 1:表示command不存在 2:表示数据地址超限 4 CRC:计算出CRC

例如读PC39A 电流数据: 机器地址为12,电流的数据地址100,数据为15.45(A) (一个整型数据) 主机: ID Command 数据地址 V alue CRC 16进制 0x0c 0x03 0x0064 0x0001 CRC_H CRC_L 10进制 12 3 100 1 CRC_H CRC_L 从机返回 如正确: ID Command 数据个数(以字节为单位) V alue CRC 16进制 0x0c 0x03 0x002 0x0609 CRC_H CRC_L 10进制 12 3 2 1545 CRC_H CRC_L 如错误: ID Command 数据 CRC 16进制 0x0c 0x83 0x02 CRC_H CRC_L 10进制 12 131 2 CRC_H CRC_L 例如发PC39A 启动命令: 机器地址为12,命令的地址200,数据为25000(25000表示启动) 主机: ID Command 数据地址 V alue CRC 16进制 0x0c 0x06 0x00c8 0x61a8 CRC_H CRC_L 10进制 12 6 200 25000 CRC_H CRC_L 从机返回 如正确: ID Command 数据地址 V alue CRC 16进制 0x0c 0x06 0x00c8 0x61a8 CRC_H CRC_L 10进制 12 6 200 25000 CRC_H CRC_L 如错误: ID Command 数据 CRC 16进制 0x0c 0x86 0x02 CRC_H CRC_L 10进制 12 134 2 CRC_H CRC_L 0011 10000110 错误码0x83 功能码0x06错误码0x86

逆变电源控制算法哪几种

https://www.360docs.net/doc/ca11316928.html,/ 逆变电源广泛运用于各类:电力、通讯、工业设备、卫星通信设备、军用车载、医疗救护车、警车、船舶、太阳能及风能发电领域。 在电路中将直流电转换为交流电的过程称之为逆变,这种转换通常通过逆变电源来实现。这就涉及到在逆变过程中的控制算法问题。 只有掌握了逆变电源的控制算法,才能真正意义上的掌握逆变电源的原理和运行方式,从而方便设计。在本篇文章当中,将对逆变电源的控制算法进行总结,帮助大家进一步掌握逆变电源的相关知识。 逆变电源的算法主要有以下几种。 数字PID控制 PID控制是一种具有几十年应用经验的控制算法,控制算法简单,参数易于整定,设计过程中不过分依赖系统参数,可靠性高,是目前应用最广泛、最成熟的一种控制技术。它在模拟控制正弦波逆变电源系统中已经得到了广泛的应用。将其数字化以后,它克服了模拟PID控制器的许多不足和缺点,可以方便调整PID参数,具有很大的灵活性和适应性。与其它控制方法相比,数字PID具有以下优点:

https://www.360docs.net/doc/ca11316928.html,/ PID算法蕴涵了动态控制过程中过去、现在和将来的主要信息,控制过程快速、准确、平稳,具有良好的控制效果。 PID控制在设计过程中不过分依赖系统参数,系统参数的变化对控制效果影响很小,控制的适应性好,具有较强的鲁棒性。 PID算法简单明了,便于单片机或DSP实现。 采用数字PID控制算法的局限性有两个方面。一方面是系统的采样量化误差降低了算法的控制精度;另一方面,采样和计算延时使得被控系统成为一个具有纯时间滞后的系统,造成PID控制器稳定域减少,增加了设计难度。 状态反馈控制 状态反馈控制可以任意配置闭环控制系统的极点,实现了逆变电源控制系统极点的优化配置,有利于改善系统输出的动态品质,具有良好的瞬态响应和较低的谐波畸变率。但在建立逆变器的状态模型时将负载的动态特性考虑在内,因此状态反馈控制只能针对空载和已知的负载进行建模。由于状态反馈控制对系统模型参数的依赖性很强,使得系统的参数在发生变化时易导致稳态误差的出现和以及动态特性的改变。例如对于非线性的整流负载,其控制效果就不是很理想。

基于Modbus协议实现单片机与PLC之间的通讯

基于Modbus协议实现单片机与PLC之间的通讯 来源:PLC&FA 作者:蔡晓燕赵兴群万遂人董鹏云 关键词:可编程控制器 Modbus 通讯协议 1 引言 HMI(人机界面)以其体积小,高性能,强实时等特点,越来越多的应用于工业自动化系统和设备中。它有字母、汉字、图形和图片等不同的显示,界面简单友好。配有长寿命的薄膜按钮键盘,操作简单。它一般采用具有集成度高、速度快、高可靠且价格低等优点的单片机[1]作为其核心控制器,以实现实时快速处理。PLC和单片机结合不仅可以提PLC的数据处理能力,还可以给用户带来友好简洁的界面。本文以Modbus通讯协议为例,详细讨论了一个人机系统中,如何用C51实现单片机和PLC之间通讯的实例。 2 Modbus通讯协议[4] Modbus协议是应用于电子控制器上的一种通用语言。通过此协议,控制器相互之间、控制器经由网络和其它设备之间可以通信。 Modbus协议提供了主—从原则,即仅一设备(主设备)能初始化传输(查询)。其它设备(从设备)根据主设备查询提供的数据作出相应反应。主设备查询的格式:设备地址(或广播,此时不需要回应)、功能代码、所有要发送的数据、和一错误检测域。从设备回应消息包括确认地址、功能码、任何要返回的数据、和一错误检测域。如果在消息接收过程中发生一错误,或从设备不能执行其命令,从设备将建立一错误消息并把它作为回应发送出去。 控制器能设置为两种传输模式:ASCII和RTU,在同样的波特率下,RTU可比ASCII方式传送更多的数据,所以采用KTU模式。 (1) 典型的RTU消息帧 典型的RTU消息帧如表1所示。

RTU消息帧的地址域包含8bit。可能的从设备地址是0...127(十进制)。其中地址0是用作广播地址,以使所有的从设备都能认识。主设备通过将要联络的从设备的地址放入消息中的地址域来选通从设备。当从设备发送回应消息时,它把自己的地址放入回应的地址域中,以便主设备知道是哪一个设备作出回应。 RTU消息帧中的功能代码域包含了8bits,当消息从主设备发往从设备时,功能代码域将告之从设备需要执行哪些行为;当从设备回应时,它使用功能代码域来指示是正常回应(无误)还是有某种错误发生(称作异议回应,一般是将功能码的最高位由0改为1)。 从主设备发给从设备消息的数据域包含附加的信息:从设备必须用于进行执行由功能代 码所定义的行为。这包括了像不连续的寄存器地址,要处理项的数目,域中实际数据字节数。如果没有错误发生,从从设备返回的数据域包含请求的数据。如果有错误发生,此域包含一异议代码,主设备应用程序可以用来判断采取下一步行动。 当选用RTU模式作字符帧时,错误检测域包含一16Bits值(用两个8位的字符来实现)。错误检测域的内容是通过对消息内容进行循环冗长检测(CRC)方法得出的。CRC域附加在消息的最后,添加时先是低字节然后是高字节。 (2) 所有的Modbus功能码 Modbus的功能码定义如表2所示。

逆变器原理

太阳能光伏并网控制逆变器工作原理及控制方法摘要:太阳能光伏发电是21世纪最为热门的能源技术领域之一,是解决人类能源危机的重要手段之一,引起人们的广泛关注。本文介绍了太阳能光伏并网控制逆变器的工作过程,分析了太阳能控制器最大功率跟踪原理,太阳能光伏逆变器的并网原理及主要控制方式。 1 引言: 随着工业文明的不断发展,我们对于能源的需求越来越多。传统的化石能源已经不可能满足要求,为了避免面对能源枯竭的困境,寻找优质的替代能源成为人们关注的热点问题。可再生能源如水能、风能、太阳能、潮汐能以及生物质能等能源形式不断映入人们的眼帘。水利发电作为最早应用的可再生能源发电形式得到了广泛使用,但也有人就其的环境问题、安全问题提出过质疑,况且目前的水能开发程度较高,继续开发存在一定的困难。风能的利用近些年来也是热点问题,但风力发电存在稳定性不高、噪音大等缺点,大规模并网对电网会形成一定冲击,如何有效控制风能的开发和利用仍是学术界关注的热点。在剩下的可再生能源形式当中,太阳能发电技术是最有利用价值的能源形式之一。太阳能储量丰富,每秒钟太阳要向地球输送相当于210亿桶石油的能量,相当于全球一天消耗的能量。我国的太阳能资源也十分丰富,除了贵州高原部分地区外,中国大部分地域都是太阳能资源丰富地区,目前的太阳能利用率还不到1/1000。因此在我国大力开发太阳能潜力巨大。 太阳能的利用分为“光热”和“光伏”两种,其中光热式热水器在我

国应用广泛。光伏是将光能转化为电能的发电形式,起源于100多年前的“光生伏打现象”。太阳能的利用目前更多的是指光伏发电技术。光伏发电技术根据负载的不同分为离网型和并网型两种,早期的光伏发电技术受制于太阳能电池组件成本因素,主要以小功率离网型为主,满足边远地区无电网居民用电问题。随着光伏组件成本的下降,光伏发电的成本不断下降,预计到2013年安装成本可降至1.5美元/Wp,电价成本为6美分/(kWh),光伏并网已经成为可能。并网型光伏系统逐步成为主流。本文主要介绍并网型光伏发电系统的系统组成和主要部件的工作原理。 2 并网型光伏系统结构 图1所示为并网型光伏系统的结构。并网型光伏系统包括两大主要部分:其一,太阳能电池组件。将太阳传送到地球上的光能转化成直流电能;其二,太阳能控制逆变器及并网成套设备,负责将电池板输出直流电能转为电网可接受的交流能量。根据功率的不同太阳能逆变器的输出形式可为单相或者三相;可带隔离变压器,也可不配隔离变压器。

(完整版)MODBUS通讯协议-RTU要点

Modbus 通讯协议 (RTU传输模式)本说明仅做内部参考,详细请参阅英文版本。

第一章Modbus协议简介 Modbus 协议是应用于电子控制器上的一种通用语言。通过此协议,控制器相互之间、控制器经由网络(例如以太网)和其它设备之间可以通信。它已经成为一通用工业标准。有了它,不同厂商生产的控制设备可以连成工业网络,进行集中监控。 此协议定义了一个控制器能认识使用的消息结构,而不管它们是经过何种网络进行通信的。它描述了一控制器请求访问其它设备的过程,如果回应来自其它设备的请求,以及怎样侦测错误并记录。它制定了消息域格局和内容的公共格式。 当在一Modbus网络上通信时,此协议决定了每个控制器须要知道它们的设备地址,识别按地址发来的消息,决定要产生何种行动。如果需要回应,控制器将生成反馈信息并用Modbus协议发出。在其它网络上,包含了Modbus协议的消息转换为在此网络上使用的帧或包结构。这种转换也扩展了根据具体的网络解决节地址、路由路径及错误检测的方法。 协议在一根通讯线上使用应答式连接(半双工),这意味着在一根单独的通讯线上信号沿着相反的两个方向传输。首先,主计算机的信号寻址到一台唯一的终端设备(从机),然后,在相反的方向上终端设备发出的应答信号传输给主机。协议只允许在主计算机和终端设备之间,而不允许独立的设备之间的数据交换,这就不会在使它们初始化时占据通讯线路,而仅限于响应到达本机的查询信号。 1.1 传输方式 传输方式是一个信息帧内一系列独立的数据结构以及用于传输数据的有限规则,以RTU 模式在Modbus总线上进行通讯时,信息中的每8位字节分成2个4位16进制的字符,每个信息必须连续传输下面定义了与Modebus 协议– RTU方式相兼容的传输方式。 代码系统 ?8位二进制,十六进制数0...9,A...F ?消息中的每个8位域都是一个两个十六进制字符组成 每个字节的位 ?1个起始位 ?8个数据位,最小的有效位先发送 ?1个奇偶校验位,无校验则无 ?1个停止位(有校验时),2个Bit(无校验时) 错误检测域 ?CRC(循环冗长检测)

很好的威纶通MODBUSRTU通讯协议与变频器通讯案例

很好的威纶通 M O D B U S R T U通讯协议与变频器通讯案例 公司标准化编码 [QQX96QT-XQQB89Q8-NQQJ6Q8-MQM9N]

本文研究的是触摸屏通过MODBUS RTU通讯协议与变频器通讯实现变频器的控制。触摸屏采用威纶通TK6070IP,变频器用汇川MD380通用系列。通过触摸屏编程软件,编辑控制画面实现变频器的启动、停止、速度调节、多段速速度设置,通过宏指令实现工程值与实际值的转换。 一、MODBUS RTU 简介: 为了在自动化系统之间、自动化系统和所连接的分散的现场设备之间进行信息交换,如今串行现场总线被主要用作通讯系统。成千上万的应用已经强烈地证明了通过使用现场总线技术,可以节省多至40%的接线、调试及维护的费用。仅仅使用两根电线就可以传送现场设备的所有相关信息,比如输入和输出数据、参数、诊断数据。过去使用的现场总线往往是制造商的特定现场总线,并且同其它现场总线不兼容。如今使用的现场总线几乎是完全公开和标准化的。这就意味者用户可以以最合理的价格选择最好的产品,而不用依赖于每个独立的制造商。Modbus RTU是一种国际的、开放的现场总线标准。作为一种很容易实现的现场总线协议,在全世界范围内,Modbus得到了成功的应用。应用领域包括生产过程中的自动化、过程控制和楼宇自控。MODBUS RTU通讯协议的报文如图1。 图1 MODBUS RTU 通讯协议的报文功能码如下: 01H 读取线圈状态。从执行机构上读取线圈(单个位)的内容; 02H 读取离散量输入。从执行机构上读取离散量输入(多个位)的内容; 03H 读取保持寄存器。从执行机构上读取保持寄存器(16位字)的内容; 04H 读取输入寄存器。从执行机构上读取输入寄存器(16位字)的内容; 05H 强置单线圈。写数据到执行机构的线圈(单个位)为“通”(“1”)或“断”(“0”); 06H 预置单寄存器。写数据到执行机构的单个保持寄存器(16位字); 0FH 强置多线圈。写数据到执行机构的几个连续线圈(单个位)为“通”(“1”) 或“断”(“0”); 10H 预置多寄存器。写数据到执行机构的几个连续的保持寄存器(16位字)。 二、威纶通编程软件介绍: EB8000软件中MODBUS协议的设备类型为0x、1x、3x、4x、5x、6x,还有 3x_bit,4x_bit,6x_bit,0x_multi_coils等,下面分别说明这些设备类型在MODBUS协议中支持哪些功能码。 0x:是一个可读可写的设备类型,相当于操作PLC的输出点。该设备类型读取位状态的时候,发出的功能码是01H,写位状态的时候发出的功能码是05H。写多个寄存器时发出的功能码是0fH。

科华(山特)通讯协议通讯内部标准

KELONG Powersoft交流电源监控管理系统前端智能设备通讯协议

一、总则: 本文规定了为实现集中监控管理而使用的电源设备产品在设计、制造中应遵循的通讯协议。本通讯协议适用于科华公司设计、生产的前端智能电源设备和在这些设备的基础上构成的不同规模的监控系统。 二、物理层: 2.1、串行通讯口采用特殊脚位定义的RS232接口。 该接口机械结构和电气特性均按国际标准RS232接口定义。 其管脚定义如下: a、UPS端的脚位定义为:6脚通讯接收脚(RXD) 7脚通讯地(GND) 9脚通讯发送脚(TXD) b、电脑端脚位按标准RS232定义。 5 4 3 2 1 1 2 3 4 5 ?????????? ???????? 9 8 7 6 6 7 8 9 M2502通讯电缆线 UPS端(9芯针式)电脑端(9芯孔式) 2.2、数据传输方式: 串行异步传输 起始位1位 数据位8位(低位在前) 停止位1位 无校验。 2.3、通讯口数据传输速率为2400 bit/s 2.4、采用主从式的工作方式,上位机呼叫机内监控单元并下发命令,等待 下位机应答。若无应答或应答为无效命令,则进行下一次呼叫;若连 续10秒无应答,则认为通讯链路中断。 UPS内的监控单元在接收到上位机的请求命令后,对命令进行判断并 作出正确的响应。

三、信息类型及协议的基本格式: 3.1、信息类型: 1、遥测模拟量信号: 协议中对UPS内部的模拟量信息检测了包括输入市电电压(110V、220V 两档)、输出工作电压(110V、220V 两档)、电池剩余容量、负载百分比、环境温度和输入市电频率在内的六项基本工作参数。 其中电池剩余容量的检测是将当前UPS内部电池电压以电压值的形式送达上位机,通过上位机将这一值简化的与额定值正比成容量百分比。 2、遥测开关量信息: 市电电压正常( L) / 异常( H) 电池电压正常( L) / 低电压( H) Bypass( H) / boot( L)或Buck Active UPS 正常( L) / 故障( H) UPS为在线式( L) / 后备式( H) UPS 普通工作( L) / 测试工作状态( H) UPS 开( L) / 关( H)机状态 蜂鸣器关( L) / 开( H) 3、遥信基础信息: 厂家名称 UPS型号 版本号 额定电压 额定电流 额定电池电压 4、遥控开关量: 定时开/关机 UPS测试放电 蜂鸣器开/关

modbus协议下上位机编程实例

竭诚为您提供优质文档/双击可除modbus协议下上位机编程实例 篇一:modbus协议下的上位机地址 Rs485采取流量计数据,经串口com1的2号地址读到int ouch中来,双字40001、40002为浮点型瞬时流量,读到上位机项目为40001F双字40004、40005为长整型累计流量,读到上位机项目为40004l 驱动设置与intouch标记名的设置 驱动设置: 项目名设置 注:在不修改驱动设置的情况下,s=s1+s2*65535 s=s2+s1*65535 根据各个厂家的仪表,上面工式有区别,设计时各个测试一下。 篇二:modbus通讯协议实例 上海安标电子有限公司 ——pc39a接地电阻仪通信协议 通信协议:

波特率:9600数据位:8校验位:无停止位:1 上位机(计算机): 注:1id:1个字节,由单机来定(0~255) 2command:1个字节,读:3或4,写:6 3数据地址:2个字节,寄存器地址,读从100开始,写从200开始4Value:2个字节,读:个数(以整型为单位),写:命令/数据(以整型为单位)5cRc:计算出cRc下位机(pc39a ):注:1id:1个字节,由单机来定(0~255) 2command:1个字节,收到的上位机命令 3数据个数:1个字节,返回数据个数(以字节为单位)4Value:n个字节,是返回上位机的数据5cRc:计算出cRc 写命令,若正确返回收到的数据:若错误注:1id:1个字节,由单机来定(0~255) 2command:1个字节,收到的上位机命令或上0x80, 如收到3,返回0x83 3数据:1个字节,错误的指令错误指令 1:表示command不存在2:表示数据地址超限 4cRc:计算出cRc 例如读pc39a电流数据: 机器地址为12,电流的数据地址100,数据为15.45(a)(一个整型数据)

Modbus通讯协议(TCP和RTU)

1MODBUS RTU 读寄存器请求序号意义所占字节字节存放格式 1从设备地址1个字节0x00?0xff 2功能码1个字节0x03 3起始寄存器基地址两个字节高字节在前 4寄存器个数两个字节高字节在前 5CRC校验码两个字节低字节在前 读寄存器回应序号意义所占字节字节存放格式1从设备地址1个字节0x00?0xff 2功能码1个字节0x03 3数据长度1个字节寄存器个数×2 4数据寄存器个数×2个字节每个寄存器高字节在前5CRC校验码两个字节低字节在前 写单个寄存器请求序号意义所占字节字节存放格式1从设备地址1个字节0x00?0xff 2功能码1个字节0x06 3起始寄存器地址两个字节高字节在前 4寄存器值两个字节 高字节在前 5CRC校验码 两个字节 低字节在前 写单个寄存器回应序号意义所占字节字节存放格式1从设备地址1个字节0x00?0xff 2功能码1个字节0x10 3起始寄存器地址两个字节高字节在前 4寄存器值两个字节 高字节在前 5CRC校验码 两个字节 低字节在前 1

写多个寄存器请求序号意义所占字节字节存放格式1从设备地址1个字节0x00?0xff 2功能码1个字节0x10 3起始寄存器地址两个字节高字节在前 4寄存器个数两个字节 高字节在前 5数据长度 1个字节 寄存器个数×2  6数据寄存器个数×2个字节每个寄存器高字节在前7CRC校验码 两个字节 低字节在前 写多个寄存器回应序号意义所占字节字节存放格式1从设备地址1个字节0x00?0xff 2功能码1个字节0x10 3起始寄存器地址两个字节高字节在前 4寄存器个数两个字节 高字节在前 5CRC校验码 两个字节 低字节在前 错误返回序号意义所占字节字节存放格式1从设备地址1个字节0x00?0xff 2功能码1个字节请求功能码+0x80 3错误码1个字节 其代号见下面表格4CRC校验码 两个字节 低字节在前 错误代号错误代号意义 0x01不支持该功能码 0x02越界 0x03寄存器数量超出范围 0x04读写错误 2

华为智能逆变器技术协议(含交流汇流箱)

XX公司 XX项目并网光伏发电项目 智能光伏电站解决方案 技术协议 甲方:XX公司 乙方:XX公司 丙方:XX设计研究院 日期:XX年XX月

目录 第一章总则 (1) 1.1一般规定 (1) 1.2参考标准 (1) 第二章供货范围 (2) 第三章智能逆变器技术要求 (3) 3.1技术要求 (3) 3.2技术参数 (4) 3.3关键器件清单 (5) 3.4结构要求 (6) 第四章交流汇流箱技术协议 (6) 4.1技术参数 (6) 4.2主要电器配置 (7) 4.3结构要求 (8) 第五章通信柜技术协议 (8) 5.1基本参数 (8) 5.2其他技术要求 (9) 5.3安规要求 (9) 第六章技术服务、设计联络、工厂检验 (9) 6.1供确认的图纸及资料 (9) 6.2设计联络会议 (10) 6.3检验和性能验收试验 (10) 6.4质量保证 (12) 6.5项目管理 (12) 6.6现场服务 (12) 6.7人员培训 (12) 6.8售后服务 (13)

第一章总则 1.1 一般规定 (1)本技术协议适用于XX光伏并网发电项目电站工程的智能光伏电站解决方案,它对智能光伏电站解决方案关键组成及其附属设备的功能设计、结构、性能安装和试验等方面提出了技术要求,包含智能逆变器、交流汇流箱、室外通信柜、智能光伏电站无线传输系统、智能光伏电站集群管理系统。 (2)本技术协议提出的是最低限度的技术要求,并未对一切技术细节做出规定,也未充分引述有关标准和规范的条文,乙方应保证提供符合本规范书和有关国家标准,并且功能完整、性能优良的优质产品及其相应服务。同时必须满足国家有关安全、环保等强制性标准和规范的要求。 (3)乙方在设备设计和制造中应执行规范书所列的各项现行(国内、国际)标准。规范书中未提及的内容均满足或优于所列的国家标准、电力行业标准、通信行业标准和有关国际标准。有矛盾时,按较高标准执行。 (4)乙方具有良好的财务状况和商业信誉;具备相关的公司体系认证 书:ISO9001,ISO14001, OHSAS 18001。 1.2 参考标准 乙方提供的智能逆变器需满足最新电力行业标准、国家标准和IEC标准。乙方如果采用自己的标准或协议,必须向甲方提供相关证书,并经甲方同意后方可采用。 满足的标准列表,可以根据具体项目进行补充。

电磁流量计实用标准MODBUS通讯协议详情(1)

电磁流量计转换器 通讯协议 2012-10-12

目录 一、概述................................................................................................. - 2 - 二、网络结构及接线................................................................................ - 2 -

三、Modbus协议RTU帧格式 .............................................................. - 2 - 四、Modbus协议命令编码定义............................................................. - 4 - 五、电磁流量计MODBUS寄存器定义 ................................................... - 5 - 1. 电磁流量计MODBUS寄存器地址定义............................................... - 5 - 2.PLC地址设置说明................................................................................ - 5 - 3.组态王地址设置说明............................................................................. - 6 -4.数据含义说明 .................................................................................... - 6 -六、通讯数据解析................................................................................... - 7 -1读瞬时流量 .......................................................................................... - 7 -2.读瞬时流速:....................................................................................... - 8 -3读累积流量 .......................................................................................... - 8 - 5.读总量流量单位 ................................................................................. - 10 - 6.读报警状态 ........................................................................................ - 10 - 七、应用举例........................................................................................ - 11 - 1.C语言MODBUS 示例程序............................................................... - 11 - 2.modbus调试软件modbus poll通讯实例....................................... - 13 - 3.modbus调试软件modscan32通讯实例 ......................................... - 15 - 4.组态王6.53通讯实例 ........................................................................ - 17 - 5.力控 6.1通讯实例.............................................................................. - 21 -

5kw逆变器串口通讯协议

Communication Protocol A. General: This document specifies the RS232C communications protocol used in Centralion UPS. The protocol provides the following features : 1. Monitor charger status. 2. Monitor battery status and condition. 3. Monitor the utility status. 4. Provide the power switch function for computer to turn on and off the utility on schedule for power saving. Computer will control information exchange by a query followed by . UPS will respond with information followed by a or action. B. Hardware: BAUD RATE............... : 2400 bps DATA LENGTH.......... : 8 bits STOP BIT..................... : 1 bit PARITY........................ : NONE COMPUTER UPS ======================== RX <---------- TX (pin 2) TX ----------> RX (pin 3) GND <-------> GND (pin 5) C. COMMUNICATIONS PROTOCOL: 1. Status Inquiry: Computer : Q1 UPS : UPS status data stream, such as (MMM.M NNN.N PPP.P QQQ RR.R S.SS TT.T b7b6b5b4b3b2b1b0 UPS status data stream :There should be a space character between every field for data separation. The meaning of each field is list as followed: a. Start byte : ( b. I/P voltage: MMM.M (M is an integer number ranging from 0 to 9. The unit is Volt) c. I/P fault voltage : NNN.N (N is an integer number ranging from 0 to 9. The unit is Volt) d.O/P voltage : PPP.P (P is an integer number ranging form 0 to 9. The unit is Volt) e.O/P current : QQQ (QQQ is a percentage of maximum current, not an absolute value) f.O/P frequency : RR.R (R is an integer number ranging from 0 to 9. The unit is Hz) g.Battery voltage : SS.S or S.SS S is an integer number ranging from 0 to 9. For on-line units battery voltage/cell is provided in the form S.SS. For standby units actual battery voltage is provided in the form SS.S. UPS type in UPS status will determine which reading was obtained. h.Temperature : TT.T (T is an integer number ranging form 0 to 9. The unit is degree celsius)

整车控制器和电机控制器通讯协议详情

秘级:内部 纯电动汽车动力总成系统网络 总线通讯协议

五、通信协议 1 整车控制器与BMS网络 CAN1(对外) CAN2.0B 250kbps 1.1 整车控制器 整车控制器#1:PVCU1 (ID:0x1000EFD0) 整车控制器#2:PVCU2 转发电机1报文1 MCU_TrqSpd (VCU 发送)

变速器发送频率: 1000ms 数据长度: 8字节 数据页数: 0 协议数据单元格式: 协议数据单元特性: 默认优先级: 6 参数组号: 0xff4B SA:0xEF ID:0x18ff4BEF 字节: 1-2 M_Torque1 主电机实际转矩比例0.1 偏移-3200 3-4 M_Speed 电机实际转速比例0.25 偏移-8000 5-6 母线电压 7-8 母线电流 整车控制器#3:PVCU3 转发电机报文 MCU_Temp (VCU 发送) 变速器发送频率: 1000ms 数据长度: 8字节 数据页数: 0 协议数据单元格式: 协议数据单元特性: 默认优先级: 6 参数组号: 0xff4c SA:0xEF ID:0x18ff4CEF 字节: 1 M_Motor_Temperature1 主电机温度比例1 偏移-40 2 控制器温度 3 主逆变器温度:比例1 偏移-40 IGBT温度 4 故障代码 5 故障代码: " 1 超速报警代码" " 3 欠压报警" " 4 过压报警" " 5 A相IGBT1报警" " 6 B相IGBT3报警" " 7 C相IGBT5报警" " 8 A相硬件过流保护 " " 9 B相硬件过流保护" " 10 正常 " " 12 过电流报警" " 15 旋变错误报警" " 17 A相电流传感器零票故障" " 18 B相电流传感器零票故障" " 26 IGBT温度传感器开路"

modbus通讯协议

Modbus通讯协议 图片: 图片: 图片:

Modbus协议最初由Modicon公司开发出来,在1979年末该公司成为施耐德自动化(Schneider Automation)部门的一部分,现在Modbus已经是工业领域全球最流行的协议。此协议支持传统的RS-232、RS-422、RS-485和以太网设备。许多工业设备,包括PLC,DCS,智能仪表等都在使用Modbus协议作为他们之间的通讯标准。有了它,不同厂商生产的控制设备可以连成工业网络,进行集中监控。 当在网络上通信时,Modbus协议决定了每个控制器须要知道它们的设备地址,识别按地址发来的消息,决定要产生何种行动。如果需要回应,控制器将生成应答并使用Modbus协议发送给询问方。 Modbus协议包括ASCII、RTU、TCP等,并没有规定物理层。此协议定义了控制器能够认识和使用的消息结构,而不管它们是经过何种网络进行通信的。标准的Modicon控制器使用RS232C实现串行的Modbus。Modbus的ASCII、RTU协议规定了消息、数据的结构、命令和就答的方式,数据通讯采用Maser/Slave方式,Master 端发出数据请求消息,Slave端接收到正确消息后就可以发送数据到Master端以响应请求;Master端也可以直接发消息修改Slave端的数据,实现双向读写。

Modbus协议需要对数据进行校验,串行协议中除有奇偶校验外,ASCII模式采用LRC校验,RTU模式采用16位CRC校验,但TCP模式没有额外规定校验,因为TCP 协议是一个面向连接的可靠协议。另外,Modbus采用主从方式定时收发数据,在实际使用中如果某Slave站点断开后(如故障或关机),Master端可以诊断出来,而当故障修复后,网络又可自动接通。因此,Modbus协议的可靠性较好。 下面我来简单的给大家介绍一下,对于Modbus的ASCII、RTU和TCP协议来说,其中TCP和RTU协议非常类似,我们只要把RTU协议的两个字节的校验码去掉,然后在RTU协议的开始加上5个0和一个6并通过TCP/IP网络协议发送出去即可。所以在这里我仅介绍一下Modbus的ASCII和RTU协议。 下表是ASCII协议和RTU协议进行的比较: 通过比较可以看到,ASCII协议和RTU协议相比拥有开始和结束标记,因此在进行程序处理时能更加方便,而且由于传输的都是可见的ASCII字符,所以进行调试时就更加的直观,另外它的LRC校验也比较容易。但是因为它传输的都是可见的ASCII 字符,RTU传输的数据每一个字节ASCII都要用两个字节来传输,比如RTU传输一个十六进制数0xF9,ASCII就需要传输’F’’9’的ASCII码0x39和0x46两个字节,这样它的传输的效率就比较低。所以一般来说,如果所需要传输的数据量较小可以考虑使用ASCII协议,如果所需传输的数据量比较大,最好能使用RTU协议。

相关文档
最新文档