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

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

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

S7-1200與S7-1200/S7-1500不同項(xiàng)目下UDP通信

機(jī)器人及PLC自動化應(yīng)用 ? 來源:機(jī)器人及PLC自動化應(yīng)用 ? 作者:機(jī)器人及PLC自動化 ? 2023-01-10 09:19 ? 次閱讀

S7-1200 與 S7-1200/S7-1500 不同項(xiàng)目下 UDP 通信

S7-1200 與 S7-1200 之間的以太網(wǎng)通信可以通過 UDP 協(xié)議來實(shí)現(xiàn)。本列中使用TSEND_C,TRCV_C指令建立雙方的UDP通訊。TSEND_C,TRCV_C指令在兩臺PLC間必須成對存在。

此外S7-1200 與 S7-1500 在不同項(xiàng)目下UDP通信也可以參考本文檔。

一、硬件及軟件環(huán)境

硬件:

① 兩臺 S7-1200 CPU V4.4
② PC(帶以太網(wǎng)卡)
③ TP電纜(以太網(wǎng)電纜)

軟件:
STEP7 V16

二、PLC_1 CPU配置

1. 通訊關(guān)系

d6e22032-9033-11ed-bfe3-dac502259ad0.png

圖1. 連接關(guān)系

2. 組態(tài)CPU的硬件配置

1. 打開 STEP7 v16 軟件并新建項(xiàng)目

在 STEP7 v16的 “Portal 視圖” 中創(chuàng)建一個(gè)新項(xiàng)目。

2. 添加硬件并命名PLC

在“項(xiàng)目樹” 下雙擊 “添加新設(shè)備”,在對話框中選擇所使用的S7-1200 CPU添加到機(jī)架上,命名為PLC_1。

d6ff3640-9033-11ed-bfe3-dac502259ad0.png

圖2. 添加CPU

3. 組態(tài)系統(tǒng)時(shí)鐘

在CPU 屬性中定義的時(shí)鐘位, 在 “項(xiàng)目樹” > “PLC_1” > “設(shè)備組態(tài)” 中,選中 CPU ,然后在下面的屬性窗口中,“屬性” > “常規(guī)”>“系統(tǒng)和時(shí)鐘存儲器” 下,勾選“啟用系統(tǒng)存儲器字節(jié)”及“啟用時(shí)鐘存儲器字節(jié)”。

d71d43c4-9033-11ed-bfe3-dac502259ad0.png

圖3. 系統(tǒng)位與時(shí)鐘位

4. 組態(tài)PROFINET通訊接口

在CPU的屬性窗口中,“屬性” > “常規(guī)”>“PROFINET接口[X1]”>“以太網(wǎng)地址”下,點(diǎn)擊添加新子網(wǎng),分配PLC_1 CPU IP地址:192.168.0.2,子網(wǎng)掩碼:255.255.255.0。

d73e4600-9033-11ed-bfe3-dac502259ad0.png

圖4. 組態(tài)PROFINET接口

5. 編譯CPU的硬件組態(tài)并下載 。

在設(shè)備視圖下,“編輯”菜單 > “編譯”。

在設(shè)備視圖下,“在線”菜單 > “下載到設(shè)備”。

3. 建立通訊用DB

在項(xiàng)目樹下添加新塊,分別命名為PLC1_Rcv,PLC1_Send。

在 DB 塊中建立用于接收及發(fā)的數(shù)據(jù)數(shù)組(本例中建立100個(gè)byte)。

建立完成 DB 后,右鍵點(diǎn)擊 DB 塊,在打開的快捷菜單中打開 DB 的屬性,去除 DB 的“優(yōu)化的塊訪問屬性”,見圖6。

d75adb6c-9033-11ed-bfe3-dac502259ad0.png

圖5. 建立通訊用DB塊

d772ff30-9033-11ed-bfe3-dac502259ad0.png

圖6. 去除DB塊的優(yōu)化屬性

4. 配置 TSEND_C 指令

從指令表(圖7)加入指令塊 TSEND_C 到主程序中。

d78424b8-9033-11ed-bfe3-dac502259ad0.png

圖7. 加入 TSEND_C功能塊

點(diǎn)擊指令塊上的開始組態(tài)按鈕,打開“連接參數(shù)”組態(tài)窗口。

d7a07a8c-9033-11ed-bfe3-dac502259ad0.png

圖8. 組態(tài)連接參數(shù)

圖8中的參數(shù)

