千家论坛_弱电智能化技术与工程讨论(建筑智能,家居智能,人工智能)

家居照明&环境控制
收藏本版 (8) |订阅

家居照明&环境控制 今日: 2668 |主题: 502|排名: 44 

发新帖

海洛斯空调通信协议...

[复制链接]
jia1 发布于: 2009-4-7 14:31 1292 次浏览 0 位用户参与讨论
跳转到指定楼层
 

UART定义,传输的数据按照下述的顺序进行传输:

1.          开始位

用于标识数据传输的开始,这位通常为逻辑“0”值

2.          数据位

一列数据位,用于传输的数据

3.          检验位(可选)

接收段进行数据检测,这位是可选的

4.          停止位

标识数据传输的结束,通常为逻辑“1”值

为了进行通信,两个设备之间必须定义一些相关参数,这些参数包括:

波特率

数据位的长度

检验位

停止位

第四章          MODBUS协议

该章节包括一些MODBUS协议的主要参数的简要描述,以便于理解海洛斯设备如何方便的整合到MODBUS网络鲜中。仅包含一些基本的规则,如果需要进一步的了解,需阅读后续内容。MODBUS协议工作于主---从环境中,也就是说在MODBUS网络中只能有一个设备能够向其他设备发送请求,这个设备称为“master”;

MODBUS网络中其他的设备只能响应从master设备中接收到的信息自己并不初始化一个传输,这个设备称为“slaves”

Slaves对请求进行响应时在发送的数据包中包含一个地址值。

4.1   Modubus-地址

Master向slaver发送请求命令后,需要得到slaver的响应,在发送命令时需要包含slaver的地址值。因此在Modbus网络中每一个slaver设备必须有网络中独一无二的地址。

Master设备不需要地址值,是由于在modbus网络中只有一个Master设备,因此所有来自slaver设备的响应能自动发送至master设备。

在Modbus协议中每一个请求命令中预留一个字节的地址用于标识slaver设备。协议定义有效的地址值是0-247,0地址用于广播使用,广播能够被所有的slaver设备接收到。

因此0不是有效的地址,1-247能够用于作为slaver的地址。


4.2   Modubus数据类型

Modubus协议定义了四种数据类型,通过使用不同的Modubus功能能够接收不同的数据类型:

Coil:

数字值,能够读与写

Input:

数字值,只能读。

Holding Register:

模拟值,能够读与写。通常,一个“Holding Register”是16位数值,一般这个数值是正数,尽管当与H结合时一些数值被解释为无符号整数。

Input Register:

模拟值,只能读。通常“Input Register”是一个16位数值。

Modubus协议定义这些数据类型绷钩使用16位数值进行标记。也就是说网络上的每一个slaver设备能够包含有每一种类型的数据的最大值为65536

4.3   Modubus功能

功能

Modubus定义

含义

01

读取Coil状态

用于读取数字输出

02

读取输入状态

用于读取数字输出

03

读取Holding Register

用于读取模拟输出

04

读取输入寄存器

用于读取模拟输出

05

强迫单独的coil

用于设置数字输出

06

预设单个寄存器

用于设置模拟输出

16

预设多个寄存器

用于设置多个模拟输出

08-00

返回查询的数值

诊断功能:接收到的请求不做改变返回

08-01

重起通信选项

诊断功能:重新启动通讯在“强迫监听模式之后”

08-04

强迫监听模式

诊断功能:海洛斯Link不对请求做任何回答直到“重起通信选项”被接收到。


4.4   举例

4.4.1      读取Holding寄存器或者Input寄存器

请求

Slave标识符   功能代码   第一个寄存器地址  寄存器数量    检验和

响应

Slave标识符  功能代码  字节数   第一个寄存器值      最后一个寄存器数值   检验和

如果一个数值由两个字节组成高字节总是首先被发送

Slave标识符

这个字节定义那一个slave响应请求。在请求和响应中数值相同。

功能代码

这个字节表明slave应该响应那个功能。当读取Holding寄存器时数值为3,如果读取Input寄存器时设置为4。请求和响应中数值相同。

