西門子S7-1500 PLC技術(shù)及應(yīng)用 課件 第4章 S7-1500 PLC 基本指令系統(tǒng)_第1頁
西門子S7-1500 PLC技術(shù)及應(yīng)用 課件 第4章 S7-1500 PLC 基本指令系統(tǒng)_第2頁
西門子S7-1500 PLC技術(shù)及應(yīng)用 課件 第4章 S7-1500 PLC 基本指令系統(tǒng)_第3頁
西門子S7-1500 PLC技術(shù)及應(yīng)用 課件 第4章 S7-1500 PLC 基本指令系統(tǒng)_第4頁
西門子S7-1500 PLC技術(shù)及應(yīng)用 課件 第4章 S7-1500 PLC 基本指令系統(tǒng)_第5頁
已閱讀5頁,還剩162頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

點(diǎn)擊此處結(jié)束放映電子教案《西門子S7-1500PLC技術(shù)及應(yīng)用》第4章

S7-1500PLC基本指令系統(tǒng)點(diǎn)擊此處結(jié)束放映《西門子S7-1500PLC技術(shù)及應(yīng)用》

基本數(shù)據(jù)類型4.1存儲(chǔ)區(qū)與尋址4.2程序塊4.4基本指令4.4《西門子S7-1500PLC技術(shù)及應(yīng)用》點(diǎn)擊此處結(jié)束放映工藝指令與通信指令4.5S7-1500的仿真4.6

基本數(shù)據(jù)類型4.1點(diǎn)擊此處結(jié)束放映《西門子S7-1500PLC技術(shù)及應(yīng)用》點(diǎn)擊此處結(jié)束放映S7-1500PLC的數(shù)據(jù)類型主要有基本數(shù)據(jù)類型、復(fù)合數(shù)據(jù)類型、PLC數(shù)據(jù)類型、參數(shù)類型、系統(tǒng)數(shù)據(jù)類型和硬件數(shù)據(jù)類型等。數(shù)據(jù)類型決定了數(shù)據(jù)的屬性,例如數(shù)據(jù)長度和有效存儲(chǔ)區(qū)的表示等。編寫程序時(shí),變量的數(shù)據(jù)類型必須與指令的數(shù)據(jù)類型匹配。S7-1500PLC的指令參數(shù)所用的基本數(shù)據(jù)類型可分為:二進(jìn)制數(shù)數(shù)據(jù)類型、整數(shù)數(shù)據(jù)類型、浮點(diǎn)數(shù)據(jù)類型、定時(shí)器數(shù)據(jù)類型、日期和時(shí)間數(shù)據(jù)類型、字符和字符串?dāng)?shù)據(jù)類型等。每一種基本數(shù)據(jù)類型都具備關(guān)鍵字、數(shù)據(jù)長度、取值范圍和常數(shù)表達(dá)格式等屬性。

《西門子S7-1500PLC技術(shù)及應(yīng)用》4.1基本數(shù)據(jù)類型點(diǎn)擊此處結(jié)束放映二進(jìn)制數(shù)數(shù)據(jù)類型包含布爾型(Bool)和位字符串?dāng)?shù)據(jù)類型,位字符串?dāng)?shù)據(jù)類型包括:字節(jié)型(Byte)、字型(Word)、雙字型(DWord)和長字型(LWord)?!段鏖T子S7-1500PLC技術(shù)及應(yīng)用》1.二進(jìn)制數(shù)數(shù)據(jù)類型點(diǎn)擊此處結(jié)束放映整數(shù)數(shù)據(jù)類型包含無符號(hào)短整數(shù)型USint、有符號(hào)短整數(shù)型Sint、無符號(hào)整數(shù)型UInt、有符號(hào)整數(shù)型Int、無符號(hào)雙整數(shù)型UDInt、有符號(hào)雙整數(shù)型DInt、無符號(hào)長整數(shù)型ULInt、有符號(hào)長整數(shù)型LInt?!段鏖T子S7-1500PLC技術(shù)及應(yīng)用》2.整數(shù)數(shù)據(jù)類型點(diǎn)擊此處結(jié)束放映浮點(diǎn)數(shù)也稱實(shí)數(shù),數(shù)據(jù)類型包含實(shí)數(shù)型Real和長實(shí)數(shù)型LReal。《西門子S7-1500PLC技術(shù)及應(yīng)用》3.浮點(diǎn)數(shù)據(jù)類型點(diǎn)擊此處結(jié)束放映定時(shí)器數(shù)據(jù)類型包含S5時(shí)間(S5Time)、時(shí)間(Time)、長時(shí)間(LTime)數(shù)據(jù)類型。S5時(shí)間(S5Time)數(shù)據(jù)類型長度為16bits,將時(shí)間存儲(chǔ)為BCD格式,時(shí)間的生成基于時(shí)間基線和0到999范圍內(nèi)的時(shí)間值?!段鏖T子S7-1500PLC技術(shù)及應(yīng)用》4.定時(shí)器數(shù)據(jù)類型點(diǎn)擊此處結(jié)束放映時(shí)間(Time)數(shù)據(jù)類型的操作數(shù)內(nèi)容以毫秒表示,用于數(shù)據(jù)長度為32bit的IEC定時(shí)器,表示信息包含天(d)、小時(shí)(h)、分鐘(m)、秒(s)和毫秒(ms)。長時(shí)間(LTime)數(shù)據(jù)類型的操作數(shù)內(nèi)容以納秒表示,用于數(shù)據(jù)長度為64bit的IEC定時(shí)器。表示信息包含天(d)、小時(shí)(h)、分鐘(m)、秒(s)、毫秒(ms)、微秒(us)和納秒(ns)。《西門子S7-1500PLC技術(shù)及應(yīng)用》4.定時(shí)器數(shù)據(jù)類型點(diǎn)擊此處結(jié)束放映日期和時(shí)間數(shù)據(jù)類型包含DATE、TOD、LTOD、DT、LDT、DTL數(shù)據(jù)類型?!段鏖T子S7-1500PLC技術(shù)及應(yīng)用》5.日期和時(shí)間數(shù)據(jù)類型點(diǎn)擊此處結(jié)束放映字符數(shù)據(jù)類型包含字符Char、寬字符WChar。字符串?dāng)?shù)據(jù)類型包含字符串String和寬字符串WString。注:表中n為指定字符串的長度;字符串?dāng)?shù)據(jù)類型的操作數(shù)在系統(tǒng)中額外占用2或4個(gè)字節(jié)的內(nèi)存。《西門子S7-1500PLC技術(shù)及應(yīng)用》6.字符和字符串?dāng)?shù)據(jù)類型存儲(chǔ)區(qū)與尋址4.2《西門子S7-1500PLC技術(shù)及應(yīng)用》點(diǎn)擊此處結(jié)束放映

