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