0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

S7-1200 MODBUS TCP通信多請求處理的方法介紹

機器人及PLC自動化應(yīng)用 ? 來源:機器人及PLC自動化應(yīng)用 ? 作者:機器人及PLC自動化 ? 2022-08-03 11:23 ? 次閱讀

S7-1200 MODBUS TCP 通信多請求處理

單獨的客戶機連接需要遵循的規(guī)則:

1. 每個“MB_CLIENT”連接需要使用一個不同的背景數(shù)據(jù)塊;

2. 每個“MB_CLIENT”連接必須指定一個服務(wù)器 IP 地址;

3. 每個“MB_CLIENT”連接必須指定一個唯一的連接 ID;

4. 是否需要唯一的 IP 端口號取決于服務(wù)器組態(tài);

連接 ID 和背景數(shù)據(jù)塊組合成對,對每個連接來說,組合對都是唯一的。

對于多請求處理,有兩種方法:

方法一:如果 TCP 連接充裕,可以建立多個不同的連接發(fā)送請求,即每個請求使用一個獨立的連接,調(diào)用獨立的“MB_CLIENT”功能塊,具體操作參考“Modbus TCP”部分,鏈接。

通過不同的連接發(fā)送多個請求,“MB_CLIENT”功能塊多次調(diào)用,但是需要使用不同的背景數(shù)據(jù)塊,不同的 ID 號和不同的端口號。

方法二:通過公共的連接發(fā)送多個請求

這個方法適合 CPU 訪問一個 Modbus TCP 服務(wù)器,但是有多個作業(yè)的情況,例如有讀也有寫,或者讀多個區(qū)域等。

通過公共的連接發(fā)送多個請求,“MB_CLIENT”功能塊多次調(diào)用,但是需要使用相同的背景數(shù)據(jù)塊,連接 ID 號,IP 地址和端口號,根據(jù)需要修改模式、地址、長度、指針等。

在任意時間,只能有一個 MB_CLIENT 請求處于激活狀態(tài),在一個請求完成執(zhí)行后,下一個請求再開始執(zhí)行,輪循處理。

方法二特例:MODBUS TCP 客戶端訪問網(wǎng)關(guān)后的多個 MODBUS RTU 從站

這個方法適合 CPU 通過 Modbus TCP 轉(zhuǎn) Modbus RTU 網(wǎng)關(guān),訪問網(wǎng)關(guān)后多個 Modbus RTU 從站數(shù)據(jù)。CPU 僅僅和網(wǎng)關(guān)建立一個 Modbus TCP 連接,就可以訪問多個站的數(shù)據(jù)。

通過公共的連接發(fā)送多個請求,“MB_CLIENT”功能塊多次調(diào)用,但是需要使用相同的背景數(shù)據(jù)塊,連接 ID 號,IP 地址和端口號。參數(shù)“ MB_Unit_ID ” 使用不同的值,根據(jù)需要修改模式、地址、長度、指針等。

在任意時間,只能有一個 MB_CLIENT 請求處于激活狀態(tài),在一個請求完成執(zhí)行后,下一個請求再開始執(zhí)行,輪循處理。

方法二輪循處理的操作

一。軟硬件要求

MB_Client 指令的使用要求:軟件 V11 SP1 及以上版本,CPU 固件版本 V1.02 及以上版本。

二。測試條件

硬件:CPU 1214C(DC/DC/DC) V4.5 ,電腦(ModSim32 調(diào)試軟件);

軟件:TIA PORTAL STEP 7 V17

實驗:S7-1200 作 Modbus TCP 客戶機,用功能碼 3 對調(diào)試軟件先進行讀取地址 40001 開始的 2 個字,然后用功能碼 16 對地址 40003 開始的 2 個字進行寫入。

三。組態(tài)配置

1. S7-1200 的 IP 地址192.168.1.42,如圖 1 所示。

a29f83cc-0e70-11ed-ba43-dac502259ad0.png

圖 1. IP 地址設(shè)置

2. ModSim32 調(diào)試軟件設(shè)置

服務(wù)器采用 ModSim32 軟件測試,首先將測試電腦的 IP 地址設(shè)置成192.168.1.201,如圖 2 所示。

a2ab2fb0-0e70-11ed-ba43-dac502259ad0.png

圖 2. 電腦的 IP 地址

打開 ModSim32 軟件,然后通過 “File”》“New”,新建設(shè)置 03 地址區(qū)、起始地址 40001、長度 4、設(shè)備 ID 255 等,如圖 3 所示。

a2bddd4a-0e70-11ed-ba43-dac502259ad0.png

圖 3. ModSim32 調(diào)試軟件的從站設(shè)置