端點(diǎn):連接伙伴未在同一項(xiàng)目中,此處選擇未指定。

連接類型:UDP,此處使用UDP通訊。

連接ID:不能和CPU中的其它通訊ID沖突 。

連接數(shù)據(jù):此處新建連接。

端口:本例中雙邊通訊端口定為2000。

配置TSEND_C指令管腳

d7bf13ac-9033-11ed-bfe3-dac502259ad0.png

圖9. TSEND_C功能塊

參數(shù)說明:

輸入接口參數(shù):

REQ:此處使用時(shí)鐘脈沖信號,上升沿執(zhí)行發(fā)送作業(yè)。

LEN:發(fā)送數(shù)據(jù)長度,此值必須小于或者等于DATA中指定的發(fā)送區(qū)長度,單位:字節(jié)(此參數(shù)默認(rèn)為隱藏參數(shù),可以點(diǎn)擊功能塊底部箭頭顯示)。示例中發(fā)送10個(gè)Byte到接收區(qū)。

DATA:指向發(fā)送數(shù)據(jù)區(qū)的指針。p#db3.dbx0.0 byte 20:起始地址為db3.dbx0.0,長度為20個(gè)byte。此處指向的地址及長度必須小于或者等于DB3塊中的建立的數(shù)據(jù)長度。

輸出接口參數(shù):

DONE:發(fā)送作業(yè)成功完成時(shí),會顯示一個(gè)循環(huán)周期的1。抓取DONE位狀態(tài)程序見診斷程序中的圖30。

ERROR:當(dāng)功能塊出現(xiàn)錯(cuò)誤時(shí)為1。

STATUS:功能塊的運(yùn)行狀態(tài)。錯(cuò)誤狀態(tài)的抓取程序見診斷程序中的圖31。

5. 配置 TRCV_C 指令

從指令表(圖10)加入指令塊 TRCV_C 到主程序中

d7dd1712-9033-11ed-bfe3-dac502259ad0.png

圖10. 加入 TRCV_C 功能塊

點(diǎn)擊指令塊上的開始組態(tài)按鈕,打開“連接參數(shù)”組態(tài)窗口,并選擇圖8中組態(tài)好的參數(shù)塊。

d7fd1364-9033-11ed-bfe3-dac502259ad0.png

圖11. 組態(tài)連接參數(shù)

配置TRCV_C指令管腳

d8227a28-9033-11ed-bfe3-dac502259ad0.png

圖12. TRCV_C 功能塊

參數(shù)說明:

輸入接口參數(shù):

EN_R:啟用接收功能 ,此處設(shè)置為1,一直打開接收。

LEN:接收數(shù)據(jù)長度,必須和通訊伙伴的發(fā)送長度設(shè)置一致。單位:字節(jié)(此參數(shù)默認(rèn)為隱藏參數(shù),可以點(diǎn)擊功能塊底部箭頭顯示)。

DATA:指向接收數(shù)據(jù)區(qū)的指針。p#db4.dbx0.0 byte 20:起始地址為db4.dbx0.0,長度為20個(gè)byte。此處指向的地址及長度必須小于或者等于DB4塊中的建立的數(shù)據(jù)長度。

輸出接口參數(shù):

DONE:接收作業(yè)成功完成時(shí),會顯示一個(gè)循環(huán)周期的1。抓取DONE位狀態(tài)程序見診斷程序中的圖32。

RCVD_LEN:接收到的字節(jié)數(shù)。

ERROR:當(dāng)功能塊出現(xiàn)錯(cuò)誤時(shí)為1。

STATUS:功能塊的運(yùn)行狀態(tài)。錯(cuò)誤狀態(tài)的抓取程序見診斷程序中的圖33。

6. 檢查通訊DB塊

在“程序塊”-“系統(tǒng)塊”-“程序資源”下,雙擊打開DB塊“PLC_1_Send_DB”。

d83b1e48-9033-11ed-bfe3-dac502259ad0.png

圖13. 檢查通訊連接DB

紅色框內(nèi)填寫通訊伙伴的IP(此處為PLC_2的IP地址)和端口

三、PLC_2 CPU配置

1. 連接關(guān)系

d8632e6a-9033-11ed-bfe3-dac502259ad0.png

圖14. 連接關(guān)系

2. 組態(tài)CPU的硬件配置

1. 打開 STEP7 v16 軟件并新建項(xiàng)目

在 STEP7 v16的 “Portal 視圖” 中創(chuàng)建一個(gè)新項(xiàng)目。

