当前位置:文档之家› 常见通信协议的接口调试方法修订稿

常见通信协议的接口调试方法修订稿

常见通信协议的接口调

试方法

公司标准化编码 [QQX96QT-XQQB89Q8-NQQJ6Q8-MQM9N]

常见通信协议的接口调试方法

版本号:发布时间:2012-2-4

1.Modbus

Modbus是一种工业领域通信协议标准,并且现在是工业电子设备之间相当常用的连接方式。

Modbus协议是一个Master/Slave架构的协议。有一个节点是Master 节点,其他使用Modbus协议参与通信的节点是 Slave 节点。Master节点类似Client/Server架构中的Client,Slave则类似Server。工业上Modbus协议的常见架构如下图所示。

……

1.1. 应用场合

Modbus 协议主要用于测风塔数据实时读取、风机数据实时读取。将来有可能用于集控系统中,读取各类数据和进行远程控制。

在清三营、长风风电场,莱维赛尔的测风塔使用Modbus RTU 协议与功率预测系统通信。

在向阳风电场,明阳的SCADA 服务器通过Modbus TCP 协议向功率预测系统提供各风机的实时运行数据。

在乌力吉、浩日格吐、马力、前后查台等风电场,赛风的测风塔使用Modbus RTU over TCP 协议与功率预测系统通信。

1.2. Modbus 数据模型

在Slave 和Master 进行通信时,Slave 会将其提供的变量映射到四张不同的表上,Master 从表中相应位置读/写变量,就完成了数据获取或命令下达。这四张不同的表,称作Modbus 数据模型(Modbus Data Model )。

为了理解方便,这里将四张表分别称作1位只读表、1位可读可写表、16位只读表、16位可读可写表。(类似电力通信国标中的遥信、遥控、遥测、遥调。)1位表用来映射单比特数据类型的变量,通常是布尔型变量;16位表用来映射双字节数据类型的变量,如

int16、float16等,如果希望映射int32、float32等四字节变量,可以通过一次使用16位表中的两个位置来实现。只读表用来映射Master只能读取的变量;可读可写表用来映射Master既可读取、又可改写的变量。

1位只读表

位可读可写表

1

16位可读可写表

例如,在某温度监视系统中,一部温度传感器与一台上位机通过Modbus总线进行通信,温度传感器是Server,上位机是Client。对温度传感器提供的变量做如下映射:

1位只读表

1位可读可写表

16位只读表

16位可读可写表

再次说明,1位只读表、1位可读可写表、16位只读表、16位可读可写表等名称是本文档为了方便读者理解自拟的,在Modbus协议规范中有它们的正式名称。另外,不同厂商的设备/软件说明书中,对这四张表的称呼又有不同。

1.3.Modbus RTU、Modbus TCP与Modbus RTU over TCP

Modbus协议有很多种变体,最常见的是Modbus RTU、Modbus TCP和Modbus RTU over TCP。

为了能从众多Slave中唯一地标识出希望与其通信的Slave,需要知道Slave的地址。不同的变体对Slave地址的描述方式不同。对于Modbus RTU、Modbus TCP和Modbus RTU over TCP,其硬件接口与对Slave地址的描述方式如下表:

1.4.调试工具与调试方法

Modbus Poll和Modbus Slave是Modbus Tools系列软件中的两个工具软件,可运行在Windows 2000/XP/Vista/7平台。Modbus Poll可用于测试从Slave中实时读取数据。Modbus Slave是一款Slave模拟软件,可用于模拟出一个假想的Slave设备。

modpoll的用法

./modpoll-mtcp-a1-r2-c8-t3-p5021

-a后面接slaveid

-r后面接起始偏移地址,这个地址要比配置文件中的地址大1

-c后面接读取数据个数

-t后面接数据类型

-p后面接端口

最后加上ip

:10004

liksun

liksungogogo/liksunispower/liksun

/home/opps/config/

2.OPC DA

OPC是OLE for Process Control 的缩写,其最大的特点是必须运行在Windows平台,因为它基于微软的OLE、COM、DCOM技术而实现。

严格地说,OPC是指一系列协议,如OPC DA、OPC HDA、OPC DA-XML、OPC AE、OPC UA、OPC DX等。但由于OPC DA的使用最为广泛,所以一般说OPC就是指OPC DA,即OPC Data Access。

OPC DA最新的协议版本是OPC DA ,目前主流的版本是OPC DA 。

2.1.应用场合

OPC协议目前多用于风机实时数据的读取,且主要为华锐SCADA服务器的风机实时数据接口。将来有可能用于集控系统中,读取各类数据和进行远程控制。

在高山子、阜北、彰北、通榆等风电场,华锐的SCADA服务器通过OPC协议向功率预测系统提供各风机的实时运行数据。

2.2.OPC DA 的特点

为了从同一局域网的众多机器中标识出OPC服务软件所在的机器,需要指定该机器的IP 地址。由于同一台机器上有可能运行多个OPC服务,需要指定该OPC服务的名称。最后,通过字符串形式的变量名称来指定希望读/写的变量。

例如高山子风电场华锐SCADA系统的OPC服务器的信息和部分变量如下:

与Modbus不同,OPC的变量名称一旦指定,其数据类型与是否可写就是确定的了。

另外,OPC的变量除了具有value属性(表示该变量的实时值)之外,还具有quality 和timestamp属性,表示读取该变量时的通信质量和该变量的更新时间。Modbus的变量只有值。

相关主题