西門子plc S7-300的尋址方法
對于那些過程復(fù)雜、控制參數(shù)較多的工業(yè)控制系統(tǒng)來說,這一點(diǎn)尤為重要。西門子plc S7-300的尋址方法為在plc自動(dòng)控制系統(tǒng)設(shè)計(jì)建設(shè)中實(shí)現(xiàn)上述功能提供了一種簡單可行的途徑。西門子plc S7-300編程語言的基本單元是一個(gè)語句,語句的組成是一條指令。每條指令有兩部分:一部分是操作碼,另一部分是操作數(shù)。操作碼指示指令的功能是什么,操作數(shù)指示操作碼需要數(shù)據(jù)的位置。所謂的尋址是找到操作數(shù)的過程。
西門子plc S7-300 CPU有三種類型的尋址:
1.立即尋址
在指令中,如果操作碼后面的操作數(shù)是操作碼所需的特定數(shù)據(jù),則指令的尋址模式稱為立即尋址, 例如:在轉(zhuǎn)移指令中:MOV IN OUT——操作碼" MOV”的表示指令的功能將IN中的數(shù)據(jù)傳輸?shù)絆UT,其中IN——源操作數(shù),OUT——目標(biāo)操作數(shù)。 如果指令是:MOVD 1204 VD400 功能:將十進(jìn)制數(shù)1204傳送到VD200,其中12004是源操作數(shù)。由于此操作數(shù)的值已在指令中,因此您無需再次查找。這個(gè)操作數(shù)是即時(shí)的。該尋址模式是立即尋址模式。指令中未給出目標(biāo)操作數(shù)的值。僅給出要傳輸?shù)牡刂稸D400。該操作數(shù)的尋址模式是直接尋址。
2.直接尋址
在指令中,如果操作碼后面的操作數(shù)以操作數(shù)的地址形式出現(xiàn),則指令的尋址模式稱為直接尋址, 如:MOVD VD400 VD500 功能:將VD400中的雙字?jǐn)?shù)據(jù)傳輸?shù)絍D500
3.間接尋址
在指令中,如果操作碼后面的操作數(shù)在操作數(shù)的地址處顯示為地址,則指令的尋址模式稱為間接尋址。 如:MOVD 1204 * VD400 * VD400是指存儲(chǔ)12.4地址的地址。 如果VB0存儲(chǔ)在VD400中,則VD0的地址為1204,該指令的功能是:將十進(jìn)制數(shù)1204傳送到VD0地址。
西門子S7-300plc間接尋址方法
1.區(qū)域內(nèi)間接尋址
當(dāng)它為0時(shí),指針的最高位(位31)為0。以下是該地區(qū)間接尋址的例子: L P#4.0; //將間接尋址的指針加載到累加器1中 LAR1;//將累加器1的內(nèi)容發(fā)送給AR1, AR1中的M [AR1,P#2.3]; //P#4.0加上偏移P#2.3,在M6.3上運(yùn)行 =Q [AR1,P#0.2] ;//邏輯運(yùn)算的結(jié)果發(fā)送到Q4.2,P#4.0 + P#0.2=P#4.2 L MW [AR1,P#19.0] ;//將MW26加載到累加器1中,它等于AR1中的地址值P#4.0加上逗號后的地址偏移量。
2.區(qū)域之間的間接尋址
當(dāng)x=1時(shí),指針的最高位(位31)是區(qū)域之間的間接尋址,以下是區(qū)域之間間接尋址的示例: L P#M 6.0 //將M6.0的雙字地址加載到累加器1中 LAR1 //將累加器1的內(nèi)容發(fā)送給AR1 L W [AR1,P#20.0] //將MW26的內(nèi)容傳送到累加器1 對應(yīng)于P#M6.0的二進(jìn)制數(shù)是2#1000 0011 0000 0000 0000 0000 0011 0000.由于地址指針P#M6.0已經(jīng)包含區(qū)域信息(rrr=2#011表示M區(qū)域),第三個(gè)說明“LW [AR1,P#50.0]”不需要再次使用地址標(biāo)識(shí)符M,當(dāng)使用地址指針讀取或?qū)懭胱郑只螂p字時(shí),指針中小數(shù)點(diǎn)右邊的位號必須為0,否則將發(fā)生錯(cuò)誤。
標(biāo)題:西門子plc S7-300的尋址方法 地址:http://www.duktem.com/ask/3112.html