第3章s7-300指令系統(tǒng)_第1頁
第3章s7-300指令系統(tǒng)_第2頁
第3章s7-300指令系統(tǒng)_第3頁
第3章s7-300指令系統(tǒng)_第4頁
第3章s7-300指令系統(tǒng)_第5頁
已閱讀5頁,還剩282頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、第3章 西門子S7-300系列PLC基本指令系統(tǒng)第3章S7-300系列PLC編程語言與編程語言與基本指令系統(tǒng)3.1 編程語言編程語言3.2 指令及其結構指令及其結構3.3 位邏輯指令位邏輯指令3.4 定時器與計數(shù)器指令定時器與計數(shù)器指令3.5 數(shù)據(jù)處理功能指令數(shù)據(jù)處理功能指令3.6 數(shù)據(jù)運算指令數(shù)據(jù)運算指令3.7 控制指令控制指令思考與練習題思考與練習題第3章 西門子S7-300系列PLC基本指令系統(tǒng)3.1 s7-300/400編程語言編程語言3.1.1 PLC編程語言的國際標準IEC(國際電工委員會)是為電子技術制定全球標準的世界性組織,IEC61131是PLC的國際標準。它由5部分組成:通

2、用信息、設備要求和測試、編程語言、用戶指南、通信服務規(guī)范。其中IEC61131-3是PLC的編程語言標準。STEP7 是s7-300/400系列PLC編程軟件,軟件包中配備了三種基本編程語言1.梯形圖(LAD)2. 語句表(STL)3.功能塊圖(FBD)除此之外,選件包里提供了一些更高級的編程語言4.順序功能圖(SFC):對應于西門子的s7 Graph,用來編制順序控制程序。5.結構文本(ST):是一種專用的高級語言,類似于PASCAL和C,適合于復雜計算任務和最優(yōu)化算法。第3章 西門子S7-300系列PLC基本指令系統(tǒng)6. S7 HiGraph編程語言使用狀態(tài)圖來描述異步、非順序過程的編程語

3、言。系統(tǒng)被分為幾個功能單元,每個單元呈現(xiàn)不同狀態(tài),各功能單元的同步信息可以在圖形之間交換,需要為不同之間的切換定義轉換條件,用類似于語句表的語言描述指定狀態(tài)的動作和狀態(tài)之間的轉換條件。7. S7 CFC(Continuous Funtion Chart )編程語言以圖形方式連接程序庫中以塊的形式提供的各種功能,包括從簡單的邏輯操作到復雜的閉環(huán)和開環(huán)控制等領域。編程時將這些塊拷貝到圖中并用線連接起來。第3章 西門子S7-300系列PLC基本指令系統(tǒng)編程語言編程語言用戶類用戶類應用應用語句表(STL)愿意用類似于機器碼語言編程的用戶程序在運行時間和存貯空間要求上最優(yōu)梯形圖(LAD)習慣電路圖的用戶

4、編寫邏輯控制程序功能圖(FBD)熟悉布爾代數(shù)邏輯圖的用戶編寫邏輯控制程序SCL(結構控制語言)可選軟件包用高級語言。如PASCAL或C語言編程的用戶數(shù)據(jù)處理任務程序S7 Graph(順序控制)可選軟件包有技術背景,沒有PLC編程經驗的用戶以順序過程的描述很方便S7 HiGraph(狀態(tài)圖形)可選軟件包有技術背景,沒有PLC編程經驗的用戶以異步非順序過程的描述很方便CFC(連續(xù)功能圖)可選軟件包有技術背景,沒有PLC編程經驗的用戶適用于連續(xù)過程的描述第3章 西門子S7-300系列PLC基本指令系統(tǒng)3.1.2 STEP7 編程語言的程序結構為了容易閱讀和理解,程序常常被分成若干部分。我們稱之為塊。

5、程序包括用戶塊和系統(tǒng)塊。3-1第3章 西門子S7-300系列PLC基本指令系統(tǒng)背景DB共享DBFB/SFB背景DBFB/SFBOB操作系統(tǒng)FC/SFCFC/SFC共享DB塊的調用關系如下:第3章 西門子S7-300系列PLC基本指令系統(tǒng)系統(tǒng)啟動過程中,CPU動態(tài)工作過程上電初始化程序 OB100刷新過程映刷新過程映像輸入表像輸入表主程序主程序OB1刷新過程映刷新過程映像輸出表像輸出表注:對于數(shù)字量模塊不一定要進行硬件注:對于數(shù)字量模塊不一定要進行硬件組態(tài),而對于模擬量模塊一定要進行硬件組態(tài),而對于模擬量模塊一定要進行硬件組態(tài)。組態(tài)。第3章 西門子S7-300系列PLC基本指令系統(tǒng)數(shù)據(jù)類型決定了

6、你以什么方式或格式理解或訪問存儲區(qū)中的數(shù)據(jù)?;緮?shù)據(jù)類型:定義不超過32位的數(shù)據(jù) 復式數(shù)據(jù)類型:定義超過32位或由其它數(shù)據(jù)類型組成的數(shù)據(jù)數(shù)據(jù)類型 參數(shù)類型:定義傳給FB塊和FC塊的參數(shù)3.1.3 數(shù)據(jù)類型第3章 西門子S7-300系列PLC基本指令系統(tǒng)1. 基本數(shù)據(jù)類型基本數(shù)據(jù)類型見表常數(shù)的表示可以是字節(jié)、字、或雙字,也可以是十進制、十六進制ASCII或浮點數(shù)形式表示。如B#16#FF, W#16#FFFF,DW#16#FFFF_FFFF,2#1101_1010, L#+5 (32位雙整數(shù))P#為地址指針常數(shù),如P#M2.0 是M2.0的地址S5T#aD_bH_cM_dS_eMS, a,b,c

7、,d,e分別是日、小時、分、秒、毫秒的數(shù)值,時間增量是10MS。C#為計數(shù)器的常數(shù)(BCD碼),如C#250B(b1,b2) 、B(b1,b2,b3,b4)分別用來表示2B、4B常數(shù)。第3章 西門子S7-300系列PLC基本指令系統(tǒng)數(shù)據(jù)類型描述常用符號舉例表 基本數(shù)據(jù)類型BOOL位TRUE,F(xiàn)ALSEBYTE字節(jié)B#16#FFCHAR 字符AWORD 字W#16#FFFF,2#1111_1111_1111_1111, C#999, B(255,255)DWORD 雙字DW#16#FFFF_FFFFF, B(255,255,255,255)INT DINT16位定點數(shù)32位定點數(shù)REAL S5T

