今天這篇文章我們來編寫一個簡單的電機(jī)控制函數(shù)塊,并將其下載到倍福CX5020控制器進(jìn)行測試,以熟悉TwinCAT3環(huán)境下基本的編程步驟。

打開TwinCAT3(TC3),按照上一篇文章《倍福PLC學(xué)習(xí):掃描EtherCAT I/O子站并測試模塊》介紹的內(nèi)容新建工程項(xiàng)目并掃描EtherCAT子站,項(xiàng)目名稱為“motorControl”。
在左側(cè)項(xiàng)目樹的“PLC”節(jié)點(diǎn)下右鍵單擊,選擇“Add new item(添加新內(nèi)容)”,添加新的PLC項(xiàng)目,命名為“CPU1”,如下圖所示:

添加完成后,“CPU1 Project”中會有POUs、GVLs、DUTs等文件夾。其中,POU是程序組織單元,GVL是全局變量列表,UDT是用戶自定義變量。我們計(jì)劃編寫一個電機(jī)控制的函數(shù)塊,因此在“POUs”文件夾右鍵單擊,在彈出的對話框中選擇“添加(Add)”→“POUs”,如下圖所示:

在彈出的“添加POU”對話框中,選擇功能塊(Function Block),命名為motorControl,編程語言選擇ST語言,如下圖所示:

在函數(shù)塊motorControl中聲明變量,其中:
VAR_INPUT是輸入變量,包含電機(jī)啟動 、停止信號;
VAR_OUTPUT是輸出變量,包含輸出信號(線圈);
VAR_STAT是靜態(tài)變量,包含沿信號檢測變量;
如下圖所示(注意變量不區(qū)分大小寫):

編寫代碼如下圖所示:

為了分配參數(shù),我們新建全局變量列表:GVL1,并添加變量如下圖所示:

接下來要在主函數(shù)(MAIN)中調(diào)用電機(jī)控制函數(shù)塊。首先在變量列表中聲明motorControl的實(shí)例,命名為“motorControl1”,編寫控制代碼如下圖所示:

單擊工具欄“Build”→“Build CPU1”編譯PLC程序。
單擊工具欄“PLC”→“Download”下載PLC程序。
單擊工具欄“PLC”→“Login”登錄到在線狀態(tài),或者工具欄的快捷按鈕,如下圖所示:


如果PLC處于未運(yùn)行狀態(tài),單擊“Start(啟動)”使其運(yùn)行。本例程為了給出電機(jī)啟動信號,我們將全局變量“startBtn1”的“Prepared Value”設(shè)置為“TRUE”,并單擊工具欄“Write Values”按鈕將該值寫入到PLC中,如下圖所示:

此時可以看到主程序MAIN中電機(jī)輸出信號為TRUE,如下圖所示:

如果想讓函數(shù)輸出對應(yīng)到實(shí)際的輸出模塊,在“CPU 1 instance”→“PLCTask Outputs”→“GVL1.coilKM”,將其對應(yīng)到“Linked to”指定的輸出模塊即可。

好了,關(guān)于倍福PLC編寫函數(shù)塊及簡單調(diào)試就先介紹到這里。
-
控制器
+關(guān)注
關(guān)注
114文章
17095瀏覽量
184133 -
電機(jī)控制
+關(guān)注
關(guān)注
3573文章
1962瀏覽量
271980 -
函數(shù)
+關(guān)注
關(guān)注
3文章
4379瀏覽量
64804 -
cx5020
+關(guān)注
關(guān)注
0文章
2瀏覽量
1782
發(fā)布評論請先 登錄
基于FPGA創(chuàng)建一個簡單的電機(jī)控制程序

如何查看及更改函數(shù)/函數(shù)塊的調(diào)用環(huán)境

介紹一個使用SCL語言編寫的電機(jī)控制函數(shù)塊
如何為Serial.printf() 編寫一個簡單的包裝函數(shù)?
使用SCL函數(shù)塊編寫計(jì)算保質(zhì)期的應(yīng)用程序
伺服電機(jī)最簡單的控制方法

分享一個使用SCL語言編寫的電機(jī)星三角啟動的函數(shù)塊
一個簡單的線激光控制電機(jī)驅(qū)動電路分享

PWM輸出控制電機(jī)

python如何定義一個函數(shù)
我們應(yīng)如何查看某一次函數(shù)塊調(diào)用時的內(nèi)部變量呢?

評論