位邏輯指令是PLC編程中最基本、使用最頻繁的指令,按不同的功能和用途具有不同的形式,總的來說可以分為下述幾大類:標準位邏輯指令、置位/復位指令、立即位邏輯指令、其他位邏輯指令。
位邏輯指令分類
標準位邏輯指令包括常開觸點、常閉觸點和輸出線圈指令;置位/復位指令包括置位指令、復位指令、置位優先RS觸發器指令和復位優先RS觸發器指令;立即位邏輯指令包括立即常開或立即常閉觸點指令、立即輸出線圈指令、立即置位指令、立即復位指令,指令中都帶有I標識;其它位邏輯指令包括取反指令、上升沿指令、下降沿指令和空操作指令。
標準位邏輯指令
下面昌暉儀表以起保停控制程序為例來講解一下位邏輯指令的使用。要求編寫起保??刂瞥绦?,即按下瞬動按鈕I0.0啟動電動機Q0.0,按下瞬動按鈕I0.1停止電動機Q0.0。首先,昌暉儀表雙擊桌面上的STEP7-Micro/WIN SMART編程軟件圖標,啟動編程軟件,從指令樹的位邏輯指令選項中選擇一個常開觸點,拖放到程序編輯器的程序段1中,輸入地址I0.0作為啟動觸點,拖動一個常閉觸點與其串聯,輸入地址I0.1作為停止觸點,拖放一個輸出線圈,輸入地址Q0.0作為起保停電路的輸出線圈。
拖放觸點和線圈
在常開觸點I0.0的下方拖放一個Q0.0的常開觸點,單擊工具欄中的插入向上垂直線按鈕與其并聯,作為自鎖觸點,這樣一個簡單的起保??刂瞥绦虻木帉懢屯瓿闪恕>幾g、下載程序到S7-200 SMART。單擊菜單中的下載按鈕,在打開的通信對話框中選擇要訪問的CPU,單擊確定進行下載,下載完成后關閉對話框。
下載程序
昌暉儀表可以在線查看程序的運行情況。單擊PLC菜單下的運行按鈕,運行項目,單擊調試菜單下的程序狀態按鈕,在線觀察程序的執行情況。按下啟動按鈕I0.0,可以看到輸出線圈Q0.0接通,按下停止按鈕I0.1,可以看到輸出線圈Q0.0斷開。
在線查看程序運行
S7-200 SMART邏輯運算指令按照操作類型可以分為四種:取反指令、邏輯與指令、邏輯或指令和邏輯異或指令。如下圖所示,四列對應四種操作類型:
邏輯運算指令按操作類型可分為四種
S7-200 SMART邏輯運算指令按照操作數長度可以分為三種:字節邏輯運算指令、字邏輯運算指令、雙字邏輯運算指令。如下圖所示,三行對應三種操作數長度類型:
邏輯運算指令按操作數長度可分為三種
字節邏輯運算指令是對單字節數據進行邏輯操作,其操作數為八位無符號數。
字節邏輯運算指令
字邏輯運算指令是對字數據進行邏輯操作,其操作數為十六位無符號數。
字邏輯運算指令
雙字邏輯運算指令是對雙字數據進行邏輯操作,其操作數為三十二位無符號數。
雙字邏輯運算指令
下面昌暉儀表來介紹不同操作類型的邏輯運算指令。取反指令將輸入端IN操作數的二進制數逐位取反,并將結果送到輸出端OUT中,例如將VW0中的數據邏輯取反后送到MW10,昌暉儀表可以發現,執行邏輯取反指令后,每一位由0變為1、1變為0。
邏輯取反指令
邏輯與指令將輸入端IN1、IN2兩個操作數的對應位執行“與”運算,并將結果送到輸出端OUT中,例如將VB1、VB2中的數據邏輯與后送到MB0中,昌暉儀表可以發現,執行邏輯與運算指令后,如果兩個操作數的對應位都為1,則運算結果的對應位為1,否則為0。
邏輯與指令
邏輯或指令將輸入端IN1、IN2兩個操作數的對應位執行“或”運算,并將結果送到輸出端OUT中,例如將VB1、VB2中的數據邏輯或后送到MB1中,昌暉儀表可以發現,執行邏輯或運算指令后,如果兩個操作數的對應位都為0,則運算結果的對應位為0,否則為1。
邏輯或指令
邏輯異或指令將輸入端IN1、IN2兩個操作數的對應位執行“異或”運算,并將結果送到輸出端OUT中,例如將VB1、VB2中的數據邏輯異或后送到MB2中,昌暉儀表可以發現,執行邏輯異或運算指令后,如果兩個操作數的對應位不同,則運算結果的對應位為1,否則為0。
邏輯異或指令
下面昌暉儀表將通過一個實例來說明邏輯運算指令在程序中的使用方法。要求將VW2和VW4中的數據進行邏輯與后,送到VW6。首先昌暉儀表雙擊電腦桌面上的STEP7-Micro/WIN SMART圖標,打開編程軟件,從指令樹的位邏輯中選擇一個常開觸點拖放到程序編輯器的程序段1中,輸入地址I0.0,從指令樹邏輯運算指令中選擇字與指令拖放到常開觸點后,在IN1處輸入地址VW2,在IN2處輸入地址VW4,在OUT處輸入地址VW6,這樣一個簡單的邏輯運算指令的應用程序就完成了。
邏輯運算指令應用實例
將應用程序編譯下載到S7-200 SMART PLC。單擊菜單中的下載按鈕,在打開的通信對話框中選擇要訪問的CPU,單擊確定進行下載,下載完成后關閉對話框。查看程序的運行情況,單擊PLC菜單下的運行按鈕,運行項目,單擊調試菜單下的程序狀態按鈕,在線觀察程序的執行情況。在狀態圖表中輸入地址VW2,格式選擇十六進制。選中VW2單元格按回車鍵,地址列自動遞增,添加地址VW4和VW6,格式和上一行相同。
在線觀察程序執行
單擊狀態圖表工具欄中的狀態圖表按鈕,可以看到VW2、VW4和VW6的當前值都為0,在新值列中分別輸入十六進制3456和十六進制00FF,單擊狀態圖表工具欄中的寫入按鈕,則VW2和VW4變為相應的值,而VW6中的值不變。
寫入相應數值
按下I0.0可以看到VW6的值變為十六進制0056,為VW2和VW4邏輯與的結果。
邏輯運算結果