0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

如何使用TwinCAT3內(nèi)部的函數(shù)來獲取系統(tǒng)時間?

jf_61nrsJTz ? 來源:方正智芯 ? 作者:方正智芯 ? 2023-03-07 09:56 ? 次閱讀

今天這篇文章,我們來介紹下如何使用TwinCAT3內(nèi)部的函數(shù)來獲取系統(tǒng)時間。

打開TwinCAT3(以下簡稱TC3)并新建項目,在項目樹的“PLC”中添加標準PLC,命名為“CPU1”。默認情況下,“References(引用)”中會添加標準庫“Tc2_Standard”、“Tc2_System”和“Tc3_Module”,如下圖所示:

ab62c404-bc6e-11ed-bfe3-dac502259ad0.png

Tc2_System庫中也有時間相關(guān)的函數(shù),比如F_GetSystemTime,它返回一個時間戳。雖然它可也可以轉(zhuǎn)換成年-月-日的形式,但是本文暫時不介紹該函數(shù),我們使用另外一個庫中的函數(shù)。

為了獲取系統(tǒng)時間,我們添加一個庫文件。在“References(引用)”右鍵單擊,選擇“Add libaray(添加庫)”,在彈出對話框的頂部搜索框中輸入“tc2_u”進行搜索,找到“Tc2_Utilites”,單擊“OK”按鈕將其添加到“References(引用)”中,如下圖所示:

ab764e7a-bc6e-11ed-bfe3-dac502259ad0.png

在Main中聲明函數(shù)getSystemTime(TC3中所有函數(shù)/函數(shù)塊都必須先聲明才能使用)

getSystemTime:NT_GetTime;

如下圖所示:

ab858a70-bc6e-11ed-bfe3-dac502259ad0.png

這里的“NT_GetTime”是“Tc2_Utilites”庫中的函數(shù),它用來獲取Windows系統(tǒng)的時間,并存儲到一個TIMESTRUCT結(jié)構(gòu)體變量中。由于TC3是基于Windows的自動化技術(shù),因此使用該函數(shù)獲取控制器中Windows操作系統(tǒng)的時間。

在主程序代碼區(qū)按F2可調(diào)出輸入助手(Input assitant)。單擊“Instance Calls”可看到之前聲明的函數(shù)getSystemTime,如下圖所示:

ab922e74-bc6e-11ed-bfe3-dac502259ad0.png

單擊“OK”按鈕會自動添加該函數(shù),如下圖所示:

abac84f4-bc6e-11ed-bfe3-dac502259ad0.png

參數(shù)的定義如下:

NETID:輸入數(shù)據(jù),字符串類型,表示TC3控制器的AmsNetID。如果是在本地運行,該參數(shù)可為空;

START:輸入數(shù)據(jù),布爾類型,上升沿信號啟動函數(shù)執(zhí)行;

TMOUT:輸入數(shù)據(jù),TIME類型,讀取超時的時間設(shè)置值;

BUSY:輸出數(shù)據(jù),布爾類型,1=正在讀??;

ERR:輸出數(shù)據(jù),布爾類型,1=讀取時間發(fā)生錯誤。0=無錯誤;

TIMESTR:輸出數(shù)據(jù),時間結(jié)構(gòu)體(TIMESTRUCT),存放讀取到的時間信息

時間結(jié)構(gòu)體(TIMESTRUCT)的定義如下:

TYPETIMESTRUCT
STRUCT
wYear:WORD;
wMonth:WORD;
wDayOfWeek:WORD;
wDay:WORD;
wHour:WORD;
wMinute:WORD;
wSecond:WORD;
wMilliseconds:WORD;
END_STRUCT
END_TYPE

結(jié)構(gòu)體中各變量的數(shù)據(jù)類型均為字(word),其中:

wYear:年份,取值范圍:1970 ~ 2106;

wMonth:月份,取值范圍:1 ~ 12;

wDayOfWeek:一周的第幾天,取值范圍: 0 ~ 6 (周日 = 0);

wDay: 日份,取值范圍:1 ~ 31;

wHour:小時,取值范圍:0 ~ 23;

wMinute:分鐘,取值范圍:0 ~ 59;

wSecond:秒,取值范圍:0 ~ 59;

wMilliseconds:微秒,取值范圍:0 ~ 999;

主程序編寫代碼如下:

abbf631c-bc6e-11ed-bfe3-dac502259ad0.png

編譯程序,并下載登錄,查看系統(tǒng)時間,如下圖所示:

abd4787e-bc6e-11ed-bfe3-dac502259ad0.png

abe967d4-bc6e-11ed-bfe3-dac502259ad0.png

好了,關(guān)于倍福PLC獲取系統(tǒng)時間的方法就先介紹到這里。


審核編輯:劉清

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 控制器
    +關(guān)注

    關(guān)注

    112

    文章

    15886

    瀏覽量

    175403
  • plc
    plc
    +關(guān)注

    關(guān)注

    5001

    文章

    12948

    瀏覽量

    459280
  • 函數(shù)
    +關(guān)注

    關(guān)注

    3

    文章

    4237

    瀏覽量

    61973
  • TwinCAT3
    +關(guān)注

    關(guān)注

    1

    文章

    9

    瀏覽量

    10763

原文標題:倍福PLC學習:獲取系統(tǒng)時間

