如下圖:第二步:為MB_SERVER的CONNECT參數配置對應的數據塊和參數。
如下"/>
變頻器: | 西門子代理商 |
觸摸屏: | 西門子一級代理 |
伺服電機: | 西門子一級總代理 |
單價: | 面議 |
發(fā)貨期限: | 自買家付款之日起 天內發(fā)貨 |
所在地: | 廣東 惠州 |
有效期至: | 長期有效 |
發(fā)布時間: | 2023-12-14 05:35 |
最后更新: | 2023-12-14 05:35 |
瀏覽次數: | 194 |
采購咨詢: |
請賣家聯(lián)系我
|
第一步:從通信指令庫中調用MB_SERVER,選擇V5.2版本。如下圖:
第二步:為MB_SERVER的CONNECT參數配置對應的數據塊和參數。如下圖:
ID號用來區(qū)分不同的連接,如果創(chuàng)建了多個MB_SERVER連接,應設置多個ID號。本地端口號默認選擇502,也可選擇其它。遠程連接伙伴的IP地址和端口號可以不設置。
第三步:創(chuàng)建一些數據塊,作為Modbus TCP的數據Buffer的原始數據,供Modbus客戶端訪問。如下圖:
本例一共創(chuàng)建了5個數據塊,第1個類型為:01過程映像輸出(線圈),第2個類型為:02過程映像輸入(開關輸入),第3個和第4個類型為:03保持寄存器,第5個類型為:04輸入寄存器。第1個和第2個數據塊中定了含有16個布爾類型的元素的一維數組,其余3個數據塊定義了含有16個字類型的元素的一維數組。
第四步:在MB_SERVER的背景數據塊中定義Modbus TCP的數據Buffer,和Modbus地址形成映射關系。如下圖:
注意相同類型的數據的分配與連接,不可疊加但可以以字為單位跳空分配。
第五步:下載程序并用Modbus Poll工具進行數據監(jiān)控。如下圖:
如果在MB_SERVER背景數據塊中的Data_Area_Array中定義數據區(qū)域,則通過形參MB_HOLD_REG以指針形式傳遞的數據將失效,如此,該參數也不能設置為NULL,且其指向的存儲區(qū)應大于等于2個字節(jié);
如果只打算通過形參MB_HOLD_REG指向的數據來作為Modbus TCP的數據,則MB_SERVER背景數據塊中的Data_Area_Array應保持默認參數,不應配置其它參數;
用戶最多可在不同數據塊中定義8個數據區(qū)域(Data_Area_Array只提供了8組),每個數據塊只能包含一個數據區(qū)域。單個MODBUS請求只能對恰好一個數據區(qū)域進行讀寫操作。每個數據區(qū)域對應于一個MODBUS地址區(qū)域??梢栽贛B_SERVER背景數據塊的靜態(tài)變量Data_Area_Array中定義數據區(qū)域;
如果要使用的數據區(qū)域不到8個,則所需數據區(qū)域必須緊密相連,沒有間隙。在處理過程中,數據區(qū)域中的第一個空白條目會終止數據區(qū)域搜索。例如,如果已定義Data_Area_Array字段元素 1、2、4 和 5,由于字段元素 3 留空,則Data_Area_Array只會識別字段元素 1 和 2;
單個 MODBUS 請求只能對一個數據區(qū)域進行讀寫操作。如果要讀取覆蓋多個數據區(qū)域的保持性寄存器,則需要多個 MODBUS 請求。
知識小卡片
在大家進行西門子產品選型的時候,可以使用西門子官方推出的選型工具:TIA Selection Tool(TST),這是一款完全免費且免安裝的工具。