8、IME浮點數(shù)S5格式時間值TIME DATEIEC格式時間值日期TIME_OF_DAY時間日期1位8位8位16位32位16位32位32位16位32位16位32位-32768+32767-2 147 483 648+2 147 483 6471.234E+02S5T#0ms, S5TIME #2h46m30s (最大值)T# -24d20h31m23s6ms ,TIME#24d20h31m23s6msD#1990_01_01 ,Date #2089_12_31TOD#00:00:00:000 ,TIME_OF_DAY#23:59:59.999第3章 西門子S7-300系列PLC基本指令系統(tǒng)2.復

9、合數(shù)據(jù)類型(1)數(shù)組(ARRAY)將同一類型的數(shù)據(jù)合成一組,形成一個單元。(2)結構(STRUCT)將不同類型的數(shù)據(jù)合成一組,形成一個單元。(3)字符串(STRING) 將多個字符(CHAR)組成一維數(shù)組,形成字符串。(4)其它日期和時間類型、用戶定義的數(shù)據(jù)類型UDT。其中UDT類型在FB塊中也常常使用。3. 參數(shù)類型參數(shù)類型為邏輯塊之間傳遞形參而設定的。(1)TIMER和COUNT,如T3,C21(2)BLOCK,如FB,第3章 西門子S7-300系列PLC基本指令系統(tǒng)()POINTER(指針)指針指向一個變量的地址,即用地址作實參,如p#m50.0是指向M50.0雙字地址指針。 (4)AN

10、Y 用于實參的數(shù)據(jù)類型未知或實參可以使用任意數(shù)據(jù)類型的情況。占用10B,如p#DB1.DBX0.0 BYTE 30,表示DB1中以0地址為起始地址的30個字節(jié)。4.1.3 CPU的存儲區(qū)裝載存儲器工作存儲器RAM 系統(tǒng)存儲器RAM動態(tài)裝載存儲器RAM可保持的裝載存儲器FEPROM用戶程序,如邏輯塊,數(shù)據(jù)塊位存儲器,定時器,計數(shù)器局部數(shù)據(jù)堆棧,塊堆棧中斷堆棧,中斷緩沖區(qū)過程映像I/O表第3章 西門子S7-300系列PLC基本指令系統(tǒng) 裝載存儲器裝載存儲器是是RAM和和FEPROM,用于保存不包含地址和注釋的用戶程序和系統(tǒng)數(shù)據(jù)(組態(tài)、連接和模塊參數(shù)等)。有的CPU有集成裝載存儲器,有的可以用微存儲

11、卡(MMC)來擴展。斷電時數(shù)據(jù)保存在MMC存儲器中,因此數(shù)據(jù)塊的內容基本上被永久保存。下載程序時,用戶程序(邏輯塊和數(shù)據(jù)塊)被下載到CPU的裝載存儲器中,CPU把可執(zhí)行的部分復制到工作存儲器,符號表和注釋保存在編程設備中。工作存儲器工作存儲器是集成的高速存取的RAM存儲器,用于存儲CPU運行時的用戶程序和數(shù)據(jù),如組織塊、功能塊、功能、數(shù)據(jù)塊。復位CPU的存儲器時,RAM中的程序被清除,F(xiàn)EPROM中的程序不會被清除。系統(tǒng)存儲器系統(tǒng)存儲器為用戶提供的存儲器組件,被劃分為若干個地址區(qū)域,如過程映像輸入I、過程映像輸出Q、位存儲器M、定時器T、計數(shù)器C、塊堆棧(B堆棧)、中斷堆棧(I中斷)和診斷緩沖

12、區(qū)等。第3章 西門子S7-300系列PLC基本指令系統(tǒng)外設I/O存儲區(qū)輸出輸入位存儲區(qū)定時器計數(shù)器CPU利用外設(P)存儲區(qū)直接讀/寫總線上的模塊這些系統(tǒng)存儲區(qū)的大小由CPU的型號決定可執(zhí)行用戶程序:邏輯塊(OB、FB、FC)數(shù)據(jù)塊(DB)臨時本地數(shù)據(jù)存儲區(qū)(L堆棧)PQIMTC系統(tǒng)存儲區(qū)工作存儲區(qū)累加器 1(ACCU1)累加器 2(ACCU2)累加器32位地址寄存器 1(AR1)地址寄存器32位地址寄存器 2(AR2)可選的固定裝載存儲區(qū)(FEPROM):存放用戶程序裝載存儲區(qū)打開的共享數(shù)據(jù)塊號 DB32位狀態(tài)位狀態(tài)字寄存器16位動態(tài)裝載存儲區(qū)(RAM):存放用戶程序數(shù)據(jù)塊地址寄存器打開的背

13、景數(shù)據(jù)塊號 DB(DI)S7-300 PLC存儲區(qū)存儲區(qū)圖 S7- 300存儲區(qū)示意圖第3章 西門子S7-300系列PLC基本指令系統(tǒng)表表 程序可訪問的存儲區(qū)及功能程序可訪問的存儲區(qū)及功能名 稱 存儲區(qū) 存儲區(qū)功能 輸入(I) 過程輸入映像表 掃描周期開始,操作系統(tǒng)讀取過程輸入值并錄入表中,在處理過程中,程序使用這些值。每個 CPU 周期,輸入存儲區(qū)在輸入映像表中存放輸入狀態(tài)值。輸入映像表是外設輸入存儲區(qū)首 128 B 的映像 輸出(Q) 過程輸出映像表 在掃描周期中,程序計算輸出值并存儲在該表中;在掃描周期結束后,操作系統(tǒng)從表中讀取輸出值,并傳送到過程輸出口。過程輸出映像表是外設輸出存儲區(qū)的

14、首 128 B 的映像 位存儲區(qū)(M) 存儲位 存放程序運算的中間結果 外設輸入(PI) 外設輸出(PQ) I/O:外設輸入 I/O:外設輸出 外設存儲區(qū)允許直接訪問現(xiàn)場設備(物理的或外部的輸入和輸出),外設存儲區(qū)可以以字節(jié)、字和雙字格式訪問,但不可以以位方式訪問 定時器(T) 定時器 為定時器提供存儲區(qū),計時時鐘訪問該存儲區(qū)中的計時單元,并以減法更新計時值。定時器指令可以訪問該存儲區(qū)和計時單元 計數(shù)器(C) 計數(shù)器 為計數(shù)器提供存儲區(qū),計數(shù)指令訪問該存儲區(qū) 臨時本地數(shù)據(jù)(L) 本地數(shù)據(jù)堆棧 (L 堆棧) 在 FB、FC 或 OB 運行時設定,將在塊變量聲明表中聲明的暫時變量存在該存儲區(qū)中,提