點(diǎn)擊此處結(jié)束放映S7-1500PLC的存儲(chǔ)區(qū)由裝載存儲(chǔ)器、工作存儲(chǔ)器、保持性存儲(chǔ)器、系統(tǒng)存儲(chǔ)器組成。裝載存儲(chǔ)器,類似于計(jì)算機(jī)的硬盤,是一個(gè)非易失性存儲(chǔ)器,用于存儲(chǔ)程序代碼、數(shù)據(jù)塊和硬件配置。將這些對(duì)象裝載到CPU時(shí),會(huì)首先存儲(chǔ)到裝載存儲(chǔ)器中。裝載存儲(chǔ)器位于SIMATIC存儲(chǔ)卡上,在運(yùn)行CPU之前必須先插入SIMATIC存儲(chǔ)卡?!段鏖T子S7-1500PLC技術(shù)及應(yīng)用》4.2存儲(chǔ)區(qū)與尋址點(diǎn)擊此處結(jié)束放映工作存儲(chǔ)器,類似于計(jì)算機(jī)的內(nèi)存,是一個(gè)易失性存儲(chǔ)器,用于存儲(chǔ)用戶代碼和數(shù)據(jù)塊,相應(yīng)的把工作存儲(chǔ)器分為代碼工作存儲(chǔ)器和數(shù)據(jù)工作存儲(chǔ)器。代碼工作存儲(chǔ)器保存與運(yùn)行時(shí)相關(guān)的程序代碼部分。數(shù)據(jù)工作存儲(chǔ)器保存數(shù)據(jù)塊和工藝對(duì)象中與運(yùn)行時(shí)相關(guān)的部分。在POWERON→STARTUP和STOP→STARTUP的操作模式轉(zhuǎn)換中,全局?jǐn)?shù)據(jù)塊、背景數(shù)據(jù)塊和工藝對(duì)象的變量都將使用初始值來初始化。保持性變量將保留保存在保持性存儲(chǔ)器中的實(shí)際值。工作存儲(chǔ)器集成在CPU中,不可擴(kuò)展?!段鏖T子S7-1500PLC技術(shù)及應(yīng)用》4.2存儲(chǔ)區(qū)與尋址點(diǎn)擊此處結(jié)束放映保持性存儲(chǔ)器,是一個(gè)非易失性存儲(chǔ)器,用于在發(fā)生電源故障時(shí)存儲(chǔ)有限數(shù)量的數(shù)據(jù)。用戶可將位存儲(chǔ)器、定時(shí)器、計(jì)數(shù)器、全局塊中的變量、背景數(shù)據(jù)塊中的變量定義為具有保持性,工藝對(duì)象的某些變量(如絕對(duì)編碼器的校準(zhǔn)值)始終具有保持性。具有保持性的變量保存在保持性存儲(chǔ)器中,即使出現(xiàn)掉電或電源故障,保持性存儲(chǔ)器中的數(shù)據(jù)也不會(huì)丟失。工藝對(duì)象的指定變量也存儲(chǔ)在保持性存儲(chǔ)器中,且存儲(chǔ)器復(fù)位時(shí)不刪除這些變量?!段鏖T子S7-1500PLC技術(shù)及應(yīng)用》4.2存儲(chǔ)區(qū)與尋址點(diǎn)擊此處結(jié)束放映系統(tǒng)存儲(chǔ)器,是CPU為用戶提供的與運(yùn)行系統(tǒng)相關(guān)的存儲(chǔ)區(qū)域,用于存儲(chǔ)用戶程序的操作數(shù)據(jù),如過程映象輸入(I)、物理輸入(I_:P)、過程映象輸出(Q)、物理輸出(Q_:P)、標(biāo)識(shí)位存儲(chǔ)區(qū)(M)、定時(shí)器(T)、計(jì)數(shù)器(C)、本地臨時(shí)數(shù)據(jù)(L)等?!段鏖T子S7-1500PLC技術(shù)及應(yīng)用》4.2存儲(chǔ)區(qū)與尋址點(diǎn)擊此處結(jié)束放映每個(gè)存儲(chǔ)單元都有唯一的地址。用戶程序利用這些地址訪問存儲(chǔ)單元中的信息。絕對(duì)地址由以下元素組成:存儲(chǔ)區(qū)標(biāo)識(shí)符(如I、Q或M);要訪問的數(shù)據(jù)的大小(“B”表示Byte、“W”表示W(wǎng)ord或“D”表示DWord);數(shù)據(jù)的起始地址(如字節(jié)3或字3);《西門子S7-1500PLC技術(shù)及應(yīng)用》4.2.1存儲(chǔ)區(qū)的地址表示格式點(diǎn)擊此處結(jié)束放映訪問布爾值地址中的位時(shí),不需要輸入數(shù)據(jù)大小的助記符,僅需輸入數(shù)據(jù)的存儲(chǔ)區(qū)、字節(jié)位置和位位置(如I0.0、Q0.1或M3.4)?!段鏖T子S7-1500PLC技術(shù)及應(yīng)用》4.2.1存儲(chǔ)區(qū)的地址表示格式A—存儲(chǔ)區(qū)標(biāo)識(shí)符B—字節(jié)地址:字節(jié)3C—分隔符(“字節(jié).位”)D—位在字節(jié)中的位置(位4,共8位)E—存儲(chǔ)區(qū)的字節(jié)F—選定字節(jié)的位點(diǎn)擊此處結(jié)束放映訪問字節(jié)、字、雙字地址數(shù)據(jù)區(qū)存儲(chǔ)器的區(qū)域格式為:ATx。必須指定區(qū)域標(biāo)識(shí)符A、數(shù)據(jù)長度T以及該字節(jié)、字或雙字的起始字節(jié)地址x?!段鏖T子S7-1500PLC技術(shù)及應(yīng)用》4.2.1存儲(chǔ)區(qū)的地址表示格式點(diǎn)擊此處結(jié)束放映過程映像輸入也稱為輸入映像寄存器(I),是專門用來接收PLC外部開關(guān)信號(hào)的存儲(chǔ)區(qū)。輸入映像寄存器(I)的地址格式為:位地址:I[字節(jié)地址].[位地址],如I0.1。字節(jié)、字、雙字地址:I[數(shù)據(jù)長度][起始字節(jié)地址],如IB4、IW6、ID10?!段鏖T子S7-1500PLC技術(shù)及應(yīng)用》4.2.2系統(tǒng)存儲(chǔ)器尋址1.過程映像輸入(I)點(diǎn)擊此處結(jié)束放映物理輸入(I_:P)也稱為物理輸入點(diǎn)(輸入端子),在過程映像地址后加地址標(biāo)志符“:P”,可執(zhí)行立即讀取物理輸入點(diǎn)的狀態(tài)(例如:“%I1.4:P”)。對(duì)于立即讀取,直接從物理輸入讀取位數(shù)據(jù)值,而非從過程映像中讀取。立即讀取不會(huì)更新對(duì)應(yīng)的過程映像?!段鏖T子S7-1500PLC技術(shù)及應(yīng)用》2.物理輸入(I_:P)點(diǎn)擊此處結(jié)束放映過程映像輸出(Q)也稱為輸出映像寄存器(Q)。每一個(gè)輸出模塊的端子與輸出映像寄存器的相應(yīng)位相對(duì)應(yīng)。CPU將輸出結(jié)果存放在輸出映像寄存器中,在掃描周期的結(jié)尾,CPU以批處理方式將輸出映像寄存器的數(shù)值復(fù)制到相應(yīng)的輸出端子上。通過輸出模塊將輸出信號(hào)傳送給外部負(fù)載。輸出映像寄存器(Q)地址格式為:位地址:Q[字節(jié)地址].[位地址],如Q1.1。字節(jié)、字、雙字地址:Q[數(shù)據(jù)長度][起始字節(jié)地址],如QB5、QW8、QD11?!段鏖T子S7-1500PLC技術(shù)及應(yīng)用》3.過程映像輸出區(qū)(Q)點(diǎn)擊此處結(jié)束放映物理輸入(Q_:P)也稱為物理輸出點(diǎn)(輸出端子),在過程映像地址后加地址標(biāo)志符“:P”,可執(zhí)行立即輸出結(jié)果到物理輸處點(diǎn)(例如:“%Q1.3:P”)。對(duì)于立即輸出,將位數(shù)據(jù)值寫入輸出過程映像輸出并直接寫入物理輸出點(diǎn)?!段鏖T子S7-1500PLC技術(shù)及應(yīng)用》4.物理輸出(Q_:P)點(diǎn)擊此處結(jié)束放映標(biāo)識(shí)位存儲(chǔ)器(M),用于中間運(yùn)算結(jié)果或標(biāo)志位的存儲(chǔ),類似模擬繼電器控制系統(tǒng)中的中間繼電器,針對(duì)控制繼電器及數(shù)據(jù)的位存儲(chǔ)區(qū)(M存儲(chǔ)器)用于存儲(chǔ)操作的中間狀態(tài)或其它控制信息。可以按位、字節(jié)、字或雙字來存取位存儲(chǔ)區(qū)。標(biāo)識(shí)位存儲(chǔ)區(qū)(M)的地址格式為:位地址:M[字節(jié)地址].[位地址],如M20.7。字節(jié)、字、雙字地址:M[數(shù)據(jù)長度][起始字節(jié)地址],如MB20、MW20、MD20?!段鏖T子S7-1500PLC技術(shù)及應(yīng)用》5.標(biāo)識(shí)位存儲(chǔ)區(qū)(M)點(diǎn)擊此處結(jié)束放映定時(shí)器存儲(chǔ)區(qū)位于CPU系統(tǒng)存儲(chǔ)器中,定時(shí)器數(shù)量與CPU型號(hào)有關(guān)。定時(shí)器可表示為Tx,T為定時(shí)器地址標(biāo)識(shí)符,x表示第x個(gè)定時(shí)器?!段鏖T子S7-1500PLC技術(shù)及應(yīng)用》6.定時(shí)器(T)點(diǎn)擊此處結(jié)束放映計(jì)數(shù)器存儲(chǔ)區(qū)位于CPU系統(tǒng)存儲(chǔ)器中,計(jì)數(shù)器數(shù)量與CPU型號(hào)有關(guān)。計(jì)數(shù)器可表示為Cx,C為計(jì)數(shù)器地址標(biāo)識(shí)符,x表示第x個(gè)計(jì)數(shù)器?!段鏖T子S7-1500PLC技術(shù)及應(yīng)用》7.計(jì)數(shù)器(C)點(diǎn)擊此處結(jié)束放映數(shù)據(jù)塊可以存儲(chǔ)在裝在存儲(chǔ)器、工作存儲(chǔ)器和系統(tǒng)存儲(chǔ)器(塊堆棧)中,共享數(shù)據(jù)塊的標(biāo)識(shí)符為“DB”,函數(shù)塊FB的背景數(shù)據(jù)塊的標(biāo)識(shí)符為“DI”。數(shù)據(jù)塊的大小與CPU型號(hào)有關(guān)??梢园次?、字節(jié)、字或雙字訪問數(shù)據(jù)塊存儲(chǔ)器。讀/寫數(shù)據(jù)塊允許讀訪問和寫訪問,只讀數(shù)據(jù)塊只允許讀訪問。位地址:DB[數(shù)據(jù)塊編號(hào)].DBX[字節(jié)地址].[位地址],如DB1.DBX2.3。字節(jié)、字、雙字地址:DB[數(shù)據(jù)塊編號(hào)].DB[大小][起始字節(jié)地址],如DB1.DBB4、DB10.DBW2、DB20.DBD8。《西門子S7-1500PLC技術(shù)及應(yīng)用》8.數(shù)據(jù)塊(DB)點(diǎn)擊此處結(jié)束放映CPU根據(jù)需要分配本地存儲(chǔ)區(qū)。啟動(dòng)代碼塊(對(duì)于OB)或調(diào)用代碼塊(對(duì)于FC或FB)時(shí),CPU將為代碼塊分配本地存儲(chǔ)區(qū)并將存儲(chǔ)單元初始化為0。本地存儲(chǔ)器與M存儲(chǔ)區(qū)類似,但有一個(gè)主要的區(qū)別:M存儲(chǔ)器在“全局”范圍內(nèi)有效,而本地存儲(chǔ)器在“局部”范圍內(nèi)有效??梢园次?、字節(jié)、字、雙字訪問本地存儲(chǔ)區(qū),本地存儲(chǔ)區(qū)(L)的地址格式為:位地址:L[字節(jié)地址].[位地址],如L0.0。字節(jié)、字、雙字地址:L[數(shù)據(jù)長度][起始字節(jié)地址],如LB33、LW44、LD55?!段鏖T子S7-1500PLC技術(shù)及應(yīng)用》9.本地?cái)?shù)據(jù)區(qū)(L)

