衡阳派盒市场营销有限公司

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)用 ? 2023-01-11 11:12 ? 次閱讀

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 所示。

533b1d80-90ea-11ed-bfe3-dac502259ad0.png

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

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

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

53575964-90ea-11ed-bfe3-dac502259ad0.png

圖 2. 電腦的 IP 地址

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

5371be08-90ea-11ed-bfe3-dac502259ad0.png

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

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

539268e2-90ea-11ed-bfe3-dac502259ad0.png

圖 4. 連接設(shè)置

四.編程

1. 新建 FB

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

53be0fb0-90ea-11ed-bfe3-dac502259ad0.png

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

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

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

參數(shù) 含義
statStep 步驟號
instClient MB_CLIENT 多重背景
statReq MB_CLIENT 的實參,程序中會在需要時修改其值
statMode
statAddr
statLen
statPtr
statConn 連接參數(shù),具體含義參見鏈接文檔
statRead 讀取到的數(shù)據(jù)
statWrite 待寫入的數(shù)據(jù)

2. 編寫輪循功能

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

思路如下:

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

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

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

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

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

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

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

53e37bb0-90ea-11ed-bfe3-dac502259ad0.png

圖 6. 例子程序

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

54110e54-90ea-11ed-bfe3-dac502259ad0.png

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

五.通訊測試

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

542a2fe2-90ea-11ed-bfe3-dac502259ad0.png

圖 8. 測試結(jié)果

注意:

如果需要更多的讀寫任務(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è)置。

54613fa0-90ea-11ed-bfe3-dac502259ad0.png

圖 9. ModSim32 的設(shè)置

四.編程

1. 新建 FB

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

5489cc40-90ea-11ed-bfe3-dac502259ad0.png

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

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

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

參數(shù) 含義
statStep 步驟號
instClient MB_CLIENT 多重背景
statReq MB_CLIENT 的實參,程序中會在需要時修改其值
statMode
statAddr
statLen
statPtr
statConn 連接參數(shù),具體含義參見鏈接文檔
statRead1 1 號站讀取到的數(shù)據(jù)
statRead2 2 號站讀取到的數(shù)據(jù)

2. 編寫輪循功能

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

思路如下:

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

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

步驟 2:設(shè)置讀取參數(shù),設(shè)置 MB_Unit_ID = 2,觸發(fā)讀取,當讀取正常后,將讀取到的數(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)。

54afd494-90ea-11ed-bfe3-dac502259ad0.png

圖 11. 例子程序

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

54d80d6a-90ea-11ed-bfe3-dac502259ad0.png

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

五.通訊測試

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

54ec64ea-90ea-11ed-bfe3-dac502259ad0.png

圖 13. 測試結(jié)果

審核編輯:湯梓紅

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

    關(guān)注

    18

    文章

    6072

    瀏覽量

    136433
  • MODBUS
    +關(guān)注

    關(guān)注

    28

    文章

    1821

    瀏覽量

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

    關(guān)注

    8

    文章

    1378

    瀏覽量

    79309
  • RTU
    RTU
    +關(guān)注

    關(guān)注

    0

    文章

    418

    瀏覽量

    28766
  • S7-1200
    +關(guān)注

    關(guān)注

    11

    文章

    331

    瀏覽量

    18074

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

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

