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