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

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

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

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

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

編寫(xiě)代碼如下圖所示:

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

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

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


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

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

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

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

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

介紹一個(gè)使用SCL語(yǔ)言編寫(xiě)的電機(jī)控制函數(shù)塊
如何為Serial.printf() 編寫(xiě)一個(gè)簡(jiǎn)單的包裝函數(shù)?
一個(gè)簡(jiǎn)單的組合邏輯編寫(xiě)
使用SCL函數(shù)塊編寫(xiě)計(jì)算保質(zhì)期的應(yīng)用程序
倍福PLC學(xué)習(xí):編寫(xiě)函數(shù)塊及簡(jiǎn)單調(diào)試
伺服電機(jī)最簡(jiǎn)單的控制方法

分享一個(gè)使用SCL語(yǔ)言編寫(xiě)的電機(jī)星三角啟動(dòng)的函數(shù)塊
一個(gè)簡(jiǎn)單的線激光控制電機(jī)驅(qū)動(dòng)電路分享

PWM輸出控制電機(jī)

QT|編寫(xiě)一個(gè)簡(jiǎn)單的上位機(jī)

如何編寫(xiě)一個(gè)簡(jiǎn)單實(shí)用的氣缸功能塊

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

評(píng)論