15、供空間以傳送某些類型參數(shù)和存放梯形圖中間結果。塊結束執(zhí)行時,臨時本地存儲區(qū)再行分配,不同的 CPU提供不同數(shù)量的臨時本地存儲區(qū) 數(shù)據(jù)塊(DB) 數(shù)據(jù)塊 存放程序數(shù)據(jù)信息,可被所有邏輯塊公用(“共享”數(shù)據(jù)塊)或被FB 特定占用“背景”數(shù)據(jù)塊 第3章 西門子S7-300系列PLC基本指令系統(tǒng)3.2 指令及其結構指令及其結構3.2.1 指令的組成指令的組成 1. 語句指令語句指令語句指令用助記符表示PLC要完成的操作。指令:操作碼操作數(shù)操作碼用來指定要執(zhí)行的功能,告訴該進行什么操作;操作數(shù)內包含為執(zhí)行該操作所必需的信息,告訴用什么地方的數(shù)據(jù)來執(zhí)行此操作。例如:A I 1.0該指令是一條位邏輯操作指令

16、,其中:“A”是操作碼,它表示執(zhí)行“與”操作;“I 1.0”是操作數(shù),它指出這是對輸入繼電器I 1.0進行的操作。第3章 西門子S7-300系列PLC基本指令系統(tǒng) 有些語句指令不帶操作數(shù)。它們操作的對象是惟一的,故為簡便起見,不再特別說明。例如:NOT /是對邏輯操作結果(RLO)取反SET /把RLO置1。第3章 西門子S7-300系列PLC基本指令系統(tǒng) 2. 梯形邏輯指令梯形邏輯指令 梯形邏輯指令用圖形元素表示PLC要完成操作。在梯形邏輯指令中,其操作碼是用圖素表示的,該圖素形象表明CPU做什么,其操作數(shù)的表示方法與語句指令相同。如:例如: 該梯形圖中:( )可認為是操作碼,表示一個二進制

17、賦值操作。Q 0.0是操作數(shù),表示賦值的對象。 梯形邏輯指令也可不帶操作數(shù)。 |NOT| 是對邏輯操作結果取反的操作。 第3章 西門子S7-300系列PLC基本指令系統(tǒng)4.2.2 操作數(shù)操作數(shù) 1. 標識符及標識參數(shù)標識符及標識參數(shù)主標識符(操作數(shù)存放的存儲器的區(qū)域): I、Q、PI、PQ、M、T、C、L、DB 輔助標識符 (操作數(shù)的位數(shù)長度):X、B、W、D 標識符 標識參數(shù) (操作數(shù)在該存儲區(qū)域內的具體位置) 操作數(shù) 注釋:注釋: I:輸入過程映像存儲區(qū) Q:輸出過程映像存儲區(qū) PI:外部輸入 PQ:外部輸出M:位存儲區(qū) T:定時器 C:計數(shù)器 L:本地數(shù)DB:數(shù)據(jù)X:位B:字W:D:雙字

18、注意:注意:PLC物理存儲器是以字節(jié)為 單位的。當操作數(shù)長度是字或雙字時,標識符后給出的標識參數(shù)是字或雙字內的最低字節(jié)單元號。 當使用寬度是字或雙字的地址時,應保證沒有生成任何重疊的字節(jié)分配,以免造成數(shù)據(jù)讀寫錯誤。第3章 西門子S7-300系列PLC基本指令系統(tǒng)一般情況下,指令的操作數(shù)在PLC的存儲器中,此時操作數(shù)由操作數(shù)標識符和參數(shù)組成。操作數(shù)標識符告訴處理器操作數(shù)放在存儲器的哪個區(qū)域及操作數(shù)位數(shù);標識參數(shù)則進一步說明操作數(shù)在該存儲區(qū)域內的具體位置。 操作數(shù)標識符由主標識符和輔助標識符組成。主標識符表示操作數(shù)所在的存儲區(qū),輔助標識符進一步說明操作數(shù)的位數(shù)長度。若沒有輔助標識符指操作數(shù)的位數(shù)是

19、一位。第3章 西門子S7-300系列PLC基本指令系統(tǒng) 主標識符有:I(輸入過程映像存儲區(qū)),Q(輸出過程映象存儲區(qū)),M(位存儲區(qū)),PI(外部輸入),PQ(外部輸入),T(定時器),C(計數(shù)器),DB(數(shù)據(jù)塊),L(本地數(shù)據(jù));輔助標識符有:X(位),B(字節(jié)),W(字2字節(jié)),D(雙字4字節(jié))。 PLC物理存儲器是以字節(jié)為單位的,所以存儲單元規(guī)定為字節(jié)單元。位地址參數(shù)用一個點與字節(jié)地址分開。如:M 10.1 當操作數(shù)長度是字或雙字時,標識符后給出的標識參數(shù)是字或雙字內的最低字節(jié)單元號。圖3.1給出了字節(jié)、字、雙字的相互關系及表示方法。當使用寬度為字或雙字的地址時,應保證沒有生成任何重疊的

20、字節(jié)分配,以免造成數(shù)據(jù)讀寫錯誤。第3章 西門子S7-300系列PLC基本指令系統(tǒng)圖3.1 以字節(jié)單元為基準標記存儲器存儲單元位 7 6 5 4 3 2 1 0 MB 10 10.7 10.1 10.0 MB 11 MW 10 MB 12 MW 11 MB 13 MW 12 MD 10 MB 14 位存儲區(qū)M第3章 西門子S7-300系列PLC基本指令系統(tǒng)表表3.2 存儲區(qū)及其功能存儲區(qū)及其功能 區(qū)域名稱 區(qū)域功能 訪問區(qū)域的單位 標識符 最大地址范圍 輸入過程映像存儲區(qū) (I) 在循環(huán)掃描的開始, 操作系統(tǒng)從過程中讀取輸入信號存入本區(qū)域,供程序使用 輸入位 輸入字節(jié) 輸入字 輸入雙字 I IB

21、 IW ID 065 535.7 065 535 065 534 065 532 輸入過程映像存儲區(qū) (Q) 在循環(huán)掃描期間、 程序運算得到的輸出值存入本區(qū)域。 在循環(huán)掃描的末尾, 操作系統(tǒng)從中讀出輸出值并將其傳送至輸出模板 輸出位 輸出字節(jié) 輸出字 輸出雙字 Q QB QW QD 065 535.7 065 535 065 534 065 532 位存儲器 (M) 本區(qū)域提供的存儲器用于存儲在程序中運算的中間結果 存儲器位 存儲器字節(jié) 存儲器字 存儲器雙字 M MB MW MD 0255.7 0255 0254 0252 外部輸入 (PI) 外部輸出 (PQ) 通過本區(qū)域, 用戶程序能夠直接

