甘肅西門子S7-200SMART系列PLC代理商
西門子S7-300 PLC裝入和傳送指令
裝入(L)和傳送(T)指令可以交換輸入或輸出模塊與存儲(chǔ)區(qū)之間或存儲(chǔ)區(qū)之間的數(shù)據(jù)。CPU在每次掃描中無條件執(zhí)行這些指令,也就是說,這些指令不受邏輯操作結(jié)果RLO的影響。

裝入(L)和傳送(T)指令可以在以下模塊與存儲(chǔ)區(qū)之間交換數(shù)據(jù)。
1)輸入、輸出模塊與所列存儲(chǔ)區(qū)之間:過程暫存輸入、輸出區(qū),位存儲(chǔ)區(qū),定時(shí)器和計(jì)數(shù)器,數(shù)據(jù)區(qū)。
2)過程暫存輸入、輸出區(qū)與所列存儲(chǔ)區(qū)之間:位存儲(chǔ)器,定時(shí)器和計(jì)數(shù)器,數(shù)據(jù)區(qū)。
3)定時(shí)器、計(jì)數(shù)器與所列存儲(chǔ)區(qū)之間:過程暫存輸入,輸出區(qū),位存儲(chǔ)區(qū),數(shù)據(jù)區(qū)。
裝入(L)和傳送(T)指令通過累加器進(jìn)行數(shù)據(jù)交換。L指令將源尋址單元中的內(nèi)容裝入累加器1中,而將累加器1原有的數(shù)據(jù)移入累加器2中,累加器2中的原有內(nèi)容被覆蓋。T指令將累加器中的內(nèi)容復(fù)制并寫入目的地址存儲(chǔ)區(qū)中,T指令只是將累加器中的數(shù)據(jù)復(fù)制,因此這數(shù)據(jù)還能被其他指令使用。L和T指令可以對(duì)字節(jié)(8位)、字(16位)和雙字(32位)數(shù)據(jù)進(jìn)行操作。累加器共有32位,當(dāng)數(shù)據(jù)小于32位時(shí),數(shù)據(jù)在累加器1向右對(duì)齊,其余各位填0。
S7的計(jì)數(shù)器用于對(duì)RLO正跳沿計(jì)數(shù)。計(jì)數(shù)器是一種復(fù)合單元,它由表示當(dāng)前計(jì)數(shù)值的字和表示其狀態(tài)的位組成。S7中有三種計(jì)數(shù)器,即:加計(jì)數(shù)器、減計(jì)數(shù)器和可逆計(jì)數(shù)器。
在CPU中保留一塊存儲(chǔ)區(qū)作為計(jì)數(shù)器計(jì)數(shù)值存儲(chǔ)區(qū),每個(gè)計(jì)數(shù)器占用兩個(gè)字節(jié),稱為計(jì)數(shù)器字。計(jì)數(shù)器字中的第0至11位表示計(jì)數(shù)值,計(jì)數(shù)范圍是0到999。
S7的定時(shí)器與時(shí)間繼電器的工作特點(diǎn)相似,首先需要設(shè)置定時(shí)器的定時(shí)時(shí)間,然后啟動(dòng)定時(shí)器。除此之外,定時(shí)器還增加了一些功能,如:隨時(shí)復(fù)位定時(shí)器、隨時(shí)重置定時(shí)時(shí)間(定時(shí)器再啟動(dòng))、查看當(dāng)前剩余定時(shí)時(shí)間等。以下介紹各種定時(shí)器的運(yùn)行原理及使用方法。定時(shí)器的啟動(dòng)指令見表5-13。
(1)脈沖定時(shí)器
如果RLO有正跳沿,則脈沖定時(shí)器啟動(dòng)指令,以給出的時(shí)間值啟動(dòng)的定時(shí)器。只要RLO為1,定時(shí)器就保持運(yùn)行。在定時(shí)器運(yùn)行時(shí),其常開觸點(diǎn)閉合。當(dāng)定時(shí)時(shí)間到時(shí),常開觸點(diǎn)斷開,對(duì)1信號(hào)的掃描結(jié)果為0。若在給定的時(shí)間過去之前RLO由1變?yōu)?/span>0,則定時(shí)器被復(fù)位至啟動(dòng)前的狀態(tài)。在這種情況下定時(shí)器的常開觸點(diǎn)斷開。
(2)擴(kuò)展脈沖定時(shí)器
如果RLO有正跳沿,則擴(kuò)展(輸入)脈沖定時(shí)器啟動(dòng)指令,以給出的時(shí)間值啟動(dòng)的定時(shí)器。即使RLO變?yōu)?/span>0,定時(shí)器仍保持運(yùn)行,直到定時(shí)時(shí)間到后才停止。在定時(shí)器運(yùn)行時(shí),其常開觸點(diǎn)閉合,即對(duì)該定時(shí)器按1掃描的結(jié)果為1。當(dāng)定時(shí)時(shí)間到,則常開觸點(diǎn)斷開,對(duì)1信號(hào)的掃描結(jié)果為0。
(3)接通延時(shí)定時(shí)器
如果RLO有正跳沿,則接通延時(shí)定時(shí)器啟動(dòng)指令,以給出的時(shí)間值啟動(dòng)的定時(shí)器。當(dāng)定時(shí)時(shí)間到,則常開觸點(diǎn)閉合并保持,對(duì)1信號(hào)的掃描結(jié)果為1。直到RLO變?yōu)?/span>0,定時(shí)器才被復(fù)位到啟動(dòng)前的狀態(tài),在這種情況下定時(shí)器的常開觸點(diǎn)斷開。若在給定的時(shí)間過去之前RLO由1變?yōu)?/span>0,則定時(shí)器也被復(fù)位。
(4)保持型接通延時(shí)定時(shí)器
如果RLO有正跳沿,則保持型接通延時(shí)定時(shí)器啟動(dòng)指令,以給出的時(shí)間值啟動(dòng)的定時(shí)器,即使RLO變?yōu)?/span>0,定時(shí)器仍保持運(yùn)行。此時(shí),定時(shí)器常開觸點(diǎn)斷開。當(dāng)定時(shí)時(shí)間到后,常開觸點(diǎn)閉合并保持。若RLO再有一個(gè)正跳沿,定時(shí)器重新啟動(dòng),只有用復(fù)位指令才能復(fù)位該定時(shí)器。
(5)關(guān)斷延時(shí)定時(shí)器
如果RLO有負(fù)跳沿,則關(guān)斷延時(shí)定時(shí)器啟動(dòng)指令,以給出的時(shí)間值啟動(dòng)的定時(shí)器。當(dāng)RLO為1或在定時(shí)器運(yùn)行時(shí),其常開觸點(diǎn)閉合,即對(duì)該定時(shí)器按1掃描的結(jié)果為1。當(dāng)定時(shí)時(shí)間到后,則常開觸點(diǎn)斷開。若在給定的時(shí)間過去之前RLO由0變?yōu)?/span>1,則定時(shí)器被復(fù)位至啟動(dòng)前的狀態(tài)。一直到RLO從1變?yōu)?/span>O之前,定時(shí)器不再啟動(dòng)(使用FR指令除外)。
定時(shí)器是PLC中的要部件。它用于實(shí)現(xiàn)或監(jiān)控時(shí)間序列。定時(shí)器是一種由位和字組成的復(fù)合單元,定時(shí)器的觸點(diǎn)由位表示,其定時(shí)時(shí)間值存儲(chǔ)在字存儲(chǔ)器中。S7-300/400提供了多種形式的定時(shí)器:詠沖定時(shí)器(SP)、擴(kuò)展定時(shí)器(SE)、接通延時(shí)定時(shí)器(SD)、帶保持的接通延時(shí)定時(shí)器(SS)和斷電延時(shí)定時(shí)器(SF)。