收藏 人收藏

    評論

    相關(guān)推薦

    西門子PLC s7-1200 1500 modbus-tcp通信實例編程詳細指導(dǎo)

    西門子PLC s7-1200 1500 modbus-tcp通信實例編程詳細指導(dǎo)
    發(fā)表于 11-24 12:24

    LabVIEW通過以太網(wǎng)與S7-1200 PLC通信

    :LabView、S7-1200TCP、PLC、通信1、概述 西門子S7-1200 PLC支持多種協(xié)議通過以太網(wǎng)通訊方式,如OPC、TCP
    發(fā)表于 07-02 06:30

    WinCC V7.2與S7-1200的PLC通訊

    自WinCC V7.2版本起,軟件新增加了 SIMATIC S7-1200S7-1500 Channel通道,用于WinCC與 S7-1200/S7-1500 PLC之間的
    發(fā)表于 09-26 19:06 ?11次下載
    WinCC V7.2與<b class='flag-5'>S7-1200</b>的PLC通訊

    S7-1200與PROFINET的通信

    S7-1200 CPU 本體上集成了一個PROFINET 通信口,支持以太網(wǎng)和基于TCP/IP 的通信標準。使用這個通信口可以實現(xiàn)
    發(fā)表于 09-29 18:58 ?38次下載
    <b class='flag-5'>S7-1200</b>與PROFINET的<b class='flag-5'>通信</b>

    S7-1200S7-1200進行S7通信的詳細資料說明

    S7-1200 的 PROFINET 通信口可以做 S7 通信的服務(wù)器端或客戶端(CPU V2.0及以上版本)。S7-1200 僅支持
    的頭像 發(fā)表于 08-17 10:51 ?3w次閱讀
    <b class='flag-5'>S7-1200</b>和<b class='flag-5'>S7-1200</b>進行<b class='flag-5'>S7</b><b class='flag-5'>通信</b>的詳細資料說明

    關(guān)于S7-1200S7-1200之間UDP的通信與仿真

    S7-1200S7-1200 之間的以太網(wǎng)通信可以通過 UDP 協(xié)議來實現(xiàn),使用的通信指令是在雙方 CPU 調(diào)用 T-block ( TCON, TDISCON, TUSEND,
    的頭像 發(fā)表于 04-22 09:14 ?5719次閱讀
    關(guān)于<b class='flag-5'>S7-1200</b>和<b class='flag-5'>S7-1200</b>之間UDP的<b class='flag-5'>通信</b>與仿真

    S7-1200 Modbus TCP通信指令塊編程教程

    S7-1200 Modbus TCP通信指令塊編程教程免費下載。
    發(fā)表于 03-28 16:08 ?10次下載

    TCP通信通過網(wǎng)絡(luò)調(diào)試助手與S7-1200建立TCP連接

    S7-1200 V4.5 版本開始支持網(wǎng)絡(luò)視圖組態(tài)開放式用戶通信連接,不需要在程序中調(diào)用 TCON 等建立連接指令,只需要調(diào)用發(fā)送接收指令即可實現(xiàn)數(shù)據(jù)的收發(fā)。下面以 TCP 通信為例,
    的頭像 發(fā)表于 07-06 15:39 ?1.2w次閱讀

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

    方法一:如果 TCP 連接充裕,可以建立多個不同的連接發(fā)送請求,即每個請求使用一個獨立的連接,調(diào)用獨立的“MB_CLIENT”功能塊,具體操作參考“Modbus
    的頭像 發(fā)表于 07-28 10:44 ?2819次閱讀

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

    方法一:如果 TCP 連接充裕,可以建立多個不同的連接發(fā)送請求,即每個請求使用一個獨立的連接,調(diào)用獨立的“MB_CLIENT”功能塊,具體操作參考“Modbus
    的頭像 發(fā)表于 08-03 11:23 ?5425次閱讀

    西門子S7-1200TCP通信配置過程及數(shù)據(jù)交換方式

    西門子S7-1200集成以太網(wǎng)接口,通過該接口可以與其它設(shè)備進行以太網(wǎng)通信S7-1200的以太網(wǎng)通信主要有S7
    的頭像 發(fā)表于 11-16 10:54 ?1.8w次閱讀

    S7-1200 Modbus RTU 從站通信組態(tài)及編程步驟

    S7-1200 支持Modbus RTU通信模式的模塊可作為Modbus RTU從站。以下以 CPU1215C DC/DC/DC和CM1241 RS485為例,介紹
    發(fā)表于 12-07 20:37 ?1.4w次閱讀

    WinCC與 S7-1200/S7-1500 PLC之間的通信解析

    自WinCC V7.2版本起,軟件新增加了 "SIMATIC S7-1200, S7-1500 Channel"通道,用于WinCC與 S7-1200/S7-1500 PLC之間的
    發(fā)表于 02-06 09:39 ?8611次閱讀

    S7-1200通過網(wǎng)絡(luò)視圖建立開放式用戶通信連接

    S7-1200 V4.5 版本開始支持網(wǎng)絡(luò)視圖組態(tài)開放式用戶通信連接,不需要在程序中調(diào)用 TCON 等建立連接指令,只需要調(diào)用發(fā)送接收指令即可實現(xiàn)數(shù)據(jù)的收發(fā)。下面以 TCP 通信為例,
    的頭像 發(fā)表于 02-06 11:12 ?2266次閱讀

    S7-1200集成PN接口MODBUS TCP通信概述

    軟件 STEP7 V11 SP1版本開始,S7-1200CPU 從Firmware V1.0.2開始,不再需要安裝Modbus TCP的庫文件,可以直接調(diào)用
    的頭像 發(fā)表于 10-29 17:24 ?6793次閱讀
    <b class='flag-5'>S7-1200</b>集成PN接口<b class='flag-5'>MODBUS</b> <b class='flag-5'>TCP</b><b class='flag-5'>通信</b>概述
    百家乐官网注册下注平台| 百家乐官网注册就送| 百家乐官网如何取胜| 玩百家乐官网澳门368娱乐城| 百家乐官网15人专用桌布| 百家乐官网伴侣| 网上百家乐作弊不| 百家乐德州扑克发牌盒| 太阳城网上投注| 百家乐官网网络视频游戏| 金龍百家乐官网的玩法技巧和规则| 百家乐论坛在线提供| 大发888娱乐游戏注册| 阿克苏市| 致胜百家乐官网软件| 澳门百家乐怎玩| tt娱乐城clega| 金宝博百家乐官网娱乐城| 网上百家乐官网游戏哪家信誉度最好| 百家乐百博| 都兰县| 百利宫百家乐官网的玩法技巧和规则 | 论坛| 风水24山图片| 威尼斯人娱乐城怎么赢| 百家乐官网实战玩法| 利澳百家乐官网的玩法技巧和规则| 百家乐电脑赌博| 鸿盛博娱乐| 怎样赢百家乐官网的玩法技巧和规则| 澳门百家乐庄闲的玩法| 1737棋牌游戏中心| 百家乐官网凯时娱乐网| 百家乐路单走势图| 百家乐官网路单用处| 24山向水法吉凶断| 大发888真人存款| 青鹏百家乐官网游戏币 | 鸿博开户| 百家乐官网五湖四海娱乐场开户注册| 夜总会百家乐的玩法技巧和规则|