qiaoshougang
級(jí)別: 略有小成
![]() |
如題,已知 MW118 中的內(nèi)容就是數(shù)據(jù)塊DB1中的地址,F(xiàn)在要將這個(gè)地址中的數(shù)據(jù)取出放到MD120中,該怎樣操作?【數(shù)據(jù)塊DB1中的數(shù)據(jù)都是浮點(diǎn)型的】 OPN DB 1 L DBD[MW118 T MD 120 以上編程不能通過,但是用 OPN DB 1 L DBD[MD118] T MD 120 可以通過,但是仿真時(shí)CPU是STOP狀態(tài),本人剛接觸S7-300PLC,小白一個(gè),望各位大佬賜教,謝謝! |
|
---|---|---|
|
cvlsam
富士低壓,POD(觸摸屏),PLC專賣
級(jí)別: VIP會(huì)員
![]() ![]() ![]() ![]() |
MD118與MD120發(fā)生了地址重疊 MD118由MW118,MW120組成,MD120由MW120與MW122組成。 造成CPU進(jìn)入STOP狀態(tài)可能是地址重疊后,導(dǎo)致間接尋址越界,你可以診斷模塊看看是不是OB121塊沒有導(dǎo)致進(jìn)入STOP狀態(tài)的。 例:訪問DB1.DBD100中的數(shù)據(jù) L L#100 SLD 3 //左移3位,形成指針格式,用于間接尋址。 T MD116 OPN DB1 L DBD[MD116] T MD120 Good Luck~ |
---|---|
本帖最近評(píng)分記錄: |
cvlsam
富士低壓,POD(觸摸屏),PLC專賣
級(jí)別: VIP會(huì)員
![]() ![]() ![]() ![]() |
MD116中的數(shù)據(jù)必須是X.X格式,也就是左移3位或者乘以8后的數(shù)據(jù),只能是這樣~ ![]() |
---|---|
|
cvlsam
富士低壓,POD(觸摸屏),PLC專賣
級(jí)別: VIP會(huì)員
![]() ![]() ![]() ![]() |
如果僅僅是為了防止PLC進(jìn)入停機(jī)狀態(tài),那么一個(gè)空的OB121足以…… |
---|---|
|
cvlsam
富士低壓,POD(觸摸屏),PLC專賣
級(jí)別: VIP會(huì)員
![]() ![]() ![]() ![]() |
仍然請(qǐng)進(jìn)行模塊診斷并貼出診斷信息。 Good Luck~ |
---|---|
|
cvlsam
富士低壓,POD(觸摸屏),PLC專賣
級(jí)別: VIP會(huì)員
![]() ![]() ![]() ![]() |
很明顯,地址越界…… |
---|---|
|
cvlsam
富士低壓,POD(觸摸屏),PLC專賣
級(jí)別: VIP會(huì)員
![]() ![]() ![]() ![]() |
解決你的程序,那是你的編程錯(cuò)誤,增加對(duì)數(shù)據(jù)塊長度的檢測(cè),然后通過比較指令將你的尋址范圍控制在可控范圍內(nèi)…… Regards |
---|---|
|
cvlsam
富士低壓,POD(觸摸屏),PLC專賣
級(jí)別: VIP會(huì)員
![]() ![]() ![]() ![]() |
唉~~~~~ 數(shù)據(jù)塊長度檢測(cè)并不是通過頁面設(shè)定,而是通過編程來決定的。 通過裝入DBLG來得到數(shù)據(jù)塊的長度,因?yàn)殚L度的反饋值為字節(jié),因此,如果你的數(shù)據(jù)塊的數(shù)據(jù)為4個(gè)字節(jié)的Real類型的話,你就要除以4,那就是一個(gè)塊中的最大尋址,然后用比較去控制你的尋址指針。 正如你表示的,不超過255,可是,你顯示的數(shù)據(jù)塊中數(shù)據(jù)才51條,你尋址尋址52就越界,Ok? 對(duì)于這個(gè)問題已經(jīng)討論的足夠深度了,你或許的編程水平還沒有達(dá)到這個(gè)水平,你需要花足夠的時(shí)間參閱StL手冊(cè)。 Regards |
---|---|
|