在CPU的存儲(chǔ)器中有專門的定時(shí)器區(qū)域,該區(qū)域用于存儲(chǔ)定時(shí)器的定時(shí)時(shí)間值,每個(gè)定時(shí)器為2B,稱為定時(shí)字。在S7-300中,定時(shí)區(qū)為512B,因此多允許使用256個(gè)定時(shí)器。因?yàn)槎〞r(shí)器區(qū)域的編址(以T打頭后跟定時(shí)器號(hào),只能按字訪問)以及存儲(chǔ)格式特殊,所以只有通過使用有關(guān)的定時(shí)器指令才能對(duì)該區(qū)域進(jìn)行訪問。
S7中定時(shí)器由時(shí)基和定時(shí)值兩部分組成,定時(shí)時(shí)間等于時(shí)基與定時(shí)值的乘積。當(dāng)定時(shí)器運(yùn)行時(shí),定時(shí)值不斷減1,直至減到0,減到0表示定時(shí)時(shí)間到。定時(shí)時(shí)間到后會(huì)引起定時(shí)器觸點(diǎn)動(dòng)作。
時(shí)基和時(shí)間值的不同組合可以得到不同的定時(shí)分辨率和定時(shí)時(shí)間,表5-12中給出了可能的組合情況。從表中可以看出:時(shí)基小,分辨率高,但定時(shí)時(shí)間范圍窄;時(shí)基大,分辨率低,但定時(shí)范圍寬。
表5-12 時(shí)基與定時(shí)范圍
當(dāng)定時(shí)器啟動(dòng)時(shí),累加器1低字的內(nèi)容被當(dāng)作定時(shí)時(shí)間裝入定時(shí)字中。這一過程是由操作系統(tǒng)控制自動(dòng)完成的,用戶只需給累加器1裝入不同的數(shù)值,即可設(shè)置需要的定時(shí)時(shí)間。
狀態(tài)字用于表示CPU執(zhí)行指令時(shí)所具有的狀態(tài)。一些指令是否執(zhí)行或以何方式執(zhí)行可能取決于狀態(tài)字中的某些位;執(zhí)行指令時(shí)也可能改變狀態(tài)字中的某些位;也能在位邏輯指令或字邏輯指令中訪問并檢測(cè)它們。圖5-12顯示了狀態(tài)字的結(jié)構(gòu)。
圖5-12 狀態(tài)字的結(jié)構(gòu)
(1)*檢測(cè)位(FC)
狀態(tài)字的位0稱為*檢測(cè)位。若FC位的狀態(tài)位0,則表明一個(gè)梯形邏輯網(wǎng)絡(luò)的開始,或指令為邏輯串的*條指令。CPU對(duì)邏輯串*條指令的檢測(cè)(稱為*檢測(cè))產(chǎn)生的結(jié)果直接保存在狀態(tài)字的RLO位中,經(jīng)過*檢測(cè)存放在RLO中的0或1被稱為*檢測(cè)結(jié)果。
(2)邏輯操作結(jié)果(RLO)
狀態(tài)字的位1稱為邏輯操作結(jié)果RLO。該位存儲(chǔ)位邏輯指令或算術(shù)比較指令的結(jié)果。在邏輯串中,RLO位的狀態(tài)能夠表示有關(guān)信號(hào)流的信息。
(3)狀態(tài)位(STA)
狀態(tài)字的位2稱為狀態(tài)位。狀態(tài)位不能用指令檢測(cè),它只是在程序測(cè)試中被CPU解釋并使用。
(4)或位(OR)
狀態(tài)字的位3稱為或位。
(5)溢出位(OV)
狀態(tài)字的位4稱為溢出位。溢出位被置1,表明一個(gè)算術(shù)運(yùn)算或浮點(diǎn)數(shù)比較指令執(zhí)行時(shí)出現(xiàn)錯(cuò)誤(溢出、非法操作、不規(guī)范格式)。
(6)溢出狀態(tài)保持位(OS)
狀態(tài)字的位5稱為溢出狀態(tài)保持位。可用于指出先前的一些指令執(zhí)行中是否產(chǎn)生過錯(cuò)誤。
(7)條件碼1(CC1)和條件碼0(CC0)
狀態(tài)字的位7和位6稱為條件碼O和條件碼1。這兩位結(jié)合起來用于表示在累加器1中產(chǎn)生的算術(shù)運(yùn)算或邏輯運(yùn)算結(jié)果與01的大小關(guān)系;比較指令的執(zhí)行結(jié)果或移位指令的移出位狀態(tài)。
(8)二進(jìn)制結(jié)果位(BR)

