S7-1200 與 S7-300 PNS7-400 PN UDP 通信 TIA 相同項目

7-1200 與 S7-300 PN/S7-400 PN UDP 通信 TIA 相同項目

S7-1200 與 S7-300 PN 口之間的以太網通信可以通過 UDP 協議來實現,使用的通信指令是在雙方 CPU 調用通信-開放式用戶通信TSEND_C,TRCV_C(1200支持,300不支持)或TCON,TDISCON,TUSEND,TURCV 指令來實現。通信方式為雙邊通信,因此 TUSEND 和 TURCV 必須成對出現。

此外對于伙伴是S7-400PN 也可以參考本文檔。

硬件和軟件需求及所完成的通信任務

測試軟/硬件:

① S7-1214 DC/DC/DC V4.4

② S7-315-2PN/DP V2.6

③ STEP7 V16

所完成的通信任務:

① S7-1200 CPU將通訊數據區 DB4 塊中的 10 個字節的數據發送到 S7-300 CPU的接收數據區 DB5 塊中。

② S7-300 CPU將通訊數據區 DB5 塊中的 10 個字節的數據發送到 S7-1200 CPU的接收數據區 DB4 塊中。

1200 / 300 CPU 硬件組態配置

1.使用 STEP7 V16 軟件新建一個項目并完成硬件配置

在 STEP7 V16 的 “Portal 視圖” 中選擇 “創建新項目” 創建一個新項目。

2.添加1200CPU硬件并命名PLC

然后進入 “項目視圖”,在“項目樹” 下雙擊 “添加新設備”,在對話框中選擇所使用的 S7-1200 CPU添加到機架上,命名為 1200,如圖1所示。

A computer screen shot of a computerDescription automatically generated

圖1. 添加1200 CPU設備

為了編程方便,使用 CPU 屬性中定義的時鐘位,定義方法如下:

在 “項目樹” > “1200” > “設備組態” 中,選中 CPU ,然后在下面的屬性窗口中,“屬性” > “系統和時鐘存儲器” 下,將系統位定義在 MB1,時鐘字節定義在 MB0,如圖2所示。

時鐘位使用 M0.5,以 1Hz 的速率自動激活發送任務。

A screenshot of a computerDescription automatically generated

圖2. 啟用系統字節與時鐘字節

3.為 PROFINET 通信口分配以太網地址

在 “設備視圖”中點擊 CPU 上代表 PROFINET 通信口的綠色小方塊,在下方會出現 PROFINET 接口的屬性,在 “以太網地址” 下分配 IP 地址為 192.168.0.12 ,子網掩碼為255.255.255.0,如圖3所示。

A screenshot of a computerDescription automatically generated

圖3. 分配1200CPU IP 地址

4.添加300CPU硬件并命名PLC

然后進入 “項目視圖”,在“項目樹” 下雙擊 “添加新設備”,在對話框中選擇所使用的 S7-300 CPU 添加到機架上,命名為 300PN,如圖4所示。

A screenshot of a computerDescription automatically generated

圖4. 添加300 CPU設備

為了編程方便,使用 CPU 屬性中定義的時鐘位,定義方法如下:

在 “項目樹” > “300PN” > “設備組態” 中,選中 CPU ,然后在下面的屬性窗口中,“屬性” > “時鐘存儲器” 下時鐘字節定義在 MB0,如圖5所示。

時鐘位使用 M0.5,以 1Hz 的速率自動激活發送任務。

A screenshot of a computerDescription automatically generated

圖5. 啟動時鐘存儲器

5.為 PROFINET 通信口分配以太網地址

在 “設備視圖”中點擊 CPU 上代表 PROFINET 通信口的綠色小方塊,在下方會出現 PROFINET 接口的屬性,在 “以太網地址” 下分配 IP 地址為 192.168.0.3,子網掩碼為255.255.255.0,如圖6所示。

A screenshot of a computerDescription automatically generated

圖6. 分配300CPU IP 地址

7.創建 CPU之間的網絡連接

在項目樹 “項目樹”>“設備和網絡” >“網絡視圖” 視圖下,創建兩個設備的連接。用鼠標點中 S7-1200 上的PROFINET通信口的綠色小方框,然后拖拽出一條線,到另外一個 315-2PN/DP 上的PROFINET通信口上,松開鼠標,連接就建立起來了,如圖7所示。

