cvlsam
富士低壓,POD(觸摸屏),PLC專賣
級別: VIP會員
|
很明顯,地址越界…… |
---|---|
|
qiaoshougang
級別: 略有小成
|
謝謝回答,就是這個錯誤,可是怎么弄才能解決這個問題呢?我弄了好長時間了,望賜教,謝謝!! |
|
---|---|---|
|
cvlsam
富士低壓,POD(觸摸屏),PLC專賣
級別: VIP會員
|
解決你的程序,那是你的編程錯誤,增加對數(shù)據(jù)塊長度的檢測,然后通過比較指令將你的尋址范圍控制在可控范圍內(nèi)…… Regards |
---|---|
|
qiaoshougang
級別: 略有小成
|
首先謝謝指教! 1.數(shù)據(jù)塊長度檢測: 2.尋址范圍絕對超不過255 一個字節(jié) 是否是因為 L MD 116 SLD 3 //左移3位,形成指針格式,用于間接尋址。 T MD 120 OPN DB 1 L DBD [MD 120] T MD 124 中的MD 120 本身是一個32位的數(shù)據(jù)?而CPU誤以為越界了呢?請指教.......謝謝! |
|
---|---|---|
|
cvlsam
富士低壓,POD(觸摸屏),PLC專賣
級別: VIP會員
|
唉~~~~~ 數(shù)據(jù)塊長度檢測并不是通過頁面設(shè)定,而是通過編程來決定的。 通過裝入DBLG來得到數(shù)據(jù)塊的長度,因為長度的反饋值為字節(jié),因此,如果你的數(shù)據(jù)塊的數(shù)據(jù)為4個字節(jié)的Real類型的話,你就要除以4,那就是一個塊中的最大尋址,然后用比較去控制你的尋址指針。 正如你表示的,不超過255,可是,你顯示的數(shù)據(jù)塊中數(shù)據(jù)才51條,你尋址尋址52就越界,Ok? 對于這個問題已經(jīng)討論的足夠深度了,你或許的編程水平還沒有達(dá)到這個水平,你需要花足夠的時間參閱StL手冊。 Regards |
---|---|
|
qiaoshougang
級別: 略有小成
|
嘿嘿,首先我承認(rèn)我的水平一般(剛開始學(xué)習(xí)西門子PLC),的確小白一個, 可是:我確定MD116中的數(shù)據(jù)不會超過204的 即使MD116中的數(shù)據(jù)是4,還是不行,但是讀取MD124中的數(shù)據(jù)是正確的,如圖: |
|
---|---|---|
|