張海忠,曹解放,劉雪瑞,韓雪峰,段自立
(61365部隊,天津 300140)
GNSS接收機接口語言(GRIL)是一種特定的接口語言,它具有獨立于接收機的語言結構,同時定義了豐富的命令、消息和字段[1]。利用這些元素的有機組合,通過串口、并口、USB、藍牙及以太網等通信模式可以實現與Topcon GNSS接收機的交互,以達到操控接收機的目的,并獲取接收機的狀態參數和功能。
目前TONCON GNSS接收機主要通信工具為PCCDU,可以完成接收機參數的讀取和設置及觀測數據的下載[2-3],但其不具備人機交互界面,用戶無法實時了解衛星分布等信息,對一些特殊功能只能通過發送GRIL命令的方法實現,對于不熟悉GRIL命令的作業人員難度較大。本文簡要介紹GRIL命令,并通過串行模式使用C#編程實現Topcon GNSS接受機通信控制,為不同的GNSS野外測量需要提供參考[4]。
GRIL的功能涵蓋面十分廣,涉及接收機的每個操作和參數。它靈活的語言方式可以實現對接收機的自動及手動控制。通過編輯命令列表,并指定接收機在指定的時間運行這個列表就可以實現接收機的自動控制功能;手動控制則是通過控制終端把相應命令發送到接收機就能完成。GRIL包括以下七項主要功能,如表1所示。

表1 GRIL主要功能
GRIL共定義12種命令,通過向接收機發送不同命令,可以實現從接收機主板信息到衛星狀態查詢,以及對測量狀態完全控制,如表2所示。

表2 GRIL的12種命令語句

(續表)
GRIL命令語句格式如下:
[%ID%][COMMAND][@CS]
其中,方括號表示可選字段,各字段之間允許存在空格,一條命令最長支持高達256個字符長度。
%ID%:聲明的標識符,其中ID表示任意字符串,也可以為空。響應消息中的完全拷貝此標識符,語句僅包含一個標識符也是允許的,在這種情況下只生成一個響應消息。
COMMAND:執行命令的參數列表,第一個元素被稱為命令名(可以為空),它表示要執行的動作;中間的元素是命令參數;最后是參數的值(可缺省)。命令參數為單個根節點逐級向上的樹形層次結構,中間用反斜杠(/)用做節點間的分隔符,這種組合方式與電腦中文件夾存放文件的形式相似。
@CS:校驗為了確保發送和接收的數據正確,它進行CRC8或CRC16校驗。
EOC:命令終止符,由回車(CR)、換行(LF)或兩者結合使用。
示例:
發送:%RAM%print,/par/rcv/mem
接收:RE00C%RAM% 4096
在C#中使用timer及serialPort控件,timer控件提供Tick事件用于發送GRIL命令,SerialPort類提供的DataReceived事件用于接收數據。當SerialPort對象接收緩沖區有數據時,將在輔助線程上引發DataReceived事件[5-6]。
不同的操作對應GRIL命令及返回數據不同,需要編寫對應的DataReceived事件及數據處理方法。當進行新的操作時,采取事件輪轉的方式通過注銷舊事件,注冊相應操作的新事件進行通信控制。流程圖如圖1所示。

圖1 通信控制流程圖
//發送GRIL命令
private void timer_base_Tick(object sender,EventArgs e)
{
//發送GRIL命令
//判斷是否接收發送
//發送異常處理
}
//接收數據并處理
private void serialPort_base(object sender,
SerialDataReceivedEventArgs e)
{
//接收數據
//數據檢查處理
//超時異常處理
}
//用戶新操作
privatevoid tabControlSelectedIndexChanged (object sender,EventArgs e)
{
//注銷舊事件、注冊新事件
//發送命令
}
通過串口向Topcon NET-G3A接收機發送命令,獲取國際海事電子協會(NMEA)數據信息,實現衛星狀態的圖形化顯示。如圖2所示。

圖2 星空圖
Topcon NET_G3A接收機為用戶提供了兩種測量模式:常規測量和預約測量。常規測量是指通過手動操控讓接收機執行開關機和記錄觀測數據;預約測量是通過發送GRIL命令列表,讓接收機在指定的時間執行指定的操作。預約測量可以實現接收機無人值守自動控制,特別適用于多時段觀測。預約測量模式如圖3所示。

圖3 測量控制
使用GRIL命令通過C#編程可以開發專用的Topcon接收機控制程序。程序搭載在電腦等設備上,實現與接收機的接口通訊,能夠執行參數設置、開關機等任務,針對高等級GNSS測量任務進行預約測量,可以實現GNSS接收機無人值守自動觀測,有效地提高野外數據采集效率,為用戶提供了更高效便捷的解決方案,滿足不同測量任務的需要。
[1]TOPCON.TOPCON GRIL reference manual[EB/OL].http://www. topconpositioning.com.
[2]TOPCON.PC_CDU 參考手冊[EB/OL].http://www.topcon.com.cn.
[3]TOPCON.NET_G3A 使用手冊[EB/OL].http://www.topcon.com.cn.
[4]地殼運動監測工程研究中心.地殼運動監測技術規程[M]. 北京: 中國環境出版社,2014.
[5]NAGEL C,EVYEN B,GLYNN J. Professional C# 4 and.NET 4; C#高級編程[M].7 ed.李銘譯,北京:清華大學出版社,2010.
[6]王小科,王 軍. C# 開發實戰1200例(第Ⅱ卷)[M].北京:清華大學出版社,2011.