21:CPU全面復位后哪些設置會保留下來?
復位CPU時,內存沒有被完全刪除。整個主內存被完全刪除了,但加載內存中數據,以及保存在Flash-EPROM存儲卡(MC)或微存儲卡(MMC)上的數據,則會全部保留下來。除了加載內存以外,計時器(CPU 312 IFM除外)和診斷緩沖也被保留。具有MPI接口或一個組合MPI/DP接口的CPU只在全部復位之前保留接口所采用的當前地址和波特率。另一方面,另一個PROFIBUS地址也被完全刪除,不能再訪問。
重要事項:重新設置PG/PC之后,與CPU之間的通訊只能通過MPI或MPI/DP接口來建立。
22:為什么不能通過MPI在線訪問CPU?
如果在CPU上已經更改了MPI參數,請檢查硬件配置?梢詫⑦@些值與在"Set PG/PC interface"下的參數進行比較,看是否有不一致。
或者可以這樣做:打開一個新的項目,創建一個新的硬件組態。在CPU的MPI接口的屬性中為地址和傳送速度設置各自的值。將"空"項目寫入存儲卡中。把該存儲卡插入到CPU 然后重新打開CPU的電壓,將位于存儲卡上的設置傳送到CPU。現在已經傳送了MPI接口的當前設置,并且像這樣的話,只要接口沒有故障就可以建立連接。 這個方法適用于所有具有存儲卡接口的S7-CPU。
23:錯誤OB的用途是什么?
如果發生一個所描述的錯誤(見文件1),則將調用并處理相應OB。如果沒有加載該OB,則CPU進入STOP(例外:OB70、72、7 3和81)
S7-CPU可以識別兩類錯誤:
1)同步錯誤: 這些錯誤在處理特定操作的過程中被觸發,并且可以歸因于用戶程序的特定部分。
2)異步錯誤: 這些錯誤不能直接歸因于運行中的程序。這些錯誤包括優先級類的錯誤,自動化系統中的錯誤(故障模塊)或者冗余的錯誤。
24:在DP從站或CPU315-2DP型主站里應該編程哪些“故障 OBs”?
在組態一個作為從站的CPU315-2DP站時,必須在STEP7程序中編程下列OB以便評估分布式I/O類型的錯誤信息:
OB 82 診斷中斷 OB 、OB 86 子機架故障 OB 、OB 122 I/O 訪問出錯
1)診斷OB82:如果一個支持診斷,并且已經對其釋放了診斷中斷的模塊識別出一個錯誤,它既對進入事件也對外出的事件向 CPU 發出一個診斷中斷的請求。操作系統然后調用 OB82。在 OB82 自己的局部變量里包含有有缺陷模塊的邏輯基地址和 4 個字節的診斷數據。如果你還沒有編程 OB82, 則 CPU 進入“停止”模式。你可以阻斷或延遲診斷中斷 OB ,并通過 SFC 39 - 42 重新釋放它。
2)子機架故障OB86:如果識別出一個 DP 主站系統或一個分布式 I/O 站有故障(既對進入事件也對外出的事件),該 CPU 的操作系統就調用 OB 86 。如果沒有編程 OB 86 但出現了這樣一個錯誤, CPU 就進入“停止”模式。你可以阻斷或延遲 OB86 并通過 SFC 39 - 42 重新釋放它。
3)I/O 訪問出錯OB122:當訪問一個模塊的數據時出錯,該CPU的操作系統就調用OB 122。比方說,CPU在存取一個單個模塊的數據時識別出一個讀錯誤,那么操作系統就調用OB 122。該OB 122以與中斷塊有相同的優先級類別運行。如果沒有編程OB 122,那么CPU由“運行”模式改為“停止”模式。
25:為什么在某些情況下,保留區會被重寫?
在STEP 7的硬件組態中,可以把幾個操作數區定義為“保留區”。這樣可以在掉電以后,即使沒有備份電池的話,仍能保持這些區域中的內容。如果定義一個塊為 “保留塊”,而它在 CPU 中不存在或只是臨時安裝過,那么這些區域的部分內容會被重寫。在電源接通/斷開之后,其他內容會在相關區里找到。
26:為何不能把閃存卡的內容加載入S7 300 CPU?
你的項目在閃存卡上,F在要用它加載 S7-300西門子PLC 。但加載結束后發現 CPU 的 RAM 中仍是空的。 出現此問題的原因是你的程序里有無法處理的,"錯誤的"組織塊(比如說, OB86 沒有 DP 接口)。 在重新設置和重新啟動 CPU 后, RAM 仍是空的。 診斷緩沖區對這個"無法加載"的塊會提示一些信息。
27:當把 CPU315-2DP 作為從站,把 CPU315-2DP 作為主站時的診斷地址
在組態一個 CPU315-2DP 站時,你使用 S7 工具 “H/W CONFIG” 來分配診斷地址。如果發生一個故障,這些診斷地址被加入診斷 OB 的變量 “OB82_MDL_ADDR” 里。 你可在 OB82 里分析此變量,確定有故障的站并作出相應的反應。
下面是如何分配診斷地址的例子:
第 1 步: 通過 CPU315-2DP 組態從站并賦予一個診斷地址,比如 422。
第 2 步: 通過 CPU315-2DP 組態主站
第 3 步: 把組態好的從站鏈接到主站并賦予一個診斷地址,比如 1022。
28:需要為S7-300 CPU的DP從站接口作何種設置,才可以使用它來進行路由選擇?
如果使用CPU作為I-Slave,并且該CPU也起S7 路由器的作用,那么請注意如下事項:
用于路由選擇的從站的DP接口必須設置為活動狀態。這可以在HW Config中完成:在DP接口的屬性對話框中,選項" Commissioning/Test operation"或"Programming, status/modify..."必須激活。關于這些設置的注意事項可以在下表中獲得。
對于S7 路由連接,有 4 種可用的連接資源-與其它任何連接資源無關。沒有使用PG/OP的連接資源或S7基本通信。
如果必須通過DP接口來建立一個與位于其機架上的通信伙伴連接時(如在 CP 343-1 中),也要使用一個路由連接。而對于通過MPI接口與一個位于其機架上的通信伙伴的連接,則不使用路由連接資源,因為在這種情況下,能夠直接到達伙伴。注意事項:這不適用于CPU 318。
29:為什么當使用S7-300 CPU的內部運行時間表時,沒有任何返回值?
當對CPU 312IFM到316-2DP參數化系統功能塊 SFC2, SFC3 和 SFC4 時,為一個運行時間表規定了一個大于 "B#16#0"的標識符,那么將出錯并且所需的功能也無法用。 此種情況下,將在塊的" RETVAL"輸出處輸出標識符 "8080h" 。
說明:對于這些 CPU,只有一個計時器可用。因此你應該只用標識符 "B#16#0"。 在一個周期塊(OB1, OB35)里一定不能調用系統功能 SFC2 "SET_RTM",而是應該在重啟動OB(OB100)調用它。你也可以通過外部觸發器來啟動該塊。不然的話,該塊將老是復位運行計時表,永遠完成不了計數。
30:變量是如何儲存在臨時局部數據中的?
L 堆棧永遠以地址“0”開始。 在 L 堆棧中,會為每個數據塊保留相同個數的字節,作為存放每個塊所擁有的靜態或局部數據。
當某個塊終止時,那么它的空間隨之也被重新釋放出來。 指針總是指向當前打開塊的第一個字節。