A computer screen shot of a computerDescription automatically generated

圖7. 建立兩個 CPU的網絡連接

S7-1200 側編程和連接參數的配置

1.在OB1調用“TSEND_C”通信指令

在 S7-1200 CPU 中調用發送通信指令,進入 “項目樹” > “ 1200” > “程序塊” > “OB1” 主程序中,從右側窗口 “指令” > “通信” > “開放式用戶通信”下調用 “TSEND_C” 指令,創建連接,如圖8所示。

A screenshot of a computerDescription automatically generated

圖8. 調用 TSEND_C 通信指令

參數說明:

輸入接口參數:

REQ:= %M0.5// 使用 1Hz 的時鐘脈沖,上升沿激活發送任務;
CONT:= TRUE// 創建連接,默認TRUE;
CONNECT:=“_1200_Receive_DB".ConnectionData// UDP連接結構描述;
DATA:= "Data".USEND// 發送數據區的數據;
ADDR:=“_1200_Receive_DB".ADDR_Send// UDP通訊伙伴的連接參數,包括對方IP地址及端口;

輸出接口參數:

DONE:= %M10.1// 任務執行完成并且沒有錯誤,該位置 1;
BUSY:= %M10.2// 該位為 1,代表任務未完成,不能激活新任務;
ERROR:= %M10.3// 通信過程中有錯誤發生,該位置 1;
STATUS:= %MW12// 有錯誤發生時,會顯示錯位信息號。

2.配置 S7-1200 的 “TSEND_C”連接參數

S7-1200 的 “TSEND_C”指令的連接參數需要在指令下方的屬性窗口“屬性”> “組態”>“連接參數中”中設置,如圖9所示。

A screenshot of a computerDescription automatically generated

圖9. 配置 TSEND_C 連接參數

連接參數說明:

端點:可以通過點擊選擇按鈕選擇指定伙伴PLC;
連接類型:選擇通信協議為 UDP;
連接 ID:連接的地址 ID 號,這個 ID 號在后面的編程里會用到;
連接數據:點擊新建自動生成該數據塊;
主動建立連接:此功能在UDP連接時,不能選擇;
地址詳細信息:定義本地通信的端口號為:2000,伙伴端口為:2000;

3.創建并定義 S7-1200 的發送/接收數據區 DB4 塊

通過“項目樹”>“1200”>“程序塊”>“添加新塊”,選擇“數據塊” 創建 DB4 命名為“Data”。定義發送數據區USDED為 10 個字節的數組,接收數據區URCV為 10 個字節的數組,如圖10所示。

A screenshot of a computerDescription automatically generated

圖10. 創建發送/接收數據區 DB 塊

4.在OB1調用“TRCV_C”通信指令

進入 “項目樹” > “1200” > “程序塊” > “OB1 ” 主程序中,從右側窗口 “指令” > “通訊” > “開放式用戶通信”下調用 “TRCV_C” 指令,如圖11所示。

A screenshot of a computerDescription automatically generated

圖11. 調用 TRCV_C 通信指令

參數說明:

輸入接口參數:

REQ:= %M20.0// 準備好接收數據 M20.0=TRUE;
CONT:= TRUE// 創建連接,默認TRUE;
CONNECT:=“_1200_Receive_DB".ConnectionData// UDP連接結構描述;
DATA:= "Data".URCV// 接收數據區的數據;
ADDR:=“_1200_Receive_DB".ADDR_Send// UDP通訊伙伴的連接參數,包括對方IP地址及端口;

輸出接口參數:

DONE:= %M20.1// 任務執行完成并且沒有錯誤,該位置 1;
BUSY:= %M20.2// 該位為 1,代表任務未完成,不能激活新任務;
ERROR:= %M20.3// 通信過程中有錯誤發生,該位置 1;
STATUS:= %MW22// 有錯誤發生時,會顯示錯位信息號。

5.配置 S7-1200 的 “TRCV_C”連接參數

S7-1200 的 “TRCV_C”指令的連接參數需要在指令下方的屬性窗口“屬性”> “組態”>“連接參數中”中設置,如圖12所示。

A screenshot of a computerDescription automatically generated

圖12. 配置 TRCV_C 連接參數

連接參數說明:

端點:可以通過點擊選擇按鈕選擇指定伙伴PLC;
連接類型:選擇通信協議為 UDP;
連接 ID:連接的地址 ID 號,這個 ID 號在后面的編程里會用到;
連接數據:點擊新建自動生成該數據塊;
主動建立連接:此功能在UDP連接時,不能選擇;
地址詳細信息:定義本地通信的端口號為:2000。

1200CPU側配置和編程完成,編譯并存盤。

S7-300PN 側編程和連接參數的配置

1.在 S7-300 中調用“TCON”(300不支持TSEND_C和TRCV_C)通信指令

在S7-300 CPU 中調用通信指令,進入 “項目樹” > “ 300PN” > “程序塊” > “OB1” 主程序中,從右側窗口 “指令” > “通訊” > “開放式用戶通信”下調用 “TCON” 指令,創建連接,如圖13所示。

A screenshot of a computerDescription automatically generated

圖13. 調用 TCON 通信指令

2.配置S7-300 的 “TCON”連接參數

S7-300 的 “TCON”指令的連接參數需要在指令下方的屬性窗口“屬性”> “組態”>“連接參數中”中設置,如圖14所示。

A screenshot of a computerDescription automatically generated

圖14. 配置 TCON 連接參數

連接參數說明:

端點:可以通過點擊選擇按鈕選擇指定伙伴PLC;
連接類型:選擇通信協議為 UDP;
連接 ID:連接的地址 ID 號,這個 ID 號在后面的編程里會用到;
連接數據:點擊新建自動生成該數據塊;
主動建立連接:此功能在UDP連接時,不能選擇;
地址詳細信息:定義本地通信的端口號為:2000。

3.創建并定義 S7-300 的發送/接收數據區和UDP 連接參數數據塊 DB5 塊

通過“項目樹”>“300PN”>“程序塊”>“添加新塊”,選擇“數據塊” 創建 DB5 命名為“Data”。定義發送數據區USEND為 10 個字節的數組,接收數據區URCV為 10 個字節的數組;

定義UDP 伙伴參數數據,數據類型為“TADDR_PAR”,包含伙伴的IP地址和端口號信息(如對方1200 CPU 的 IP:192.168.0.12,端口號:2000)。如圖15所示。

A screenshot of a computerDescription automatically generated

圖15. 創建發送/接收數據區和UDP 連接參數數據塊DB 塊

4.在 OB1 內調用“TUSEND” 通信指令

進入 “項目樹” > “300PN” > “程序塊” > “OB1 ” 主程序中,從右側窗口 “指令” > “通訊” > “開放式用戶通信”下調用 “TUSEND” 指令,配置接口參數,如圖16所示。

A screenshot of a computerDescription automatically generated

圖16. 調用 TUSEND 通信指令

參數說明:

輸入接口參數:

REQ: = %M0.5// 使用 1Hz 的時鐘脈沖,上升沿激活發送任務;
ID: = 1// 創建連接ID;
LEN:= 10// 發送數據長度;
DATA: = "Data".usend// 發送數據區的數據;
ADDR: = "Data".Param// UDP通訊伙伴的連接參數,包括對方IP地址及端口,使用指針尋址;

輸出接口參數:

DONE:= %M20.1// 任務執行完成并且沒有錯誤,該位置 1;
BUSY:= %M20.2// 該位為 1,代表任務未完成,不能激活新任務;
ERROR:= %M20.3// 通信過程中有錯誤發生,該位置 1;
STATUS:= %MW22// 有錯誤發生時,會顯示錯位信息號。

5.在 OB1 內調用“TURCV” 通信指令

進入 “項目樹” > “300PN” > “程序塊” > “OB1 ” 主程序中,從右側窗口 “指令” > “通訊” > “開放式用戶通信”下調用 “TURCV” 指令,配置接口參數,如圖17所示。

A screenshot of a computerDescription automatically generated

圖17. 調用 TURCV 指令并配置接口參數

參數說明:

輸入接口參數:

EN_R:= M30.0// 準備好接收數據 M30.0=TRUE;
ID:= 1// 連接號,使用的是 TCON 的連接參數中 ID號;
LEN:= 10// 接收數據長度為 10 個字節;
DATA: = "Data".urcv// 接收數據區的地址;
ADDR: = "Data".Param// UDP通訊伙伴的連接參數,包括對方IP地址及端口,使用指針尋址;

輸出接口參數:

NDR:= %M30.1// 該位為 1,接收任務成功完成;
BUSY:= %M30.2// 該位為 1,代表任務未完成,不能激活新任務;
ERROR:= %M30.2// 通信過程中有錯誤發生,該位置 1;
STATUS:= %MW32// 有錯誤發生時,會顯示錯誤信息號;
RCVD_LEN// 實際接收數據的字節數。

300CPU側配置和編程完成,編譯并存盤。

下載硬件組態及程序并監控通信結果

下載兩個 CPU 中的所有硬件組態及程序,實現兩個 CPU 之間數據交換,監控結果如圖18所示。

A screenshot of a computerDescription automatically generated

圖18. 監控結果

附加說明

如果通信異常,請參考以下附加說明文檔。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/90960.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/90960.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/90960.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

java進階(二)+學習筆記

面向對象設計原則1. 面向對象概念面向對象 是一種編程思想,面向過程是關注實現的步驟,每個步驟定義一個函數,調用函數執行即可。面向對象關注的是誰(對象)來執行, 把具有相同屬性和行為的一類事物(對象)進行抽象成類&#…

[附源碼+數據庫+畢業論]基于Spring Boot+mysql+vue結合內容推薦算法的學生咨詢系統

摘要 隨著互聯網的普及,學生在學習和生活中面臨著海量信息,如何高效獲取有價值的內容成為亟待解決的問題。本文基于 Spring Boot 框架,結合內容推薦算法,設計并實現了一個學生咨詢系統。系統采用 Spring Boot MyBatis MySQL Vu…

DeepSeek 微調實踐:DeepSeek-R1 大模型基于 MS-Swift 框架部署 / 推理 / 微調實踐大全

注:此文章內容均節選自充電了么創始人,CEO兼CTO陳敬雷老師的新書《GPT多模態大模型與AI Agent智能體》(跟我一起學人工智能)【陳敬雷編著】【清華大學出版社】 GPT多模態大模型與AI Agent智能體書籍本章配套視頻課程【陳敬雷】 文…

python基礎知識pip配置pip.conf文件

pip.conf一、 INI格式二、 級別三、 文件位置四、 加載順序五、 常用一、 INI格式 配置文件可以更改pip命令行選項的默認值,這個文件是使用INI格式編寫的。 INI格式 主要包含三個內容:1.節section 2.鍵值對 3.注釋 [section1] key1 value1 \\注釋 key2…

深入理解 Java JVM

文章目錄📕1. JVM簡介📕2. JVM運行流程📕3. JVM運行時數據區📕4. JVM類加載??4.1 類加載過程??4.2 雙親委派模型??4.3 破壞雙親委派模型📕5. JVM垃圾回收機制(GC機制)??5.1 判斷死亡對象…

Linux內核高效之道:Slab分配器與task_struct緩存管理

前言 在Linux內核中,進程創建與銷毀是最頻繁的操作之一。想象一下:當系統每秒需要處理成百上千次fork()和exit()調用時,如何保證task_struct(進程描述符)的分配與釋放既快速又不產生內存碎片?這就是Slab分配…

雙esp8266-01之間UDP透傳傳輸,自定義協議

