A. 羅克韋爾-AB使用RSLogix5000讀取系統時間實操案例分享
話不多說直接上干貨!
第一步:控制器標簽中建立全局變數,用於存儲讀出來的系統時間,變數名為DATE,數據類型為DINT的一維數組,數據個數6個就夠用。
第二步:ALT+INS在主常式Mainroutine中插入指令GSV,此指令就是讀取系統時間的指令。
第三步:配置GSV指令參數
類名:WallClockTime
屬性名稱:DateTime
目標:指向數組的第一個變數
第四步:打開模擬或者連上控制器,設置掘余CPU時間
設置時間的界面在CPU屬性中的日期/時間中,設置時需要注意的一點是CPU顯示的時間一直為格林尼治時間,也就是沒有時差的時間,培散游想要設置成北京時間有下面兩種方法:
1:時區設置成格林尼治時區,也就是時差設置成+0.00,同時時間設置成北京時間,此時CPU顯示的時間即為北京的時間;
2:時區設置成北配銷京時區,也就是時差+8.00,此時的時間需要在北京時間基礎上增加8個小時,因為時區設置成了+8.00,系統會自動在你設置的時間基礎上減去8個小時;
筆者推薦使用第一種方法!
B. 如何呈現gps定位模塊獲得定位信息
gps定位模塊定位之後會輸出定位語句信息,GPS定位信息串列輸出格式大多採用美國國家海洋電子協會制定的NMEA-0183 通信標准格式。其輸出數據採用的是ASCII碼,內容包含了緯度、經度、高度、速度、日期、時間、航向以及衛星狀況等信息,常用語句有6 種,包括GGA、GLL、GSA、GSV、RMC 和 VTG。
GPS模塊發送到單片機的數據主要由幀頭,幀尾和幀內數據組成,因此,必須明確其幀結構,然後才能根據其結構完成明羨銷對各個定位信息的提取。
如:$aaccc,ddd,ddd,…,ddd*hh<CR><LF>
1、「$」——幀命令起始位
2、aaccc——地址域,前兩位為識別符,後三位為語句名
3、ddd…ddd——數據
4、「*」——校驗和前綴
5、hh——校驗和(check sum),$與*之間所有字元ASCII碼激游的校驗和(各位元組做異或運算,得到校驗和後,再轉換16進制格式的ASCII字元。)
6、<CR><LF>——CR(Carriage Return) + LF(Line Feed)幀結束,回車和換行
NMEA-0183的數據信息有十幾種,這些信息的作派信用分別是:$GPGGA:輸出GPS的定位信息;$GPGSA:輸出衛星DOP值信息;$GPGSV:輸出可見的衛星信息;$GPRMC:輸出最小數據量的GPS信息;$GPVTG:地面速度信息;$GPGLL:輸出大地坐標信息;$GPZDA:輸出UTC時間信息;$GPGST:輸出定位標准差信息;$GPALM:輸出衛星星歷信息;