在“Connection”中選擇“Modbus/TCP Svr”,設(shè)置本地服務(wù)器端口號為 502,如圖 4 所示。

a2ce312c-0e70-11ed-ba43-dac502259ad0.png

圖 4. 連接設(shè)置

四。編程

1. 新建 FB

如圖 5 所示,新建 FB,命名為 Comm,在靜態(tài)變量中增加參數(shù)。

a2e705f8-0e70-11ed-ba43-dac502259ad0.png

圖 5. 設(shè)置 FB 參數(shù)

參數(shù)含義參見表 1:

表 1. FB 接口參數(shù)含義

poYBAGLp6lSAR-yEAAAswDOYRzg272.png

2. 編寫輪循功能

如圖 6 所示,例子中使用 SCL 的 CASE OF 方式編寫輪詢程序,SCL 的 CASE OF 指令編寫順控可以參考鏈接:文檔。

思路如下:

步驟 0:等待連接建立,當(dāng)連接建立則跳轉(zhuǎn)到步驟 1。

步驟 1:設(shè)置讀取參數(shù),觸發(fā)讀取,當(dāng)讀取正常后,將讀取到的數(shù)據(jù)存入指定數(shù)據(jù)區(qū),然后跳轉(zhuǎn)到步驟 2,如果故障則跳轉(zhuǎn)到步驟 100。

步驟 2:設(shè)置寫入?yún)?shù),將待寫入數(shù)據(jù)送入指定區(qū)域,觸發(fā)寫入,當(dāng)寫入正常后,跳轉(zhuǎn)到步驟 1,如果故障則跳轉(zhuǎn)到步驟 100。

步驟 100:當(dāng)故障消失,則跳轉(zhuǎn)到步驟 0。

如果有更多的讀寫需要,可以建立更多的步驟。

以下程序的源文件壓縮包鏈接:源文件。將壓縮包下載解壓縮后,得到文件“Comm.scl”,然后在 TIA Portal 項目中導(dǎo)入即可使用,導(dǎo)入源文件方式參見鏈接:文檔。

以下例程僅供參考。讀者如欲采納,風(fēng)險自擔(dān)。

a3033e3a-0e70-11ed-ba43-dac502259ad0.png

圖 6. 例子程序

3. 在主程序中調(diào)用該 FB,如圖 7 所示。

a31b809e-0e70-11ed-ba43-dac502259ad0.png

圖 7. 調(diào)用程序

五。通訊測試

對 FB 背景數(shù)據(jù)塊與 Modsim32 軟件進行監(jiān)視,如圖 8 所示。

a327c462-0e70-11ed-ba43-dac502259ad0.png

圖 8. 測試結(jié)果

a33742a2-0e70-11ed-ba43-dac502259ad0.jpg注意:

如果需要更多的讀寫任務(wù)可以按照例子自行添加。

ModSim32 是做 Modbus RTU 從站以及 Modbus TCP 服務(wù)器的測試軟件,是第三方軟件,可以從網(wǎng)絡(luò)上下載。

方法二特例輪循處理的操作

一。軟硬件要求

MB_Client 指令的使用要求:軟件 V11 SP1 及以上版本,CPU 固件版本 V1.02 及以上版本。

二。測試條件

硬件:CPU 1214C(DC/DC/DC) V4.5 ,電腦(ModSim32 調(diào)試軟件);

軟件:TIA PORTAL STEP 7 V17

實驗:S7-1200 作 Modbus TCP 客戶機,用功能碼 3 對調(diào)試軟件先后進行讀取 ID 為 1 的 40001 開始的 2 個字以及 ID 為 2 的 40003 開始的 2 個字。

該實驗仿真讀取 Modbus TCP 轉(zhuǎn) Modbus RTU 網(wǎng)關(guān)后的多個 Modbus RTU 從站數(shù)據(jù)的功能。

三。組態(tài)配置

1. CPU 硬件組態(tài)參考圖 1 的設(shè)置。

2. 電腦 IP 地址設(shè)置參考圖 2 的設(shè)置。

3. ModSim32 通過 “File”》“New”,新建 2 個文件,設(shè)置 03 地址區(qū)、起始地址 40001、長度 2、設(shè)備 ID 分別是 1 和 2,如圖 9 所示。然后參考圖 4 進行連接設(shè)置。

a348a1e6-0e70-11ed-ba43-dac502259ad0.png

圖 9. ModSim32 的設(shè)置

四。編程

1. 新建 FB

如圖 10 所示,新建 FB,命名為 CommUnitId,在靜態(tài)變量中增加參數(shù)。

a3f50ee0-0e70-11ed-ba43-dac502259ad0.png

圖 10. 設(shè)置 FB 參數(shù)

參數(shù)含義參見表 2:

表 2. FB 接口參數(shù)含義

pYYBAGLp6mmAFSNbAAAuRvbMRuE472.png

2. 編寫輪循功能

如圖 11 所示,例子中使用 SCL 的 CASE OF 方式編寫輪詢程序,SCL 的 CASE OF 指令編寫順控可以參考鏈接:文檔。

思路如下:

步驟 0:等待連接建立,當(dāng)連接建立則跳轉(zhuǎn)到步驟 1。

步驟 1:設(shè)置讀取參數(shù),設(shè)置 MB_Unit_ID = 1,觸發(fā)讀取,當(dāng)讀取正常后,將讀取到的數(shù)據(jù)存入指定數(shù)據(jù)區(qū),然后跳轉(zhuǎn)到步驟 2,如果故障同樣跳轉(zhuǎn)到步驟 2,如果連接中斷則跳轉(zhuǎn)到步驟 0。

步驟 2:設(shè)置讀取參數(shù),設(shè)置 MB_Unit_ID = 2,觸發(fā)讀取,當(dāng)讀取正常后,將讀取到的數(shù)據(jù)存入指定數(shù)據(jù)區(qū),然后跳轉(zhuǎn)到步驟 1,如果故障同樣跳轉(zhuǎn)到步驟 1,如果連接中斷則跳轉(zhuǎn)到步驟 0。

如果有更多的讀寫需要,可以建立更多的步驟。

以下程序的源文件壓縮包鏈接:源文件。將壓縮包下載解壓縮后,得到文件“CommUnitId.scl”,然后在 TIA Portal 項目中導(dǎo)入即可使用,導(dǎo)入源文件方式參見鏈接:文檔。

以下例程僅供參考。讀者如欲采納,風(fēng)險自擔(dān)。

a40262ca-0e70-11ed-ba43-dac502259ad0.png

圖 11. 例子程序

3. 在主程序中調(diào)用該 FB,如圖 12 所示。

a41108ac-0e70-11ed-ba43-dac502259ad0.png

圖 12. 調(diào)用程序

五。通訊測試

通訊結(jié)果如圖 13 所示。

a41fbe06-0e70-11ed-ba43-dac502259ad0.png

圖 13. 測試結(jié)果

審核編輯:郭婷

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 服務(wù)器
    +關(guān)注

    關(guān)注

    12

    文章

    9231

    瀏覽量

    85625
  • TCP
    TCP
    +關(guān)注

    關(guān)注

    8

    文章

    1371

    瀏覽量

    79137

原文標題:S7-1200 MODBUS TCP 通信多請求處理