使用AT模式的透傳,串口打印的數據包含pd1,4,數據打印的數據不是直接將數據打印出來,包含了pd1,4,特殊字符,針對想要直接開機直接透傳,打印數據且按照自主協議幀頭的功能進行開發。1.server程序:/*************SERVER**…

BGP 路由優選屬性(7)【MED】官方考試綜合實驗題【bgp】【acl】【ip-prefix】【route-policy】【icmp 環路】精講

目錄 一、MED 屬性介紹 二、實驗 2.1 實驗目的 2.2 拓撲圖 2.2 實驗說明 2.3 配置腳本 2.4 驗證配置 2.5 問題分析 2.7 題目需求解析 2.8 場景 1:只允許在 AS12 上操作 2.9 場景 2:只允許在 AS34 上操作 正文 一、MED 屬性介紹 MED 全稱 mu…

html-初級標簽

一.瀏覽器能識別的標簽 1.1 head標簽里的編碼和title <head><meta charset"UTF-8"><title>Title</title> </head>1.2 標題 <body><h1>Welcome to my website</h1><h2>Welcome to my website</h2><…

【八股消消樂】Kafka集群 full GC 解決方案

&#x1f60a;你好&#xff0c;我是小航&#xff0c;一個正在變禿、變強的文藝傾年。 &#x1f514;本專欄《八股消消樂》旨在記錄個人所背的八股文&#xff0c;包括Java/Go開發、Vue開發、系統架構、大模型開發、具身智能、機器學習、深度學習、力扣算法等相關知識點&#xff…

《Java Web程序設計》實驗報告二 學習使用HTML標簽、表格、表單

目 錄 一、實驗目的 二、實驗環境 三、實驗步驟和內容 1、小組成員分工&#xff08;共計4人&#xff09; 2、實驗方案 3、實驗結果與分析 4、項目任務評價 四、遇到的問題和解決方法 五、實驗總結 一、實驗目的 1、HTML基礎知識、基本概念 2、使用HTML標簽、表格進行…

jenkins使用Jenkinsfile部署springboot+docker項目

文章目錄前言一、前期準備二、編輯構建文件二、Jenkins構建總結前言 前面使用Jenkinsfile部署了前端vue項目&#xff0c;接著學習Jenkinsfile部署springboot項目。 一、前期準備 已經安裝好centos,并且安裝了jenkins和docker。本地新建springboot并上傳到gitee上。 二、編輯…

使用ESM3蛋白質語言模型進行快速大規模結構預測

文章目錄ESM3介紹ESM3在線使用本地使用api批量預測ESM相較于AlphaFold的優勢ESM3介紹 ESM3是由EvolutionaryScale&#xff08;前Meta團隊&#xff09;開發的一款蛋白質大語言模型&#xff0c;于2025年以《用語言模型模擬 5 億年的進化》為題正式發表在Science上 文章鏈接: htt…

PostgreSQL 時間/日期管理詳解

PostgreSQL 時間/日期管理詳解 引言 PostgreSQL是一款功能強大的開源關系型數據庫管理系統&#xff0c;在時間/日期管理方面具有獨特的優勢。本文將詳細介紹PostgreSQL中時間/日期數據類型及其相關功能&#xff0c;幫助讀者更好地理解和應用時間/日期管理。 時間/日期數據類型 …

Agent篇

Agent包含哪些模塊&#xff0c;實現了什么功能Agent 就像一個多功能的接口&#xff0c;它能夠接觸并使用一套工具。根據用戶的輸入&#xff0c;Agent會規劃出一條解決用戶問題的路線&#xff0c;決定其中需要調用哪些工具&#xff0c;并調用這些工具。Agent 大語言模型規劃記憶…

利用 MySQL 進行數據清洗

利用 MySQL 進行數據清洗是數據預處理的重要環節&#xff0c;以下是常見的數據清洗操作及對應 SQL 示例&#xff1a;1. 去除重復數據使用 ROW_NUMBER() 或 GROUP BY 識別并刪除重復記錄。-- 查找重復記錄&#xff08;以 user_id 和 email 為例&#xff09; WITH Duplicates AS …

【MySQL筆記】事務的ACID特性與隔離級別

目錄1. 什么是事務&#xff1f;2. 事務的ACID特性&#xff08;重要&#xff09;3. 事務控制語法4. 隔離級別與并發問題1. 什么是事務&#xff1f; 事務&#xff08;Transaction&#xff09;是由一組SQL語句組成的邏輯單元&#xff0c;這些操作要么全部成功&#xff0c;要么全部…

Mock 數據的生成與使用全景詳解

Mock 數據的生成與使用全景詳解 在后端開發過程中,真實數據往往受限于業務進度、隱私保護或接口未完成等因素,無法及時獲取。這時,Mock數據(模擬數據)就成為開發、測試、聯調不可或缺的利器。本文將從Mock數據的意義、常用場景、主流工具、實戰案例到最佳實踐,帶你全面掌…

HTML 標題標簽

需求&#xff1a;在網頁顯示六級標題標簽。代碼&#xff1a;//需求&#xff1a;在網頁顯示六級標題標簽。 <!DOCTYPE html> <html><head><meta charset"utf-8" /><title></title></head><body><h1>一級標題&l…

(限免!!!)全國青少年信息素養大賽-算法創意實踐挑戰賽小學組復賽(代碼版)

選擇題部分在 C 中&#xff0c;以下代表布爾類型的是&#xff08;  &#xff09;選項&#xff1a;A. double B. bool C. int D. char答案&#xff1a;B解析&#xff1a;C 中布爾類型的關鍵字為bool&#xff0c;用于存儲邏輯值true或false。執行以下程序&#xff0c;輸出的…