plc課件 plc-3 第三章 s7-300plc的編程基礎(chǔ)及指令系統(tǒng)_第1頁
plc課件 plc-3 第三章 s7-300plc的編程基礎(chǔ)及指令系統(tǒng)_第2頁
plc課件 plc-3 第三章 s7-300plc的編程基礎(chǔ)及指令系統(tǒng)_第3頁
plc課件 plc-3 第三章 s7-300plc的編程基礎(chǔ)及指令系統(tǒng)_第4頁
plc課件 plc-3 第三章 s7-300plc的編程基礎(chǔ)及指令系統(tǒng)_第5頁
已閱讀5頁,還剩79頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、整理課件l S7-300使用使用STEP 7軟件編程,軟件編程, STEP 7是是S7-300/400PLC的通用編程軟件。的通用編程軟件。l STEP 7標(biāo)準(zhǔn)版配備了梯形圖(標(biāo)準(zhǔn)版配備了梯形圖(LAD)、語句)、語句表(表(STL)及功能塊圖()及功能塊圖(FBD)三種編程語言,)三種編程語言,各語言中的部分指令在各語言中的部分指令在STEP 7中可互相轉(zhuǎn)換。中可互相轉(zhuǎn)換。l 此外,可選編程語言軟件還支持順序功能圖此外,可選編程語言軟件還支持順序功能圖(SFC)、結(jié)構(gòu)文本()、結(jié)構(gòu)文本(SCL)、連續(xù)功能圖)、連續(xù)功能圖(CFC,僅,僅S7-400PLC支持)等。支持)等。 整理課件l S7

2、-300PLC的用戶程序由程序塊的用戶程序由程序塊(或稱為邏輯或稱為邏輯塊塊)和數(shù)據(jù)塊組成。和數(shù)據(jù)塊組成。l 程序塊包括組織塊程序塊包括組織塊OB、系統(tǒng)功能塊、系統(tǒng)功能塊SFB、系、系統(tǒng)功能統(tǒng)功能SFC、功能塊、功能塊FB、功能、功能FC等。等。l OB由操作系統(tǒng)調(diào)用,其它塊由由操作系統(tǒng)調(diào)用,其它塊由OB調(diào)用。調(diào)用。l OB可調(diào)用可調(diào)用SFB、FB、SFC、FC。l FB、FC可調(diào)用可調(diào)用SFB、 FB、SFC、FCl 數(shù)據(jù)塊為程序塊提供相應(yīng)的數(shù)據(jù),包擴(kuò)共享數(shù)據(jù)塊為程序塊提供相應(yīng)的數(shù)據(jù),包擴(kuò)共享數(shù)據(jù)塊和背景數(shù)據(jù)塊。數(shù)據(jù)塊和背景數(shù)據(jù)塊。整理課件l1、基本數(shù)據(jù)類型、基本數(shù)據(jù)類型l1)位()位(bi

3、t)l BOOL型。其值為型。其值為0或或1。l2)字節(jié)()字節(jié)(Byte)l BYTE型,型,8位二進(jìn)制數(shù)組成位二進(jìn)制數(shù)組成1個(gè)字節(jié)。個(gè)字節(jié)。l 值為值為0255。l3)字()字(Word)l WORD型。相鄰兩個(gè)字節(jié)組成一個(gè)字,表示型。相鄰兩個(gè)字節(jié)組成一個(gè)字,表示16位無符號(hào)數(shù)(含位無符號(hào)數(shù)(含BCD)。值為)。值為065535。整理課件l4)雙字()雙字(Double Word)l DWORD型。相鄰兩個(gè)字組成一個(gè)雙字,表示型。相鄰兩個(gè)字組成一個(gè)雙字,表示32位無符號(hào)數(shù)(含位無符號(hào)數(shù)(含BCD)。其值為)。其值為04294967295。l5)字符()字符(Character)l CHAR

4、型,表示一個(gè)型,表示一個(gè)ASCII字符(字符(8位)位) 。l6)16位整數(shù)(位整數(shù)(Integer)l INT型,表示型,表示16位有符號(hào)數(shù)。位有符號(hào)數(shù)。l 其值為其值為-32768 32767。整理課件l7)32位整數(shù)(位整數(shù)( Double Integer)l DINT型,表示型,表示32位有符號(hào)數(shù)。位有符號(hào)數(shù)。l 其值為其值為-2147483648 2147483647。l8)32位浮點(diǎn)數(shù)(位浮點(diǎn)數(shù)(Real)l REAL型。表示型。表示32位位IEEE745標(biāo)準(zhǔn)格式的浮點(diǎn)標(biāo)準(zhǔn)格式的浮點(diǎn)數(shù)(實(shí)數(shù))。數(shù)(實(shí)數(shù))。l 其值為其值為1.175495E-38 3.402823E+38。l9)S

5、5時(shí)間(時(shí)間(S5Time)l S5TIMER型,表示型,表示16位位S5時(shí)間常數(shù)。時(shí)間常數(shù)。l 其格式為其格式為S5T# aHbMcSdMS。(。(a、b、c、d對(duì)對(duì)應(yīng)時(shí)、分、秒、毫秒。應(yīng)時(shí)、分、秒、毫秒。 整理課件l10)IEC時(shí)間(時(shí)間(Time)l TIME型,表示型,表示32位位IEC格式時(shí)間(有符號(hào))。格式時(shí)間(有符號(hào))。l 其值為其值為-T#24D20H31M23S648MS T#24D20H31M23S648MS。l11)IEC日期(日期(Date)l DATE型,表示型,表示16位位IEC格式日期。格式日期。l 其值為其值為D#1990-1-1 D#2168-12-31.l1

6、2) 24小時(shí)制時(shí)間(小時(shí)制時(shí)間(24h Time_Of_Day) l TIME_OF_DATE型,型,32位位24小時(shí)制格式時(shí)間。小時(shí)制格式時(shí)間。l 其值為其值為整理課件l2.常數(shù)表示方法(常用部分)常數(shù)表示方法(常用部分) l 16位位10進(jìn)制整數(shù)及進(jìn)制整數(shù)及32位浮點(diǎn)數(shù)常數(shù)輸入時(shí)不需位浮點(diǎn)數(shù)常數(shù)輸入時(shí)不需加字頭。如加字頭。如123,-123,。浮點(diǎn)數(shù)將自動(dòng)轉(zhuǎn)成,。浮點(diǎn)數(shù)將自動(dòng)轉(zhuǎn)成指數(shù)形式,如:指數(shù)形式,如:1.234000e+002。l 浮點(diǎn)常數(shù)為整數(shù)值時(shí),需加小數(shù)點(diǎn)。如。浮點(diǎn)常數(shù)為整數(shù)值時(shí),需加小數(shù)點(diǎn)。如。符符 號(hào)號(hào)說說 明明2#2進(jìn)制常數(shù)進(jìn)制常數(shù)B#16#W#16#DW#16#16進(jìn)

7、制字節(jié)常數(shù)進(jìn)制字節(jié)常數(shù)16進(jìn)制字常數(shù)進(jìn)制字常數(shù)16進(jìn)制雙字常數(shù)進(jìn)制雙字常數(shù)L#32位整數(shù)常數(shù)位整數(shù)常數(shù)S5T# S5時(shí)間常數(shù)(時(shí)間常數(shù)(16位)位)C#計(jì)數(shù)器常數(shù)(計(jì)數(shù)器常數(shù)(3位位BCD,0999)整理課件l1. 累加器(累加器(ACCU1、ACCU2)l 兩個(gè)兩個(gè)32位累加器,用于處理字節(jié)、字、雙字。位累加器,用于處理字節(jié)、字、雙字。l2. 狀態(tài)字寄存器狀態(tài)字寄存器l 16位狀態(tài)字寄存器用于存儲(chǔ)位狀態(tài)字寄存器用于存儲(chǔ)CPU執(zhí)行指令的狀態(tài)。執(zhí)行指令的狀態(tài)。l 第第0位(位(FC):首次檢測(cè)位。為):首次檢測(cè)位。為0時(shí)表示一個(gè)邏時(shí)表示一個(gè)邏輯網(wǎng)絡(luò)的開始。輯網(wǎng)絡(luò)的開始。l 第第1位(位(RLO)

8、:邏輯運(yùn)算結(jié)果位。用于存儲(chǔ)執(zhí)):邏輯運(yùn)算結(jié)果位。用于存儲(chǔ)執(zhí)行位邏輯或比較指令的結(jié)果。狀態(tài)為行位邏輯或比較指令的結(jié)果。狀態(tài)為1時(shí)表示邏輯時(shí)表示邏輯運(yùn)算結(jié)果為運(yùn)算結(jié)果為1或比較結(jié)果成立。或比較結(jié)果成立。015781234569OROVOSCC0CC1BR未使用未使用FCRLOSTA整理課件l 第第2位(位(STA):狀態(tài)位。執(zhí)行位邏輯指令):狀態(tài)位。執(zhí)行位邏輯指令時(shí),時(shí),STA總是與該位的值一致。總是與該位的值一致。l 第第3位(位(OR):或位。在先邏輯):或位。在先邏輯“與與”后邏后邏輯輯“或或”的邏輯運(yùn)算中,的邏輯運(yùn)算中,OR位暫存邏輯位暫存邏輯“與與”的操作結(jié)果。的操作結(jié)果。l 第第4位(

9、位(OV):溢出位。算術(shù)運(yùn)算或浮點(diǎn)數(shù)):溢出位。算術(shù)運(yùn)算或浮點(diǎn)數(shù)比較指令執(zhí)行出錯(cuò)時(shí)置比較指令執(zhí)行出錯(cuò)時(shí)置1。后續(xù)同類指令執(zhí)行。后續(xù)同類指令執(zhí)行正常時(shí),該位清正常時(shí),該位清0。l 第第5位(位(OS):溢出狀態(tài)保持位。):溢出狀態(tài)保持位。OV置置1時(shí),時(shí),OS置置1,OV清清0時(shí),時(shí),OS仍保持為仍保持為1。(只能由。(只能由JOS、塊調(diào)用、塊結(jié)束指令復(fù)位)、塊調(diào)用、塊結(jié)束指令復(fù)位)整理課件l 第第6位和第位和第7位(位(CC0、CC1):條件碼):條件碼0和條件和條件碼碼1。兩位結(jié)合用于表示算術(shù)運(yùn)算或邏輯運(yùn)算的結(jié)。兩位結(jié)合用于表示算術(shù)運(yùn)算或邏輯運(yùn)算的結(jié)果與果與0的大小關(guān)系,以及比較指令的執(zhí)行結(jié)

