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