2. 添加硬件并命名PLC

在“項(xiàng)目樹” 下雙擊 “添加新設(shè)備”,在對話框中選擇所使用的S7-1200 CPU添加到機(jī)架上,命名為PLC_2。

d86e9d86-9033-11ed-bfe3-dac502259ad0.png

圖15. 添加CPU

3. 組態(tài)系統(tǒng)時(shí)鐘

在CPU 屬性中定義的時(shí)鐘位, 在 “項(xiàng)目樹” > “PLC_2” > “設(shè)備組態(tài)” 中,選中 CPU ,然后在下面的屬性窗口中,“屬性” > “常規(guī)”>“系統(tǒng)和時(shí)鐘存儲器” 下,勾選“啟用系統(tǒng)存儲器字節(jié)”及“啟用時(shí)鐘存儲器字節(jié)”。

d71d43c4-9033-11ed-bfe3-dac502259ad0.png

圖16. 系統(tǒng)位與時(shí)鐘位

4. 組態(tài)PROFINET通訊接口

在CPU的屬性窗口中,“屬性” > “常規(guī)”>“PROFINET接口[X1]”>“以太網(wǎng)地址”下,點(diǎn)擊添加新子網(wǎng),分配PLC_2 CPU IP地址:192.168.0.3,子網(wǎng)掩碼:255.255.255.0。

d8983fba-9033-11ed-bfe3-dac502259ad0.png

圖17. 組態(tài)PROFINET接口

5. 編譯CPU的硬件組態(tài)并下載 。

在設(shè)備視圖下,“編輯”菜單 > “編譯”。

在設(shè)備視圖下,“在線”菜單 > “下載到設(shè)備”。

3. 建立通訊用DB

在項(xiàng)目樹下添加新塊,分別命名為SeverRcv,SeverSend。

在 DB 塊中建立用于接收及發(fā)的數(shù)據(jù)數(shù)組(本例中建立100個(gè)byte)。

建立完成 DB 后,右鍵點(diǎn)擊 DB 塊,在打開的快捷菜單中打開 DB 的屬性,去除 DB 的“優(yōu)化的塊訪問屬性”,見圖19。

d8a74a32-9033-11ed-bfe3-dac502259ad0.png

圖18. 建立通訊用DB塊

d8bfb5cc-9033-11ed-bfe3-dac502259ad0.png

圖19. 去除DB塊的優(yōu)化屬性

4. 配置 TSEND_C 指令

從指令表(圖20)加入指令塊 TSEND_C 到主程序中。

d78424b8-9033-11ed-bfe3-dac502259ad0.png

圖20. 加入 TSEND_C功能塊

點(diǎn)擊指令塊上的開始組態(tài)按鈕,打開“連接參數(shù)”組態(tài)窗口。

d8e4c4de-9033-11ed-bfe3-dac502259ad0.png

圖21. 組態(tài)連接參數(shù)

圖21中的參數(shù):

端點(diǎn):連接伙伴未在同一項(xiàng)目中,此處選擇未指定。

地址:在伙伴側(cè)寫入服務(wù)器的通訊地址。

連接類型:UDP,此處使用UDP通訊。

連接ID:不能和CPU中的其它通訊ID沖突 。

連接數(shù)據(jù):此處新建連接。

主動建立連接:選擇主動建立連接的為客戶端,另外一側(cè)為服務(wù)器,本例中伙伴CPU為服務(wù)器,本地CPU主動建立連接。

端口:本例中雙邊通訊端口定為2000。

配置TSEND_C指令管腳

d90cbce6-9033-11ed-bfe3-dac502259ad0.png

圖22. TSEND_C功能塊

參數(shù)說明:

輸入接口參數(shù):

REQ:此處使用時(shí)鐘脈沖信號,上升沿執(zhí)行發(fā)送作業(yè)。

LEN:發(fā)送數(shù)據(jù)長度,此值必須小于或者等于DATA中指定的發(fā)送區(qū)長度,單位:字節(jié)(此參數(shù)默認(rèn)為隱藏參數(shù),可以點(diǎn)擊功能塊底部箭頭顯示)。示例中發(fā)送10個(gè)Byte到接收區(qū)。

DATA:指向發(fā)送數(shù)據(jù)區(qū)的指針。p#db3.dbx0.0 byte 20:起始地址為db3.dbx0.0,長度為20個(gè)byte。此處指向的地址及長度必須小于或者等于DB3塊中的建立的數(shù)據(jù)長度。

