34272999
級別: 略有小成
|
無意中發現,s7-200 傳送指令MOV_W 傳送數據的時候,不能把數據傳送到連續的字里面(例如VW1,VW2)以下是我的測試程序 LD SM0.0 MOVW 1, VW1 MOVW 1, VW2 LDW= VW1, 1 = Q0.0 LDW= VW2 1 = Q0.2 這個程序我在CPU226上測試過,結果Q0.2動作,但是Q0.1不動作,但是換成不連續的字的時候,例如(VW0和VW2或者VW1和VW3)結果兩個輸出都能動作! 一直想不通這是為什么?求教!!謝謝!! |
---|---|
|
cvlsam
富士低壓,POD(觸摸屏),PLC專賣
級別: VIP會員
|
從理論上來說,VW1包括,VB1和VB2,而VW2包括VB2,VB3,因此,當你使用LDW的時候,造成了地址重疊。 請注意,僅僅是理論上來講,實際在常規應用中,一般字的存儲空間地址符號以偶數開始,如VW0,VW2,VW4。 因此,如果你使用VW0和VW2,是沒有問題的,因為地址沒有重疊。 Regards |
---|---|
|
wwcwwc
級別: VIP會員
|
樓上說的是.就是前段時間我在站上發的程序,S7_200和TP177A例子,寫的時侯沒有發現地址重疊了,在現場調試時才發現的.不但要多看相關書籍,現場還要有一定的經驗累積. |
---|---|
|
flin124
級別: 略有小成
|
改為這樣就可以了 LD SM0.0 MOVW 1, VW1 MOVW 1, VW2 LDW= VB2, 1 = Q0.0 LDW= VB3 1 = Q0.2 |
---|---|
|
醉湮邃虞
醉湮邃虞話老黑
級別: 略有小成
|
沒錯,地址重疊: PLC中的地址排列不論MB,還是IB,QB,VB,其地址增量是1 MW,IW,VW其地址增量是2 VD,MD等增量是4 也就是PLC中,只有字節是連續的地址空間,同樣的空間還用來存放字或雙字,比如 比如程序中使用了VD100, 也就包含使用了:vb100--vb103四個字節 或者VW100和VW102 VW100 包含 VB100 和VB101. 如果使用連續的VD地址空間,應該是 VD100,VD104 VD108,VD112..............增量是4 |
|
---|---|---|
|