與S7-1200之間TCP通信一

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

    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)。

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

     注意:

    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é)

    硬件和軟件需求及所完成的通信任務(wù)

    硬件:
    ① 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 )
    所完成的通信任務(wù):
    ① 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ā)送任務(wù)。

    圖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ā)送任務(wù)
    ID
    :1
    //連接號,要與連接配置中一致
    DATA
    :P#DB4.DBX0.0 BYTE 10
    // 發(fā)送數(shù)據(jù)區(qū)的數(shù)據(jù),需要注意DB塊要選用**尋址
    DONE
    :M20.0
    // 任務(wù)執(zhí)行完成并且沒有錯誤,該位置1
    BUSY
    :M20.1
    // 該位為1,代表任務(wù)未完成,不能激活新任務(wù)
    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
    // 任務(wù)執(zhí)行完成并且沒有錯誤,該位置1
    BUSY
    :M30.1
    // 該位為1,代表任務(wù)未完成,不能激活新任務(wù)
    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è)編程 ( 服務(wù)器側(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é)。服務(wù)器側(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ū)地址重疊?。?/strong>

    通信結(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

  • 詞條

    詞條說明

  • 1200 硬件中斷事件的示例

    硬件中斷事件的示例以下將通過硬件中斷觸發(fā)模塊舉例說明 S7-1200 CPU 中事件觸發(fā)的程序執(zhí)行原理。過程事件及其**級過程事件由 I/O(例如通過數(shù)字量輸入)觸發(fā)并在 S7-1200 CPU 中啟動對已分配 OB 的調(diào)用。 分配給過程事件的 OB 稱為硬件中斷 OB。過程事件及其**級的示例:中斷觸發(fā)模塊中的過程事件“上升沿”或“下降沿”: 由此事件啟動的硬件中斷 OB 總是分配為**級 5。

  • USS 通信

    USS 通信概述系統(tǒng)環(huán)境中的位置以下 USS 說明涉及 Modbus/USS 模型中 ET 200S 1SI 模塊的操作。簡介USS 協(xié)議是一種簡單的串行數(shù)據(jù)傳輸協(xié)議,旨在滿足驅(qū)動器技術(shù)的要求。USS 協(xié)議定義了一種基于主站-從站原理通過串行總線進行通信的訪問方法。總線可以連接一個主站和較多 31 個從站。主站和從站構(gòu)成 USS 網(wǎng)絡(luò)。 主站與從站之間交換的數(shù)據(jù)稱為網(wǎng)絡(luò)數(shù)據(jù)。 網(wǎng)絡(luò)數(shù)據(jù)塊包含主站的

  • 通過 CPU 和 CP 實現(xiàn)開放式用戶通信連接

    通過 CPU 和 CP 實現(xiàn)開放式用戶通信連接通過工業(yè)以太網(wǎng)實現(xiàn)開放式用戶通信 - 已編程通信連接使用開放式用戶通信,可以在用戶程序中通過指令接口使用工業(yè)以太網(wǎng)服務(wù)。 通過用戶程序中的指令接口可以建立通信連接;而*組態(tài)連接。通過 CPU 接口實現(xiàn)的服務(wù)下列開放式用戶通信服務(wù)適用于 S7-1500,可用于通過 CP 的集成以太網(wǎng)接口進行數(shù)據(jù)交換:TCP(符合 RFC?793 協(xié)議)ISO

  • 涉及智能 DP 從站的組態(tài)

    涉及智能 DP 從站的組態(tài)定義本身具有預(yù)處理程序的 DP 從站稱為智能 DP 從站(智能從站)。 智能 DP 從站的示例包括:CPU 315-2 DPCPU 317-2 DPCPU 319-3 PN/DP涉及智能 DP 從站的組態(tài)有兩種方法可以組態(tài)使用 PROFIBUS DP 的智能 DP 從站:智能從站與 DP 主站間的數(shù)據(jù)交換DP 從站到智能從站的直接數(shù)據(jù)交換智能從站與 DP 主站間的數(shù)據(jù)交換

聯(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ì),所有預(yù)付定金或付款至個人賬戶的行為,均存在詐騙風險,請?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è)務(wù)| 匯款方式 | 商務(wù)洽談室 | 投訴舉報
粵ICP備10089450號-8 - 經(jīng)營許可證編號:粵B2-20130562 軟件企業(yè)認定:深R-2013-2017 軟件產(chǎn)品登記:深DGY-2013-3594
著作權(quán)登記:2013SR134025
Copyright ? 2004 - 2025 b2b168.com All Rights Reserved