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