西門子840D系統(tǒng)OP操作面板上的燈不停的閃爍

一、創(chuàng)建STEP 7項(xiàng)目
為了完成轉(zhuǎn)換,需要創(chuàng)建一個適合目標(biāo)系統(tǒng)(PLC)結(jié)構(gòu)的STEP 7項(xiàng)目(如果還沒有創(chuàng)建一個STEP 7項(xiàng)目,為了弄清楚S7模塊地址)。如果想改變模塊地址,為模塊設(shè)定參數(shù)或者改變CPU的執(zhí)行屬性,則需要一個硬件組態(tài)(這是一個完整的安裝項(xiàng)目)。如果模塊屬性的默認(rèn)設(shè)置無法改變,則創(chuàng)建一個獨(dú)立于模塊的程序就足夠了。
□創(chuàng)建一個站(S7-300或者S7-400),打開對象Hardware(硬件)并對硬件進(jìn)行組
態(tài)。在硬件組態(tài)(比如,中斷OB的數(shù)目)里也能設(shè)置CPU的特性。與CPU一起,
SIMATIC管理器也建立了低層容器。
□在Sources選項(xiàng)卡下,通過Insert→External Source File將轉(zhuǎn)換產(chǎn)生的文件名為
AC.AWL文件插入到源程序區(qū)。
□如果程序包含S5標(biāo)準(zhǔn)塊,打開在Standard Library(標(biāo)準(zhǔn)庫)下面的S5/S7
Converting Blocks(S5/S7轉(zhuǎn)換塊)的庫,并且復(fù)制在轉(zhuǎn)換過程中塊列表中用星號
標(biāo)記的S7標(biāo)準(zhǔn)塊,放到離線狀態(tài)下項(xiàng)目里的用戶程序Blocks(塊)中。如果在轉(zhuǎn)
換程序里用S7系統(tǒng)塊(比如SFC 20 BLKMOV)打開System Function Blocksc系
統(tǒng)功能塊)庫,將所使用的系統(tǒng)塊復(fù)制到離線狀態(tài)下的用戶程序Blocks(塊)
中。
□如果用符號編程,打開(空的)符號表Symbols,通過Symbol Table→import導(dǎo)入
轉(zhuǎn)換后的系統(tǒng)塊文件名S7.SEQ。
這些準(zhǔn)備工作完成之后,可以在編譯源文件之前處理源文件了(如果在編譯之前更正所有的錯誤,可以減少出錯信息的數(shù)量)。
二、不可轉(zhuǎn)換的功能
轉(zhuǎn)換之后,通常應(yīng)該后置編輯源文件。這些將影響表32-4中所列的語句表。
三、地址變化
地址的改變從根本上影響輸入和輸出模塊。在某些情況下,必須采取像存取輸入、輸出以及直接外圍I/O存取那樣,訪問(新的)模塊地址??梢栽谵D(zhuǎn)換之前在STEP 5文件(如果地址與STEP 5相配)中對此進(jìn)行匹配,或者通過應(yīng)用編輯器中的“Replace”(代替)功能來幫助交換S7源文件中的地址(如果新舊地址區(qū)交疊,請慎用)。
在用符號地址編程的情況下,也可以用符號地址產(chǎn)生一個源文件,改變符號表里的地址,然后進(jìn)行編譯。步驟如下:
□所需要的是一個符號表,表中有所有需要更改的地址的符號,還有一個沒有
錯誤的已編譯程序(塊中地址的出現(xiàn)必須在編譯模式下可用)。
口將編輯器設(shè)為符號尋址:選擇Options→Customize顯示一個對話框;在“Editor”
(編輯器)選項(xiàng)卡中選擇選項(xiàng)Symbolic Representation。
□通過File→Generate Source File,使用編輯器創(chuàng)建一個新的源文件。在鍵入文件名
之后,選擇窗口中的所有想使用符號尋址的源文件的塊。這樣,新的源文件就包
含了具有符號尋址的語句。
□從(舊)S5到(新)S7,更正所有在符號表中的地址。
□如果現(xiàn)在編譯新的源文件,那么地址就包含在編譯的塊里邊。
四、間接尋址
轉(zhuǎn)換器能通過STEP 7語句識別DO MW和DO DW間接尋址。然而,還是有必要將指針轉(zhuǎn)換成STEP 7格式,在連接累加器內(nèi)容緩沖器和狀態(tài)字的時候會導(dǎo)致內(nèi)存需求量的增加。
使用較少的語句和較清晰的程序結(jié)構(gòu),用戶通常都可以用合適的編程執(zhí)行間接尋址操作。無論是存儲器間接尋址還是寄存器間接尋址。
如果間接尋址經(jīng)常發(fā)生,STEP 7編程就顯出了它的優(yōu)勢。
□定時器、計(jì)數(shù)器和塊的間接尋址
這個將轉(zhuǎn)換成應(yīng)用暫態(tài)局部數(shù)據(jù)字的存儲器間接尋址。
□塊的間接尋址
新的塊編號的分配不能計(jì)算在內(nèi)(手動更正)。
□間接尋址

