西門子 S7-300/400 系列 CPU 擁有兩個數據塊寄存器,它們保存著當前打開的數據塊編號: DB 寄存器保存著打開的共享數據塊編號 DI 寄存器保存著打開的背景數據塊編號特別提示:DI 寄存器主要用于 FB 引用背景數據塊,但也常用于程序中同時打開兩個數據塊的操作。如下圖的程序即完成了將 DB1.DBW0(16#2222)傳送到 DB4.DBW0 中的工作。用戶請注意程序中的格式(如 T DIW0),詳細信息請參考 STEP7 編程手冊中的尋址方式部分。
那么上述兩者有何區別呢?從兩圖中的對比可以看出:
L | DBW0 | //不改變 DB 寄存器的內容 |
T | DIW0 | //不改變 DI 寄存器的內容 |
L | DB1.DBW0 | //改變DB 寄存器的內容 |
T | DB4.DBW0 | //改變DB 寄存器的內容,相當于增加了 OPN DB4 的指令。 |
也就是說,對于數據塊中地址的完整引用,將影響到DB 寄存器的內容。那么對于下面的程序,我們將很容易發現其中的錯誤。
程序原目的:
將 3333 傳送至 DB1.DBW0
將 4444 傳送至 DB1.DBW2
故障分析:
由于程序的 Network5 中使用了對于 DB4.DBW0 的比較指令,此指令改變了 DB 寄存器的內容,因而我們將得到如下的錯誤結果,DB1.DBW2 并沒有得到正確數值,正確數值 4444 被錯誤地送到了DB4.DBW2中:
審核編輯:郭婷
-
寄存器
+關注
關注
31文章
5372瀏覽量
121295 -
cpu
+關注
關注
68文章
10911瀏覽量
213151 -
西門子
+關注
關注
96文章
3066瀏覽量
116528
原文標題:數據塊寄存器使用錯誤
文章出處:【微信號:gh_a8b121171b08,微信公眾號:機器人及PLC自動化應用】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
如何選擇西門子plc數據采集網關?注意事項
西門子300PLC ProfibusDP轉MODBUS TCP與巴魯夫傳感器數據通訊解決方案
![<b class='flag-5'>西門子</b><b class='flag-5'>300</b>PLC ProfibusDP轉MODBUS TCP與巴魯夫傳感器<b class='flag-5'>數據</b>通訊解決方案](https://file1.elecfans.com/web1/M00/F4/C5/wKgaoWcxypOAWebjAALq0ZMj4Es005.png)
西門子plc怎么連接電腦怎樣設置
西門子plc溫度模塊怎么編程
S7協議讀取西門子S7-200 Smart PLC數據
![<b class='flag-5'>S7</b>協議讀取<b class='flag-5'>西門子</b><b class='flag-5'>S7</b>-200 Smart PLC<b class='flag-5'>數據</b>](https://file1.elecfans.com/web2/M00/FB/17/wKgZomaPVMyACXs0AAAumSg9lMg812.png)
宏集物聯網工控屏通過 S7 ETH 協議采集西門子 1200 PLC 數據
![宏集物聯網工控屏通過 <b class='flag-5'>S7</b> ETH 協議采集<b class='flag-5'>西門子</b> 1200 PLC <b class='flag-5'>數據</b>](https://file1.elecfans.com/web2/M00/F2/66/wKgaomZ1MV6AFYo5ADYM_65m7eQ436.png)
西門子S7協議與TCP協議的區別
西門子PLC產品系列有哪些
西門子PLC中OB塊的功能詳解
干貨分享:宏集物聯網HMI通過S7 MPI協議采集西門子400PLC數據
![干貨分享:宏集物聯網HMI通過<b class='flag-5'>S7</b> MPI協議采集<b class='flag-5'>西門子</b><b class='flag-5'>400</b>PLC<b class='flag-5'>數據</b>](https://file1.elecfans.com/web2/M00/ED/44/wKgZomZqg1aABbbgAAG9ZujEJLk752.png)
評論