參考價(jià): | 面議 |
- 6ES72887DP010AA0 產(chǎn)品型號(hào)
- 西門子/SIEMENS 品牌
- 經(jīng)銷商 廠商性質(zhì)
- 上海市 所在地
訪問次數(shù):328更新時(shí)間:2018-03-28 13:46:37
專業(yè)銷售西門子S7- 200/300/400/1200/1500PLC,ET200分布式I/O:ET200S、ET200M、ET200SP、ET200PRO、
3RW系列軟啟動(dòng)器(3RW30/3RW40/3RW44/3RW31)、3RK系列電機(jī)啟動(dòng)器、數(shù)控系統(tǒng)、
變頻器、(MM420/MM430/MM440/S110/S120/G120/G120C/V10/
西門子6ES72887DP010AA0
西門子6ES72887DP010AA0
FAQ ID 771569 解釋了可能會(huì)此錯(cuò)誤的原因。該條目中描述了當(dāng)使用SFC Type時(shí)代碼超出64Kbyte的解決。用戶在步處理中組態(tài)了太多的或在條件跳轉(zhuǎn)中加入了過多的條件。
圖 01
然而,該錯(cuò)誤消息并不指示那個(gè) Block(SFC type)了此錯(cuò)誤,此指導(dǎo)說明則可以指導(dǎo)用戶進(jìn)行錯(cuò)誤診斷。
1. "Generate SCL source"選項(xiàng),重新編譯程序
- 在CFC編輯器中通過菜單"Chart > Compile > Charts as Program..." 打開 "Compile program" 對(duì)話框
- 選擇"Entire Program"的編譯,同時(shí) "Generate SCL source" 選項(xiàng)。"OK"重新編譯程序。
圖 02
注意
在老版本的PCS7中,"Generate SCL source" 選項(xiàng)在編譯對(duì)話框中是不可選擇的。在此情況下,SCL源文件將會(huì)自動(dòng)生成。
2. 打開并編譯生成的SCL源文件
- 在SIMATIC Manager中切換到組件視圖。在組件視圖下導(dǎo)航到 "Sources" 文件夾,找到 "@SCLFileFromCFC_SFC_1" 文件。
圖 03
- 雙擊該文件或通過右鍵菜單"Open Object"打開SCL源代碼。
- 使用菜單"File > Compile" 編譯源文件。此時(shí)將彈出 "Overwrite Blocks" 窗口, "All" 確認(rèn)。
- 編譯源代碼完成操作。
注意
編譯中,詳細(xì)的信息將顯示在SCL編輯器的錯(cuò)誤窗。
3. 評(píng)估詳細(xì)的編譯日志
在這一步中即可以確定程序代碼超出 64K byte 的SFC type名。而且還可以確定出,SFC type中到底是因?yàn)槊恳徊街薪M態(tài)了過多的還是切換條件中輸入了太多的條件了該錯(cuò)誤的發(fā)生。
在編譯日志中使用搜索功能搜索錯(cuò)誤
在SCL編輯器中切換到 "Errors" 窗口并到編譯日志的起始位置。從編譯日志的頂部到底部,搜索錯(cuò)誤信息。
注意
錯(cuò)誤條目將以字符 "E:"起始,條目將以 "W:"起始。
如果在程序中沒有其他的錯(cuò)誤信息,那么上面描述的條錯(cuò)誤條目即為錯(cuò)誤信息。
在編譯中,如果有錯(cuò)誤的話,則功能塊 (功能塊號(hào))會(huì)立即顯示在錯(cuò)誤消息上。你需要注意該功能塊號(hào)。
圖 04
在SCL源文件中搜索該錯(cuò)誤功能塊號(hào)
切換到SCL編輯器,并將鼠標(biāo)定位在SCL源代碼的起始位置。打開 "Find and Replace" 對(duì)話框。在 "Find what"中輸入在錯(cuò)誤日志中查找到的錯(cuò)誤功能塊號(hào)的搜索的內(nèi)容。 "Find" 按鈕執(zhí)行查找功能。指針將跳轉(zhuǎn)到出錯(cuò)功能塊定義的地方。如果該功能塊是SFC type的一部分,則會(huì)在注釋中顯示該SFC type的符號(hào)名。注意這個(gè)名字。
圖 05
注意
如果在SCL編輯器的錯(cuò)誤窗口的錯(cuò)誤消息中,雙擊該功能塊號(hào),則指針將自動(dòng)跳轉(zhuǎn)到相應(yīng)的功能塊。這樣可以省去你使用上述搜索的。
搜索SCL源代碼中缺陷功能塊的使用
重復(fù)上述搜索操作,直到指針跳到該功能被調(diào)用的程序段。 在該行的上一行中將有注釋行,用于指示該功能塊是用于處理還是切換條件。
圖 06
注意
無論在Simatic Manager中設(shè)置的語言為何種語言,SCL源代碼中顯示的注釋總是為德文。 "Aufruf AktionsFC ..." 表示處理,"Aufruf TransitionsFC ..." 表示處理切換條件 (通過分析有缺陷的功能塊的功能部分,就可以確定是處理的代碼部分還是處理切換條件的代碼部分。
在SCL源代碼中將指針到功能塊的調(diào)用處,注意調(diào)用的功能塊號(hào)。
圖 07
注意
你也可以使用 "Find and Replace" 功能來跳轉(zhuǎn)到該功能塊的起始位置, 使用向下搜索 "FUNCTION" 關(guān)鍵字,指針即可跳轉(zhuǎn)到功能塊的起始位置。
4. 檢查功能塊號(hào)
再Simatic Manager切換到組件視圖。在"Details"下,SFC type的塊名的前八個(gè)字符加上功能塊號(hào)將顯示在"Name (Header)" 列中。
圖 08
功能塊號(hào)在配置SFC type時(shí)即被分配。
圖 09
評(píng)估代碼所能的范圍
根據(jù)64 Kbyte容量溢出的原因,必須通過每一步中的代碼或切換調(diào)條件的處理來指令數(shù)。為了評(píng)估步中可以削減的指令的個(gè)數(shù),用戶可以將步的順序一分為二,然后執(zhí)行編譯。這樣可以一半的步和切換條件。在執(zhí)行該操作之前,好對(duì)相關(guān)的block或整個(gè)項(xiàng)目預(yù)*行備份。
如果削減了代碼后編譯時(shí),還是指示代碼超出 64K byte的,那么需要重復(fù)上述步驟。如果編譯成功執(zhí)行,則表示 64 Kbyte代碼的的錯(cuò)誤已經(jīng)被排除。然后,用戶即可在SIMATIC Manager中參考Block文件夾下該SFC type的相關(guān)功能塊的大小。 詳細(xì)信息可參考網(wǎng)上FAQ ID 24411054。通過對(duì)SFC進(jìn)行分隔的及終的功能塊大小,用戶可以大概測(cè)定每次消減的代碼量。
代碼削減估算
實(shí)際的問題并不是通過簡(jiǎn)單的步和切換條件了解決的,F(xiàn)AQ Entry 24412494 紹了可能的修式。
注意
在完成編輯大型的SFC type之前,就應(yīng)該對(duì)S7程序進(jìn)行編譯。進(jìn)行臨時(shí)的編譯可以決定將要設(shè)計(jì)的SFC type的功能塊的大小。這樣將方便用戶盡早的發(fā)現(xiàn)可能存在的代碼超過64 Kbyte的問題。