西門子802D數(shù)控系統(tǒng)啟動不了維修
編輯期間,可以在任何時間保存程序源文件,即使程序還沒有完成。只有在源文件編譯之后,程序編輯器才生成存儲在Blocks(塊)容器中的塊。如果在SCL源文件中使用了全局符號,在編譯時完整的符號表必須是有效的。
在“Compiler(編譯器)”選項卡上選擇Options→Customize,在其他項中可以作下列設(shè)置:
●創(chuàng)建對象代碼
選擇此項后,在無錯編譯后產(chǎn)生塊;否則,檢查程序源文件,修改語法,不產(chǎn)生
塊。
●優(yōu)化對象代碼
根據(jù)存儲器要求和運行時間,優(yōu)化生成的塊。
●監(jiān)視數(shù)組限制
這將引起編輯器生成附加代碼,允許在運行期間檢查,例如數(shù)組。
●創(chuàng)建調(diào)試信息
如果仍需用程序狀態(tài)調(diào)試已編譯的程序,選擇此項(但這會增加存儲器需要和程
序執(zhí)行時間)。
●設(shè)置OK標志
如果在程序中使用OK變量或EN/ENO機理,必須設(shè)置這一項。
打開程序源文件,選擇File→Compile開始編譯。將編譯所有位于程序源中沒有錯誤的塊,任何有錯誤的塊不能編譯。如果發(fā)出警告,塊一定能編譯,可是不能保證在CPU中正確執(zhí)行。如果想要編譯源文件中的所選塊,請選擇File→Compile Selected Blocks。
被調(diào)用塊必須作為已編譯塊已經(jīng)存在,或者調(diào)用之前它們已經(jīng)在程序源文件中存在。SCL編譯器會自動創(chuàng)建任何遺漏的功能塊調(diào)用時的實例數(shù)據(jù)塊。DB數(shù)來自符號表,或者小的自由數(shù)被選擇了。
在*層調(diào)用級調(diào)用的標準塊(例如IEC功能塊)是在編譯時從標準庫復(fù)制到Blocks(塊)容器中的。
選擇PLC→Download把所有已經(jīng)生成的塊加載到CPU,或者自動從標準庫復(fù)制到上次編譯的程序Blocks(塊)容器中。
Rewiring(重新配線)功能允許在分別編譯的塊或整個用戶程序中替換地址。例如,可以用輸入位I 16.0~1 16.7替換I 0.0~I 0.7。允許替換的地址有輸入、輸出、存儲位、定時器和計數(shù)器以及功能塊FC和FB。
在SIMATIC管理器中選擇要重新配線的對象,可以選擇單一的塊,可以按住Ctrl鍵單擊鼠標來選擇一組塊,或者選擇整個用戶程序的塊。選擇Options→Rewire可以得到一個表,輸入要替換的舊地址和新地址,用“OK”確認后,SIMATIC管理器就交換這些地址。
在給塊重新配線時,先改變塊的編號,然后執(zhí)行重新配線來改變相應(yīng)的調(diào)用。如果給功能塊重新配線,它的實例數(shù)據(jù)塊自動分配給重新配線的功能塊,而數(shù)據(jù)塊的編號不變。
重新配線后將給出一個信息文件,說明哪些塊有改變,改變了多少。
重新配線后,參考數(shù)據(jù)不再更新,必須重新生成。
注意:重新配線只在已編譯的塊中完成,如果有程序源,則不做修改。
重新配線的其他方法有:
●對于已編譯的塊,使用Address priority(地址優(yōu)先級)功能。
●對于符號尋址和基于程序源的編程,編譯前改變符號表,編譯后得到“已重新配線”的程序。
選擇Source files(源文件)容器,用Insert→S7 Software→SCL Source File在SIMATIC管理器中創(chuàng)建一個新的SCL源文件。在源文件上雙擊打開它。
在“Editor(編輯器)”和“Format(格式)”選項卡上用Options→Customize設(shè)置在程序編輯器中源文件的編輯。為了更清楚地顯示程序文本可以縮進文本塊、顯示行數(shù),并且對文本中關(guān)鍵詞、注釋或全局符號選擇不同的字體和顏色。
用Insert→Block Call在程序源的光標處插入調(diào)用一個存在的塊(用戶或系統(tǒng)塊)。用Insert→Block Template→…很容易創(chuàng)建一個新塊,用Insert→Control Structure→…可以在程序源文件的光標位置插入現(xiàn)有的程序結(jié)構(gòu)。
如果已經(jīng)用另一個編輯器創(chuàng)建了SCL源文件,在SIMATIC管理器下用Insert→External Source可以把它取到Source files(源文件)容器中。用Edit→Export Source可以把選擇的源文件復(fù)制到所選文件夾(目錄)中。
面向源文件編程時,必須注意某些規(guī)則,使用用于編譯器的關(guān)鍵詞。
通過打開已編譯的SCL塊或者SCL源文件,或者在Windows任務(wù)欄選擇Start→SIMATIC→STEP 7→S7-SCL-Program S7 Blocks,在SIMATIC管理器中啟動SCL程序編輯器。
用已編譯的塊啟動時,如果程序編輯器沒有發(fā)現(xiàn)相關(guān)的程序源文件,例如文件已經(jīng)刪除了或替換了,將用STL打開塊。但是,一旦把塊寫回,即使沒有變化,它也是對SCL程序編輯器“不可使用的”。
可以用Options→Customize把SCL程序編輯器的特性設(shè)置成適合于用戶自己的需要。在“Editor(編輯器)”選項卡上選擇創(chuàng)建和顯示新塊的特性,例如顯示行數(shù)字。