22、訪問輸入和輸出模板(即外部輸入和輸出信號) 外部輸入字節(jié) 外部輸入字 外部輸入雙字 外部輸出字節(jié) 外部輸出字 外部輸出雙字 PIB PIW PID PQB PQW PQD 065 535 065 534 065 532 065 535 065 534 065 532 第3章 西門子S7-300系列PLC基本指令系統(tǒng)定時器(T) 定時器指令訪問本區(qū)域可得到定時剩余時間 定時器(T) T 0255 計數(shù)器(C) 計數(shù)器指令訪問本區(qū)域可得到當前計數(shù)器值 計數(shù)器(C) C 0255 數(shù)據(jù)塊(DB) 本區(qū)域包含所有數(shù)據(jù)塊的數(shù)據(jù)。 如果需要同時打開兩個不同的數(shù)據(jù)塊,可用“OPN DB”打開一個,用“OPN

23、 DI”打開另一個。用指令L DBWi和L DIWi進一步確定被訪問數(shù)據(jù)塊中的具體數(shù)據(jù),在用“OPN DI”指令打開一個數(shù)據(jù)時,打開的是與功能塊(FBs)和系統(tǒng)功能塊(SFBs)相關聯(lián)的背景數(shù)據(jù)塊 用 “OPN DB” 打開數(shù)據(jù)塊: 數(shù)據(jù)位 數(shù)據(jù)字節(jié) 數(shù)據(jù)字 數(shù)據(jù)雙字 用 “OPN DI” 打開數(shù)據(jù)塊: 數(shù)據(jù)位 數(shù)據(jù)字節(jié) 數(shù)據(jù)字 數(shù)據(jù)雙字 DBX DBB DBW DBD DIX DIB DIW DID 065 535.7 065 535 065 534 065 532 065 535.7 065 535 065 534 065 532 本地數(shù)據(jù)(L) 本區(qū)域存放邏輯塊(OB, FB或FC)中使

24、用的臨時數(shù)據(jù), 也稱為動態(tài)本地數(shù)據(jù)。 一般用作中間暫存器。當邏輯塊結束時,數(shù)據(jù)丟失, 因為這些數(shù)據(jù)是存儲在本地數(shù)據(jù)堆棧(L堆棧)中的 臨時本地數(shù)據(jù)位 臨時本地數(shù)據(jù)字節(jié) 臨時本地數(shù)據(jù)字 臨時本地數(shù)據(jù)雙字 L LB LW LD 065 535.7 065 535 065 534 065 532 表表3.2 存儲區(qū)及其功能存儲區(qū)及其功能 第3章 西門子S7-300系列PLC基本指令系統(tǒng)2. 操作數(shù)的表示法操作數(shù)的表示法操作數(shù)的表示法 物理地址(絕對地址)符號地址(必須先定義后使用,而且符號名必須是唯一的)關于定義符號地址的幾點說明:當你在表中輸入符號地址時,應注意以下幾點:列列注意注意符號在整個符號

25、表中名字必須唯一。當你確認該區(qū)域的輸入或退出該區(qū)域時,不唯一的符號則被標定出來。符號名最長可達24個字符。引號(“”)不允許使用。地址當你確認該區(qū)域的輸入或退出該區(qū)域時,程序會自動檢查該地址輸入是否是允許的。數(shù)據(jù)類型當你確認或退出地址時,該區(qū)域被自動地賦予一個缺省數(shù)據(jù)類型。如果你修改這個缺省類型,程序會檢查你的數(shù)據(jù)類型是否與地址相匹配。注釋你可以輸入注釋簡單地解釋該符號的功能(最多80個字符)。第3章 西門子S7-300系列PLC基本指令系統(tǒng)在STEP7中,操作數(shù)有兩種表示方法:一是物理地址(絕對地址)表示法;二是符號地址表示法。為一個物理地址定義有意義的符號名,可使程序的可讀性增強,降低編程

26、時由于筆誤而造成的程序錯誤。 用物理地址表示操作數(shù)時,要明確指出操作數(shù)的所在存儲區(qū),該操作數(shù)的位數(shù)具體位置。例如:Q 4.0是用物理地址表示的操作數(shù),其中Q表示這是一個在輸出過程映像區(qū)中的輸出位,具體位置是第四個字節(jié)的第0位。 STEP7 允許用符號地址表示操作數(shù),如Q 4.0可用符號名MOTOR_ON替代表示,符號名必須先定義后使用,而且符號名必須是惟一的,不能重名。定義符號時,需要指明操作數(shù)所在的存儲區(qū),操作數(shù)的位數(shù)、具體位置及數(shù)據(jù)類型。第3章 西門子S7-300系列PLC基本指令系統(tǒng)3. 局域(塊定義)符號和共享符號 共享符號共享符號局域符號局域符號有效性在整個用戶程序中有效可以被所有的

27、塊使用在所有的塊中含義是一樣的在整個用戶程序中是唯一的只在定義的塊有效相同的符號可在不同的塊中用于不同的目的允許使用的字符字母、數(shù)字及特殊字符。除0X00,0XFF及引號以外的強調號如使用特殊字符,則符號須寫出在引號內。字母數(shù)字下劃線(_)(注意:不允許使用兩個連續(xù)的下劃線)使用你可以為以下各項定義共享符號:I/O信號(I,IB,IW,ID,Q,QB,QW,QD)I/O輸入與輸出(PI,PQ)存儲位(M,MB,MW,MD)定時器(T)/計數(shù)器(C)邏輯塊(FB,F(xiàn)C,SFB,SFC)數(shù)據(jù)塊(DB)用戶定義數(shù)據(jù)類型(UDT)變量表(VAT)你可以為以下各項定義局域符號:塊參數(shù)(輸入,輸出和輸入輸

28、出參數(shù))塊的靜態(tài)數(shù)據(jù)塊的臨時數(shù)據(jù)在哪里定義符號表塊的變量聲明表第3章 西門子S7-300系列PLC基本指令系統(tǒng)符號表中定義的符號(共享)顯示在引號內。塊變量聲明表中的符號(局域)顯示時前面加上“#”。提示:使用菜單命令ViewDisplaySymbolic Representation,你可以在所有聲明的符號地址和絕對地址之間進行切換。第3章 西門子S7-300系列PLC基本指令系統(tǒng)3.2.3 尋址方式尋址方式 操作數(shù)是指令的操作或運算對象。所謂尋址方式是指令得到操作數(shù)的方式,可以直接給出或間接給出??捎米鱏TEP7指令操作對象的有:常數(shù);S7狀態(tài)字中的狀態(tài)位;S7的各種寄存器、數(shù)據(jù)塊;功能塊

