西門子6ES7953-8LJ20-0AA0
西門子plc有哪幾種模塊組成?
CPU模塊,輸入模塊,輸出模bai塊,電源模塊,溫度檢測(cè)模du塊zhi,位置檢測(cè)模塊,PID控制模塊,通訊模塊等
西門子plc:
1.簡(jiǎn)介dao:
西門子PLC,是德國(guó)西門子(SIEMENS)公司生產(chǎn)的可編程序控制器,產(chǎn)品包括LOGO、S7-200、S7-1200、S7-300、S7-400等,具備體積小、速度快、標(biāo)準(zhǔn)化的特點(diǎn),PLC可分為微型PLC(如S7-200),小規(guī)模性能要求的PLC(如S7-300)和中、高性能要求的PLC(如S7-400)等。PLC采用梯形圖、布爾助記符、功能表圖、功能模塊和語(yǔ)句描述編程語(yǔ)言,其不需要大量的活動(dòng)元件和連線電子元件,編程簡(jiǎn)單,有較高的易操作性,能自動(dòng)診斷,維修容易。
2.詳細(xì)介紹:
1.SIMATICS7-200PLCS7-200PLC是超小型化的PLC,它適用于各行各業(yè),各種場(chǎng)合中的自動(dòng)檢測(cè)、監(jiān)測(cè)及控制等。S7-200PLC的強(qiáng)大功能使其無(wú)論單機(jī)運(yùn)行,或連成網(wǎng)絡(luò)都能實(shí)現(xiàn)復(fù)雜的控制功能。S7-200PLC可提供4個(gè)不同的基本型號(hào)與8種CPU可供選擇使用。
2.SIMATICS7-300PLCS7-300是模塊化小型PLC系統(tǒng),能滿足中等性能要求的應(yīng)用。各種單獨(dú)
的模塊之間可進(jìn)行廣泛組合構(gòu)成不同要求的系統(tǒng)。與S7-200PLC比較,S7-300PLC采用模塊化結(jié)構(gòu),具備高速(0.6~0.1μs)的指令運(yùn)算速度;用浮點(diǎn)數(shù)運(yùn)算比較有效地實(shí)現(xiàn)了更為復(fù)雜的算術(shù)運(yùn)算;一個(gè)帶標(biāo)準(zhǔn)用戶接口的軟件工具方便用戶給所有模塊進(jìn)行參數(shù)賦值;方便的人機(jī)界面服務(wù)已經(jīng)集成在S7-300操作系統(tǒng)內(nèi),人機(jī)對(duì)話的編程要求大大減少。
3. SIMATIC人機(jī)界面(HMI)從S7-300中取得數(shù)據(jù),S7-300按用戶的刷新速度傳送這些數(shù)據(jù)。S7-300操作系統(tǒng)自動(dòng)地處理數(shù)據(jù)的傳送;CPU的智能化的診斷系統(tǒng)連續(xù)監(jiān)控系統(tǒng)的功能是否正常、記錄錯(cuò)誤和特殊系統(tǒng)事件(例如:超時(shí),模塊更換,等等);多級(jí)口令保護(hù)可以使用戶高度、有效地保護(hù)其技術(shù)機(jī)密,防止未經(jīng)允許的復(fù)制和修改;S7-300PLC設(shè)有操作方式選擇開關(guān),操作方式選擇開關(guān)像鑰匙一樣可以拔出,當(dāng)鑰匙拔出時(shí),就不能改變操作方式,這樣就可防止非法刪除或改寫用戶程序。具備強(qiáng)大的通信功能,S7-300PLC可通過(guò)編程軟件Step7的用戶界面提供通信組態(tài)功能,這使得組態(tài)非常容易、簡(jiǎn)單。
4. S7-300PLC具有多種不同的通信接口,并通過(guò)多種通信處理器來(lái)連接AS-I總線接口和工業(yè)以太網(wǎng)總線系統(tǒng);串行通信處理器用來(lái)連接點(diǎn)到點(diǎn)的通信系統(tǒng);多點(diǎn)接口(MPI)集成在CPU中,用于同時(shí)連接編程器、PC機(jī)、人機(jī)界面系統(tǒng)及其他SIMATICS7/M7/C7等自動(dòng)化控制系統(tǒng)。
5.SIMATICS7-400PLCS7-400PLC是用于中、高檔性能范圍的可編程序控制器。S7-400PLC采用模塊化無(wú)風(fēng)扇的設(shè)計(jì),可靠耐用,同時(shí)可以選用多種級(jí)別(功能逐步升級(jí))的CPU,并配有多種通用功能的模板,這使用戶能根據(jù)需要組合成不同的系統(tǒng)。當(dāng)控制系統(tǒng)規(guī)模擴(kuò)大或升級(jí)時(shí),只要適當(dāng)?shù)卦黾右恍┠0?,便能使系統(tǒng)升級(jí)和充分滿足需要
工作存儲(chǔ)器:
工作存儲(chǔ)器僅包含運(yùn)行時(shí)使用的程序和數(shù)據(jù)。RAM 工作存儲(chǔ)器集成在CPU中, RAM中的內(nèi)容通過(guò)電源模塊供電或后備電池保持。除了S7 417-4 CPU可以通過(guò)插入的存儲(chǔ)卡來(lái)擴(kuò)展工作存儲(chǔ)器外,其他PLC的工作存儲(chǔ)器都無(wú)法擴(kuò)展。
3. 裝載存儲(chǔ)器:
裝載存儲(chǔ)器是用于存放不包含符號(hào)地址分配或注釋(這些保留在編程設(shè)備的存儲(chǔ)器中)的用戶程序。裝載存儲(chǔ)器可以是存儲(chǔ)器卡、內(nèi)部集成的RAM或內(nèi)部集成的EPROM.
4. 保持存儲(chǔ)器:
保持存儲(chǔ)器是非易失性的RAM,通過(guò)組態(tài)可以在PLC掉電后即使沒(méi)有安裝后備電池的情況下,保存一部分位存儲(chǔ)器(M)、定時(shí)器(T)、計(jì)數(shù)器(C)和數(shù)據(jù)塊(DB)。在設(shè)置CPU參數(shù)時(shí)一定要要保持的區(qū)域。(注意:由于S7-400 PLC沒(méi)有非易失性RAM,即使組態(tài)了保持區(qū)域,再掉電時(shí)若沒(méi)有后備電池,也將丟失所有數(shù)據(jù)。這是S7-300 PLC 與S7-400 PLC 的重要區(qū)別)
1) 當(dāng)在step7 中執(zhí)行下裝(download)時(shí),會(huì)把編程設(shè)備中的用戶程序下裝到CPU的裝載存儲(chǔ)區(qū),同時(shí)會(huì)把運(yùn)行時(shí)使用的程序和數(shù)據(jù)寫入工作存儲(chǔ)區(qū)(如OB1和數(shù)據(jù)塊)。
2) 若CPU沒(méi)有后備電池,當(dāng)系統(tǒng)斷電時(shí),在工作存儲(chǔ)器中定義了保持特性的數(shù)據(jù)塊會(huì)把數(shù)據(jù)寫入保持存儲(chǔ)器中,上電后保持存儲(chǔ)器會(huì)把斷電時(shí)的數(shù)據(jù)寫入到工作存儲(chǔ)區(qū), 保證了運(yùn)行數(shù)據(jù)斷電不丟失(過(guò)程如圖7-1中與箭頭所示)。
3) 若CPU沒(méi)有后備電池,當(dāng)系統(tǒng)斷電時(shí),系統(tǒng)存儲(chǔ)區(qū)中定義n的保持位存儲(chǔ)器(M)、定時(shí)器(T)和計(jì)數(shù)器(C))斷電時(shí)也會(huì)寫入保持存儲(chǔ)器,恢復(fù)上電時(shí)斷電時(shí)的數(shù)據(jù)重新寫入,保證了運(yùn)行數(shù)據(jù)斷電不丟失(如圖7-1中與箭頭所示)。
按照CPU 的裝載存儲(chǔ)器來(lái)分類:新型S7-300 CPU、標(biāo)準(zhǔn)型S7-300 CPU、帶內(nèi)置EPROM 的S7300 CPU,具體描述如下:
新型S7-300 CPU是指使用MMC卡作為其裝載存儲(chǔ)器的CPU,此類CPU不用安裝后備電池,免維護(hù)。由于新型S7300-CPU它不含內(nèi)置的裝載存儲(chǔ)器,因此必須使用MMC卡。新型的S7-300 CPU包括緊湊型 (即CPU31xC系列)和由標(biāo)準(zhǔn)型更新的新型CPU。任何程序的下載方式都直接保存到卡中, 沒(méi)有MMC卡,是無(wú)法把程序下載到CPU中的。
MMC卡需要用戶根據(jù)程序大小單獨(dú)訂貨,選型時(shí)建議大于CPU工作內(nèi)存,CPU313,CPU314,CPU315-2DP,CPU317-2DP 系列CPU的可插拔MMC卡大支持8 MB ,其他高支持4 MB
S7-300PLC中的FB和FC的分別?FB帶有自己的背景DB而FC沒(méi)有自己的背景DB,用FC和FB有什么分別呢,他們都能實(shí)現(xiàn)控制功能,到底該用FB還是該用FC,什么時(shí)候用FB什么時(shí)候用FC?
FB與FC沒(méi)有太大的差別,F(xiàn)B帶有背景數(shù)據(jù)塊,而FC沒(méi)有。所以FB帶上不同的數(shù)據(jù)塊,就可以帶上不同的參數(shù)值。這樣就可以用同一FB和不同的背景數(shù)據(jù)塊,被多個(gè)對(duì)象調(diào)用。
FC和FB像C中的函數(shù),只不過(guò)FB可以生成靜態(tài)變量,在下次函數(shù)調(diào)用時(shí)數(shù)據(jù)可以保留,而FC的變量只在調(diào)用期內(nèi)有效,下次調(diào)用又重新更換。每次調(diào)用FC的I/O區(qū)域必須要自己每次手動(dòng)輸入,而FB就不要,省去不少麻煩,如果在上位機(jī)控制直接輸入DB控制地址就可以。
舉個(gè)例子來(lái)說(shuō),有50臺(tái)電機(jī)需要控制,這些電機(jī)除了參數(shù)不一樣,控制流程上是一樣的,每個(gè)
電機(jī)需要不同的參數(shù)去運(yùn)行,運(yùn)行中的過(guò)程參數(shù)要參與到下一次的控制過(guò)程中。
這個(gè)要求,用FC做的話,你需要針對(duì)不同的電機(jī)分配好DB塊,來(lái)逐一的確認(rèn)參數(shù)地址,不能混
淆,保存和調(diào)用不能出錯(cuò),可以想象會(huì)有多麻煩。如果用FB來(lái)做呢?寫好控制過(guò)程和定義的參
數(shù)的調(diào)用就可以了。針對(duì)電機(jī)重復(fù)調(diào)用同一個(gè)FB,每次調(diào)用一個(gè)獨(dú)立的DB作為背景數(shù)據(jù)塊
,完全不必理會(huì)背景DB中的數(shù)據(jù)是怎么存儲(chǔ)的。如果功能需要修改,只要修改該FB就行了。
還有其他的例子,比如PID、比如流量累計(jì)等等。
fc就相當(dāng)于流水線,加工完就過(guò)去了!沒(méi)有任何紀(jì)錄。fb+db不但可以加工,還能記錄數(shù)據(jù)的。
一般有多個(gè)設(shè)備的時(shí)候,我們編寫一個(gè)fb然后多次調(diào)用,自動(dòng)生成相應(yīng)的db,這樣簡(jiǎn)化了我們
的工作。
FB的變量聲明表中有靜態(tài)變量,并可以進(jìn)行多級(jí)的參數(shù)傳遞,因此在調(diào)用FB時(shí)需生成背景數(shù)據(jù)塊,
而FC則沒(méi)有這些.FB可以替代FC,反之則不行.
多級(jí)的參數(shù)傳遞即所謂的MULTIINSTANCE,你可以把FB,DB做為另外一個(gè)FB中的函數(shù)來(lái)調(diào)用,
如在FB2中可以使用FB1中的參數(shù),而終只生成一個(gè)背景數(shù)據(jù)塊
1:使用CPU 315F和ET 200S時(shí)應(yīng)如何避免出現(xiàn)“通訊故障”消息?
使用CPU S7 315F, ET 200S以及故障安全DI/DO模塊,那么您將調(diào)用OB35 的故障安全程序。而且,您已經(jīng)接受所有監(jiān)控時(shí)間的默認(rèn)設(shè)置值,并且愿意接收“通訊故障”消息。 OB 35 默認(rèn)設(shè)置為100毫秒。您已經(jīng)將F I/O模塊的F監(jiān)控時(shí)間設(shè)定為100毫秒,因此至少每100毫秒要尋址一次I/O模塊。但是由于每100毫秒才調(diào)用一次OB 35,因此會(huì)發(fā)生通訊故障。要確保OB35的掃描間隔和F監(jiān)控時(shí)間有所差別,請(qǐng)確保F監(jiān)控時(shí)間大于OB35的掃描間隔時(shí)間。
S7分布式安全系統(tǒng),一直到V5.2 SP1 和 6ES7138-4FA00-0AB0,6 ES7138-4FB00-0AB0,6ES7138-4CF00-0AB0 都會(huì)出現(xiàn)這個(gè)問(wèn)題。在新的模塊中,F(xiàn) 監(jiān)控時(shí)間設(shè)定為150毫秒.
2:當(dāng)DP從站不可用時(shí),PROFIBUS上S7-300 CPU的監(jiān)控時(shí)間是多少?
使用CPU的PROFIBUS接口上的DP從站操作PROFIBUS網(wǎng)絡(luò)時(shí),希望在啟動(dòng)期間檢查期望的組態(tài)與實(shí)際的組態(tài)是否匹配。在 CPU屬性對(duì)話框中的Startup選項(xiàng)卡上給出了兩個(gè)不同的時(shí)間。
3:如何判斷電源或緩沖區(qū)出錯(cuò),如:電池故障?
如果電源(僅S7-400)或緩沖區(qū)中的一個(gè)錯(cuò)誤觸發(fā)一個(gè)事件,則CPU操作系統(tǒng)訪問(wèn)OB81。錯(cuò)誤糾正后,重新訪問(wèn)OB81。電池故障情況下,如果電池檢測(cè)中的BATT.INDIC開關(guān)是激活的,則 S7-400僅訪問(wèn)OB81。如果沒(méi)有組態(tài)OB81,則CPU不會(huì)進(jìn)入操作狀態(tài)STOP。如果OB81不可用,則當(dāng)電源出錯(cuò)時(shí),CPU仍保持運(yùn)行。
4:為S7CPU上的I/O模塊(集中式或者分布式的)分配地址時(shí)應(yīng)當(dāng)注意哪些問(wèn)題?
請(qǐng)注意,創(chuàng)建的數(shù)據(jù)區(qū)域(如一個(gè)雙字)不能組態(tài)在過(guò)程映象的邊界上,因?yàn)樵谠摂?shù)據(jù)塊中,只有邊界下面的區(qū)域能夠被讀入過(guò)程映像,因此不可能從過(guò)程映像訪問(wèn)數(shù)據(jù)。 因此,這些組態(tài)規(guī)則不支持這種情況:例如,在一個(gè) 256 字節(jié)輸入的過(guò)程映像的 254 號(hào)地址上組態(tài)一個(gè)輸入雙字。 如果一定需要如此選址,則必須相應(yīng)地調(diào)整過(guò)程映像的大小(在CPU的Properties中)。
5:在S7 CPU中如何進(jìn)行全局?jǐn)?shù)據(jù)的基本通訊?在通訊時(shí)需要注意什么?
全局?jǐn)?shù)據(jù)通訊用于交換小容量數(shù)據(jù),全局?jǐn)?shù)據(jù)(GD)可以是:
輸入和輸出
標(biāo)記
數(shù)據(jù)塊中的數(shù)據(jù)
定時(shí)器和計(jì)數(shù)器功能
數(shù)據(jù)交換是指在連入單向或雙向GD環(huán)的CPU之間以數(shù)據(jù)包的形式交換數(shù)據(jù)。GD環(huán)由GD環(huán)編號(hào)來(lái)標(biāo)識(shí)。
單向連接:某一CPU可以向多個(gè)CPU發(fā)送GD數(shù)據(jù)包。
雙向連接:兩個(gè)CPU之間的連接:每個(gè)CPU都可以發(fā)送和接收一個(gè)GD數(shù)據(jù)包。
必須確保接收端CPU未確認(rèn)全局?jǐn)?shù)據(jù)的接收。如果想要通過(guò)相應(yīng)通訊塊(SFB、FB或FC)來(lái)交換數(shù)據(jù),則必須進(jìn)行通訊塊之間的連接。通過(guò)定義一個(gè)連接,可以簡(jiǎn)化通訊塊的設(shè)計(jì)。該定義對(duì)所有調(diào)用的通訊塊都有效且不需要每次都重新定義。
6:可以將S7-400存儲(chǔ)卡用于CPU 318-2DP嗎?
在通常的操作中,只能使用訂貨號(hào)為6ES7951-1K... (Flash EPROM)和6ES7951-1A... (RAM)的“短”> 存儲(chǔ)卡。
7:盡管LED燈亮,為什么CPU 31xC不能從缺省地址124和125讀取完整輸入?
對(duì)于下列型號(hào)的CPU ,請(qǐng)檢查 24V 電壓是否接入引腳 1。LED由輸入電流控制。引腳 1 上的 24V 電壓需要做進(jìn)一步處理。
313C(6ES7 313-5BE0.-0AB0),313C-2DP (6ES7 313-6CE0.-0AB0),313C-2PTP (6ES7 313-6BE0.-0AB0), 314C-2DP (6ES7 314-6CF0.-0AB0),314C-2PTP (6ES7 314-6BF0.-0AB0)
8:配置CPU 31x-2 PN/DP的PN接口時(shí),當(dāng)PROFINET接口偶爾發(fā)生通信錯(cuò)誤時(shí),該如何處理?
請(qǐng)確定以太網(wǎng)(PROFINET)中的所有組件(轉(zhuǎn)換)都支持 100 Mbit/s全雙工基本操作。避 免中心分配器割裂網(wǎng)絡(luò),因?yàn)檫@些設(shè)備只能工作于半雙工模式。
9:在硬件配置編輯器中,“時(shí)鐘”修正因子有什么含義呢?
在硬件配置中,通過(guò)CPU > Properties > Diagnostics/Clock,你可以進(jìn)入“時(shí)鐘”> 域內(nèi)一個(gè)修正因子。這個(gè)修正因子只影響CPU的硬件時(shí)鐘。時(shí)間中斷源自于系統(tǒng)時(shí)鐘,并且和硬件時(shí)鐘的設(shè)定毫無(wú)關(guān)系。
10:如何通過(guò)PROFIBUS DP用功能塊實(shí)現(xiàn)在主、從站之間實(shí)現(xiàn)雙向數(shù)據(jù)傳送?
在主站plc可以通過(guò)調(diào)用SFC14 “DPRD_DAT“和SFC15 “DPWR_DAT“來(lái)完成和從站的數(shù)據(jù)交換,而對(duì)于從站來(lái)說(shuō)可以調(diào)用FC1 “DP_SEND“ 和FC2 ”DP_RECV“完成數(shù)據(jù)的交換。
11:可以從S7 CPU中讀出哪些標(biāo)識(shí)數(shù)據(jù)?
通過(guò)SFC 51“RDSYSST”可讀出下列標(biāo)識(shí)數(shù)據(jù):
可以讀出訂貨號(hào)和CPU版本號(hào)。為此,使用SFC 51和SSL ID 0111并使用下列索引:
1 = 模塊標(biāo)識(shí)
6 = 基本硬件標(biāo)識(shí)
7 = 基本固件標(biāo)識(shí)
12:在含有CPU 317-2PN/DP的S7-300上,如何編程可加載通訊功能塊FB14("GET")和FB15("PUT")用于數(shù)據(jù)交換?
為了通過(guò)一個(gè)S7連接在使用CPU 317-2PN/DP的兩個(gè)S7-300工作站之間進(jìn)行數(shù)據(jù)交換,其中該S7連接是使用NetPro組態(tài)的, 在S7通信中,必須調(diào)用通訊功能塊。模塊FB14("GET") 用于從遠(yuǎn)程CPU取出數(shù)據(jù),模塊FB15("PUT")用于將數(shù)據(jù)寫入遠(yuǎn)程CPU。 功能塊包含在STEP 7 V5.3的標(biāo)準(zhǔn)庫(kù)中。 <
CPU 317-2PN/DP的通訊模塊FB14("GET")和FB15("PUT")的屬性 :
FB14和FB15是異步通訊功能。 這些模塊的運(yùn)行可能跨越多個(gè)OB1循環(huán)。 通過(guò)輸入?yún)?shù)REQ激活FB14或FB15。 DONE、NDR或ERROR表明作業(yè)結(jié)束。PUT和GET可以同時(shí)通過(guò)連接進(jìn)行通信。
注意:不能將庫(kù)SIMATIC_NET_CP中的通訊塊用于CPU317-2PN/DP。
13:對(duì)于緊湊CPU 313C-2 PtP和CPU 314-2 PtP作業(yè)同步處理需要注意什么?
在用戶程序中,不可以同時(shí)編程SEND作業(yè)和FETCH作業(yè)。
即: 只要SEND作業(yè)(SFB 63)沒(méi)有完全終止(DONE或ERROR),就不能調(diào)用FETCH作業(yè)(SFB 64)(甚至在REQ=0的時(shí)候)。只要FETCH作業(yè)(SFB 64)沒(méi)有完全終止(DONE或ERROR),就不能調(diào)用SEND作業(yè)(SFB 63)(甚至在REQ=0的時(shí)候)。在處理一個(gè)主動(dòng)作業(yè)(SEND作業(yè)、SFB 63或FETCH作業(yè)、SFB 64)時(shí),同時(shí)可以處理一個(gè)被動(dòng)作業(yè)(SERVE作業(yè)、SFB 65)。
14:可以將MICR.master420到440作為組態(tài)軸(位置外部檢測(cè))和CPU 317T一起運(yùn)行嗎?
可以,但在動(dòng)力和精度方面,對(duì)組態(tài)軸的要求差別非常大。在高要求情況下,伺服驅(qū)動(dòng)SIMODRIVE 611U、MASTERDRIVES MC或SINAMICS S必須和CPU 317T一起運(yùn)行。在低要求情況下,MICROMASTER系列也能滿足動(dòng)力和精度要求。
15:如何在已配置為DP從站的兩個(gè)CPU模塊間組態(tài)直接數(shù)據(jù)交換(節(jié)點(diǎn)間通信)?
兩個(gè)CPU站配置為DP從站,而且由同一個(gè)DP主站操作,它們之間的通信通過(guò)配置交換模式為DX可以完成直接數(shù)據(jù)交換。
16:如何使用SFC65,SFC66,SFC67 和 SFC68 進(jìn)行通信?
對(duì)于單向基本通信,使用系統(tǒng)功能 SFC67 (X_GET)從一個(gè)被動(dòng)站讀取數(shù)據(jù),使用系統(tǒng)功能SFC68(X_PUT)將數(shù)據(jù)寫入一個(gè)被動(dòng)站(服務(wù)器)。這些塊只有在主動(dòng)站中才調(diào)用。對(duì)于一個(gè)雙向基本通信,調(diào)用站中的系統(tǒng)功能SFC65 (X_SEND),在該站中想將數(shù)據(jù)發(fā)送到另一個(gè)主動(dòng)站。在同樣為主動(dòng)的主動(dòng)接收站中,數(shù)據(jù)將通過(guò)系統(tǒng)功能SFC66 (X_RCV)記錄。
兩種類型的基本通信中,每次塊調(diào)用可以處理多 76 字節(jié)的用戶數(shù)據(jù)。對(duì)于S7-300 CPU,數(shù)據(jù)傳送的數(shù)據(jù)一致性是 8 個(gè)字節(jié),對(duì)于S7-400 CPU則是全長(zhǎng)。 如果連接到S7-200,必須考慮到S7-200只能用作一個(gè)被動(dòng)站。
17:什么是自由分配 I/O 地址?
地址的自由分配意味著您可對(duì)每種模塊(SM/FM/CP)自由的分配一個(gè)地址。地址分配在 STEP 7 里進(jìn)行。先定義起始地址,該模塊的其它地址以它為基準(zhǔn)。
自由分配地址的優(yōu)點(diǎn):因?yàn)槟K之間沒(méi)有地址間隙,就可以優(yōu)化地使用可用地址空間。在創(chuàng)建標(biāo)準(zhǔn)軟件時(shí),分配地址過(guò)程中可以不考慮所涉及的 S7-300 的組態(tài)。
18:診斷緩沖器能夠干什么?
更快地識(shí)別故障源,因而提高系統(tǒng)的可用性。評(píng)估STOP之前的后事件,并尋找引起STOP的原因。
診斷緩沖器是一個(gè)帶有單個(gè)診斷條目的循環(huán)緩沖器,這些診斷條目顯示在事件發(fā)生序列中;條目顯示的是近發(fā)生的事件。如果緩沖器已滿, 早發(fā)生的事件就會(huì)被新的條目所覆蓋。根據(jù)不同的CPU,診斷緩沖器的大小或者固定,或者可以通過(guò)HW Config中通過(guò)參數(shù)進(jìn)行設(shè)置。
19:診斷緩沖器中的條目包括哪些?
1) 故障事件
2) 操作模式轉(zhuǎn)變以及其它對(duì)用戶重要的操作事件
3) 用戶定義的診斷事件(用SFC52 WR_USMSG)
在操作模式STOP下,在診斷緩沖器中盡量少的存儲(chǔ)事件,以便用戶能夠很容易在緩沖器中找到引起STOP的原因。因此,只有當(dāng)事件要求用戶產(chǎn)生一個(gè)響應(yīng)(如計(jì)劃系統(tǒng)內(nèi)存復(fù)位,電池需要充電)或必須注冊(cè)重要信息(如固件更新,站故障)時(shí),才將條目存儲(chǔ)在診斷緩沖器中。
20:如何確定MMC的大小以便完整地存儲(chǔ)STEP 7項(xiàng)目?
為了給項(xiàng)目選擇合適的MMC,需要了解整個(gè)項(xiàng)目的大小以及要加載塊的大小??梢园凑杖缦滤龅姆椒▉?lái)確定項(xiàng)目的大小:
1) 首先歸檔STEP 7項(xiàng)目。然后在Windows資源瀏覽器中打開已歸檔項(xiàng)目,并確定其大小(選中該項(xiàng)目并右擊)。這會(huì)告訴您歸檔文件的大小。
2) 將塊加載入CPU?,F(xiàn)在仍然需要選擇"PLC > Module Inbation > Memory"。在此,在" Load memory RAM + EPROM"中,可以看到分配的加載內(nèi)存的大小。
3) 必須將該值和已經(jīng)確定的歸檔項(xiàng)目的大小相加。這樣就可以得出在一個(gè)MMC上保存整個(gè)項(xiàng)目所需的總內(nèi)存的大小。
21:CPU全面復(fù)位后哪些設(shè)置會(huì)保留下來(lái)?
復(fù)位CPU時(shí),內(nèi)存沒(méi)有被完全刪除。整個(gè)主內(nèi)存被完全刪除了,但加載內(nèi)存中數(shù)據(jù),以及保存在Flash-EPROM存儲(chǔ)卡(MC)或微存儲(chǔ)卡(MMC)上的數(shù)據(jù),則會(huì)全部保留下來(lái)。除了加載內(nèi)存以外,計(jì)時(shí)器(CPU 312 IFM除外)和診斷緩沖也被保留。具有MPI接口或一個(gè)組合MPI/DP接口的CPU只在全部復(fù)位之前保留接口所采用的當(dāng)前地址和波特率。另一方面,另一個(gè)PROFIBUS地址也被完全刪除,不能再訪問(wèn)。
重要事項(xiàng):重新設(shè)置PG/PC之后,與CPU之間的通訊只能通過(guò)MPI或MPI/DP接口來(lái)建立。
22:為什么不能通過(guò)MPI在線訪問(wèn)CPU?
如果在CPU上已經(jīng)更改了MPI參數(shù),請(qǐng)檢查硬件配置。可以將這些值與在"Set PG/PC interface"下的參數(shù)進(jìn)行比較,看是否有不一致。
或者可以這樣做:打開一個(gè)新的項(xiàng)目,創(chuàng)建一個(gè)新的硬件組態(tài)。在CPU的MPI接口的屬性中為地址和傳送速度設(shè)置各自的值。將"空"項(xiàng)目寫入存儲(chǔ)卡中。把該存儲(chǔ)卡插入到CPU 然后重新打開CPU的電壓,將位于存儲(chǔ)卡上的設(shè)置傳送到CPU?,F(xiàn)在已經(jīng)傳送了MPI接口的當(dāng)前設(shè)置,并且像這樣的話,只要接口沒(méi)有故障就可以建立連接。 這個(gè)方法適用于所有具有存儲(chǔ)卡接口的S7-CPU。
23:錯(cuò)誤OB的用途是什么?
如果發(fā)生一個(gè)所描述的錯(cuò)誤(見(jiàn)文件1),則將調(diào)用并處理相應(yīng)OB。如果沒(méi)有加載該OB,則CPU進(jìn)入STOP(例外:OB70、72、7 3和81)
S7-CPU可以識(shí)別兩類錯(cuò)誤:
1) 同步錯(cuò)誤: 這些錯(cuò)誤在處理特定操作的過(guò)程中被觸發(fā),并且可以歸因于用戶程序的特定部分。
2) 異步錯(cuò)誤: 這些錯(cuò)誤不能直接歸因于運(yùn)行中的程序。這些錯(cuò)誤包括優(yōu)先級(jí)類的錯(cuò)誤,自動(dòng)化系統(tǒng)中的錯(cuò)誤(故障模塊)或者冗余的錯(cuò)誤。
24:在DP從站或CPU315-2DP型主站里應(yīng)該編程哪些“故障 OBs”?
在組態(tài)一個(gè)作為從站的CPU315-2DP站時(shí),必須在STEP7程序中編程下列OB以便評(píng)估分布式I/O類型的錯(cuò)誤信息:
OB 82 診斷中斷 OB 、OB 86 子機(jī)架故障 OB 、OB 122 I/O 訪問(wèn)出錯(cuò)
1) 診斷OB82:如果一個(gè)支持診斷,并且已經(jīng)對(duì)其釋放了診斷中斷的模塊識(shí)別出一個(gè)錯(cuò)誤,它既對(duì)進(jìn)入事件也對(duì)外出的事件向 CPU 發(fā)出一個(gè)診斷中斷的請(qǐng)求。操作系統(tǒng)然后調(diào)用 OB82。在 OB82 自己的局部變量里包含有有缺陷模塊的邏輯基地址和 4 個(gè)字節(jié)的診斷數(shù)據(jù)。如果你還沒(méi)有編程 OB82, 則 CPU 進(jìn)入“停止”模式。你可以阻斷或延遲診斷中斷 OB ,并通過(guò) SFC 39 - 42 重新釋放它。
2) 子機(jī)架故障OB86:如果識(shí)別出一個(gè) DP 主站系統(tǒng)或一個(gè)分布式 I/O 站有故障(既對(duì)進(jìn)入事件也對(duì)外出的事件),該 CPU 的操作系統(tǒng)就調(diào)用 OB 86 。如果沒(méi)有編程 OB 86 但出現(xiàn)了這樣一個(gè)錯(cuò)誤, CPU 就進(jìn)入“停止”模式。你可以阻斷或延遲 OB86 并通過(guò) SFC 39 - 42 重新釋放它。
3) I/O 訪問(wèn)出錯(cuò)OB122:當(dāng)訪問(wèn)一個(gè)模塊的數(shù)據(jù)時(shí)出錯(cuò),該CPU的操作系統(tǒng)就調(diào)用OB 122。比方說(shuō),CPU在存取一個(gè)單個(gè)模塊的數(shù)據(jù)時(shí)識(shí)別出一個(gè)讀錯(cuò)誤,那么操作系統(tǒng)就調(diào)用OB 122。該OB 122以與中斷塊有相同的優(yōu)先級(jí)類別運(yùn)行。如果沒(méi)有編程OB 122,那么CPU由“運(yùn)行”模式改為“停止”模式。
25:為什么在某些情況下,保留區(qū)會(huì)被重寫?
在STEP 7的硬件組態(tài)中,可以把幾個(gè)操作數(shù)區(qū)定義為“保留區(qū)”。這樣可以在掉電以后,即使沒(méi)有備份電池的話,仍能保持這些區(qū)域中的內(nèi)容。如果定義一個(gè)塊為 “保留塊”,而它在 CPU 中不存在或只是臨時(shí)安裝過(guò),那么這些區(qū)域的部分內(nèi)容會(huì)被重寫。在電源接通/斷開之后,其他內(nèi)容會(huì)在相關(guān)區(qū)里找到。
26:為何不能把閃存卡的內(nèi)容加載入S7 300 CPU?
你的項(xiàng)目在閃存卡上?,F(xiàn)在要用它加載 S7 300 。但加載結(jié)束后發(fā)現(xiàn) CPU 的 RAM 中仍是空的。 出現(xiàn)此問(wèn)題的原因是你的程序里有無(wú)法處理的,"錯(cuò)誤的"組織塊(比如說(shuō), OB86 沒(méi)有 DP 接口)。 在重新設(shè)置和重新啟動(dòng) CPU 后, RAM 仍是空的。 診斷緩沖區(qū)對(duì)這個(gè)"無(wú)法加載"的塊會(huì)提示一些信息。
27:當(dāng)把 CPU315-2DP 作為從站,把 CPU315-2DP 作為主站時(shí)的診斷地址
在組態(tài)一個(gè) CPU315-2DP 站時(shí),你使用 S7 工具 “H/W CONFIG” 來(lái)分配診斷地址。如果發(fā)生一個(gè)故障,這些診斷地址被加入診斷 OB 的變量 “OB82_MDL_ADDR” 里。 你可在 OB82 里分析此變量,確定有故障的站并作出相應(yīng)的反應(yīng)。
下面是如何分配診斷地址的例子:
第 1 步: 通過(guò) CPU315-2DP 組態(tài)從站并賦予一個(gè)診斷地址,比如 422。
第 2 步: 通過(guò) CPU315-2DP 組態(tài)主站
第 3 步: 把組態(tài)好的從站鏈接到主站并賦予一個(gè)診斷地址,比如 1022。
28:需要為S7-300 CPU的DP從站接口作何種設(shè)置,才可以使用它來(lái)進(jìn)行路由選擇?
如果使用CPU作為I-Slave,并且該CPU也起S7 路由器的作用,那么請(qǐng)注意如下事項(xiàng):
用于路由選擇的從站的DP接口必須設(shè)置為活動(dòng)狀態(tài)。這可以在HW Config中完成:在DP接口的屬性對(duì)話框中,選項(xiàng)" Commissioning/Test operation"或"Programming, status/modify..."必須激活。關(guān)于這些設(shè)置的注意事項(xiàng)可以在下表中獲得。
對(duì)于S7 路由連接,有 4 種可用的連接資源-與其它任何連接資源無(wú)關(guān)。沒(méi)有使用PG/OP的連接資源或S7基本通信。
如果必須通過(guò)DP接口來(lái)建立一個(gè)與位于其機(jī)架上的通信伙伴連接時(shí)(如在 CP 343-1 中),也要使用一個(gè)路由連接。而對(duì)于通過(guò)MPI接口與一個(gè)位于其機(jī)架上的通信伙伴的連接,則不使用路由連接資源,因?yàn)樵谶@種情況下,能夠直接到達(dá)伙伴。注意事項(xiàng):這不適用于CPU 318。
29:為什么當(dāng)使用S7-300 CPU的內(nèi)部運(yùn)行時(shí)間表時(shí),沒(méi)有任何返回值?
當(dāng)對(duì)CPU 312IFM到316-2DP參數(shù)化系統(tǒng)功能塊 SFC2, SFC3 和 SFC4 時(shí),為一個(gè)運(yùn)行時(shí)間表規(guī)定了一個(gè)大于 "B#16#0"的標(biāo)識(shí)符,那么將出錯(cuò)并且所需的功能也無(wú)法用。 此種情況下,將在塊的" RETVAL"輸出處輸出標(biāo)識(shí)符 "8080h" 。
說(shuō)明:對(duì)于這些 CPU,只有一個(gè)計(jì)時(shí)器可用。因此你應(yīng)該只用標(biāo)識(shí)符 "B#16#0"。 在一個(gè)周期塊(OB1, OB35)里一定不能調(diào)用系統(tǒng)功能 SFC2 "SET_RTM",而是應(yīng)該在重啟動(dòng)OB(OB100)調(diào)用它。你也可以通過(guò)外部觸發(fā)器來(lái)啟動(dòng)該塊。不然的話,該塊將老是復(fù)位運(yùn)行計(jì)時(shí)表,永遠(yuǎn)完成不了計(jì)數(shù)。
30:變量是如何儲(chǔ)存在臨時(shí)局部數(shù)據(jù)中的?
L 堆棧永遠(yuǎn)以地址“0”開始。 在 L 堆棧中,會(huì)為每個(gè)數(shù)據(jù)塊保留相同個(gè)數(shù)的字節(jié),作為存放每個(gè)塊所擁有的靜態(tài)或局部數(shù)據(jù)。
當(dāng)某個(gè)塊終止時(shí),那么它的空間隨之也被重新釋放出來(lái)。 指針總是指向當(dāng)前打開塊的字節(jié)