在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

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

3天內不再提示

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

機器人及PLC自動化應用 ? 來源:機器人及PLC自動化應用 ? 2023-01-11 11:12 ? 次閱讀

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

單獨的客戶機連接需要遵循的規則:

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

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

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

4. 是否需要唯一的 IP 端口號取決于服務器組態;

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

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

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

通過不同的連接發送多個請求,“MB_CLIENT”功能塊多次調用,但是需要使用不同的背景數據塊,不同的 ID 號和不同的端口號。

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

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

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

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

方法二特例:MODBUS TCP 客戶端訪問網關后的多個 MODBUS RTU 從站

這個方法適合 CPU 通過 Modbus TCP 轉 Modbus RTU 網關,訪問網關后多個 Modbus RTU 從站數據。CPU 僅僅和網關建立一個 Modbus TCP 連接,就可以訪問多個站的數據。

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

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

方法二輪循處理的操作

一.軟硬件要求

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

二.測試條件

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

軟件:TIA PORTAL STEP 7 V17

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

三.組態配置

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

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

圖 1. IP 地址設置

2. ModSim32 調試軟件設置

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

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

圖 2. 電腦的 IP 地址

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

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

圖 3. ModSim32 調試軟件的從站設置

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

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

圖 4. 連接設置

四.編程

1. 新建 FB

如圖 5 所示,新建 FB,命名為 Comm,在靜態變量中增加參數。

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

圖 5. 設置 FB 參數

參數含義參見表 1:

表 1. FB 接口參數含義

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

2. 編寫輪循功能

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

思路如下:

步驟 0:等待連接建立,當連接建立則跳轉到步驟 1。

步驟 1:設置讀取參數,觸發讀取,當讀取正常后,將讀取到的數據存入指定數據區,然后跳轉到步驟 2,如果故障則跳轉到步驟 100。

步驟 2:設置寫入參數,將待寫入數據送入指定區域,觸發寫入,當寫入正常后,跳轉到步驟 1,如果故障則跳轉到步驟 100。

步驟 100:當故障消失,則跳轉到步驟 0。

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

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

以下例程僅供參考。讀者如欲采納,風險自擔。

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

圖 6. 例子程序

3. 在主程序中調用該 FB,如圖 7 所示。

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

圖 7. 調用程序

五.通訊測試

對 FB 背景數據塊與 Modsim32 軟件進行監視,如圖 8 所示。

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

圖 8. 測試結果

注意:

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

ModSim32 是做 Modbus RTU 從站以及 Modbus TCP 服務器的測試軟件,是第三方軟件,可以從網絡上下載。

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

一.軟硬件要求

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

二.測試條件

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

軟件:TIA PORTAL STEP 7 V17

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

該實驗仿真讀取 Modbus TCP 轉 Modbus RTU 網關后的多個 Modbus RTU 從站數據的功能。

三.組態配置

1. CPU 硬件組態參考圖 1 的設置。

2. 電腦 IP 地址設置參考圖 2 的設置。

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

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

圖 9. ModSim32 的設置

四.編程

1. 新建 FB

如圖 10 所示,新建 FB,命名為 CommUnitId,在靜態變量中增加參數。

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

圖 10. 設置 FB 參數

參數含義參見表 2:

表 2. FB 接口參數含義

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

2. 編寫輪循功能

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

思路如下:

步驟 0:等待連接建立,當連接建立則跳轉到步驟 1。

步驟 1:設置讀取參數,設置 MB_Unit_ID = 1,觸發讀取,當讀取正常后,將讀取到的數據存入指定數據區,然后跳轉到步驟 2,如果故障同樣跳轉到步驟 2,如果連接中斷則跳轉到步驟 0。

步驟 2:設置讀取參數,設置 MB_Unit_ID = 2,觸發讀取,當讀取正常后,將讀取到的數據存入指定數據區,然后跳轉到步驟 1,如果故障同樣跳轉到步驟 1,如果連接中斷則跳轉到步驟 0。

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

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

以下例程僅供參考。讀者如欲采納,風險自擔。

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

