一种基于PLC的GPS通信与定位数据采集技术

一种基于PLC的GPS通信与定位数据采集技术

(中国船舶重工集团有限公司第七一一研究所上海201108)

摘要:本文阐述了一种基于可编程逻辑控制器,通过编程实现与全球定位系统接收机的通讯和数据采集的技术。在该技术中,通过合理的运用可编程逻辑控制器的硬件功能和适当的软件编程算法,能够实时获取定位数据报文,并对报文进行解析处理,使这些数据信息能够被其他信息系统使用。

关键词:全球定位系统;可编程逻辑控制器;通信;数据采集

GPSCommunicationandPositioningDataAcquisitionTechnologyBasedonPLC

HaoXifeng、ChenJia、DaiYutao、WeiDonsheng

(ShanghaiMarineDieselEngineResearchInstitute,Shanghai201108)

Abstract:ThisarticledescribesatechnologybasedonprogrammablelogiccontrollersthatenablescommunicationanddataacquisitionwithGPSreceivers.Inthistechnology,byproperlyusingthehardwarefunctionsofprogrammablelogiccontrollersandappropriatesoftwareprogrammingalgorithms,positioningdatapacketscanbeacquiredinrealtime,andthepacketscanbeanalyzedandprocessedsothatthesedatainformationcanbeusedbyotherinformationsystems.

Keywords:GlobalPositioningSystem;ProgrammableLogicController;Communication;DataAcquisition

0引言

在工业自动化综合控制领域,常常需要将很多第三方系统提供的关联数据信息集成到综合自动控制系统中,以便提高全系统的数字化和智能化程度,发挥更高的信息效用价值。本文所述的基于可编程逻辑控制器(PLC)的全球定位系统(GPS)通信与定位采集技术便是用于将GPS数据集成到控制系统的应用举例。该技术应用于自升式海洋石油钻井平台分布式控制系统(DCS)项目,使用PLC与GPS接收机数据通信,并对通信获得的数据报文解码,以获得高可用性的时间和定位数据信息。

1可编程逻辑控制器

可编程逻辑控制器是一种专门为在工业环境下应用而设计的数字运算操作电子系统。它采用一种可编程的存储器,在其内部存储执行逻辑运算、顺序控制、定时、计数和算术运算等操作的指令,通过数字式或模拟式的输入输出来控制各种类型的机械设备或生产过程[1]。当可编程逻辑控制器投入运行后,其工作过程一般分为三个阶段,即输入采样、用户程序执行和输出刷新三个阶段。完成上述三个阶段称作一个扫描周期。在整个运行期间,可编程逻辑控制器的CPU以一定的扫描速度重复执行上述三个阶段。

PLC工作过程具有如下特点[2]:

①PLC采用集中采样、集中输出的工作方式,减少了外界干扰的影响。

②PLC的工作过程是循环扫描的过程,循环扫描时间的长短取决于指令执行速度、用户程序的长度等因素。

③输出对输入的影响有滞后现象。PLC采用集中采样、集中输出的工作方式,当采样阶段结束后,输入状态的变化将要等到下一个采样周期才能被接收,因此这个滞后时间的长短又主要取决于循环周期的长短。此外,影响滞后时间的因素还有输入滤波时间、输出电路的滞后时间等。

④输出映像寄存器的内容取决于用户程序扫描执行的结果。

⑤输出锁存器的内容由上一次输出刷新期间输出映像寄存器的数据决定。

⑥PLC当前实际的输出状态有输出锁存器的内容决定。

2全球卫星定位系统

全球卫星定位系统(GPS)利用其定位卫星,在全球范围内实时进行定位、导航,它是由美国国防部研制建立的一种具有全方位、全天候、全时段、高精度的卫星导航系统,能为全球用户提供低成本、高精度的三维位置、速度和精确定时等导航信息,是卫星通信技术在导航领域的应用典范,它极大地提高了地球社会的信息化水平,有力地推动了数字经济的发展。

GPS数据接口格式,指GPS输出实时定位数据让其他设备使用时,所用到的数据交换协议。几乎所有的GPS接收机都遵循美国国家海洋电子协会(NationalMarineElectronicsAssociation,NMEA)所指定的标准规格,该标准制订了所有航海电子仪器间的通讯标准,其中包含传输资料的格式和通讯协议。NMEA协议有0180、0182和0183三种,0183可认为是前两种的超集,现在正广泛的使用,本文中用到的正是NMEA0183。

NMEA0183通讯协议所规定的通讯语句都以ASCII码为基础,内容包含了纬度、经度、高度、速度、日期、时间、航向以及卫星状况等信息,常用语句有6种,包括GGA、GLL、GSA、GSV、RMC和VTG,这些常用语句的数据格式如下:“$”为语句起始标志;“,”为域分隔符;“∗”为校验和识别符,其后面的两位数为校验和,代表了“$”和“*”之间所有字符的按位异或值(不包括这两个字符);回车换行为终止符,所有的语句必须以此来结束,也就是ASCII字符的0x0D和0x0A。

3功能设计

3.1通讯接口设计

