導讀:
我們在項目中編程時,如果單純的使用邏輯指令編寫程序的話有時候難以達到我們的控制要求或者說編程效率比較低。這個時候可以使用功能指令來幫我們厘清編程思路。那么接下來,我們一起以任務的形式編寫一個項目,讓大家掌握功能指令的使用。
一、任務目標
該任務是功能指令應用案例,使用功能指令有助于我們厘清編程思路。特別是對一些步序的劃分,數據的換算等都可以使用功能指令來幫助我們快速編寫程序,本任務要求讀者掌握以下幾個內容。
1.掌握MOVE指令的使用
2.掌握比較指令的使用
3.掌握比較指令對步序類工藝設備的劃分程序編寫
二、任務描述
如圖所示(3-1-1)為液體混合控制示意圖。液體混合控制器上有三個電磁閥(YV1-YV3)和一個攪拌機(M)進行控制。詳細控制要求如下所示:
(1)按下啟動按鈕后,打開閥門A注入A液體,達到低液位感應器后停止注入A液體,穩液位30S后打開閥門B注入B液體。
(2)當到達高液位后關閉閥門B,啟動攪拌機自動對混合液體進行2分鐘的攪拌,攪拌完成后讓混合液體從出料口流出。
(3)等待1分鐘后,混合液流盡,出料口關閉。
(4)按下停止按鈕后,防止液體凝固,必須完成一個周期后才進行停止。
圖3-1-1 液體混合控制
三、相關知識
本案例需要使用的功能指令有MOVE指令和比較指令。案例中其他指令在相關章節中有介紹,在此不再贅述。此處為讀者介紹MOVE指令和比較指令相關知識。
1.移動指令 (MOVE)
MOVE 指令用于將單個數據元素從參數 IN 指定的源地址復制到參數 OUT 指定的目標地址,相關參數如下表:
LAD | 參數 | 數據類型 | 說明 |
EN | BOOL | 允許輸入 | |
ENO | BOOL | 允許輸出 | |
OUT1 | SInt, Int, DInt, USInt, UInt, UDInt, Real, LReal, Byte, Word, DWord, Char, WChar, Array, Struct, DTL, Time, Date, TOD, IEC 數據類型,PLC 數據類型 | 目的地地址 | |
IN | 源數據 |
每點擊“MOVE”指令中的一次,就增加一個輸出端。
用一個例子來說明移動指令 (MOVE)的使用,梯形圖如圖3-1-2所示
圖3-1-2
當I0.0觸點閉合,將“3”這個數值傳送到目的地地址MW0地址中,結果MW0中的地址值為3,即使I0.0觸點斷開,MW0地址中的數值也不會改變,直到再次為MW0地址賦值才會有變化。
2.比較指令
比較指令有等于(CMP==)、不等于(CMP<>)、大于(CMP>)、小于(CMP<)、大于或等于(CMP>=)和小于或等于(CMP<=)。比較指令對輸入操作數1和輸入操作數2進行比較,如果比較結果為真,則邏輯運算結果RLO為“1”,反之則為“0”。“等于”比較指令如下表所示:
LAD | 參數 | 數據類型 | 說明 |
操作數1 | Byte, Word, DWord, SInt, Int, DInt, USInt, UInt, UDInt, Real, LReal, String, WString, Char, Char, Time, Date, TOD, DTL, 常數 | 比較的第一個數值 | |
操作數2 | 比較的第二個數值 |
從指令框的“??>”下拉列表中選擇該指令的數據類型。
用一個例子來說明“等于”比較指令,其他類型的比較指令請讀者自行分析。梯形圖如圖3-1-3所示。
當MW0地址中的數值等于3時,操作數1和操作數2的數值相等,故Q0.0輸出為“1”,反之則為“0”。
圖3-1-3
四、任務實施
本任務的實施步驟主要分為PLC接線、IO地址分配以及程序設計思路,PLC接線圖在此不描述,值得注意的是急停按鈕,外部接是常閉點:
1.IO地址分配
輸入地址 | 說明 | 輸出地址 | 說明 |
I0.0 | 啟動設備 | Q0.0 | 閥門A控制 |
I0.1 | 高液位傳感器 | Q0.1 | 閥門B控制 |
I0.2 | 低液位傳感器 | Q0.2 | 出料閥控制 |
I0.3 | 停止設備 | ||
I0.4 | 急停 |
2. 程序設計思路:程序中步序的劃分
本任務的實施主要使用比較指令劃分步序,可以按照以下方法劃分相關步序:
寄存器地址 | 步序值 | 說明 |
MB1 | 0 | 設備停止步序 |
1 | 閥門A控制步序 | |
2 | 閥門B控制步序 | |
3 | 攪拌機控制步序 | |
4 | 出料閥控制步序 | |
5 | 循環/停止控制步序 |
3.程序設計
五、結語
1.在這個案例中主要使用的是移動指令去改變步序:執行完一步之后,改變MB1寄存器中的值。
2.使用比較指令判斷應該執行哪一個步序,其中相對難理解的是第5步,因為在第5步的時候需要判斷是否按下了停止按鈕,當按下了停止按鈕之后把“0”給到MB1寄存器,需要再次按下啟動才能動作。當沒有按鈕停止按鈕,則自動循環。
-
控制器
+關注
關注
112文章
16332瀏覽量
177813 -
程序
+關注
關注
117文章
3785瀏覽量
81005 -
比較指令
+關注
關注
0文章
7瀏覽量
2153
原文標題:基于S7-1200PLC的液體混合控制案例
文章出處:【微信號:跟我學PLC,微信公眾號:跟我學PLC吧】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論