隨著工業(yè)自動(dòng)化的發(fā)展以及信息化的普及,工控領(lǐng)域中越來(lái)越多的設(shè)備開(kāi)始與互聯(lián)網(wǎng)連接,需要進(jìn)行精準(zhǔn)的時(shí)間同步。而時(shí)間同步的核心就是將各個(gè)設(shè)備上的時(shí)間統(tǒng)一起來(lái),這就需要對(duì)plc時(shí)間進(jìn)行轉(zhuǎn)換,以便進(jìn)行網(wǎng)絡(luò)同步比較。
plc是一種常用于工業(yè)自動(dòng)化的控制器,它能夠根據(jù)程序控制信號(hào)來(lái)操作各種機(jī)械和電子設(shè)備。由于工控領(lǐng)域的設(shè)備一般需要長(zhǎng)時(shí)間運(yùn)行且對(duì)時(shí)間精度要求較高,因此plc控制器在設(shè)計(jì)上一般會(huì)內(nèi)置一個(gè)自主計(jì)時(shí)器,用于準(zhǔn)確地記錄設(shè)備的運(yùn)行時(shí)間。
而unix時(shí)間,也被稱(chēng)為posix時(shí)間,是一種基于1970年1月1日00:00:00(格林威治時(shí)間)起算的時(shí)間計(jì)數(shù)系統(tǒng)。它的精度為秒級(jí),可以非常準(zhǔn)確地計(jì)算任意時(shí)間點(diǎn)的時(shí)間值。由于unix時(shí)間是一種通用的時(shí)間標(biāo)準(zhǔn),因此可以被廣泛地應(yīng)用于計(jì)算機(jī)系統(tǒng)之中。
在工控領(lǐng)域中,將plc時(shí)間轉(zhuǎn)換為unix時(shí)間的方法則十分簡(jiǎn)單。由于plc內(nèi)置計(jì)時(shí)器記錄的時(shí)間一般為精確到毫秒級(jí)別,因此只需將plc時(shí)間計(jì)算出距離1970年1月1日的毫秒數(shù),再將其除以1000即可得到相應(yīng)的unix時(shí)間戳。
具體來(lái)說(shuō),plc時(shí)間轉(zhuǎn)換為unix時(shí)間的方法為:
1.獲取plc計(jì)時(shí)器記錄的時(shí)間,采用四種方式:
(1)從plc hmi界面獲取當(dāng)前時(shí)間;
(2)通過(guò)plc自帶的計(jì)時(shí)器獲取當(dāng)前時(shí)間;
(3)從外部時(shí)鐘模塊獲取當(dāng)前時(shí)間;
(4)通過(guò)plc中的c語(yǔ)言或者圖形化編程語(yǔ)言來(lái)獲取當(dāng)前時(shí)間。
2.將獲取到的當(dāng)前時(shí)間轉(zhuǎn)換為距離1970年1月1日的毫秒數(shù),具體的計(jì)算方法如下:
(當(dāng)前時(shí)間 - 1970年1月1日00:00:00)× 1000
3.將計(jì)算出的距離1970年的毫秒數(shù)除以1000,即可得到對(duì)應(yīng)的unix時(shí)間戳。
通過(guò)將plc時(shí)間轉(zhuǎn)換為unix時(shí)間,再進(jìn)行網(wǎng)絡(luò)同步比較,可以很方便地實(shí)現(xiàn)設(shè)備之間的時(shí)間同步。這種方法不僅能夠提高設(shè)備協(xié)同工作的效率,還能夠避免不同設(shè)備之間的時(shí)間誤差,從而提高生產(chǎn)效率和生產(chǎn)質(zhì)量。