ABB_800xA學習筆記314:做一個實際的練習1

来自金沙江的小鱼發表於2024-10-06

國慶節懶了幾天盡去玩了,沒有學習。我把前段時間在新浪部落格記錄的內容轉發在這裡,那裡把訪問量清零後還沒有恢復。

原文地址:ABB_800xA學習筆記314:做一個實際的練習1_來自金沙江的小魚_新浪部落格 (sina.com.cn)

很久沒有學習ABB 800xA了,現場有一套800xA的裝置,如果出了問題還是得區處理,因此不能放下。這次是在虛擬機器下,使用software來做練習,題目是根據官方文件3BSE041880-600_A_en_System_800xA_Control_6.0_AC_800M_Getting_Started 中的例子來做的。

該例子是假設一個商場有光電感應的自動門,有顧客到來的時候,自動門開啟,門由兩個電機驅動,5秒鐘後,門自動關閉,要統計自動門開關次數和顧客人數,門開關到一定次數就需要維護,做完維護門開關次數清零,重新計數。顧客人數也可以清零重置。
假設800xA執行環境已經搭建好,也做了基本配置,前面的準備工作見下面的連結。需要有授權,不然專案無法建立,後續也無法進行。
作業系統準備篇:
虛擬機器安裝ABB800XA-作業系統準備篇_來自金沙江的小魚_新浪部落格 (sina.com.cn)
abb 800xA安裝方法見下面的連結:
虛擬機器安裝ABB800XA-實際進度篇_來自金沙江的小魚_新浪部落格 (sina.com.cn)
基本配置見下面的連結
ABB80XA學習筆記03:基本配置_來自金沙江的小魚_新浪部落格 (sina.com.cn)
專案名字叫做mydoors,有下面的變數,變數建立方法在後面記錄:
photo_cell 光電開關訊號,bool型別
motor1 馬達1動作變數,bool型別
motor2 馬達2動作變數,bool型別
doorsOpen_time 門保持開啟時間,time型別
doorsOpen_ET 門開啟後距離關上的時間,time型別
openings_total 兩次維修之間門允許開啟次數,雙整型
openings_freq 距離上次維修門已經開啟的次數,雙整型
serviced 門是否做了維修,bool型別
customers_qty 顧客人數,雙整型
reset_counter 復位顧客人數,bool型別。
1. 新建一個ABB 800xA專案。
雙擊桌面ABB start menu,開啟視窗如下:

2. 點選選單file-new project,或者點選工具欄上新建按鈕,開啟新建專案對話方塊。選擇AC800M模板,輸入專案名字mydoors,點選OK按鈕,這裡不需要設定環境,由於授權不夠,選擇了環境也沒用.

可以在下方訊息框看到載入各種庫的過程

3. 載入完成後,可以看到庫、應用、控制器的基本框架形成了。

4. 開始建立邏輯。展開Application_1,找到下一級的Diagrams,預設有3個,在第2個Diagrams-normal中建立,雙擊開啟它。

預設會顯示變數編輯器。

5. 開始建立變數。在變數編輯器第一行變數名字name欄輸入photo_cell時,沒有響應。此時需要先對專案做保留reserve,確保當然使用者獨享編輯修改權力。“保留”功能透過點選工具欄上reserve按鈕來實現。

點選後會彈出對話方塊,可以看到diagram2勾選上了,你可以對這一次保留操作寫一個註釋,也可以不寫,點選OK按鈕,關閉對話方塊。

對diagram2保留之後,可以看到專案樹形目錄上,diagram2前面打勾了。

關閉剛才開啟的diagram2的變數編輯器,再次開啟它(不關掉的話,編輯器還保留著非保留獨佔的狀態,無法編輯),在第一行建立photo_cell變數

寫變數型別時,如果不知道資料型別名字寫法,可以選中data type欄,按下ctrl+J組合鍵,可以顯示資料型別列表。描述一欄寫對這個變數的註釋,由於沒有安裝中文輸入法,所以這裡沒有寫中文。

可以透過編輯器一個變數一個變數的建立。也可以在下方程式碼編輯視窗點選滑鼠右鍵,選關聯選單中的new-variable,開啟新建變數對話方塊

可以看到變數編輯器中有兩個變數了。程式碼視窗裡面有剛才新建的變數。

可以點選一下工具欄上的check按鈕,沒有報錯,說明程式碼視窗只有變數,沒有完整邏輯不算出錯。

知道這兩種變數建立方法後,逐個建立其它變數。

可以看到標題欄最後有一個*,表示有了修改,沒有儲存,對其進行儲存。

6. 開始進行控制邏輯編寫

在diagram2的程式碼視窗下方內碼表編號1滑鼠右鍵,選擇rename,也可以選中後按F2,進行重新命名,命名為motors_doors。在程式碼視窗空白處點選滑鼠右鍵,選擇new-object,彈出選擇對話方塊,可以在only show names that contain輸入框輸入你想要新增的物件,隨著輸入字元,可以自動過濾出相關的列表,這裡選擇tof物件,可以寫一個名字,相當於別名,方便理解,點選insert按鈕,然後關閉對話方塊。

可以看到程式碼視窗有了一個tof功能塊,這個塊輸入輸出沒有連線任何變數。

程式碼視窗上方編輯器的功能塊編輯器可以看到剛才新增的tof功能塊,可以對其新增註釋。

透過選單insert-new page,或者程式碼視窗空白處點選滑鼠右鍵,關聯選單選擇pages-add new page,或者快捷鍵ctrl+N,任選一種方法新增新頁面。可以看到程式碼視窗下方現在變成2,表示第2內碼表。

對第2內碼表重新命名為customer_counter_up,插入功能塊CTU,名字為customer_count_up,寫相應註釋資訊。

插入新的內碼表,重新命名為service_on_doors,空白處插入功能塊ctu,命名為service_count_doors,諧相應的註釋。

到這裡功能塊建立完了,檢查一下沒有問題,儲存剛才的內容。

考慮到部落格的篇幅限制,這一篇先寫到這裡,今天也先記錄到這裡。

相關文章