10、果或移的大小關(guān)系,以及比較指令的執(zhí)行結(jié)果或移位指令的移出狀態(tài)。位指令的移出狀態(tài)。l 第第8位(位(BR):二進(jìn)制結(jié)果位。用于表示字操作):二進(jìn)制結(jié)果位。用于表示字操作的結(jié)果是否正確。的結(jié)果是否正確。1正確,正確,0 錯(cuò)誤。錯(cuò)誤。l3. 地址寄存器(地址寄存器(AR1和和AR2)l 兩個(gè)兩個(gè)32位地址寄存器用于寄存器間接尋址。位地址寄存器用于寄存器間接尋址。l4. 數(shù)據(jù)塊地址寄存器數(shù)據(jù)塊地址寄存器l S7-300PLC中有兩個(gè)數(shù)據(jù)塊地址寄存器,一個(gè)用中有兩個(gè)數(shù)據(jù)塊地址寄存器,一個(gè)用于共享數(shù)據(jù)塊,一個(gè)用于背景數(shù)據(jù)塊,均為于共享數(shù)據(jù)塊,一個(gè)用于背景數(shù)據(jù)塊,均為32寄寄存器。寄存器中存有數(shù)據(jù)塊編號(hào)及數(shù)

11、據(jù)塊長度。存器。寄存器中存有數(shù)據(jù)塊編號(hào)及數(shù)據(jù)塊長度。整理課件l 存儲(chǔ)器有存儲(chǔ)器有3個(gè)基本區(qū)域:裝載存儲(chǔ)器、工作個(gè)基本區(qū)域:裝載存儲(chǔ)器、工作存儲(chǔ)器和系統(tǒng)存儲(chǔ)器。存儲(chǔ)器和系統(tǒng)存儲(chǔ)器。l1、裝載存儲(chǔ)器、裝載存儲(chǔ)器l 用于保存用戶程序(不包括符號(hào)地址及注釋)用于保存用戶程序(不包括符號(hào)地址及注釋)和系統(tǒng)數(shù)據(jù)(即組態(tài)、連接和模塊參數(shù)等)。和系統(tǒng)數(shù)據(jù)(即組態(tài)、連接和模塊參數(shù)等)。l 部分型號(hào)的部分型號(hào)的CPU內(nèi)集成有裝載存儲(chǔ)器,而有內(nèi)集成有裝載存儲(chǔ)器,而有些型號(hào)的些型號(hào)的CPU采用采用MMC作為裝載存儲(chǔ)器。作為裝載存儲(chǔ)器。l 對(duì)于集成的裝載存儲(chǔ)器具有掉電保護(hù)功能。對(duì)于集成的裝載存儲(chǔ)器具有掉電保護(hù)功能。l

12、使用使用MMC的裝載存儲(chǔ)器,因數(shù)據(jù)保存在的裝載存儲(chǔ)器,因數(shù)據(jù)保存在MMC上,所以可認(rèn)為能永久保留。上,所以可認(rèn)為能永久保留。整理課件l2、工作存儲(chǔ)器、工作存儲(chǔ)器l 用于存儲(chǔ)用于存儲(chǔ)CPU運(yùn)行時(shí)的用戶程序和數(shù)據(jù),運(yùn)行時(shí)的用戶程序和數(shù)據(jù),OB(組織塊)、(組織塊)、FB(功能塊)、(功能塊)、FC(功能)、(功能)、DB(數(shù)據(jù)塊)等。只有與程序運(yùn)行有關(guān)的塊被裝入(數(shù)據(jù)塊)等。只有與程序運(yùn)行有關(guān)的塊被裝入工作存儲(chǔ)器,在工作存儲(chǔ)器,在CPU啟動(dòng)時(shí),從裝載存儲(chǔ)器裝入。啟動(dòng)時(shí),從裝載存儲(chǔ)器裝入。l 工作存儲(chǔ)器集成在工作存儲(chǔ)器集成在CPU內(nèi)且不可擴(kuò)展,其容量內(nèi)且不可擴(kuò)展,其容量及保持性特性與及保持性特性與C

13、PU型號(hào)有關(guān),。型號(hào)有關(guān),。l3、系統(tǒng)存儲(chǔ)器、系統(tǒng)存儲(chǔ)器l 系統(tǒng)存儲(chǔ)器是系統(tǒng)存儲(chǔ)器是CPU為用戶程序提供的存儲(chǔ)器,為用戶程序提供的存儲(chǔ)器,也集成在也集成在CPU內(nèi)且不可擴(kuò)展。系統(tǒng)存儲(chǔ)器分為若內(nèi)且不可擴(kuò)展。系統(tǒng)存儲(chǔ)器分為若干區(qū)域,如:過程映像干區(qū)域,如:過程映像I/O區(qū)、位存儲(chǔ)區(qū)、定時(shí)區(qū)、位存儲(chǔ)區(qū)、定時(shí)器和計(jì)數(shù)器、堆棧區(qū)、診斷緩沖區(qū),以及臨時(shí)存器和計(jì)數(shù)器、堆棧區(qū)、診斷緩沖區(qū),以及臨時(shí)存儲(chǔ)區(qū)等,需保持的數(shù)據(jù)可在組態(tài)時(shí)設(shè)置。儲(chǔ)區(qū)等,需保持的數(shù)據(jù)可在組態(tài)時(shí)設(shè)置。整理課件l存儲(chǔ)系統(tǒng)構(gòu)成及關(guān)系示意圖存儲(chǔ)系統(tǒng)構(gòu)成及關(guān)系示意圖(以配(以配MMC的的CPU為例)為例)硬盤存儲(chǔ)器硬盤存儲(chǔ)器MMC工作存儲(chǔ)器工作存儲(chǔ)

14、器邏輯塊邏輯塊數(shù)據(jù)塊數(shù)據(jù)塊系統(tǒng)數(shù)據(jù)塊系統(tǒng)數(shù)據(jù)塊注釋注釋符號(hào)符號(hào)邏輯塊邏輯塊數(shù)據(jù)塊數(shù)據(jù)塊系統(tǒng)數(shù)據(jù)塊系統(tǒng)數(shù)據(jù)塊工作存儲(chǔ)器存工作存儲(chǔ)器存放與執(zhí)行相關(guān)放與執(zhí)行相關(guān)的邏輯塊以及的邏輯塊以及組態(tài)數(shù)據(jù)。組態(tài)數(shù)據(jù)。裝載存儲(chǔ)器裝載存儲(chǔ)器編程設(shè)備編程設(shè)備CPU模塊模塊裝載存儲(chǔ)器的剩余裝載存儲(chǔ)器的剩余空間可作為一般的空間可作為一般的文件存儲(chǔ)器使用文件存儲(chǔ)器使用系統(tǒng)存系統(tǒng)存儲(chǔ)器也儲(chǔ)器也集成在集成在CPU內(nèi)內(nèi)系統(tǒng)存儲(chǔ)器:系統(tǒng)存儲(chǔ)器:位存儲(chǔ)器、定位存儲(chǔ)器、定時(shí)器和計(jì)數(shù)器、時(shí)器和計(jì)數(shù)器、I/O過程映像、過程映像、本地?cái)?shù)據(jù)本地?cái)?shù)據(jù)整理課件l1、基于槽位的尋址、基于槽位的尋址l 基于槽位的尋址為默認(rèn)設(shè)置。基于槽位的尋址為默認(rèn)設(shè)

