今天這篇文章我們來編寫一個簡單的電機控制函數塊,并將其下載到倍福CX5020控制器進行測試,以熟悉TwinCAT3環境下基本的編程步驟。
打開TwinCAT3(TC3),按照上一篇文章《倍福PLC學習:掃描EtherCAT I/O子站并測試模塊》介紹的內容新建工程項目并掃描EtherCAT子站,項目名稱為“motorControl”。
在左側項目樹的“PLC”節點下右鍵單擊,選擇“Add new item(添加新內容)”,添加新的PLC項目,命名為“CPU1”,如下圖所示:
添加完成后,“CPU1 Project”中會有POUs、GVLs、DUTs等文件夾。其中,POU是程序組織單元,GVL是全局變量列表,UDT是用戶自定義變量。我們計劃編寫一個電機控制的函數塊,因此在“POUs”文件夾右鍵單擊,在彈出的對話框中選擇“添加(Add)”→“POUs”,如下圖所示:
在彈出的“添加POU”對話框中,選擇功能塊(Function Block),命名為motorControl,編程語言選擇ST語言,如下圖所示:
在函數塊motorControl中聲明變量,其中:
VAR_INPUT是輸入變量,包含電機啟動 、停止信號;
VAR_OUTPUT是輸出變量,包含輸出信號(線圈);
VAR_STAT是靜態變量,包含沿信號檢測變量;
如下圖所示(注意變量不區分大小寫):
編寫代碼如下圖所示:
為了分配參數,我們新建全局變量列表:GVL1,并添加變量如下圖所示:
接下來要在主函數(MAIN)中調用電機控制函數塊。首先在變量列表中聲明motorControl的實例,命名為“motorControl1”,編寫控制代碼如下圖所示:
單擊工具欄“Build”→“Build CPU1”編譯PLC程序。
單擊工具欄“PLC”→“Download”下載PLC程序。
單擊工具欄“PLC”→“Login”登錄到在線狀態,或者工具欄的快捷按鈕,如下圖所示:
如果PLC處于未運行狀態,單擊“Start(啟動)”使其運行。本例程為了給出電機啟動信號,我們將全局變量“startBtn1”的“Prepared Value”設置為“TRUE”,并單擊工具欄“Write Values”按鈕將該值寫入到PLC中,如下圖所示:
此時可以看到主程序MAIN中電機輸出信號為TRUE,如下圖所示:
如果想讓函數輸出對應到實際的輸出模塊,在“CPU 1 instance”→“PLCTask Outputs”→“GVL1.coilKM”,將其對應到“Linked to”指定的輸出模塊即可。
好了,關于倍福PLC編寫函數塊及簡單調試就先介紹到這里。
-
控制器
+關注
關注
112文章
16332瀏覽量
177812 -
電機控制
+關注
關注
3534文章
1876瀏覽量
268750 -
函數
+關注
關注
3文章
4327瀏覽量
62573 -
cx5020
+關注
關注
0文章
2瀏覽量
1709
發布評論請先 登錄
相關推薦
評論