程序塊4.3《西門子S7-1500PLC技術(shù)及應(yīng)用》點(diǎn)擊此處結(jié)束放映點(diǎn)擊此處結(jié)束放映《西門子S7-1500PLC技術(shù)及應(yīng)用》4.3.1程序塊的類型S7-1500PLC支持使用組織塊(OB)、函數(shù)(FC)、函數(shù)塊(FB)和數(shù)據(jù)塊(DB)來創(chuàng)建用戶程序。組織塊(OB)是操作系統(tǒng)和用戶程序之間的接口。組織塊由操作系統(tǒng)調(diào)用,控制PLC啟動(dòng)特性、循環(huán)程序執(zhí)行、中斷驅(qū)動(dòng)的程序執(zhí)行、錯(cuò)誤處理??梢詫?duì)組織塊進(jìn)行編程并同時(shí)確定CPU的特性。函數(shù)(FC)是由用戶編寫的不帶存儲(chǔ)器的代碼塊。由于沒有可以存儲(chǔ)塊參數(shù)值的數(shù)據(jù)存儲(chǔ)器,調(diào)用函數(shù)時(shí)必須給所有形參分配實(shí)參。點(diǎn)擊此處結(jié)束放映《西門子S7-1500PLC技術(shù)及應(yīng)用》4.3.1程序塊的類型函數(shù)塊(FB)是由用戶編寫的帶存儲(chǔ)器的代碼塊。調(diào)用FB時(shí),將輸入、輸出和輸入/輸出參數(shù)永久地存儲(chǔ)在背景數(shù)據(jù)塊(DB)中。執(zhí)行完FB后,不會(huì)丟失DB中保存的數(shù)據(jù)。數(shù)據(jù)塊(DB)用于存儲(chǔ)程序塊中使用的數(shù)據(jù),包括全局?jǐn)?shù)據(jù)塊和背景數(shù)據(jù)塊。全局?jǐn)?shù)據(jù)塊用于存儲(chǔ)程序數(shù)據(jù),由用戶定義產(chǎn)生。背景數(shù)據(jù)塊在調(diào)用FB時(shí)自動(dòng)生成,作為FB的存儲(chǔ)器。點(diǎn)擊此處結(jié)束放映《西門子S7-1500PLC技術(shù)及應(yīng)用》4.3.2OB可實(shí)現(xiàn)的功能組織塊(OB)是操作系統(tǒng)和用戶程序之間的接口。組織塊由操作系統(tǒng)調(diào)用,控制循環(huán)程序、中斷事件處理程序、PLC啟動(dòng)特性和錯(cuò)誤處理。CPU按優(yōu)先等級(jí)處理OB,高優(yōu)先級(jí)OB可以中斷低優(yōu)先級(jí)OB的執(zhí)行。S7-1500PLC支持26個(gè)優(yōu)先級(jí),最低優(yōu)先級(jí)為1,最高優(yōu)先級(jí)為26。。點(diǎn)擊此處結(jié)束放映《西門子S7-1500PLC技術(shù)及應(yīng)用》1.啟動(dòng)OB操作系統(tǒng)從“STOP”切換到“RUN”模式時(shí),首先調(diào)用啟動(dòng)OB。如果有多個(gè)啟動(dòng)OB,則從最小OB編號(hào)開始依次調(diào)用。在啟動(dòng)OB執(zhí)行過程中,所有過程映像輸入的值都為0。用戶可以在啟動(dòng)OB中定義循環(huán)程序的默認(rèn)設(shè)置啟動(dòng)OB執(zhí)行完成后,操作系統(tǒng)將讀入過程映像輸入并啟動(dòng)循環(huán)程序。點(diǎn)擊此處結(jié)束放映《西門子S7-1500PLC技術(shù)及應(yīng)用》2.程序循環(huán)OB用戶程序的本質(zhì)就是循環(huán)程序,循環(huán)程序可以有一個(gè)或多個(gè)程序循環(huán)OB。OB1是系統(tǒng)默認(rèn)程序循環(huán)OB。如果創(chuàng)建了多個(gè)程序循環(huán)OB,則從最小OB編號(hào)開始依次調(diào)用。程序循環(huán)OB的優(yōu)先級(jí)為1,任何其它事件都可以中斷循環(huán)程序。執(zhí)行循環(huán)程序之后,操作系統(tǒng)會(huì)更新過程映像:先將過程映像輸出中的值寫到輸出模塊,再讀取輸入模塊處的輸入并傳送到過程映像輸入。點(diǎn)擊此處結(jié)束放映《西門子S7-1500PLC技術(shù)及應(yīng)用》3.時(shí)間中斷OB時(shí)間中斷OB可以由用戶指定日期時(shí)間產(chǎn)生中斷,或指定特定周期產(chǎn)生中斷。例如:在2035年1月每天20點(diǎn)保存數(shù)據(jù)。通過調(diào)用“SET_TINT”、“CAN_TINT”和“ACT_TINT”指令來設(shè)置、取消和激活時(shí)間中斷。時(shí)間中斷最多可使用20個(gè),默認(rèn)范圍時(shí)0B10~OB17,其余可組態(tài)OB編號(hào)123以上組織塊。點(diǎn)擊此處結(jié)束放映《西門子S7-1500PLC技術(shù)及應(yīng)用》4.延遲中斷OB通過調(diào)用“SRT_DINT”指令來設(shè)置延時(shí)時(shí)間并啟動(dòng)延時(shí)中斷。指定的延時(shí)時(shí)間結(jié)束后,延時(shí)中斷0B將中斷循環(huán)0B的執(zhí)行。通過調(diào)用“CAN_DINT”指令來取消延時(shí)中斷。延時(shí)中斷最多可使用20個(gè),默認(rèn)范圍時(shí)0B20~OB23,其余可組態(tài)OB編號(hào)123以上組織塊。點(diǎn)擊此處結(jié)束放映《西門子S7-1500PLC技術(shù)及應(yīng)用》5.循環(huán)中斷OB用戶可通過循環(huán)中斷OB以相同時(shí)間間隔中斷用戶程序,來執(zhí)行特定功能。循環(huán)中斷最多可使用20個(gè),默認(rèn)范圍時(shí)0B30~OB38,其余可組態(tài)OB編號(hào)123以上組織塊。點(diǎn)擊此處結(jié)束放映《西門子S7-1500PLC技術(shù)及應(yīng)用》6.硬件中斷OB硬件中斷OB用于快速響應(yīng)信號(hào)模塊(SM)、通信處理器(CP)、功能模塊(FM)的信號(hào)變化。硬件中斷OB會(huì)中斷正常的程序執(zhí)行,來響應(yīng)硬件事件,可在硬件配置中定義事件。每個(gè)可觸發(fā)硬件中斷的事件只能指定一個(gè)硬件中斷OB,但可為一個(gè)硬件中斷OB指定多個(gè)事件。點(diǎn)擊此處結(jié)束放映《西門子S7-1500PLC技術(shù)及應(yīng)用》7.錯(cuò)誤處理OB針對(duì)與PLC內(nèi)部的功能性錯(cuò)誤或編程錯(cuò)誤,S7-1500PLC具有很強(qiáng)的錯(cuò)誤檢測(cè)和處理能力。CPU檢測(cè)到錯(cuò)誤后,操作系統(tǒng)將調(diào)用相對(duì)應(yīng)的OB,用戶可在OB中編程來對(duì)錯(cuò)誤進(jìn)行處理??杀籆PU檢測(cè)到并且用戶可通過組織塊對(duì)其進(jìn)行處理的錯(cuò)誤主要有:時(shí)間錯(cuò)誤、診斷錯(cuò)誤、插入/取出模塊、機(jī)架錯(cuò)誤、編程錯(cuò)誤和I/O錯(cuò)誤訪問。點(diǎn)擊此處結(jié)束放映《西門子S7-1500PLC技術(shù)及應(yīng)用》4.3.3用戶程序的結(jié)構(gòu)根據(jù)實(shí)際應(yīng)用需求,用戶程序可以選擇線性結(jié)構(gòu)或模塊化結(jié)構(gòu)。點(diǎn)擊此處結(jié)束放映《西門子S7-1500PLC技術(shù)及應(yīng)用》4.3.3用戶程序的結(jié)構(gòu)小型自動(dòng)化任務(wù)的簡單程序可以選擇線性結(jié)構(gòu),將程序放入程序循環(huán)組織塊OB1中,CPU循環(huán)掃描執(zhí)行OB1中的全部指令。工程上一般采用模塊化編程方法。模塊化程序有以下優(yōu)點(diǎn):1.各個(gè)程序段都可實(shí)現(xiàn)標(biāo)準(zhǔn)化,通過更改參數(shù)反復(fù)使用。2.程序結(jié)構(gòu)更簡單,更容易進(jìn)行大程序編程。3.單個(gè)程序塊的創(chuàng)建和測(cè)試可獨(dú)立進(jìn)行,簡化程序排錯(cuò)過程。4.程序更改更容易,且簡化了調(diào)試。

基本指令4.4《西門子S7-1500PLC技術(shù)及應(yīng)用》點(diǎn)擊此處結(jié)束放映點(diǎn)擊此處結(jié)束放映《西門子S7-1500PLC技術(shù)及應(yīng)用》

S7-1500PLC有10種基本指令,包含:位邏輯運(yùn)算指令;定時(shí)器和計(jì)數(shù)器指令;

比較指令;

數(shù)學(xué)函數(shù)指令;

移動(dòng)指令;

轉(zhuǎn)換指令;

程序控制指令;字邏輯運(yùn)算指令;

移位和循環(huán)指令;4.4.1位邏輯運(yùn)算指令位邏輯運(yùn)算指令包含:觸點(diǎn)和線圈等基本元素指令、置位和復(fù)位指令、上升沿和下降沿指令。位邏輯運(yùn)算指令中如果有操作數(shù),則為BOOL型,操作數(shù)的存儲(chǔ)區(qū)可以是:I、Q、M、L、DB等。1、觸點(diǎn)和線圈等基本元素指令觸點(diǎn)和線圈等基本元素指令包括觸點(diǎn)指令、NOT邏輯反相器指令、輸出線圈指令,主要是與位相關(guān)的輸入/輸出及觸點(diǎn)的簡單連接。點(diǎn)擊此處結(jié)束放映《西門子S7-1500PLC技術(shù)及應(yīng)用》(1)觸點(diǎn)指令觸點(diǎn)串聯(lián)方式連接,創(chuàng)建AND邏輯程序段;觸點(diǎn)并聯(lián)方式連接,創(chuàng)建OR邏輯程序段。點(diǎn)擊此處結(jié)束放映《西門子S7-1500PLC技術(shù)及應(yīng)用》(2)NOT邏輯反相器指令NOT邏輯反相器指令可對(duì)輸入的邏輯運(yùn)算結(jié)果(RLO)進(jìn)行取反。LAD的NOT觸點(diǎn)能取反能流輸入的邏輯狀態(tài)。點(diǎn)擊此處結(jié)束放映《西門子S7-1500PLC技術(shù)及應(yīng)用》(3)輸出線圈指令輸出線圈有賦值線圈和賦值取反線圈兩種,可向輸出位OUT寫入值,OUT數(shù)據(jù)類型為布爾型。如果有能流通過輸出線圈,則賦值線圈輸出位OUT設(shè)置為“1”,賦值取反線圈輸出位OUT設(shè)置為“0”;如果沒有能流通過輸出線圈,則賦值線圈輸出位OUT設(shè)置為“0”,賦值取反線圈輸出位OUT設(shè)置為“1”。點(diǎn)擊此處結(jié)束放映《西門子S7-1500PLC技術(shù)及應(yīng)用》賦值線圈指令賦值取反線圈指令(3)輸出線圈指令點(diǎn)擊此處結(jié)束放映《西門子S7-1500PLC技術(shù)及應(yīng)用》4.4.1位邏輯運(yùn)算指令1、觸點(diǎn)和線圈等基本元素指令程序段1、2和3執(zhí)行的時(shí)序如圖所示。點(diǎn)擊此處結(jié)束放映《西門子S7-1500PLC技術(shù)及應(yīng)用》4.2.1位邏輯運(yùn)算指令2、置位和復(fù)位指令置位和復(fù)位指令包含:置位和復(fù)位線圈指令、置位和復(fù)位位域指令、置位優(yōu)先和復(fù)位優(yōu)先指令。置位即置1且保持,復(fù)位即置0且保持,即置位和復(fù)位指令具有“記憶”功能。點(diǎn)擊此處結(jié)束放映《西門子S7-1500PLC技術(shù)及應(yīng)用》(1)S和R:置位和復(fù)位線圈指令置位和復(fù)位線圈指令分配位OUT數(shù)據(jù)類型為布爾型。當(dāng)線圈輸入的邏輯運(yùn)算結(jié)果(RLO)為“1”時(shí),才執(zhí)行S和R指令,S指令參數(shù)OUT的數(shù)據(jù)值設(shè)置為1,R指令參數(shù)OUT的數(shù)據(jù)值設(shè)置為0。當(dāng)線圈輸入的邏輯運(yùn)算結(jié)果(RLO)為“0”時(shí),不執(zhí)行S和R指令。點(diǎn)擊此處結(jié)束放映《西門子S7-1500PLC技術(shù)及應(yīng)用》置位線圈指令復(fù)位線圈指令(1)S和R:置位和復(fù)位線圈指令置位和復(fù)位線圈指令梯形圖(LAD)編程實(shí)例如圖所示。點(diǎn)擊此處結(jié)束放映《西門子S7-1500PLC技術(shù)及應(yīng)用》(2)SET_BF和RESET_BF:置位和復(fù)位位域指令置位和復(fù)位位域指令分配位OUT的數(shù)據(jù)類型為布爾型,用于指定置位或復(fù)位位域起始元素;分配位n的數(shù)據(jù)類型為無符號(hào)整型,賦值為常量,用于指定要置位或復(fù)位的位數(shù)。點(diǎn)擊此處結(jié)束放映《西門子S7-1500PLC技術(shù)及應(yīng)用》置位位域指令復(fù)位位域指令(2)SET_BF和RESET_BF:置位和復(fù)位位域指令SET_BF和RESET_BF指令必須是梯形圖分支中最右端的指令。當(dāng)指令輸入的邏輯運(yùn)算結(jié)果(RLO)為“1”時(shí),執(zhí)行SET_BF和RESET_BF指令;執(zhí)行SET_BF時(shí),置位從OUT開始的n位數(shù)據(jù);執(zhí)行RESET_BF時(shí),復(fù)位從OUT開始的n位數(shù)據(jù)。當(dāng)指令輸入的邏輯運(yùn)算結(jié)果(RLO)為“0”時(shí),不執(zhí)行指令。點(diǎn)擊此處結(jié)束放映《西門子S7-1500PLC技術(shù)及應(yīng)用》(3)RS和SR:置位優(yōu)先和復(fù)位優(yōu)先指令RS和SR指令分配位S和S1為置位輸入,1表示優(yōu)先;分配位R和R1為復(fù)位輸入,1表示優(yōu)先;分配位INOUT為待置位或復(fù)位的數(shù)據(jù);分配位Q遵循INOUT位的狀態(tài)。分配位S、S1、R、R1、INOUT和Q的數(shù)據(jù)類型都為布爾型。點(diǎn)擊此處結(jié)束放映《西門子S7-1500PLC技術(shù)及應(yīng)用》RS置位優(yōu)先指令SR復(fù)位優(yōu)先指令(3)RS和SR:置位優(yōu)先和復(fù)位優(yōu)先指令RS和SR指令的輸入/輸出變化見表。點(diǎn)擊此處結(jié)束放映《西門子S7-1500PLC技術(shù)及應(yīng)用》表RS和SR指令的輸入/輸出變化指令S1RINOUTQRS00先前狀態(tài)遵循INOUT位的狀態(tài)010101111指令SR1INOUTQSR00先前狀態(tài)遵循INOUT位的狀態(tài)010101110(3)RS和SR:置位優(yōu)先和復(fù)位優(yōu)先指令

