編譯地址超出范圍
『壹』 西門子s7 200plc程序無法下載
PLC編譯和運行時間錯誤
錯誤總結
編譯和運行時間錯誤屬於非嚴重錯誤。非嚴重錯誤可能降低PLC的某些性能,但不會阻止PLC執行用戶程序或更新I/O。
?運行時間錯誤是在RUN(運行)模式中檢測到的非嚴重錯誤,在程序可監控和評估的特別內存(SM)位中反應。(欲了解有關這些SM位的詳情,請參考PLC非嚴重錯誤內存位置。)啟動時,PLC讀取I/O配置,並將該信息存儲在SM內存中。在正常操作過程中,會定期更新I/O狀態並將其存儲在SM內存中。如果PLC檢測到I/O配置的區別,則會設置模塊錯誤位元組的配置改變位;直至配置改變位被重設I/O模塊才會更新。PLC欲重設配置改變位,模塊I/O必須再次與存儲在系統數據內存中的I/O配置相匹配。
?運行時間編程錯誤是在執行程序的過程中,您或程序造成的非嚴重錯誤條件。例如,一個編譯程序時有效的間接地址指針被程序執行修改為指向超出范圍的地址。使用PLC > 信息命令確定出現的錯誤類型。
?只有通過修改用戶程序才能糾正運行時間編程錯誤。運行時間編程錯誤在下一次從STOP(停止)模式轉換為RUN(運行)模式時會被清除。
?在PLC編譯程序時在下載中檢測到編譯錯誤(或程序編譯錯誤)。如果存在編譯錯誤,編譯會暫停,並檢索先前的程序(該程序自從先前編譯以來為有效程序)。所有這些步驟均在PLC位於STOP(停止)模式時進行。可使用PLC > 信息吤釹允頸嘁氪砦蟆?
十六進制錯誤代碼 編譯錯誤(非嚴重)
0080 程序過大,CPU無法生成可執行代碼;請縮小程序大小
0081 堆棧下溢;將網路分成多個網路
0082 非法指令;檢查指令助記符
0083 缺少MEND,或主程序中不允許存在指令;增加MEND指令或移除不正確的指令
0084 保留
0085 缺少FOR;增加FOR指令或刪除NEXT指令
0086 缺少NEXT;增加NEXT指令或刪除FOR指令
0087 缺少標簽(LBL、INT、子程序);增加適當的標簽
0088 缺少RET或子程序中不允許存在指令;在子程序結尾處增加RET或移除不正確的指令
0089 缺少RETI或中斷例行程序中不允許存在指令;在中斷例行程序結尾處增加RETI或移除不正確的指令
008A 保留
008B 至SCR段非法JMP或從SCR段非法JMP
008C 重復標簽(LBL、INT、SBR);為其中一個標簽重新命名
008D 非法標簽(LBL、INT、SBR);核實未超出允許使用的標簽數
0090 非法參數;核實指令允許使用的參數
0091 范圍錯誤(包括地址信息);檢查操作數范圍
0092 指令計數域存在錯誤(包括計數信息);核實最大計數
0093 超過 FOR/NEXT嵌套層數
0095 缺少LSCR指令(載入SCR)
0096 缺少SCRE指令(SCR結束)或在SCRE前出現不允許使用的指令
0097 用戶程序包含不帶號碼及帶號碼的EU/ED指令
0098 嘗試在配備不帶號碼EU/ED指令的程序中執行運行時間編輯
0099 過多隱含程序段
009B 非法索引(字元串操作,已指定該操作中的一個起始位置數值0)
009C 超出最大指令長度
009D SDB0內檢測到非法參數
十六進制錯誤代碼 運行時間編程故障(非嚴重)
0000 無錯誤
0001 在執行HDEF方框之前啟用HSC方框
0002 輸入中斷分配沖突,分配至已經分配給HSC的點
0003 輸入分配沖突,分配至已經分配給輸入中斷或其他HSC的HSC
0004 嘗試在中斷例行程序中執行 ENI、DISI或HDEF指令
0005 嘗試在完成第一個HSC/PLS之前執行第二個帶有相同號碼的HSC/PLS,與主程序中的HSC/PLS發生中斷例行程序沖突
0006 間接編址錯誤
0007 TODW(日寫入時間)或TODR(日讀取時間)數據錯誤
0008 超出最大用戶子程序嵌套層數
0009 在埠0中同時執行XMT/RCV指令
000A 嘗試通過執行另一條用於相同HSC的HDEF指令重新定義HSC
000B 在埠1中同時執行XMT/RCV指令
000C 時鍾盒不存在
000D 嘗試重新定義現用脈沖輸出
000E PTO概況段號被設為0
000F * 在比較觸點指令中遇到非法數字數值
0010 當前PTO操作模式不允許的命令
0011 非法PTO命令代碼
0012 非法PTO輪廓表
0013 非法PID迴路表
0091 范圍錯誤(包括地址信息);檢查操作數范圍
0092 指令計數域錯誤(包括計數信息);核實最大計數
0094 用地址信息向非易失性內存寫入范圍錯誤
009A 在用戶中斷中嘗試轉入自由埠模式
009B 非法索引(字元串操作,已指定該操作中的一個起始位置數值0)
*比較觸點錯誤是唯一生成嚴重和非嚴重條件的錯誤。
生成非嚴重錯誤條件的原因是保存錯誤的程序地址。
另請參閱:
PLC非嚴重錯誤內存位置
