精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

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

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

3天內不再提示

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

機器人及PLC自動化應用 ? 來源:機器人及PLC自動化應用 ? 2023-10-29 17:24 ? 次閱讀

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

Modbus TCP是標準的網絡通信協議,通過CPU上PN接口進行TCP/IP通信,不需要額外的通信硬件模塊,Modbus TCP使用開放式用戶通信連接作為Modbus通信路徑,所支持的混合客戶機和服務器連接數最大為CPU所允許的最大開放式用戶通信連接數8個。

軟件 STEP7 V11 SP1版本開始,S7-1200CPU 從Firmware V1.0.2開始,不再需要安裝Modbus TCP的庫文件,可以直接調用Modbus TCP的庫指令“MB_CLIENT”和“MB_SERVER”使用實現Modbus TCP通信功能,如圖1所示。

df520ddc-7632-11ee-939d-92fbcf53809c.jpg

圖1. Modbus TCP的庫指令

S7-1200 做 Modbus Tcp Server(服務器)

“MB_SERVER”指令將處理Modbus TCP客戶機的連接請求、接收Modbus功能的請求并發送響應。

1.調用MB_SERVER通信指令,進入 “Program blocks” > “OB1” 主程序中調用,設置連接ID、IP端口參數,如下圖2所示。

df60663e-7632-11ee-939d-92fbcf53809c.jpg

圖2.調用MB_SERVER通信指令

功能塊參數意義如下表5.

管腳 說明
DISCONNECT “MB_SERVER”指令建立與客戶機的被動連接:0-建立與指定IP地址和端口號的通訊連接,默認為0;1-斷開通訊連接,在終止連接的過程中,不執行任何其他功能;
CONNECT_ID 連接的ID號:每個連接只有一個唯一的ID號;
IP_PORT IP 端口號將定義Modbus 客戶機連接請求中要監控的IP端口號,默認值:502;
HB_HOLD_REG 指向“MB_SERVER”指令的Modbus保持寄存器的指針:保持寄存器可以是全局DB塊或M區,如果是DB塊則需要定義為“標準與S7- 300/400兼容”的類型,如圖3所示,保持寄存器包含Modbus客戶機可通過Modbus功能 FC03(讀取)、FC06(寫入)和FC16(讀取)訪問的值;
NDR 新數據就緒:0-沒有新數據;1-從Modbus客戶機寫入新數據;
DR 數據讀取:0-沒有讀取數據;1-從Modbus客戶機讀取數據;
ERROR 錯誤位:0-無錯誤;1-出現錯誤,錯誤原因查看STATUS;
STATUS 錯誤代碼;

表1. 功能塊“MB_SERVER”參數

2.MB_DATA_PTR數據塊的新建

通過“Program blocks”>“Add new block”,選擇“Data block”創建 DB 塊,選擇“標準與S7- 300/400兼容” ,點擊“OK”鍵,定義數據區為100個字的數組,如圖3所示。

df740fd6-7632-11ee-939d-92fbcf53809c.jpg

df88273c-7632-11ee-939d-92fbcf53809c.jpg

圖3.新建MB_DATA_PTR數據塊

3.Modbus地址的對應關系

“MB_SERVER”指令允許到達的Modbus功能(FC01、FC02、FC04、FC05、FC15)直接讀取和寫入訪問S7-1200CPU的過程映像輸入/輸出區(數據類型:BOOL和WORD),通過Modbus功能代碼(FC03、FC06和FC16)將到達的Modbus消息寫入Modbus保持寄存器或從寄存器中讀取(可通過MB_SERVER指令的參數“MB_HOLD_REG”指定保持寄存器),保持寄存器的大小(MB_HOLD_REG參數)必須大于1個字節,詳細參考表2.。

Modbus功能 S7-1200
代碼 功能 數據區 地址空間 數據區 CPU地址
FC01 讀取:位 Output 00001到08192 過程映像輸出 Q0.0到Q1023.7
FC02 讀取:位 Input 10001到18192 過程映像輸入 I0.0到I1023.7
FC04 讀取:字 Input 30001到30512 過程映像輸入 IW0到IW1022
FC05 寫入:位 Output 00001到08192 過程映像輸出 Q0.0到Q1023.7
FC15 寫多入:位 Output 00001到08192 過程映像輸出 Q0.0到Q1023.7

表2.Modbus地址的對應關系

4.客戶機端 Modscan32 軟件設置

df958f08-7632-11ee-939d-92fbcf53809c.jpg注意:客戶機采用Modscan32軟件測試,Modscan32 做 Modbus TCP Client 測試軟件,是第三方軟件,可以從 internet 網絡上下載。

將測試電腦的IP地址設置成192.168.0.210,打開Modscan32 軟件,在Modscan32的“Setup->Data Definition”中設置功能碼、起始地址、長度等,如圖4所示。

dfa65fae-7632-11ee-939d-92fbcf53809c.jpg

圖4.設置“Data Definition”參數

在“Connection->connect...”中打開連接屬性對話框,選擇“Remote modbus TCP Server”,設置服務器的IP地址,端口號,如圖5所示。

dfb6fcec-7632-11ee-939d-92fbcf53809c.jpg

dfc3b306-7632-11ee-939d-92fbcf53809c.jpg

圖5.設置連接屬性

df958f08-7632-11ee-939d-92fbcf53809c.jpg注意:用Modsscan32做客戶機不需要考慮Device ID和服務器一致的情況,服務器自動響應客戶機的Device ID。

5.通訊測試