塊比較可以發(fā)現(xiàn)兩個塊的不同之處。比較的塊可以在不同項目、不同目標系統(tǒng)(CPU)中,或者在一個項目和目標系統(tǒng)中。
在程序編輯器中,用Options→Compare on-/offline partners來比較打開的塊和CPU中或項目中的相同塊。比較結(jié)果顯示在編輯器窗口的內(nèi)容區(qū)中,在“7:Comparison(比較)”選項卡中。
在SIMATIC管理器中標記Blocks(塊)對象,或僅標記要比較的塊,然后選擇Options→Compare Blocks。可以在在線和離線(ONLINE/OFFLINE)數(shù)據(jù)管理之間,或兩個項目之間(路徑1/路徑2)進行比較。通過整個程序的比較,包括變量表和用戶數(shù)據(jù)類型,使系統(tǒng)數(shù)據(jù)*。使用“Execute code comparison(執(zhí)行代碼比較)”進一步比較塊的程序代碼,即使被比較的塊是用不同語言生成的。
比較包括塊的全部數(shù)據(jù),甚至包括程序代碼和接口的時間標記。如果要知道程序代碼是否與塊的特性無關(guān),可以比較塊的校驗和,在塊比較結(jié)果窗口內(nèi)選擇“Details(詳細)”按鈕來完成。
對于遞增編程,可以在在線和離線的Blocks(塊)容器中編輯塊。在遞增模式下,一旦終止程序行,編輯器就檢查輸入的內(nèi)容。塊一關(guān)閉就立即編譯,所以只有沒有錯誤的塊才能保存。
在“Create Block(創(chuàng)建塊)”選項卡上,用Options→Customize設(shè)置在保存塊時自動更新參考數(shù)據(jù)。
可以在編程設(shè)備的數(shù)據(jù)庫上離線編輯塊,也可以在CPU(一般稱為“可編程序控制器”或“PLC”)上在線編輯。為此,SIMATIC管理器提供離線窗口和在線窗口,二者的區(qū)別是標題欄的標記。
在離線窗口中,直接在PG數(shù)據(jù)庫中編輯塊。在編輯器中,可以用File→Save將修改過的塊保存到離線數(shù)據(jù)庫中,也可以用PLC→Download傳送到CPU中。如果要將一個打開的塊用另一個編號保存或保存在不同的項目中,或者要將它傳送到庫或其他CPU中,用菜單命令File→Save As。
要在CPU內(nèi)編輯一個塊,可在在線窗口內(nèi)打開它,把塊從CPU傳送到編程設(shè)備中進行編輯??梢杂?/span>PLC→Download把編輯好的塊寫回到CPU。如果CPU在運行模式下,將在下一個程序掃描周期內(nèi)處理這個已編輯的塊。如果要將在線編輯的塊保存到離線數(shù)據(jù)庫中,用File→Save。
在“Sources(源)”選項卡上用Options→Customize用戶可以選擇“Generate source automatically(自動生成源)”,這樣,在保存一個(遞增創(chuàng)建)的塊時,就更新程序源文件。如果源文件不存在,就創(chuàng)建一個。可以從地址或符號地址導(dǎo)出新的源文件名。如果在Block(塊)容器中,地址優(yōu)先級設(shè)置為“符號優(yōu)先”,符號地址可以導(dǎo)入(若設(shè)置了“值優(yōu)先”,在源中既可以選擇尋址,也可以選擇符號尋址。
在編輯期間,可以在任何點保存程序源,即使程序還沒有完整。源文件編譯完后,程序編輯器才生成可執(zhí)行塊,并把它存儲到Blocks(塊)容器中。如果在STL源文件中使用了全局符號,編譯時完整的符號表必須有效。
在“Source Files(源文件)”選項卡上選擇Options→Customize設(shè)置編譯器的特性,例如只有當整個程序源沒有錯誤時,才能改寫存在的塊或生成塊嗎?在“Generate Block(生成塊)”選項卡上用戶可以在編譯塊時自動更新參考數(shù)據(jù)。
選擇File→Check Consistency,在編譯塊之前檢查程序源并修改語法。
程序源打開時,選擇File→Compile開始編譯。程序源中所有沒有錯誤的塊都得到編譯,任何有錯誤的塊均不能編譯。如果產(chǎn)生警告,將總要編譯塊,但是在CPU中執(zhí)行可能不是無錯誤的。
被調(diào)用塊必須作為已編譯好的塊存在或在調(diào)用之前必須在程序源中存在。

西門子802D數(shù)控系統(tǒng)啟動不了維修