sihu国产精品永久免费_日韩午夜在线视频_久久99中文字幕伊人_古代男男嗯…啊h总攻

qiaoshougang
級別: 略有小成
精華主題: 0
發帖數量: 265 個
工控威望: 398 點
下載積分: 5180 分
在線時間: 325(小時)
注冊時間: 2007-05-18
最后登錄: 2024-12-23
查看qiaoshougang的 主題 / 回貼
樓主  發表于: 2012-12-20 15:16
如題,已知 MW118 中的內容就是數據塊DB1中的地址。現在要將這個地址中的數據取出放到MD120中,該怎樣操作?【數據塊DB1中的數據都是浮點型的】

   OPN   DB     1
      L DBD[MW118    
      T     MD   120
以上編程不能通過,但是用
    OPN   DB     1
      L DBD[MD118]
      T     MD   120
可以通過,但是仿真時CPU是STOP狀態,本人剛接觸S7-300PLC,小白一個,望各位大佬賜教,謝謝!

夜游神
cvlsam
富士低壓,POD(觸摸屏),PLC專賣
級別: VIP會員

精華主題: 3 篇
發帖數量: 6777 個
工控威望: 38380 點
下載積分: 4243 分
在線時間: 9537(小時)
注冊時間: 2006-09-13
最后登錄: 2024-12-23
查看cvlsam的 主題 / 回貼
1樓  發表于: 2012-12-20 15:33
MD118與MD120發生了地址重疊
MD118由MW118,MW120組成,MD120由MW120與MW122組成。
造成CPU進入STOP狀態可能是地址重疊后,導致間接尋址越界,你可以診斷模塊看看是不是OB121塊沒有導致進入STOP狀態的。
例:訪問DB1.DBD100中的數據
L L#100
SLD 3              //左移3位,形成指針格式,用于間接尋址。
T  MD116
OPN DB1
L DBD[MD116]
T  MD120

Good  Luck~
本帖最近評分記錄:
  • 下載積分:+5(guochunyi) 熱心助人!
    cvlsam
    富士低壓,POD(觸摸屏),PLC專賣
    級別: VIP會員

    精華主題: 3 篇
    發帖數量: 6777 個
    工控威望: 38380 點
    下載積分: 4243 分
    在線時間: 9537(小時)
    注冊時間: 2006-09-13
    最后登錄: 2024-12-23
    查看cvlsam的 主題 / 回貼
    2樓  發表于: 2012-12-20 15:53
    MD116中的數據必須是X.X格式,也就是左移3位或者乘以8后的數據,只能是這樣~
    cvlsam
    富士低壓,POD(觸摸屏),PLC專賣
    級別: VIP會員

    精華主題: 3 篇
    發帖數量: 6777 個
    工控威望: 38380 點
    下載積分: 4243 分
    在線時間: 9537(小時)
    注冊時間: 2006-09-13
    最后登錄: 2024-12-23
    查看cvlsam的 主題 / 回貼
    3樓  發表于: 2012-12-20 15:54
    引用
    引用第3樓qiaoshougang于2012-12-20 15:52發表的  :
    還要編寫OB121程序嗎?


    如果僅僅是為了防止PLC進入停機狀態,那么一個空的OB121足以……
    cvlsam
    富士低壓,POD(觸摸屏),PLC專賣
    級別: VIP會員

    精華主題: 3 篇
    發帖數量: 6777 個
    工控威望: 38380 點
    下載積分: 4243 分
    在線時間: 9537(小時)
    注冊時間: 2006-09-13
    最后登錄: 2024-12-23
    查看cvlsam的 主題 / 回貼
    4樓  發表于: 2012-12-20 16:20
    引用
    引用第6樓qiaoshougang于2012-12-20 16:08發表的  :
    謝謝指教,現在能正常讀取數據了,但是CPU上SF燈還是亮著,對程序運行有影響嗎?謝謝!


    仍然請進行模塊診斷并貼出診斷信息。

    Good Luck~
    cvlsam
    富士低壓,POD(觸摸屏),PLC專賣
    級別: VIP會員

    精華主題: 3 篇
    發帖數量: 6777 個
    工控威望: 38380 點
    下載積分: 4243 分
    在線時間: 9537(小時)
    注冊時間: 2006-09-13
    最后登錄: 2024-12-23
    查看cvlsam的 主題 / 回貼
    5樓  發表于: 2012-12-21 23:21
    引用
    引用第8樓qiaoshougang于2012-12-20 16:30發表的  :
    [attachment=98566]


    很明顯,地址越界……
    cvlsam
    富士低壓,POD(觸摸屏),PLC專賣
    級別: VIP會員

    精華主題: 3 篇
    發帖數量: 6777 個
    工控威望: 38380 點
    下載積分: 4243 分
    在線時間: 9537(小時)
    注冊時間: 2006-09-13
    最后登錄: 2024-12-23
    查看cvlsam的 主題 / 回貼
    6樓  發表于: 2012-12-22 13:30
    引用
    引用第13樓qiaoshougang于2012-12-22 12:27發表的  :


    謝謝回答,就是這個錯誤,可是怎么弄才能解決這個問題呢?我弄了好長時間了,望賜教,謝謝!!


    解決你的程序,那是你的編程錯誤,增加對數據塊長度的檢測,然后通過比較指令將你的尋址范圍控制在可控范圍內……

    Regards
    cvlsam
    富士低壓,POD(觸摸屏),PLC專賣
    級別: VIP會員

    精華主題: 3 篇
    發帖數量: 6777 個
    工控威望: 38380 點
    下載積分: 4243 分
    在線時間: 9537(小時)
    注冊時間: 2006-09-13
    最后登錄: 2024-12-23
    查看cvlsam的 主題 / 回貼
    7樓  發表于: 2012-12-22 14:11
    唉~~~~~

    數據塊長度檢測并不是通過頁面設定,而是通過編程來決定的。

    通過裝入DBLG來得到數據塊的長度,因為長度的反饋值為字節,因此,如果你的數據塊的數據為4個字節的Real類型的話,你就要除以4,那就是一個塊中的最大尋址,然后用比較去控制你的尋址指針。

    正如你表示的,不超過255,可是,你顯示的數據塊中數據才51條,你尋址尋址52就越界,Ok?

    對于這個問題已經討論的足夠深度了,你或許的編程水平還沒有達到這個水平,你需要花足夠的時間參閱StL手冊。

    Regards