中恒主监控器通讯协议中恒主监控器通讯协议(DNP3.0)Ver 2.1 (暂定)本通讯协议适合杭州中恒电气股份有限公司的ZHM05等直流系统主监控器,对本协议 中恒公司保留所冇权利,如冇变动,除非必要,恕不另行通知终端用户1、结构模型DNP3.0规约是美国IEEE的电力工程协会(PES)在IEC的基础上制定的美国国家标准DNP3.0通讯规约是基丁 OSI标准七层协议的四层(应用层,传输层,链路层,物理层)而设 计的物理层图1各协议栈数据单元之间的关系中恒主监控器通讯协议2、物理层通讯方式:支持异步全双工RS232/半双T RS485通讯方式 通讯速率:2400bps, 4800bps, 9600bps, 19200bps 字符格式:1位起始位、8位数据位、无校验位、1位停止位3、链路层3.1帧格式FT305HJk64H长度L控制字C目的地址低字节DLoLH目的地址髙字节DHi源地址低字节SLo源地址高字节SHiCRCLoCRCHir16字节数据1AT kCRCILoCRC1 Hi• • •用户数据1〜16字节数据nCRCnLoCRCnHif长度L:冃的地址D: 源地址S: 控制字C:指控制字,目的地址,源地址和用户数据的总长,不包含CRC字节,最 小为5,最大为255。
两个字节,低字节在前,是指数据所要到达的站的地址两个字节,低字节在前,是指发出数据的站的地址格式如下DIR:PRM:FCB:FCV:DFC:1表示传输的方向是从主站到从站0表示传输的方向是从从站到主站1表示数据来口原发站0表示数据来口响应站帧计数位是用于防止帧丢失或者被垂复的传送每当成功地完成一次发送确 认服务后该位就翻转一次,0、1交替,进行简单的纠错帧计数有效位1时表示本帧的FCB位冇效0忽略FCB位此位是被用作防止响应站的缓冲区溢岀如果DFC被置为1,表示如继续向 响应站传输数据,将使响应站的缓冲区溢出D7D6D5D4D3D2DIDODIRPRMFCBFCV功能码FCRESDFC原发站到响应站 响应站到原发站中恒主监控器通讯协议监控器作为从站,只接收DIR=1,PRM=1的数据 功能码FC:发白原发站的功能码功能码帧类型服务功能FCV位0发送一期待确认远方链路复位01发送一期待确认用户进程复位02发送一期待确认链路测试13发送一期待确认用八数据14发送一不期待确认不用确认的川户数据09查询一期待确认询问链路状态0发白响应站的功能码功能码帧类别服务功能0确认肯定确认ACK1确认否定确认NAVK11响应报告链路状态用户数据:跟在报文头后曲,每一块可包括1至16个字节的数据。
如果数据的长度人 于16个字节,则除了最后一个数据块,其他的数据块长度全为16字节CRC: 两个字节长,低字节在前报文头和每个数据块后都有两个字节的CRC校验码,报文头的CRC校验项目包括START、长度、控制字、目的地址和源 地址4、传输层传输层的作用是当源发站和响应站之间所传输的信息大于一•个链路协议数据单元 (LPDU)的容虽:吋,要将传输服务数据单元(TSDU)分解成几个传输协议数据单元(TPDUS) 进行传输主监控只接收HN=1,FIR=1的帧TPDUS的格式如下:THDataTH的格式如下:D7D6D5D4D3D2DIDOFINFIRSEQFIN: 1表示这是数据的最后一帧0表示木帧不是数据的最后一帧FIR: 1表示本帧是数据的第一帧0表示本帧不是数据的第一帧SEQ:表示木帧数据的序列号,用于防止帧丢失和重复5、应用层DNP3.0的功能非常庞大,在实际应用中,这里仅仅用了其小的一些功能,未在这里列 出所有功能主监控只支持被动轮询的工作方式,不主动上送数据给RTU如果链路层控 制字的功能码要求确认时,先进行链路层确认,再进行应用层应答中恒主监控器通讯协议应用层的命令可以分成如下两类:应用层的请求命令,格理如下:(只有主苗才能发请求命令)ReqHObjHDataObjHData其中RcqH的格式如下:ACFCAC的格式:(主监控只接收FIN=1,FIR=1的帧)D7D6D5D4D3D2DIDOFINFIRCONSEQFIN: 1表示这是数据的最后一帧。
0表示本帧不是数据的最后一帧 FIR: 1表示本帧是数据的第一帧0表示本帧不是数据的第一帧 CON: 1表示期望接收到一个确认0表示不期望接收到一个确认 SEQ:表示本帧的序号其中:0〜15川作主站的请求和从站对主站请求的响应16~31用作从站的非请求响应 请求功能码:1读2写应用层的响应命令,格式如下:(只有从站才能发响应命令)RepHObjHDataObjHData其中RepH的格式如下:ACFCIIN1IIN2AC的格式如上所述 响应功能码:0确认129对请求的响应IIN1表示的意义如下BIT0:表示收到了主站的广播命令BIT1:表示1类数据准备好了BIT 2:表示2类数据准备好了BIT 3:表示3类数据准备好了BIT 4:表示请求对时BIT 5:表示子站的某些或全部数字输出證于当地方式BIT6:表示装置有故障BIT 7:表示装置重新启动IIN2表示的意义如下BIT0:表示功能码未执行BITI:表示请求的数据对象未知BIT 2:表示参数无效BIT 3:表示事件缓冲区或其他缓冲区溢出BIT4:表示主站请求的操作正在执行BIT 5:表示子站的配置遭到破坏BIT 6:保留(设为0)中恒主监控器通讯协议BIT 7:保留(设为0)。
ObjH格式:对象限定字变程段对彖:定义了对彖的组和格式限定字:定义了变程段的意义变程段:定义了对象的数量、开始和结束的指针或所讨论对象的识别符对象组0或对彖变体对彖变体请求方向 响应方向限定字格式:对象字段格式:D7D6D5D4D3D2DIDORSIZEQCR: 保昭位,总是被设置为0SIZE:当QC的值为11吋,其含义如下0无效1表示有一个字节的标识码2表示冇二个字节的标识码3表示有四个字节的标识码(其他保留)当QC的值不为11时,其含义如下0表示对象没有前缀的索引1表示对象有一个字节的前缀索引2表示对彖有二个字节的前缀索引3表示对象有四个字节的前缀索引4表示对象前有一个字节标识对象的大小5表示对象前有二个字节标识对象的大小6表示对彖前冇四个字节标识对彖的大小7保昭QC:0表示在变程段内有一个字节的起始和结束索引1表示在变程段内有二个字节的起始和结束索引2表示在变程段内冇四个字节的起始和结束索引3表示在变程段内有一个字节的绝对地址的标识符4表示在变程段内有二个字节的绝对地址的标识符5表示在变程段内有四个字节的绝对地址的标识符6没有变程段7表示在变程段内冇一个字节数量值8表示在变程段内有二个字节数量值9表示在变程段内有四个字节数量值11当其他的QC都不适用或不能提供足够的标识信息时,就用此标识码去规定对 象。
其他保留)中恒主监控器通讯协议6、数据对象列表6.1 >二进制输入对象(对象类项:01-09)对象描述对彖类型变体号类型小位二进制输入0101静态带状态的二进制输入0102静态不帯吋标的二进制变位输入0201事件带时标的二进制变位输入0202事件带相对时间的二进制变位输入0203事件6.2、二进制输出对象(对象类项:10-19)对象描述对象类型变体号类型二进制输出1001静态带状态的二进制输入1002静态控制继电器输出块1201静态方式控制块1202静态6・3、计数对象(对象类项:20〜29)对象描述对象类型变体号类型32位的二进制计数器2001静态16位的二进制计数器2002静态32位的增[量计数器2003静态16位的增量计数器2004静态不带标志的32位的二进制计数器2005静态不带标志的16位的二进制计数器2006静态不带标志的32位的增量计数器2007静态不带标志的16位的增量计数器2008静态32位的冻结计数器2101冻结静态16位的冻结计数器2102冻结静态32位的冻结增量计数器2103冻结静态16位的冻结增量计数器2104冻结静态带冻结吋间的32位的冻结计数器2105冻结静态带冻结时间的16位的冻结计数器2106冻结静态带冻结时间的32位的冻结增量计数器2107冻结静态带冻结时间的16位的冻结增量计数器2108冻结静态不带标志的32位的冻结计数器2109冻结静态不带标志的16位的冻结计数器2110冻结静态不带标志的32位的冻结增虽计数器2111冻结静态不带标志的16位的冻结增量计数器2112冻结静态不带时标的32位事件变化计数器2201事件不带时标的16位事件变化计数器2202事件不带时标的32位事件变化的增值计数器2203事件不带时标的16位事件变化的增值计数器2204事件带时标的32位事件变化计数器2205事件带时标的16位事件变化计数器2206事件中恒主监控器通讯协议带时标的32位事件变化的增值计数器22()7事件带时标的16位事件变化的增值计数器2208事件不带时标的32位冻结计数器事件2301冻结事件不带时标的16位冻结计数器事件2302冻结事件不带时标的32位冻结的增最计数器事件2303冻结事件不带吋标的16位冻结的增量计数器事件2304冻结事件带时标的32位冻结计数器事件2305冻结事件带时标的16位冻结计数器事件2306冻结事件带时标的32位冻结的增量计数器事件2307冻结事件带时标的16位冻结的增量计数器事件2308冻结事件6.4>模拟量输入对象(对象类项:30〜39)对象描述对象类型变体号类型32位模拟量输入3001静态。