29、FB,F(xiàn)C和系統(tǒng)功能塊SFB,SFC;S7的各存儲區(qū)中的單元。 S7有四種尋址方式,它們分別是:立即尋址、存儲器直接尋址、存儲器間接尋址和寄存器間接尋址。立即尋址:操作數(shù)本身直角接包含在指令中直接尋址:指令中直接給出操作數(shù)的存儲單元地址 存儲器間接尋址寄存器間接尋址 S7尋址方式第3章 西門子S7-300系列PLC基本指令系統(tǒng) 1. 立即尋址立即尋址 這是對常數(shù)或常量的尋址方式。操作數(shù)本身直接包含在指令中。有些指令中的操作數(shù)是惟一的,為方便起見不再在指令中特別寫出。下面是立即尋址的例子:SET /把RLO置1OW W#16#A320 /將常量W#16#A320與累加器1“或”運算L 27 /把

30、整數(shù)27裝入累加器1L ABCD /把ASCII碼字符ABCD裝入累加器1L C#0100 /把BCD碼常數(shù)0100裝入累加器1 第3章 西門子S7-300系列PLC基本指令系統(tǒng) 2. 直接尋址直接尋址 包括對寄存器和存儲器的直接尋址。在直接尋址的指令中,直接給出操作數(shù)的存儲單元地址。例如:A I 0.0 /對輸入位I 0.0進行“與”邏輯操作S L 20.0 /把本地數(shù)據(jù)位L 20.0置1= M 115.4 /使存儲區(qū)位M 115.4的內容等于RLO的內容L IB 10 /把輸入字節(jié)IB 10的內容裝入累加器1T DBD 12 /把累加器1中的內容傳送給數(shù)據(jù)雙字DBD 12中第3章 西門子S

31、7-300系列PLC基本指令系統(tǒng) 3. 存儲器間接尋址存儲器間接尋址 在存儲器間接尋址的指令中,給出一個存儲器(必須是表3.1中的存儲器),該存儲器的內容是操作數(shù)所在存儲單元的地址,該地址又被稱為地址指針。存儲器間接尋址方式的優(yōu)點是,當程序執(zhí)行時,能改變操作數(shù)的存儲器地址,這對程序中的循環(huán)尤為重要。以下是使用存儲器雙字指針間接尋址的例子: A IMD 2 /對由MD 2指出的輸入位進行“與”邏輯操作。如:MD 2的值為 /2#0000 0000 0000 0000 0000 0000 0101 0110,則是對I 10.6進行“與”操作。 = DIXDBD 2 /將RLO賦值給數(shù)據(jù)位,具體數(shù)據(jù)

32、由數(shù)據(jù)雙字DBD 2指出。第3章 西門子S7-300系列PLC基本指令系統(tǒng) L IBDID 4 /將由數(shù)據(jù)雙字DID 4指出的輸入字節(jié)裝入累加器1。如:DID 4的值為2#0000 0000 0000 0000 0000 0000 / 0101 0000,則是對IB 10進行裝入操作。 O QLD 3 /對由本地數(shù)據(jù)雙字指出的輸出位進行“或”邏輯操作。第3章 西門子S7-300系列PLC基本指令系統(tǒng) 依據(jù)要描述的地址復雜程度,地址指針可以是字或雙字的,存儲指針的存儲器大小也應是字的或雙字的,由于定時器(T)、計數(shù)器(C)、數(shù)據(jù)塊(DB)、功能塊(FB或FC)的編號范圍在0到65 535之內,所

33、以用字指針就足夠了,相應的也只需字存儲器存儲指針。其它的地址,如:輸入位、輸出位,則要用到雙字指針,并用雙字存儲器存儲指針。指針的兩種格式如圖3.2所示。如果要用雙字格式的指針訪問一個字、字節(jié)或雙字存儲器,必須保證指針中的位編號為0。第3章 西門子S7-300系列PLC基本指令系統(tǒng)圖3.2 存儲器間接尋址的指針格式 15 8 7 0 字指針格式 nnnn nnnn nnnn nnnn 位 0至 15(范圍 0至 65535):用于定時器(T)、計數(shù)器(C)、數(shù)據(jù)塊(DB)、功能塊(FB與 FC)的編號 31 24 23 16 15 8 7 0 雙字指針格式 0000 0000 0000 0bb

34、b bbbb bbbb bbbb b 位3至18(范圍0至65535):被尋址字節(jié)的字節(jié)編號 位0至2(范圍0至7):被尋址位的位編號第3章 西門子S7-300系列PLC基本指令系統(tǒng)下面的例子顯示如何產生字或雙字指針并用其尋址:L +5 /將整數(shù)+5裝入累加器1T MW 2 /將累加器1的內容傳送給存儲字MW 2,此時MW 2的內容為5OPN DBMW 2 /打開由MW 2指出的數(shù)據(jù)塊,即,打開數(shù)據(jù)塊5L P#8.7 /將2#0000 0000 0000 0000 0000 0000 0100 0111(二進制數(shù))裝入累加器1T MD 2 /將累加器1的內容傳送給存儲字MD 2,此時MD 2的

35、內容為/2#0000 0000 0000 0000 0000 0000 0100 0111L P#4.0 /將2#0000 0000 0000 0000 0000 0000 0010 0000裝入累加器1,累/加器1原內容被裝入累加器2第3章 西門子S7-300系列PLC基本指令系統(tǒng)+I /將累加器1和累加器2內容相加,在累加器1中得到的“和”為 /2#0000 0000 0000 0000 0000 0000 0110 0111T MD 4 /將累加器1的當前內容傳送給存儲字MD 4A IMD 2 /對輸入位I 8.7進行“與”邏輯操作= QMD 4 /將RLO賦值給輸出位Q 12.7第3章

36、 西門子S7-300系列PLC基本指令系統(tǒng) 4. 寄存器間接尋址寄存器間接尋址 在S7中有兩個地址寄存器,它們是AR1和AR2。通過地址寄存器,可以對各存儲區(qū)的存儲器內容實現(xiàn)寄存器間接尋址。地址寄存器的內容加上偏移量形成地址指針,該指針指向數(shù)值所在的存儲單元。第3章 西門子S7-300系列PLC基本指令系統(tǒng) 地址寄存器存儲的地址指針有兩種格式,其長度均為雙字。圖3.3給出了這兩種格式的細節(jié)及其差別。其中,第一種地址指針格式包括被尋址數(shù)值所在存儲單元地址的字節(jié)編號和位編號,至于對哪個存儲區(qū)尋址,則必須在指令中明確直接給出。這種指針格式適用于在確定的存儲區(qū)內尋址,即區(qū)內寄存器間接尋址。而第二種地址

