用于靠港船舶接用岸电技术的数据采集与规约转换方法与流程

文档序号:11144414阅读:495来源:国知局
用于靠港船舶接用岸电技术的数据采集与规约转换方法与制造工艺

本发明涉及靠港船舶接用岸电技术的数据处理,尤其是涉及一种用于靠港船舶接用岸电技术的数据采集与规约转换方法。



背景技术:

靠港船舶接用岸电技术是指船舶泊靠码头时,停止所有的船舶柴油机电站运行,采用陆地电源对靠港船舶供电的技术。通过岸电电源对船舶供电,可降低港口区污染废气的排放量。岸电技术是在国家推行“绿色港口”的背景下产生的,是港口解决噪声、降低环境污染的有效手段。船舶岸电系统能对靠港船舶提供可靠供电,以达到节能减排的目的,这是港口和船舶供电领域的一大进步。因此,靠港船舶使用岸电技术,对靠港船舶降低用电成本、提高供电效率和减少环境污染具有重大意义。但是在现有的岸电系统中具有多种岸电设备,难以同一时间对岸电系统中所有的设备进行监控和信息采集,因此,若可同时解决采集通讯设备与岸电设备及与远端服务器之间的有效通讯,将会提高监控系统的可操作性,并有效地提高工作效率。



技术实现要素:

本发明的目的就是为了克服上述现有技术存在的缺陷而提供一种降低成本、提高监测可操作性的用于靠港船舶接用岸电技术的数据采集与规约转换方法。

本发明的目的可以通过以下技术方案来实现:

一种用于靠港船舶接用岸电技术的数据采集与规约转换方法,包括:

对被动岸电设备的运行数据进行主动采集,写入到相应的全局变量;

对主动岸电设备的运行数据进行侦听采集,写入到相应的全局变量;

将所述主动采集和侦听采集的所有运行数据进行规约转换,并发送至通讯前置机。

所述被动岸电设备包括高压柜、变压器柜和变频器柜。

所述主动岸电设备包括远程终端单元。

所述主动采集具体为:

101)依次初始化系统时钟、串口和IO口;

102)生成召测报文指令加入到任务队列;

103)从所述任务队列中读取一召测报文指令,将该召测报文指令通过串口发送给被动岸电设备;

104)读取串口缓冲区中的返回数据;

105)对所述返回数据进行处理,写入到相应的全局变量;

106)检测是否有退出指令,若是,则关闭串口,释放串口占用的资源,若否,则返回步骤103),继续采集数据。

所述召测报文指令包括遥测指令和遥信指令。

所述侦听采集具体为:

201)初始化统时钟和串口,清空IO缓冲区;

202)串口依次读取字节数据,判断字节数据的值,并根据所述字节数据的值执行相应读取操作,获取主动岸电设备上传的数据报文;

203)处理所述数据报文;

204)检测是否有退出指令,若是,则关闭串口,释放串口占用的资源,若否,则返回步骤202),开始下一轮数据采集过程。

所述步骤203)中,处理所述数据报文具体为:

读取数据报文字符串,将字符串转换成字符数组,所述字符数组包括功能码;

读取所述功能码并根据功能码进行数据报文的分类;

对分类后的数据报文进行校验码验证,若校验码正确,则记录所读取的数据,进行下一数据报文的处理,若不正确,则直接进行下一数据报文的处理。

所述数据报文的分类包括事件报文、遥测数据报文和遥信数据报文。

所述规约转换具体为:

301)创建一TCP侦听,通过该侦听器判断是否有通讯前置机连接;

302)在有通讯前置机连接时,读取设定字节的TCP数据,识别所读取的TCP数据,根据识别结果执行相应操作,所述相应操作包括激活数据传输、接收测试命令、向岸电设备发送单点遥控命令、向岸电设备发送双点遥控命令以及分批发送采集的所有运行数据。

所述步骤302)包括:

321)读取2字节的TCP数据,判断是否有误,若是,则执行步骤322),若否,则执行所述读取设定字节的TCP数据的操作;

322)判断全局变量的数据是否发生变化,若是,则将发生变化的数据上传至通讯前置机,若否,则返回步骤321)。

与现有技术相比,本发明具有以下优点:

1)本发明可方便地实现数据采集和规约转换,把不同厂家、不同规约的设备连接到一个通讯管理装置,再通过以太网接口上传到通讯前置机,降低了监控系统的硬件成本,同时也提高了监控系统的可操作性,利于监控系统今后功能扩展与应用推广。

2)本发明有利于监控系统今后功能扩展与应用推广。

3)数据传输方面,可只上传发生变化的数据,由此可节省网络资源,并能够及时更新发生变化的信息量。

4)系统的硬件采用当前流行的STM32嵌入式平台,价格只有之前外购的产品的三十分之一,开发软件采用LabVIEW图形化开发平台,可根据工程需要,快速搭建系统框架,大幅提高开发效率。

5)自主研发的系统可接入标准规约的数据采集设备,也可以自主开发程序,接入非标准规约的采集设备,扩大了系统的使用范围。

