符號(hào)表( symbol table)編輯的對(duì)象是用于整個(gè)plc程序的所有信號(hào)的符號(hào)地址的,而用于某一特殊邏輯塊的局部變量所需要的符號(hào)地址必須通過“變量聲明表(variable declarationtable)”進(jìn)行定義、編輯與添加。
1.變量聲明表的打開
打開某一邏輯塊的編輯頁面,在程序編輯區(qū)的上方將顯示“變量聲明表”的顯示頁面(見圖13-4.19)。
變量聲明表顯示頁面的左側(cè)為變量聲明表的樹狀結(jié)構(gòu)顯示,右側(cè)為對(duì)象顯示區(qū)。雙擊對(duì)象顯示區(qū)的對(duì)應(yīng)圖標(biāo),即可以打開變量聲明表的編輯頁面(見圖13-4.20)。
2.變量的分類
在step7中,局部變量按照信號(hào)的性質(zhì)與用途可以分為5種類型:
①in:輸入變量,輸入變量為邏輯塊中需要的輸入信號(hào),必須由調(diào)用該邏輯塊的其他邏輯塊提供具體的信號(hào)來源(即實(shí)際參數(shù))。
②out:輸出變量,輸出變量為邏輯塊中執(zhí)行完成的結(jié)果輸出,它可以返回給調(diào)用該邏輯塊的其他邏輯塊,結(jié)果輸出的具體位置(即實(shí)際參數(shù))由調(diào)用該邏輯塊的其他邏輯塊提供。
③in-out:輸入一輸出變量,輸入.輸出變量兼有輸入變量與輸出變量的特性,變量的原始值由調(diào)用該邏輯塊的其他邏輯塊提供,但是在執(zhí)行過程中,其狀態(tài)將被邏輯塊所修改,修改后的結(jié)果仍然返回給調(diào)用該邏輯塊的其他邏輯塊。
④temp:臨時(shí)變量(temporary data),臨時(shí)變量只是在程序執(zhí)行過程中所需要的中間狀態(tài)暫存單元,在程序執(zhí)行完成狀態(tài)不需要保存。
⑤stat:靜態(tài)變量(static data),僅用于功能塊fb,它在邏輯塊執(zhí)行完成后可以保持其狀態(tài)的不變。靜態(tài)變量只在fb的即時(shí)數(shù)據(jù)塊中使用。
3.變量聲明表的編輯
變量聲明表的編輯方法與符號(hào)表基本相同,但需要注意以下幾點(diǎn):
①不同類型的邏輯塊,可以使用的變量類型有所不同,例如,對(duì)于ob塊只使用臨時(shí)變量( temp),fc塊不使用靜態(tài)變量stat。
②變量聲明表中所顯示、定義的項(xiàng)目對(duì)于不同類型的變量有所不同,例如,對(duì)于臨時(shí)變量( temp)只有名稱(name)、數(shù)據(jù)類型(data type)、絕對(duì)地址(address)與注釋(comment)四個(gè)項(xiàng)目的內(nèi)容。
③變量聲明表的名稱(name)需要通過編輯輸入,但必須遵守前述的規(guī)則。
④變量聲明表的數(shù)據(jù)類型( data type)需要指定,可以根據(jù)需要選擇二進(jìn)制位(bool)、字節(jié)( byte)、字(word)、雙字(dword)、整數(shù)(int)、雙字長(zhǎng)整數(shù)(dlnt)、浮點(diǎn)數(shù)(real)、s5時(shí)間( s5time)等(見圖13 -4.21)。
⑤變量聲明表中局部變量的絕對(duì)地址( address)在編輯時(shí)不需要進(jìn)行輸入,step7可以根據(jù)變量的類型,自動(dòng)分配局部變量的地址給變量聲明表。
⑥局部變量絕對(duì)地址以l進(jìn)行存儲(chǔ),可以使用二進(jìn)制位信號(hào)(如lo.o等)、字節(jié)信號(hào)(如lbo等)、字信號(hào)(如lwo等)。
⑦在變量聲明表中的初始值(initial value)欄可以設(shè)定變量的初始值,編輯時(shí)一般不需要進(jìn)行
輸入,step7可以根據(jù)變量的類型,自動(dòng)生成默認(rèn)值。
變量聲明表編輯完成后,利用菜單命令“file”一“save”,可以將當(dāng)前編輯的變量聲明表連同“項(xiàng)目”一起進(jìn)行保存:同樣,利用菜單命令“file”一“save as...”選項(xiàng)可改變文件名和文件夾保存位置。