西門子: | 西門子代理商 |
西門子CPU: | 西門子plc |
德國(guó): | 全新原裝 |
單價(jià): | 888.00元/臺(tái) |
發(fā)貨期限: | 自買家付款之日起 天內(nèi)發(fā)貨 |
所在地: | 直轄市 上海 上海松江 |
有效期至: | 長(zhǎng)期有效 |
發(fā)布時(shí)間: | 2023-12-13 17:51 |
最后更新: | 2023-12-13 17:51 |
瀏覽次數(shù): | 71 |
采購(gòu)咨詢: |
請(qǐng)賣家聯(lián)系我
|
西門子CPU1211C代理商西門子中國(guó)總代理 西門子授權(quán)代理商
西門子CPU1211C代理商西門子中國(guó)總代理 西門子授權(quán)代理商
西門子CPU1211C代理商西門子中國(guó)總代理 西門子授權(quán)代理商
?功能指令概述
??為了滿足用戶的一些特殊要求,從20世紀(jì)80年代開始,眾多的PLC制造商就在小型機(jī)上加入了功能指令(Functional Instruction)或稱應(yīng)用指令(Applied Instruction)。這些功能指令的出現(xiàn),大大拓寬了PLC的應(yīng)用范圍。本章主要介紹西門子S7-200系列 PLC的功能指令。
??S7-200系列PLC的功能指令極其豐富,主要包括以下幾方面:
??(1)算術(shù)與邏輯運(yùn)算指令;
??(2)傳送、移位、循環(huán)移位及填充指令;
??(3)PID指令;
??(4)FOR/NEXT 循環(huán)指令;
??(5)數(shù)據(jù)表處理指令;
??(6)高速處理指令;
??(7)轉(zhuǎn)換指令;
??(8)中斷指令;
??(9)通信指令;
??(10)實(shí)時(shí)時(shí)鐘。
??本章介紹功能指令以梯形圖、功能塊圖和語(yǔ)句表3種形式表示。操作數(shù)表列出每個(gè)指令的操作數(shù)和有效的數(shù)據(jù)類型。
??對(duì)于梯形圖:EN和ENO是能流并且是布爾數(shù)據(jù)類型。
??對(duì)于功能塊圖表:EN和ENO是I、Q、V、M、SM、S、T、C、L或能流并且是布爾數(shù)據(jù)類型。
??EN/ENO的操作數(shù)和數(shù)據(jù)類型沒(méi)有顯示在指令操作數(shù)表中,因?yàn)镋N/ENO的操作數(shù)對(duì)于所有梯形圖和功能塊圖表指令是相同的。
??四則運(yùn)算指令及加1/減1指令
??四則運(yùn)算指令
??S7-200系列 PLC可進(jìn)行相同位數(shù)的各種數(shù)據(jù)類型的加、減、乘、除四則運(yùn)算,它們的指令格式相同。對(duì)四則運(yùn)算指令來(lái)說(shuō),IN1、IN2 是指令所要求的操作數(shù):OUT 是指令執(zhí)行結(jié)果的存放單元地址。
??1.加法指令
??加法指令是把兩個(gè)輸入端IN1、N2指定的數(shù)相加,結(jié)果送到輸出端OUT指定的存儲(chǔ)單元中。加法指令可分為整數(shù)指令、雙整數(shù)指令、實(shí)數(shù)加法指令。加法指令如圖5-1所示。它們各自對(duì)應(yīng)的操作數(shù)數(shù)據(jù)類型分別是有符號(hào)整數(shù)(INT)、有符號(hào)雙整數(shù)(DINT)、實(shí)數(shù)(REAL)。
??執(zhí)行加法操作時(shí),操作數(shù)IN2與OUT共用一個(gè)地址單元,因而,在語(yǔ)句表中IN1 OUT=OUT。
??2.減法指令
??減法指令是把兩個(gè)輸入端IN1、IN2指定的數(shù)相減,結(jié)果送到輸出端OUT指定的存儲(chǔ)單元中。減法指令可分為整數(shù)指令、雙整數(shù)指令和實(shí)數(shù)減法指令。減法指令如圖5-2所示。它們各自對(duì)應(yīng)的操作數(shù)數(shù)據(jù)類型分別是有符號(hào)整數(shù)、有符號(hào)雙整數(shù)、實(shí)數(shù)。
??執(zhí)行減法操作時(shí),操作數(shù)IN1與OUT共用一個(gè)地址單元,因而,在語(yǔ)句表中OUTIN2=OUT。
??3.乘法指令
??乘法指令是把兩個(gè)輸入端IN1、IN2指定的數(shù)相乘,結(jié)果送到輸出端OUT指定的存儲(chǔ)單元中。乘法指令可分為整數(shù)、雙整數(shù)、實(shí)數(shù)乘法指令和整數(shù)完全乘法指令。乘法指令如圖5-3所示。前3種指令各自對(duì)應(yīng)的操作數(shù)數(shù)據(jù)類型分別是有符號(hào)整數(shù)、有符號(hào)雙整數(shù)、實(shí)數(shù)。整數(shù)完全乘法指令是把輸入端IN1、IN2指定的兩個(gè)16 位整數(shù)相乘,產(chǎn)生一個(gè)32位乘積,并送到輸出端OUT指定的存儲(chǔ)單元中去。
??執(zhí)行乘法操作時(shí),操作數(shù)IN2與OUT共用一個(gè)地址單元(整數(shù)完全乘法指令的IN2與OUT的低16位用的是同地址單元),因而在語(yǔ)句表中IN1*OUT=OUT。
??加法、減法、乘法指令影響的特殊存儲(chǔ)器位:SM1.0(零)、SM1.1(溢出)、SM1.2(負(fù))。
??4.除法指令
??除法指令是把兩個(gè)輸入端IN1、IN2指定的數(shù)相除,結(jié)果送到輸出端OUT指定的存儲(chǔ)單元中。除法指令可分為整數(shù)、雙整數(shù)、實(shí)數(shù)除法指令和整數(shù)完全除法指令。除法指令如圖5-4所示。前3種指令各自對(duì)應(yīng)的操作數(shù)數(shù)據(jù)類型分別是有符號(hào)整數(shù)、有符號(hào)雙整數(shù)、實(shí)數(shù)。整數(shù)完全除法指令是把輸入端IN1、IN2指定的兩個(gè)16位整數(shù)相除,產(chǎn)生一個(gè)32位的結(jié)果,并送到輸出端OUT指定的存儲(chǔ)單元中去,其中高16位是余數(shù),低16 位是商。
??執(zhí)行除法操作時(shí),操作數(shù)IN1與OUT共用一個(gè)地址單元(整數(shù)完全除法指令的IN1與OUT的低16位用的是同地址單元),因而,在語(yǔ)句表中OUT/N2=OUT。
??除法指令影響的特殊存儲(chǔ)器位:SM1.0(零)、SM1.1(溢出)、SM1.2(負(fù))、SM1.3(除數(shù)為0)。
??四則運(yùn)算指令的有效操作數(shù)見表5-1。
S7-200/300/400 PLC的四則運(yùn)算指令基本相同,主要是對(duì)兩個(gè)操作數(shù)的加、減、乘、除運(yùn)算、操作數(shù)可以是整數(shù)、雙整數(shù)、浮點(diǎn)數(shù)等。S7-200與S7-300/400PLC的指令格式相似,梯形圖程序格式如圖3-84所示。
??圖3-84 四則運(yùn)算指令程序格式
??(a)S7-200 PLC四則運(yùn)算程序格式(b)S7-300/400 PLC四則運(yùn)算程序格式
??圖中的IN1為四則運(yùn)算中的被加數(shù)、被減數(shù)、被乘數(shù)、被除數(shù);IN2為加數(shù)、減數(shù)、乘數(shù)、除數(shù);OUT 為運(yùn)算結(jié)果存儲(chǔ)器地址。
??從圖3-84中可見,盡管S7-200與S7-300/400PLC的梯形圖指令相同,但從轉(zhuǎn)換后的指令表可以看出兩者在執(zhí)行過(guò)程中存在有差異。
??(1) S7-200 PLC的執(zhí)行過(guò)程如下:
??1) 將操作數(shù)1(被加數(shù)、被減數(shù)、被乘數(shù)、被除數(shù))移動(dòng)到結(jié)果存儲(chǔ)器。
??2) 將結(jié)果存儲(chǔ)器(操作數(shù)1)與操作數(shù)2(加數(shù)、減數(shù)、乘數(shù)、除數(shù))進(jìn)行運(yùn)算,并將運(yùn)算結(jié)果存儲(chǔ)到結(jié)果存儲(chǔ)器中。
??(2) S7-300/400 PLC的執(zhí)行過(guò)程如下:
??1) 將操作數(shù)1(被加數(shù)、被減數(shù)、被乘數(shù)、被除數(shù))讀入到累加器1中。
??2) 將操作數(shù)2(加數(shù)、減數(shù)、乘數(shù)、除數(shù))讀人到累加器1中,原累加器1中的操作數(shù)1移動(dòng)到累加器2中。
??3) 累加器2中的內(nèi)容與累加器1運(yùn)算,運(yùn)算結(jié)果存儲(chǔ)在累加器1中。
??4) 累加器1的運(yùn)算結(jié)果傳送到結(jié)果存儲(chǔ)器中。
??(3) 四則運(yùn)算編程時(shí)應(yīng)注意以下幾點(diǎn):
??1) 在S7-200 PLC中,整數(shù)、雙整數(shù)的運(yùn)算結(jié)果仍然為整數(shù)與雙整數(shù),因此,在程序中應(yīng)注意防止因運(yùn)算結(jié)果溢出而導(dǎo)致的執(zhí)行錯(cuò)誤。
??2) 在S7-200PLC中整數(shù)、雙整數(shù)的除法運(yùn)算DIV_I、DIV_DI指令,以及S7-300/400PLC的DIV_DI 指令,其除法運(yùn)算的結(jié)果不保留余數(shù)。
??3) 對(duì)于S7-200PLC的整數(shù)除法,如果需要余數(shù),可以使用DIV指令。DIV指令要求的輸出存儲(chǔ)器OUT 為32位,執(zhí)行DIV指令后,兩個(gè)整數(shù)的除法運(yùn)算可以得到32位運(yùn)算結(jié)果,輸出存儲(chǔ)器OUT的高16位用于存儲(chǔ)余數(shù),低16位用于存儲(chǔ)商。
??4) S7-200PLC的雙整數(shù)除法無(wú)法保留余數(shù)。
??5) 對(duì)于S7-300/400PLC的整數(shù)除法,可以自動(dòng)生成余數(shù),執(zhí)行DIV_I指令后,累加器1的高16位存儲(chǔ)余數(shù),低16位存儲(chǔ)商。
??6) 對(duì)于S7-300/400 PLC的雙整數(shù)除法,如果需要余數(shù),可以在利用DIV_DI指令求出商后,再使用MOD指令求余數(shù)。執(zhí)行MOD指令后,商被舍去,累加器1存儲(chǔ)余數(shù)。
??7) 除法運(yùn)算的除數(shù)不能為“0”。
??(4) 浮點(diǎn)數(shù)的函數(shù)運(yùn)算。在S7-200/300/400 PLC中,浮點(diǎn)數(shù)可以進(jìn)行函數(shù)運(yùn)算。函數(shù)運(yùn)算包括正弦余弦、正切、平方根、自然對(duì)數(shù)、指數(shù)等運(yùn)算,任S7-300/400PLC中還可以進(jìn)行平方、反正弦、反余弦、反正切、求juedui值等運(yùn)算。
??對(duì)于浮點(diǎn)數(shù)的函數(shù)運(yùn)算,為了得到正確的運(yùn)算結(jié)果,同樣應(yīng)遵守函數(shù)運(yùn)算的基本規(guī)定與要求,保證程序中操作數(shù)取值范圍的正確性。
??(5) 增量指令。在S7-200 PLC中,除可以使用以上數(shù)據(jù)運(yùn)算指令外,還可以通過(guò)專門的指令對(duì)字節(jié)字、雙字進(jìn)行增“1”(Increment)與減“1”(Decrement)運(yùn)算。這些指令的使用十分簡(jiǎn)單,可以按照表3-22的格式直接編程。
??除以上常用的功能指令外,S7還有其他部分功能指令,如程序控制指令,S7-200PLC中的表指令、字符串指令、特殊計(jì)數(shù)指令等。這些指令有的使用較少,有的將在S7PLC的特殊功能指令中給予說(shuō)明,因此,這里不再進(jìn)行介紹,需要時(shí)可以參見Siemens手冊(cè)相關(guān)的內(nèi)容。