15、置。l 機(jī)架號(hào)為機(jī)架號(hào)為03,號(hào)機(jī)架為,號(hào)機(jī)架為CPU機(jī)架,其余機(jī)架,其余為擴(kuò)展機(jī)架。為擴(kuò)展機(jī)架。l CPU機(jī)架上的槽號(hào)為機(jī)架上的槽號(hào)為111,槽號(hào),槽號(hào)1放置電源放置電源模塊(模塊(PS),槽號(hào)),槽號(hào)2放置放置CPU模塊(模塊(CPU),),槽號(hào)槽號(hào)3放置接口模塊(放置接口模塊(IM),槽號(hào)),槽號(hào)411放置其放置其它模塊它模塊(SM、FM、CP)l 每個(gè)槽分配每個(gè)槽分配4個(gè)字節(jié)數(shù)字量地址(共個(gè)字節(jié)數(shù)字量地址(共32位)位)和和16字節(jié)的模擬量地址(共字節(jié)的模擬量地址(共8個(gè)字)。個(gè)字)。整理課件l基于槽位的尋址(以字節(jié)為單位)基于槽位的尋址(以字節(jié)為單位)PSIMSMSMSMSMSMSM

16、SMSMPSCPU模塊模塊IMSMSMSMSMSMSMSMSMCRER槽號(hào)槽號(hào)起始地址(數(shù)字)起始地址(數(shù)字)起始地址(模擬)起始地址(模擬)456789 10 11048 12 16 20 24 28256 272 288 304 320 336 352 368槽號(hào)槽號(hào)起始地址(數(shù)字)起始地址(數(shù)字)起始地址(模擬)起始地址(模擬)456789 10 1132 36 40 44 48 52 56 60384 400 416 432 448 464 480 496整理課件l2、用戶自定義尋址、用戶自定義尋址l 使用用戶定義尋址可以從使用用戶定義尋址可以從CPU控制的地址區(qū)域控制的地址區(qū)域中自由

17、分配任何所選則模塊的地址。中自由分配任何所選則模塊的地址。l 應(yīng)注意,只有某些型號(hào)的應(yīng)注意,只有某些型號(hào)的CPU支持用戶自定義支持用戶自定義尋址。尋址。 l3、信號(hào)模塊的尋址、信號(hào)模塊的尋址l數(shù)字量輸入數(shù)字量輸入:I + 字節(jié)地址字節(jié)地址 + 位地址位地址l IB + 字節(jié)地址(字節(jié)地址(0、1、2)l IW + 字的低字節(jié)地址(字的低字節(jié)地址(0、2、4)l 如如I0.0,IB0,IW0 (字地址為字地址為0、2、4、.偶偶數(shù)地址,即數(shù)地址,即IW0由由IB0和和IB1組成,組成,IW2由由IB2和和IB3組成)等。組成)等。整理課件l數(shù)字量輸出數(shù)字量輸出:Q + 字節(jié)地址字節(jié)地址 + 位地

18、址位地址l QB + 字節(jié)地址字節(jié)地址l QW + 字地址字地址l 如如Q0.0,QB0,QW0 (字地址為字地址為0、2、4、偶偶數(shù)字節(jié)地址)等。數(shù)字節(jié)地址)等。l模擬量輸入模擬量輸入:IW + 字地址字地址l 如如IW256 (字地址為偶數(shù)字節(jié)地址)字地址為偶數(shù)字節(jié)地址)l模擬量輸出模擬量輸出:QW + 字地址字地址l 如如QW288(字地址為偶數(shù)字節(jié)地址)(字地址為偶數(shù)字節(jié)地址)整理課件l4、外設(shè)、外設(shè)I/O尋址尋址l 對(duì)于沒有對(duì)于沒有I/O映像區(qū)的外部映像區(qū)的外部I/O,可采用直接,可采用直接訪問方式訪問(大部分訪問方式訪問(大部分S7-300PLC的的CPU模塊模塊對(duì)模擬量對(duì)模擬量I

19、/O的訪問需采用此方式)的訪問需采用此方式) ,稱作過,稱作過程程I/O訪問,字頭為訪問,字頭為PI或或PQ。l 外設(shè)外設(shè)I/O尋址支持字節(jié)(尋址支持字節(jié)(PIB、PQB)、字)、字(PIW、PQW)、雙字()、雙字(PID、PQD)尋址。)尋址。現(xiàn)以模擬量現(xiàn)以模擬量I/O為例:為例:l 模擬量輸入模擬量輸入:PIW + 字地址字地址l 例如例如PIW256 (字地址為偶數(shù)字節(jié)地址)字地址為偶數(shù)字節(jié)地址)l 模擬量輸出模擬量輸出:PQW + 字地址字地址l 例如例如PQW272 (字地址為偶數(shù)字節(jié)地址)字地址為偶數(shù)字節(jié)地址)整理課件l5、位(狀態(tài))存儲(chǔ)區(qū)尋址、位(狀態(tài))存儲(chǔ)區(qū)尋址l 依依CPU