置位優(yōu)先和復(fù)位優(yōu)先指令應(yīng)用編程舉例如圖所示,可應(yīng)用于電動(dòng)機(jī)的啟、??刂?。點(diǎn)擊此處結(jié)束放映《西門子S7-1500PLC技術(shù)及應(yīng)用》4.4.1位邏輯運(yùn)算指令3、上升沿和下降沿指令上升沿和下降沿指令包含:P和N觸點(diǎn)指令、P和N線圈指令、P_TRIG和N_TRIG功能框指令、R_TRIG和F_TRIG功能框指令。點(diǎn)擊此處結(jié)束放映《西門子S7-1500PLC技術(shù)及應(yīng)用》(1)P和N觸點(diǎn)指令P和N觸點(diǎn)指令掃描IN的上升沿和下降沿。分配位IN為指令要掃描的信號(hào),數(shù)據(jù)類型為布爾型;分配位M_BIT保存上次掃描的IN的信號(hào)狀態(tài),數(shù)據(jù)類型為布爾型。執(zhí)行指令時(shí),P和N觸點(diǎn)指令比較IN的當(dāng)前信號(hào)狀態(tài)與保存在操作數(shù)M_BIT中的上一次掃描的信號(hào)狀態(tài)。點(diǎn)擊此處結(jié)束放映《西門子S7-1500PLC技術(shù)及應(yīng)用》置位線圈指令復(fù)位線圈指令(1)P和N觸點(diǎn)指令檢測(cè)到操作數(shù)IN的上升沿時(shí),P觸點(diǎn)指令的信號(hào)狀態(tài)將在一個(gè)程序周期內(nèi)保持置位為“1”;檢測(cè)到操作數(shù)IN的下降沿時(shí),N觸點(diǎn)指令的信號(hào)狀態(tài)將在一個(gè)程序周期內(nèi)保持置位為“1”;在其他任何情況下,P和N觸點(diǎn)指令的信號(hào)狀態(tài)均為“0”。點(diǎn)擊此處結(jié)束放映《西門子S7-1500PLC技術(shù)及應(yīng)用》(2)P和N線圈指令P和N線圈指令在信號(hào)上升沿和下降沿,將分配位OUT在一個(gè)程序周期內(nèi)置位為“1”。分配位OUT數(shù)據(jù)類型為布爾型;分配位M_BIT保存上次查詢的線圈輸入信號(hào)狀態(tài),數(shù)據(jù)類型為布爾型。執(zhí)行指令時(shí),P和N線圈指令將比較當(dāng)前線圈輸入信號(hào)狀態(tài)與保存在操作數(shù)M_BIT中的上一次查詢的信號(hào)狀態(tài)。點(diǎn)擊此處結(jié)束放映《西門子S7-1500PLC技術(shù)及應(yīng)用》P線圈指令N線圈指令(2)P和N線圈指令檢測(cè)到線圈輸入信號(hào)狀態(tài)的上升沿時(shí),P線圈指令將OUT在一個(gè)程序周期內(nèi)置位為“1”;檢測(cè)到線圈輸入信號(hào)狀態(tài)的下降沿時(shí),N線圈指令將OUT在一個(gè)程序周期內(nèi)置位為“1”;在其他任何情況下,參數(shù)OUT的信號(hào)狀態(tài)均為“0”。點(diǎn)擊此處結(jié)束放映《西門子S7-1500PLC技術(shù)及應(yīng)用》(3)P_TRIG和N_TRIG功能框指令P_TRIG和N_TRIG功能框指令分配位CLK為指令要掃描的信號(hào),數(shù)據(jù)類型為布爾型;分配位M_BIT保存上次掃描的CLK的信號(hào)狀態(tài),數(shù)據(jù)類型為布爾型;Q為指令邊沿檢測(cè)的結(jié)果,數(shù)據(jù)類型為布爾型。執(zhí)行指令時(shí),P_TRIG和N_TRIG指令比較CLK輸入的RLO當(dāng)前狀態(tài)與保存在操作數(shù)M_BIT中上一次查詢的信號(hào)狀態(tài)。點(diǎn)擊此處結(jié)束放映《西門子S7-1500PLC技術(shù)及應(yīng)用》P_TRIG功能框指令N_TRIG功能框指令(3)P_TRIG和N_TRIG功能框指令檢測(cè)到CLK輸入的RLO上升沿時(shí),P_TRIG指令的Q將在一個(gè)程序周期內(nèi)置位為“1”;檢測(cè)到CLK輸入的RLO下降沿時(shí),N_TRIG指令的Q將在一個(gè)程序周期內(nèi)置位為“1”;在其他任何情況下,輸出Q的信號(hào)狀態(tài)均為“0”。在LAD編程中,P_TRIG和N_TRIG指令不能放置在程序段的開頭或結(jié)尾。點(diǎn)擊此處結(jié)束放映《西門子S7-1500PLC技術(shù)及應(yīng)用》(4)R_TRIG和F_TRIG功能框指令R_TRIG和F_TRIG功能框指令檢測(cè)分配位CLK信號(hào)的上升沿和下降沿。分配位CLK為指令要掃描的信號(hào),分配位Q為指令邊沿檢測(cè)的結(jié)果,分配位M_BIT保存上次掃描的CLK的信號(hào)狀態(tài),所有數(shù)據(jù)類型均為布爾型。指令調(diào)用時(shí),分配的背景數(shù)據(jù)塊可存儲(chǔ)CLK輸入的前一狀態(tài)。使能輸入EN為“1”時(shí),執(zhí)行R_TRIG和F_TRIG指令。執(zhí)行指令時(shí),R_TRIG和F_TRIG指令比較參數(shù)CLK輸入的當(dāng)前狀態(tài)與保存在背景數(shù)據(jù)塊中上一次查詢的信號(hào)狀態(tài)。點(diǎn)擊此處結(jié)束放映《西門子S7-1500PLC技術(shù)及應(yīng)用》R_TRIG功能框指令F_TRIG功能框指令(4)R_TRIG和F_TRIG功能框指令檢測(cè)到參數(shù)CLK輸入信號(hào)上升沿時(shí),R_TRIG指令的輸出Q將在一個(gè)程序周期內(nèi)置位為“1”;檢測(cè)到參數(shù)CLK輸入信號(hào)下降沿時(shí),F(xiàn)_TRIG指令的輸出Q將在一個(gè)程序周期內(nèi)置位為“1”;在其他任何情況下,輸出Q的信號(hào)狀態(tài)均為“0”。點(diǎn)擊此處結(jié)束放映《西門子S7-1500PLC技術(shù)及應(yīng)用》3、上升沿和下降沿指令上升沿和下降沿指令應(yīng)用舉例:設(shè)計(jì)故障信息顯示電路,從故障信號(hào)I0.0的上升沿開始,Q0.7控制的指示燈以1Hz的頻率閃爍。操作人員按復(fù)位按鈕I0.1后,如果故障已經(jīng)消失,則指示燈滅,如果沒有消失,則指示燈轉(zhuǎn)為常亮,直至故障消失。程序、時(shí)序圖如圖所示,其中M0.5為系統(tǒng)特殊寄存器標(biāo)志位,可以在該位設(shè)置提供1s、占空比50%的時(shí)鐘脈沖。點(diǎn)擊此處結(jié)束放映《西門子S7-1500PLC技術(shù)及應(yīng)用》3、上升沿和下降沿指令