文章出處:【微信號:gh_a8b121171b08,微信公眾號:機器人及PLC自動化應(yīng)用】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    如何選擇適合的西門子S7-1200系列PLC型號?

    西門子S7-1200系列PLC作為中小型自動化控制器,在研發(fā)過程中充分考慮了系統(tǒng)、控制器、人機界面和軟件的無縫整合和高效協(xié)調(diào),是工業(yè)自動化領(lǐng)域中的重要組成部分。正確選擇適合的S7-1200系列PLC
    的頭像 發(fā)表于 12-09 18:24 ?626次閱讀
    如何選擇適合的西門子<b class='flag-5'>S7-1200</b>系列PLC型號?

    代際躍升丨Modbus轉(zhuǎn)Profinet網(wǎng)關(guān)與伺服的智能之旅

    本案例詳細介紹了如何通過開疆智能Modbus轉(zhuǎn)Profinet網(wǎng)關(guān)KJ-PNG-201實現(xiàn)GSHD系列高性能伺服驅(qū)動器與西門子S7-1200 PLC之間的連接與配置。在這個過程中,我們使用了西門子
    的頭像 發(fā)表于 12-05 17:25 ?319次閱讀
    代際躍升丨<b class='flag-5'>Modbus</b>轉(zhuǎn)Profinet網(wǎng)關(guān)與伺服的智能之旅

    請問西門子S7-1200如何實現(xiàn)Modbus TCP通訊?

    西門子S7-1200如何實現(xiàn)Modbus TCP通訊?
    發(fā)表于 07-25 06:24

    西門子S7-1200 PLC的指令介紹

    了最新的技術(shù),為用戶提供了更為高效、靈活的控制方案。本文將詳細介紹S7-1200 PLC的指令系統(tǒng),包括其指令分類、具體指令功能以及在實際應(yīng)用中的優(yōu)勢。
    的頭像 發(fā)表于 06-18 14:52 ?2947次閱讀

    西門子S7-1200 PLC如何通過模擬量控制變頻器

    在現(xiàn)代工業(yè)自動化領(lǐng)域中,變頻器因其能實現(xiàn)對交流電動機的平滑調(diào)速而得到了廣泛應(yīng)用。西門子S7-1200 PLC(可編程邏輯控制器)作為工業(yè)控制領(lǐng)域的重要設(shè)備,其通過模擬量控制變頻器的方式,不僅提高了
    的頭像 發(fā)表于 06-18 09:26 ?2664次閱讀

    簡述S7-1200 PLC的硬件組成

    S7-1200 PLC(Programmable Logic Controller,可編程邏輯控制器)是西門子公司推出的一款小型、模塊化的可編程控制器,廣泛應(yīng)用于工業(yè)自動化、過程控制、機械控制等領(lǐng)域
    的頭像 發(fā)表于 06-14 10:04 ?5545次閱讀

    西門子S7-1200 PLC的優(yōu)缺點分析

    西門子S7-1200 PLC作為自動化控制系統(tǒng)中的核心組件,自推出以來就受到了廣泛關(guān)注。其緊湊的模塊化設(shè)計、強大的功能以及靈活的擴展性,使得它在工業(yè)自動化領(lǐng)域占據(jù)了重要的地位。然而,任何產(chǎn)品都不是
    的頭像 發(fā)表于 06-13 11:33 ?3472次閱讀

    西門子S7-1200 PLC的基本功能

    西門子S7-1200 PLC(Programmable Logic Controller)是一款緊湊型、模塊化的可編程邏輯控制器,專為滿足各種自動化應(yīng)用需求而設(shè)計。其強大的功能、靈活的配置以及卓越
    的頭像 發(fā)表于 06-13 11:29 ?2292次閱讀

    S7-1200 CPU 存儲卡的應(yīng)用分析

    S7-1200 CPU 使用的存儲卡為 SD 卡,存儲卡中可以存儲用戶項目文件,有如下3種功能: 作為 CPU 的裝載存儲區(qū),用戶項目文件可以僅存儲在卡中,CPU 中沒有項目文件,離開存儲卡無法運行。
    發(fā)表于 03-15 11:11 ?1115次閱讀
    <b class='flag-5'>S7-1200</b> CPU 存儲卡的應(yīng)用分析

    如何使用S7-1200 CPU的存儲卡呢?

    S7-1200 CPU 使用的存儲卡為 SD 卡,存儲卡中可以存儲用戶項目文件,有如下3種功能
    的頭像 發(fā)表于 02-26 09:53 ?1987次閱讀
    如何使用<b class='flag-5'>S7-1200</b> CPU的存儲卡呢?

    S7-1200如何實現(xiàn)內(nèi)部數(shù)據(jù)的掉電保持?

    S7-1200 PLC 可以通過多種方式實現(xiàn)內(nèi)部數(shù)據(jù)的掉電保持,以確保在斷電或重啟后數(shù)據(jù)不會丟失。
    的頭像 發(fā)表于 01-29 16:11 ?7417次閱讀

    西門子S7-1200S7-300PLC之間的區(qū)別有哪些?

    S7-1200作為新推出的緊湊型控制器,其產(chǎn)品定位在原有的SIMATIC S7-200和S7-300之間,它與S7-300的區(qū)別主要體現(xiàn)在硬件、通信
    的頭像 發(fā)表于 01-10 10:54 ?1087次閱讀
    西門子<b class='flag-5'>S7-1200</b>與<b class='flag-5'>S7</b>-300PLC之間的區(qū)別有哪些?

    s71200可用step7S7-1200的硬件結(jié)構(gòu)

    S7-1200主要由CPU模塊、信號板、信號模塊、通信模塊和編程軟件組成,各種模塊安裝在標準DIN導(dǎo)軌上。
    發(fā)表于 01-10 10:53 ?2693次閱讀
    <b class='flag-5'>s</b>71200可用step<b class='flag-5'>7</b>嗎 <b class='flag-5'>S7-1200</b>的硬件結(jié)構(gòu)

    西門子plc如何選型 s7-1500和s7-1200區(qū)別

    S7-1200是一種小型的PLC,適用于小型自動化應(yīng)用。它具有較小的尺寸、較低的成本和中等級別的性能。S7-1200系列提供了多種CPU型號和不同數(shù)量的I/O模塊,可擴展性較強。
    發(fā)表于 01-10 10:48 ?6179次閱讀

    plc西門子s7-1200基礎(chǔ)知識:plc與plc之間如何通訊

    S7-1200編程軟件是Siemens TIA Portal,可以用于編寫程序并對PLC進行配置和調(diào)試。此外,還有一些輔助軟件和工具可用于幫助用戶診斷故障和管理數(shù)據(jù)。
    的頭像 發(fā)表于 01-10 10:43 ?2804次閱讀