德國(guó)西門(mén)子6ES7288-6EC01-0AA0
上海斌勤電氣技術(shù)有限公司(西門(mén)子合作伙伴)
聯(lián)系人 :康 奎(業(yè)務(wù)經(jīng)理)發(fā)布(聯(lián)系我有優(yōu)惠福利哦)
地 址:上海市松江區(qū)三新北路1800弄
S7-1200 與 S7-300 PN 口之間的以太網(wǎng)通信可以通過(guò) TCP 協(xié)議來(lái)實(shí)現(xiàn),使用的通信指令是在雙方 CPU 調(diào)用 T-block (TSEND_C,TRCV_C, TCON, TDISCON, TSEND, TRCV) 指令來(lái)實(shí)現(xiàn)。通信方式為雙邊通信,因此 TSEND 和 TRCV 必須成對(duì)出現(xiàn)。
所需條件:
① S7-1200/S7-300(集成PN口)
② STEP7 V11
所完成的通信任務(wù):
① S7-1200 CPU將通訊數(shù)據(jù)區(qū) DB4 塊中的 10 個(gè)字節(jié)的數(shù)據(jù)發(fā)送到 S7-300 CPU的接收數(shù)據(jù)區(qū) DB2 塊中。
② S7-300 CPU將通訊數(shù)據(jù)區(qū) DB1 塊中的 10 個(gè)字節(jié)的數(shù)據(jù)發(fā)送到 S7-1200 CPU的接收數(shù)據(jù)區(qū) DB5 塊中。
1. 使用 STEP7 V11 軟件新建一個(gè)項(xiàng)目并完成硬件配置
在 STEP7 v11的 “Portal 視圖” 中選擇 “創(chuàng)建新項(xiàng)目” 創(chuàng)建一個(gè)新項(xiàng)目。
2.添加硬件并命名PLC
然后進(jìn)入 “項(xiàng)目視圖”,在“項(xiàng)目樹(shù)” 下雙擊 “添加新設(shè)備”,在對(duì)話框中選擇所使用的 S7-1200 CPU 添加到機(jī)架上,命名為 S7-1200,如圖1.所示。
圖1. 添加新設(shè)備
為了編程方便,使用 CPU 屬性中定義的時(shí)鐘位,定義方法如下:
在 “項(xiàng)目樹(shù)” > “S7-1200” > “設(shè)備組態(tài)” 中,選中 CPU ,然后在下面的屬性窗口中,“屬性” > “系統(tǒng)和時(shí)鐘存儲(chǔ)器” 下,將系統(tǒng)位定義在 MB1,時(shí)鐘位定義在 MB0,如圖2.所示。
時(shí)鐘位我們主要使用 M0.3,它是以 2Hz 的速率在 0 和 1 之間切換的一個(gè)位,可以使用它去自動(dòng)激活發(fā)送任務(wù)。
圖2. 系統(tǒng)位與時(shí)鐘位
3. 為 PROFINET 通信口分配以太網(wǎng)地址
在 “設(shè)備視圖”中點(diǎn)擊 CPU 上代表 PROFINET 通信口的綠色小方塊,在下方會(huì)出現(xiàn) PROFINET 接口的屬性,在 “以太網(wǎng)地址” 下分配 IP 地址為 192.168.0.123 ,子網(wǎng)掩碼為255.255.255.0,如圖3. 所示。
圖3. 分配IP 地址
4. 創(chuàng)建 CPU的邏輯網(wǎng)絡(luò)連接
在項(xiàng)目樹(shù) “項(xiàng)目樹(shù)”>“設(shè)備和網(wǎng)絡(luò)” >“網(wǎng)絡(luò)視圖” 視圖下,創(chuàng)建兩個(gè)設(shè)備的連接。用鼠標(biāo)點(diǎn)中 S7-1200 上的PROFINET通信口的綠色小方框,然后拖拽出一條線,到另外一個(gè) 317-2pn 上的PROFINET通信口上,松開(kāi)鼠標(biāo),連接就建立起來(lái)了,如圖4.所示。
圖4. 建立兩個(gè) CPU的邏輯連接
5.在 S7-1200 中調(diào)用并配置“TCON”、“TSEND”、“TRCV” 通信指令
① 在 S7-1200 CPU 中調(diào)用發(fā)送通信指令,進(jìn)入 “項(xiàng)目樹(shù)” > “ S7-1200” > “程序塊” > “OB1” 主程序中,從右側(cè)窗口 “指令” > “通訊” > “開(kāi)放式用戶通信”下調(diào)用 “TCON” 指令,創(chuàng)建連接,如圖5.所示。
圖5. 調(diào)用 TCON 通信指令
② 定義 S7-1200 的 “TCON”連接參數(shù)
S7-1200 的 “TCON”指令的連接參數(shù)需要在指令下方的屬性窗口“屬性”> “組態(tài)”>“連接參數(shù)中”中設(shè)置,如圖6.所示。
圖6. 定義 TCON 連接參數(shù)
連接參數(shù)說(shuō)明:
端點(diǎn) | :可以通過(guò)點(diǎn)擊選擇按鈕選擇“未指定” ; |
連接類型 | :選擇通信協(xié)議為 TCP; |
連接 ID | :連接的地址 ID 號(hào),這個(gè) ID 號(hào)在后面的編程里會(huì)用到; |
連接數(shù)據(jù) |
:點(diǎn)擊新建自動(dòng)生成該數(shù)據(jù)塊,如S7-1200_Connection_DB; |
主動(dòng)建立連接 | :選擇本地 S7-1200 作為主動(dòng)連接; |
地址詳細(xì)信息 | :定義通信伙伴方的端口號(hào)為:2000。 |
③創(chuàng)建并定義 S7-1200 的發(fā)送數(shù)據(jù)區(qū) DB4 塊
通過(guò)“項(xiàng)目樹(shù)”>“S7-1200”>“程序塊”>“添加新塊”,選擇“數(shù)據(jù)塊” 創(chuàng)建 DB4 塊,選擇“標(biāo)準(zhǔn)-與S7-300/400 兼容”,點(diǎn)擊“確定”鍵,定義發(fā)送數(shù)據(jù)區(qū)為 101 個(gè)字節(jié)的數(shù)組,如圖7.所示,結(jié)果如圖8.所示。
圖7. 創(chuàng)建發(fā)送數(shù)據(jù)區(qū) DB 塊
圖8. 定義發(fā)送數(shù)據(jù)區(qū)為字節(jié)類型的數(shù)組 101 字節(jié)
④將 “TSEND” 在 OB1 內(nèi)調(diào)用 發(fā)送 10 個(gè)字節(jié)數(shù)據(jù)到 317-2pn 中
進(jìn)入 “項(xiàng)目樹(shù)” > “S7-1200” > “程序塊” > “OB1 ” 主程序中,從右側(cè)窗口 “指令” > “通訊” > “開(kāi)放式用戶通信”下調(diào)用 “TSEND” 指令,配置接口參數(shù),如圖9.所示。
圖9. 調(diào)用 TSEND 指令并配置接口參數(shù)
參數(shù)說(shuō)明:
輸入接口參數(shù):
REQ
|
:= M0.3
|
// 使用 2Hz 的時(shí)鐘脈沖,上升沿激活發(fā)送任務(wù);
|
ID | : = 1 | //創(chuàng)建連接ID; |
LEN
|
:= 10
|
//發(fā)送數(shù)據(jù)長(zhǎng)度;
|
DATA
|
:= P#DB4.DBX0.0 BYTE 10
|
// 發(fā)送數(shù)據(jù)區(qū)的數(shù)據(jù),使用指針尋址時(shí),DB塊要選用絕對(duì)尋址;
|
輸出接口參數(shù):
DONE
|
:= M11.0
|
//任務(wù)執(zhí)行完成并且沒(méi)有錯(cuò)誤,該位置 1;
|
BUSY
|
:= M11.2
|
// 該位為 1,代表任務(wù)未完成,不能激活新任務(wù);
|
ERROR
|
:= M11.3
|
//通信過(guò)程中有錯(cuò)誤發(fā)生,該位置 1;
|
STATUS
|
:= MW22
|
//有錯(cuò)誤發(fā)生時(shí),會(huì)顯示錯(cuò)位信息號(hào)。
|
⑤創(chuàng)建并定義 S7-1200 的接收數(shù)據(jù)區(qū) DB5 塊。
通過(guò)“項(xiàng)目樹(shù)”>“S7-1200”>“程序塊”>“添加新塊”,選擇“數(shù)據(jù)塊” 創(chuàng)建 DB5 塊,選擇“標(biāo)準(zhǔn)-與S7-300/400 兼容”,點(diǎn)擊“確定”鍵,定義接收數(shù)據(jù)區(qū)為 101 個(gè)字節(jié)的數(shù)組,如圖10.所示,結(jié)果如圖11.所示。
圖10. 創(chuàng)建接收數(shù)據(jù)區(qū) DB5 塊
圖11. 定義接收數(shù)據(jù)區(qū)為字節(jié)類型的數(shù)組
⑥ 將 “TRCV” 在 OB1 內(nèi)調(diào)用
進(jìn)入 “項(xiàng)目樹(shù)” > “S7-1200” > “程序塊” > “OB1 ” 主程序中,從右側(cè)窗口 “指令” > “通訊” > “開(kāi)放式用戶通信”下調(diào)用 “TRCV” 指令,配置接口參數(shù),如圖12.所示。
圖12. 調(diào)用 TRCV 指令并配置接口參數(shù)
參數(shù)說(shuō)明:
輸入接口參數(shù):
EN_R
|
:= TRUE
|
// 準(zhǔn)備好接收數(shù)據(jù);
|
ID
|
:= 1
|
// 連接號(hào),使用的是 TCON 的連接參數(shù)中 ID號(hào);
|
LEN
|
:= 10
|
// 接收數(shù)據(jù)長(zhǎng)度為 10 個(gè)字節(jié);
|
DATA
|
:= P#DB5.DBX0.0 BYTE 10
|
// 接收數(shù)據(jù)區(qū)的地址;
|
輸出接口參數(shù):
NDR
|
:= M12.0
|
// 該位為 1,接收任務(wù)成功完成;
|
BUSY
|
:= M12.1
|
// 該位為 1,代表任務(wù)未完成,不能激活新任務(wù);
|
ERROR
|
:= M12.3
|
// 通信過(guò)程中有錯(cuò)誤發(fā)生,該位置 1;
|
STATUS
|
:= MW24
|
// 有錯(cuò)誤發(fā)生時(shí),會(huì)顯示錯(cuò)誤信息號(hào);
|
RCVD_LEN
|
:= MW26
|
// 實(shí)際接收數(shù)據(jù)的字節(jié)數(shù)。
|
配置完連接并編譯存盤(pán)。
6ES7972-0MG00-0XA0 6ES7291-1AA30-0XA0 6ES7972-OMGOO-OXAO 6ES7972-0MG00-0XA0 6ES7291-1AA30-0XA0
6ES7972-0MS00-0XA0 6ES7291-1AB30-0XA0 6ES7972-OMSOO-OXAO 6ES7972-0MS00-0XA0 6ES7291-1AB30-0XA0
6ES7274-1XH30-0XA0 6ES7291-1BA30-0XA0 6ES7274-IXH3O-OXAO 6ES7274-1XH30-0XA0 6ES7291-1BA30-0XA0
6ES7274-1XF30-0XA0 6ES7291-1BB30-0XA0 6ES7274-IXF3O-OXAO 6ES7274-1XF30-0XA0 6ES7291-1BB30-0XA0
6AV6647-0AH11-3AX0 6ES7291-1CC30-0XA0 6AV6647-OAHII-3AXO 6AV6647-0AH11-3AX0 6ES7291-1CC30-0XA0
6AV6647-0AA11-3AX0 6ES7292-1AG30-0XA0 6AV6647-OAAII-3AXO 6AV6647-0AA11-3AX0 6ES7292-1AG30-0XA0
6AV6647-0AB11-3AX0 6ES7292-1AH30-0XA0 6AV6647-OABII-3AXO 6AV6647-0AB11-3AX0 6ES7292-1AH30-0XA0
6AV6647-0AD11-3AX0 6ES7292-1AL30-0XA0 6AV6647-OADII-3AXO 6AV6647-0AD11-3AX0 6ES7292-1AL30-0XA0
6AV6647-0AF11-3AX0 6ES7292-1AM30-0XA0 6AV6647-OAFII-3AXO 6AV6647-0AF11-3AX0 6ES7292-1AM30-0XA0
6AV6647-0AG11-3AX0 6ES7292-1AP30-0XA0 6AV6647-OAGII-3AXO 6AV6647-0AG11-3AX0 6ES7292-1AP30-0XA0
6ES7822-0AA01-0YA0 6ES7292-1AV30-0XA0 6ES7822-OAAOI-OYAO 6ES7822-0AA01-0YA0 6ES7292-1AV30-0XA0
6ES7822-1AA01-0YA5 6ES7292-1BC30-0XA0 6ES7822-IAAOI-OYA5 6ES7822-1AA01-0YA5 6ES7292-1BC30-0XA0
6ES7954-8LB00-0AA0 6ES7292-1BF30-0XA0 6ES7954-8LBOO-OAAO 6ES7954-8LB00-0AA0 6ES7292-1BF30-0XA0
6ES7954-8LF00-0AA0 6ES7292-1BG30-0XA0 6ES7954-8LFOO-OAAO 6ES7954-8LF00-0AA0 6ES7292-1BG30-0XA0
6EP1332-1SH71 6ES7298-8FA30-8AQ0 6EPI332-ISH7I 6EP1332-1SH71 6ES7298-8FA30-8AQ0
6GK7277-1AA00-0AA0 6ES7298-8FA30-8BQ0 6GK7277-IAAOO-OAAO 6GK7277-1AA00-0AA0 6ES7298-8FA30-8BQ0
6ES7290-6AA30-0XA0 6ES7298-8FA30-8CQ0 6ES729O-6AA3O-OXAO 6ES7290-6AA30-0XA0 6ES7298-8FA30-8CQ0
6ES7211-1BD30-0XB0 6ES7298-8FA30-8DQ0 6ES7211-1BD30-0XB0 6ES7211-1BD30-0XB0 6ES7298-8FA30-8DQ0
6ES7211-1AD30-0XB0 6ES7298-8FA30-8EQ0 6ES7211-1AD30-0XB0 6ES7211-1AD30-0XB0 6ES7298-8FA30-8EQ0
6ES7211-1HD30-0XB0 6ES7298-8FA30-8KH0 6ES7211-1HD30-0XB0 6ES7211-1HD30-0XB0 6ES7298-8FA30-8KH0
6ES7212-1BD30-0XB0 6ES7298-8FA30-8KQ0 6ES7212-1BD30-0XB0 6ES7212-1BD30-0XB0 6ES7298-8FA30-8KQ0
6ES7212-1AD30-0XB0 6ES7954-8LB01-0AA0 6ES7212-1AD30-0XB0 6ES7212-1AD30-0XB0 6ES7954-8LB01-0AA0
6ES7212-1HD30-0XB0 6ES7954-8LF01-0AA0 6ES7212-1HD30-0XB0 6ES7212-1HD30-0XB0 6ES7954-8LF01-0AA0
6ES7214-1BE30-0XB0 6ES7214-1HE30-0XB0 6ES7214-1BE30-0XB0 6ES7214-1BE30-0XB0 6ES7214-1HE30-0XB0
6ES7214-1AE30-0XB0 6ES7214-1HE30-0XB0 6ES7214-1AE30-0XB0 6ES7214-1AE30-0XB0 6ES7214-1AE30-0XB0
6ES72221HF320XB0S7-1200系列擴(kuò)展模塊 6ES7222-1HF32-0XB0 6ES7222-1HH32-0XB
6ES73121AE140AB0PLC S7-300中央處理單元(CPU)6ES7312-1AE14-0AB0 6ES7312-5B6ES73135BG040AB0PLC S7-300中央處理單元(CPU)6ES7313-5BG04-0AB0 6ES7313-6B6ES73136CG040AB0PLC S7-300中央處理單元(CPU)6ES7313-6CG04-0AB0 6ES7314-1A6ES73146BH040AB0PLC S7-300中央處理單元(CPU)6ES7314-6BH04-0AB0 6ES7314-6C6ES73146EH040AB0PLC S7-300中央處理單元(CPU)6ES7314-6EH04-0AB0 6ES7315-2A6ES73152EH140AB0PLC S7-300中央處理單元(CPU)6ES7315-2EH14-0AB0 6ES7317-2A6ES73172EK140AB0PLC S7-300中央處理單元(CPU)6ES7317-2EK14-0AB0 6ES7318-3E6ES73211BH020AA0S7-300擴(kuò)展模塊6ES7321-1BH02-0AA0 6ES7321-1BH10-0AA06ES7321-1BH50-0AA0S7-300擴(kuò)展模塊6ES7321-1BH02-0AA0 6ES7321-1BH10-0AA06ES7312-1AE14-0AB0S7-300擴(kuò)展模塊6ES7321-1EL00-0AA0 6ES7321-1FF01-0AA06ES7312-5BF04-0AB0S7-300擴(kuò)展模塊6ES7321-1FF10-0AA0 6ES7321-1FH00-0AA06ES7313-5BG04-0AB0S7-300擴(kuò)展模塊6ES7322-1BF01-0AA0 6ES7322-1BH01-0AA06ES7313-6CG04-0AB0S7-300擴(kuò)展模塊6ES7322-1BH10-0AA0 6ES7322-1BL00-0AA06ES7314-6BH04-0AB0S7-300擴(kuò)展模塊6ES7322-1FF01-0AA0 6ES7322-1FH00-0AA06ES7314-6BH04-0AB0S7-300擴(kuò)展模塊6ES7322-1BF01-0AA0 6ES7322-1BH01-0AA06ES7314-6BH04-0AB0S7-300擴(kuò)展模塊6ES7322-1FL00-0AA0 6ES7322-1HF01-0AA06ES7314-6EH04-0AB0S7-300擴(kuò)展模塊6ES7322-1HF10-0AA0 6ES7322-5HF00-0AB06ES7317-2EK14-0AB0S7-300擴(kuò)展模塊6ES7322-1HH01-0AA0 6ES7323-1BH01-0AA06ES7312-1AE14-0AB0S7-300擴(kuò)展