與S7-1200之間TCP通信一

    S7-200 SMART 與 S7-1200 之間 TCP 通信— S7-200 SMART 作為服務器

    TCP 協(xié)議通信

    TCP 通信為面向連接的通信,需要雙方都調(diào)用指令以建立連接及交換數(shù)據(jù)。S7-200 SMART 與 S7-1200 通過 TCP 通信,在 S7-1200 調(diào)用 T-block 指令 ( TCON, TDISCON, TSEND, TRCV ) ,在 S7-200 SMART 調(diào)用 Open User Communication 庫指令( TCP_CONNECT,DISCONNECT,TCP_SEND,TCP_RECV) 。雙方的發(fā)送和接收指令必須成對出現(xiàn)。

    客戶端:主動建立連接,可以理解為主站 ; 服務器:被動建立連接,可以理解為從站。

     注意:

    S7-200 SMART 在 CPU 硬件固件及編程軟件版本均升級到 V2.2 之后才開始支持開放式通信。編程軟件版本**V2.2,無 Open User Communication 庫指令;硬件固件** V2.2,硬件不支持開放式通信協(xié)議。

    S7-200 SMART TCP 連接資源:8個主動連接資源,8個被動連接資源

    S7-200 SMART TCP 通信數(shù)據(jù)量:1024 字節(jié)

    硬件和軟件需求及所完成的通信任務

    硬件:
    ① S7-1200 CPU (IP 地址 192.168.0.100 ;子網(wǎng)掩碼 255.255.255.0)
    ② S7-200 SMART CPU (固件版本V2.2) ( IP 地址 192.168.0.20 ;子網(wǎng)掩碼 255.255.255.0)
    ③ PC (帶以太網(wǎng)卡)
    ④ TP 以太網(wǎng)電纜
    軟件:
    ① STEP7 V13 SP1 Upd 9
    ② STEP 7 Micro/WIN SMART ( 軟件版本 V2.2 )
    所完成的通信任務:
    ① S7-1200 發(fā)送 10 個字節(jié)數(shù)據(jù):( S7-1200側(cè) ) DB4.DBB0~DB4.DBB9 --> ( S7- 200 SMART 側(cè) ) VB2000~VB2009
    ② S7-1200 接收 10 個字節(jié)數(shù)據(jù): ( S7-1200 側(cè) ) DB4.DBB10~DB4.DBB19 <-- ( S7-200 SMART 側(cè) ) 
    VB0~VB9

    S7-1200 側(cè)硬件組態(tài)和編程 ( 客戶機側(cè)組態(tài)編程 )

    1. 使用 TIA V13 SP1 Upd 9 軟件 Portal 視圖中,創(chuàng)建新項目

    2. 添加硬件并命名PLC

    進入 “項目視圖”,在“項目樹” 下雙擊 “添加新設(shè)備”,在對話框中選擇所使用的 S7-1200 CPU 添加到機架上,命名為 PLC_1 如圖1所示

    圖1. 添加新設(shè)備

    3. 啟用時鐘位

    為了編程方便,使用 CPU 屬性中定義的時鐘位,定義方法如下:
    在 “項目樹” > “PLC_1” > “設(shè)備組態(tài)” 中,選中 CPU ,然后在下面的屬性窗口中,“屬性” > “系統(tǒng)和時鐘存儲器” 下,將時鐘位定義在 MB0,如圖2所示。
    時鐘位我們使用 M0.5 ,它是頻率為 1 Hz 的脈沖,可以使用它去自動激活發(fā)送任務。

    圖2.啟用時鐘位

    4. 為 PROFINET 通信口分配以太網(wǎng)地址

    在 “設(shè)備視圖”中點擊 CPU 上代表 PROFINET 通信口的綠色小方塊,在下方會出現(xiàn) PROFINET 接口的屬性,在 “以太網(wǎng)地址” 下分配 S7-1200 CPU 的 IP 地址為 192.168.0.100 ,子網(wǎng)掩碼為255.255.255.0,如圖3 所示

    圖3. 分配 IP 地址

    5.在S7-1200 中調(diào)用建立連接指令,進入 “項目樹” > “ PLC_1” > “程序塊” > “OB1” 主程序中,從右側(cè)窗口 “指令”> “通信”>“開放式用戶通信”下調(diào)用 “TCON” 指令,配置連接參數(shù),如圖4所示。

    圖4. 調(diào)用TCON指令并配置連接參數(shù)

    6.創(chuàng)建用于交換數(shù)據(jù)的全局DB塊及定義變量

    通過“項目樹”>“PLC_1”>“程序塊”>“添加新塊”,選擇“數(shù)據(jù)塊” 創(chuàng)建全局 DB 塊,點擊“確定” 生成數(shù)據(jù)塊。如圖5所示。

    圖5.添加新塊

    通過“項目樹”>“PLC_1”>“程序塊”>點擊生成的 “數(shù)據(jù)塊_1” ( DB4 ) ,右鍵屬性,取消勾選“優(yōu)化的塊訪問”。如圖6所示。

    圖6.取消勾選優(yōu)化的塊訪問

    雙擊生成的 “數(shù)據(jù)塊_1” ( DB4 ) ,定義數(shù)組,10 個字節(jié)用于發(fā)送,10個字節(jié)用于接收,然后編譯數(shù)據(jù)塊。結(jié)果如圖7所示。

    圖7. 定義交換數(shù)據(jù)區(qū)

    7.在OB1中調(diào)用 TSEND 和 TRCV

    指令塊位置及調(diào)用方法參考 TCON 指令的調(diào)用,調(diào)用結(jié)果如圖8所示。

    CALL TSEND
    , DB3
    //調(diào)用TSEND,使用背景DB塊:DB3
    REQ
    :M0.5
    //使用1Hz的時鐘脈沖,上升沿激活發(fā)送任務
    ID
    :1
    //連接號,要與連接配置中一致
    DATA
    :P#DB4.DBX0.0 BYTE 10
    // 發(fā)送數(shù)據(jù)區(qū)的數(shù)據(jù),需要注意DB塊要選用**尋址
    DONE
    :M20.0
    // 任務執(zhí)行完成并且沒有錯誤,該位置1
    BUSY
    :M20.1
    // 該位為1,代表任務未完成,不能激活新任務
    ERROR
    :M20.2
    // 通信過程中有錯誤發(fā)生,該位置1
    STATUS
    :MW22
    // 有錯誤發(fā)生時,會顯示錯誤信息號

    CALL TRCV
    , DB5
    //調(diào)用TRCV,使用背景DB塊:DB5
    EN_R
    :M1.2
    //準備好接受數(shù)據(jù) ,常1接收
    ID
    :1
    //連接號,要與連接配置中一致
    DATA
    :P#DB4.DBX10.0 BYTE 10
    // 接受數(shù)據(jù)區(qū)的數(shù)據(jù),需要注意DB塊要選用**尋址
    DONE
    :M30.0
    // 任務執(zhí)行完成并且沒有錯誤,該位置1
    BUSY
    :M30.1
    // 該位為1,代表任務未完成,不能激活新任務
    ERROR
    :M30.2
    // 通信過程中有錯誤發(fā)生,該位置1
    STATUS
    :MW32
    // 有錯誤發(fā)生時,會顯示錯誤信息號
    RCVD_LEN
    :MW34
    // 實際接受數(shù)據(jù)的字節(jié)數(shù)

    圖8. 調(diào)用發(fā)送和接收指令

     接收和發(fā)送指令調(diào)用需要注意:

    程序塊的 ID 要與指令 TCON 中的 ID 保持一致

    DATA 參數(shù)的填寫方法 ( 以 TRCV 程序塊為例 ):

    1、直接輸入 : P#DB4.DBX10.0 BYTE 10

    2、打開數(shù)據(jù)塊,點擊數(shù)據(jù)塊右上角浮動按鈕,移動數(shù)據(jù)塊與OB1并排顯示,選中數(shù)據(jù)塊變量名稱 “ TCP_RCV ” 拖拽到 TRCV 指令 DATA 參數(shù)處,該區(qū)域顯示為綠色,釋放鼠標即可。

     

    S7-200 SMART側(cè)編程 ( 服務器側(cè)組態(tài)編程 )

    1.打開STEP 7 Micro/WIN SMART>項目樹>指令樹>庫>Open User Communication ,調(diào)用TCP_CONNECT,如圖9所示。

    TCP_CONNECT
    //調(diào)用TCP_CONNECT
    EN
    :SM0.0
    //使能輸入
    Req
    :V6010.0
    //如果 Req = TRUE,CPU 啟動連接操作。如果 Req = FALSE,則輸出顯示連接的當前狀態(tài)。使用上升沿觸發(fā)
    Active
    :SM0.0閉點
    //TRUE = 主動連接 ;FALSE = 被動連接
    ConnID
    :1
    // CPU 使用連接 ID (ConnID) 為其它指令標識該連接。可能的 ConnID 范圍為 0 到 65534。
    IPaddr1~4
    :0~0
    //IPaddr1 是 IP 地址的較高有效字節(jié),IPaddr4 是 IP 地址的較低有效字節(jié)。服務器側(cè)IP地址寫0,表示接收所有請求
    RemPort
    :0
    //RemPort 是遠程設(shè)備上的端口號。遠程端口號范圍為 1 到 49151。對于被動連接,使用零。
    LocPort
    :2000
    // LocPort 是本地設(shè)備上的端口號。本地端口號范圍為 1 到 49151,但存在一些限制。
    DONE
    :V6000.0
    // 當連接操作完成且沒有錯誤時,指令置位 Done 輸出。
    BUSY
    :V6000.1
    // 當連接操作正在進行時,指令置位 Busy 輸出。
    ERROR
    :V6000.2
    // 當連接操作完成但發(fā)生錯誤時,指令置位 Error 輸出
    STATUS
    :VB6002
    // 如果指令置位 Error 輸出,Status 輸出會顯示錯誤代碼。如果指令置位 Busy 或 Done 輸出,Status 為零(無錯誤)

    圖9. 指令位置及調(diào)用連接指令

    2.調(diào)用TCP_SEND 和 TCP_RCV 指令,如圖10 所示。

    CALL TCP_SEND
    //調(diào)用TCP_SEND
    EN
    :SM0.5
    //使能輸入
    Req
    :SM0.5
    //如果 Req = TRUE,CPU 啟動發(fā)送操作。如果 Req = FALSE,則輸出顯示發(fā)送操作的當前狀態(tài)。
    ConnID
    :1
    //連接 ID (ConnID) 是此發(fā)送操作所用連接的編號。使用您為 TCP_CONNECT 操作選擇的 ConnID。
    DataLen
    :10
    //DataLen 是要發(fā)送的字節(jié)數(shù)(1 到 1024)。
    DataPtr
    :&VB0
    //DataPtr 是指向待發(fā)送數(shù)據(jù)的指針。這是指向 I、Q、M 或 V 存儲器的 S7-200 SMART 指針(例如,&VB100)。
    Done
    :V6000.6
    // 當連接操作完成且沒有錯誤時,指令置位 Done 輸出。
    Busy
    :V6000.7
    // 當連接操作正在進行時,指令置位 Busy 輸出。
    Error
    :V6001.0
    // 當連接操作完成但發(fā)生錯誤時,指令置位 Error 輸出。
    Status
    :VB6004
    // 如果指令置位 Error 輸出,Status 輸出會顯示錯誤代碼。如果指令置位 Busy 或 Done 輸出,Status 為零(無錯誤)

    CALL TCP_RECV
    //調(diào)用TCP_RECV
    EN
    :SM0.0
    //使能輸入,常1接收
    ConnID
    :1
    //CPU 將連接 ID (ConnID) 用于此接收操作(連接過程中定義)。
    MaxLen
    :10
    // MaxLen 是要接收的較大字節(jié)數(shù)(例如,DataPt 中緩沖區(qū)的大小(1 到 1024))。
    DataPtr
    :&VB2000
    // DataPtr 是指向接收數(shù)據(jù)存儲位置的指針。這是指向 I、Q、M 或 V 存儲器的 S7-200 SMART 指針(例如,&VB100)
    Done
    :V6001.1
    //當接收操作完成且沒有錯誤時,指令置位 Done 輸出。當指令置位 Done 輸出時,Length 輸出有效。
    Busy
    :V6001.2
    // 當接收操作正在進行時,指令置位 Busy 輸出。
    Error
    :V6001.3
    // 當接收操作完成但發(fā)生錯誤時,指令置位 Error 輸出
    Status
    :VB6005
    // 如果指令置位 Error 輸出,Status 輸出會顯示錯誤代碼。如果指令置位 Busy 或 Done 輸出,Status 為零(無錯誤)。
    Length
    :VW6006
    //Length 是實際接收的字節(jié)數(shù)。

    圖10. 調(diào)用發(fā)送和接收指令

    3.分配庫存儲區(qū),如圖11 所示。

    圖11. 分配庫存儲區(qū)

     注意:為保證指令庫可以正常工作,分配庫存儲區(qū)的時候,一定不能與程序中使用的其他 V 區(qū)地址重疊??!

    通信結(jié)果

    將 S7-1200 和 S7-200 SMART 項目編譯,下載 ;

    S7-1200 側(cè)觸發(fā) TCON 指令的REQ (M10.0 置位為1),S7-200 SMART 側(cè)觸發(fā) TCP_CONNECT 指令的Req (V6010.0 置位為1 )以建立連接;

    通信結(jié)果如下:


    上海騰希電氣技術(shù)有限公司專注于西門子PLC,V90伺服,V20變頻器等, 歡迎致電 13681875601

  • 詞條

    詞條說明

  • DHCP 連接檢查

    連接檢查可在此頁面激活監(jiān)視連接的 ping 測試。在 ping 測試期間,設(shè)備會以固定時間間隔向已組態(tài)的目標地址發(fā)送 ICMP 回送請求包 (ping)。如果此目標地址未作出響應,則設(shè)備會再次嘗試訪問目標地址。如果所有 ping 嘗試(重試)都不成功,則認為 ping 測試失敗或無法對組進行訪問。如果無法訪問組,則設(shè)備會在所選接口上啟動已組態(tài)的操作。如果已執(zhí)行所有 5 個操作或重新啟動后,設(shè)備將再

  • 通過 P_RCV_RK (CP 341) 從通信模塊到 CPU 的數(shù)據(jù)傳輸

    通過 P_RCV_RK (CP 341) 從通信模塊到 CPU 的數(shù)據(jù)傳輸先決條件所有讀取函數(shù)代碼都需要 P_RCV_RK。數(shù)據(jù)目標地址當指令 P_RCV_RK 準備好接收數(shù)據(jù)時,它接受從通信模塊接收到的數(shù)據(jù),然后將數(shù)據(jù)輸入到在參數(shù)?DB_N0?和?DBB_N0?中*的數(shù)據(jù)目標地址。如何顯示數(shù)據(jù)接收通過輸出?NDR?上的邊沿信號來通知用

  • 以太網(wǎng)統(tǒng)計信息 LLDP

    LLDP提示只有與設(shè)備存在在線連接時才顯示該頁面。鄰居表狀態(tài)此頁面顯示鄰居表的當前內(nèi)容。該表存儲 LLDP 代理從所連接設(shè)備接收到的信息。在以下部分設(shè)置 LLDP 代理接收或發(fā)送信息所使用的接口:“* 2 層 > LLDP”(Layer 2 > LLDP)。顯示值說明該表包含以下列:系統(tǒng)名稱 (System name)所連接設(shè)備的系統(tǒng)名稱。設(shè)備 ID (Device ID)所連設(shè)備的設(shè)

  • 1200存儲器復位的基礎(chǔ)知識

    存儲器復位的基礎(chǔ)知識功能只有在 STOP 模式下,才能執(zhí)行 CPU 的存儲器復位。復位存儲器時,CPU 切換到“初始狀態(tài)”。 這表示:終止編程設(shè)備/PC 和 CPU 間的現(xiàn)有在線連接。被刪除工作存儲器中的內(nèi)容以及保持性和非保持性數(shù)據(jù)。保留診斷緩沖區(qū)、時間、IP 地址、硬件配置和激活的強制作業(yè)。裝載存儲器內(nèi)容(代碼和數(shù)據(jù)塊)隨后復制到工作存儲器。 其結(jié)果為,數(shù)據(jù)塊不再具有當前值,而是具有其組態(tài)的起始