6)系统硬件体积小,功耗低,可以集成到大的数据采集系统中,不占用过多的空间和电源功耗。

附图说明

图1为岸电信息管理与监控系统总体框架图;

图2为实施例中数据采集卡硬件结构示意图;

图3为本发明主动采集数据的流程图;

图4为本发明侦听采集数据的流程图;

图5为RTU通讯报文的处理流程图;

图6为本发明的规约转换流程图。

具体实施方式

下面结合附图和具体实施例对本发明进行详细说明。本实施例以本发明技术方案为前提进行实施,给出了详细的实施方式和具体的操作过程,但本发明的保护范围不限于下述的实施例。

据工程项目的功能要求,信息管理与监控总体架构可以分为四层:上层系统(港区电力监控系统)、管理与监控层、通讯与就地监控层和设备层,如图1所示。其中,港区电力监控系统实现对整个港区用电信息的监视和控制。通讯与就地监控层主要是完成岸电系统各电气设备的信息集成和运行控制管理,各电气柜和数据采集设备之间通过工业数据总线连接,各设备相互配合共同完成岸电信息管理与监控的任务。管理与监控层是根据港口电力监控的业务流程对岸电设备所采集到的数据进行整合,实现远程的信息管理、运行监视、控制、数据存储、视频监控与历史数据的查询、报表生成、打印和Web发布功能,并提供给相应数据到各个业务部门。设备层有岸电电源的主要设备,实现电网10kV/50Hz到船上用电460V/60Hz的变换。

本发明的数据采集与规约转换方法实现于图1所示的通讯与就地监控层,该方法主要是对高压柜、变压器柜、变频器柜、RTU(远程终端单元)柜等设备通过RS485和RS232进行实时数据采集,并与通讯前置机实现以太网通讯。该方法包括以下步骤:

对被动岸电设备的运行数据进行主动采集,写入到相应的全局变量,所述被动岸电设备包括高压柜、变压器柜和变频器柜;

对主动岸电设备的运行数据进行侦听采集,写入到相应的全局变量,所述主动岸电设备包括远程终端单元;

将所述主动采集和侦听采集的所有运行数据进行规约转换,并发送至通讯前置机。

如图2所示,本实施例中,对被动岸电设备的运行数据进行主动采集具体包括:

101:系统时钟初始化,为了保证串口初始化后的波特率是正确的,需要对STM32系统时钟进行倍频操作,初始化系统时钟。

102:串口初始化,串口初始化的参数比较多,除了基本的串口名(COM1~COM5)、波特率(4800~115200)、数据位(8~9bits)、校验(无、奇偶校验)、停止位(1.0、1.5、2.0bit)之外,还有两个比较重要的参数:“读取终止符”和“是否启用终止符”。

103:IO初始化,选择通讯所需要的IO口、设置输入模式、开启IO时钟。

104:数据采集,为每一个通信端口中接入的设备设置一个唯一的地址,根据厂家提供的通讯协议,生成召测报文指令到任务队列,召测报文指令包括遥测指令和遥信指令。

105:从遥测指令队列读取召测命令,进入步骤107和108。

106:从遥信指令队列读取召测命令,进入步骤107和108。

107:使能RS485为发送模式。

108:发送指令到串口。

109:使能RS485为读取模式,准备读取串口缓冲区中的数据。

110:获取串口缓冲区的字节数。

111:根据步骤110获取的字节数,读取串口缓冲区中的数据报文。

112:数据处理,写入数据到全局变量,对接收到的数据报文,先要转换为字节数组,对数据报文校验无错误后,再根据通讯协议中的设备地址、功能码和寄存器地址,对遥测量、遥信量进行分类,写入到相应的全局变量。

113:检测系统是否有退出指令,若没有,则返回步骤104,开始下一轮的数据采集过程。若有退出指令,则进入步骤114。

114:关闭串口,若收到退出指令,关闭串口,释放串口占用的资源。

如图3所示,本实施例中,对主动岸电设备的运行数据进行侦听采集具体包括:

201:STM32系统时钟初始化,为了保证串口初始化后的波特率是正确的,需要对STM32系统时钟进行倍频操作,初始化系统时钟。

202:串口初始化,初始化串口名、波特率、数据位、校验位、停止位、读取终止符和是否启用终止符。

203:清空IO缓冲区,与主动召测方式不同,RTU会主动上传运行数据到所接的通讯端口,所以,在数据采集与规约转换软件开启后,缓冲区就有可能已经有运行的数据,为保通讯数据的实时性,对原有的数据要先清除。

204:串口读取1字节数据,首先读取1个字节数据,然后到步骤205,判断读到的是否为协议传输的第一个字节EB。

205:若读到的字符串不是EB,则继续读取下一个字节数据,直到找到字符串EB.

206:若读到的第一个字节是EB,则再从串口缓冲区读取一个字节数据。

207:判断读到的第二个字节字符串是否为90,若不是,返回步骤204继续读取下一字节,若是,则转到步骤208。

208:从串口一次读取10字节数据,然后截取前4个字节。

