国产韩国精品一区二区三区,一本色道综合久久加勒比,亚洲欧洲中文日韩久久av乱码,国产一区二区女内射,亚洲精品无码成人片在线观看

標準北京時(shí)間校準(電腦系統時(shí)間怎么校準?)

戳我有驚喜?。?!

一般獲取精準時(shí)間的方式有兩種,第一種就是從NTP服務(wù)器上獲取,第二種則是通過(guò)衛星獲取UTC時(shí)間,對于不能聯(lián)網(wǎng)的設備若想通過(guò)NTP協(xié)議獲取時(shí)間就只能通過(guò)外接支持UDP傳輸的網(wǎng)絡(luò )模塊,比如串口服務(wù)器。若設備支持衛星定位則可通過(guò)獲取衛星的UTC時(shí)間來(lái)獲取準確時(shí)間,對于需要使用北京時(shí)間的設備則需要通過(guò)換算。

UTC就是協(xié)調世界時(shí),又稱(chēng)世界統一時(shí)間、世界標準時(shí)間、國際協(xié)調時(shí)間,北京位于東八區比UTC時(shí)間快8小時(shí)的時(shí)區。

下面小編將通過(guò)Modbus衛星定位模塊獲取UTC時(shí)間并通過(guò)MCGS腳本轉換東八區時(shí)間再通過(guò)Modbus協(xié)議修改PLC的RTC時(shí)鐘。

衛星定位模塊采用EBYTE的E108-D01,一款支持多模定位并且支持UTC時(shí)間查詢(xún)的Modbus RTU從機,下表為E108-D01寄存器表截取的本案例會(huì )使用到的寄存器,寄存器直接存儲的UTC時(shí)間,需要 8小時(shí)換算成北京時(shí)間;

時(shí)間運算不能時(shí)簡(jiǎn)單的加8小時(shí),需要考慮大小月與閏年,以及時(shí)間計算的進(jìn)位處理,比較復雜,MCGS腳本支持時(shí)間戳轉換,則可以將獲取的UTC時(shí)間轉換為時(shí)間戳,在加上8小時(shí)(時(shí)間戳計算需要使用秒,8小時(shí)等于28800秒),再轉換為其他格式的時(shí)間數據,使用時(shí)間戳計算可以忽略大小月、閏年等復雜的時(shí)間處理過(guò)程。

有些PLC也支持通過(guò)時(shí)間戳配置RTC時(shí)間,有些則需要使用BCD或者普通的數值。

TM221可以通過(guò)BCD碼利用存儲字和存儲位配置系統字(%SW49-%SW53)結合系統位(%S50),下圖就可以看出利用系統字和系統位配置時(shí)間比較復雜;

TM221也可以通過(guò)PLC組態(tài)軟件中的功能塊的RTC功能修改,這里小編就通過(guò)這種方式修改PLC的RTC時(shí)間;

MCGS使用最便宜的TPC7062TX,該設備具有兩個(gè)串口,一個(gè)RS485(COM2)接口,一個(gè)RS232接口(COM2)接口,引腳定義這里就不再說(shuō)明,不知道的可以到MCGS官網(wǎng)查詢(xún)。

這里使用官方自帶的設備,所有設備的PLC目錄下的莫迪康-Modbus RTU驅動(dòng),

PLC則使用施耐德的TM221,需要配置下列PLC梯型圖,使用了6個(gè)保持寄存器存儲MCGS發(fā)送的年月日時(shí)分秒,利用中間寄存器將參數寫(xiě)入RTC功能塊實(shí)現時(shí)間校準。

將TM221使用寄存器格式化為下表,方便MCGS配置寄存器。

配置MCGS的設備列表以及寄存器查詢(xún)表,如下圖所示:

父設備配置,即RS-485總線(xiàn)的波特率參數,這里使用波特率9600,數據位8,停止位1,無(wú)校驗;

分別配置GPS的寄存器地址,并使用地址1,配置TM221的寄存器地址,并使用地址0;

簡(jiǎn)單做一個(gè)人機交互界面,如下所示:

下圖是MCGS的時(shí)間戳處理函數,這里只說(shuō)明了時(shí)間字符串轉時(shí)間戳,以及通過(guò)時(shí)間戳獲取年份的兩個(gè)函數,其余函數用法類(lèi)似。

將從GPS獲取的UTC時(shí)間分別賦予當前UTC時(shí)間,并通過(guò)字符串格式化函數將數值格式化為YYYY-MM-DD HH:MM:SS格式的字符串,方便直觀(guān)讀取數據和使用;

!StrFormat("%g-%g-%g %g:%g:%g",GPS_Year,GPS_Month,GPS_Day,GPS_Hour,GPS_Minute,GPS_Second)

將當前UTC時(shí)間轉換為時(shí)間戳,并將函數服務(wù)器控件UTC時(shí)間戳;

!TimeStr2I(!StrFormat("%g-%g-%g %g:%g:%g",GPS_Year,GPS_Month,GPS_Day,GPS_Hour,GPS_Minute,GPS_Second))

將時(shí)間戳增加8小時(shí)后,轉換為對應的北京時(shí)間的年月日時(shí)分秒并服務(wù)北京時(shí)間控件;

!TimeGetYear(!TimeStr2I(!StrFormat("%g-%g-%g %g:%g:%g",GPS_Year,GPS_Month,GPS_Day,GPS_Hour,GPS_Minute,GPS_Second)) 28800)

!TimeGetMonth(!TimeStr2I(!StrFormat("%g-%g-%g %g:%g:%g",GPS_Year,GPS_Month,GPS_Day,GPS_Hour,GPS_Minute,GPS_Second)) 28800)

!TimeGetDay(!TimeStr2I(!StrFormat("%g-%g-%g %g:%g:%g",GPS_Year,GPS_Month,GPS_Day,GPS_Hour,GPS_Minute,GPS_Second)) 28800)

!TimeGetHour(!TimeStr2I(!StrFormat("%g-%g-%g %g:%g:%g",GPS_Year,GPS_Month,GPS_Day,GPS_Hour,GPS_Minute,GPS_Second)) 28800)

!TimeGetMinute(!TimeStr2I(!StrFormat("%g-%g-%g %g:%g:%g",GPS_Year,GPS_Month,GPS_Day,GPS_Hour,GPS_Minute,GPS_Second)) 28800)

!TimeGetSecond(!TimeStr2I(!StrFormat("%g-%g-%g %g:%g:%g",GPS_Year,GPS_Month,GPS_Day,GPS_Hour,GPS_Minute,GPS_Second)) 28800)

修改按鈕控件,需要先判斷UTC時(shí)間有效后才能進(jìn)行校時(shí),具體腳本如下:

至此就完成了衛星校時(shí)的全部配置,小編從E108-D01如何獲取時(shí)間到PLC梯形圖開(kāi)放RTC配置接口再到MCGS如何寫(xiě)入時(shí)間PLC進(jìn)行了細化簡(jiǎn)介,根據這種方法可以對任何支持Modbus RTU協(xié)議的設備進(jìn)行衛星校時(shí)。

下圖是利用仿真設備演示跨月與跨年時(shí)設備自動(dòng)校準北京時(shí)間的過(guò)程:

上一篇:

下一篇:

? 推薦閱讀

分享
国产韩国精品一区二区三区,一本色道综合久久加勒比,亚洲欧洲中文日韩久久av乱码,国产一区二区女内射,亚洲精品无码成人片在线观看