SIEMENS 長(zhǎng)沙豪乾智能科技有限公司
公司帶來(lái)銷(xiāo)售的產(chǎn)品全部由西門(mén)子直接提供,所有產(chǎn)品保證絕對(duì)原裝,每個(gè)產(chǎn)品都可以到西門(mén)子長(zhǎng)沙辦事處去查驗(yàn)。
我們出售的產(chǎn)品按照西門(mén)子質(zhì)保進(jìn)行保修,(保修期為一年)《選擇長(zhǎng)沙豪乾,是您最明智的決定》。想了解更多內(nèi)容,請(qǐng)來(lái)電,我將為您一一解答。
工作( Q Q ):254598303 136 8731 7079(微信同步)
聯(lián)系人 :張 柏 / )
公司理念:
是專(zhuān)業(yè)從事工業(yè)自動(dòng)化產(chǎn)品銷(xiāo)售和系統(tǒng)集成的高新技術(shù)企業(yè)。在西門(mén)子工控領(lǐng)域,公司以精益求精的經(jīng)營(yíng)理念,從產(chǎn)品、方案到服務(wù),致力于塑造一個(gè)“行業(yè)專(zhuān)家”品牌,以實(shí)現(xiàn)可持續(xù)的發(fā)展。
在 PLC_1 中調(diào)用并配置“TCON”、“TUSEND”、“TURCV” 通信指令
1.在 PLC_1 的 OB1 中調(diào)用“TCON” 通信指令
① 在第一個(gè) CPU 中調(diào)用發(fā)送通信指令,進(jìn)入 “Project tree” > “ PLC_1” > “Program blocks” > “OB1” 主程序中,從右側(cè)窗口 “Instructions” > “Communications” > “OPEN User Communications”下調(diào)用 “TCON” 指令,創(chuàng)建連接,如圖1.所示。
圖1. 調(diào)用“TCON”通信指令
② 創(chuàng)建DB2 分配連接參數(shù),見(jiàn)圖2所示
圖2. 創(chuàng)建連接數(shù)據(jù)塊 DB2(Con_DB)
③ 定義PLC_1的 “TCON”連接參數(shù)
PLC_1 的 TCON 指令的連接參數(shù)需要在指令下方的屬性窗口“Properties”> “Configuration”>“Connection parameter”中設(shè)置,如圖3.所示。
圖3. 定義 TCON 連接參數(shù)(選擇UDP連接)
連接參數(shù)說(shuō)明:
End point
|
:可以通過(guò)點(diǎn)擊選擇按鈕選擇伙伴 CPU :PLC_2
|
Connection type
|
:選擇通信協(xié)議為 UDP
|
Connection ID
|
:連接的地址 ID 號(hào),這個(gè) ID 號(hào)在后面的編程里會(huì)用到
|
Connection data
|
:創(chuàng)建連接時(shí),生成的Con_DB塊。見(jiàn)圖2所示
|
Active connection setup
|
:此功能在UDP連接時(shí),不能選擇
|
Address details
|
:定義本地通信的端口號(hào)為:2000
|
2.定義 PLC_1 的“TUSEND”發(fā)送通信塊接口參數(shù)
① 調(diào)用 “TUSEND” 在OB1內(nèi)調(diào)用 發(fā)送100個(gè)字節(jié)數(shù)據(jù)到PLC2中
進(jìn)入 “Project tree” > “ PLC_1” > “Program blocks” > “OB1” 主程序中,從右側(cè)窗口 “Instructions” > “Communications” > “OPEN User Communications”下調(diào)用 “TUSEND” 指令,,如圖4.所示。
圖4. 調(diào)用 TUSEND
② 創(chuàng)建并定義PLC_1的發(fā)送數(shù)據(jù)區(qū) DB 塊。
通過(guò)“Project tree”>“PLC_1”>“Program blocks”>“Add new block”,選擇“Data block” 創(chuàng)建 DB 塊,選擇絕對(duì)尋址,點(diǎn)擊“OK”鍵,定義發(fā)送數(shù)據(jù)區(qū)為 100個(gè)字節(jié)的數(shù)組,如圖5.及圖6.所示。
圖5. 創(chuàng)建發(fā)送數(shù)據(jù)區(qū) DB 塊
注意:對(duì)于雙邊編程通信的 CPU ,如果通信數(shù)據(jù)區(qū)使用 DB 塊,既可以將 DB 塊定義成符號(hào)尋址,也可以定義成絕對(duì)尋址。使用指針尋址方式,必須創(chuàng)建絕對(duì)尋址的 DB 塊。
圖6. 定義發(fā)送數(shù)據(jù)區(qū)為字節(jié)類(lèi)型的數(shù)組
③ 定義UDP 連接參數(shù)數(shù)據(jù)塊
通過(guò)“Project tree”>“PLC_1”>“Program blocks”>“Add new block”,選擇“Data block” 創(chuàng)建 DB 塊,然后在右側(cè)“Type”中選擇“TADDR_Param”,如圖7所示。
圖7. 創(chuàng)建UDP連接參數(shù)數(shù)據(jù)塊
創(chuàng)建完DB塊后,可以在DB塊內(nèi),設(shè)置本地PLC所要連接設(shè)備的IP地址與端口號(hào),如圖8所示。
圖8. UDP 連接詳細(xì)參數(shù)
④ 定義 PLC_1 的“TUSEND”發(fā)送通信塊接口參數(shù),如圖9.所示。
圖9. 定義 TUSEND 接口參數(shù)
參數(shù)說(shuō)明:
輸入接口參數(shù):
REQ
|
:= %M0.3
|
// 使用 2Hz 的時(shí)鐘脈沖,上升沿激活發(fā)送任務(wù)
|
ID
|
: = 1
|
// 創(chuàng)建連接ID
|
LEN
|
:= 100
|
// 發(fā)送數(shù)據(jù)長(zhǎng)度
|
DATA
|
:= P#DB3.DBX0.0 BYTE 100
|
// 發(fā)送數(shù)據(jù)區(qū)的數(shù)據(jù),使用指針尋址時(shí),DB塊要選用絕對(duì)尋址
|
ADDR
|
: = %DB7
|
// UDP對(duì)方連接參數(shù),包括對(duì)方IP地址及端口
|
輸出接口參數(shù):
DONE
|
:= %M100.0
|
// 任務(wù)執(zhí)行完成并且沒(méi)有錯(cuò)誤,該位置 1
|
BUSY
|
:= %M100.1
|
// 該位為 1,代表任務(wù)未完成,不能激活新任務(wù)
|
ERROR
|
:= %M100.2
|
// 通信過(guò)程中有錯(cuò)誤發(fā)生,該位置 1
|
STATUS
|
:= %MW102
|
// 有錯(cuò)誤發(fā)生時(shí),會(huì)顯示錯(cuò)位信息號(hào)
|
3.在 PLC_1 的OB1中調(diào)用接收指令TURCV 并配置基本參數(shù)
為了實(shí)現(xiàn) PLC_1 接收來(lái)自 PLC_2 的數(shù)據(jù),則在 PLC_1 中調(diào)用接收指令TURCV 并配置基本參數(shù)。
① 創(chuàng)建并定義PLC_1的接收數(shù)據(jù)區(qū) DB 塊。
通過(guò)“Project tree”>“PLC_1”>“Program blocks”>“Add new block”,選擇“Data block” 創(chuàng)建 DB 塊,選擇絕對(duì)尋址,點(diǎn)擊“OK”鍵,定義發(fā)送數(shù)據(jù)區(qū)為 100個(gè)字節(jié)的數(shù)組,如圖10.及圖11.所示。
圖10. 創(chuàng)建接收數(shù)據(jù)區(qū) DB 塊
注意:對(duì)于雙邊編程通信的 CPU ,如果通信數(shù)據(jù)區(qū)使用 DB 塊,既可以將 DB 塊定義成符號(hào)尋址,也可以定義成絕對(duì)尋址。使用指針尋址方式,必須創(chuàng)建絕對(duì)尋址的 DB 塊。
圖11. 定義接收數(shù)據(jù)區(qū)為字節(jié)類(lèi)型的數(shù)組
② 調(diào)用 “TURCV” 在OB1內(nèi)調(diào)用
進(jìn)入 “Project tree” > “ PLC_1” > “Program blocks” > “OB1” 主程序中,從右側(cè)窗口 “Instructions” > “Communications” > “OPEN User Communications”下調(diào)用 “TRCV” 指令,配置接口參數(shù),,如圖12.所示。
圖12. 調(diào)用 TURCV 指令并配置接口參數(shù)
參數(shù)說(shuō)明:
輸入接口參數(shù):
EN_R
|
:= TRUE
|
// 準(zhǔn)備好接收數(shù)據(jù)
|
ID
|
:= 1
|
// 連接號(hào),使用的是 TCON 的連接參數(shù)中 ID號(hào)
|
LEN
|
:= 100
|
// 接收數(shù)據(jù)長(zhǎng)度為 100 個(gè)字節(jié)
|
DATA
|
:= P#DB4.DBX0.0 BYTE 100
|
// 接收數(shù)據(jù)區(qū)的地址
|
ADDR
|
: = %DB7
|
// UDP對(duì)方連接參數(shù),包括對(duì)方IP地址及端口
|
輸出接口參數(shù):
NDR
|
:= %M200.0
|
// 該位為 1,接收任務(wù)成功完成
|
BUSY
|
:= %M200.1
|
// 該位為 1,代表任務(wù)未完成,不能激活新任務(wù)
|
ERROR
|
:= %M200.2
|
// 通信過(guò)程中有錯(cuò)誤發(fā)生,該位置 1
|
STATUS
|
:= %MW202
|
// 有錯(cuò)誤發(fā)生時(shí),會(huì)顯示錯(cuò)誤信息號(hào)
|
RCVD_LEN
|
:= %MW204
|
// 實(shí)際接收數(shù)據(jù)的字節(jié)數(shù)
|
LC_2 編程通信
在 PLC_2 中調(diào)用并配置“TRCV”通信指令
1.在 PLC_2 的 OB1 中調(diào)用“TCON” 通信指令
① 在第一個(gè) CPU 中調(diào)用發(fā)送通信指令,進(jìn)入 “Project tree” > “ PLC_2” > “Program blocks” > “OB1” 主程序中,從右側(cè)窗口 “Instructions” > “Communications” > “OPEN User Communications”下調(diào)用 “TCON” 指令,創(chuàng)建連接,如圖1.所示。
圖1. 調(diào)用“TCON”通信指令
② 創(chuàng)建DB2 分配連接參數(shù),見(jiàn)圖2所示
圖2. 創(chuàng)建連接數(shù)據(jù)塊 DB2(Con_DB)
③ 定義 PLC_2的 連接參數(shù) “TCON”
PLC_2 的 TCON 指令的連接參數(shù)需要在指令下方的屬性窗口“Properties”> “Configuration”>“Connection parameter”中設(shè)置,如圖3.所示。
圖3. 定義 TCON 連接參數(shù)
連接參數(shù)說(shuō)明:
End point
|
:可以通過(guò)點(diǎn)擊選擇按鈕選擇伙伴 CPU :PLC_2
|
Connection type
|
:選擇通信協(xié)議為 TCP(也可以選擇 ISO on TCP 或UDP協(xié)議)
|
Connection ID
|
:連接的地址 ID 號(hào),這個(gè) ID 號(hào)在后面的編程里會(huì)用到
|
Connection data
|
:創(chuàng)建連接時(shí),生成的Con_DB塊。見(jiàn)圖2所示
|
Active connection setup
|
:UDP連接時(shí),此處無(wú)效
|
Address details
|
:定義本地通信的端口號(hào)為:2000;
|
2. 在 PLC_2 中在OB1調(diào)用“TURCV”通信指令
接收從PLC_1 發(fā)送到 PLC_2的100個(gè)字節(jié)數(shù)據(jù)
① 創(chuàng)建并定義接收數(shù)據(jù)區(qū) DB 塊。
通過(guò)“Project tree”>“ PLC_2”>“Program blocks”>“Add new block” ,選擇 “Data block”創(chuàng)建 DB 塊,選擇符號(hào)尋址,點(diǎn)擊“OK”鍵,定義接收數(shù)據(jù)區(qū)為 100 個(gè)字節(jié)的數(shù)組,圖4及圖5所示。
圖4. 創(chuàng)建接收數(shù)據(jù)區(qū) DB 塊
圖5. 定義接收區(qū)為 100 個(gè)字節(jié)的數(shù)組
② 定義調(diào)用 “TURCV” 程序
圖6. TURCV 塊參數(shù)配置
參數(shù)配置:
輸入接口參數(shù):
EN_R
|
:= TRUE
|
// 準(zhǔn)備好接收數(shù)據(jù)
|
ID
|
:= 1
|
// 建立連接并一直保持連接
|
LEN
|
:= 100
|
// 接收的數(shù)據(jù)長(zhǎng)度為 100 個(gè)字節(jié)
|
DATA
|
:= P#DB4.DBX0.0 BYTE 100
|
// 接收數(shù)據(jù)區(qū),DB 塊選用的是符號(hào)尋址
|
ADDR
|
:= DB7
|
// UDP連接遠(yuǎn)設(shè)備IP地址及端口號(hào)
|
輸出接口參數(shù):
NDR
|
:= M300.0
|
// 任務(wù)執(zhí)行完成并且沒(méi)有錯(cuò)誤,該位置 1
|
BUSY
|
:= M300.1
|
// 該位為 1,代表任務(wù)未完成,不能激活新任務(wù)
|
ERROR
|
:= M300.2
|
// 通信過(guò)程中有錯(cuò)誤發(fā)生,該位置 1
|
STATUS
|
:= MW302
|
// 有錯(cuò)誤發(fā)生時(shí),會(huì)顯示錯(cuò)誤信息號(hào)
|
RCVD_LEN
|
:= MW304
|
// 實(shí)際接收數(shù)據(jù)的字節(jié)數(shù)
|
3 在 PLC_2 中調(diào)用并配置“TUSEND”通信指令
PLC_2 將 發(fā)送100個(gè)字節(jié)數(shù)據(jù) 到 PLC_1 中,如何創(chuàng)建發(fā)送數(shù)據(jù)塊DB3,與創(chuàng)建接收數(shù)據(jù)塊方法相同,不再詳述。在 PLC_2 中調(diào)用發(fā)送指令并配置塊參數(shù),發(fā)送指令與接收指令使用同一個(gè)連接,。如圖7.所示。
圖7. 調(diào)用TSEND 指令并配置塊接口參數(shù)
參數(shù)說(shuō)明:
輸入接口參數(shù):
REQ
|
:= M0.3
|
// 使用 2Hz 的時(shí)鐘脈沖,上升沿激活發(fā)送任務(wù)
|
ID
|
:= 1
|
// 連接ID號(hào),通過(guò)TCON創(chuàng)建的連接
|
LEN
|
:= 100
|
// 發(fā)送數(shù)據(jù)長(zhǎng)度為 100 個(gè)字節(jié)
|
DATA
|
:= P#DB3.DBX0.0 BYTE 100
|
// 發(fā)送數(shù)據(jù)區(qū)的符號(hào)地址
|
ADDR
|
: = DB7
|
// UDP連接遠(yuǎn)設(shè)備IP地址及端口號(hào)
|
輸出接口參數(shù):
DONE
|
:M310.0
|
// 任務(wù)執(zhí)行完成并且沒(méi)有錯(cuò)誤,該位置 1
|
BUSY
|
:M310.1
|
// 該位為 1,代表任務(wù)未完成,不能激活新任務(wù)
|
ERROR
|
:M310.2
|
// 通信過(guò)程中有錯(cuò)誤發(fā)生,該位置 1
|
STATUS
|
:MW312
|
//有錯(cuò)誤發(fā)生時(shí),會(huì)顯示錯(cuò)誤信息號(hào)
|