37、指針格式中還包含了數(shù)值所在存儲區(qū)的說明位(存儲區(qū)域標志位),這樣,就可通過改變這些位,實現(xiàn)跨區(qū)尋址,這種指針格式用于區(qū)域間寄存器間接尋址。區(qū)域標識位的組合狀態(tài)見表3.2。第3章 西門子S7-300系列PLC基本指令系統(tǒng)圖3.3 寄存器間接尋址的指針格式 000 0r r r 0000 0bbb bbbb bbbb bbbb b 31 24 23 16 15 8 7 0位31=0表明是區(qū)域內寄存器間接尋址;=1表明是區(qū)域間寄存器間接尋址。位24、25和26(r r r):區(qū)域標識(見表3.2)位3至18(bbbb bbbb bbbb bbbb):被尋址位的字節(jié)編號(范圍0至65535)位0至2(

38、):被尋址的位編號(范圍0至7)第3章 西門子S7-300系列PLC基本指令系統(tǒng)表表3.3 地址指針區(qū)域標識位含義地址指針區(qū)域標識位含義區(qū)域標識符 存儲區(qū) 位 26、25 和 24 的二進制內容 P I/O,外設 I/O 000 I 輸入過程暫存區(qū) 001 Q 輸出過程暫存區(qū) 010 M 位存儲區(qū) 011 DBX 共享數(shù)據(jù)塊 100 DIX 背景數(shù)據(jù)塊 101 L 本地數(shù)據(jù) 111 第3章 西門子S7-300系列PLC基本指令系統(tǒng) 如果要用到寄存器指針格式訪問一個字節(jié)、字或雙字,則必須保證指針中位地址編號為0。下面的例子分別說明如何使用這兩種指針格式實現(xiàn)間接尋址:L P#8.6 /將2#000

39、0 0000 0000 0000 0000 0000 0100 0110裝入累加器1LAR1 /將累加器1的內容傳送至地址寄存器1A IAR1,P#0.0 /地址寄存器1加偏移量結果為2#0000 0000 0000 0000 / / / 0000 0000 0100 0110,指明是對輸入位I 8.6進行“與”操作= QAR1,P#4.1 /地址寄存器1加偏移量結果為2#0000 0000 0000 0000 / / / 0000 0000 01100111,指明對輸出位Q12.7進行賦值操作L P#8.0 /將2#0000 0000 0000 0000 0000 0000 0100 000

40、0裝入累加器1第3章 西門子S7-300系列PLC基本指令系統(tǒng)LAR2 /將累加器1的內容傳送至地址寄存器2L IBAR2,P#2.0 /將輸入字節(jié)IB 10的內容裝入累加器1T MWAR2,P#200.0 /將累加器1的內容傳送至存儲字MW 208L P#I8.7 /將2#1000 0001 0000 0000 0000 0000 0100 0111裝入累加器1LAR1 /將累加器1的內容傳送至地址寄存器1L P#Q8.7 /將2#1000 0010 0000 0000 0000 0000 0100 0111裝入累加器1LAR2 /將累加器1的內容傳送至地址寄存器2A AR1,P#0.0 /

41、對輸入位I 8.7進行“與”邏輯操作= AR2,P#1.1 /賦值給輸出位Q10.0 L P#I8.0 /將輸入位I 8.0的雙字指針裝入累加器1第3章 西門子S7-300系列PLC基本指令系統(tǒng)LAR2 /將累加器1的內容傳送至地址寄存器2L P#M8.0 /將存儲位M 8.0的雙字指針裝入累加器1LAR1 /將累加器1的內容傳送至地址寄存器1L BAR2,P#2.0 /把輸入字節(jié)IB 10裝入累加器1,輸入字節(jié)10為8(AR2)加2(偏移量)T DAR1,P#56.0 /把存儲雙字MD 64裝入累加器1,存儲雙字64為8(AR1)/加56(偏移量)第3章 西門子S7-300系列PLC基本指令

42、系統(tǒng)3.2.4 狀態(tài)字狀態(tài)字 狀態(tài)字用于表示CPU執(zhí)行指令時所具有的狀態(tài)。一些指令是否執(zhí)行或以何方式執(zhí)行可能取決于狀態(tài)字中的某些位;執(zhí)行指令時也可能改變狀態(tài)字中的某些位;你也能在位邏輯指令或字邏輯指令中訪問并檢測它們。圖3.4顯示了狀態(tài)字的結構。圖3.4 狀態(tài)字的結構 BR CC1 CC0 OS OV OR STA RLO FC 15 9 8 7 6 5 4 3 2 1 0第3章 西門子S7-300系列PLC基本指令系統(tǒng) (1)首次檢測位(FC) 狀態(tài)字的位0稱為首次檢測位。若FC位的狀態(tài)為0,則表明一個梯形邏輯網絡的開始,或指令為邏輯串第一條指令。CPU對邏輯串第一條指令的檢測(稱為首次檢測

43、)產生的結果直接保存在狀態(tài)字的RLO位中,經過首次檢測存放在RLO中的0或1被稱為首次檢測結果。FC位在邏輯串的開始時總是0,在邏輯串指令執(zhí)行過程中FC位為1,輸出指令或與邏輯運算有關的轉移指令(表示一個邏輯串結束的指令)將FC清0。 第3章 西門子S7-300系列PLC基本指令系統(tǒng) (2)邏輯操作結果(RLO) 狀態(tài)字的位1稱為邏輯操作結果RLO(Result of Logic Operation)。該位存儲位邏輯指令或算術比較指令的結果。在邏輯串中,RLO位的狀態(tài)能夠表示有關信號流的信息。RLO的狀態(tài)為1,表示有信號流(通);為0,表示無信號流(斷)??捎肦LO觸發(fā)跳轉指令。第3章 西門子

44、S7-300系列PLC基本指令系統(tǒng) (3)狀態(tài)位(STA) 狀態(tài)字的位2稱為狀態(tài)位。狀態(tài)位不能用指令檢測,它只是在程序測試中被CPU解釋并使用。如果一條指令是對存儲區(qū)操作的位邏輯指令,則無論是對該位的讀與寫操作,STA總是與該位的值取得一致;對不訪問存儲區(qū)的位邏輯指令來說,STA沒有意義,此時它總被置為1。 (4)或位(OR) 狀態(tài)字的位3稱為或位(OR)。在先邏輯“與”后邏輯“或”的邏輯串中,OR位暫存邏輯“與”的操作結果,以便進行后面的邏輯“或”運算。其它指令將OR位清0。第3章 西門子S7-300系列PLC基本指令系統(tǒng) (5)溢出位(OV) 狀態(tài)字的位4稱為溢出位,溢出位被置1,表明一個

45、算術運算或浮點數(shù)比較指令執(zhí)行時出現(xiàn)錯誤(錯誤:溢出、非法操作、不規(guī)范格式)。后面的算術運算或浮點數(shù)比較指令執(zhí)行結果正常的話OV位就被清0。 (6)溢出狀態(tài)保持位(OS) 狀態(tài)字的位5稱為溢出狀態(tài)保持位(或稱為存儲溢出位)。OV被置1時OS也被置1;OV被清0時OS仍保持。所以它保存了OV位,可用于指明在先前的一些指令執(zhí)行中是否產生過錯誤。只有下面的指令才能復位OS位:JOS(OS=1時跳轉);塊調用指令和塊結束指令。第3章 西門子S7-300系列PLC基本指令系統(tǒng) (7)條件碼1(CC1)和條件碼0(CC0) 狀態(tài)字的位7和位6稱為條件碼1和條件碼0。這兩位結合起來用于表示在累加器1中產生的算