輸出接口參數(shù):

DONE:發(fā)送作業(yè)成功完成時(shí),會顯示一個(gè)循環(huán)周期的1。抓取DONE位狀態(tài)程序見診斷程序中的圖30。

ERROR:當(dāng)功能塊出現(xiàn)錯(cuò)誤時(shí)為1。

STATUS:功能塊的運(yùn)行狀態(tài)。錯(cuò)誤狀態(tài)的抓取程序見診斷程序中的圖31。

5. 配置 TRCV_C 指令

從指令表(圖23)加入指令塊 TRCV_C 到主程序中。

d7dd1712-9033-11ed-bfe3-dac502259ad0.png

圖23. 加入 TRCV_C 功能塊

點(diǎn)擊指令塊上的開始組態(tài)按鈕,打開“連接參數(shù)”組態(tài)窗口,并選擇圖21中組態(tài)好的參數(shù)塊。

d9329cf4-9033-11ed-bfe3-dac502259ad0.png

圖24. 組態(tài)連接參數(shù)

配置TRCV_C指令管腳

d95a19dc-9033-11ed-bfe3-dac502259ad0.png

圖25. TRCV_C 功能塊

參數(shù)說明:

輸入接口參數(shù):

EN_R:啟用接收功能 ,此處設(shè)置為1,一直打開接收。

LEN:接收數(shù)據(jù)長度,必須和通訊伙伴的發(fā)送長度設(shè)置一致。單位:字節(jié)(此參數(shù)默認(rèn)為隱藏參數(shù),可以點(diǎn)擊功能塊底部箭頭顯示)。

DATA:指向接收數(shù)據(jù)區(qū)的指針。p#db4.dbx0.0 byte 20:起始地址為db4.dbx0.0,長度為20個(gè)byte。此處指向的地址及長度必須小于或者等于DB4塊中的建立的數(shù)據(jù)長度。

輸出接口參數(shù):

DONE:接收作業(yè)成功完成時(shí),會顯示一個(gè)循環(huán)周期的1。抓取DONE位狀態(tài)程序見診斷程序中的圖32。

RCVD_LEN:接收到的字節(jié)數(shù)。

ERROR:當(dāng)功能塊出現(xiàn)錯(cuò)誤時(shí)為1。

STATUS:功能塊的運(yùn)行狀態(tài)。錯(cuò)誤狀態(tài)的抓取程序見診斷程序中的圖33。

6. 檢查通訊DB塊

在“程序塊”-“系統(tǒng)塊”-“程序資源”下,雙擊打開DB塊“PLC_2_Send_DB”。

d96d8e7c-9033-11ed-bfe3-dac502259ad0.png

圖26. 檢查通訊連接DB

紅色框內(nèi)填寫通訊伙伴的IP(此處為PLC_1的IP地址)和端口。

四、通訊診斷

1. 通訊數(shù)據(jù)查看

d99e1114-9033-11ed-bfe3-dac502259ad0.png

圖27. 通訊數(shù)據(jù)

2. 連接診斷

將 1200CPU 轉(zhuǎn)至在線狀態(tài),打開“網(wǎng)絡(luò)視圖”,可以在“連接”選項(xiàng)卡中看到連接狀態(tài)。

d9b94bbe-9033-11ed-bfe3-dac502259ad0.png

圖28. 連接狀態(tài)

將鼠標(biāo)選中連接,在巡視窗口中,可以檢查連接的具體狀態(tài)。

d9ceb166-9033-11ed-bfe3-dac502259ad0.png

圖29. 連接詳細(xì)狀態(tài)

3. 利用功能塊診斷通訊狀態(tài)

d9e5f9de-9033-11ed-bfe3-dac502259ad0.png

圖30. 檢查已發(fā)送次數(shù)

d9f577e2-9033-11ed-bfe3-dac502259ad0.png

圖31. 抓取發(fā)送錯(cuò)誤代碼

da06d7bc-9033-11ed-bfe3-dac502259ad0.png

圖32. 抓取接收次數(shù)及最后一次的接收長度

da17bde8-9033-11ed-bfe3-dac502259ad0.png

圖33. 抓取接收錯(cuò)誤代碼