點(diǎn)擊此處結(jié)束放映《西門子S7-1500PLC技術(shù)及應(yīng)用》(a)梯形圖(b)時(shí)序圖圖上升沿和下降沿指令LAD編程實(shí)例4.4.2定時(shí)器和計(jì)數(shù)器指令定時(shí)器和計(jì)數(shù)器是PLC中的重要硬件編程器件,兩者電路結(jié)構(gòu)基本相同,對(duì)內(nèi)部固定脈沖信號(hào)計(jì)數(shù)即為定時(shí)器,對(duì)外部脈沖信號(hào)計(jì)數(shù)即為計(jì)數(shù)器。S7-1500PLC可以使用IEC定時(shí)器、IEC計(jì)數(shù)器、SIMATIC定時(shí)器和SIMATIC計(jì)數(shù)器。點(diǎn)擊此處結(jié)束放映《西門子S7-1500PLC技術(shù)及應(yīng)用》4.2.2定時(shí)器和計(jì)數(shù)器指令1、IEC定時(shí)器指令定時(shí)器指令包括脈沖型定時(shí)器TP、接通延時(shí)定時(shí)器TON、關(guān)斷延時(shí)定時(shí)器TOF和時(shí)間累加器TONR。點(diǎn)擊此處結(jié)束放映《西門子S7-1500PLC技術(shù)及應(yīng)用》1、IEC定時(shí)器指令(1)TP指令(脈沖型定時(shí)器)脈沖型定時(shí)器可生成具有預(yù)設(shè)寬度時(shí)間的脈沖,指令標(biāo)識(shí)符為TP。首次掃描,定時(shí)器輸出Q為0,當(dāng)前值ET為0。點(diǎn)擊此處結(jié)束放映《西門子S7-1500PLC技術(shù)及應(yīng)用》IN是指令使能輸入,0為禁用定時(shí)器,1為啟用定時(shí)器;PT表示預(yù)設(shè)時(shí)間的輸入;Q表示定時(shí)器的輸出狀態(tài);ET表示定時(shí)器的當(dāng)前值,表示定時(shí)器從啟用時(shí)刻開始經(jīng)過的時(shí)間。PT和ET以前綴“T#”+“TIME”數(shù)據(jù)類型表示,取值范圍0~2147483647ms。(1)TP指令(脈沖型定時(shí)器)PT指令執(zhí)行時(shí)的時(shí)序圖。點(diǎn)擊此處結(jié)束放映《西門子S7-1500PLC技術(shù)及應(yīng)用》(2)TON指令(接通延時(shí)定時(shí)器)接通延時(shí)定時(shí)器在預(yù)設(shè)的延時(shí)過后將輸出Q設(shè)置為ON,定時(shí)器的指令標(biāo)識(shí)符為TON。指令中引腳定義與TP指令引腳定義一致。TON指令執(zhí)行時(shí)的時(shí)序圖如圖所示。點(diǎn)擊此處結(jié)束放映《西門子S7-1500PLC技術(shù)及應(yīng)用》(3)TOF指令(關(guān)斷延時(shí)定時(shí)器)

關(guān)斷延時(shí)定時(shí)器在預(yù)設(shè)的延時(shí)過后將輸出Q重置為OFF,定時(shí)器的指令標(biāo)識(shí)符為TOF。指令中引腳定義與TP/TON指令引腳定義一致。TOF指令執(zhí)行時(shí)的時(shí)序圖如圖所示。點(diǎn)擊此處結(jié)束放映《西門子S7-1500PLC技術(shù)及應(yīng)用》(3)TOF指令(關(guān)斷延時(shí)定時(shí)器)TOF指令的工作原理。當(dāng)I0.5為ON時(shí),Q0.4輸出為ON;當(dāng)I0.5變?yōu)镺FF時(shí),Q0.4保持輸出10s后自動(dòng)斷開為OFF。點(diǎn)擊此處結(jié)束放映《西門子S7-1500PLC技術(shù)及應(yīng)用》(4)TONR指令(時(shí)間累加器)時(shí)間累加器在預(yù)設(shè)的延時(shí)過后將輸出Q設(shè)置為ON,標(biāo)識(shí)符為TONR。時(shí)間累加器的功能與接通延時(shí)定時(shí)器的功能基本一致,區(qū)別在于時(shí)間累加器在輸入端IN的狀態(tài)變?yōu)镺FF時(shí),時(shí)間累加器的當(dāng)前值不清零,在使用R輸入重置(復(fù)位)經(jīng)過的時(shí)間之前,會(huì)跨越多個(gè)定時(shí)時(shí)段一直累加經(jīng)過的時(shí)間,而接通延時(shí)定時(shí)器在輸入端IN的狀態(tài)變?yōu)镺FF時(shí),定時(shí)器的當(dāng)前值會(huì)自動(dòng)清零。指令中引腳定義R表示重置定時(shí)器,其余與TP/TON指令引腳定義一致。點(diǎn)擊此處結(jié)束放映《西門子S7-1500PLC技術(shù)及應(yīng)用》(4)TONR指令(時(shí)間累加器)

TONR指令執(zhí)行時(shí)的時(shí)序圖如圖所示。點(diǎn)擊此處結(jié)束放映《西門子S7-1500PLC技術(shù)及應(yīng)用》(4)TONR指令(時(shí)間累加器)TONR指令的工作原理。當(dāng)I0.5接通為ON時(shí),TONR指令執(zhí)行延時(shí)功能,若在定時(shí)器的延時(shí)時(shí)間未到達(dá)10s時(shí),I0.5變?yōu)镺FF,則定時(shí)器的當(dāng)前值保持不變,當(dāng)I0.5再次變?yōu)镺N時(shí),定時(shí)器在原基礎(chǔ)上繼續(xù)往上計(jì)時(shí)。當(dāng)定時(shí)器的延時(shí)時(shí)間到達(dá)10s時(shí),Q0.4輸出為ON。在任何時(shí)候,只要I1.1的狀態(tài)為ON,則該定時(shí)器的當(dāng)前值都會(huì)被清零,輸出Q0.4復(fù)位。點(diǎn)擊此處結(jié)束放映《西門子S7-1500PLC技術(shù)及應(yīng)用》4.4.2定時(shí)器和計(jì)數(shù)器指令1、IEC定時(shí)器指令定時(shí)器應(yīng)用舉例:用3種定時(shí)器設(shè)計(jì)衛(wèi)生間沖水控制電路。I0.7是光電開關(guān)檢測(cè)到的有使用者的信號(hào),用Q1.0控制沖水電磁閥。點(diǎn)擊此處結(jié)束放映《西門子S7-1500PLC技術(shù)及應(yīng)用》4.4.2定時(shí)器和計(jì)數(shù)器指令1、IEC定時(shí)器指令點(diǎn)擊此處結(jié)束放映《西門子S7-1500PLC技術(shù)及應(yīng)用》(a)梯形圖4.4.2定時(shí)器和計(jì)數(shù)器指令1、IEC定時(shí)器指令點(diǎn)擊此處結(jié)束放映《西門子S7-1500PLC技術(shù)及應(yīng)用》(b)時(shí)序圖4.4.2定時(shí)器和計(jì)數(shù)器指令2、IEC計(jì)數(shù)器指令計(jì)數(shù)器用來累計(jì)輸入脈沖的次數(shù)。計(jì)數(shù)器是由集成電路構(gòu)成的,是應(yīng)用非常廣泛的編程元件,可使用計(jì)數(shù)器指令對(duì)內(nèi)部程序事件和外部過程事件進(jìn)行計(jì)數(shù)。計(jì)數(shù)器與定時(shí)器的結(jié)構(gòu)和使用基本相似,編程時(shí)需要輸入預(yù)設(shè)值PV(計(jì)數(shù)的次數(shù)),計(jì)數(shù)器累計(jì)它的脈沖輸入端電位上升沿個(gè)數(shù),當(dāng)計(jì)數(shù)器達(dá)到預(yù)設(shè)值PV時(shí),發(fā)出中斷請(qǐng)求信號(hào),以便PLC作出相應(yīng)的處理。預(yù)設(shè)值PV數(shù)據(jù)類型可為SInt、Int、Dint、USInt、UInt、UDInt。計(jì)數(shù)器指令有3種:加計(jì)數(shù)器指令CTU、減計(jì)數(shù)器指令CTD、加減計(jì)數(shù)器指令CTU。點(diǎn)擊此處結(jié)束放映《西門子S7-1500PLC技術(shù)及應(yīng)用》4.4.2定時(shí)器和計(jì)數(shù)器指令2、IEC計(jì)數(shù)器指令計(jì)數(shù)器用來累計(jì)輸入脈沖的次數(shù),可使用計(jì)數(shù)器指令對(duì)內(nèi)部程序事件和外部過程事件進(jìn)行計(jì)數(shù)。IEC計(jì)數(shù)器與定時(shí)器的結(jié)構(gòu)和使用基本相似,每個(gè)IEC計(jì)數(shù)器均使用IEC_Counter數(shù)據(jù)類型的DB結(jié)構(gòu)來存儲(chǔ)計(jì)數(shù)器數(shù)據(jù)。用戶在編輯器中放置計(jì)數(shù)器指令時(shí)分配相應(yīng)的數(shù)據(jù)塊,STEP7會(huì)在插入指令時(shí)自動(dòng)創(chuàng)建DB。IEC計(jì)數(shù)器指令包含加計(jì)數(shù)器CTU、減計(jì)數(shù)器CTD和加減計(jì)數(shù)器CTUD。編程時(shí)需要輸入預(yù)設(shè)值PV(計(jì)數(shù)的次數(shù)),為整數(shù)數(shù)據(jù)類型(SInt、Int、DInt、LInt、USInt、UInt、UDInt或ULInt)。計(jì)數(shù)器累計(jì)它的脈沖輸入端電位上升沿個(gè)數(shù),當(dāng)計(jì)數(shù)值達(dá)到預(yù)設(shè)值PV時(shí),發(fā)出中斷請(qǐng)求信號(hào),以便PLC作出相應(yīng)的處理。點(diǎn)擊此處結(jié)束放映《西門子S7-1500PLC技術(shù)及應(yīng)用》(1)CTU指令(加計(jì)數(shù)器)首次掃描,計(jì)數(shù)器輸出Q為0,當(dāng)前值CV為0。加計(jì)數(shù)器對(duì)計(jì)數(shù)輸入端CU脈沖輸入的每個(gè)上升沿,計(jì)數(shù)1次,當(dāng)前值增加1個(gè)單位。PV表示預(yù)設(shè)計(jì)數(shù)值,R用來將計(jì)數(shù)值重置為零,CV表示當(dāng)前計(jì)數(shù)值,Q表示計(jì)數(shù)器的輸出參數(shù)。CTU指令執(zhí)行時(shí)的時(shí)序圖如圖所示。點(diǎn)擊此處結(jié)束放映《西門子S7-1500PLC技術(shù)及應(yīng)用》(2)CTD指令(減計(jì)數(shù)器)首次掃描,計(jì)數(shù)器輸出Q為0,當(dāng)前值CV為預(yù)設(shè)值PV。減計(jì)數(shù)器對(duì)計(jì)數(shù)輸入端CD脈沖輸入的每個(gè)上升沿,計(jì)數(shù)1次,當(dāng)前值減少1個(gè)單位。LD用來重新裝載預(yù)設(shè)值,PV、CV、Q與CTU加計(jì)數(shù)器指令管腳定義一致。CTD指令執(zhí)行時(shí)的時(shí)序圖如圖所示。點(diǎn)擊此處結(jié)束放映《西門子S7-1500PLC技術(shù)及應(yīng)用》(3)CTUD指令(加減計(jì)數(shù)器)首次掃描,計(jì)數(shù)器輸出QU和QD均為0,當(dāng)前值CV為0。加減計(jì)數(shù)器對(duì)計(jì)數(shù)輸入端CU脈沖輸入的每個(gè)上升沿,當(dāng)前值增加1個(gè)單位;對(duì)計(jì)數(shù)輸入端CD脈沖輸入的每個(gè)上升沿,當(dāng)前值減少1個(gè)單位。R用來將計(jì)數(shù)值重置為零,LD用來重新裝載預(yù)設(shè)值,QU、QD表示計(jì)數(shù)器的輸出參數(shù),PV、CV與CTU加計(jì)數(shù)器指令管腳定義一致。點(diǎn)擊此處結(jié)束放映《西門子S7-1500PLC技術(shù)及應(yīng)用》(3)CTUD指令(加減計(jì)數(shù)器)CTUD指令執(zhí)行時(shí)的時(shí)序圖如圖所示。點(diǎn)擊此處結(jié)束放映《西門子S7-1500PLC技術(shù)及應(yīng)用》4.4.2定時(shí)器和計(jì)數(shù)器指令2、IEC計(jì)數(shù)器指令計(jì)數(shù)器應(yīng)用舉例:設(shè)計(jì)一個(gè)包裝用傳輸帶,按下啟動(dòng)按鈕啟動(dòng),每傳送100件物品,傳送帶自動(dòng)停止;然后再按下啟動(dòng)按鈕,進(jìn)行下一輪傳送。I0.0接常開啟動(dòng)按鈕,I0.1接光電計(jì)數(shù)傳感器,Q0.0控制傳送帶電機(jī)啟閉,具體控制程序如圖所示。點(diǎn)擊此處結(jié)束放映《西門子S7-1500PLC技術(shù)及應(yīng)用》4.4.2定時(shí)器和計(jì)數(shù)器指令2、IEC計(jì)數(shù)器指令點(diǎn)擊此處結(jié)束放映《西門子S7-1500PLC技術(shù)及應(yīng)用》4.4.3比較指令比較指令包含:比較值指令、IN_RANGE和OUT_RANGE功能框指令、OK和NOT_OK指令、VARIANT指針比較指令。點(diǎn)擊此處結(jié)束放映《西門子S7-1500PLC技術(shù)及應(yīng)用》1、比較值指令比較值指令支持多種比較類型,用來比較數(shù)據(jù)類型相同的IN1和IN2的大小。當(dāng)這兩數(shù)比較的結(jié)果為真時(shí),觸點(diǎn)接通。IN1和IN2的數(shù)據(jù)類型可為:二進(jìn)制,整數(shù),浮點(diǎn)數(shù),字符串,定時(shí)器,日期和時(shí)間數(shù)據(jù)類型等。點(diǎn)擊此處結(jié)束放映《西門子S7-1500PLC技術(shù)及應(yīng)用》比較類型滿足以下條件時(shí)結(jié)果為真==IN1等于IN2<>IN1不等于IN2>=IN1大于等于IN2<=IN1小于等于IN2>IN1大于IN2<IN1小于IN22、IN_RANGE和OUT_RANGE功能框指令I(lǐng)N_RANGE和OUT_RANGE指令將輸入VAL與比較下限MIN和比較上限MAX進(jìn)行比較。VAL與MIN和MAX的數(shù)據(jù)類型可為:整數(shù)和浮點(diǎn)數(shù)。點(diǎn)擊此處結(jié)束放映《西門子S7-1500PLC技術(shù)及應(yīng)用》2、IN_RANGE和OUT_RANGE功能框指令:值在范圍內(nèi)和值在范圍外

