常见通信协议的接口调
试方法
集团企业公司编码:(LL3698-KKI1269-TM2483-LUI12689-ITT289-
常见通信协议的接口调试方法
版本号:1.0.1
发布时间:2012-2-4
1.Modbus
Modbus是一种工业领域通信协议标准,并且现在是工业电子设备之间相当常用的连接方式。
Modbus协议是一个Master/Slave架构的协议。有一个节点是Master节点,其他使用Modbus协议参与通信的节点是Slave节点。Master节点类似Client/Server架构中的Client,Slave则类似Server。工业上Modbus协议的常见架构如下图所示。
1.1.应用场合
Modbus协议主要用于测风塔数据实时读取、风机数据实时读取。将来有可能用于集控系统中,读取各类数据和进行远程控制。
在清三营、长风风电场,莱维赛尔的测风塔使用ModbusRTU协议与功率预测系统通信。
在向阳风电场,明阳的SCADA服务器通过ModbusTCP协议向功率预测系统提供各风机的实时运行数据。
在乌力吉、浩日格吐、马力、前后查台等风电场,赛风的测风塔使用ModbusRTUoverTCP协议与功率预测系统通信。
1.2.Modbus数据模型
在Slave和Master进行通信时,Slave会将其提供的变量映射到四张不同的表上,Master从表中相应位置读/写变量,就完成了数据获取或命令下达。这四张不同的表,称作Modbus数据模型(ModbusDataModel)。
为了理解方便,这里将四张表分别称作1位只读表、1位可读可写表、16位只读表、16位可读可写表。(类似电力通信国标中的遥信、遥控、遥测、遥调。)1位表用来映射单比特数据类型的变量,通常是布尔型变量;16位表用来映射双字节数据类型的变量,如int16、float16等,如果希望映射int32、float32等四字节变量,可以通过一次使用16位表中的两个位置来实现。只读表用来映射Master只能读取的变量;可读可写表用来映射Master既可读取、又可改写的变量。
1位只读表
1位可读可写表
16位只读表
16位可读可写表
例如,在某温度监视系统中,一部温度传感器与一台上位机通过Modbus总线进行通信,温度传感器是Server,上位机是Client。对温度传感器提供的变量做如下映射:
1位可读可写表
16位只读表
16位可读可写表
再次说明,1位只读表、1位可读可写表、16位只读表、16位可读可写表等名称是本文档为了方便读者理解自拟的,在Modbus协议规范中有它们的正式名称。另外,不同厂商的设备/软件说明书中,对这四张表的称呼又有不同。
1.3.ModbusRTU、ModbusTCP与ModbusRTUoverTCP
Modbus协议有很多种变体,最常见的是ModbusRTU、ModbusTCP和ModbusRTUoverTCP。
为了能从众多Slave中唯一地标识出希望与其通信的Slave,需要知道Slave的地址。不同的变体对Slave地址的描述方式不同。对于ModbusRTU、ModbusTCP和ModbusRTUoverTCP,其硬件接口与对Slave地址的描述方式如下表:
1.4.调试工具与调试方法
ModbusPoll和ModbusSlave是ModbusTools系列软件中的两个工具软件,可运行在Windows2000/XP/Vista/7平台。ModbusPoll可用于测试从Slave中实时读取数据。ModbusSlave是一款Slave模拟软件,可用于模拟出一个假想的Slave设备。
modpoll?的用法
./modpoll?-m?tcp?-a?1?-r?2?-c??8?-t?3?-p?5021?
-a?后面接?slave?id
-r?后面接?起始偏移地址,这个地址要比配置文件中的地址大1
-c?后面接?读取数据个数
-t?后面接数据类型
-p?后面接端口
最后加上?ip
liksun
liksungogogo/liksunispower/liksun
/home/opps/config/opps.cfg
2.OPCDA
OPC是OLEforProcessControl的缩写,其最大的特点是必须运行在Windows平台,因为它基于微软的OLE、COM、DCOM技术而实现。
严格地说,OPC是指一系列协议,如OPCDA、OPCHDA、OPCDA-XML、OPCAE、OPCUA、OPCDX等。但由于OPCDA的使用最为广泛,所以一般说OPC就是指OPCDA,即OPCDataAccess。
OPCDA最新的协议版本是OPCDA3.0,目前主流的版本是OPCDA2.0。
2.1.应用场合
OPC协议目前多用于风机实时数据的读取,且主要为华锐SCADA服务器的风机实时数据接口。将来有可能用于集控系统中,读取各类数据和进行远程控制。
在高山子、阜北、彰北、通榆等风电场,华锐的SCADA服务器通过OPC协议向功率预测系统提供各风机的实时运行数据。
2.2.OPCDA的特点
为了从同一局域网的众多机器中标识出OPC服务软件所在的机器,需要指定该机器的IP地址。由于同一台机器上有可能运行多个OPC服务,需要指定该OPC服务的名称。最后,通过字符串形式的变量名称来指定希望读/写的变量。
例如高山子风电场华锐SCADA系统的OPC服务器的信息和部分变量如下:
与Modbus不同,OPC的变量名称一旦指定,其数据类型与是否可写就是确定的了。
另外,OPC的变量除了具有value属性(表示该变量的实时值)之外,还具有quality和timestamp属性,表示读取该变量时的通信质量和该变量的更新时间。Modbus的变量只有值。
2.3.调试工具与调试方法
MatrikonOPC是一家专业开发OPC相关软件的加拿大公司。MatrikonOPCExplorer 是一款OPC客户端软件,可用于测试OPC服务器。MatrikonOPCOPCSimulationServer 是一款OPC服务器模拟软件。
OPCQuickClient是一款小巧的OPC客户端软件,无需安装,快捷简便。
3.CDT规约
CDT,也称部颁CDT,是我国的电力和自动控制领域的常见的通信接口。与其他规约相比,它的特点是:
1)相对简单;
2)并非客户端/服务器端工作方式,而是发端不管收端是否接收,总是将数据发送出去;
3)所表示的遥测数据为12位的整数。其中最高位为符号位,所以表示范围是-2048(负2的11次方)~2047(正2的11次方减1)。