<object id="ir2le"></object>
  • 加入收藏 在線留言 聯系我們
    關注微信
    手機掃一掃 立刻聯系商家
    全國服務熱線15267534595
    公司新聞
    西門子TIA博途ModbusTcpServer的配置方法(MB SERVER, V5.2)
    發布時間: 2023-09-12 11:13 更新時間: 2024-12-28 09:10

    第一步:從通信指令庫中調用MB_SERVER,選擇V5.2版本。如下圖:

    圖片

    第二步:為MB_SERVER的CONNECT參數配置對應的數據塊和參數。如下圖:

    圖片

    ID號用來區分不同的連接,如果創建了多個MB_SERVER連接,應設置多個ID號。本地端口號默認選擇502,也可選擇其它。遠程連接伙伴的IP地址和端口號可以不設置。

    第三步:創建一些數據塊,作為Modbus TCP的數據Buffer的原始數據,供Modbus客戶端訪問。如下圖:

    圖片

    本例一共創建了5個數據塊,第1個類型為:01過程映像輸出(線圈),第2個類型為:02過程映像輸入(開關輸入),第3個和第4個類型為:03保持寄存器,第5個類型為:04輸入寄存器。第1個和第2個數據塊中定了含有16個布爾類型的元素的一維數組,其余3個數據塊定義了含有16個字類型的元素的一維數組。

    第四步:在MB_SERVER的背景數據塊中定義Modbus TCP的數據Buffer,和Modbus地址形成映射關系。如下圖:

    圖片

    注意相同類型的數據的分配與連接,不可疊加但可以以字為單位跳空分配。

    第五步:下載程序并用Modbus Poll工具進行數據監控。如下圖:

    圖片

    總結:

    1. 如果在MB_SERVER背景數據塊中的Data_Area_Array中定義數據區域,則通過形參MB_HOLD_REG以指針形式傳遞的數據將失效,盡管如此,該參數也不能設置為NULL,且其指向的存儲區應大于等于2個字節;

    2. 如果只打算通過形參MB_HOLD_REG指向的數據來作為Modbus TCP的數據,則MB_SERVER背景數據塊中的Data_Area_Array應保持默認參數,不應配置其它參數;

    3. 用戶Zui多可在不同數據塊中定義8個數據區域(Data_Area_Array只提供了8組),每個數據塊只能包含一個數據區域。單個MODBUS請求只能對恰好一個數據區域進行讀寫操作。每個數據區域對應于一個MODBUS地址區域。可以在MB_SERVER背景數據塊的靜態變量Data_Area_Array中定義數據區域;

    4. 如果要使用的數據區域不到8個,則所需數據區域必須緊密相連,沒有間隙。在處理過程中,數據區域中的第一個空白條目會終止數據區域搜索。例如,如果已定義Data_Area_Array字段元素 1、2、4 和 5,由于字段元素 3 留空,則Data_Area_Array只會識別字段元素 1 和 2;

    5. 單個 MODBUS 請求只能對一個數據區域進行讀寫操作。如果要讀取覆蓋多個數據區域的保持性寄存器,則需要多個 MODBUS 請求。


    聯系方式

    • 電  話:18126392341
    • 聯系人:梁濤
    • 手  機:15267534595
    • 微  信:15267534595