功能框輸入信號(hào)狀態(tài)為1時(shí),執(zhí)行IN_RANGE和OUT_RANGE指令。如果輸入VAL的值滿足MIN<=VAL<=MAX,IN_RANGE功能框輸出信號(hào)為“1”,OUT_RANGE功能框輸出信號(hào)為“0”;否則,IN_RANGE功能框輸出信號(hào)為“0”,OUT_RANGE功能框輸出信號(hào)為“1”。點(diǎn)擊此處結(jié)束放映《西門子S7-1500PLC技術(shù)及應(yīng)用》3、OK和NOT_OK指令:檢查有效性和檢查無效性指令OK和NOT_OK指令用于檢查輸入?yún)?shù)IN是否為符合IEEE754規(guī)范的有效實(shí)數(shù)。如果該LAD觸點(diǎn)為真,則激活該觸點(diǎn)并傳遞能流。如果輸入?yún)?shù)IN為有效實(shí)數(shù),則OK指令傳遞能流;如果輸入?yún)?shù)IN不是有效實(shí)數(shù),則NOT_OK指令傳遞能流。點(diǎn)擊此處結(jié)束放映《西門子S7-1500PLC技術(shù)及應(yīng)用》4.4.4數(shù)學(xué)運(yùn)算指令1、加法運(yùn)算指令指令標(biāo)識(shí)符ADD,使能EN輸入有效時(shí),指令會(huì)對(duì)輸入值(IN1和IN2)執(zhí)行相加運(yùn)算并將結(jié)果存儲(chǔ)在通過輸出參數(shù)(OUT)指定的存儲(chǔ)器地址中。運(yùn)算完成后,指令會(huì)設(shè)置輸出使能ENO=1。可單擊“???”并從下拉菜單中選擇指令數(shù)據(jù)類型(整數(shù)或浮點(diǎn)數(shù)據(jù)類型),IN1、IN2和OUT的數(shù)據(jù)類型必須相同。點(diǎn)擊此處結(jié)束放映《西門子S7-1500PLC技術(shù)及應(yīng)用》2、減法運(yùn)算指令指令標(biāo)識(shí)符SUB,使能輸入有效時(shí),指令會(huì)對(duì)輸入值(IN1和IN2)執(zhí)行相減運(yùn)算并將結(jié)果存儲(chǔ)在通過輸出參數(shù)(OUT)指定的存儲(chǔ)器地址中。運(yùn)算完成后,指令會(huì)設(shè)置輸出使能ENO=1??蓡螕簟???”并從下拉菜單中選擇指令數(shù)據(jù)類型(整數(shù)或浮點(diǎn)數(shù)據(jù)類型),IN1、IN2和OUT的數(shù)據(jù)類型必須相同。點(diǎn)擊此處結(jié)束放映《西門子S7-1500PLC技術(shù)及應(yīng)用》3、乘法運(yùn)算指令指令標(biāo)識(shí)符MUL,使能輸入有效時(shí),指令會(huì)對(duì)輸入值(IN1和IN2)執(zhí)行相乘運(yùn)算并將結(jié)果存儲(chǔ)在通過輸出參數(shù)(OUT)指定的存儲(chǔ)器地址中。運(yùn)算完成后,指令會(huì)設(shè)置輸出使能ENO=1??蓡螕簟???”并從下拉菜單中選擇指令數(shù)據(jù)類型(整數(shù)或浮點(diǎn)數(shù)據(jù)類型),IN1、IN2和OUT的數(shù)據(jù)類型必須相同。點(diǎn)擊此處結(jié)束放映《西門子S7-1500PLC技術(shù)及應(yīng)用》4、除法運(yùn)算指令指令標(biāo)識(shí)符DIV,使能輸入有效時(shí),指令會(huì)對(duì)輸入值(IN1和IN2)執(zhí)行相除運(yùn)算并將結(jié)果存儲(chǔ)在通過輸出參數(shù)(OUT)指定的存儲(chǔ)器地址中。整數(shù)除法運(yùn)算會(huì)截去商的小數(shù)部分以生成整數(shù)輸出。運(yùn)算完成后,指令會(huì)設(shè)置輸出使能ENO=1??蓡螕簟???”并從下拉菜單中選擇指令數(shù)據(jù)類型(整數(shù)或浮點(diǎn)數(shù)據(jù)類型),IN1、IN2和OUT的數(shù)據(jù)類型必須相同。點(diǎn)擊此處結(jié)束放映《西門子S7-1500PLC技術(shù)及應(yīng)用》5、遞增和遞減指令遞增(INC)、遞減(DEC)指令,又稱自增和自減,是對(duì)無符號(hào)或有符號(hào)整數(shù)進(jìn)行自動(dòng)增加或減少一個(gè)單位的操作。使能輸入有效時(shí),將IN/OUT值自增或自減,即IN/OUT=IN/OUT±1??蓡螕簟???”并從下拉菜單中選擇指令數(shù)據(jù)類型:SInt、Int、DInt、LInt、USInt、UInt、UDInt、ULInt。點(diǎn)擊此處結(jié)束放映《西門子S7-1500PLC技術(shù)及應(yīng)用》5、遞增和遞減指令程序?qū)嵗鐖D所示,當(dāng)I0.0輸入有效時(shí),執(zhí)行結(jié)果為MB0+1→MB0。點(diǎn)擊此處結(jié)束放映《西門子S7-1500PLC技術(shù)及應(yīng)用》6、數(shù)學(xué)函數(shù)指令使用數(shù)學(xué)函數(shù)指令包括平方、平方根、自然對(duì)數(shù)、指數(shù)、正弦函數(shù)、余弦函數(shù)、正切函數(shù)等常用函數(shù)的指令??蓡螕簟???”并從下拉菜單中選擇指令數(shù)據(jù)類型:Real、LReal,IN和OUT的數(shù)據(jù)類型必須相同。點(diǎn)擊此處結(jié)束放映《西門子S7-1500PLC技術(shù)及應(yīng)用》平方根指令SIN指令6、數(shù)學(xué)函數(shù)指令點(diǎn)擊此處結(jié)束放映《西門子S7-1500PLC技術(shù)及應(yīng)用》指令標(biāo)識(shí)符指令功能說明SQR平方(IN2=OUT)SQRT平方根(√IN=OUT)LN自然對(duì)數(shù)(LN(IN)=OUT)EXP自然指數(shù)(eIN=OUT),其中底數(shù)e=2.71828182845904523536SIN正弦(sin(IN弧度)=OUT)COS余弦(cos(IN弧度)=OUT)TAN正切(tan(IN弧度)=OUT)ASIN反正弦(arcsine(IN)=OUT弧度),其中sin(OUT弧度)=INACOS反余弦(arccos(IN)=OUT弧度),其中cos(OUT弧度)=INATAN反正切(arctan(IN)=OUT弧度),其中tan(OUT弧度)=INFRAC分?jǐn)?shù)(浮點(diǎn)數(shù)IN的小數(shù)部分=OUT)EXPT一般指數(shù)(IN1IN2=OUT)7、CALCULATE指令:計(jì)算指令可以使用CALCULATE指令定義并執(zhí)行表達(dá)式,根據(jù)所選數(shù)據(jù)類型計(jì)算數(shù)學(xué)運(yùn)算或復(fù)雜邏輯運(yùn)算??蓡螕簟???”并從下拉菜單中選擇指令數(shù)據(jù)類型(位字符串、整數(shù)或浮點(diǎn)數(shù)據(jù)類型)。單擊指令框上方的“計(jì)算器”圖標(biāo),可在打開的對(duì)話框中指定待計(jì)算的表達(dá)式。點(diǎn)擊此處結(jié)束放映《西門子S7-1500PLC技術(shù)及應(yīng)用》7、CALCULATE指令:計(jì)算指令程序?qū)嵗鐖D所示,當(dāng)M10.0為1時(shí),執(zhí)行結(jié)果OUT=(IN1+IN2+IN3)/IN4。點(diǎn)擊此處結(jié)束放映《西門子S7-1500PLC技術(shù)及應(yīng)用》4.4.5移動(dòng)指令移動(dòng)指令包含:MOVE指令、MOVE_BLK指令和UMOVE_BLK指令、FILL_BLK指令和UFILL_BLK指令、SWAP交換指令。點(diǎn)擊此處結(jié)束放映《西門子S7-1500PLC技術(shù)及應(yīng)用》1、MOVE指令:移動(dòng)值指令使能輸入EN為“1”時(shí),MOVE指令將存儲(chǔ)在IN指定的源地址的單個(gè)數(shù)據(jù)元素復(fù)制到OUT指定的單個(gè)或多個(gè)目標(biāo)地址(可通過指令框添加多個(gè)目標(biāo)地址),要求IN和OUT的數(shù)據(jù)類型一致。IN和OUT支持字符串、整數(shù)、浮點(diǎn)數(shù)、定時(shí)器、日期時(shí)間等數(shù)據(jù)類型。點(diǎn)擊此處結(jié)束放映《西門子S7-1500PLC技術(shù)及應(yīng)用》2、MOVE_BLK指令和UMOVE_BLK指令MOVE_BLK(可中斷塊移動(dòng))和UMOVE_BLK(不可中斷塊移動(dòng))指令可將一個(gè)存儲(chǔ)區(qū)(源范圍)的數(shù)據(jù)移動(dòng)到另一個(gè)存儲(chǔ)區(qū)(目標(biāo)范圍)中,要求源范圍和目標(biāo)范圍的數(shù)據(jù)類型相同。IN指定源起始地址,OUT指定目標(biāo)起始地址,COUNT用于指定將移動(dòng)到目標(biāo)范圍中的元素個(gè)數(shù)。通過IN中元素的寬度來定義元素待移動(dòng)的寬度。MOVE_BLK指令可中斷,UMOVE_BLK指令不可中斷。點(diǎn)擊此處結(jié)束放映《西門子S7-1500PLC技術(shù)及應(yīng)用》2、MOVE_BLK指令和UMOVE_BLK指令I(lǐng)N和OUT支持二進(jìn)制數(shù)、整數(shù)、浮點(diǎn)數(shù)、定時(shí)器、DATE等數(shù)據(jù)類型。COUNT的數(shù)據(jù)類型為USInt、UInt或UDInt。使能輸入EN為“1”時(shí),執(zhí)行MOVE_BLK和UMOVE_BLK指令。ENO為“1”,表示成功復(fù)制了全部元素;ENO為“0”,表示源(IN)范圍或目標(biāo)(OUT)范圍超出可用存儲(chǔ)區(qū)。點(diǎn)擊此處結(jié)束放映《西門子S7-1500PLC技術(shù)及應(yīng)用》3、FILL_BLK和UFILL_BLK指令FILL_BLK(可中斷填充)和UFILL_BLK(不可中斷填充)指令。使能輸入EN為“1”時(shí)執(zhí)行填充操作,輸入IN的數(shù)據(jù)會(huì)從輸出OUT指定的目標(biāo)起始地址開始填充目標(biāo)存儲(chǔ)區(qū)域,輸入COUNT指定填充范圍。點(diǎn)擊此處結(jié)束放映《西門子S7-1500PLC技術(shù)及應(yīng)用》3、FILL_BLK和UFILL_BLK指令I(lǐng)N和OUT支持二進(jìn)制數(shù)、整數(shù)、浮點(diǎn)數(shù)、定時(shí)器、DATE等數(shù)據(jù)類型。COUNT的數(shù)據(jù)類型為USInt、UInt或UDInt。ENO為“1”,表示指令執(zhí)行無錯(cuò)誤,參數(shù)IN中元素成功復(fù)制到全部的目標(biāo)中;ENO為“0”,表示目標(biāo)(OUT)范圍超出可用存儲(chǔ)區(qū),僅復(fù)制部分元素。點(diǎn)擊此處結(jié)束放映《西門子S7-1500PLC技術(shù)及應(yīng)用》4、SWAP指令SWAP為交換指令,Word、DWord、LWord數(shù)據(jù)類型,用于調(diào)換數(shù)據(jù)元素的字節(jié)順序,但不改變每個(gè)字節(jié)中的位順序。使能輸入EN為“1”時(shí),執(zhí)行SWAP指令,可在輸出OUT中查詢結(jié)果。點(diǎn)擊此處結(jié)束放映《西門子S7-1500PLC技術(shù)及應(yīng)用》4、SWAP指令SWAP指令交換數(shù)據(jù)類型為DWord的操作數(shù)如圖所示。點(diǎn)擊此處結(jié)束放映《西門子S7-1500PLC技術(shù)及應(yīng)用》4.4.6轉(zhuǎn)換指令1.CONV(轉(zhuǎn)換值)指令使能輸入EN有效時(shí),讀取參數(shù)IN的內(nèi)容,并根據(jù)指令框中選擇的數(shù)據(jù)類型對(duì)其進(jìn)行轉(zhuǎn)換,結(jié)果在OUT處輸出。IN和OUT的數(shù)據(jù)類型可以為:位字符串、整數(shù)、浮點(diǎn)數(shù)、Char、WChar、BCD16、BCD32。在LAD和FBD下,單擊“???”并從下拉菜單中選擇轉(zhuǎn)換數(shù)據(jù)類型。點(diǎn)擊此處結(jié)束放映《西門子S7-1500PLC技術(shù)及應(yīng)用》1.CONV(轉(zhuǎn)換值)指令所占存儲(chǔ)器小的數(shù)據(jù)類型向大的數(shù)據(jù)類型轉(zhuǎn)換時(shí),值被傳送到目標(biāo)數(shù)據(jù)類型的最低有效字節(jié);所占存儲(chǔ)器大的數(shù)據(jù)類型向小的數(shù)據(jù)類型轉(zhuǎn)換時(shí),值的低字節(jié)被傳送到目標(biāo)數(shù)據(jù)類型。程序?qū)嵗寒?dāng)I0.0輸入有效時(shí),執(zhí)行結(jié)果為將MD6中的雙整數(shù)型數(shù)據(jù)轉(zhuǎn)換為整數(shù)型存儲(chǔ)在MW0中。如MD6中數(shù)據(jù)為16#0001_2710,執(zhí)行結(jié)果MW0中數(shù)據(jù)為16#2710。點(diǎn)擊此處結(jié)束放映《西門子S7-1500PLC技術(shù)及應(yīng)用》2.ROUND(取整)指令輸入使能EN有效時(shí),將輸入IN的值四舍五入為最接近的整數(shù),結(jié)果在OUT處輸出。如果該數(shù)值剛好是兩個(gè)連續(xù)整數(shù)的一半(如10.5),則將其取整為偶數(shù)。點(diǎn)擊此處結(jié)束放映《西門子S7-1500PLC技術(shù)及應(yīng)用》3.NORM_X(標(biāo)準(zhǔn)化)指令輸入使能EN有效時(shí),將輸入VALUE中變量的值映射到線性標(biāo)尺中對(duì)其進(jìn)行標(biāo)準(zhǔn)化,并將結(jié)果存儲(chǔ)在OUT中。使用參數(shù)MIN和MAX定義輸入VALUE值范圍的限值。MIN、VALUE和MAX為整數(shù)或浮點(diǎn)數(shù)數(shù)據(jù)類型,OUT為浮點(diǎn)數(shù)數(shù)據(jù)類型。可單擊“???”并從下拉菜單中選擇轉(zhuǎn)換數(shù)據(jù)類型。點(diǎn)擊此處結(jié)束放映《西門子S7-1500PLC技術(shù)及應(yīng)用》3.NORM_X(標(biāo)準(zhǔn)化)指令NORM_X指令按以下公式進(jìn)行計(jì)算:OUT=(VALUE–MIN)/(MAX–MIN),對(duì)應(yīng)的計(jì)算原理如圖所示。點(diǎn)擊此處結(jié)束放映《西門子S7-1500PLC技術(shù)及應(yīng)用》4.SCALE_X(縮放)指令輸入使能EN有效時(shí),將輸入VALUE的值縮放到由參數(shù)MIN和MAX定義的值范圍??s放結(jié)果為整數(shù),存儲(chǔ)在OUT輸出中。MIN、VALUE和MAX為整數(shù)或浮點(diǎn)數(shù)數(shù)據(jù)類型,OUT為浮點(diǎn)數(shù)數(shù)據(jù)類型??蓡螕簟???”并從下拉菜單中選擇轉(zhuǎn)換數(shù)據(jù)類型。點(diǎn)擊此處結(jié)束放映《西門子S7-1500PLC技術(shù)及應(yīng)用》4.SCALE_X(縮放)指令SCALE_X指令將按以下公式進(jìn)行計(jì)算:OUT=[VALUE?(MAX–MIN)]+MIN,對(duì)應(yīng)的計(jì)算原理如圖4-22所示。點(diǎn)擊此處結(jié)束放映《西門子S7-1500PLC技術(shù)及應(yīng)用》4.4.7程序控制指令1.跳轉(zhuǎn)和標(biāo)簽指令跳轉(zhuǎn)指令包含:JMP指令和JMPN指令,指令上方的占位符指定該跳轉(zhuǎn)標(biāo)簽(Lable)的標(biāo)識(shí)符。可使用JMP和JMPN指令中斷程序的順序執(zhí)行,并從由跳轉(zhuǎn)標(biāo)簽標(biāo)識(shí)的目標(biāo)程序段繼續(xù)執(zhí)行。Lable_name是跳轉(zhuǎn)指令及相應(yīng)跳轉(zhuǎn)標(biāo)簽的標(biāo)識(shí)符,跳轉(zhuǎn)標(biāo)簽的標(biāo)識(shí)符在程序塊中只能分配一次。點(diǎn)擊此處結(jié)束放映《西門子S7-1500PLC技術(shù)及應(yīng)用》1.跳轉(zhuǎn)和標(biāo)簽指令JMP:如果能流通過JMP線圈,則程序從指定跳轉(zhuǎn)標(biāo)簽后的第一條指令繼續(xù)執(zhí)行。JMPN:如果沒有能流通過JMP線圈,則程序從指定跳轉(zhuǎn)標(biāo)簽后的第一條指令繼續(xù)執(zhí)行。跳轉(zhuǎn)標(biāo)簽(Label):JMP或JMPN跳轉(zhuǎn)指令的目標(biāo)標(biāo)簽。點(diǎn)擊此處結(jié)束放映《西門子S7-1500PLC技術(shù)及應(yīng)用》2.JMP_LIST(跳轉(zhuǎn)列表)指令JMP_LIST指令可定義多個(gè)有條件跳轉(zhuǎn),并執(zhí)行由k參數(shù)的值指定的程序段中的程序。使能輸入EN為“1”時(shí)執(zhí)行指令,并根據(jù)輸入K(UInt數(shù)據(jù)類型)的值跳轉(zhuǎn)到輸出DESTx指定的跳轉(zhuǎn)標(biāo)簽(Label),程序從該跳轉(zhuǎn)標(biāo)簽(Label)標(biāo)識(shí)的目標(biāo)程序段繼續(xù)執(zhí)行。可在JMP_LIST指令框中增加輸出DESTx的數(shù)量,S7-1500PLC最多可以聲明256個(gè)輸出。點(diǎn)擊此處結(jié)束放映《西門子S7-1500PLC技術(shù)及應(yīng)用》3.SWITCH(跳轉(zhuǎn)分支)指令可使用SWITCH指令,根據(jù)一個(gè)或多個(gè)比較指令的結(jié)果,定義要執(zhí)行的多個(gè)程序跳轉(zhuǎn)。比較輸入類型可以選擇為==、<>、<、<=、>、>=。點(diǎn)擊此處結(jié)束放映《西門子S7-1500PLC技術(shù)及應(yīng)用》4.RET(返回)指令RET指令用于終止當(dāng)前程序塊的執(zhí)行。當(dāng)且僅當(dāng)有能流通過RET線圈時(shí),當(dāng)前塊的程序執(zhí)行將在該點(diǎn)終止,并且不執(zhí)行RET指令以后的指令。不要求用戶將RET指令用作塊中的最后一個(gè)指令,一個(gè)塊中可以有多個(gè)RET指令。點(diǎn)擊此處結(jié)束放映《西門子S7-1500PLC技術(shù)及應(yīng)用》4.4.8字邏輯運(yùn)算指令字邏輯運(yùn)算指令包括:與運(yùn)算(AND)、或運(yùn)算(OR)、異或運(yùn)算(XOR)、解碼(DECO)、編碼(ENCO)、多路復(fù)用(MUX)、多路分用(DEMUX)指令等。點(diǎn)擊此處結(jié)束放映《西門子S7-1500PLC技術(shù)及應(yīng)用》1.AND(與運(yùn)算)指令使能輸入EN有效時(shí),將兩個(gè)邏輯數(shù)IN1、IN2按位求與,得到輸出結(jié)果OUT??蓡螕簟???”并從下拉菜單中選擇指令數(shù)據(jù)類型:Byte、Word、DWord或LWord,并將IN1、IN2和OUT設(shè)置為相同的數(shù)據(jù)類型。點(diǎn)擊此處結(jié)束放映《西門子S7-1500PLC技術(shù)及應(yīng)用》1.AND(與運(yùn)算)指令程序?qū)嵗寒?dāng)I0.0輸入有效時(shí),將MB0、MB1中的字節(jié)按位求與,將邏輯結(jié)果存入MB1中。點(diǎn)擊此處結(jié)束放映《西門子S7-1500PLC技術(shù)及應(yīng)用》2.OR(或運(yùn)算)指令使能輸入EN有效時(shí),將兩個(gè)IN1、IN2的邏輯數(shù)按位求或,得到輸出結(jié)果OUT??蓡螕簟???”并從下拉菜單中選擇指令數(shù)據(jù)類型:Byte、Word、DWord或LWord,并將IN1、IN2和OUT設(shè)置為相同的數(shù)據(jù)類型。點(diǎn)擊此處結(jié)束放映《西門子S7-1500PLC技術(shù)及應(yīng)用》3.XOR(異或運(yùn)算)指令使能輸入EN有效時(shí),將兩個(gè)IN1、IN2的邏輯數(shù)按位求異或,得到輸出結(jié)果OUT??蓡螕簟???”并從下拉菜單中選擇指令數(shù)據(jù)類型:Byte、Word、DWord或LWord,并將IN1、IN2和OUT設(shè)置為相同的數(shù)據(jù)類型。點(diǎn)擊此處結(jié)束放映《西門子S7-1500PLC技術(shù)及應(yīng)用》4.DECO(解碼)指令使能輸入EN有效時(shí),DECO指令讀取輸入IN的值,并將輸出值中位號(hào)與讀取IN值相對(duì)應(yīng)的位置1,輸出值得其它位以0填充??蓡螕簟???”并從下拉菜單中選擇指令數(shù)據(jù)類型。IN的數(shù)據(jù)類型為UInt,OUT的數(shù)據(jù)類型為位字符串。點(diǎn)擊此處結(jié)束放映《西門子S7-1500PLC技術(shù)及應(yīng)用》4.DECO(解碼)指令程序?qū)嵗鐖D所示,將4解碼,字MW200=2#0000_0000_0001_0000,可見第4位置1。點(diǎn)擊此處結(jié)束放映《西門子S7-1500PLC技術(shù)及應(yīng)用》5.ENCO(編碼)指令使能輸入EN有效時(shí),ENCO指令讀取輸入IN值的最低有效位,并將該位號(hào)寫入輸出OUT變量中??蓡螕簟???”并從下拉菜單中選擇指令數(shù)據(jù)類型。IN的數(shù)據(jù)類型為位字符串,OUT的數(shù)據(jù)類型為Int。點(diǎn)擊此處結(jié)束放映《西門子S7-1500PLC技術(shù)及應(yīng)用》5.ENCO(編碼)指令程序?qū)嵗鐖D所示,假定字MW200=2#0100_0100_1001_1000,編碼結(jié)果輸出到MW100中,因?yàn)閃M200最低有效位為第3位,所以MW100=3。點(diǎn)擊此處結(jié)束放映《西門子S7-1500PLC技術(shù)及應(yīng)用》6.MUX(多路復(fù)用)指令使能輸入EN有效時(shí),MUX指令將K值選定的輸入內(nèi)容存儲(chǔ)在輸出OUT變量中??梢栽谥噶羁蛑袛U(kuò)展可選輸入的編號(hào),最多可聲明32個(gè)輸入??蓡螕簟???”并從下拉菜單中選擇指令數(shù)據(jù)類型。輸入K為整數(shù)數(shù)據(jù)類型,IN0、IN1、ELSE、OUT的數(shù)據(jù)類型為:二進(jìn)制數(shù)、整數(shù)、浮點(diǎn)數(shù)、定時(shí)器、TOD、DATE等數(shù)據(jù)類型。點(diǎn)擊此處結(jié)束放映《西門子S7-1500PLC技術(shù)及應(yīng)用》7.DEMUX(多路分用)指令使能輸入EN有效時(shí),DEMUX指令將輸入內(nèi)容存儲(chǔ)在輸入K值選定的輸出中,其它輸出保持不變,輸出使能ENO??蓡螕簟???”并從下拉菜單中選擇指令數(shù)據(jù)類型。輸入K為整數(shù)數(shù)據(jù)類型,IN、OUT0、OUT1、ELSE的數(shù)據(jù)類型為:二進(jìn)制數(shù)、整數(shù)、浮點(diǎn)數(shù)、定時(shí)器、TOD、DATE等數(shù)據(jù)類型。點(diǎn)擊此處結(jié)束放映《西門子S7-1500PLC技術(shù)及應(yīng)用》4.4.9移位和循環(huán)指令點(diǎn)擊此處結(jié)束放映《西門子S7-1500PLC技術(shù)及應(yīng)用》1.移位指令移位指令包含SHR右移指令和SHL左移指令,支持位字符串(Byte、Word、Dword、Lword)和整數(shù)(SInt、Int、DInt、USInt、UInt、UDInt)等數(shù)據(jù)類型。輸入IN為待移位的數(shù)據(jù),輸出OUT中保存移位結(jié)果。輸入N用于指定移位位數(shù),數(shù)據(jù)類型為:USInt、UInt、UDInt、ULInt、常數(shù)。點(diǎn)擊此處結(jié)束放映《西門子S7-1500PLC技術(shù)及應(yīng)用》1.移位指令SHL指令將輸入?yún)?shù)IN中的變量按位向左移動(dòng)參數(shù)N指定的位數(shù),并用0填充移位操作清空的位置,將結(jié)果保存在輸出參數(shù)OUT指定的變量中。SHR指令將輸入?yún)?shù)IN中的變量按位向右移動(dòng)參數(shù)N指定的位數(shù),將結(jié)果保存在輸出參數(shù)OUT指定的變量中。如果參數(shù)IN中的變量為無符號(hào)數(shù)據(jù)類型,用0填充移位操作清空的位置;如果參數(shù)IN中的變量為有符號(hào)數(shù)據(jù)類型,則用符號(hào)位填充移位操作清空的位置。點(diǎn)擊此處結(jié)束放映《西門子S7-1500PLC技術(shù)及應(yīng)用》1.移位指令SHR指令示例。點(diǎn)擊此處結(jié)束放映《西門子S7-1500PLC技術(shù)及應(yīng)用》2.循環(huán)移位指令循環(huán)移位指令包含ROR循環(huán)右移指令和ROL循環(huán)左移指令,支持位字符串(Byte、Word、Dword、Lword)和整數(shù)(SInt、Int、DInt、USInt、UInt、UDInt)等數(shù)據(jù)類型。輸入IN中為待循環(huán)移位的數(shù)據(jù),輸出OUT中保存循環(huán)移位結(jié)果。輸入N用于指定循環(huán)移位位數(shù),數(shù)據(jù)類型為:USInt、UInt、UDInt、ULInt、常數(shù)。點(diǎn)擊此處結(jié)束放映《西門子S7-1500PLC技術(shù)及應(yīng)用》2.循環(huán)移位指令循環(huán)移位指令包含ROR循環(huán)右移指令和ROL循環(huán)左移指令,支持位字符串(Byte、Word、Dword、Lword)和整數(shù)(SInt、Int、DInt、USInt、UInt、UDInt)等數(shù)據(jù)類型。輸入IN中為待循環(huán)移位的數(shù)據(jù),輸出OUT中保存循環(huán)移位結(jié)果。輸入N用于指定循環(huán)移位位數(shù),數(shù)據(jù)類型為:USInt、UInt、UDInt、ULInt、常數(shù)。點(diǎn)擊此處結(jié)束放映《西門子S7-1500PLC技術(shù)及應(yīng)用》2.循環(huán)移位指令

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論