一、S7-200 SMART的數據主要分為:
1、與實際輸入/輸出信號相關的輸入/輸出映象區:
I:數字量輸入(DI)。
Q:數字量輸出(DO)。
AQ:模擬量輸出。
2、內部數據存儲區
V:變量存儲區,可以按位、字節、字或雙字來存取V 區數據。
M:位存儲區,可以按位、字節、字或雙字來存取M區數據。
T:定時器存儲區,用于時間累計。
C:計數器存儲區,用于累計其輸入端脈沖電平由低到高的次數。
HC:高速計數器,獨立于 CPU 的掃描周期對高速事件進行計數,高速計數器的當前值是只讀值,僅可作為雙字(32 位)來尋址。
AC:累加器,可以像存儲器一樣使用的讀/寫器件,可以按位、字節、字或雙字訪問累加器中的數據。
SM:特殊存儲器,提供了在 CPU 和用戶程序之間傳遞信息的一種方法。可以使用這些位來選擇和控制 CPU 的某些特殊功能, 可以按位、字節、字或雙字訪問 SM 位。
L:局部存儲區,用于向子例程傳遞形式參數。
S:順序控制繼電器,用于將機器或步驟組織到等效的程序段中,實現控制程序的邏輯分段。
可以按位、字節、字或雙字訪問 S 存儲器存儲器范圍及特性。
表1.存儲器范圍數據尋址
S7-200 SMART CPU收集操作指令、現場狀況等信息,把這些信息按照用戶程序指定的規律進行運算、處理,然后輸出控制、顯示等信號。
所有這些信息都表示為不同格式的數據,作為數據來處理。
各種指令對數據格式都有一定要求,指令與數據之間的格式要一致才能正常工作。例如,為一個整數數據使用實數(浮點數)運算指令,顯然會得到不正確的結果。
數據有不同的長度(以二進制表示它們時,占據的位數不同),也就決定了數值的大小范圍。
模擬量信號在進行模/數(A/D)和數/模(D/A)轉換時,一定會存在誤差;代表模擬量信號的數據,只能以一定的精度表示模擬量信號。
二、二進制、十六進制和十進制
所有的數據在PLC中都是以二進制形式表示的。
數據都有其特定的長度和表示方式,稱為格式。
數據的格式與用于運算、處理它的指令相關。
以不同的格式查看一個數據,或是使用不同格式的指令處理它,會得到不同的效果。
1、二進制和二進制數:所有通過S7-200 SMART PLC處理的數據(數值、字符等等)都以二進制形式表示。
2、十六進制和十六進制數:在二進制數中,每4個二進制位可以分為一組;
這組二進制數值的不同變化可以表示16個狀態,正好是16進制數每一位數字的變化范圍。
因此,可以用十六進制數值方便地表示二進制數。
例如,二進制數1000_1111b分為兩組來看,分別是1000b和1111b,正好可以表示16進制數字8h和Fh(0000b對應于0h,...,1111b對應于Fh);那么這個二進制數就可以表示為8Fh。
3、十進制和十進制數:十進制是S7-200 SMART的數學計算的基礎,一般都使用十進制的體系,除了時間(12/24或60進制)等特殊數據外。
二進制數用于在PLC中表示十進制數值、或者其他(如字符等)數據,而16進制用來比較簡單地描述二進制數。
三、二進制位邏輯(bit)
PLC中以二進制“位”的數據形式來表示邏輯“1”、“0”(或者“開”、“關”)。位是最基本的數據單位。
在數據字節(Byte)中,二進制邏輯只用一個位(bit)來表示。每個字節由8個位組成。
四、整數、無符號整數和有符號整數
字節、字、雙字都可以用來表示十進制整數,顯然它們的數據長度不同,能夠表示的數的大小范圍也不同。
無符號整數只有0和正整數;有符號整數可以有正數和負數。
有符號整數采用二進制補碼的形式來表示負數。
五、實數(浮點數)
實數(或浮點數)以 32 位單精度數表示,其格式為 ANSI/IEEE 754-1985 標準中所描述的形式。實數按雙字長度訪問。
注意:浮點數精確到小數點后第 6 位。因此輸入浮點常數時,最多只能指定 6 位小數。計算涉及到包含非常大和非常小數字的一長串數值時,計算結果可能不準確。
六、ASCII字符和String(字符串)
在S7-200 SMART中,ASCII字符是由表示字母、數字和一些特殊符號的ASCII編碼組成的二進制數據字節,一個字節存儲一個字符。
七、訪問S7-200 SMART 中的數據
S7-200 SMART從外部接收信號輸入(輸入數據),在內部按照用戶程序運算、處理后,再輸出進行各種控制、顯示。
CPU 將信息存儲在不同存儲單元,每個位置均具有唯一的地址。尋址時,數據地址以代表存儲區類型的字母開始,隨后是表示數據長度的標記,然后是存儲單元編號;對于二進制位尋址,還需要在一個小數點分隔符后指定位編號。
位尋址的舉例如下圖所示:
圖1.位尋址舉例
其中,存儲區和字節地址(“M3”)代表 M 存儲器的第 3 個字節,用句點(“.”)與位地址(位 4)分開。
字節尋址的舉例如下圖所示:
圖2. 字節尋址舉例
可以看出,VW100包括VB100和VB101;VD100包括VW100和VW102,即VB100,VB101,VB102,VB103這4個字節。這些地址是互相交疊的。
當涉及到多字節組合尋址時,遵循“高地址,低字節”的規律。
下表給出了不同數據長度可表示的整數值范圍。
表1.不同數據長度表示的十進制和十六進制數范圍
八、對本地 I/O 和擴展 I/O 進行尋址
CPU 提供的本地 I/O 具有固定的 I/O 地址。可以通過在 CPU 的右側連接擴展 I/O 模塊,或通過安裝信號板來增加 I/O 點。模塊點的地址取決于 I/O 類型和模塊在 I/O 鏈中的位置。
注意:
1、數字量 I/O 的過程映像寄存器空間總是以八位(一個字節)遞增的形式預留。如果模塊沒有為每個保留字節中的每一位提供相應的物理點,那些未使用的位就無法分配給 I/O 鏈中的后續模塊。對于輸入模塊,這些未使用的位會在每個輸入更新周期中被清零。
2、模擬量 I/O 點總是以兩點遞增的方式分配。如果模塊沒有為這些點分配相應的物理 I/O,則這些I/O 點將丟失,并且不能夠分配給 I/O 鏈中的后續模塊。
下表提供固定映射慣例的示例(由 STEP 7 Micro/WIN SMART 建立,并作為系統塊中I/O 組態的一部分下載)。
表2. CPU 映射舉例:
九、計數器
S7-200 SMART 指令提供了下述三種類型的計數器。
CTU:增計數器。
CTD:減計數器 。
CTUD:增/減計數器 。
計數器指令的梯形圖格式如下圖所示:
圖1.計數器指令
CU:增計數信號輸入端;
CD:減計數信號輸入端;
PV:預置值;
LD:裝載預置值;
R:復位輸入;
注意:當子程序在同一周期內被多次調用時,不能使用上升沿、下降沿、定時器和計數器。
注意:由于每個計數器有一個當前值,因此請勿將同一計數器編號分配給多個計數器。(編號相同的加計數器、加/減計數器和減計數器會訪問相同的當前值)
計數器按如下表所列的規律工作:
表2.計數器工作規律
計數器計數范圍為0~32,767。計數器號不能重復使用。計數器有兩種尋址類型:Word(字)和Bit(位)。計數器號既可以用來訪問計數器當前值,也可以用來表示計數器位的狀態。
增/減計數器指令舉例如下圖所示:
十、定時器
1、S7-200 SMART指令提供了下述三種類型的定時器。
接通延時定時器(TON):用于定時單個時間間隔 。
有記憶的接通延時定時器(TONR):用于累積多個定時時間間隔的時間值。
斷開延時定時器(TOF):用于在 OFF(或 FALSE) 條件之后延長一定時間間隔,例如冷卻電機的延時。
2、定時器號和分辨率
定時器對時間間隔計數。定時器的分辨率(時基)決定了每個時間間隔的長短。
S7-200 SMART提供了256個可供使用的定時器,即用戶可用的定時器號為T0-T255。TON、TONR 和 TOF 定時器提供三種分辨率:1ms、10ms和100ms。(當前值的每個單位均為時基的倍數。例如,使用 10 ms 定時器時,計數 50 表示經過的時間為 500 ms )。
定時器號的分辨率(時基)及最大計數時間,如下表:
表1. 定時器號和分辨率
定時器號決定了定時器的分辨率(時基) , 并且分辨率在指令塊上標出。
注意:同一個定時器編號不能同時用于 TON 和 TOF 定時器。例如,不能同時使用 TON T32和 TOF T32。
3、不同分辨率的定時器按以下規律刷新:
1ms:1ms分辨率的定時器,定時器位和當前值的更新不與掃描周期同步。對于大于1ms的程序掃描周期,在一個掃描周期內,定時器位和當前值刷新多次。
10ms:10ms分辨率的定時器,定時器位和當前值在每個程序掃描周期的開始刷新。定時器位和當前值在整個掃描周期過程中為常數。在每個掃描周期的開始會將一個掃描累計的時間間隔加到定時器的當前值上。
100ms:100ms分辨率的定時器,定時器位和當前值在指令執行時刷新。因此為了保證正確的定時值,要確保在一個程序掃描周期中,只執行一次100ms定時器指令。
注意:要確保最小時間間隔,請將預設值 (PV) 增大 1。例如:使用 100 ms 定時器時,為確保最小時間間隔至少為 2100 ms,則將 PV 設置為22。
4、TON 和 TONR 定時器操作:
在使能輸入 IN 接通時開始計時。當前值等于或大于預設時間時,定時器位置為接通。
使能輸入置為斷開時,清除 TON 定時器的當前值。
使能輸入置為斷開時,保持 TONR 定時器的當前值。輸入 IN 置為接通時,可以使用TONR 定時器累積時間。使用復位指令 (R) 可清除 TONR 的當前值。
達到預設時間后,TON 和 TONR 定時器繼續定時,直到達到最大值 32,767 時才停止定時。
5、TOF 定時器操作
使能輸入接通時,定時器位立即接通,當前值置為 0。輸入斷開時,定時開始定時一直持續到當前時間等于預設時間。
達到預設值時,定時器位斷開,當前值停止遞增;但是,如果在 TOF 達到預設值之前使能輸入再次接通,則定時器位保持接通。
要使 TOF 定時器開始定時斷開延時時間間隔,使能輸入必須進行接通-斷開轉換。
如果 TOF 定時器在 SCR 區域中,并且 SCR 區域處于未激活狀態,則當前值設置為0,定時器位斷開,且當前值不遞增。
定時器工作規律如下表所示:
表3. 定時器操作和PLC上電循環
審核編輯:湯梓紅
評論
查看更多