聯(lián)系方式 聯(lián)系我時,請告知來自八方資源網(wǎng)!

公司名: 上海騰希電氣技術(shù)有限公司

聯(lián)系人: 田禮科

電 話: 021-37660026

手 機: 13681875601

微 信: 13681875601

地 址: 上海松江上海市松江區(qū)廣富林路4855弄星月大業(yè)**88號4樓

郵 編:

網(wǎng) 址: shtxjd.cn.b2b168.com

八方資源網(wǎng)提醒您:
1、本信息由八方資源網(wǎng)用戶發(fā)布,八方資源網(wǎng)不介入任何交易過程,請自行甄別其真實性及合法性;
2、跟進信息之前,請仔細核驗對方資質(zhì),所有預付定金或付款至個人賬戶的行為,均存在詐騙風險,請?zhí)岣呔瑁?
    聯(lián)系方式

公司名: 上海騰希電氣技術(shù)有限公司

聯(lián)系人: 田禮科

手 機: 13681875601

電 話: 021-37660026

地 址: 上海松江上海市松江區(qū)廣富林路4855弄星月大業(yè)**88號4樓

郵 編:

網(wǎng) 址: shtxjd.cn.b2b168.com

    相關(guān)企業(yè)
    商家產(chǎn)品系列
  • 產(chǎn)品推薦
  • 資訊推薦
關(guān)于八方 | 八方幣 | 招商合作 | 網(wǎng)站地圖 | 免費注冊 | 一元廣告 | 友情鏈接 | 聯(lián)系我們 | 八方業(yè)務| 匯款方式 | 商務洽談室 | 投訴舉報
粵ICP備10089450號-8 - 經(jīng)營許可證編號:粵B2-20130562 軟件企業(yè)認定:深R-2013-2017 軟件產(chǎn)品登記:深DGY-2013-3594
著作權(quán)登記:2013SR134025
Copyright ? 2004 - 2024 b2b168.com All Rights Reserved