209:判断字符串的值是否等于EB90EB90,若不是,返回步骤204继续读取下一字节,若是,则转到步骤210。

210:根据步骤208中读取的10个字节中的第7个字节值,确定下一次读取的字节数。

211:根据步骤210中计算的报文长度,从串口缓冲区读取剩余的数据报文。

212:远程终端单元报文处理过程。

213:检测系统是否有退出指令,若无退出指令,返回步骤204,开始下一轮数据采集过程,若有退出指令,则进入步骤214。

214:关闭串口,若收到退出指令,关闭串口,释放串口占用的资源。

如图4所示,远程终端单元报文处理过程具体包括:

221:读取数据报文字符串,程序对前面几个步骤中读到的数据字符串重新连接,组成一条完整的数据报文。

222:把步骤221中读到的数据报文字符串转化为字节数组,方便后续步骤中的数据处理。

223:读取功能码,数据数组中,第7、8字节是功能码,功能码表明了本组数据的数据类型,根据不同的功能码,对数据进行分类。

224:若在步骤223中读到的功能码是E帧,则为事件记录帧。

225:根据校验码算法对数据中的校验位进行比较,判断数据在传输过程中有无误码,若校验位错误,则丢弃数据,返回步骤221,继续读取下一组数据。

226:若校验位正确,则将收到的事件记录写入到事件队列,继续读取下一组数据。

227:若在步骤223中读到的功能码是A帧、B帧、C帧,则为遥测帧,进入到遥测帧处理分支。

228:根据校验码算法对数据中的校验位进行比较,判断数据在传输过程中有无误码,若校验位错误,则丢弃数据,返回步骤221,继续读取下一组数据。

229:若校验位正确,则把收到的遥测帧根据数据中的遥测序号,写入相应的遥测点全局变量,继续读取下一组数据。

230:若在步骤223中读到的功能码是遥信帧,进入到遥信帧处理分支。

231:根据校验码算法对数据中的校验位进行比较,判断数据在传输过程中有无误码,若校验位错误,则丢弃数据,返回步骤221,继续读取下一组数据。

232:若校验位正确,则把收到的遥信帧根据数据中的遥信序号,写入相应的遥信点全局变量,继续读取下一组数据。

如图5所示,本实施例中,规约转换具体包括:

301:创建TCP侦听,为TCP网络连接创建侦听器。

302:等待TCP侦听,等待已接受的TCP网络连接。

303:判断是否有客户端连接,若没有,返回步骤302继续等待TCP侦听。

304:若有客户端连接,则读取2字节的TCP数据。

305:判断接收缓冲区是否有数据,若缓冲区存在2字节的数据,转到步骤306,若没有,则转到步骤320。

306:字符串数组转换为字节数组,方便后续步骤对数据的处理。

307:判断字节数据的第一个字节是否等于68H(H表示16进制格式,下同),若不是,转到步骤304,若是,则根据数据单元长度,转到步骤308和步骤313。

308:若数据单元长度为04H,则分析数组中控制域的值。

309:若控制域的值为07H,则表明这条使命是激活数据传输。

310:此时服务端会发送确认激活数据传输的报文命令给客户端。

311:若控制域的值为43H,则表明这条使命是测试命令。

312:此时服务端会发送确认测试的报文命令给客户端。

313:若数据单元长度为0EH,则分析数组中控制域的值。

314:若类型标识为2DH,则表明这条使命是单点遥控命令。

315:根据命令中的控制点号,发送单点遥控命令到相应岸电设备。

316:若类型标识为2EH,则表明这条使命是双点遥控命令。

317:根据命令中的控制点号,发送双点遥控命令到相应岸电设备。

318:若类型标识为64H,则表明这条指令是总召唤命令。

319:发送总召唤数据,服务端会把所有的遥测量和遥信量分批发送给客户端。

320:判断全局变量中的数据有无发生变化,若没有变化,会返回步骤304,继续读取2字节的数据,若有数据发生了变化,则转到步骤321。

321:上传变化的遥测、遥信量。

上述数据采集与规约转换方法可在一个硬件数据采集板中实现,数据采集板的结构如图6所示。该数据采集板的处理器采用STM32F407,该处理器具有168MHz主频、128KB RAM、1M Flash、14个定时器,该处理器拥有更强劲的性能、更高的代码密度、位带操作、可嵌套中断、低成本、低功耗等众多优势,是行业领先的32位处理器,适用于具有高确定性的实时应用。该处理器本身具有1M Flash,可通过SD卡接口外接SD卡,用于存放程序和数据,Jlink下载调试USB口用于下载程序和在线调试,以太网接口用于连接管理与监控层的通讯前置机。数据采集板中具有1路485总线接口,一路RS232总线接口,一路CAN接口总线,分别用于连接不同通讯口的监控设备。数据采集板的开发软件支持LabVIEW图形化开发,利用开发平台所带的开发工具包,可为嵌入式32位精简指令集运算和微控制器提供图形化编程,开发平台为用户提供了1000多种底层的函数,可以方便、快速使用数据采集板上提供的硬件资源,实现系统的高效、快速开发。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1