《如何讀STL程序 西門子 PLC Step》由會員分享,可在線閱讀,更多相關《如何讀STL程序 西門子 PLC Step(22頁珍藏版)》請在裝配圖網上搜索。
1、如何讀如何讀STL程序程序 西門子西門子 PLC StepSTL指令及其結構:語句指令:語句指令:操作碼操作碼 操作數操作數執(zhí)行該操作所需要的信息執(zhí)行該操作所需要的信息 有些語句指令不帶操作數,它們操作的對象是唯一的有些語句指令不帶操作數,它們操作的對象是唯一的。NOT/對邏輯操作結果(對邏輯操作結果(RLO)取反。取反。A I 0.1 /對輸入繼電器對輸入繼電器 I 0.1 進行與操作進行與操作 L MW10 /將字將字MW10裝入累加器裝入累加器1定義要執(zhí)行的功能定義要執(zhí)行的功能第1頁/共21頁操作數:操作數:標識符標識符 標識參數標識參數 L M W 10表示操作數在該存儲區(qū)域表示操作數
2、在該存儲區(qū)域內的具體位置內的具體位置 主標識符:表示操作數所在的存儲區(qū)主標識符:表示操作數所在的存儲區(qū) 主要有:I(輸入映像區(qū)),Q(輸出映像區(qū)),M(位存儲區(qū)),PI(外部輸入),PQ(外部輸出),T(定時器),C(計數器),DB(數據塊),L(本地數據)等 輔助標識符進一步說明操作數的位數長度輔助標識符進一步說明操作數的位數長度包括有:X(位),B(字節(jié)),W(字2字節(jié)),D(雙字4字節(jié))表示操作數存放區(qū)域及操作數表示操作數存放區(qū)域及操作數位數(位、字節(jié)、字等)位數(位、字節(jié)、字等)第2頁/共21頁操作數表示:存儲區(qū)域存儲區(qū)域 位位字節(jié)字節(jié)字字雙字雙字輸入映像區(qū)(輸入映像區(qū)(I)I IB
3、IW ID輸出映像區(qū)(輸出映像區(qū)(Q)Q QB QW QD位存儲區(qū)(位存儲區(qū)(M)M MB MW MD外部輸入存儲區(qū)(外部輸入存儲區(qū)(PI)PIB PIW PID外部輸出存儲區(qū)(外部輸出存儲區(qū)(PQ)PQB PQW PQD數據塊(用數據塊(用“OPN DB”打開)打開)DBX DBB DBW DBD數據塊(用數據塊(用“OPN DI”打開)打開)DIX DIB DIW DID臨時堆棧(臨時堆棧(L)L LB LW LD第3頁/共21頁尋址方式:立即尋址立即尋址立即尋址立即尋址 SET /把把 RLO(Result of Logic Operation)置置“1”L 27 /把整數把整數27裝人
4、累加器裝人累加器1 L C#0100 /把把 BCD碼常數碼常數0100裝入累加器裝入累加器1 立即尋址立即尋址立即尋址立即尋址:對常數或常量的尋址方式,操作數本身包含在指對常數或常量的尋址方式,操作數本身包含在指令中令中第4頁/共21頁編程、調編程、調試及故障試及故障排除排除現場設備現場設備詳細介紹詳細介紹系統(tǒng)及網系統(tǒng)及網絡介紹絡介紹數據格式:7654321 010.710.610.510.410.310.210.1 10.0MB10MB11MB12MB13MB14MW10MW12MW11 MD11MB15 MD12 MD10第5頁/共21頁編程、調編程、調試及故障試及故障排除排除現場設備現
5、場設備詳細介紹詳細介紹系統(tǒng)及網系統(tǒng)及網絡介紹絡介紹實例:數據分配舉例數據分配舉例第6頁/共21頁數字表示方法:BYTE:LB#16#10Lbyte#16#10WORD:L2#1000000000000LW#16#1000Lword#16#1000DWORD:LDW#16#A21234Ldword#16#A21234INT:L1DINT:LL#1REAL:L1.234567e+13TIME:LS5T#1H1M50S第7頁/共21頁尋址方式:直接尋址直接尋址直接尋址直接尋址 A I0.0 /對輸入位對輸入位I0.0進行進行“與與”邏輯操作邏輯操作 S L20.0 /把本地數據位把本地數據位L20.
6、0置置1 =M115.4 /將將RLO的內容傳給位存儲區(qū)中的位的內容傳給位存儲區(qū)中的位M115.4 L DB1.DBD 12 /把數據塊把數據塊DB1雙字雙字DBD12中的內容傳送給累加器中的內容傳送給累加器1 /雙字表示雙字表示32位,如浮點數為位,如浮點數為32為雙字為雙字直接直接尋址尋址尋址尋址:在指令中直接給出操作數的存儲單元地址在指令中直接給出操作數的存儲單元地址第8頁/共21頁尋址方式:存儲器間接尋址存儲器間接尋址存儲器間接尋址存儲器間接尋址存儲器存儲器間接尋址間接尋址間接尋址間接尋址 :標識參數由一個存儲器給出,存儲器的內容標識參數由一個存儲器給出,存儲器的內容對應該標識參數的值
7、對應該標識參數的值(該值又稱為該值又稱為地址指針地址指針)這種尋址方式能動態(tài)改變操作數存儲器的地址,常用于程序循環(huán)過程中這種尋址方式能動態(tài)改變操作數存儲器的地址,常用于程序循環(huán)過程中的尋址。的尋址。A IMD 2 /對由對由MD 2指出的輸入位進行指出的輸入位進行“與與”邏輯操作,如:邏輯操作,如:MD 2值為值為 /2#0000 0000 0000 0000 0000 0000 0101 0110表示表示I 10.6L IBDID 4 /將由雙字將由雙字DID 4指出的輸入字節(jié)裝入累加器指出的輸入字節(jié)裝入累加器1,如:,如:DID 4值為值為 /2#0000 0000 0000 0000 0
8、000 0000 0101 0000表示對表示對IB10操作操作OPN DBMW 2 /打開由字打開由字MW2指出的數據塊,如指出的數據塊,如MW2為為3,則打開,則打開DB3 第9頁/共21頁尋址方式:寄存器間接尋址寄存器間接尋址寄存器間接尋址寄存器間接尋址(指針指針指針指針)寄存器寄存器間接尋址間接尋址間接尋址間接尋址 :在在S7中有兩個地址寄存器(中有兩個地址寄存器(AR1和和AR2)地址寄存器的內容地址寄存器的內容 偏移量偏移量 地址指針地址指針L P#8.6 /將將P#8.6裝入裝入A 1LAR1 /將累加器將累加器1的內容傳送至地址寄存器的內容傳送至地址寄存器1L P#10.0 /
9、將將P#10.0裝入裝入A1LAR2 /將累加器將累加器1的內容傳送至地址寄存器的內容傳送至地址寄存器2A IAR1,P#1.0 /AR1+偏移量偏移量(9.6)=QAR2,P#4.1 /AR1+偏移量偏移量(14.1)LAR1 P#STAT53/把把指針指向指針指向STAT53L 0 /把把0裝入裝入ACCU1T DIW AR1,P#0.0 /把地址寄存器內指向起始地址區(qū)的數據賦值把地址寄存器內指向起始地址區(qū)的數據賦值第10頁/共21頁在線監(jiān)視很多時很多時候需要候需要在線監(jiān)在線監(jiān)視的。視的。在線監(jiān)在線監(jiān)視的情視的情況如圖,況如圖,各個寄各個寄存器的存器的情況詳情況詳見下頁。見下頁。第11頁/
10、共21頁系統(tǒng)的內部寄存器:S7 CPU的寄存器有(的寄存器有(7個):個):累加器累加器 32位位累加器累加器1 (ACCU1)主主累加器累加器2 (ACCU2)輔輔2個個32位累加器位累加器*地址寄存器地址寄存器 32位位地址寄存器地址寄存器1 (AR1)地址寄存器地址寄存器2 (AR2)2個個32位地址寄存器位地址寄存器*數據塊地址寄存器數據塊地址寄存器 32位位共享數據塊共享數據塊 DB 背景數據塊背景數據塊 DI 2個個32位數據塊地址寄存器位數據塊地址寄存器狀態(tài)字寄存器狀態(tài)字寄存器 16位位狀態(tài)位狀態(tài)位 1個個16位狀態(tài)字寄存器位狀態(tài)字寄存器*第12頁/共21頁系統(tǒng)存儲區(qū):S7S73
11、00 CPU300 CPU有三個基本存儲區(qū):有三個基本存儲區(qū):外設I/O存儲區(qū) P輸出(映像區(qū))Q輸入(映像區(qū))I位存儲區(qū) M定時器 T計數器 C系統(tǒng)存儲區(qū)系統(tǒng)存儲區(qū)系統(tǒng)存儲區(qū)系統(tǒng)存儲區(qū)存放操作數據(存放操作數據(I/O、位存儲、定時器等)位存儲、定時器等)物理上是物理上是CPU的的RAM,存儲區(qū)的大小因存儲區(qū)的大小因CPU型號而異。型號而異。臨時本地數據存儲區(qū)(L堆棧)可執(zhí)行用戶程序:邏輯塊(OB、FB、FC)數據塊(DB)工作存儲區(qū)工作存儲區(qū)工作存儲區(qū)工作存儲區(qū)存放存放CPU運行時,所執(zhí)行的用戶程序單運行時,所執(zhí)行的用戶程序單元邏輯塊(元邏輯塊(OB、FB、FC)、)、數數據塊(據塊(DB
12、)的復制件;的復制件;存放臨存放臨時本地數據,這部分存儲區(qū)稱時本地數據,這部分存儲區(qū)稱L堆堆棧(主要是存放用戶程序的臨時棧(主要是存放用戶程序的臨時變量)變量)物理上是物理上是CPU模塊的部分模塊的部分RAM動態(tài)裝載存儲區(qū):存放用戶程序裝載存儲區(qū)裝載存儲區(qū)裝載存儲區(qū)裝載存儲區(qū)存放用戶程序存放用戶程序 物理上是物理上是CPU的部分的部分RAM、EEPROM、外置外置FEPROM等等第13頁/共21頁 名名 稱稱 存儲區(qū)存儲區(qū) 存存 儲儲 區(qū)區(qū) 功功 能能 輸入(輸入(I)過程輸入映像過程輸入映像表表 每個掃描周期開始,讀取過程輸入值,記錄輸入映像表每個掃描周期開始,讀取過程輸入值,記錄輸入映像表
13、訪問方式:位、字節(jié)、字、雙字訪問方式:位、字節(jié)、字、雙字 輸出(輸出(O)過程輸出映像過程輸出映像表表 掃描周期結束,輸出映像表內容掃描周期結束,輸出映像表內容輸出端口輸出端口訪問方式:位、字節(jié)、字、雙字訪問方式:位、字節(jié)、字、雙字 外設輸入(外設輸入(PI)外設輸出(外設輸出(PO)外設輸入外設輸入/輸出輸出 外設存儲區(qū)允許直接訪問現場設備外設存儲區(qū)允許直接訪問現場設備訪問方式:字節(jié)、字、雙字(不能訪問位)訪問方式:字節(jié)、字、雙字(不能訪問位)位存儲區(qū)(位存儲區(qū)(M)中間的變量中間的變量存放程序運行的中間結果存放程序運行的中間結果,訪問方式:位、字節(jié)、字、雙字訪問方式:位、字節(jié)、字、雙字 定
14、時器(定時器(T)定時器定時器 計時時鐘訪問該存儲區(qū)中的計時單元計時時鐘訪問該存儲區(qū)中的計時單元定時器指令可以訪問該存儲區(qū)和計時單元定時器指令可以訪問該存儲區(qū)和計時單元 計數器(計數器(C)計數器計數器 計數器指令可以訪問該存儲區(qū)計數器指令可以訪問該存儲區(qū) 臨時本地數據存儲臨時本地數據存儲區(qū)(區(qū)(L)L堆棧堆棧 在在FC、OB塊運行時,塊變量聲明表中臨時變量存放在該存塊運行時,塊變量聲明表中臨時變量存放在該存儲區(qū)。儲區(qū)。數據塊(數據塊(DB)數據塊數據塊 DB塊存放數據信息,可被所有邏輯塊訪問(共享數據塊)塊存放數據信息,可被所有邏輯塊訪問(共享數據塊)或被或被FB塊特定占用(背景數據塊使用塊
15、特定占用(背景數據塊使用DI訪問)訪問)1,外設訪問,外設訪問(P)不通過不通過映像區(qū);2,有些變頻器等超出了,有些變頻器等超出了映像區(qū)的范圍所以,只能使用外設訪問的范圍所以,只能使用外設訪問(P);3,外設訪問,外設訪問(P)在程序執(zhí)行到此位置時進行讀寫操作,而普通的輸入輸出在程序執(zhí)行到此位置時進行讀寫操作,而普通的輸入輸出,則在程序開始讀入,結則在程序開始讀入,結束輸出;束輸出;第14頁/共21頁狀態(tài)字:15876543210BR CC1 CC0 OSOVORSTA RLO FC首次檢測位首次檢測位首次檢測位首次檢測位 *邏輯操作結果邏輯操作結果邏輯操作結果邏輯操作結果*狀態(tài)位狀態(tài)位狀態(tài)位
16、狀態(tài)位 或位或位或位或位 溢出位溢出位溢出位溢出位 溢出狀態(tài)保持位溢出狀態(tài)保持位溢出狀態(tài)保持位溢出狀態(tài)保持位 條件碼條件碼條件碼條件碼0 0 條件碼條件碼條件碼條件碼1 1 1 1 二進制結果位二進制結果位二進制結果位二進制結果位 狀態(tài)字表示狀態(tài)字表示CPUCPU執(zhí)行指令時所具有的狀態(tài),用戶程序可以訪問和檢測執(zhí)行指令時所具有的狀態(tài),用戶程序可以訪問和檢測狀態(tài)字,并可以根據狀態(tài)字中的某些位決定程序的走向和進程。狀態(tài)字,并可以根據狀態(tài)字中的某些位決定程序的走向和進程。第15頁/共21頁邏輯操作結果(RLO):Result of Logic Operation,RLO位置位置:狀態(tài)字位:狀態(tài)字位 “
17、1 1”作用作用:存儲位邏輯指令或算術比較指令的結果。:存儲位邏輯指令或算術比較指令的結果。無法判斷無法判斷RLO的數值時,可以查看的數值時,可以查看FC位的情況。位的情況。在某行按下在某行按下F1,就知道該指令是否影響,就知道該指令是否影響RLO。見下。見下頁頁第16頁/共21頁STASTASTA表示被操作的數據的當前狀態(tài),表示被操作的數據的當前狀態(tài),表示被操作的數據的當前狀態(tài),表示被操作的數據的當前狀態(tài),0 0或者或者或者或者1 1;僅表示布爾量;僅表示布爾量;僅表示布爾量;僅表示布爾量;非布爾量的數值以非布爾量的數值以非布爾量的數值以非布爾量的數值以ACCUACCU累加器表示累加器表示累
18、加器表示累加器表示例如第一句為例如第一句為例如第一句為例如第一句為 AN I0.0AN I0.0I0.0 I0.0 現在為現在為現在為現在為0 0,則,則,則,則STASTA為為為為0 0;但是執(zhí)行完畢后但是執(zhí)行完畢后但是執(zhí)行完畢后但是執(zhí)行完畢后RLORLO為為為為1 1。第17頁/共21頁FC/RLO的變化示例:語句表語句表 實際狀態(tài)實際狀態(tài) 檢測結果檢測結果 RLO FC說明說明 0 FC0:下一條指令開始新邏輯串下一條指令開始新邏輯串 A I 0.0 1 111首次檢測結果存放首次檢測結果存放RLO,FC置置1 AN I 0.1 0 111檢測結果與檢測結果與RLO運算,結果存運算,結果
19、存RLO=Q1.0 10RLO賦值給賦值給Q1.0,FC清清0 I0.0I0.1Q1.0第18頁/共21頁DI和DB的區(qū)別訪問背景數據塊時,使用訪問背景數據塊時,使用DIDI;當然也;當然也可以使用可以使用DBDB訪問背景數據塊;訪問背景數據塊;DIDI的作用體現在:再單個的作用體現在:再單個FBFB里面調里面調用了除背景數據塊外的其他數據塊時,用了除背景數據塊外的其他數據塊時,可以用可以用DBDB進行操作,而背景數據塊進行操作,而背景數據塊可以使用可以使用DIDI進行操作。如右圖:可以進行操作。如右圖:可以OPNDBDBMS/以后所有的DB*操作均是對應DB4,而所有的DI*操作均對應DB433CDB交換數據塊內容,例如把背景數據塊里面的內容與共享數據塊交換,可以訪問共享數據塊,進行操作處理。第19頁/共21頁L的對應好多程序里面直好多程序里面直接使用接使用L L變量,變量,此時你可以上此時你可以上TempTemp里面查看,里面查看,尋求對應關系,尋求對應關系,如果找不到對如果找不到對應關系也無所應關系也無所謂,當一個臨謂,當一個臨時變量使好了,時變量使好了,出了這個塊就出了這個塊就什么都沒了。什么都沒了。第20頁/共21頁感謝您的觀看。感謝您的觀看。第21頁/共21頁