一、比較指令
1)比較指令(CMP)
比較源操作數(shù)[S1·]和[S2·]的值,并將比較的結(jié)果送到目標(biāo)操作數(shù)[D·]。
下圖中當(dāng)X0為ON時(shí)將[S1·]K100和[S2·]C20進(jìn)行比較,并將結(jié)果分別保存到M0、M1、M2中。
當(dāng)[S1·]100>[S2·]C20當(dāng)前值時(shí),M0為ON;當(dāng)[S1·]100=[S2·]C20當(dāng)前值時(shí),M1為ON;當(dāng)[S1·]100<[S2·]C20當(dāng)前值時(shí),M2為ON。
2)觸點(diǎn)比較指令
對(duì)兩個(gè)數(shù)值進(jìn)行比較,條件成立時(shí)輸出為ON。比較方式為:/=/>=/<=/<>(不等于)。
下圖表示當(dāng)C1當(dāng)前值>20且C2當(dāng)前值<=30時(shí),Y0為ON。
二、四則運(yùn)算指令
1)加運(yùn)算(ADD )
將源操作數(shù)[S1·]和[S2·]相加,并將結(jié)果保存到目標(biāo)操作數(shù)[D·]。在進(jìn)行32位運(yùn)算時(shí)指定的操作數(shù)為低位,如圖中程序則表示(D101,D100)+(D11,D110)→(D121,D120)。
2)減運(yùn)算(SUB)
用源操作數(shù)[S1·]減去[S2·],并將結(jié)果保存到目標(biāo)操作數(shù)[D·]。32位運(yùn)算的方式與加運(yùn)算相同。
3)乘運(yùn)算(MUL)
將源操作數(shù)[S1·]和[S2·]相乘,并將結(jié)果保存到目標(biāo)操作數(shù)[D·]。
在進(jìn)行16位運(yùn)算時(shí)目標(biāo)操作數(shù)為32位,即(D0)×(D1)→(D5,D4)。
在進(jìn)行32位運(yùn)算時(shí)目標(biāo)操作數(shù)為64位,即(D1,D0)×(D3,D2)→(D7,D6;D5,D4)。
4)除運(yùn)算(DIV)
被除數(shù)[S1·]除以除數(shù)[S2·],并將結(jié)果保存到目標(biāo)操作數(shù)[D·],余數(shù)保存到[D·]的下一個(gè)元件。
在進(jìn)行16位運(yùn)算時(shí)被除數(shù)為(D0),除數(shù)為(D2),商為(D4),余數(shù)為(D5)。
在進(jìn)行32位運(yùn)算時(shí)被除數(shù)為(D1,D0),除數(shù)為(D3,D2)商為(D5,D4)余數(shù)為(D7,D6)。
5)加1和減1指令
使用脈沖執(zhí)行時(shí),每檢測(cè)到執(zhí)行條件的上升沿[D·]會(huì)自動(dòng)加1/減1。
使用連續(xù)執(zhí)行時(shí),則每個(gè)掃描周期加1/減1。
三、區(qū)間復(fù)位指令(ZRST)
將[D1·]和[D2·]指定范圍內(nèi)的元件成批復(fù)位。
[D1·]和[D2·]應(yīng)為同類型元件,[D1·]指定的元件號(hào)應(yīng)小于等于[D2·]指定的元件號(hào)。
下圖程序表示將M500~M599成批復(fù)位。
四、指令運(yùn)用
以《部件分配》項(xiàng)目為例對(duì)上述指令進(jìn)行演示。
1)確定變量表
進(jìn)入項(xiàng)目后,根據(jù)項(xiàng)目要求和仿真動(dòng)畫(huà)確定各個(gè)元件所對(duì)應(yīng)的I/O地址。
|項(xiàng)目要求
仿真動(dòng)畫(huà)
2)編輯程序
程序段1:物件供給按下按鈕PB1且機(jī)器人在原點(diǎn),機(jī)器人供給物件。
程序段2:1號(hào)傳送帶正轉(zhuǎn)旋轉(zhuǎn)旋鈕SW1,1號(hào)傳送帶動(dòng)作。
|程序段3:物件型號(hào)檢測(cè)當(dāng)X3為ON且X2、X1為OFF時(shí),表示物件是小型號(hào),讓輔助繼電器M1為ON并自鎖。當(dāng)X4檢測(cè)到物件放置到位后復(fù)位M1。中型號(hào)與大型號(hào)物件的檢測(cè)原理與其類似。
程序段4:推出機(jī)構(gòu)動(dòng)作控制物件到位檢測(cè)傳感器X10~X12檢測(cè)到物件到達(dá)指定位置后,對(duì)應(yīng)的推出機(jī)構(gòu)動(dòng)作。當(dāng)物件到達(dá)指定數(shù)量后,推出機(jī)構(gòu)不再動(dòng)作。
程序段5:2~4號(hào)輸送帶動(dòng)作控制當(dāng)對(duì)應(yīng)型號(hào)的物件沒(méi)有達(dá)到指定數(shù)量,且物件到位檢測(cè)傳感器X10~X12沒(méi)有檢測(cè)到物件,對(duì)應(yīng)的輸送帶動(dòng)作。當(dāng)對(duì)應(yīng)型號(hào)的物件達(dá)到指定數(shù)量后,無(wú)論物件到位檢測(cè)傳感器X10~X12是否檢測(cè)到物件,所有輸送帶都要?jiǎng)幼鳎瑢⑽锪贤频降叵隆PoSW1為OFF后所有輸送帶停止動(dòng)作。
程序段6:物件計(jì)數(shù)每檢測(cè)到物件放置檢測(cè)傳感器X4~X6的上升沿,對(duì)應(yīng)寄存器就進(jìn)行加1。加1指令輸入方式:INC(空格)D1。
程序段7:比較物件數(shù)量當(dāng)物件未達(dá)到指定數(shù)量時(shí),物件正常輸送與放置;當(dāng)物件到達(dá)指定數(shù)量后,推出機(jī)構(gòu)不動(dòng)作,直接將該物件輸送到地上。比較指令輸入方法:=(空格)D1(空格)K2。
程序段8:復(fù)位寄存器所有動(dòng)作完成后將旋鈕SW1旋轉(zhuǎn)到OFF,并利用區(qū)間復(fù)位指令對(duì)寄存器進(jìn)行復(fù)位,等待開(kāi)始下一次循環(huán)。
程序整體瀏覽