西門子6ES7953-8LJ30-0AA0規(guī)格
本著“以人為本、科技先導(dǎo)、顧客滿意、持續(xù)改進(jìn)”的工作方針,致力于工業(yè)自動(dòng)化控制領(lǐng)域的產(chǎn)品開發(fā)、工程配套和系統(tǒng)集成
聯(lián) 系 人: 18621061383康經(jīng)理<微信同步>
固定座機(jī);021-60541249咨詢熱線24小時(shí)為您服務(wù)
S7-1200 與 S7-300 之間的以太網(wǎng)通信可以通過(guò) UDP 協(xié)議來(lái)實(shí)現(xiàn),使用的通信指令是在S7-1200 CPU 側(cè)調(diào)用 T-block ( TCON, TDISCON, TUSEND, TURCV) 指令,在 S7-300 CPU 側(cè)調(diào)用 AG-SEND, AG-RECV 指令來(lái)實(shí)現(xiàn)。
所需條件:
① S7-1200/S7-300 CP343-1設(shè)備
② STEP7 V11
軟件:
STEP7 V11 or Higher
所完成的通信任務(wù):
① S7-1200 CPU 將通訊數(shù)據(jù)區(qū) DB4 塊中的 10 個(gè)字節(jié)的數(shù)據(jù)發(fā)送到 S7-300 CPU 的接收數(shù)據(jù)區(qū) DB4 塊中。
② S7-300 CPU 將通訊數(shù)據(jù)區(qū) DB10 塊中的 10 個(gè)字節(jié)的數(shù)據(jù)發(fā)送到 S7-1200 CPU 的接收數(shù)據(jù)區(qū) DB10 塊中。
在 STEP7 V11 的 “Portal 視圖” 中選擇 “創(chuàng)建新項(xiàng)目” 創(chuàng)建一個(gè)新項(xiàng)目。
然后進(jìn)入 “項(xiàng)目視圖”,在“項(xiàng)目樹” 下雙擊 “添加新設(shè)備”,在對(duì)話框中選擇所使用的 S7-1200 CPU 添加到機(jī)架上,命名為 1200-AC,如圖1.所示。
圖1. 添加新設(shè)備
為了編程方便,使用 CPU 屬性中定義的時(shí)鐘位,定義方法如下:
在 “項(xiàng)目樹” > “1200-AC” > “設(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í)鐘位
在 “設(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 地址
① 在 S7-1200 CPU 中調(diào)用發(fā)送通信指令,進(jìn)入 “項(xiàng)目樹” > “ 1200-AC” > “程序塊” > “OB1” 主程序中,從右側(cè)窗口 “指令” > “通訊” > “開放式用戶通信”下調(diào)用 “TCON” 指令,創(chuàng)建連接,如圖4.所示。
圖4. 調(diào)用 TCON 通信指令
② 定義 S7-1200 的 “TCON”連接參數(shù)
S7-1200 的 “TCON”指令的連接參數(shù)需要在指令下方的屬性窗口“屬性”> “組態(tài)”>“連接參數(shù)中”中設(shè)置,如圖5.所示。
圖5. 定義 TCON 連接參數(shù)
連接參數(shù)說(shuō)明:
端點(diǎn) |
:可以通過(guò)點(diǎn)擊選擇按鈕選擇“未指定” ; |
連接類型 |
:選擇通信協(xié)議為 UDP; |
連接 ID |
:連接的地址 ID 號(hào),這個(gè) ID 號(hào)在后面的編程里會(huì)用到; |
連接數(shù)據(jù) |
:點(diǎn)擊新建自動(dòng)生成該數(shù)據(jù)塊; |
主動(dòng)建立連接 |
:此功能在UDP連接時(shí),不能選擇; |
地址詳細(xì)信息 |
:定義本地通信的端口號(hào)為:2001。 |
③創(chuàng)建并定義 S7-1200 的發(fā)送數(shù)據(jù)區(qū) DB4 塊
通過(guò)“項(xiàng)目樹”>“1200-AC”>“程序塊”>“添加新塊”,選擇“數(shù)據(jù)塊” 創(chuàng)建 DB4 塊,選擇“標(biāo)準(zhǔn)-與S7-300/400 兼容”,點(diǎn)擊“確定”鍵,定義發(fā)送數(shù)據(jù)區(qū)為 9001 個(gè)字節(jié)的數(shù)組,如圖6.所示,結(jié)果如圖7.所示。
圖6. 創(chuàng)建發(fā)送數(shù)據(jù)區(qū) DB 塊
圖7. 定義發(fā)送數(shù)據(jù)區(qū)為字節(jié)類型的數(shù)組 9001 字節(jié)
④ 定義 UDP 連接參數(shù)數(shù)據(jù)塊
通過(guò)“項(xiàng)目樹”>“1200-AC”>“程序塊”>“添加新塊”,選擇“數(shù)據(jù)塊” 創(chuàng)建 DB 塊,然后在右側(cè)“類型”中選擇“TADDR_Param”,如圖8.所示。
圖8. 創(chuàng)建 UDP 連接參數(shù)數(shù)據(jù)塊
創(chuàng)建完 DB 塊后,可以在 DB 塊內(nèi),設(shè)置通訊伙伴的IP地址與端口號(hào)(如對(duì)方 300 CPU 的 IP:192.168.0.22,端口號(hào):2001),如圖9.所示。
圖9. UDP 連接詳細(xì)參數(shù)
⑤調(diào)用 “TUSEND” 在 OB1 內(nèi)調(diào)用 發(fā)送 10 個(gè)字節(jié)數(shù)據(jù)到 300 CPU 中
進(jìn)入 “項(xiàng)目樹” > “1200-AC” > “程序塊” > “OB1 ” 主程序中,從右側(cè)窗口 “指令” > “通訊” > “開放式用戶通信”下調(diào)用 “TUSEND” 指令,配置接口參數(shù),如圖10.所示。
圖10. 定義 TUSEND 接口參數(shù)
參數(shù)說(shuō)明:
輸入接口參數(shù):
REQ |
:= %M0.3 |
// 使用 2Hz 的時(shí)鐘脈沖,上升沿激活發(fā)送任務(wù); |
ID |
: = 2 |
// 創(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ì)尋址; |
ADDR |
: = %DB13 |
// UDP 通訊伙伴的連接參數(shù),包括對(duì)方 IP 地址及端口; |
輸出接口參數(shù):
DONE |
:= %M204.1 |
// 任務(wù)執(zhí)行完成并且沒有錯(cuò)誤,該位置 1; |
BUSY |
:= %M204.2 |
// 該位為 1,代表任務(wù)未完成,不能激活新任務(wù); |
ERROR |
:= %M204.3 |
// 通信過(guò)程中有錯(cuò)誤發(fā)生,該位置 1; |
STATUS |
:= %MW206 |
// 有錯(cuò)誤發(fā)生時(shí),會(huì)顯示錯(cuò)位信息號(hào)。 |
⑥創(chuàng)建并定義 S7-1200 的接收數(shù)據(jù)區(qū) DB10 塊。
通過(guò)“項(xiàng)目樹”>“1200-AC”>“程序塊”>“添加新塊”,選擇“數(shù)據(jù)塊” 創(chuàng)建 DB10 塊,選擇“標(biāo)準(zhǔn)-與S7-300/400 兼容”,點(diǎn)擊“確定”鍵,定義接收數(shù)據(jù)區(qū)為 10 個(gè)字節(jié)的數(shù)組,如圖11.所示,結(jié)果如圖12.所示。
圖11. 創(chuàng)建接收數(shù)據(jù)區(qū) DB10 塊
圖12. 定義接收數(shù)據(jù)區(qū)為字節(jié)類型的數(shù)組
⑦將 “TURCV” 在 OB1 內(nèi)調(diào)用
進(jìn)入 “項(xiàng)目樹” > “1200-AC” > “程序塊” > “OB1 ” 主程序中,從右側(cè)窗口 “指令” > “通訊” > “開放式用戶通信”下調(diào)用 “TURCV” 指令,配置接口參數(shù),如圖13.所示。
圖13. 調(diào)用 TURCV 指令并配置接口參數(shù)
參數(shù)說(shuō)明:
輸入接口參數(shù):
EN_R |
:= M220.0 |
// 準(zhǔn)備好接收數(shù)據(jù) M220.0=TRUE; |
ID |
:= 2 |
// 連接號(hào),使用的是 TCON 的連接參數(shù)中 ID號(hào); |
LEN |
:= 10 |
// 接收數(shù)據(jù)長(zhǎng)度為 10 個(gè)字節(jié); |
DATA |
:= P#DB10.DBX0.0 BYTE 10 |
// 接收數(shù)據(jù)區(qū)的地址; |
ADDR |
: = %DB13 |
// UDP通訊伙伴的連接參數(shù),包括對(duì)方IP地址及端口; |
輸出接口參數(shù):
NDR |
:= %M220.1 |
// 該位為 1,接收任務(wù)成功完成; |
BUSY |
:= %M220.2 |
// 該位為 1,代表任務(wù)未完成,不能激活新任務(wù); |
ERROR |
:= %M220.3 |
// 通信過(guò)程中有錯(cuò)誤發(fā)生,該位置 1; |
STATUS |
:= %MW222 |
// 有錯(cuò)誤發(fā)生時(shí),會(huì)顯示錯(cuò)誤信息號(hào); |
RCVD_LEN |
:= %MW224 |
// 實(shí)際接收數(shù)據(jù)的字節(jié)數(shù)。 |
配置完連接并編譯存盤。