20、型號(hào),存儲(chǔ)器大小為型號(hào),存儲(chǔ)器大小為1282048B不等,不等,支持位尋址、字節(jié)尋址、字尋址和雙字尋址。支持位尋址、字節(jié)尋址、字尋址和雙字尋址。l 位存儲(chǔ)區(qū)以位存儲(chǔ)區(qū)以M標(biāo)識(shí),如:、標(biāo)識(shí),如:、MB0、MW0、MD0 (字地址為偶數(shù)地址字地址為偶數(shù)地址0、2、4,雙字地址,雙字地址為為0、4、8)等。)等。l6、定時(shí)、計(jì)數(shù)器存儲(chǔ)區(qū)尋址、定時(shí)、計(jì)數(shù)器存儲(chǔ)區(qū)尋址l 依依CPU型號(hào)不同,可有型號(hào)不同,可有64256個(gè)定時(shí)器,個(gè)定時(shí)器,32256個(gè)計(jì)數(shù)器。定時(shí)器標(biāo)識(shí)符為個(gè)計(jì)數(shù)器。定時(shí)器標(biāo)識(shí)符為T,計(jì)數(shù)器,計(jì)數(shù)器標(biāo)識(shí)符為標(biāo)識(shí)符為C。如:。如:T0,C0等。等。整理課件l7、數(shù)據(jù)塊、數(shù)據(jù)塊DBl(1)共享

21、數(shù)據(jù)塊)共享數(shù)據(jù)塊(Shared DB)l 共享數(shù)據(jù)塊為系統(tǒng)或用戶自定義的數(shù)據(jù)結(jié)構(gòu)(與共享數(shù)據(jù)塊為系統(tǒng)或用戶自定義的數(shù)據(jù)結(jié)構(gòu)(與C語言中的結(jié)構(gòu)類似),可供所有邏輯塊使用。名語言中的結(jié)構(gòu)類似),可供所有邏輯塊使用。名稱為稱為DBn,n為編號(hào)(一般為為編號(hào)(一般為12047,具體可定義,具體可定義的個(gè)數(shù),視的個(gè)數(shù),視CPU型號(hào)而定),其屬性型號(hào)而定),其屬性Shared 。在。在DB中可定義各種類型的數(shù)據(jù)變量,且可對(duì)變量賦中可定義各種類型的數(shù)據(jù)變量,且可對(duì)變量賦初值。支持初值。支持DB絕對(duì)地址訪問及變量形式訪問。絕對(duì)地址訪問及變量形式訪問。l(2)背景數(shù)據(jù)塊)背景數(shù)據(jù)塊(Instance DB)l

22、 與某一功能塊與某一功能塊(FB)或系統(tǒng)功能塊或系統(tǒng)功能塊(SFB)相關(guān)聯(lián),相關(guān)聯(lián),名稱也為名稱也為DBn ,但其結(jié)構(gòu)由對(duì)應(yīng)的,但其結(jié)構(gòu)由對(duì)應(yīng)的FB/SFB決定。決定。其屬性為其屬性為Instance,且屬性中有其所歸屬的,且屬性中有其所歸屬的FB或或SFB標(biāo)識(shí)。標(biāo)識(shí)。整理課件l(3)數(shù)據(jù)塊的訪問)數(shù)據(jù)塊的訪問l 共享數(shù)據(jù)塊與背景數(shù)據(jù)塊的訪問方法相同。共享數(shù)據(jù)塊與背景數(shù)據(jù)塊的訪問方法相同。 l 數(shù)據(jù)塊中的數(shù)據(jù)可采用先打開數(shù)據(jù)塊中的數(shù)據(jù)可采用先打開,后訪問或直接后訪問或直接訪問的方法來訪問。訪問的方法來訪問。l 先打開后訪問時(shí)先打開后訪問時(shí),先用數(shù)據(jù)塊打開指令打開,先用數(shù)據(jù)塊打開指令打開要訪問的

23、要訪問的DBn,然后可直接采用,然后可直接采用DBX、DBBm、DBWm、DBDm的直接地址形式訪問。的直接地址形式訪問。l DBX為數(shù)據(jù)塊中數(shù)據(jù)位的標(biāo)識(shí),如尋址數(shù)據(jù)為數(shù)據(jù)塊中數(shù)據(jù)位的標(biāo)識(shí),如尋址數(shù)據(jù)塊中某一位時(shí)采用塊中某一位時(shí)采用DBX形式,形式,m1為字節(jié)地址,為字節(jié)地址,m2為位地址。為位地址。l DBB為數(shù)據(jù)塊中的數(shù)據(jù)字節(jié),字節(jié)尋址為為數(shù)據(jù)塊中的數(shù)據(jù)字節(jié),字節(jié)尋址為DBBm,m為字節(jié)地址。為字節(jié)地址。整理課件l DBW為數(shù)據(jù)塊中的數(shù)據(jù)字,字尋址為為數(shù)據(jù)塊中的數(shù)據(jù)字,字尋址為DBWm,m為偶數(shù)地址。為偶數(shù)地址。l DBD為數(shù)據(jù)塊中的數(shù)據(jù)雙字,雙字尋址為為數(shù)據(jù)塊中的數(shù)據(jù)雙字,雙字尋址為DB

24、Dm,m為為0、4、8等。等。l 直接訪問時(shí)直接訪問時(shí)采用絕對(duì)地址訪問或變量名稱訪采用絕對(duì)地址訪問或變量名稱訪問形式來訪問。問形式來訪問。l 采用絕對(duì)地址訪問的形式為采用絕對(duì)地址訪問的形式為、 、 、 。l 采用變量名稱訪問的形式為采用變量名稱訪問的形式為DBn.變量名變量名整理課件l8、尋址方式概述、尋址方式概述l STEP 7 指令有四種尋址方式,即立即尋址、直指令有四種尋址方式,即立即尋址、直接尋址、存儲(chǔ)器間接尋址和寄存器間接尋址。接尋址、存儲(chǔ)器間接尋址和寄存器間接尋址。l(1)立即尋址)立即尋址l 操作數(shù)本身就在指令中,或因操作數(shù)是唯一的,操作數(shù)本身就在指令中,或因操作數(shù)是唯一的,在指

25、令中不再給出。立即尋址主要用于常數(shù)操作數(shù)在指令中不再給出。立即尋址主要用于常數(shù)操作數(shù)和某些狀態(tài)寄存器操作。例如:和某些狀態(tài)寄存器操作。例如:l L 25 /整數(shù)整數(shù)37裝入裝入ACCU1l L ABCD /ASCII字符裝入字符裝入ACCU1l L C#12 /計(jì)數(shù)常數(shù)裝入計(jì)數(shù)常數(shù)裝入ACCU1l AW W#16#0F1A /ACCU1低字和常數(shù)逐位低字和常數(shù)逐位“與與”l SET /RLO置置1整理課件l(2)直接尋址)直接尋址l 所謂直接尋址,就是指令中直接給出操作數(shù)所謂直接尋址,就是指令中直接給出操作數(shù)的存儲(chǔ)單元。例如:的存儲(chǔ)單元。例如:l A I0.0 /”與與“l(fā) L IB0 /將將

26、IB0的內(nèi)容裝入運(yùn)算累加器的內(nèi)容裝入運(yùn)算累加器 1(ACCU1)l L MW64 /將將MW64的內(nèi)容裝入的內(nèi)容裝入ACCU1l = Q0.0 /將將RLO的內(nèi)容賦給的內(nèi)容賦給l置置1l T DBD10 /將將ACCU1中的內(nèi)容傳送至中的內(nèi)容傳送至 DBD12中中整理課件l(3)存儲(chǔ)器間接尋址)存儲(chǔ)器間接尋址l存儲(chǔ)器間接尋址就是以存儲(chǔ)器的內(nèi)容作為地址,存儲(chǔ)器間接尋址就是以存儲(chǔ)器的內(nèi)容作為地址,通過這個(gè)地址間接找到操作數(shù)。通過這個(gè)地址間接找到操作數(shù)。l對(duì)于對(duì)于T、C、DB、FB和和FC的編號(hào),因其范圍的編號(hào),因其范圍在在065535之間,只需之間,只需16位地址,故使用字指位地址,故使用字指針。