46、術運算或邏輯運算結果與0的大小關系;比較指令的執(zhí)行結果或移位指令的移出位狀態(tài)。詳見表3.4和表3.5。第3章 西門子S7-300系列PLC基本指令系統(tǒng)表表3.4 算術運算后的算術運算后的CC1和和CC0CC1 CC0 算術運算無溢出 整數(shù)算術運算有溢出 浮點數(shù)算術運算有溢出 0 0 結果=0 整數(shù)加時產生負范圍溢出 平緩下溢 0 1 結果0 乘、除時正溢出;加、減時負溢出 正范圍溢出 1 1 在除時除數(shù)為0 非法操作 表3.5 比較、移位和循環(huán)移位、字邏輯指令后的CC1和CC0CC1 CC0 比較指令 移位和循環(huán)移位指令 字邏輯指令 0 0 累加器 2=累加器 1 移出位=0 結果=0 0 1

47、 累加器 2=累加器 1 1 0 累加器 2=累加器 1 結果0 1 1 不規(guī)范(只用于浮點數(shù)比較) 移出位=1 第3章 西門子S7-300系列PLC基本指令系統(tǒng) (8)二進制結果位(BR) 狀態(tài)字的位8稱為二進制結果位。它將字處理程序與位處理聯(lián)系起來,在一段既有位操作又有字操作的程序中,用于表示字操作結果是否正確(異常)。將BR位加入程序后,無論字操作結果如何,都不會造成二進制邏輯鏈中斷。在LAD的方塊指令中,BR位與ENO有對應關系,用于表明方塊指令是否被正確執(zhí)行:如果執(zhí)行出現(xiàn)了錯誤,BR位為0,ENO也為0;如果功能被正確執(zhí)行,BR位為1,ENO也為1。 在用戶編寫的FB和FC程序中,必

48、須對BR位進行管理,當功能塊正確運行后使BR位為1,否則使其為0。使用STL指令SAVE或LAD指令(SAVE),可將RLO存入BR中,從而達到管理BR位的目的。當FB或FC執(zhí)行無錯誤時,使RLO為1并存入BR,否則,在BR中存入0。第3章 西門子S7-300系列PLC基本指令系統(tǒng)3.3 位邏輯指令位邏輯指令 位邏輯指令主要包括位邏輯運算指令、位操作指令和位測試指令,它們可以對布爾操作數(shù)(BOOL)的信號映態(tài)掃描并完成邏輯操作。邏輯操作結果(RLO)用以賦值、置位、復位布爾操作數(shù),也控制定時器和計數(shù)器的運行。第3章 西門子S7-300系列PLC基本指令系統(tǒng)3.3.1 位邏輯運算指令位邏輯運算指

49、令 位邏輯運算指令是“與”(AND)、“或”(OR)、“異或”(XOR)指令及其組合。它對“0”或“1”這些布爾操作數(shù)掃描,經邏輯運算后將邏輯操作結果送入狀態(tài)字的RLO位。l 語句指令 第3章 西門子S7-300系列PLC基本指令系統(tǒng)助記符助記符指令指令指令前指令前RLORLO地址狀態(tài)地址狀態(tài)RLORLO結果結果A A與與0 00 01 11 10 01 10 01 10 00 00 01 1ANAN與非與非0 00 01 11 10 01 10 01 10 00 01 10 0O O或或0 00 01 11 10 01 10 01 10 01 11 11 1布爾邏輯串內的真值表(根據(jù)下列表可

50、以確定第二條布爾位操作后的RLO)第3章 西門子S7-300系列PLC基本指令系統(tǒng)ONON或非或非 0 00 01 11 10 01 10 01 11 10 01 11 1X X異或異或 0 00 01 11 10 01 10 01 10 01 11 10 0XNXN異或異或非非0 00 01 11 10 01 10 01 11 10 00 01 1第3章 西門子S7-300系列PLC基本指令系統(tǒng)助記符助記符指令指令地址狀態(tài)地址狀態(tài)RLORLO結果結果A A與與0 01 10 01 1ANAN與非與非0 01 11 10 0O O或或0 01 10 01 1ONON或非或非0 01 11 10

51、 0X X異或異或0 01 10 01 1XNXN異或非異或非0 01 11 10 0布爾邏輯串開始的真值表 第3章 西門子S7-300系列PLC基本指令系統(tǒng)l 梯形圖邏輯指令常開接點(動合觸點)元素和參數(shù)常閉接點(動斷觸點)元素和參數(shù)第3章 西門子S7-300系列PLC基本指令系統(tǒng) 1. “與與”和和“與非與非”(A,AN)指令指令 邏輯“與”在梯形圖里是用串聯(lián)的觸點回路表示的,被掃描的操作數(shù)則表示為觸點符 號,操作數(shù)標在觸點上方。如果觸點是常開觸點(動合觸點),則對“1”掃描相應操作數(shù)。在PLC中規(guī)定:若操作數(shù)是“1”,則常開觸點“動作”,即認為是“閉合”的;若操作數(shù)是“0”,則常開觸點“

52、不動作”,即觸點仍然打開。如果觸點是常閉觸點(動斷觸點),則對“0”掃描相應操作數(shù)。在PLC中規(guī)定:若操作數(shù)是“1”,則常閉觸點“動作”,即觸點“斷開”;若操作數(shù)是“0”,則常閉觸點“不動作”,即觸點仍保持閉合。第3章 西門子S7-300系列PLC基本指令系統(tǒng) 如果串聯(lián)回路里的所有觸點皆閉合,該回路就通“電”了。在圖3.5的回路中,如果所有觸點閉合,即當輸入I 0.0和輸出Q 4.1的信號狀態(tài)都是“1”(觸點閉合)、且位存儲器M 10.1為“0”(該觸點仍保持原閉合位置)時,輸出Q 4.0才為“1”;如果有一個或多個觸點是打開的,則輸出Q 4.0的信號狀態(tài)就為“0”(繼電器觸點打開)。 上述梯

