廣東西門子S7-1500PLC模塊代理(量大從優(yōu))

西門子S7-200型PLC的暫停指令
STOP為暫停指令,見圖6-251。使能輸入有效時(shí),該指令使主機(jī)CPU的工作方式由RUN切換到STOP方式,從而立即終止用戶程序的執(zhí)行。

圖6-251 暫停指令
STOP指令在梯形圖中以線圈形式編程,指令不含操作數(shù)。STOP和END指令在程序中通常用來對突發(fā)緊急事件進(jìn)行處理,可以有效避免實(shí)際生產(chǎn)中的重大損失。
STOP指令可以用在主程序、子程式序和中斷程序中。如果在中斷程序中執(zhí)行STOP指令,則中斷處理立即終止,并忽略所有掛起的中斷,繼續(xù)向前掃描程序的剩余部分。本周期結(jié)束,將主機(jī)CPU的工作方式由RUN切換到STOP方式。
指令格式:STOP(無操作數(shù))。
結(jié)束指令有兩條:END和MEND。兩條指令在梯形圖中以線圈形式編程。指令不含操作數(shù)。結(jié)束指令的執(zhí)行不考慮對特殊標(biāo)志寄存器位和“能流”的影響。
END為條件結(jié)束指令,見圖6-250。使能輸入有效時(shí),終止用戶主程序。
MEND為無條件結(jié)束指令。無條件終止用戶程序的執(zhí)行,返回主程序的*條指令。
注意:可以利用程序執(zhí)行的結(jié)果狀態(tài)、系統(tǒng)狀態(tài)或外部設(shè)置切換條件來調(diào)用條件結(jié)束指令,使程序結(jié)束。
結(jié)束指令只能用在主程序中,不能在子程序和中斷程序中使用。END指令通常用在主程序的內(nèi)部,MEND用在程序的結(jié)束。
用Micro/Win32編程時(shí),編程人員不需手工輸入MEND指令,而是由軟件自動(dòng)加在主程序結(jié)尾。指令格式:MEND(無操作數(shù))。
圖6-250 結(jié)束指令
NOP為空操作指令,見圖6-248。使能輸入有效時(shí),執(zhí)行空操作指令。空操作指令不影響用戶程序的執(zhí)行,操作數(shù)N是標(biāo)號,是一個(gè)0~255的常數(shù)。
NOP指令對運(yùn)算結(jié)果及程序執(zhí)行無影響,但略微增加了程序容量,因而程序掃描的周期也略微延長。使用NOP指令主要是為方便對程序檢查及修改。
指令格式:NOP N
例:NOP 30
程序見圖6-249。
圖6-248 空操作指令
圖6-249 空操作指令程序
(1)整數(shù)與BCD碼的轉(zhuǎn)換
IBCD指令將輸入的整數(shù)(IN)轉(zhuǎn)換為BCD碼,并將結(jié)果送入OUT的變量中。IN的范圍是整數(shù)0~9999。
(2)四舍五入取整指令
四舍五入取整(ROUND)指令將實(shí)數(shù)(IN)轉(zhuǎn)換成雙字整數(shù)后送入OUT的變量中。如果小數(shù)部分大于等于0.5,整數(shù)部分加1,小數(shù)部分刪除。
(3)段譯碼指令
段( Segment)譯碼指令SEG根據(jù)輸入字節(jié)(IN)低4位確定的十六進(jìn)制數(shù)(16#0~F)產(chǎn)生點(diǎn)亮7段顯示器各段的代碼,并送到輸出字節(jié)OUT。圖6-247中7段顯示器的D0~D6段分別對應(yīng)于輸出字節(jié)的低位(第0位~第6位),某段點(diǎn)亮?xí)r輸出字節(jié)中對應(yīng)的位為1,反之為0。例如顯示數(shù)字“1”時(shí),僅D1和D2為1,其余位為0。
圖6-247 段譯碼指令
移位寄存器指令SHR_ B將DATA端輸入的數(shù)值移入移位寄存器。S_BIT移位寄存器的低位,N移位寄存器的長度和移位方向,正向移位時(shí)N為正,反向移位時(shí)N為負(fù),字節(jié)型變量N= -64~+64。N為正時(shí),在數(shù)字量輸入(EN)的上升沿時(shí),寄存器中的各位由低位向高位移一位,DATA輸入的二進(jìn)制數(shù)從低位移入,高位數(shù)被移到溢出位。N為負(fù)時(shí),從高位移入,低位移出。DATA和S_BIT為BOOL變量。移位寄存器指令見圖6-246。

圖6-246 移位寄存器指令
字節(jié)循環(huán)右移位指令ROR_B和字節(jié)循環(huán)左移位指令ROL_B將輸入的字節(jié)(IN)的數(shù)值向右或向左循環(huán)移N位,并將結(jié)果裝入輸出字節(jié)(OUT)。移位次數(shù)N為字節(jié)變量,如果N≥8,執(zhí)行循環(huán)之前先對N進(jìn)行模8操作(N除以8后取余數(shù)),因此實(shí)際移位次數(shù)在0~7之間。如果N為8的整倍數(shù),則不進(jìn)行循環(huán)移位操作。
字循環(huán)右移位指令ROR_W和字循環(huán)左移位指令ROL_W將輸入字(IN)的數(shù)值向右或向左循環(huán)侈N位,并將結(jié)果裝入輸出字(OUT)。如果移位次數(shù)N≥16,執(zhí)行循環(huán)之前先對N進(jìn)行模16操作(N除以16后取余數(shù)),因此實(shí)際移位次數(shù)在0~ 15之間。如果N為16的整倍數(shù),則不進(jìn)行循環(huán)移位操作。
廣東西門子S7-1500PLC模塊代理(量大從優(yōu))