27、其它地址(如針。其它地址(如I、Q、M及及DB塊中的位、塊中的位、字節(jié)、字、雙字尋址),則采用雙字地址。字節(jié)、字、雙字尋址),則采用雙字地址。l例如:例如:16位地址位地址lOPN DBMW2 /MW2內(nèi)容為內(nèi)容為5,則為,則為 打開打開DB5lSD TMW4 /MW4內(nèi)容為內(nèi)容為2,則為,則為 啟動(dòng)啟動(dòng)T2整理課件l雙字指針格式:雙字指針格式:l3119位位均為均為0; l183位位字節(jié)地址;字節(jié)地址;20位位位地址;位地址;l地址指針常數(shù)以地址指針常數(shù)以P#標(biāo)識(shí),標(biāo)識(shí),MD、LD和和DBD可用可用于存儲(chǔ)地址指針。于存儲(chǔ)地址指針。l32位地址示例程序:位地址示例程序:lL P#2.3 /將地

28、址裝入將地址裝入ACCU1lT MD2 /將將ACCU1的內(nèi)容(即地址的內(nèi)容(即地址 )傳送至)傳送至MD2lA IMD2 /對(duì)輸入位進(jìn)行與操作對(duì)輸入位進(jìn)行與操作 l= QMD2 /結(jié)果輸出至結(jié)果輸出至l(注:(注:P#2.3 為為2#0000 0000 0000 0000 0000 0000 0001 0011) 整理課件l(4)地址寄存器間接尋址)地址寄存器間接尋址l地址寄存器間接尋址是使用地址寄存器地址寄存器間接尋址是使用地址寄存器AR1和和AR2對(duì)存儲(chǔ)區(qū)尋址。分為區(qū)域內(nèi)寄存器間接尋址對(duì)存儲(chǔ)區(qū)尋址。分為區(qū)域內(nèi)寄存器間接尋址和區(qū)域間寄存器間接尋址和區(qū)域間寄存器間接尋址l區(qū)域內(nèi)寄存器間接尋址

29、區(qū)域內(nèi)寄存器間接尋址程序示例如下:程序示例如下:lL P#8.7 /將地址裝入將地址裝入ACCU1lLAR1 /將將ACCU1內(nèi)容裝入內(nèi)容裝入AR1lA I AR1,P#0.0 /對(duì)進(jìn)行對(duì)進(jìn)行“與與”操作操作l= QAR1,P#1.1 /結(jié)果輸出至結(jié)果輸出至l注:注:AR1,P#0.0為為AR1內(nèi)容()加上偏移量(仍為);內(nèi)容()加上偏移量(仍為); AR1,P1.1為為AR1內(nèi)容()加上偏移量(為),位運(yùn)算內(nèi)容()加上偏移量(為),位運(yùn)算為八進(jìn)制,字節(jié)運(yùn)算為十進(jìn)制;為八進(jìn)制,字節(jié)運(yùn)算為十進(jìn)制;整理課件l區(qū)域間寄存器間接尋址區(qū)域間寄存器間接尋址程序示例如下:程序示例如下:lL P#I7.3 /

30、將的地址裝入將的地址裝入ACCU1lLAR1 /將將ACCU1內(nèi)容裝入內(nèi)容裝入AR1lL P#Q8.3 /將的地址裝入將的地址裝入ACCU1lLAR2 /將將ACCU1內(nèi)容裝入內(nèi)容裝入AR2lA AR1,P#0.0 /對(duì)進(jìn)行對(duì)進(jìn)行“與與”操作操作l= AR2,P#1.1 /結(jié)果輸出至結(jié)果輸出至l與區(qū)域內(nèi)尋址的區(qū)別是在前面的地址中直接指定了與區(qū)域內(nèi)尋址的區(qū)別是在前面的地址中直接指定了區(qū)域(區(qū)域(I和和Q),而在后面的操作中不再指定區(qū)域。),而在后面的操作中不再指定區(qū)域。整理課件l(1)“與與”和和“與非與非” 操作操作l “與與”是以常開點(diǎn)開始的串聯(lián)邏輯行,或者是以常開點(diǎn)開始的串聯(lián)邏輯行,或者是

31、串聯(lián)單個(gè)常開點(diǎn)。是串聯(lián)單個(gè)常開點(diǎn)。l “與非與非”是以常閉點(diǎn)開始的串聯(lián)邏輯行,或是以常閉點(diǎn)開始的串聯(lián)邏輯行,或者是串聯(lián)單個(gè)常閉點(diǎn)。者是串聯(lián)單個(gè)常閉點(diǎn)。l 觸點(diǎn)可以是觸點(diǎn)可以是I區(qū)、區(qū)、Q區(qū)、區(qū)、M區(qū)、區(qū)、DB塊內(nèi)的塊內(nèi)的BOOL點(diǎn)、定時(shí)器點(diǎn)、定時(shí)器T和計(jì)數(shù)器和計(jì)數(shù)器C的狀態(tài)點(diǎn),以及的狀態(tài)點(diǎn),以及臨時(shí)狀態(tài)點(diǎn)。臨時(shí)狀態(tài)點(diǎn)。整理課件l例如:例如:I0.0I0.1I0.0I0.1LAD指令指令STL指令指令I(lǐng)0.0整理課件l(2)“或或”和和“或非或非” 操作操作l “或或”是以常開點(diǎn)開始的并聯(lián)邏輯行,或者是以常開點(diǎn)開始的并聯(lián)邏輯行,或者是并聯(lián)單個(gè)常開點(diǎn)。是并聯(lián)單個(gè)常開點(diǎn)。l “或非或非”是以常閉點(diǎn)開

32、始的并聯(lián)邏輯行,或是以常閉點(diǎn)開始的并聯(lián)邏輯行,或者是并聯(lián)單個(gè)常閉點(diǎn)。者是并聯(lián)單個(gè)常閉點(diǎn)。l觸點(diǎn)同觸點(diǎn)同1)。)。l例如:例如: I0.0I0.1LAD指令指令STL指令指令I(lǐng)0.0I0.1整理課件l(3)“非非”操作操作l RLO取取“非非”。l(4)輸出)輸出 操作操作l 將邏輯運(yùn)算結(jié)果輸出至指定存儲(chǔ)位。存儲(chǔ)位將邏輯運(yùn)算結(jié)果輸出至指定存儲(chǔ)位。存儲(chǔ)位可以是可以是Q區(qū)、區(qū)、M區(qū)、區(qū)、DB塊內(nèi)的塊內(nèi)的BOOL點(diǎn),以及點(diǎn),以及臨時(shí)狀態(tài)點(diǎn)。臨時(shí)狀態(tài)點(diǎn)。|NOT|LAD指令指令STL指令指令NOTLAD指令指令STL指令指令()Q0.0= Q0.0整理課件l(5)“與與”操作嵌套開始及結(jié)束操作嵌套開始及

33、結(jié)束l 由于程序按先由于程序按先“與與”后后“或或”次序執(zhí)行,當(dāng)次序執(zhí)行,當(dāng)需要先進(jìn)行需要先進(jìn)行“或或”操作時(shí),使用該指令。操作時(shí),使用該指令。l A( 開始開始l ) 結(jié)束結(jié)束l例如:例如:LADSTL指令指令 I0.0 I0.1Q4.1( )Q4.1A (O I0.0O Q4.1 )AN I0.1 = Q4.1整理課件A(ON I0.0 ) A( )AN C2 STL指令指令I(lǐng)0.0I0.2I0.3I0.1 C2( )Q4.3LAD整理課件l(6)邏輯行)邏輯行“或或”操作(操作(O)l 由于程序按先由于程序按先“與與”后后“或或”次序執(zhí)行,當(dāng)次序執(zhí)行,當(dāng)出現(xiàn)邏輯行出現(xiàn)邏輯行“或或”操作時(shí)

34、,使用不帶地址的操作時(shí),使用不帶地址的O指令。指令。l例如:例如:AN I0.0 O LADSTL指令指令I(lǐng)0.0I0.2 I0.3I0.1( )Q4.2整理課件l(7)復(fù)位()復(fù)位(R)、置位()、置位(S)操作、)操作、l 對(duì)應(yīng)點(diǎn)的置對(duì)應(yīng)點(diǎn)的置1或置或置0。l(8)上升沿檢測(cè)()上升沿檢測(cè)(P)和下降沿檢測(cè)()和下降沿檢測(cè)(N)l RLO上升沿檢測(cè)和下降沿檢測(cè)。上升沿檢測(cè)和下降沿檢測(cè)。R Q1.2 STL指令指令LAD指令指令STL指令指令LAD指令指令STL指令指令LAD指令指令(P)M1.2STL指令指令LAD指令指令(N)M1.2(R)Q1.2(S)M1.2整理課件l(9)RLO狀態(tài)