圖 11. 例子程序

3. 在主程序中調用該 FB,如圖 12 所示。

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

圖 12. 調用程序

五.通訊測試

通訊結果如圖 13 所示。

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

圖 13. 測試結果

審核編輯:湯梓紅

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 通信
    +關注

    關注

    18

    文章

    6036

    瀏覽量

    136082
  • MODBUS
    +關注

    關注

    28

    文章

    1810

    瀏覽量

    77063
  • TCP
    TCP
    +關注

    關注

    8

    文章

    1362

    瀏覽量

    79112
  • RTU
    RTU
    +關注

    關注

    0

    文章

    414

    瀏覽量

    28691
  • S7-1200
    +關注

    關注

    11

    文章

    331

    瀏覽量

    17998

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

文章出處:【微信號:gh_a8b121171b08,微信公眾號:機器人及PLC自動化應用】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

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

    西門子PLC s7-1200 1500 modbus-tcp通信實例編程詳細指導
    發表于 11-24 12:24

    LabVIEW通過以太網與S7-1200 PLC通信

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

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

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

    S7-1200與PROFINET的通信

    S7-1200 CPU 本體上集成了一個PROFINET 通信口,支持以太網和基于TCP/IP 的通信標準。使用這個通信口可以實現
    發表于 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 通信的服務器端或客戶端(CPU V2.0及以上版本)。S7-1200 僅支持
    的頭像 發表于 08-17 10:51 ?2.9w次閱讀
    <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>的詳細資料說明

    關于S7-1200S7-1200之間UDP的通信與仿真

    S7-1200S7-1200 之間的以太網通信可以通過 UDP 協議來實現,使用的通信指令是在雙方 CPU 調用 T-block ( TCON, TDISCON, TUSEND,
    的頭像 發表于 04-22 09:14 ?5649次閱讀
    關于<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通信指令塊編程教程免費下載。
    發表于 03-28 16:08 ?10次下載

    TCP通信通過網絡調試助手與S7-1200建立TCP連接

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

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

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

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

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

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

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

    S7-1200 Modbus RTU 從站通信組態及編程步驟

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

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

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

    S7-1200通過網絡視圖建立開放式用戶通信連接

    S7-1200 V4.5 版本開始支持網絡視圖組態開放式用戶通信連接,不需要在程序中調用 TCON 等建立連接指令,只需要調用發送接收指令即可實現數據的收發。下面以 TCP 通信為例,
    的頭像 發表于 02-06 11:12 ?2202次閱讀

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

    軟件 STEP7 V11 SP1版本開始,S7-1200CPU 從Firmware V1.0.2開始,不再需要安裝Modbus TCP的庫文件,可以直接調用
    的頭像 發表于 10-29 17:24 ?6667次閱讀
    <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>概述
    主站蜘蛛池模板: 欧美sese| 成人欧美一区二区三区小说| 亚洲午夜日韩高清一区| 不卡一区| 久久免费国产| 精品国产污网站在线观看15| 222网站高清免费观看| 成年毛片| 五月婷丁香| 玖玖色视频| 国产午夜三级| 六月婷操| 毛片黄| 中文字幕在线乱码免费毛片| 免费在线观看大片影视大全| 一级做a爰片久久毛片看看 | 国产午夜影院| 国产一级特黄全黄毛片| 五月婷花| 特级片毛片| 高清视频一区二区三区| 久久久久国产一级毛片高清板| 天天操夜夜干| 国产一级aaa全黄毛片| 国产小视频你懂的| 丁香伊人五月综合激激激| 欧美色频| 四虎影院永久免费| 深爱激情婷婷| 成人久久久精品乱码一区二区三区| 老师下面很湿很爽很紧| 正在播放淫亚洲| 免费性网站| 欧美性一区| 国产亚洲papapa| 中文字幕一区二区三区四区五区人| 亚洲不卡免费视频| 一区二区视频| 亚洲 欧洲 日产 韩国在线| 久久精品国产99精品最新| 亚洲大成色www永久网址|