53、形邏輯圖,可用語句表指令完全表示。對應的語句表為:A I0.0 A Q 4.1AN M10.1 Q4.0 第3章 西門子S7-300系列PLC基本指令系統(tǒng)圖3.5 “與”邏輯梯形圖 ( )I0.0 Q4.1 M10.1 Q4.0 第3章 西門子S7-300系列PLC基本指令系統(tǒng) 在上面的語句表中,操作數(shù)是被依次掃描的,其掃描的結果再邏輯“與”。對信號狀態(tài)進行“1”掃描,并做邏輯”與”運算,則用助記符“A”來標識,相關的操作數(shù)指定了要掃描對象。當操作數(shù)的信號狀態(tài)是“1”時,其掃描結果也是“1”。如果操作數(shù)的信號狀態(tài)是“0”,則掃描結果也是“0”。對信號狀態(tài)進行“0”掃描,并做邏輯“與”運算,則用

54、助記符“AN”來標識取反的“與”邏輯操作當操作數(shù)的信號狀態(tài)是“0”時,其掃描結果就是“1”。如果操作數(shù)的信號狀態(tài)是“1”,則掃描結果就是“0”。第3章 西門子S7-300系列PLC基本指令系統(tǒng) 在第一條語句里,CPU掃描的是輸入I0.0本次掃描也被稱為首次掃描。首次掃描的結果被直接保存在RLO(邏輯操作結果)中,在下一條語句中,掃描操作數(shù)輸出Q 4.1;這次掃描的結果和RLO中保存的上一次結果相“與”,產生的新結果再存入RLO。如此逐一進行,在邏輯序列結束處的RLO可用作進一步處理。例如,用來激勵一個輸出信號。在上面的語句表中,把RLO的值賦給輸出Q 4.0(Q 4.0)。 第3章 西門子S7

55、-300系列PLC基本指令系統(tǒng) 2. “或或”和和“或非或非”(O,ON)指令指令 邏輯“或”在梯形圖里是用并聯(lián)的觸點回路表示的,被掃描的操作數(shù)標在觸點上方。在 觸點并聯(lián)的情況下,若有一個或一個以上的觸點閉合,則該回路就“通電”。在圖3.6中,驅動信號通過并聯(lián)觸點回路加到輸出Q 4.1。只要有一個觸點閉合,輸出4.1的信號狀態(tài)就為“l(fā)”。如果所有的觸點都是打開的,則輸出Q 4.1就為“0”。在圖3.6中,僅當輸入I1.1和輸出Q 4.0兩者都為“0”,且M2.0為“1”時,輸出Q 4.1才為“0”。第3章 西門子S7-300系列PLC基本指令系統(tǒng)圖3.6 “或”邏輯梯形圖 I1.1 M2.0

56、Q4.0 ( )Q4.1第3章 西門子S7-300系列PLC基本指令系統(tǒng)上述梯形邏輯圖,也可用語句表指令表示。對應的語句表為: O I1.1 ON M2.0 O Q4.0 Q4.1 在上面的語句表中,操作數(shù)是依次被掃描的,其掃描的結果再邏輯“或”。對信號狀態(tài)進行“1掃描,并做邏輯“或”運算,用助記符“O”來標識。當操作數(shù)的信號狀態(tài)是“1”時,其掃描結果也是“1”。對信號狀態(tài)進行“0”掃描,并做邏輯“或”運算,則用助記符“ON”來標識取反的“或”邏輯操作當操作數(shù)的信號狀態(tài)是“0”時,其掃描結果就是“1”。如果操作數(shù)的信號狀態(tài)是“1”,則掃描結果就是“0”。 第3章 西門子S7-300系列PLC基

57、本指令系統(tǒng) 在第一條語句里,處理器掃描的是輸入I1.1首次掃描的結果被直接保存在RLO中,并和下一條語句的掃描結果相“或”,產生的新結果再存入RLO。如此逐一進行,在邏輯序列結束處的RLO可用作進一步處理。例如,用來激勵一個輸出信號。在上面的語句表中,把RLO的值賦給輸出Q 4.1。第3章 西門子S7-300系列PLC基本指令系統(tǒng) 3. “異或異或”和和“異或非異或非”(X,XN)指令指令 圖3.7是“異或”邏輯梯形圖,下面是與梯形圖對應的語句表。在的語句表中,使用了“異或”和“異或非”指令,分別用助記符“X”和“XN”來標識。它類似“或”和“或非”指令,用于掃描并聯(lián)回路能否“通電”。 X I

58、 1.0 XN I 1.1 Q 4.0第3章 西門子S7-300系列PLC基本指令系統(tǒng) 當執(zhí)行語句表中的第一條指令時,首次掃描的結果被直接保存在RLO中,然后RLO中的值和第二條指令的掃描結果進行“異或”操作,得到的新結果再存入RLO。如此掃描、“異或”并刷新RLO,直到賦值指令將RLO的值賦給輸出Q 4.0 。 圖中,僅當兩個觸點(輸入I1.0和輸入I1.1)的掃描結果不同,即只有一個為“1”時,RLO才為“1”,并賦值給輸出使Q 4.0為“1”。若兩個信號的掃描結果相同(均為“1”或“0”),則Q 4.0為“0”。與O和ON比較,X和XN排除了兩個信號掃描結果為“1”時,使輸出為“1”的可

59、能。 第3章 西門子S7-300系列PLC基本指令系統(tǒng)圖3.7 “異或”邏輯梯形圖 第3章 西門子S7-300系列PLC基本指令系統(tǒng)3.3.2 位操作指令位操作指令 1. 輸出指令輸出指令 邏輯串輸出指令又稱為賦值操作指令,該操作把狀態(tài)字中RLO的值賦給指定的操作數(shù)(位地址)。若RLO為“1”,則操作數(shù)被置位,否則操作數(shù)被復位。表3.5列出了操作數(shù)的數(shù)據(jù)類型和所在的存儲區(qū)。 邏輯串輸出指令通過把首次檢測位(FC位)置0,來結束一個邏輯串。當FC位為0時,表明程序中的下一條指令是一個新邏輯串的第一條指令,CPU對其進行首次掃描操作。這一點在梯形圖中顯示得很清楚。第3章 西門子S7-300系列PL

60、C基本指令系統(tǒng)表表3.6 輸出指令輸出指令LAD 指令 STL 指令 功能 操作數(shù) 數(shù)據(jù)類型 存儲區(qū) ( ) = 邏輯串賦值輸出 BOOL I、Q、M、D、L ( # ) 中間結果賦值輸出 BOOL I、Q、M、D、L 第3章 西門子S7-300系列PLC基本指令系統(tǒng) LAD輸出指令像繼電器邏輯圖中的線圈一樣工作。如果電流能夠流經電路到達線圈(即RLO為1)的話,則繼電器線圈通電,其常開觸點閉合,否則線圈不通電,常開觸點斷開。在LAD中,只能將輸出指令放在邏輯符號串的最右端,但其前面必須有鏈路,不能將輸出指令單獨放在一個空網絡中。 一個RLO可被用來驅動幾個輸出元件。在LAD中,輸出線圈是上下

溫馨提示

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

評論

0/150

提交評論