35、保存至狀態(tài)保存至BR(SAVE)l(10)地址下降沿()地址下降沿(NEG)和上升沿檢測(cè)()和上升沿檢測(cè)(POS)SAVESTL指令指令LAD指令指令A(yù) I0.0 BLD 100STL指令指令LAD指令指令A(yù) I0.0 BLD 100NEGM_BITQ()POSM_BITQI0.0M1.0()Q0.0(SAVE)整理課件l(11)RS觸發(fā)器、觸發(fā)器、SR觸發(fā)器觸發(fā)器l置位優(yōu)先觸發(fā)器(置位優(yōu)先觸發(fā)器(RS)和復(fù)位優(yōu)先觸發(fā)器()和復(fù)位優(yōu)先觸發(fā)器(SR)。)。 LADSTL指令指令 I0.0I0.1 RS R QSM0.1I0.0I0.1 SR S QRM0.2整理課件l 這兩條是這兩條是STL指令

36、,無對(duì)應(yīng)的梯形圖指令。指令,無對(duì)應(yīng)的梯形圖指令。STL編程及一些梯形圖轉(zhuǎn)為編程及一些梯形圖轉(zhuǎn)為STL指令時(shí)會(huì)用到。指令時(shí)會(huì)用到。l(1)裝入指令()裝入指令(L)l 裝入指令裝入指令L將源操作數(shù)裝入累加器將源操作數(shù)裝入累加器1中,累加中,累加器器1中的原有數(shù)據(jù)移入累加器中的原有數(shù)據(jù)移入累加器2中。中。l 如:如:L MW0l(2)傳送指令()傳送指令(T)l 傳送指令傳送指令T將累加器將累加器1中的內(nèi)容傳送至目的存中的內(nèi)容傳送至目的存儲(chǔ)器中,累加器儲(chǔ)器中,累加器1的內(nèi)容不變。的內(nèi)容不變。l 如:如:T MD10整理課件l(1)定時(shí)器)定時(shí)器l接通延時(shí)定時(shí)器接通延時(shí)定時(shí)器(S_ODT)I0.1I

37、0.2當(dāng)前值當(dāng)前值Q4.0S 啟動(dòng)端啟動(dòng)端R 復(fù)位端復(fù)位端TV 定時(shí)時(shí)間定時(shí)時(shí)間(19990s)Q 輸出端輸出端BI 16進(jìn)制當(dāng)前值進(jìn)制當(dāng)前值BCD BCD碼當(dāng)前值碼當(dāng)前值S5T#3SI0.2I0.1( )Q4.0MW10MW12T1S_ODTSQTVBIBCDR整理課件l定時(shí)器指令使用示例:定時(shí)器指令使用示例:LS5T#3SSDT1RT1LT1TMW10LCT1TMW12AT1AT1S5T#3SI0.2I0.1( )Q4.0MW10MW12T1S_ODTSQTVBIBCDRT1M1.0( )Network1Network2整理課件l斷開延時(shí)定時(shí)器(斷開延時(shí)定時(shí)器(S_OFFDT)I0.1I0

38、.2當(dāng)前值當(dāng)前值Q4.0各端說明同前各端說明同前S5T#3SI0.2I0.1( )Q4.0MW10MW12T1S_OFFDTSQTVBIBCDR整理課件l定時(shí)器指令簡(jiǎn)化形式:定時(shí)器指令簡(jiǎn)化形式:l 當(dāng)不使用強(qiáng)制復(fù)位端及不顯示當(dāng)前值時(shí),可當(dāng)不使用強(qiáng)制復(fù)位端及不顯示當(dāng)前值時(shí),可使用定時(shí)器簡(jiǎn)化形式指令。例如:使用定時(shí)器簡(jiǎn)化形式指令。例如:LS5T#3SSDT1I0.1 T1(SD)S5T#3SI0.1 T2(SF)S5T#5SLS5T#5SSFT2S5T#3SI0.1T1S_ODTSQTVBIBCDRS5T#5SI0.1T2S_OFFDTSQTVBIBCDR整理課件l(2)計(jì)數(shù)器)計(jì)數(shù)器l減計(jì)數(shù)器減

39、計(jì)數(shù)器(S_CD)l設(shè)定值為設(shè)定值為0999。CD 計(jì)數(shù)端計(jì)數(shù)端S 計(jì)數(shù)設(shè)置端計(jì)數(shù)設(shè)置端PV 計(jì)數(shù)設(shè)定值計(jì)數(shù)設(shè)定值R 復(fù)位端復(fù)位端Q 輸出端輸出端CV16進(jìn)制當(dāng)前值進(jìn)制當(dāng)前值CV_BCD BCD碼碼 當(dāng)前值。當(dāng)前值。C#3I0.3I0.1( )Q4.0MW10MW12S_CDCDQPVCVCV_BCDRI0.2SC10整理課件l 計(jì)數(shù)當(dāng)前值不為零時(shí),計(jì)數(shù)器狀態(tài)輸出為計(jì)數(shù)當(dāng)前值不為零時(shí),計(jì)數(shù)器狀態(tài)輸出為1(ON),否則為),否則為0(OFF)。)。l 當(dāng)計(jì)數(shù)設(shè)置端當(dāng)計(jì)數(shù)設(shè)置端S為為1時(shí),將計(jì)數(shù)設(shè)定值(時(shí),將計(jì)數(shù)設(shè)定值(PV端端規(guī)定)送如計(jì)數(shù)器。然后,計(jì)數(shù)端(規(guī)定)送如計(jì)數(shù)器。然后,計(jì)數(shù)端(CD端

40、)端)每接通一次,計(jì)數(shù)值減每接通一次,計(jì)數(shù)值減1。當(dāng)計(jì)數(shù)值減為。當(dāng)計(jì)數(shù)值減為0時(shí),時(shí),計(jì)數(shù)器狀態(tài)輸出由計(jì)數(shù)器狀態(tài)輸出由1(ON)變?yōu)椋┳優(yōu)?(OFF)。)。l 當(dāng)復(fù)位端(當(dāng)復(fù)位端(R端)為端)為1(ON)時(shí),計(jì)數(shù)器復(fù)位。)時(shí),計(jì)數(shù)器復(fù)位。l 再次啟動(dòng)計(jì)數(shù)前,需再次通過再次啟動(dòng)計(jì)數(shù)前,需再次通過S端設(shè)置。端設(shè)置。整理課件l減計(jì)數(shù)器指令應(yīng)用示例減計(jì)數(shù)器指令應(yīng)用示例C#3I0.3I0.1( )Q4.0MW10MW12S_CDCDQPVCVCV_BCDRI0.2SC0 CD C0 BLD 101 L C#3 S C0 R C0 L C0 T MW10 LC C0 T MW12 A C0Q4.2( )C