狀態(tài)字的位8稱為二進(jìn)制結(jié)果位。它將字處理程序與位處理聯(lián)系起來,在一個(gè)既有位操作又有字操作的過程中,用于表示字操作結(jié)果是否正確。在LAD的方塊指令中,BR位與EN0有對(duì)應(yīng)關(guān)系,用于表明方塊指令是否被正確執(zhí)行。在用戶編寫的FB和FC程序中,必須對(duì)BR位進(jìn)行管理。
一般情況下,指令的操作數(shù)在PLC的存儲(chǔ)器中,此時(shí)的操作數(shù)由操作數(shù)標(biāo)識(shí)符和參數(shù)組成。操作標(biāo)識(shí)符由主標(biāo)識(shí)符和輔助標(biāo)識(shí)符組成。主標(biāo)識(shí)符有:I(輸入過程映像存儲(chǔ)區(qū)),Q(輸出過程映像存儲(chǔ)區(qū)),M(位存儲(chǔ)區(qū)),PI(外部輸入),PQ(外部輸出),T(定時(shí)器),C(計(jì)數(shù)器),DB(數(shù)據(jù)塊),L(本地?cái)?shù)據(jù));輔助標(biāo)識(shí)符有:X(位),B(字節(jié)),W(字或?yàn)?/span>2B),D(雙字或?yàn)?/span>4B)。
PLC物理存儲(chǔ)器是以字節(jié)為單位的,所以存儲(chǔ)A單元規(guī)定為字節(jié)單元。位地址參數(shù)用一個(gè)點(diǎn)與字節(jié)地址分開,如M 10.1。S7 PLC的存儲(chǔ)器區(qū)域劃分、功能、訪問方式、標(biāo)識(shí)符見表5-5。
表5-5 存儲(chǔ)區(qū)及其功能
區(qū)域名稱 | 區(qū)域的功能 | 訪問區(qū)域的單位 | 標(biāo)識(shí)符 |
輸入過程映 像存儲(chǔ)區(qū)(I) | 在掃描循環(huán)的開始,操作系統(tǒng)從過程 中讀取輸入信號(hào)存入本區(qū)域,供程度作 用 | 輸入位 輸入字節(jié) 輸入字 輸入雙字 | I IB IW ID |
輸出過程映 像存儲(chǔ)區(qū)(Q) | 在掃描循環(huán)期間,程序計(jì)算輸出值存 入本區(qū)域,在循環(huán)掃描的末尾,操作系 統(tǒng)從中讀出輸出值并將其傳送至輸出模 板 | 輸出位 輸出字節(jié) 輸出字 輸出雙字 | Q QB QW QD |
位存儲(chǔ)器(M) | 本區(qū)域提供的存儲(chǔ)器用于存儲(chǔ)在程序 中運(yùn)算的臨時(shí)結(jié)果 | 存儲(chǔ)位 存儲(chǔ)字節(jié) 存儲(chǔ)字 存儲(chǔ)雙字 | M MB MW MD |
I/O:外部輸入 I/O:外部輸出 | 這一區(qū)域使用戶的程序能夠直接訪問 輸入和輸出模板(即外部輸入和輸出信 號(hào)) | 外部輸入字節(jié) 外部輸入字 外部輸入雙字 外部輸出字節(jié) 外部輸出字 外部輸出雙字 | PIB PIW PID PQB PQW PQD |
定時(shí)器(T) | 定時(shí)器指令訪問本區(qū)域可得到定時(shí)剩 余時(shí)間 | 定時(shí)器(T) | T |
計(jì)數(shù)器(C) | 計(jì)數(shù)器指令訪問本區(qū)域可得到當(dāng)前計(jì) 數(shù)器值 | 計(jì)數(shù)器(C) | C |
數(shù)據(jù)塊(DB) | 本區(qū)域包含所有數(shù)據(jù)塊的數(shù)據(jù)。如果 需要同時(shí)打開兩個(gè)不同的數(shù)據(jù)塊,可和 “OPENDB”打開一個(gè),用“OPEN DI” 打開另一個(gè)。用指令L DBWi和L DIWi 進(jìn)一步確定被訪問數(shù)據(jù)塊中的具體數(shù)據(jù) 在用“OPENDI”指令打開一個(gè)數(shù)據(jù)時(shí), 打開的是與功能塊(FB)和系統(tǒng)功能塊 (SFB)相關(guān)聯(lián)的背景數(shù)據(jù)塊 | 用“OPEN DB”打開數(shù)據(jù)塊: 數(shù)據(jù)位 數(shù)據(jù)字節(jié) 數(shù)據(jù)字 數(shù)據(jù)雙字 用“OPEN DB”打開數(shù)據(jù)塊: 數(shù)據(jù)位 數(shù)據(jù)字節(jié) 數(shù)據(jù)字 數(shù)字雙節(jié) | DBX DBB DBW DBD DIX DIB DIW DID |
本地?cái)?shù)據(jù) | 這一區(qū)域存放邏輯塊(OB、FB或 FC)中使用的臨時(shí)數(shù)據(jù),也稱為本地?cái)?shù) 據(jù),一般用作中間暫存器,當(dāng)邏輯塊結(jié) 束時(shí),數(shù)據(jù)丟失,因?yàn)檫@些數(shù)據(jù)存儲(chǔ)在 本地?cái)?shù)據(jù)堆棧(L堆棧)中的 | 臨時(shí)本地?cái)?shù)據(jù)位 臨時(shí)本地?cái)?shù)據(jù)字節(jié) 臨時(shí)本地?cái)?shù)據(jù)字 臨時(shí)本地?cái)?shù)據(jù)雙字 | L LB LW LD |

甘肅西門子S7-200SMART系列PLC代理商