1.程序的編譯
將plc程序中的指令助記符、梯形圖符號轉(zhuǎn)換為cpu機(jī)器碼的過程稱為“編譯”。通過編譯功能,可以對程序的語法、結(jié)構(gòu)以及圖形進(jìn)行一次全面的檢查。
通過主菜單選項(xiàng)“plc”一“編譯(compile)”或“全部編譯(compile all)”(見圖12-2.9),可進(jìn)行程序的編輯。
通過點(diǎn)擊工具欄的編譯、全部編譯按鈕(見圖12 -2.10),同樣可以實(shí)現(xiàn)對程序的語法、結(jié)構(gòu)的檢視。其中,“編譯”為對現(xiàn)編輯的窗口(程序塊或數(shù)據(jù)塊)的檢查:“全部編譯”為對plc全部程序(程序塊、數(shù)據(jù)塊和系統(tǒng)塊)進(jìn)行的檢查。
系統(tǒng)默認(rèn)的位置為step7的“project file”文件區(qū)或“all s7-200 projects”文件區(qū)。文件名可以根據(jù)需要進(jìn)行輸入與修改。
編譯完成后,在“輸出窗( output windows)區(qū)”可以顯示所輸入的plc程序的編譯結(jié)果、程序塊的大小、出錯(cuò)位置與錯(cuò)誤代碼等。
全部編譯器錯(cuò)誤均列在輸出窗口中,雙擊錯(cuò)誤指示,編輯器可以直接將光標(biāo)定位至錯(cuò)誤的位置(見圖12-2.11)。程序修改成功后,可以再次進(jìn)行編譯,直到錯(cuò)誤信息消失。
s7-200常見的程序編制、編譯出錯(cuò)代碼以及含義如下:
0001:所編程的高速計(jì)數(shù)器(hsc)尚未被定義;
0002:中斷輸入點(diǎn)的地址與高速計(jì)數(shù)器(hsc)沖突;
0003:高速計(jì)數(shù)器(hsc)的地址與中斷輸入點(diǎn)沖突:
0004:中斷程序中使用了eni、disi、hdef指令:
0005:高速計(jì)數(shù)器(hsc)被重復(fù)定義;
0006:使用的間接尋址方式不正確;
0008:子程序的嵌套層數(shù)過多;
0080:程序太大,無法進(jìn)行正常的編譯處理;
0081:程序網(wǎng)絡(luò)太復(fù)雜,導(dǎo)致了堆棧的溢出;
0082:程序中使用了非法的指令;
0083:缺少主程序結(jié)束指令;
0085: for、next指令未配套使用,缺少for指令;
0086: for、next指令未配套使用,缺少next指令:
0087:缺少子程序、中斷程序的編號;
0088:缺少子程序結(jié)束指令;
0089:缺少中斷程序結(jié)束指令;
0090:輸入的參數(shù)不正確:
0091:輸入的地址范圍不正確;
0092:計(jì)數(shù)器的計(jì)數(shù)值設(shè)定不正確:
0093: for、next嵌套層數(shù)過多。
2.程序的保存
程序編輯完成后,利用快捷鍵菜單“文件( file)”一“保存(save)”選項(xiàng),將當(dāng)前打開的程序以*.mwp作為擴(kuò)展名保存到指定位置。
系統(tǒng)默認(rèn)的位置為step7的“project file”文件區(qū)或“all s7-200 projects”文件區(qū)。文件名可以根據(jù)需要進(jìn)行輸入與修改。