加入收藏 在線留言 聯系我們
    關注微信
    手機掃一掃 立刻聯系商家
    全國服務熱線15386422716

    福建省廈門市西門子中國總代理-西門子選型-西門子技術支持-西門子維修服務

    更新時間
    2024-11-02 08:50:00
    價格
    請來電詢價
    聯系電話
    15344432716
    聯系手機
    15386422716
    聯系人
    楊本剛
    立即詢價

    詳細介紹

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


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

    ① 創建并定義PLC_1的接收數據區 DB 塊。

    通過“Project tree”>“PLC_1”>“Program blocks”>“Add newblock”,選擇“Data block” 創建 DB 塊,選擇juedui尋址,點擊“OK”鍵,定義發送數據區為100個字節的數組,如圖12及圖13所示。

    圖片

    圖12. 創建接收數據區 DB 塊

    注意:對于雙邊編程通信的 CPU ,如果通信數據區使用 DB 塊,既可以將 DB塊定義成符號尋址,也可以定義成juedui尋址。使用指針尋址方式,必須創建juedui尋址的 DB 塊。

    圖片

    圖13. 定義接收數據區為字節類型的數組

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

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

    參數說明:
    輸入接口參數:

    EN_R

    := TRUE

    // 準備好接收數據

    ID

    := 1

    // 連接號,使用的是 TCON 的連接參數中 ID號

    LEN

    := 100

    // 接收數據長度為 100 個字節

    DATA

    := P#DB4.DBX0.0 BYTE 100

    // 接收數據區的地址

    輸出接口參數:

    NDR

    := M310.0

    // 該位為 1,接收任務成功完成

    BUSY

    := M310.1

    // 該位為 1,代表任務未完成,不能激活新任務

    ERROR

    := M310.2

    // 通信過程中有錯誤發生,該位置 1

    STATUS

    := MW312

    // 有錯誤發生時,會顯示錯誤信息號

    RCVD_LEN  

    := MW314

    // 實際接收數據的字節數

    注意:LEN設置為 65535 可以接收變長數據。

    在 PLC_2 中調用并配置“TCON”、“TSEND”、“TRCV” 通信指令1.在 PLC_2 的 OB1 中調用“TCON”通信指令

    ① 在第一個 CPU 中調用發送通信指令,進入 “Project tree” > “ PLC_2” >“Program blocks” > “OB1” 主程序中,從右側窗口 “Instructions” >“Communications” > “OPEN User Communications”下調用 “TCON”指令,創建連接,如圖15所示。

    圖片

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

    ② 創建DB2 分配連接參數,見圖16所示

    圖片

    圖16. 創建連接數據塊 DB2(Con_DB)

    ③ 定義 PLC_2的 連接參數 “TCON” 

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

    圖片 

    圖17. 定義 TCON 連接參數 

    連接參數說明:

    End point:可以通過點擊選擇按鈕選擇伙伴 CPU :PLC_2Connection type:選擇通信協議為TCP(也可以選擇 ISO on TCP 或UDP協議)Connection ID?。哼B接的地址 ID 號,這個 ID號在后面的編程里會用到Connection data

    :創建連接時,生成的Con_DB塊。見圖2所示

    Active connection setup:選擇通信伙伴 PLC_1作為主動連接Addressdetails :定義通信伙伴方的端口號為:2000;如果選用的是 ISO on TCP 協議,則需要設定的TSAP 地址(ASCII形式),本地 PLC_2可以設置成“PLC2”,伙伴方 PLC_1 可以設置成“PLC1”?!   ?. 在 PLC_2中在OB1調用“TRCV”通信指令

    接收從PLC_1 發送到 PLC_2的100個字節數據

    ① 創建并定義接收數據區 DB 塊。

    通過“Project tree”>“ PLC_2”>“Program blocks”>“Add new block”,選擇 “Data block”創建 DB 塊,選擇符號尋址,點擊“OK”鍵,定義接收數據區為 100個字節的數組,圖18及圖19所示。

    圖片 

    圖18. 創建接收數據區 DB 塊

    圖片 

    圖19. 定義接收區為 100 個字節的數組

    ② 定義調用 “TRCV” 程序

    圖片


    圖20. TRCV 塊參數配置

    參數配置:
    輸入接口參數:

    EN_R

    := TRUE

    // 準備好接收數據

    ID

    := 1

    // 建立連接并一直保持連接

    LEN

    := 100

    // 接收的數據長度為 100 個字節

    DATA

    := P#DB4.DBX0.0 BYTE 100

    //接收數據區,DB 塊選用的是符號尋址

    輸出接口參數:

    DONE

    := M310.0

    // 任務執行完成并且沒有錯誤,該位置 1

    BUSY

    := M310.1

    // 該位為 1,代表任務未完成,不能激活新任務

    ERROR

    := M310.2

    // 通信過程中有錯誤發生,該位置 1

    STATUS

    := MW312

    // 有錯誤發生時,會顯示錯誤信息號

    RCVD_LEN

    := MW314

    // 實際接收數據的字節數

    3. 在 PLC_2 中調用并配置“TSEND”通信指令

    PLC_2 將 發送100個字節數據 到 PLC_1 中,如何創建發送數據塊DB3,與創建接收數據塊方法相同,不再詳述。在PLC_2 中調用發送指令并配置塊參數,發送指令與接收指令使用同一個連接,如圖21所示。

    圖片

    圖21. 調用TSEND 指令并配置塊接口參數

    參數說明:
    輸入接口參數:

    REQ

    := M0.3

    // 使用 2Hz 的時鐘脈沖,上升沿激活發送任務

    ID

    := 1

    // 連接ID號,通過TCON創建的連接

    LEN

    := 100

    // 發送數據長度為 100 個字節

    DATA

    := P#DB3.DBX0.0 BYTE 100

    // 發送數據區的符號地址


    輸出接口參數:

    DONE

    :M300.0

    // 任務執行完成并且沒有錯誤,該位置 1

    BUSY

    :M300.1  

    // 該位為 1,代表任務未完成,不能激活新任務

    ERROR

    :M300.2

    // 通信過程中有錯誤發生,該位置 1

    STATUS

    :MW302

    //有錯誤發生時,會顯示錯誤信息號

    下載硬件組態及程序并監控通信結果

    下載兩個 CPU 中的所有硬件組態及程序,從監控表中可以看到,PLC_1 的 TSEND指令發送數據:“66”,“55”,“44”數據,PLC_2 接收到數據:“66”,“55”,“44”。而 PLC_2發送數據“11”,“22”,“33”,PLC_1接收數據是“11”,“22”,“33””,如圖22所示。

    圖片

    圖22. PLC_1 及 PLC_2 的監控表



    相關產品

    聯系方式

    • 電  話:15344432716
    • 銷售顧問:楊本剛
    • 手  機:15386422716
    • 微  信:AK66F7