1、使用CPU 315F和ET 200S時應(yīng)如何避免出現(xiàn)“通訊故障”消息?
使用CPU S7 315F, ET 200S以及故障安全DI/DO模塊,那么您將調(diào)用OB35 的故障安全程序。而且,您已經(jīng)接受所有監(jiān)控時間的默認(rèn)設(shè)置值,并且愿意接收“通訊故障”消息。 OB 35 默認(rèn)設(shè)置為100毫秒。您已經(jīng)將F I/O模塊的F監(jiān)控時間設(shè)定為100毫秒,因此至少每100毫秒要尋址一次I/O模塊。但是由于每100毫秒才調(diào)用一次OB 35,因此會發(fā)生通訊故障。要確保OB35的掃描間隔和F監(jiān)控時間有所差別,請確保F監(jiān)控時間大于OB35的掃描間隔時間。
S7分布式安全系統(tǒng),一直到V5.2 SP1 和 6ES7138-4FA00-0AB0,6 ES7138-4FB00-0AB0,6ES7138-4CF00-0AB0 都會出現(xiàn)這個問題。在新的模塊中,F(xiàn) 監(jiān)控時間設(shè)定為150毫秒.
2、當(dāng)DP從站不可用時,PROFIBUS上S7-300 CPU的監(jiān)控時間是多少?
使用CPU的PROFIBUS接口上的DP從站操作PROFIBUS網(wǎng)絡(luò)時,希望在啟動期間檢查期望的組態(tài)與實(shí)際的組態(tài)是否匹配。在 CPU屬性對話框中的Startup選項(xiàng)卡上給出了兩個不同的時間。
3、如何判斷電源或緩沖區(qū)出錯,如:電池故障?
如果電源(僅S7-400)或緩沖區(qū)中的一個錯誤觸發(fā)一個事件,則CPU操作系統(tǒng)訪問OB81。錯誤糾正后,重新訪問OB81。電池故障情況下,如果電池檢測中的BATT.INDIC開關(guān)是激活的,則 S7-400僅訪問OB81。如果沒有組態(tài)OB81,則CPU不會進(jìn)入操作狀態(tài)STOP。如果OB81不可用,則當(dāng)電源出錯時,CPU仍保持運(yùn)行。
4、為S7CPU上的I/O模塊(集中式或者分布式的)分配地址時應(yīng)當(dāng)注意哪些問題?
請注意,創(chuàng)建的數(shù)據(jù)區(qū)域(如一個雙字)不能組態(tài)在過程映象的邊界上,因?yàn)樵谠摂?shù)據(jù)塊中,只有邊界下面的區(qū)域能夠被讀入過程映像,因此不可能從過程映像訪問數(shù)據(jù)。 因此,這些組態(tài)規(guī)則不支持這種情況:例如,在一個 256 字節(jié)輸入的過程映像的 254 號地址上組態(tài)一個輸入雙字。 如果一定需要如此選址,則必須相應(yīng)地調(diào)整過程映像的大小(在CPU的Properties中)。
5、在S7 CPU中如何進(jìn)行全局?jǐn)?shù)據(jù)的基本通訊?在通訊時需要注意什么?
全局?jǐn)?shù)據(jù)通訊用于交換小容量數(shù)據(jù),全局?jǐn)?shù)據(jù)(GD)可以是:
輸入和輸出
標(biāo)記
數(shù)據(jù)塊中的數(shù)據(jù)
定時器和計(jì)數(shù)器功能
數(shù)據(jù)交換是指在連入單向或雙向GD環(huán)的CPU之間以數(shù)據(jù)包的形式交換數(shù)據(jù)。GD環(huán)由GD環(huán)編號來標(biāo)識。
單向連接:某一CPU可以向多個CPU發(fā)送GD數(shù)據(jù)包。
雙向連接:兩個CPU之間的連接:每個CPU都可以發(fā)送和接收一個GD數(shù)據(jù)包。
必須確保接收端CPU未確認(rèn)全局?jǐn)?shù)據(jù)的接收。如果想要通過相應(yīng)通訊塊(SFB、FB或FC)來交換數(shù)據(jù),則必須進(jìn)行通訊塊之間的連接。通過定義一個連接,可以極大簡化通訊塊的設(shè)計(jì)。該定義對所有調(diào)用的通訊塊都有效且不需要每次都重新定義。
6、可以將S7-400存儲卡用于CPU 318-2DP嗎?
在通常的操作中,只能使用訂貨號為6ES7951-1K... (Flash EPROM)和6ES7951-1A... (RAM)的“短”> 存儲卡。
7、盡管LED燈亮,為什么CPU 31xC不能從缺省地址124和125讀取完整輸入?
對于下列型號的CPU ,請檢查 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接口時,當(dāng)PROFINET接口偶爾發(fā)生通信錯誤時,該如何處理?
請確定以太網(wǎng)(PROFINET)中的所有組件(轉(zhuǎn)換)都支持 100 Mbit/s全雙工基本操作。避 免中心分配器割裂網(wǎng)絡(luò),因?yàn)檫@些設(shè)備只能工作于半雙工模式。
9、在硬件配置編輯器中,“時鐘”修正因子有什么含義呢?
在硬件配置中,通過CPU > Properties > Diagnostics/Clock,你可以進(jìn)入“時鐘”> 域內(nèi)指定一個修正因子。這個修正因子只影響CPU的硬件時鐘。時間中斷源自于系統(tǒng)時鐘,并且和硬件時鐘的設(shè)定毫無關(guān)系。
10、如何通過PROFIBUS DP用功能塊實(shí)現(xiàn)在主、從站之間實(shí)現(xiàn)雙向數(shù)據(jù)傳送?
在主站PLC可以通過調(diào)用SFC14 “DPRD_DAT“和SFC15 “DPWR_DAT“來完成和從站的數(shù)據(jù)交換,而對于從站來說可以調(diào)用FC1 “DP_SEND“ 和FC2 ”DP_RECV“完成數(shù)據(jù)的交換。
11、可以從S7 CPU中讀出哪些標(biāo)識數(shù)據(jù)?
通過SFC 51“RDSYSST”可讀出下列標(biāo)識數(shù)據(jù):
可以讀出訂貨號和CPU版本號。為此,使用SFC 51和SSL ID 0111并使用下列索引:
1 = 模塊標(biāo)識
6 = 基本硬件標(biāo)識
7 = 基本固件標(biāo)識
12、在含有CPU 317-2PN/DP的S7-300上,如何編程可加載通訊功能塊FB14("GET")和FB15("PUT")用于數(shù)據(jù)交換?
為了通過一個S7連接在使用CPU 317-2PN/DP的兩個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)庫中。 <
CPU 317-2PN/DP的通訊模塊FB14("GET")和FB15("PUT")的屬性 :
FB14和FB15是異步通訊功能。 這些模塊的運(yùn)行可能跨越多個OB1循環(huán)。 通過輸入?yún)?shù)REQ激活FB14或FB15。 DONE、NDR或ERROR表明作業(yè)結(jié)束。PUT和GET可以同時通過連接進(jìn)行通信。
注意:不能將庫SIMATIC_NET_CP中的通訊塊用于CPU317-2PN/DP。
13、對于緊湊CPU 313C-2 PtP和CPU 314-2 PtP作業(yè)同步處理需要注意什么?
在用戶程序中,不可以同時編程SEND作業(yè)和FETCH作業(yè)。
即: 只要SEND作業(yè)(SFB 63)沒有完全終止(DONE或ERROR),就不能調(diào)用FETCH作業(yè)(SFB 64)(甚至在REQ=0的時候)。只要FETCH作業(yè)(SFB 64)沒有完全終止(DONE或ERROR),就不能調(diào)用SEND作業(yè)(SFB 63)(甚至在REQ=0的時候)。在處理一個主動作業(yè)(SEND作業(yè)、SFB 63或FETCH作業(yè)、SFB 64)時,同時可以處理一個被動作業(yè)(SERVE作業(yè)、SFB 65)。
14、可以將MICR.master420到440作為組態(tài)軸(位置外部檢測)和CPU 317T一起運(yùn)行嗎?
可以,但在動力和精度方面,對組態(tài)軸的要求差別非常大。在高要求情況下,伺服驅(qū)動SIMODRIVE 611U、MASTERDRIVES MC或SINAMICS S必須和CPU 317T一起運(yùn)行。在低要求情況下,MICROMASTER系列也能滿足動力和精度要求。
15、如何在已配置為DP從站的兩個CPU模塊間組態(tài)直接數(shù)據(jù)交換(節(jié)點(diǎn)間通信)?
兩個CPU站配置為DP從站,而且由同一個DP主站操作,它們之間的通信通過配置交換模式為DX可以完成直接數(shù)據(jù)交換。
16、如何使用SFC65,SFC66,SFC67 和 SFC68 進(jìn)行通信?
對于單向基本通信,使用系統(tǒng)功能 SFC67 (X_GET)從一個被動站讀取數(shù)據(jù),使用系統(tǒng)功能SFC68(X_PUT)將數(shù)據(jù)寫入一個被動站(服務(wù)器)。這些塊只有在主動站中才調(diào)用。對于一個雙向基本通信,調(diào)用站中的系統(tǒng)功能SFC65 (X_SEND),在該站中想將數(shù)據(jù)發(fā)送到另一個主動站。在同樣為主動的主動接收站中,數(shù)據(jù)將通過系統(tǒng)功能SFC66 (X_RCV)記錄。
兩種類型的基本通信中,每次塊調(diào)用可以處理最多 76 字節(jié)的用戶數(shù)據(jù)。對于S7-300 CPU,數(shù)據(jù)傳送的數(shù)據(jù)一致性是 8 個字節(jié),對于S7-400 CPU則是全長。 如果連接到S7-200,必須考慮到S7-200只能用作一個被動站。
17、什么是自由分配 I/O 地址?
地址的自由分配意味著您可對每種模塊(SM/FM/CP)自由的分配一個地址。地址分配在 STEP 7 里進(jìn)行。先定義起始地址,該模塊的其它地址以它為基準(zhǔn)。
自由分配地址的優(yōu)點(diǎn):因?yàn)槟K之間沒有地址間隙,就可以優(yōu)化地使用可用地址空間。在創(chuàng)建標(biāo)準(zhǔn)軟件時,分配地址過程中可以不考慮所涉及的 S7-300 的組態(tài)。
18、診斷緩沖器能夠干什么?
更快地識別故障源,因而提高系統(tǒng)的可用性。評估STOP之前的最后事件,并尋找引起STOP的原因。
診斷緩沖器是一個帶有單個診斷條目的循環(huán)緩沖器,這些診斷條目顯示在事件發(fā)生序列中;第一個條目顯示的是最近發(fā)生的事件。如果緩沖器已滿, 最早發(fā)生的事件就會被新的條目所覆蓋。根據(jù)不同的CPU,診斷緩沖器的大小或者固定,或者可以通過HW Config中通過參數(shù)進(jìn)行設(shè)置。
19、診斷緩沖器中的條目包括哪些?
1) 故障事件
2) 操作模式轉(zhuǎn)變以及其它對用戶重要的操作事件
3) 用戶定義的診斷事件(用SFC52 WR_USMSG)
在操作模式STOP下,在診斷緩沖器中盡量少的存儲事件,以便用戶能夠很容易在緩沖器中找到引起STOP的原因。因此,只有當(dāng)事件要求用戶產(chǎn)生一個響應(yīng)(如計(jì)劃系統(tǒng)內(nèi)存復(fù)位,電池需要充電)或必須注冊重要信息(如固件更新,站故障)時,才將條目存儲在診斷緩沖器中。
20、如何確定MMC的大小以便完整地存儲STEP 7項(xiàng)目?
為了給項(xiàng)目選擇合適的MMC,需要了解整個項(xiàng)目的大小以及要加載塊的大小。可以按照如下所述的方法來確定項(xiàng)目的大?。?/p>
1) 首先歸檔STEP 7項(xiàng)目。然后在Windows資源瀏覽器中打開已歸檔項(xiàng)目,并確定其大小(選中該項(xiàng)目并右擊)。這會告訴您歸檔文件的大小。
2) 將塊加載入CPU。現(xiàn)在仍然需要選擇"PLC > Module Information > Memory"。在此,在" Load memory RAM + EPROM"中,可以看到分配的加載內(nèi)存的大小。
3) 必須將該值和已經(jīng)確定的歸檔項(xiàng)目的大小相加。這樣就可以得出在一個MMC上保存整個項(xiàng)目所需的總內(nèi)存的大小。
21、CPU全面復(fù)位后哪些設(shè)置會保留下來?
復(fù)位CPU時,內(nèi)存沒有被完全刪除。整個主內(nèi)存被完全刪除了,但加載內(nèi)存中數(shù)據(jù),以及保存在Flash-EPROM存儲卡(MC)或微存儲卡(MMC)上的數(shù)據(jù),則會全部保留下來。除了加載內(nèi)存以外,計(jì)時器(CPU 312 IFM除外)和診斷緩沖也被保留。具有MPI接口或一個組合MPI/DP接口的CPU只在全部復(fù)位之前保留接口所采用的當(dāng)前地址和波特率。另一方面,另一個PROFIBUS地址也被完全刪除,不能再訪問。
重要事項(xiàng):重新設(shè)置PG/PC之后,與CPU之間的通訊只能通過MPI或MPI/DP接口來建立。
22、為什么不能通過MPI在線訪問CPU?
如果在CPU上已經(jīng)更改了MPI參數(shù),請檢查硬件配置。可以將這些值與在"Set PG/PC interface"下的參數(shù)進(jìn)行比較,看是否有不一致。
或者可以這樣做:打開一個新的項(xiàng)目,創(chuàng)建一個新的硬件組態(tài)。在CPU的MPI接口的屬性中為地址和傳送速度設(shè)置各自的值。將"空"項(xiàng)目寫入存儲卡中。把該存儲卡插入到CPU 然后重新打開CPU的電壓,將位于存儲卡上的設(shè)置傳送到CPU。現(xiàn)在已經(jīng)傳送了MPI接口的當(dāng)前設(shè)置,并且像這樣的話,只要接口沒有故障就可以建立連接。 這個方法適用于所有具有存儲卡接口的S7-CPU。
23、錯誤OB的用途是什么?
如果發(fā)生一個所描述的錯誤(見文件1),則將調(diào)用并處理相應(yīng)OB。如果沒有加載該OB,則CPU進(jìn)入STOP(例外:OB70、72、7 3和81)
S7-CPU可以識別兩類錯誤:
1) 同步錯誤: 這些錯誤在處理特定操作的過程中被觸發(fā),并且可以歸因于用戶程序的特定部分。
2) 異步錯誤: 這些錯誤不能直接歸因于運(yùn)行中的程序。這些錯誤包括優(yōu)先級類的錯誤,自動化系統(tǒng)中的錯誤(故障模塊)或者冗余的錯誤。
24、在DP從站或CPU315-2DP型主站里應(yīng)該編程哪些“故障 OBs”?
在組態(tài)一個作為從站的CPU315-2DP站時,必須在STEP7程序中編程下列OB以便評估分布式I/O類型的錯誤信息:
OB 82 診斷中斷 OB 、OB 86 子機(jī)架故障 OB 、OB 122 I/O 訪問出錯
1) 診斷OB82:如果一個支持診斷,并且已經(jīng)對其釋放了診斷中斷的模塊識別出一個錯誤,它既對進(jìn)入事件也對外出的事件向 CPU 發(fā)出一個診斷中斷的請求。操作系統(tǒng)然后調(diào)用 OB82。在 OB82 自己的局部變量里包含有有缺陷模塊的邏輯基地址和 4 個字節(jié)的診斷數(shù)據(jù)。如果你還沒有編程 OB82, 則 CPU 進(jìn)入“停止”模式。你可以阻斷或延遲診斷中斷 OB ,并通過 SFC 39 - 42 重新釋放它。
2) 子機(jī)架故障OB86:如果識別出一個 DP 主站系統(tǒng)或一個分布式 I/O 站有故障(既對進(jìn)入事件也對外出的事件),該 CPU 的操作系統(tǒng)就調(diào)用 OB 86 。如果沒有編程 OB 86 但出現(xiàn)了這樣一個錯誤, CPU 就進(jìn)入“停止”模式。你可以阻斷或延遲 OB86 并通過 SFC 39 - 42 重新釋放它。
3) I/O 訪問出錯OB122:當(dāng)訪問一個模塊的數(shù)據(jù)時出錯,該CPU的操作系統(tǒng)就調(diào)用OB 122。比方說,CPU在存取一個單個模塊的數(shù)據(jù)時識別出一個讀錯誤,那么操作系統(tǒng)就調(diào)用OB 122。該OB 122以與中斷塊有相同的優(yōu)先級類別運(yùn)行。如果沒有編程OB 122,那么CPU由“運(yùn)行”模式改為“停止”模式。
25、為什么在某些情況下,保留區(qū)會被重寫?
在STEP 7的硬件組態(tài)中,可以把幾個操作數(shù)區(qū)定義為“保留區(qū)”。這樣可以在掉電以后,即使沒有備份電池的話,仍能保持這些區(qū)域中的內(nèi)容。如果定義一個塊為 “保留塊”,而它在 CPU 中不存在或只是臨時安裝過,那么這些區(qū)域的部分內(nèi)容會被重寫。在電源接通/斷開之后,其他內(nèi)容會在相關(guān)區(qū)里找到。
26、為何不能把閃存卡的內(nèi)容加載入S7 300 CPU?
你的項(xiàng)目在閃存卡上?,F(xiàn)在要用它加載 S7 300 。但加載結(jié)束后發(fā)現(xiàn) CPU 的 RAM 中仍是空的。 出現(xiàn)此問題的原因是你的程序里有無法處理的,"錯誤的"組織塊(比如說, OB86 沒有 DP 接口)。 在重新設(shè)置和重新啟動 CPU 后, RAM 仍是空的。 診斷緩沖區(qū)對這個"無法加載"的塊會提示一些信息。
27、當(dāng)把 CPU315-2DP 作為從站,把 CPU315-2DP 作為主站時的診斷地址
在組態(tài)一個 CPU315-2DP 站時,你使用 S7 工具 “H/W CONFIG” 來分配診斷地址。如果發(fā)生一個故障,這些診斷地址被加入診斷 OB 的變量 “OB82_MDL_ADDR” 里。 你可在 OB82 里分析此變量,確定有故障的站并作出相應(yīng)的反應(yīng)。
下面是如何分配診斷地址的例子:
第 1 步: 通過 CPU315-2DP 組態(tài)從站并賦予一個診斷地址,比如 422。
第 2 步: 通過 CPU315-2DP 組態(tài)主站
第 3 步: 把組態(tài)好的從站鏈接到主站并賦予一個診斷地址,比如 1022。
28、需要為S7-300 CPU的DP從站接口作何種設(shè)置,才可以使用它來進(jìn)行路由選擇?
如果使用CPU作為I-Slave,并且該CPU也起S7 路由器的作用,那么請注意如下事項(xiàng):
用于路由選擇的從站的DP接口必須設(shè)置為活動狀態(tài)。這可以在HW Config中完成:在DP接口的屬性對話框中,選項(xiàng)" Commissioning/Test operation"或"Programming, status/modify..."必須激活。關(guān)于這些設(shè)置的注意事項(xiàng)可以在下表中獲得。
對于S7 路由連接,有 4 種可用的連接資源-與其它任何連接資源無關(guān)。沒有使用PG/OP的連接資源或S7基本通信。
如果必須通過DP接口來建立一個與位于其機(jī)架上的通信伙伴連接時(如在 CP 343-1 中),也要使用一個路由連接。而對于通過MPI接口與一個位于其機(jī)架上的通信伙伴的連接,則不使用路由連接資源,因?yàn)樵谶@種情況下,能夠直接到達(dá)伙伴。注意事項(xiàng):這不適用于CPU 318。
29、為什么當(dāng)使用S7-300 CPU的內(nèi)部運(yùn)行時間表時,沒有任何返回值?
當(dāng)對CPU 312IFM到316-2DP參數(shù)化系統(tǒng)功能塊 SFC2, SFC3 和 SFC4 時,為一個運(yùn)行時間表規(guī)定了一個大于 "B#16#0"的標(biāo)識符,那么將出錯并且所需的功能也無法用。 此種情況下,將在塊的" RETVAL"輸出處輸出標(biāo)識符 "8080h" 。
說明:對于這些 CPU,只有一個計(jì)時器可用。因此你應(yīng)該只用標(biāo)識符 "B#16#0"。 在一個周期塊(OB1, OB35)里一定不能調(diào)用系統(tǒng)功能 SFC2 "SET_RTM",而是應(yīng)該在重啟動OB(OB100)調(diào)用它。你也可以通過外部觸發(fā)器來啟動該塊。不然的話,該塊將老是復(fù)位運(yùn)行計(jì)時表,永遠(yuǎn)完成不了計(jì)數(shù)。
30、變量是如何儲存在臨時局部數(shù)據(jù)中的?
L 堆棧永遠(yuǎn)以地址“0”開始。 在 L 堆棧中,會為每個數(shù)據(jù)塊保留相同個數(shù)的字節(jié),作為存放每個塊所擁有的靜態(tài)或局部數(shù)據(jù)。
當(dāng)某個塊終止時,那么它的空間隨之也被重新釋放出來。 指針總是指向當(dāng)前打開塊的第一個字節(jié)。
鄭鼎PLC編程,鄭鼎侯PLC編程培訓(xùn),PLC編程,PLC編程培訓(xùn),自動化編程,小白學(xué)PLC編程,零基礎(chǔ)學(xué)PLC編程