時間:2018-03-27 10:52:21來源:網絡轉載
在PLC中使用的尋址方式分為直接尋址和間接尋址兩種方式,所謂的直接尋址,就是直接使用存儲區或寄存器的元件名稱和地址編號,根據這個地址去找到該數據,而間接尋址,不直接給處存儲區或寄存器的地址,而是通過對地址的地址進行訪問來實習對存儲區的數據讀取,通俗的來講,這個地址的地址就是一個編號或一個代號,這好比讀書時每同學會有一個學號,老師在點名的時候,可以叫名字,也可以叫學號,叫名字就好比直接尋址,叫學號就好比間接尋址。不管是叫名字還是叫學號,其實對應的都是同一個人。如下圖所示:
VB0:就好比一個人的名字,而地址的地址16#08000000就相當于學號。CPU會為每一個存儲區分配一個32位大小的數值作為存儲器地址的地址。
所有不管是通過間接尋址的方式還是直接尋址的方式其實是訪問同一個存儲器或是寄存器。
不同的PLC有不同的尋址方式,這里給大家介紹下西門子系列PLC的間接尋址的方式。這里先給大家介紹下西門子S7-200系列的PLC的間接尋址的過程。
在S7-200系列PLC中,可以用間接尋址訪問的存儲有:輸入過程映像區(I)、輸出過程映像區(Q)、位存儲器(M)、全局變量存儲區(V)、順控狀態繼電器(S)以及定時器(T)和計數器(C)。
在S7-200系列PLC中間接尋址的使用主要分為三步驟:
(1)建立指針
使用間接尋址對某個存儲單元讀寫時,首先需要建立地址指針,指針為雙字的長度,可作為指針的存儲區有全局變量存儲區V,局部變量存儲區L和累加器(AC1AC2AC3),建立指針時,必須使用雙字的傳送指令(MOVD),將存儲區中所要訪問單元的地址裝入用來作為指針的存儲器單元或寄存器中。如前面圖中所示,若需要提取VB0地址的地址出來,則需要在VB0前面加上符號“&”即&VB0,&VB0所表示的就不是VB0的值了,而是VB0地址的地址即16#08000000.如下圖所示:
VD100表示指針,用于存儲VB0這個存儲器地址的地址。
(2)修改指針
在連續存儲數據時,可以通過修改指針后很容易存儲器其緊接著的數據,簡單的數學運算指令,如加法,減法,自增,自減指令可以用來修改指針,在修改指針時需要分清楚訪問的數據長度,存儲字節時,指針加1,存儲字時,指針加2,存儲雙字,指針加4.如下程序所示,以VB0存儲器地址的地址作為指針,然后把指針移動到指向VB2的存儲器地址的地址。
(3)用指針來存儲器數據
在操作數前面加“*”表示該操作數為一個指針,如*AC1,那么AC1表示的就是指針,存儲的是一個存儲器地址的地址,當加上“*”如*AC1,則表示的是以AC1中的數據做作為存儲器地址的地址所對應的存儲器中的數值。如下程序所示:
標簽:
中國傳動網版權與免責聲明:凡本網注明[來源:中國傳動網]的所有文字、圖片、音視和視頻文件,版權均為中國傳動網(www.hysjfh.com)獨家所有。如需轉載請與0755-82949061聯系。任何媒體、網站或個人轉載使用時須注明來源“中國傳動網”,違反者本網將追究其法律責任。
本網轉載并注明其他來源的稿件,均來自互聯網或業內投稿人士,版權屬于原版權人。轉載請保留稿件來源及作者,禁止擅自篡改,違者自負版權法律責任。
產品新聞
更多>2025-05-19
2025-04-30
2025-04-11
2025-04-08
2025-03-31
2025-03-26