文章出處:【微信號:方正智芯,微信公眾號:方正智芯】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    labview通過ADS通訊,能通訊數(shù)組嗎?與TwinCAT3之間

    labview通過ADS通訊,能通訊數(shù)組嗎?與TwinCAT3之間
    發(fā)表于 05-18 16:24

    如何去使用TwinCAT3中SCOPE功能?

    如何去實現(xiàn)一種基于TwinCAT3的伺服電機控制設(shè)計?TwinCAT3的SCOPE功能可同時監(jiān)控多個變量,但我們?nèi)绾翁砑舆@些變量呢?這些變量有哪些呢?
    發(fā)表于 06-28 07:46

    一種倍福TwinCAT3中讀取臺達伺服扭矩

    XML文件添加、IO掃描伺服和變量定義關(guān)聯(lián),參照博客TwinCAT3第三方伺服電機——匯川IS620N使用中所講解的方法,TC3使用第三方伺服方法都是一樣的。本篇文章只講解臺達伺服部分。
    發(fā)表于 06-28 09:23

    TwinCAT3 常見問題4之Delta伺服使能問題

    (ASD-A2-0421-EN伺服驅(qū)動器+ECMA-CW0604SS伺服電機),由于前期用TwinCAT3(3.1.4022.4版本)進行開發(fā),此時PC上安裝的是TC31-Full-Setup.3.1.4022.2.exe,CX控制器上安裝的TC31-XAR-Setup.3.1.4022.2.exe,前期工作正常。
    發(fā)表于 06-28 06:01

    倍福TwinCAT(貝福Beckhoff)基礎(chǔ)教程 TwinCAT安裝配置

    由于TC2和TC3都有可能用到,個人推薦都安裝,但是注意必須是先安裝的TwinCAT2,然后安裝TwinCAT3,如果反了可能兩個都沒法用(打開TcSwitchRuntime提示Both
    發(fā)表于 07-02 07:29

    請問如何基于TwinCAT3實現(xiàn)伺服電機控制?

    請問如何基于TwinCAT3實現(xiàn)伺服電機控制?
    發(fā)表于 09-26 09:09

    TwinCAT3怎么才能實時讀出電機的力矩值?

    TwinCAT3怎么才能實時讀出電機的力矩值?
    發(fā)表于 09-26 06:09

    如何利用TwinCAT3實現(xiàn)伺服電機的控制?

    TwinCAT3中的SCOPE怎么使用?如何利用TwinCAT3實現(xiàn)伺服電機的控制?
    發(fā)表于 09-27 06:33

    如何去安裝TwinCAT2與TwinCAT3

    如何去安裝TwinCAT2與TwinCAT3
    發(fā)表于 10-08 08:23

    請問倍福TwinCAT3是如何讀取臺達伺服扭矩的?

    請問倍福TwinCAT3是如何讀取臺達伺服扭矩的?
    發(fā)表于 10-13 07:50

    使用TwinCAT3實現(xiàn)高級測量數(shù)據(jù)處理

      TwinCAT3軟件的CX5140嵌入式控制器、TwinCAT狀態(tài)監(jiān)測軟件庫和EtherCAT端子模塊構(gòu)成的控制平臺基礎(chǔ)上開發(fā)TAR9964狀態(tài)監(jiān)測系統(tǒng)。
    發(fā)表于 09-25 14:47 ?4次下載

    TwinCAT3的入門教程詳細說明

    TwinCAT3 是基于 PC 的控制軟件并且它開啟了一個新的時代,是倍福公司歷史上又一個里程碑。特別是在高效的工程領(lǐng)域中 TwinCAT3 將模塊化思想以及其靈活的軟件架構(gòu),融入到整個平臺。幾乎
    發(fā)表于 02-27 08:00 ?0次下載

    TwinCAT 3運動控制教程Version 1.0

    TwinCAT3 是基于 PC 的控制軟件并且它開啟了一個新的時代,是倍福公司歷史上又一 個里程碑。 特別是在高效的工程領(lǐng)域中TwinCAT3將模塊化思想以及其靈活的軟件架構(gòu),融入到整 個平臺
    發(fā)表于 11-17 15:33 ?3次下載

    如何基于TwinCAT3實現(xiàn)伺服電機控制

    先說一下硬件,伺服電機采用定制的關(guān)節(jié)無框力矩電機,帶力矩傳感器,EtherCAT通訊,想用在康復機器人上做運動控制研究 如果軟件配置完畢,重啟后右下角應(yīng)該有一個綠色的齒輪圖標,這個代表TwinCAT3已經(jīng)啟動了,而在配置模式下則會變?yōu)樗{色。
    發(fā)表于 05-06 11:32 ?4次下載
    如何基于<b class='flag-5'>TwinCAT3</b>實現(xiàn)伺服電機控制

    如何基于TwinCAT3實現(xiàn)伺服電機控制(二)

    我的伺服電機在定制時就加上了力矩傳感器,雖然已經(jīng)集成好了,但我怎么才能實時讀出力矩值呢?這個就需要用到TwinCAT3的讀寫數(shù)字量模擬量輸入輸出功能。我們找到I/O目錄下的Drive,選項卡切
    發(fā)表于 05-06 11:44 ?0次下載
    如何基于<b class='flag-5'>TwinCAT3</b>實現(xiàn)伺服電機控制(二)