本文目錄
0 前言
組態開發可以說是PLC控製中不可或缺的一部分,堪稱PLC的靈魂之一。對於(yu) 組態(Configuration)這個(ge) 詞,也不知道當時是怎麽(me) 翻譯的,個(ge) 人粗淺的理解就是:組態實際上就是機器運行的狀態,所以組態程序需要實現的功能就是采集工業(ye) 現場運行的數據,能夠監視機器運行狀態(並做出報警等操作),同時提供一些控製接口給工業(ye) 操作人員。其實質上就是工廠中使用的上位機。
這裏使用的組態軟件是國內(nei) 比較流行的國產(chan) 軟件——組態王KingView,搭配OMRON NX1P係列PLC(實驗室的配置)
1 前期教程
- NX1P入門教程
2 軟件下載與安裝
安裝軟件肯定首選官網——https://www.kingview.com/,然後找到下載中心中的軟件下載。
然後找到組態王7.5(據說這個(ge) 版本之後就不再更新了),點擊下載。
安裝的時候,如果沒什麽(me) 特別的需求,安裝這兩(liang) 個(ge) 即可:
這個(ge) 軟件如果不購買(mai) 授權每次隻有兩(liang) 小時的使用時間,且每次重新進入軟件都可以刷新時長,對於(yu) 學習(xi) 使用來說基本足夠。
3 新建工程
安裝好軟件之後,接下來就可以建立一個(ge) 工程,為(wei) 方便起見,如果與(yu) 之配套的PLC隻有一種型號,建議先建立一個(ge) 工程模板,這樣其他工程隻需要複製該模板即可。
首先打開工程管理器,可以看到此時軟件自帶了兩(liang) 個(ge) Demo,可以打開學習(xi) 一下。新建工程時,點擊工具欄按鈕“新建”,然後選擇工程所在路徑及工程對應的名稱,建立完工程之後,就可以在列表中看到建立的工程“Test”,如下圖所示。
然後選中該工程,點擊工具欄按鈕“開發”,此時會(hui) 提示是否將該工程設置為(wei) 當前工程,點擊是即可,因為(wei) 開發一個(ge) 工程必須將其設置為(wei) 當前工程,標誌就是列表左側(ce) 有一個(ge) 小旗幟。
點擊開發之後,會(hui) 彈出一個(ge) 授權配置的窗口,如下圖所示。如果沒有特殊需求,選擇演示模式即可,也不要白費力氣去找破解版了,一個(ge) 是找不到(我試過),一個(ge) 是沒有必要,因為(wei) 除了時長外無授權模式沒有任何限製功能。
進入開發係統之後,主要使用的功能就是左側(ce) 那一列按鈕,但是如果隻是入門的話,其實會(hui) 使用到的比較少,如下圖所示。
其中,紅色方框圈出來的比較常用,下麵將分別介紹
4 常用功能介紹
4.1 添加設備
建立一個(ge) 組態工程,首先需要添加一個(ge) 設備(或者多個(ge) ),主要用於(yu) 為(wei) 這個(ge) 組態工程提供數據和變量支持。或者說就是組態軟件需要交互的PLC設備。
添加設備時,單擊COM1或COM2,然後點擊右邊出現的新建按鈕,即可添加設備。
需要注意的是,在添加設備前,需要設置串口格式。雙擊COM1或COM2,會(hui) 彈出一個(ge) 串口格式設置的窗口,建議和所使用的設備串口格式一致。
4.2 數據詞典
數據詞典集合了整個(ge) 組態工程所使用到的變量,包括內(nei) 部變量和外部變量。新建一個(ge) 變量時,首先點擊數據詞典進入變量列表,然後雙擊新建,如下圖所示。
需要注意的是,這裏的變量類型分為(wei) 內(nei) 存變量和IO變量,內(nei) 存變量即組態王軟件內(nei) 部的變量,而IO變量即是和外部設備(如PLC)交互的變量,因此,如果定義(yi) IO變量,則需要指定連接設備、寄存器和數據類型(PLC中的數據類型),如下圖所示。
補充一點:對於(yu) NX1P來說,寄存器的格式為(wei) “REGxxx”,其中,xxx為(wei) 變量在PLC中的名字,且該變量要設置為(wei) 網絡公開(通過Ethernet進行變量交互)
4.3 命令語言
所謂命令語言,即是組態王運行期間所執行的程序。其語法和C語言差不多,對於(yu) 已掌握C語言的人來說上手非常簡單。點開命令語言的加號,可以看到有多種命令語言,但常用的主要是兩(liang) 種:應用程序命令語言和自定義(yi) 函數命令語言,如下圖所示。
這兩(liang) 者的關(guan) 係可以理解為(wei) 一個(ge) 是主程序,一個(ge) 是供調用的自定義(yi) 函數。
進入命令程序語言,可以看到有三個(ge) 選項和一個(ge) 時間,如下圖所示。
不難理解,啟動時就是初始化時執行的程序,運行時就相當於(yu) 是while(1)死循環中執行的程序,而每3000毫秒即是程序每個(ge) 循環之後延時的時間,這個(ge) 值必須大於(yu) 等於(yu) 55。如果覺得字體(ti) 難看,還可以點擊上麵那個(ge) “字”,來修改字體(ti) 。
此外,還需要提一下自定義(yi) 函數命令語言。
如上圖所示,自定義(yi) 函數時,返回值類型隻能為(wei) VOID,LONG,FLOAT,BOOL,STRING,同樣,參數類型也隻能支持這幾種!!! 雖然在數據詞典中定義(yi) 變量時可以定義(yi) INT類型的數據,但是自定義(yi) 函數卻不允許。另外,函數的參數名及函數中出現的變量名都不能和數據詞典中的變量相衝(chong) 突!!! 這裏不區分局部變量和全局變量!!!
4.4 畫麵
所謂畫麵,就是在組態王運行起來時顯示的界麵,可以有多個(ge) 畫麵。在點擊畫麵,再點擊右邊的新建,即可得到一個(ge) 畫麵。一般隻需要增加畫麵名稱即可。
這個(ge) 窗口還可以在建立完畫麵之後在畫麵右鍵,然後點擊畫麵屬性打開。
值得一提的是,每個(ge) 畫麵也可以添加命令語言,在屬性界麵,點擊命令語言,即可進入到和上麵命令語言相似的界麵。
這個(ge) 命令語言和上麵的那個(ge) 的區別隻在於(yu) 這個(ge) 命令語言隻在本畫麵運行期間執行,如果工程中隻有一個(ge) 畫麵的話,那兩(liang) 者基本沒有區別。
建立好畫麵之後,接下來就是利用工具箱和圖庫來設計畫麵,其中圖庫可以按F2打開;工具箱可以用F10切換隱藏或顯示。
設計好畫麵後,點擊畫麵菜單欄“文件”,選擇“全部存”和“切換到View”。即可運行。
補充:對於(yu) NX1P來說,運行組態前要打開Sysmac Gateway。
4.5 設置運行係統
畫麵建立完畢後,每次運行(切換到View)時還需要打開畫麵,比較麻煩。這裏可以在設置運行係統中選擇默認打開的主畫麵。
此外,“特殊”頁麵中還可以設置運行係統的基準頻率和時間變量更新頻率,如下圖所示。
對於(yu) 這個(ge) 設置我試過好像影響不大,所以個(ge) 人不建議修改這個(ge) 設置,保持默認即可。
不過與(yu) 之有關(guan) 的是數據詞典中定義(yi) 變量時設置的更新頻率,建議修改得高一點。
4.6 總結
根據上麵的表述,可以將組態設計的過程總結為(wei) 下圖:
5 畫麵設計【重點!】
根據以上表述,可以看出,一個(ge) 組態工程的關(guan) 鍵就在於(yu) 畫麵的設計,即能夠顯示的東(dong) 西。因此下麵將挑一些常用的功能進行講述。【這一部分也會(hui) 隨著學習(xi) 不斷更新】
5.1 指示燈
首先在圖庫中添加一個(ge) 指示燈
然後雙擊即可添加其關(guan) 聯的變量
5.2 動畫連接
所謂動畫連接,即是能讓一些控件實現動畫顯示,而不再是靜態的。進入動畫連接最簡單的方式就是雙擊控件,但有些控件得到的缺是和上麵指示燈類似的界麵,即隻需要關(guan) 聯一個(ge) 變量即可。動畫連接設置如下圖所示。
可以發現,對於(yu) 不同的控件,其動畫連接中可以選的屬性也不同,比如上麵這個(ge) 是一個(ge) 矩形方塊,因此有水平、垂直移動,而如果是管道,則可以添加流動屬性,如果是文本,可以添加模擬值輸出的屬性。
下麵以水平和垂直移動為(wei) 例來演示動畫連接的使用方法。點擊水平移動連接,得到下圖
這幾個(ge) 選項的意思是:表達式對應值為(wei) “最左邊”(0)時,那麽(me) 該方塊在當前位置向左移動0;表達式對應值為(wei) “最右邊”(100)時,該方塊在當前位置向右移動100個(ge) 像素;如果表達式的值介於(yu) 兩(liang) 者直接,則用線性比例確定(類似於(yu) map函數);如果表達式的值小於(yu) 0或大於(yu) 100,方塊仍處於(yu) 最左邊和最右邊,相當於(yu) 限位。
5.3 實時趨勢曲線
5.4 XY曲線控件
用於(yu) 顯示任意兩(liang) 個(ge) 變量之間的關(guan) 係曲線。
具體(ti) 使用方法可以參考下麵的參考鏈接。
6 其他問題
6.1 變量無法刪除?
之前編輯一個(ge) 工程時,發現刪除一個(ge) 變量時,提示該變量正在使用,然後我去畫麵中刪掉和它相關(guan) 的代碼和控件後,再刪除變量發現仍然報相同的錯誤,最後找到原因:沒有更新變量。
首先關(guan) 閉正在編輯的畫麵,如下圖所示。
然後回到主界麵,在菜單欄中選擇“工具”,點擊更新變量計數,如下圖所示,這樣即可更新變量,然後再刪除未使用的變量就不會(hui) 報錯了。