審核編輯:湯梓紅

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

    關(guān)注

    5011

    文章

    13297

    瀏覽量

    463375
  • 通信
    +關(guān)注

    關(guān)注

    18

    文章

    6032

    瀏覽量

    135995
  • UDP
    UDP
    +關(guān)注

    關(guān)注

    0

    文章

    325

    瀏覽量

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

    關(guān)注

    11

    文章

    331

    瀏覽量

    17986
  • S7-1500
    +關(guān)注

    關(guān)注

    3

    文章

    300

    瀏覽量

    6408

原文標(biāo)題:S7-1200 與 S7-1200/S7-1500 不同項(xiàng)目下 UDP 通信

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

收藏 人收藏

    評論

    相關(guān)推薦

    基于S7-1200的設(shè)備與網(wǎng)絡(luò)組態(tài)

    本文檔內(nèi)容介紹了基于S7-1200的設(shè)備與網(wǎng)絡(luò)組態(tài),以及S7-1200的概要及功能。
    發(fā)表于 09-25 18:14 ?28次下載
    基于<b class='flag-5'>S7-1200</b>的設(shè)備與網(wǎng)絡(luò)組態(tài)

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

    自WinCC V7.2版本起,軟件新增加了 SIMATIC S7-1200, S7-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通訊

    基于WinCC V7.2與S7-1200/1500 PLC通訊步驟介紹

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

    西門子S7-1200S7-1500 的編程指南pdf下載

    西門子S7-1200S7-1500 的編程指南
    發(fā)表于 03-27 15:15 ?297次下載

    S7-1200S7-1200進(jìn)行S7通信的詳細(xì)資料說明

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

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

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

    西門子S7-1200S7-1500編程風(fēng)格指南

    西門子S7-1200S7-1500編程風(fēng)格指南分享
    發(fā)表于 08-17 17:30 ?21次下載

    關(guān)于S7-1200S7-1500 PLC的通信

    WinCC V7.4SP1中針對S7-1200S7-1500通信,可以創(chuàng)建狀態(tài)變量和控制變量,用來顯示和控制S7-1200S7-1500
    發(fā)表于 10-09 10:05 ?2232次閱讀

    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 ?8368次閱讀

    S7-1200 CPU與S7-300 CP STEP7 UDP通信

    S7-1200S7-300 CP 之間的以太網(wǎng)通信可以通過 UDP 協(xié)議來實(shí)現(xiàn),使用的通信指令是在
    的頭像 發(fā)表于 04-08 10:48 ?2058次閱讀

    S7-1200 CPU與S7-300 CP TIA UDP通信

    S7-1200S7-300 CP 之間的以太網(wǎng)通信可以通過 UDP 協(xié)議來實(shí)現(xiàn),使用的通信指令是在
    的頭像 發(fā)表于 04-08 10:49 ?2409次閱讀

    S7-1500S7-1200存儲區(qū)域保持性設(shè)置

    S7-300/400一樣,S7-1500S7-1200都有存儲區(qū)M區(qū),另外S-1500還有存儲區(qū)(定時(shí)器、計(jì)數(shù)器),這些區(qū)域都可以設(shè)置保持性。下面詳細(xì)介紹如何設(shè)置這些區(qū)域的保持性。
    的頭像 發(fā)表于 04-21 09:49 ?1.2w次閱讀

    S7-1200S7-300的選型區(qū)別

    在硬件擴(kuò)展方面,S7-300的主機(jī)架多支持八個(gè)擴(kuò)展模塊,而S7-1200支持?jǐn)U展多八個(gè)信號模塊和多三個(gè)通信模塊。以S7-300 CPU313C和S7
    的頭像 發(fā)表于 05-04 15:18 ?1707次閱讀
    <b class='flag-5'>S7-1200</b>與<b class='flag-5'>S7</b>-300的選型區(qū)別

    一文解析S7-1200S7-1500 S7通信

    S7-1200 的 PROFINET 通信口可以做 S7 通信的服務(wù)器端或客戶端(CPU V2.0及以上版本)。S7-1200 僅支持
    發(fā)表于 05-15 17:13 ?6039次閱讀
    一文解析<b class='flag-5'>S7-1200</b>與<b class='flag-5'>S7-1500</b> <b class='flag-5'>S7</b><b class='flag-5'>通信</b>

    S7-1200/S7-1500與精簡面板仿真過程的步驟

    S7-1200/S7-1500與精簡面板仿真有兩個(gè)需要注意的問題。
    的頭像 發(fā)表于 08-23 10:45 ?1939次閱讀
    <b class='flag-5'>S7-1200</b>/<b class='flag-5'>S7-1500</b>與精簡面板仿真過程的步驟