41、0A C0Network1Network2整理課件l加計(jì)數(shù)器加計(jì)數(shù)器(S_CU)l計(jì)數(shù)值為計(jì)數(shù)值為0時(shí),狀態(tài)輸出為時(shí),狀態(tài)輸出為0,否則為,否則為1。l計(jì)數(shù)范圍為計(jì)數(shù)范圍為0999CD 計(jì)數(shù)端計(jì)數(shù)端S 計(jì)數(shù)設(shè)置端計(jì)數(shù)設(shè)置端PV 計(jì)數(shù)值計(jì)數(shù)值R 復(fù)位端復(fù)位端Q 輸出端輸出端CV16進(jìn)制當(dāng)前值進(jìn)制當(dāng)前值CV_BCD BCD碼碼 當(dāng)前值。當(dāng)前值。C#3I0.3I0.1( )Q4.0MW10MW12S_CUCUQPVCVCV_BCDRI0.2SC10整理課件l(1 1)延時(shí)接通,延時(shí)斷開I0.0Q4.16s3sI0.0 T0(SD)S5T#3SQ4.1( )T0Q4.1T1Q4.1I0.0 T1(SD

42、)S5T#6S整理課件l(2)振蕩器(脈沖發(fā)生器)S5T#3ST2T1S_ODTSQTVBIBCDRS5T#1ST2S_ODTSQTVBIBCDRI0.0I0.0Q4.01s3s3s1s( )Q4.0T1整理課件l(3)定時(shí)器T0 T1(SD)S5T#10MN2T1T2 T2(SD)S5T#1HN4C0T2C#3S_CDCDQPVCVCV_BCDRI0.0SN3I0.0 T0(SD)S5T#5SN1( )Q4.0N5C0I0.0整理課件l(4)一般閃光報(bào)警系統(tǒng)S5T#500MST0 T1(SD)N2T0 Q4.0( )N3M0.1I0.2I0.0I0.1 M0.1( )N4M0.1I0.0I0

43、.0 Q4.1( )N5M0.1為報(bào)警信號(hào)為為報(bào)警信號(hào)為確認(rèn)按鈕為試確認(rèn)按鈕為試燈按鈕燈按鈕閃爍程序閃爍程序報(bào)警燈控制報(bào)警燈控制警鈴控制警鈴控制確認(rèn)信號(hào)確認(rèn)信號(hào)I0.0 T0(SD)S5T#500MSN1T1M0.1整理課件l梯形圖中的傳送指令:梯形圖中的傳送指令:MOVE移動(dòng)移動(dòng)ENENOINOUTMOVE IN端和端和OUT端可以是所有長度為端可以是所有長度為8、16或或32位的基本數(shù)據(jù)類型,且位的基本數(shù)據(jù)類型,且IN端可以是各端可以是各類常數(shù)。類常數(shù)。當(dāng)當(dāng)EN端(使能端)為端(使能端)為1時(shí),時(shí),將將IN端數(shù)據(jù)傳入端數(shù)據(jù)傳入OUT端,端,且且使使ENO=1。整理課件l移動(dòng)指令使用示例:移

44、動(dòng)指令使用示例:A(JNB_001L100TMW4SETSAVECLR_001: ABR ) /如如RLO=0,則跳至標(biāo)號(hào)則跳至標(biāo)號(hào)_001處處,且且BR=RLO。/將常數(shù)將常數(shù)100裝入累加器裝入累加器1低字低字/將累加器將累加器1低字內(nèi)容傳至低字內(nèi)容傳至MW4/將將RLO置置1/將將RLO存入存入BR位(執(zhí)行正確為位(執(zhí)行正確為1)/將將RLO置為置為0ENENOINOUTMOVE100MW4I0.1ENENOINOUTMOVEMB8IB2( )Q4.0注:第注:第2個(gè)個(gè)MOVE的的STL指令忽略指令忽略整理課件l比較指令用于比較累加器比較指令用于比較累加器1與累加器與累加器2中的數(shù)據(jù)中的

45、數(shù)據(jù)大小,被比較的兩個(gè)數(shù)的數(shù)據(jù)類型應(yīng)相同。數(shù)大小,被比較的兩個(gè)數(shù)的數(shù)據(jù)類型應(yīng)相同。數(shù)據(jù)類型可以是整數(shù)(據(jù)類型可以是整數(shù)(I)、雙字整數(shù)()、雙字整數(shù)(D)或浮)或浮點(diǎn)數(shù)(點(diǎn)數(shù)(R、即實(shí)數(shù))如果比較條件滿足,則、即實(shí)數(shù))如果比較條件滿足,則ROL為為1,否則為,否則為0。l 比較條件包括比較條件包括=、=、=。l CPU狀態(tài)寄存器中的狀態(tài)寄存器中的CC0和和CC1位用來表示兩位用來表示兩個(gè)數(shù)的大于、小于和等于關(guān)系(個(gè)數(shù)的大于、小于和等于關(guān)系(00相等、相等、01為為小于、小于、10為大于)。為大于)。整理課件l語句表指令語句表指令l ?I 整數(shù)比較整數(shù)比較l ?D 雙字整數(shù)比較雙字整數(shù)比較 l

46、?R 浮點(diǎn)數(shù)比較浮點(diǎn)數(shù)比較l ?可以是可以是=、=、=。l梯形圖指令梯形圖指令I(lǐng)N2CMP ?IIN1IN2CMP ?DIN1IN2CMP ?RIN1整理課件l比較指令使用示例:比較指令使用示例:IN2CMP =IIN1MW2MW4( ) A( L MW2 L MW4 I ) 整理課件l1)整數(shù)運(yùn)算指令)整數(shù)運(yùn)算指令l單字加、減、乘、除指令單字加、減、乘、除指令: +I、-I、*I、/IEN ENOIN2OUTADD_IIN1EN ENOIN2OUTSUB_IIN1EN ENOIN2OUTMUL_IIN1EN ENOIN2OUTDIV_IIN1整理課件l整數(shù)運(yùn)算指令使用示例:整數(shù)運(yùn)算指令使用示

47、例: A( JNB _001 L 10 L MW4 +I T MW6 AN OV SAVE CLR _001: A BR ) JNB _002 L MW6 L MW8 -I T MW10 AN OV SAVE CLR _002: A BR JNB _002 L MW6 L MW8 -I T MW10_002: NOP 0 EN ENOIN2OUTADD_IIN110I0.1MW4( )Q4.0MW6EN ENOIN2OUTSUB_IIN1MW6MW8MW10(有時(shí))(有時(shí))(無時(shí))(無時(shí))整理課件l雙字加、減、乘、除指令雙字加、減、乘、除指令l+D、-D、*D、/DEN ENOIN2OUTAD

48、D_DIIN1EN ENOIN2OUTSUB_DIIN1EN ENOIN2OUTMUL_DIIN1EN ENOIN2OUTDIV_DIIN1整理課件l雙字整數(shù)運(yùn)算指令使用示例:雙字整數(shù)運(yùn)算指令使用示例:EN ENOIN2OUTADD_DIIN1MD20L#10MD24 A( JNB _001 L MD20 L L#10 *D T MD24 AN OV SAVE CLR _001: A BR ) JNB _002 L MD24 L L#3 /D T MD28_002: NOP 0 EN ENOIN2OUTSUB_DIIN1MD24 L#3MD28整理課件l浮點(diǎn)數(shù)加、減、乘、除指令浮點(diǎn)數(shù)加、減、乘

49、、除指令l+R、-R、*R、/REN ENOIN2OUTADD_RIN1EN ENOIN2OUTSUB_RIN1EN ENOIN2OUTMUL_RIN1EN ENOIN2OUTDIV_RIN1整理課件l浮點(diǎn)數(shù)運(yùn)算指令使用示例:浮點(diǎn)數(shù)運(yùn)算指令使用示例:EN ENOIN2OUTADD_RIN1MD2012.5MD10EN ENOIN2OUTMUL_RIN1MD1010.0MD14 A( L MD20 L 1.250000e+001 +R T MD10 AN OV SAVE CLR A BR ) JNB _001 L MD10 L 1.000000e+001 *R T MD14_001: NOP 0