该技术应用于海洋石油钻井平台,需要根据GPS的定位数据信息进一步定位平台坐标和相关设备坐标,因此选用日本JRC公司的DGPSJLR-7800差分定位导航装置,该设备提供的GPS接口符合NMEA0183协议,使用RS422串口通讯方式发布GGA,RMC,GLL,VTG,GSA,GSV,DTM,GBS,GRS,GST,ZDA,GNS,MSS,ALR等格式报文,波特率为4800位/秒,数据位8位,无奇偶校验位,开始位1位,停止位1位,发送间隔为1~9秒,在此设置为每秒发送。根据实际需求情况,在项目中需要使用其时间、经纬度、GPS状态、海拔高度、以及卫星使用数量信息等,因而只要有针对性的获取和解析GGA语句即可。

根据上述GPS装置提供的数据接口参数信息和平台上分布式控制系统(DCS)软硬件配置情况,同时考虑到RS422串口通讯方式的特点,认为由GPS装置做主站,通讯站做从站,采用被动接收数据信息的方式是合理的。该通讯站由多组西门子S7-1200系列PLC组成,选用一组PLC并配置通讯卡与GPS接收机通信,两者之间通过带屏蔽的通信电缆连接,其结构示意图1如下:

图一通讯接口示意图

如上图所示,GPS接收机通过外置天线不断的接收GPS卫星下发的导航电文,并且通过自带串口向外发送预定格式的ASCII报文。RS-422四线制接口采用单独的发送和接收通道,因此不必控制数据方向。RS-422的最大传输距离为4000英尺(约1219米),最大传输速率为10Mb/s。其平衡双绞线的长度与传输速率成反比,在100kb/s速率以下,才可能达到最大传输距离。只有在很短的距离下才能获得最高速率传输。一般100米长的双绞线上所能获得的最大传输速率仅为1Mb/s。在本项目实例中,GPS接收机与通讯站距离小于20m,未接入终端电阻。由于采用被动接收方式,因此实际只用了GPS接收机端的TXD+、TXD-和PLC端的RXD+、RXD-组成的通道,另外为了保证通信质量抗干扰需要将通讯电缆屏蔽层对接。

首先确定目标语句为GGA语句,每条语句包括17个字段,示例语句如下:

$GPGGA,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,M,<10>,M,<11>,<12>*xx<CR><LF>,各字段所表达的意义如表1所示:

表1GPGGA语句格式说明

根据该语句结构特点和通讯站所配置的西门子PLC通讯卡的功能特性,在充分利用通讯卡功能的基础上通过编程高效快捷的实现目标需求。

首先将接口的操作模式置为“全双工(RS422)、4线制、点对点”(备用一组通道),波特率4800位/秒,8位数据位,无奇偶校验位,1位停止位,不控制流量,等待时间间隔为1ms,做到实时接收信息,接收机端为每秒发送一次报文。另外以字符序列过滤识别收到的数据报文,字符序列为ASCII码的“GPGGA”,对应值为“0X47|0X50|0X47|0X47|0X41”,报文单次最大长度76字节时结束,还可通过配置“RCV_CFG”指令的CONDITIONS接口定义报文的开始结束条件。

3.2数据采集软件设计

根据项目需求,设计数据采集程序控制逻辑如图2所示:

图2数据采集程序控制逻辑流程图

如上图所示,PLC程序开始执行后,首先是做通讯接口初始化(可动态初始化),完成后即开始在线监听数据报文,并根据初始化的过滤字符序列将对应的报文存入数据接收缓冲区;同时,由主控程序启动脉冲信号,并由此脉冲信号触发执行RCV_PTP指令以接收数据接收缓冲区中的报文到BUFFER区,接收完成后NDR指令由0置1,然后由NDR指令触发报文解析函数,该函数将BUFFER区数据拷贝到数据块后执行按位异或校验,若校验结果与报文中的“hh”不相等则执行结束,若相等则根据分隔符分割各字段,同时进行相应数据类型转换,并将处理结果按表1所示各字段统一赋值给外部接收参数,该流程结束。

4结论

通常GPS接收机会发送很多类型的语句,而我们需要的可能只是某些语句中的几个字段。因此就需要对接收到的数据进行解析,取得所需的信息。另外,可能会由于小数点后位数不固定等原因,语句的长度是可变的,因而在分离相关数据信息时,不能按照该信息在语句中所处的字符位置来查找,只能依据逗号分隔符,这一点在数据提取的过程中非常重要。

本文中基于PLC的GPS通信与定位数据采集技术的开发应用,很好的发挥了PLC硬件提供的功能和用途,灵活的运用了结构化文本编程语言,这对高效快捷的完成目标需求起到了很好的帮助作用。通过工业互联网架构的延伸,可以对采集到的GPS信息做进一步应用,也可以对其他GPS语句进行合理的开发利用,使其在工业信息化中发挥更多作用。

参考文献:

【1】竺志超,陈元斌,韩豫编著.非标自动化设备设计与实践毕业设计、课程设计训练:国防工业出版社,2015.12

【2】陈建明,王亭岭,孙标.电气控制与PLC应用.北京:电子工业出版社,2010:83-84

作者简介:

郝喜锋(1984-),男,本科,工程师,主要研究方向为工业自动化与信息化技术

标签:;  ;  ;  

一种基于PLC的GPS通信与定位数据采集技术
下载Doc文档

猜你喜欢