S7-1200 CPU 通過 ETHERNET 與 S7-300 PN 口之間 TCP 通信的方式
S7-1200 與 S7-300 PN 口之間的以太網(wǎng)通信可以通過 TCP 協(xié)議來實現(xiàn),使用的通信指令是在雙方 CPU 調(diào)用 T-block (TSEND_C,TRCV_C, TCON, TDISCON, TSEND, TRCV) 指令來實現(xiàn)。通信方式為雙邊通信,因此 TSEND 和 TRCV 必須成對出現(xiàn)。
硬件和軟件需求及所完成的通信任務(wù)
所需條件:
① S7-1200/S7-300(集成PN口)
② STEP7 V11
所完成的通信任務(wù):
① S7-1200 CPU將通訊數(shù)據(jù)區(qū) DB4 塊中的 10 個字節(jié)的數(shù)據(jù)發(fā)送到 S7-300 CPU的接收數(shù)據(jù)區(qū) DB2 塊中。
② S7-300 CPU將通訊數(shù)據(jù)區(qū) DB1 塊中的 10 個字節(jié)的數(shù)據(jù)發(fā)送到 S7-1200 CPU的接收數(shù)據(jù)區(qū) DB5 塊中。
S7-1200 側(cè)通信的編程,連接參數(shù)及通信參數(shù)的配置
1. 使用 STEP7 V11 軟件新建一個項目并完成硬件配置
在 STEP7 v11的 “Portal 視圖” 中選擇 “創(chuàng)建新項目” 創(chuàng)建一個新項目。
2.添加硬件并命名PLC
然后進(jìn)入 “項目視圖”,在“項目樹” 下雙擊 “添加新設(shè)備”,在對話框中選擇所使用的 S7-1200 CPU 添加到機(jī)架上,命名為 S7-1200,如圖1.所示。
圖1. 添加新設(shè)備
為了編程方便,使用 CPU 屬性中定義的時鐘位,定義方法如下:
在 “項目樹” > “S7-1200” > “設(shè)備組態(tài)” 中,選中 CPU ,然后在下面的屬性窗口中,“屬性” > “系統(tǒng)和時鐘存儲器” 下,將系統(tǒng)位定義在 MB1,時鐘位定義在 MB0,如圖2.所示。
時鐘位我們主要使用 M0.3,它是以 2Hz 的速率在 0 和 1 之間切換的一個位,可以使用它去自動激活發(fā)送任務(wù)。
圖2. 系統(tǒng)位與時鐘位
3. 為 PROFINET 通信口分配以太網(wǎng)地址
在 “設(shè)備視圖”中點擊 CPU 上代表 PROFINET 通信口的綠色小方塊,在下方會出現(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ò)連接
在項目樹 “項目樹”>“設(shè)備和網(wǎng)絡(luò)” >“網(wǎng)絡(luò)視圖” 視圖下,創(chuàng)建兩個設(shè)備的連接。用鼠標(biāo)點中 S7-1200 上的PROFINET通信口的綠色小方框,然后拖拽出一條線,到另外一個 317-2pn 上的PROFINET通信口上,松開鼠標(biāo),連接就建立起來了,如圖4.所示。
圖4. 建立兩個 CPU的邏輯連接
5.在 S7-1200 中調(diào)用并配置“TCON”、“TSEND”、“TRCV” 通信指令
① 在 S7-1200 CPU 中調(diào)用發(fā)送通信指令,進(jìn)入 “項目樹” > “ S7-1200” > “程序塊” > “OB1” 主程序中,從右側(cè)窗口 “指令” > “通訊” > “開放式用戶通信”下調(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ù)說明:
端點 :可以通過點擊選擇按鈕選擇“未*” ; 連接類型 :選擇通信協(xié)議為 TCP; 連接 ID :連接的地址 ID 號,這個 ID 號在后面的編程里會用到; 連接數(shù)據(jù) :點擊新建自動生成該數(shù)據(jù)塊,如S7-1200_Connection_DB;
主動建立連接 :選擇本地 S7-1200 作為主動連接; 地址詳細(xì)信息 :定義通信伙伴方的端口號為:2000。 ③創(chuàng)建并定義 S7-1200 的發(fā)送數(shù)據(jù)區(qū) DB4 塊
通過“項目樹”>“S7-1200”>“程序塊”>“添加新塊”,選擇“數(shù)據(jù)塊” 創(chuàng)建 DB4 塊,選擇“標(biāo)準(zhǔn)-與S7-300/400 兼容”,點擊“確定”鍵,定義發(fā)送數(shù)據(jù)區(qū)為 101 個字節(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 個字節(jié)數(shù)據(jù)到 317-2pn 中
進(jìn)入 “項目樹” > “S7-1200” > “程序塊” > “OB1 ” 主程序中,從右側(cè)窗口 “指令” > “通訊” > “開放式用戶通信”下調(diào)用 “TSEND” 指令,配置接口參數(shù),如圖9.所示。
圖9. 調(diào)用 TSEND 指令并配置接口參數(shù)
參數(shù)說明:
輸入接口參數(shù):
REQ
:= M0.3
// 使用 2Hz 的時鐘脈沖,上升沿激活發(fā)送任務(wù);
ID : = 1 //創(chuàng)建連接ID; LEN
:= 10
//發(fā)送數(shù)據(jù)長度;
DATA
:= P#DB4.DBX0.0 BYTE 10
// 發(fā)送數(shù)據(jù)區(qū)的數(shù)據(jù),使用指針尋址時,DB塊要選用**尋址;
輸出接口參數(shù):
DONE
:= M11.0
//任務(wù)執(zhí)行完成并且沒有錯誤,該位置 1;
BUSY
:= M11.2
// 該位為 1,代表任務(wù)未完成,不能激活新任務(wù);
ERROR
:= M11.3
//通信過程中有錯誤發(fā)生,該位置 1;
STATUS
:= MW22
//有錯誤發(fā)生時,會顯示錯位信息號。
⑤創(chuàng)建并定義 S7-1200 的接收數(shù)據(jù)區(qū) DB5 塊。
通過“項目樹”>“S7-1200”>“程序塊”>“添加新塊”,選擇“數(shù)據(jù)塊” 創(chuàng)建 DB5 塊,選擇“標(biāo)準(zhǔn)-與S7-300/400 兼容”,點擊“確定”鍵,定義接收數(shù)據(jù)區(qū)為 101 個字節(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)入 “項目樹” > “S7-1200” > “程序塊” > “OB1 ” 主程序中,從右側(cè)窗口 “指令” > “通訊” > “開放式用戶通信”下調(diào)用 “TRCV” 指令,配置接口參數(shù),如圖12.所示。
圖12. 調(diào)用 TRCV 指令并配置接口參數(shù)
參數(shù)說明:
輸入接口參數(shù):
EN_R
:= TRUE
// 準(zhǔn)備好接收數(shù)據(jù);
ID
:= 1
// 連接號,使用的是 TCON 的連接參數(shù)中 ID號;
LEN
:= 10
// 接收數(shù)據(jù)長度為 10 個字節(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
// 通信過程中有錯誤發(fā)生,該位置 1;
STATUS
:= MW24
// 有錯誤發(fā)生時,會顯示錯誤信息號;
RCVD_LEN
:= MW26
// 實際接收數(shù)據(jù)的字節(jié)數(shù)。
配置完連接并編譯存盤。
詞條
詞條說明
S7-1500 控制器產(chǎn)品系列中具有較大容量程序及數(shù)據(jù)存儲器的 CPU,適用于具有較高程序范圍和聯(lián)網(wǎng)要求的苛刻應(yīng)用。具有較高處理速度,適用于二進(jìn)制和浮點運算用于系列機(jī)器、**機(jī)器以及工廠中的跨領(lǐng)域自動化任務(wù)在具有集中式和分布式 I/O 的生產(chǎn)線上作為集中式 PLC 使用PROFINET IO IRT 接口,帶 2 端換機(jī)PROFINET I/O 控制器,用于經(jīng)由 PROFINET 控制分布式 I/
I/O 訪問錯誤組織塊 (OB 122)說明只要在訪問模塊中的數(shù)據(jù)時出錯,CPU 操作系統(tǒng)就會調(diào)用 OB 122。 例如,如果在訪問信號模塊中的數(shù)據(jù)時,CPU 檢測到讀錯誤,則操作系統(tǒng)將調(diào)用 OB 122。I/O 訪問錯誤 OB 的功能OB 122 的執(zhí)行**等級與中斷塊相同。 如果未對 OB 122 編程,則 CPU 從 RUN 切換為 STOP 模式。S7 提供有以下指令,用于在程序執(zhí)行過程中
電源提示此頁面在 SCALANCE W786-2 SFP 上不可用。組態(tài)是否通過消息系統(tǒng)監(jiān)視電源。根據(jù)硬件型號,有一個或兩個電源連接器(電源 1/電源 2)。帶冗余電源時,應(yīng)對每個單獨的進(jìn)線線路分別組態(tài)監(jiān)視。所監(jiān)視的線路之一(電源 1 或電源 2)未通電或電壓過低時,信號系統(tǒng)將發(fā)出故障信號。提示設(shè)備的操作說明中包含允許的工作電壓限值。錯誤會導(dǎo)致設(shè)備上的故障 LED 點亮。根據(jù)組態(tài),錯誤可能會觸發(fā)一
導(dǎo)出和導(dǎo)入設(shè)置TIA Portal 設(shè)置可導(dǎo)出為一個文件。在導(dǎo)入這些設(shè)置時,將同時應(yīng)用這些設(shè)置。通過該功能,可將設(shè)置發(fā)送給其他用戶。與此類似,可統(tǒng)一設(shè)定系統(tǒng)設(shè)置,為多個工程組態(tài) PC 設(shè)置統(tǒng)一的操作環(huán)境。TIA Portal 在啟動時會查找初始化文件。如果找到初始化文件,則在重新啟動后將自動應(yīng)用該文件中所保存的設(shè)置。如果該文件有較新版本,則本地的設(shè)置將相應(yīng)地進(jìn)行較新??梢詫?dǎo)出所有設(shè)置,如:用戶界面
公司名: 上海騰希電氣技術(shù)有限公司
聯(lián)系人: 田禮科
電 話: 021-37660026
手 機(jī): 13681875601
微 信: 13681875601
地 址: 上海松江上海市松江區(qū)廣富林路4855弄星月大業(yè)**88號4樓
郵 編:
網(wǎng) 址: shtxjd.cn.b2b168.com
公司名: 上海騰希電氣技術(shù)有限公司
聯(lián)系人: 田禮科
手 機(jī): 13681875601
電 話: 021-37660026
地 址: 上海松江上海市松江區(qū)廣富林路4855弄星月大業(yè)**88號4樓
郵 編:
網(wǎng) 址: shtxjd.cn.b2b168.com
¥6300.00
網(wǎng)課專享 教學(xué)一體機(jī) 21.5寸
¥1980.00