50、 整理課件l浮點(diǎn)數(shù)的其它運(yùn)算浮點(diǎn)數(shù)的其它運(yùn)算l 包括取絕對(duì)值(包括取絕對(duì)值(ABS)、平方()、平方(SQR)、開平方)、開平方(SQRT)、自然指數(shù)()、自然指數(shù)(EXP)、自然對(duì)數(shù)()、自然對(duì)數(shù)(LN)、)、正弦(正弦(SIN)、余弦()、余弦(COS)、正切()、正切(TAN)、反正)、反正弦(弦(ASIN)、反余弦()、反余弦(ACOS)、反正切()、反正切(ATAN) (各角度為弧度單位),例如各角度為弧度單位),例如ENENOINOUTABSENENOINOUTSQRTENENOINOUTEXPENENOINOUTLNENENOINOUTSINENENOINOUTSQR整理課件l單

51、字左移(單字左移(SHL_W)、單字右移()、單字右移(SHR_W)l雙字左移(雙字左移(SHL_DW) 、雙字右移(、雙字右移(SHR_DW) l移出位丟失,補(bǔ)位位為移出位丟失,補(bǔ)位位為0,例如,例如SHL_W:ENOENOUTINNXXX_XXEN使能輸入使能輸入ENO 使能輸出使能輸出IN要移位的值要移位的值N要移動(dòng)的位數(shù)要移動(dòng)的位數(shù)OUT 移位指令的結(jié)果移位指令的結(jié)果150D0整理課件l雙字循環(huán)左移(雙字循環(huán)左移(ROL_DW) l雙字循環(huán)右移(雙字循環(huán)右移(ROR_DW)ENOENOUTINNXXX_XXEN使能輸入使能輸入ENO 使能輸出使能輸出IN要移位的值要移位的值N要移動(dòng)的位

52、數(shù)要移動(dòng)的位數(shù)OUT 移位指令的結(jié)果移位指令的結(jié)果310ROR_DWD310ROL_DWD整理課件l移位類指令使用示例:移位類指令使用示例:ENOENOUTINNSHL_WQW0I0.1MW0QW0(P)EN ENOIN OUTMOVE1QW0I0.02M3.0IN2CMP= IIN1EN ENOIN OUTMOVEMW0QW01EN ENOIN OUTMOVEQW00I0.0I0.1整理課件lSTL程序程序 A( JNB _001 L 1 T QW0 SET SAVE CLR _001: A BR ) JNB _002 L 2 T MW0_002: NOP 0 A( JNB _003 L M

53、W0 L QW0 SLW T QW0 SET SAVE CLR _003: A BR ) A( L QW0 L 0 = = I ) JNB _004 L 1 T QW0_004: NOP 0Network 1:Network 2:整理課件l單字單字“與與”(WAND_W)、雙字、雙字“與與” (WAND_DW)l單字單字“或或”(WOR_W)、雙字、雙字“或或” (WOR_DW)l單字單字“異或異或”(WXOR_W)l雙字雙字“異或異或”(WXOR_DW)ENOENOUTIN1IN2XXXX_XXEN使能輸入使能輸入ENO 使能輸出使能輸出IN1邏輯運(yùn)算第邏輯運(yùn)算第1個(gè)值個(gè)值IN2邏輯運(yùn)算第邏

54、輯運(yùn)算第2個(gè)值個(gè)值OUT 邏輯運(yùn)算邏輯運(yùn)算的結(jié)果的結(jié)果整理課件l字邏輯指令使用示例:字邏輯指令使用示例:ENENOIN2OUTWOR_WIN1MW0MW2MW4ENENOIN2OUTWAND_WIN1MW4MW6MW8 A( L MW0 L MW2 OW T MW4 SET SAVE CLR A BR ) JNB _001 L MW4 L MW6 AW T MW8_001: NOP 0整理課件l包括整數(shù)、包括整數(shù)、BCD、浮點(diǎn)數(shù)之間的轉(zhuǎn)換,以及取反、浮點(diǎn)數(shù)之間的轉(zhuǎn)換,以及取反、求補(bǔ)、取整等。求補(bǔ)、取整等。lBCD_I BCD碼轉(zhuǎn)換為整型(碼轉(zhuǎn)換為整型(STL:BTI) lI_BCD 整型轉(zhuǎn)換為

55、整型轉(zhuǎn)換為BCD碼碼 (STL:ITB) lBCD_DI BCD碼轉(zhuǎn)換為長整型(碼轉(zhuǎn)換為長整型(STL:BTD) lI_DI 整型轉(zhuǎn)換為長整型整型轉(zhuǎn)換為長整型 (STL:ITD) lDI_BCD 長整型轉(zhuǎn)換為長整型轉(zhuǎn)換為BCD碼(碼(STL:DTB) lDI_R 整型轉(zhuǎn)換為浮點(diǎn)型(整型轉(zhuǎn)換為浮點(diǎn)型(STL:DTR) lINV_I 整數(shù)求反碼(整數(shù)求反碼(STL:INVI) lINV_DI 長整數(shù)求反碼(長整數(shù)求反碼(STL:INVD) 整理課件lNEG_I 對(duì)整數(shù)求補(bǔ)碼對(duì)整數(shù)求補(bǔ)碼 (STL:NEGI) lNEG_DI 對(duì)長整數(shù)求補(bǔ)碼(對(duì)長整數(shù)求補(bǔ)碼(STL:NEGD) lNEG_R 浮點(diǎn)數(shù)取

56、反浮點(diǎn)數(shù)取反 (STL:NEGR) lROUND 舍入取整為長整型舍入取整為長整型 (STL:RND) lTRUNC 截取長整數(shù)部分截取長整數(shù)部分 (STL:TRUNC) lCEIL 向上取整向上取整 (STL:RND+) lFLOOR 向下取整向下取整 (STL:RND-) ENOENOUTINXXXXEN使能輸入使能輸入ENO 使能輸出使能輸出IN輸入數(shù)據(jù)輸入數(shù)據(jù)OUT 結(jié)果結(jié)果整理課件l轉(zhuǎn)換指令使用示例:轉(zhuǎn)換指令使用示例:ENENOOUTI_DIIN1MW0MD2ENENOOUT DI_RIN1MD2MD6 A( L MW0 ITD T MD2 SET SAVE CLR A BR ) J

57、NB _001 L MD2 DTR T MD6_001: NOP 0整理課件l 狀態(tài)位指令屬于位邏輯指令,用于對(duì)狀態(tài)字的位進(jìn)狀態(tài)位指令屬于位邏輯指令,用于對(duì)狀態(tài)字的位進(jìn)行處理。行處理。l二進(jìn)制結(jié)果位二進(jìn)制結(jié)果位(BR)被置位被置位(即信號(hào)狀態(tài)為即信號(hào)狀態(tài)為1)。l數(shù)學(xué)運(yùn)算函數(shù)發(fā)生溢出數(shù)學(xué)運(yùn)算函數(shù)發(fā)生溢出 (OV)或存儲(chǔ)溢出或存儲(chǔ)溢出 (OS)。l數(shù)學(xué)運(yùn)算函數(shù)的結(jié)果是無序的數(shù)學(xué)運(yùn)算函數(shù)的結(jié)果是無序的 (UO)。l數(shù)學(xué)運(yùn)算函數(shù)的結(jié)果與數(shù)學(xué)運(yùn)算函數(shù)的結(jié)果與0的關(guān)系有:的關(guān)系有: l = 0、 0、 0、= 0、0OV= =0整理課件l狀態(tài)位指令使用示例:狀態(tài)位指令使用示例:EN ENOIN2OUTSUB_RIN1MD1010.1MD14=0( )Q4.0 A( L MD10 L 1.010000e+001 -R T MD14 AN O

溫馨提示

  • 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)論