摘要:本文阐述了一种基于可编程逻辑控制器,通过编程实现与全球定位系统接收机的通讯和数据采集的技术。在该技术中,通过合理的运 用可编程逻辑控制器的硬件功能和适当的软件编程算法,能够实时获取定位数据报文,并对报文进行解析处理,使这些数据信息能够被其他 信息系统使用。
关键词:全球定位系统;可编程逻辑控制器;通信;数据采集
GPS Communication and Positioning Data Acquisition Technology Based on PLC
Hao Xifeng、Chen Jia、Dai Yu tao、Wei Don sheng
(Shanghai Marine Diesel Engine Research Institute,Shanghai 201108)
Abstract:This article describes a technology based on programmable logic controllers that enables communication and data acquisition with GPS receivers. In this technology,by properly using the hardware functions of programmable logic controllers and appropriate software programming algorithms,positioning data packets can be acquired in real time,and the packets can be analyzed and processed so that these data information can be used by other information systems.
Keywords:Global Positioning System;Programmable Logic Controller;Communication;Data Acquisition
0 引言
在工业自动化综合控制领域,常常需要将很多第三方系统提供的关联数据信息集成到综合自动控制系统中,以便提高全系统的数字化和智能 化程度,发挥更高的信息效用价值。本文所述的基于可编程逻辑控制器(PLC)的全球定位系统(GPS)通信与定位采集技术便是用于将GPS 数据集成到控制系统的应用举例。该技术应用于自升式海洋石油钻井平台分布式控制系统(DCS)项目,使用PLC与GPS接收机数据通信,并 对通信获得的数据报文解码,以获得高可用性的时间和定位数据信息。
1 可编程逻辑控制器
可编程逻辑控制器是一种专门为在工业环境下应用而设计的数字运算操作电子系统。它采用一种可编程的存储器,在其内部存储执行逻辑运 算、顺序控制、定时、计数和算术运算等操作的指令,通过数字式或模拟式的输入输出来控制各种类型的机械设备或生产过程[1]。当可编 程逻辑控制器投入运行后,其工作过程一般分为三个阶段,即输入采样、用户程序执行和输出刷新三个阶段。完成上述三个阶段称作一个扫 描周期。在整个运行期间,可编程逻辑控制器的CPU以一定的扫描速度重复执行上述三个阶段。
PLC工作过程具有如下特点[2]:
①PLC采用集中采样、集中输出的工作方式,减少了外界干扰的影响。
②PLC的工作过程是循环扫描的过程,循环扫描时间的长短取决于指令执行速度、用户程序的长度等因素。
③输出对输入的影响有滞后现象。PLC采用集中采样、集中输出的工作方式,当采样阶段结束后,输入状态的变化将要等到下一个采样周期 才能被接收,因此这个滞后时间的长短又主要取决于循环周期的长短。此外,影响滞后时间的因素还有输入滤波时间、输出电路的滞后时间 等。
④输出映像寄存器的内容取决于用户程序扫描执行的结果。
⑤输出锁存器的内容由上一次输出刷新期间输出映像寄存器的数据决定。
⑥PLC当前实际的输出状态有输出锁存器的内容决定。
2 全球卫星定位系统
全球卫星定位系统(GPS)利用其定位卫星,在全球范围内实时进行定位、导航,它是由美国国防部研制建立的一种具有全方位、全天候、 全时段、高精度的卫星导航系统,能为全球用户提供低成本、高精度的三维位置、速度和精确定时等导航信息,是卫星通信技术在导航领域 的应用典范,它极大地提高了地球社会的信息化水平,有力地推动了数字经济的发展。
GPS数据接口格式,指 GPS输出实时定位数据让其他设备使用时,所用到的数据交换协议。几乎所有的 GPS 接收机都遵循美国国家海洋电子 协会(National Marine Electronics Association,NMEA)所指定的标准规格,该标准制订了所有航海电子仪器间的通讯标准,其中包含 传输资料的格式和通讯协议。NMEA 协议有 0180、0182 和 0183 三种,0183可认为是前两种的超集,现在正广泛的使用,本文中用到的正 是NMEA0183。
NMEA0183通讯协议所规定的通讯语句都以ASCII码为基础,内容包含了纬度、经度、高度、速度、日期、时间、航向以及卫星状况等信息, 常用语句有6 种,包括GGA、GLL、GSA、GSV、RMC 和 VTG,这些常用语句的数据格式如下:“$”为语句起始标志;“,”为域分隔符;“∗ ”为校验和识别符,其后面的两位数为校验和,代表了“$”和“*”之间所有字符的按位异或值(不包括这两个字符);回车换行为终止符 ,所有的语句必须以此来结束,也就是ASCII 字符的0x0D和0x0A。
3功能设计
3.1通讯接口设计
该技术应用于海洋石油钻井平台,需要根据GPS的定位数据信息进一步定位平台坐标和相关设备坐标,因此选用日本JRC公司的DGPS JLR- 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所示:
表1 GPGGA语句格式说明
根据该语句结构特点和通讯站所配置的西门子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-),男,本科,工程师,主要研究方向为工业自动化与信息化技术
论文作者:郝喜锋,陈佳,代玉涛,卫冬生
论文发表刊物:《电力设备》2018年第12期
论文发表时间:2018/8/13
标签:报文论文; 数据论文; 语句论文; 可编程论文; 通讯论文; 接收机论文; 信息论文; 《电力设备》2018年第12期论文;