PLC中儲存空間的資料類型與定址方式
來源:互聯網
上載者:User
一、資料在儲存空間中的儲存方式
1、資料格式及要求
A〉資料格式:即指資料的長度和表示方式。 B〉要求:S7-200對資料的格式有一定的要求,指令與資料之間的格式一致才能正常工作。
2、用一位位元表示開關量
A〉一位位元:一位位元有0(OFF)和1(ON)兩種不同的取值,分別對應於開關量(或數字量)的兩種不同的狀態。 B〉位元據的資料類型:布爾(Bool)型。 C〉位地址:由儲存空間標識符、位元組地址和位號組成,如I3.4等。 D〉其它CPU儲存區的地址格式:由儲存空間標識符和起始位元組號(一般取藕位元組)組成,如V B 100、V W 100、V D 100等。
3、多位位元(8421碼)
A〉數及數制:數用於表示一個量的具體大小。根據計數方式的不同,有十進位(D)、二進位(B)、十六進位(H)和八進位等不同的計數方式。 B〉位元的表示:在S7-200中用2#來表示二進位常數,例如 “2# 10111010 ”。 C〉位元的大小:將位元的各位(從右往左第n位)乘以對應的位權(×2n-1),並將結果累加求和可得其大小。例如:2# 10111010 = 1×27+0×26+1×25+1×24+1×23+0×22+1×21+0×20 = 186
4、十六進位數
A〉十六進位數的引入:將位元從右往左每4位用一個十六進位數表示,可以實現對多位位元的快速準確的讀寫。 B〉不同進位數的表示方法: ( 表3-2-1 不同進位數的表示方法 ) C〉十六進位數的表示:在S7-200中用16#來表示十六進位常數,例如 “2# 1010 1110 0111 0101 可轉換為16# AEF7 ”。 D〉十六進位數的大小:將十六進位數的各位(從右往左第n位)乘以對應的位權(×16n-1),並將結果累加求和可得其大小。例如:16# 2F = 2×161+15×160 = 47
5、資料長度:位元組(Byte)、字(Word)、雙字(DoubleWord)
A〉位元組(B):從0號位開始的連續8位位元稱為一個位元組。 B〉字(W):相鄰的兩個位元組組成一個字的長度。 C〉雙字(DW):相鄰的四個位元組組成一個雙字的長度。 D〉字、雙字長資料的儲存特點:高位存低位元組、地位存於高位元組。
6、負數(有符號數)的表示方法
A〉負數的表示:PLC一般用二進位的補碼來表示有符號數,其最高位為符號位(0 ——正數、1 ——負數)。 B〉絕對值相等的正負有符號數間的關係:正數的補碼是它本身。 C〉不同資料的取值範圍:( 表3-2-2 資料的位元與取值範圍 )
7、BCD碼
A〉BCD碼釋義:BCD碼就是用四位位元的組合來表示1位十進位數,即用二進位編碼的十進位數(Binary Coded Decimal Number)縮寫。例如 十進位數 23 的BCD碼為 2# 0010 0011 或表示為 16# 23 ,但其8421碼為 2# 00010111 。 B〉BCD碼的應用:BCD碼常用於輸入輸出裝置,例如撥碼開關輸入的是BCD碼,送給七段顯示器的數字也是BCD碼。
二、CPU的儲存區
1、輸入過程映象寄存器(I)
A〉輸入過程映象寄存器(I)的作用:在每次掃描周期的開始,CPU對物理輸入焦點進行採樣,並將採樣值寫入輸入過程映象寄存器中。 B〉輸入過程映象寄存器(I)的特點:① 只能由外部驅動,其常開、常閉觸點使用次數不受限制;② 可以按位、位元組、字或雙字來存取輸入過程映象寄存器中的資料: 位: I [位元組地址] . [位地址] 如 I0.1 位元組、字或雙字: I [長度] [起始位元組地址] 如 IB4
2、輸出過程映象寄存器(Q)
A〉輸出過程映象寄存器(Q)的作用:在每次掃描周期的結尾,CPU將輸出過程映象寄存器中的數值複製到物理輸出點上。 B〉輸出過程映象寄存器(Q)的特點:①其常開、常閉觸點使用次數不受限制;② 可以按位、位元組、字或雙字來存取輸出過程映象寄存器: 位: Q [位元組地址] . [位地址] 如 Q1.1 位元組、字或雙字: Q [長度] [起始位元組地址] 如 QB5
3、全域變數儲存區(V)
A〉變數儲存區(V)的作用:用於儲存程式執行過程中控制邏輯操作的中間結果, 也可以用它來儲存與工序或任務相關的其它資料。 B〉變數儲存區(V)的特點:①變數儲存空間在全域有效,可以被所有的POU存取;② 可以按位、位元組、字或雙字來存取V儲存區中的資料: 位: V [位元組地址] . [位地址] 如 V10.2 位元組、字或雙字: V [長度] [起始位元組地址] 如 VW100
4、局部儲存空間(L)
A〉局部儲存空間(L)的作用:S7-200有64個位元組的局部儲存空間,其中60個可以用作臨時儲存空間或者給子程式傳遞參數。 B〉局部儲存空間(L)的特點:① S7--200給每個POU(程式組織單元)分配64個局部儲存空間;②局部儲存空間只在建立它的程式單元中有效,各程式不能訪問別的程式的局部變數儲存空間。③ 局部儲存空間在參數傳遞過程中不傳遞值,在分配時不被初始化,可能包含任意數值。 位: L [位元組地址] . [位地址] 如 L0.0 位元組、字或雙字: L [長度] [起始位元組地址] 如 LB33
5、類比量輸入(AI)
A〉類比量輸入(AI)的作用:S7-200將輸入的類比量值(如溫度或電壓)轉換成1個字長(16位)的數字量,並將其存入(AI)區佔一個字長的地址中。 B〉類比量輸入(AI)的作用:① 可以用地區標識符(AI)、資料長度(W)及位元組的起始地址(必須用偶數位元組地址如AIW0,AIW2,AIW4)來存取這些值。② 類比量輸入值為唯讀資料。 格式: AIW [起始位元組地址] 如 AIW4
6、類比量輸出(AQ)
A〉類比量輸出(AQ)的作用:S7-200把1個字長(16位)數字值按比例轉換為相應大小的電流或電壓輸出。 B〉類比量輸出(AQ)的特點:① 可以用地區標識符(AQ)、資料長度(W)及位元組的起始地址(必須用偶數位元組地址如AQW0,AQW2,AQW4)來改變這些值。② 類比量輸出值是唯寫資料。 格式: AQW [起始位元組地址] 如 AQW4
7、定時器儲存區(T)
A〉定時器的作用:定時器可用於時間累計,S7-200 CPU中,有256個的定時器,其解析度(時基增量)分為1ms、10ms和100ms三種。 B〉定時器有兩個變數:① 當前值——16位有符號整數,儲存定時器所累計的時間。 ② 定時器位——按照當前值和預置值的比較結果置位或者複位。 C〉定時器儲存區(T)的特點:① 可以用定時器地址(T+定時器號,如 T37、T3等)來存取當前值和定時器位元據。②位操作指令則是存取定時器位;如果使用字操作指令,則是存取定時器當前值。 格式: T [定時器號] 如 T24
8、計數器儲存區(C)
A〉計數器的作用:計數器可以用於累計其輸入端脈衝電平由低到高的次數。在S7-200 CPU中,有256個的計數器,分為三種類型—增計數;減計數;增/減計數。 B〉計數器有兩種變數:① 當前值——16位有符號整數,儲存累計值。② 計數器位——按照當前值和預置值的比較結果置位或者複位。 C〉計數器儲存區(C)的特點:① 可以用計數器地址(C+計數器號)來存取計數器的當前值和計數器位元據;② 使用位操作指令則是存取計數器位;如果使用字操作指令,則是存取計數器當前值。 格式: C [計數器號] 如 C24
9、高速計數器(HC)
A〉高速計數器(HC)的作用:用於對高速事件計數;S7-200 CPU222以上提供了6個高速計數器(HC0~HC5)供使用者使用。 B〉高速計數器(HC)的特點:① 它獨立於CPU的掃描周期;② 高速計數器的當前計數值(32位的有符號整數)是唯讀資料,僅可以作為雙字(32位)來定址;③用指定儲存空間類型(HC)加上計數器號(如HC0)的定址方式來存取高速計數器中的值; 格式: HC [高速計數器號] 如 HC1
10、累加器(AC)
A〉累加器(AC)的作用:累加器是可以象儲存空間一樣使用的讀寫裝置。例如,可以用它來向子程式傳遞參數,也可以從子程式返回參數,以及用來儲存計算的中間結果。S7--200提供4個32位累加器(AC0,AC1,AC2和AC3) 。 B〉累加器(AC)的特點:① 可以按位元組、字或雙字的形式來存取累加器中的數值;② 被訪問的資料長度取決於存取累加器時所使用的指令。 格式: AC [累加器號] 如 AC0
11、特殊儲存空間(SM)
A〉特殊儲存空間(SM)的作用:SM位為CPU與使用者程式之間傳遞資訊提供了一種手段。可以用這些位選擇和控制S7-200 CPU的一些特殊功能。 B〉特殊儲存空間(SM)的特點:可以按位、位元組、字或雙字來存取SM位:
位: SM [位元組地址] . [位地址] 如 SM0.1 位元組、字或者雙字: SM [長度] [起始位元組地址] 如 SMB86
12、位儲存區(M)
A〉位儲存(M)的作用:可以用位儲存區作為控制繼電器來儲存中間操作狀態和控制資訊。 B〉位儲存(M)的特點:可以按位、位元組、字或雙字來存取位儲存區: 位: M [位元組地址] . [位地址] 如 M26.7 位元組、字或雙字: M [長度] [起始位元組地址] 如 MD20
13、順控繼電器儲存空間(S)
A〉順控繼電器(SCR)的作用:SCR提供控製程序的邏輯分段,用於組織裝置的順序操作。 B〉順控繼電器儲存空間(S)的特點:① 可用作順控編程元件與順序控制繼電器指令配合使用;② 或用作輔助繼電器,可按位、位元組、字或雙字來存取S位。 位: S [位元組地址] . [位地址] 如 S3.1 位元組、字或者雙字: S [長度] [起始位元組地址] 如 SB4
14、實數的格式
A〉實數及其應用:實數(浮點數)可以表示為1.m×2e(式中 m——尾數、e——指數),由32位單精確度數表示,最高位為符號位,按照雙字長度來存取;藉助浮點數,S7-200可以表示範圍在±1.175495×10-38~±3.402823×10+38內的任何一個數。 B〉實數的運算精度:對於S7--200來說,浮點數精確到小數點後第六位。
15、字串的格式
字串指的是一系列字元,每個字元以位元組的形式儲存。字串的第一個位元組定義了字串的長度,也就是字元的個數。一個字串的長度可以是0到254個字元,再加上長度位元組,一個字串的最大長度為255個位元組。而一個字串常量的最大長度為126位元組。
16、常數標記法及範圍
在S7--200的許多指令中,都可以使用常數值。常數值可以是位元組、字或者雙字。S7--200以位元的形式儲存常數,也可以用十進位數、十六進位數、ASCII碼或者實數(浮點數)來表示。( 表3-2-3 常數標記法 )
17、CPU儲存空間的範圍和特性
A〉S7-200 CPU儲存空間的範圍:( 表3-2-4 S7-200 CPU儲存空間的範圍與特性 ) B〉S7-200運算元範圍:( 表3-2-5 S7-200 CPU運算元的範圍 )
三、直接定址和間接定址
1、定址的概念
在PLC中地址是訪問資料的依據,通過地址來訪問資料的過程稱為“定址”。幾乎所有的指令和功能都與各種形式的定址有關。
2、直接定址
直接定址即為指定了儲存空間的地區、長度和位置的定址方式,用於 一般的數字量控制系統的編程中。如 VW100表示存取VB100、VB101組成的兩個字。
3、用指標對S7-200儲存區間接定址
A〉間接定址:①間接定址的概念——是指用指標來訪問儲存區資料。②指標作用及其特點:指標以雙字的形式儲存其它儲存區的地址,指標也可以作為參數傳遞到子程式中。只能用V儲存空間、L儲存空間或者累加器寄存器(AC1、AC2、AC3)作為指標。S7-200允許指標訪問以下儲存區: I、Q、V、M、S、AI、AQ、SMT(僅限於當前值)和C(僅限於當前值);但不能訪問單獨的位,也不能訪問HC或者L儲存區。 B〉建立間接定址的指標:要建立一個指標,必須以雙字的形式,將需要間接定址的儲存空間地址移動到指標中;具體做法是用“&”符號加上要訪問的儲存區地址來建立一個指標。( “&”符號開頭表明指令的運算元是儲存區的地址,而不是將其內容。) C〉用指標存取資料:當指令中的運算元是指標時,應該在運算元前面加上“*”號。 D〉修改指標:由於指標是一個32位的資料,要用雙字指令來改變指標的數值;簡單的數學運算,如加法指令或者增加指令,可用於改變指標的數值。 E〉應用舉例——[例3-1]:用於非線性校正的表格的資料存放在VW0開始的100字中,表格的位移量(表格中字的序號,第1個字的序號為0)在VD200中,在I0.0的上升沿,用間接定址將表格中相對於位移量的資料值傳送到VW210中去。 [提示]: 按照所訪問的資料長度使用不同的指令:當訪問位元組時,使用增加指令使指標值加1;當訪問字或者計數器、定時器的當前值時,用加法或者增加指令使指標值加2;當訪問雙字時,使用加法或者增加指令使指標值加4。