下面一段程序如果最后一條指令前面沒有注釋符號(hào)“//”,在下載后不能成功地切換到運(yùn)行模式,sf燈亮。
最后一條指令加上注釋號(hào)(該指令不起作用),運(yùn)行出錯(cuò)時(shí)在cpu模塊信息的診斷緩沖區(qū)中,有下面的診斷信息:
事件8 / 15: 事件id 16# 2523
寫入時(shí)發(fā)生區(qū)域長度錯(cuò)誤
全局db,雙字訪問,訪問地址:65532
ob 編號(hào): 1
模塊地址: 30
所需的ob:編程錯(cuò)誤ob (ob121)
在當(dāng)前工作模式下,ob 未找到、或被禁用、或無法啟動(dòng)
內(nèi)部錯(cuò)誤, 進(jìn)入的事件
08:55:02.726 2011-11-23
錯(cuò)誤的原因是未給mw50賦值,其值為0,下面的減法運(yùn)算結(jié)果為16#ffff:
l mw 50
l 1
-i
導(dǎo)致最后一條間接尋址指令“ t dbd [ar1,p#0.0]”的地址值遠(yuǎn)遠(yuǎn)地超出了db1定義的范圍(200字節(jié))。
值得注意的是必須用“//”臨時(shí)將最后一條指令屏蔽,才能對(duì)程序進(jìn)行監(jiān)控,從而發(fā)現(xiàn)問題。











