DNP 3.0 Server开发心得 - softeveryday的专栏 - CSDN博客

来源:百度文库 编辑:神马文学网 时间:2024/04/27 13:39:23
DNP 3.0 Server开发心得 收藏
      最近项目中需要使用DNP 3.0 通讯协议开发Server端的程序,在开发Server端的过程中,主要存在以下几个步骤:(1)在接收Socket连接后,首先进行握手;(2)Client端(主站),请求全数据,根据需求可以发送带时间标志和不带时间标志两种类型的数据;(3)在第一次回复全数据时,将IIN1设为90,通知主站是第一次连接的数据;(4)主站会在随后的请求命令中要求对时,首先主站要求测量从站的数据处理延时,从站可以根据主站的要求将延时数据回发给主站;(5)主站根据延时数据计算需要修正的时间发送给从站,从站接收到到时间数据(为时间戳)后,修改系统时间,回复主站后,主站就开始正常请求数据了。      在项目的开发中主要经历了以下几点困难和解决方式:     (1)CRC校验,采用每个十六字节数据进行校验多项式:x16+x13+x12+x11+x10+x8+x6+x5+x2+1。     (2)Th码的标示,对于超过255字节的数据传输,在每个头的后面都要添加Th标识,在最后一组数据还要添加数据结束标识。      (3)数据的传输中,可以采用带时标和不带时标两种方式。      当然在实现DNP 3.0的过程中还存在一些其他问题,如果大家有问题,我可以尽我所知进行回复! 本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/softeveryday/archive/2009/01/18/3830880.aspx