RM新时代投资官方网站|首入球时间

歡迎光臨昆侖通態(tài)觸摸屏系統集成商
當前位置
首頁(yè) > 新聞中心
S7-1500之間通過(guò)程序建立TCP通信(PLC_1側)
2020/12/15 20:38:45

S7-1500之間通過(guò)程序建立TCP通信(PLC_1側)

1.在 PLC_1 的 OB1 中調用“TCON” 通信指令

① 在第一個(gè) CPU 中調用發(fā)送通信指令,進(jìn)入 “Project tree” > “ PLC_1” > “Program blocks” > “OB1” 主程序中,從右側窗口 “Instructions” > “Communications” > “OPEN User Communications”下調用 “TCON” 指令,創(chuàng )建連接,如圖1.所示。

圖1. 調用“TCON”通信指令

② 創(chuàng )建DB2 分配連接參數,見(jiàn)圖2所示

圖2. 創(chuàng )建連接數據塊 DB2(Con_DB)

③ 定義PLC_1的 “TCON”連接參數
PLC_1 的 TCON 指令的連接參數需要在指令下方的屬性窗口“Properties”> “Configuration”>“Connection parameter”中設置,如圖3.所示。

圖3. 定義 TCON 連接參數
連接參數說(shuō)明:

End point :可以通過(guò)點(diǎn)擊選擇按鈕選擇伙伴 CPU :PLC_2
Connection type :選擇通信協(xié)議為 TCP(也可以選擇 ISO on TCP 或UDP協(xié)議)
Connection ID :連接的地址 ID 號,這個(gè) ID 號在后面的編程里會(huì )用到
Connection data

:創(chuàng )建連接時(shí),生成的Con_DB塊。見(jiàn)圖2所示

Active connection setup :選擇本地 PLC_1作為主動(dòng)連接
Address details :定義通信伙伴方的端口號為:2000;如果選用的是 ISO on TCP 協(xié)議,則需要設定的TSAP 地址(ASCII 形式),本地 PLC_1可以設置成“PLC1”,伙伴方 PLC_2 可以設置成“PLC2”。

2.定義 PLC_1 的“TSEND”發(fā)送通信塊接口參數

① 調用 “TSEND” 在OB1內調用 發(fā)送100個(gè)字節數據到PLC2中
進(jìn)入 “Project tree” > “ PLC_1” > “Program blocks” > “OB1” 主程序中,從右側窗口 “Instructions” > “Communications” > “OPEN User Communications”下調用 “TSEND” 指令,,如圖4.所示。

圖4. 調用 TSEND
② 創(chuàng )建并定義PLC_1的發(fā)送數據區 DB 塊。
通過(guò)“Project tree”>“PLC_1”>“Program blocks”>“Add new block”,選擇“Data block” 創(chuàng )建 DB 塊,選擇絕對尋址,點(diǎn)擊“OK”鍵,定義發(fā)送數據區為 100個(gè)字節的數組,如圖4.及圖5.所示。


圖5. 創(chuàng )建發(fā)送數據區 DB 塊
注意:對于雙邊編程通信的 CPU ,如果通信數據區使用 DB 塊,既可以將 DB 塊定義成符號尋址,也可以定義成絕對尋址。使用指針尋址方式,必須創(chuàng )建絕對尋址的 DB 塊。

圖6. 定義發(fā)送數據區為字節類(lèi)型的數組 圖 PLC1_TSENDC_DATA

③ 定義 PLC_1 的“TSEND”發(fā)送通信塊接口參數,如圖7.所示。


圖7. 定義 TSEND 接口參數
參數說(shuō)明:
輸入接口參數:

REQ
:= M0.3
// 使用 2Hz 的時(shí)鐘脈沖,上升沿激活發(fā)送任務(wù)
ID : = 1 //創(chuàng )建連接ID
LEN
:= 100
//發(fā)送數據長(cháng)度
DATA
:= P#DB3.DBX0.0 BYTE 100
// 發(fā)送數據區的數據,使用指針尋址時(shí),DB塊要選用絕對尋址

輸出接口參數:

DONE
:= M300.0
//任務(wù)執行完成并且沒(méi)有錯誤,該位置 1
BUSY
:= M300.1
// 該位為 1,代表任務(wù)未完成,不能激活新任務(wù)
ERROR
:= M300.2
//通信過(guò)程中有錯誤發(fā)生,該位置 1
STATUS
:= MW302
//有錯誤發(fā)生時(shí),會(huì )顯示錯位信息號

3.在 PLC_1 的OB1中調用接收指令T_CV 并配置基本參數

為了實(shí)現 PLC_1 接收來(lái)自 PLC_2 的數據,則在 PLC_1 中調用接收指令T_RCV 并配置基本參數。

① 創(chuàng )建并定義PLC_1的接收數據區 DB 塊。
通過(guò)“Project tree”>“PLC_1”>“Program blocks”>“Add new block”,選擇“Data block” 創(chuàng )建 DB 塊,選擇絕對尋址,點(diǎn)擊“OK”鍵,定義發(fā)送數據區為 100個(gè)字節的數組,如圖7.及圖8.所示。


圖8. 創(chuàng )建接收數據區 DB 塊
注意:對于雙邊編程通信的 CPU ,如果通信數據區使用 DB 塊,既可以將 DB 塊定義成符號尋址,也可以定義成絕對尋址。使用指針尋址方式,必須創(chuàng )建絕對尋址的 DB 塊。

圖9. 定義接收數據區為字節類(lèi)型的數組

② 調用 “TRCV” 在OB1內調用
進(jìn)入 “Project tree” > “ PLC_1” > “Program blocks” > “OB1” 主程序中,從右側窗口 “Instructions” > “Communications” > “OPEN User Communications”下調用 “TRCV” 指令,配置接口參數,,如圖10.所示。

圖10. 調用 TRCV 指令并配置接口參數

參數說(shuō)明:
輸入接口參數:

EN_R
:= TRUE
// 準備好接收數據
ID
:= 1
// 連接號,使用的是 TCON 的連接參數中 ID號
LEN
:= 100
// 接收數據長(cháng)度為 100 個(gè)字節
DATA
:= P#DB4.DBX0.0 BYTE 100
// 接收數據區的地址

輸出接口參數:

NDR
:= M310.0
// 該位為 1,接收任務(wù)成功完成
BUSY
:= M310.1
// 該位為 1,代表任務(wù)未完成,不能激活新任務(wù)
ERROR
:= M310.2
// 通信過(guò)程中有錯誤發(fā)生,該位置 1
STATUS
:= MW312
// 有錯誤發(fā)生時(shí),會(huì )顯示錯誤信息號
RCVD_LEN
:= MW314
// 實(shí)際接收數據的字節數

注意:LEN設置為 65535 可以接收變長(cháng)數據。

在PLC_2側的編程參見(jiàn):S7-1500之間通過(guò)程序建立TCP通信(PLC_2側) 

聯(lián)系方式
CONTACT US

電話(huà):13916183699

郵箱:13916183699@139.com

網(wǎng)址:http://szhongqiang.com

地址:中國上海市青浦區北青公路7171號111-112室

用手機掃描二維碼關(guān)閉
RM新时代投资官方网站|首入球时间
新时代RM|APP官网网址 RM新时代官方网站|首入球时间 新时代软件下载 rm海淘网官网入口 rm新时代跑路