S7-1200作服務器,客戶機Modscan32用FC03功能碼讀取服務器的兩個字,設置客戶機和服務器的功能、起始地址、端口等參數相對應,具體設置如圖5~6所示,

dfd87002-7632-11ee-939d-92fbcf53809c.jpg

圖6.S7-1200作服務器

通訊結果如下圖7所示,Modscan32從服務器讀到數據10,20到客戶機的DB4.DBW0和DB4.DBW2區域。

dfe89914-7632-11ee-939d-92fbcf53809c.jpg

圖7.FC03通訊結果

用功能FC15向服務器的Q0.0~Q0.7寫8位數據,設置連接參數,Modscan32設置結果如下圖8所示。

dffe4dae-7632-11ee-939d-92fbcf53809c.jpg

圖8.使用FC15通訊,設置Modscan32

測試結果,服務器側直接對應過程映像輸出區,00001~00008對應Q0.0~Q0.7,如下圖9所示。

e011b736-7632-11ee-939d-92fbcf53809c.jpg

圖9. 使用FC15通訊測試結果

6.HR_Start_Offset背景參數

HR_Start_Offset是類型為字,用于指定Modbus保持寄存器的起始地址,存儲在MB_SERVER背景數據塊中,默認值是0,可以通過編程將值寫入HR_Start_Offset。以上面FC03功能讀2個字為例,將HR_Start_Offset的偏移量設置成2,其他參數不修改,HR_Start_Offset偏移前后地址對應關系如下表7,編程調用和結果如圖10~11所示。

HR_Start_Offset 地址 數據1 數據2
0 Modbus 地址(字) 40001 40002
S7-1200地址 DB4.DBW0 DB4.DBW2
2 Modbus 地址(字) 40003 40004
S7-1200地址 DB4.DBW0 DB4.DBW2

表3. HR_Start_Offset偏移前后地址對應關系

編程調用如下圖10所示

e0208fe0-7632-11ee-939d-92fbcf53809c.jpg

e030e106-7632-11ee-939d-92fbcf53809c.jpg

圖10.HR_Start_Offset的偏移量設置

通訊結果如下圖11所示

e04286e0-7632-11ee-939d-92fbcf53809c.jpg

圖11. 通訊結果

7.MB_SERVER參數STATUS的查詢參考下面列表4.

STATUS(W#16#) 發送到Modbus客戶端的響應代碼(B#16#) 錯誤說明
7001 MB_SERVER 正在等待Modbus客戶機連接到指定的TCP端口,僅在第一次執行連接或斷開操作時才報告此代碼
7002 MB_SERVER 正在等待Modbus客戶機連接到指定的TCP端口,等待連接或斷開操作完成時,將針對任何后續執行報告此代碼
7003 斷開操作已成功完成(僅在一個PLC掃描周期內有效)
8187 參數MB_HOLD_REG中的指針無效,數據區過小
818C 參數MB_HOLD_REG指向優化的區域(必須為“標準與S7- 300/400兼容”的DB或M區)或因執行超時出錯(55秒)
8381 01 不支持此功能代碼
8382 03 數據長度錯誤
8383 02 數據地址錯誤或訪問了保持寄存器(MB_HOLD_REG參數)地址以外的區域
8384 03 數據值錯誤
8385 03 不支持此數據診斷代碼值(功能FC08)

表4.MB_SERVER參數STATUS


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

    關注

    28

    文章

    861

    瀏覽量

    40274
  • TCP
    TCP
    +關注

    關注

    8

    文章

    1351

    瀏覽量

    78997
  • S7-1200
    +關注

    關注

    11

    文章

    331

    瀏覽量

    17922

原文標題:S7-1200集成PN接口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、
    發表于 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-300400 CPU集成PN接口Modbus TCP在TIA Portal的使用入門教程

    基于S7-300400 CPU集成PN接口Modbus TCP在TIA Portal的使用入門
    的頭像 發表于 12-03 16:42 ?4230次閱讀

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

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

    S7-1200S7-300 PN口之間的以太網通信方法

    S7-1200S7-300 PN 口之間的以太網通信可以通過 UDP 協議來實現,使用的通信指令是在雙方 CPU 調用
    的頭像 發表于 04-11 09:44 ?6965次閱讀

    S7-1200S7-300 PN/S7-400 PN UDP STEP7通信

    S7-1200S7-300 PN 口之間的以太網通信可以通過 UDP 協議來實現,使用的通信指令是在雙方 CPU 調用
    的頭像 發表于 04-11 10:15 ?4506次閱讀

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

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

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

    西門子S7-1200集成以太網接口,通過該接口可以與其它設備進行以太網通信S7-1200的以太
    的頭像 發表于 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 ?8032次閱讀

    S7-1200S7-300集成DP口的主從通信1200做主站,300做從站)

    使用 S7-1200S7-300 的集成 DP 接口進行主從通信,這里是將 S7-1200
    的頭像 發表于 02-06 11:16 ?4820次閱讀

    S7-300/400集成PNMODBUS TCP通訊(TIA)

    下面以S7-300單站系統及Modbus Slave軟件為例,詳細介紹如何將S7-300單站系統CPU的集成PN口配置為Client,
    的頭像 發表于 03-08 11:24 ?7081次閱讀

    S7-1200 CPU與S7-200 SMART S7通信指南

    S7-1200 CPU 固件版本 V2.0 及其以上,本體集成的 PROFINET 通信接口可以做 S7
    的頭像 發表于 04-19 15:14 ?3065次閱讀