第一个寄存器地址:

定义读取第一个寄存器。在请求中寄存器的数量从0开始,尽管寄存器的开始从1开始计数。因此如果读取1#Holding寄存器,你必须向寄存器地址发送0;

寄存器数量

定义slave应该返回的寄存器数值;

字节数量:

定义除检验和之外数据的内容是多少字节;

寄存器数量:

定义slave应该返回的寄存器数值得个数;

寄存器值:

这个寄存器包含着被请求的寄存器的数值;

4.4.2读取Coils或者Input状态

请求

SlaveID   功能代码   第一个寄存器地址   寄存器数量  检验和、

应答

SlaveID   功能代码    字节数  寄存器值      寄存器值 检验和

功能代码

当读取Coils时,功能代码设置为1,当读取Input状态时功能代码设置为2。

4.4.3写入Holding寄存器或者Coil

请求:

SlaveID  功能代码  寄存器地址   寄存器数值          检验和

应答:

SlaveID  功能代码    寄存器地址       寄存器数值     检验和

当向Holding寄存器写入数值时,功能代码为6,当向Coild写入功能代码为5。

寄存器数值

定义应该向寄存器写入的数值。当在Coil是如果设置为OFF时数值为0000,如果设置为ON时数值为FF00

4.4.4错误响应

错误响应:

SlaveID  功能代码   错误号  检验和

第五章          海洛斯特别声明

1、          兼容性

2、          状态报告

每一种海洛斯类型定义输入寄存器1#-------6#为“状态报告块”并定义1#Holding寄存器作为“状态报告应答”。

状态报告块由下述方式构成:

输入寄存器

用法

描述

1

事件ID

ID代表事件

2

控制ID

控制ID,事件发生的地方

3

分钟

事件发生的分钟

4

小时

事件发生的小时

5

日期

事件发生的日期

6

事件类型

0—          〉消息,1—〉警告

2—〉警示,3,4—〉重新设置

如果海洛斯数据类型不能提供ControllerID或者事件发生的日期,Link将会将这些寄存器设置为0

当打开Link后,Link开始为可能已经连接上的Hiromatics扫描Hironet。当找到一个Hiromatic,Link拷贝Hiromatics状态报告到自己的内存中。当在Hironet中找到一个新的Hiromatic,Link设置”状态报告块”的“Event-ID”设置为100,表示“单元连接成功”。

  5.4状态报告

状态报告块由构成如下:

输入寄存器                用处                   描述

1#                        事件ID               代表事件

2#                        控制器ID          控制器ID,表示事件发生的位置

3#               分钟                  事件发生时间中的分钟

4#               小时                  事件发生时间中的小时

5#               日期                  事件发生时间中的日期

6#               事件类型              0—〉信息,1—〉报警

                                       2—〉警告,3和4—〉重新设置

   如果Hiromatic类型没有提供控制器ID或者事件的时间和日期,HiroLink将寄存器设置为0。

打开HiroLink,开始扫描Hiromatic可能连接的Hiro网络。一旦扫描到一个Hiromatic,HiroLink将Hiromatic的状态报告进入自己的内存。当一个新的Hiromatic在Link上找到时,Link设置“状态报告块”的“事件ID”为预先定义的值100,代表单元连接。

5.4.1计算时间的日期

“date”:年*512+月*32+日

年=date/512

日期=date-年/512

月=date/32

日期=日期-月*32

日=Date

步骤二

海洛斯网络设定值通常在“SYSTEM-SETUP”页面找到。

ID号:

ID号用于指定Modbus-Slave-ID,用于从海洛斯设备中获取数据。在Link协议中ID号必须唯一。因此每一个海洛斯设备接受不同的标识符就很重要。

建议ID号设置完成后,注意收集步骤一中的软件信息,它便于对海洛斯空调的位置进行标记。

波特率:

低于2.81版本的Link必须将波特率设置为20833,2.81版本以上的软件可以混合使用不同的波特率。



回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆 千家通行证登陆

本版积分规则

千家智客微信号
千家智客微信
玩物说商城
玩物说商城