用AR1、STW緩沖器、暫態(tài)局部數(shù)據(jù)中的累加器1和2轉(zhuǎn)換位方式和字方式。
□通過BR寄存器間接尋址
沒有轉(zhuǎn)換的可能性,通過地址寄存器手動修改。
□其他間接尋址
必須手動修改。
轉(zhuǎn)換器將二進(jìn)制邏輯運(yùn)算、存儲器功能、加載和傳送功能的DO MW和DO DW間接尋址轉(zhuǎn)換成為STEP 7程序。STEP 5指針必須轉(zhuǎn)換成STEP 7區(qū)內(nèi)指針的格式(帶有累加器內(nèi)容緩沖器和狀態(tài)字)。結(jié)果會是很長的語句序列(見示例)。
如果在程序中大量地使用了間接尋址,手動轉(zhuǎn)換是有很大優(yōu)勢的。作為指示寄存器,可以自由訪問兩個地址寄存器AR1和AR2(在功能FC里)。同樣可以像在STEP 5里那樣,對存儲器位或間接存儲數(shù)據(jù)進(jìn)行編址,但是需要在每個指示寄存器中用一個雙字來替代一個字。
表32-5*欄中的例子給出部分STEP 5程序,用這些程序和帶有輸入字的位模式數(shù)據(jù)域作比較。如果它們相同,則相應(yīng)的存儲器位被置位。第二欄包含了轉(zhuǎn)換后的程序,有了兩個地址寄存器,可以用很少的語句寫出一個直接可比較的程序。
表32-5 間接尋址轉(zhuǎn)換
首先,用指針加載地址寄存器(考慮數(shù)據(jù)的字節(jié)地址)。然后,對數(shù)據(jù)字和存儲器位的訪問是寄存器間接尋址的。在每次比較完成之后,地址寄存器AR1增加兩個字節(jié),地址寄存器AR2增加一位(字節(jié)地址轉(zhuǎn)換被忽略)。在例子中,數(shù)據(jù)字的指針如在STEP 5中一樣作為中斷點(diǎn),在這點(diǎn)上STEP 7提供了循環(huán)跳轉(zhuǎn)LOOP的應(yīng)用。

五、訪問“太長的”數(shù)據(jù)塊
訪問“太長的”數(shù)據(jù)塊,是指訪問具有大干255字節(jié)的數(shù)據(jù)地址,在STEP 5中它是以尋址來執(zhí)行的。數(shù)據(jù)塊的地址是以開始地址加上地址偏移量計(jì)算出來的,數(shù)據(jù)地址的訪問或者是直接通過LIR/TIR,或者是通過BR寄存器的LRW/TRW實(shí)現(xiàn)。
通過STEP7,可以直接配置數(shù)據(jù)地址直到達(dá)到所循序的極限(對于S7-300是8095;S7-400是32 767)。因此,可以通過“normal”(“通常的”)STL語言的地址替代訪問。
六、用地址工作
在STEP 5中,如果在“太長的”數(shù)據(jù)塊中分配數(shù)據(jù)地址,或者用BR寄存器間接訪問地址,或者用塊傳送,那么處理一些存儲器地址是很有必要的。訪問存儲器地址在STEP 7中已不再可能,STEP地址計(jì)數(shù)器(帶有相關(guān)操作)已經(jīng)移除,而且沒有替代。
訪問“太長的”數(shù)據(jù)塊中的數(shù)據(jù)地址在STEP 7中是用“normal”(“通常的”)語句來執(zhí)行的。在這點(diǎn)上,也忽略了數(shù)據(jù)塊的計(jì)算。寄存器間接尋址的解決方法就是用BR寄存器間接尋址,如果有必要,還可以用跨區(qū)間接尋址。
系統(tǒng)功能SFC 20 BLKMOV替代了塊傳送功能。直接要復(fù)制的變量或者存儲器區(qū)域?yàn)閰?shù)。如果在運(yùn)行時內(nèi)希望改變源或者目標(biāo)區(qū)域,用一個ANY指針“變量”作為實(shí)參。
七、參數(shù)初始化
轉(zhuǎn)換器直接獲取塊調(diào)用中的實(shí)參,參數(shù)在轉(zhuǎn)換中沒有改變。如果已經(jīng)帶有一個實(shí)參的地址,檢查地址的內(nèi)容,如果必要還可以修改。
舉例:
□一個數(shù)據(jù)字?jǐn)?shù)字
必須轉(zhuǎn)換成字節(jié)尋址。
□一個I/O地址
必須使用新的模塊地址。
□傳送一個塊
必須提供新的塊編號。
八、特殊功能組織塊
在STEP 7中,可以使用系統(tǒng)功能或者STL語句來替代帶有特殊功能的組織塊(如表32-6所示)。有些功能*忽略掉了(比如頁尋址、系統(tǒng)功能訪問)。

西門子840D系統(tǒng)OP操作面板上的燈不停的閃爍