RM新时代有限公司

          1. RM新时代有限公司

            歡迎光臨入喜工業(yè)控制技術(shù)(上海)有限公司
            S7-200 SMART CPU之間的以太網(wǎng)通信
            2020/11/30 21:13:44

            S7-200 SMART CPU之間的以太網(wǎng)通信

            S7-200 SMART CPU 固件版本 V2.0 及以上版本的 CPU 可實(shí)現CPU、編程設備和HMI(觸摸屏)之間的多種通信:
            — CPU與編程設備之間的數據交換。
            — CPU與HMI之間的數據交換。
            — CPU與其他S7-200 SMART CPU之間的PUT/GET通信。

            S7-200 SMART CPU 以太網(wǎng)連接資源如下:
            — 1個(gè)連接用于與STEP7 Micro/Win SMART軟件的通信。
            — 8個(gè)連接用于CPU與HMI之間的通信。
            — 8個(gè)連接用于CPU與其他S7-200 SMART CPU之間的PUT/GET主動(dòng)連接
            — 8個(gè)連接用于CPU與其他S7-200 SMART CPU之間的PUT/GET被動(dòng)連接

            PUT/GET 指令格式

            S7-200 SMART CPU提供了PUT/GET 指令,用于S7-200 SMART CPU之間的以太網(wǎng)通信(PUT/GET 指令格式見(jiàn) 表 1)。PUT/GET 指令只需要在主動(dòng)建立連接的 CPU 中調用執行,被動(dòng)建立連接的 CPU不需要進(jìn)行通信編程。PUT/GET 指令中TABLE 參數用于定義遠程CPU的 IP地址、本地CPU和遠程 CPU的數據區域以及通信長(cháng)度(TABLE 參數定義見(jiàn) 表 2)。

            表 1 PUT和GET 指令:

            LAD/FBD

            STL

            描述

            PUT TABLE

            PUT 指令啟動(dòng)以太網(wǎng)端口上的通信操作,將數據寫(xiě)入遠程設備。PUT 指令可向遠程設備寫(xiě)入最多 212 個(gè)字節的數據。

            GET TABLE

            GET 指令啟動(dòng)以太網(wǎng)端口上的通信操作,從遠程設備獲取數據。GET 指令可從遠程設備讀取最多 222 個(gè)字節的數據。

            表 2 PUT和GET 指令的TABLE參數定義:

            字節偏移量

            Bit 7

            Bit 6

            Bit 5

            Bit 4

            Bit 3

            Bit 2

            Bit 1

            Bit 0

            0

            D1

            A2

            E3

            0

            錯誤代碼4

            1

             

            遠程 CPU的 IP地址

            2

            3

            4

            5

            預留(必須設置為0)

            6

            預留(必須設置為0)

            7

             

            指向遠程 CPU 通信數據區域的地址指針
            (允許數據區域包括:I、Q、M、V)

            8

            9

            10

            11

            通信數據長(cháng)度5

            12

             

            指向本地 CPU 通信數據區域的地址指針
            (允許數據區域包括:I、Q、M、V)

            13

            14

            15

            1 D :通信完成標志位,通信已經(jīng)成功完成或者通信發(fā)生錯誤。
            2 A :通信已經(jīng)激活標志位。
            3 E :通信發(fā)生錯誤,錯誤原因需要查詢(xún) 錯誤代碼4。
            4 錯誤代碼 :見(jiàn)表 3 PUT 和 GET 指令TABLE 參數的錯誤代碼。
            5 通信數據長(cháng)度 :需要訪(fǎng)問(wèn)遠程 CPU通信數據的字節個(gè)數,PUT 指令可向遠程設備寫(xiě)入最多 212 個(gè)字節的數據,GET 指令可從遠程設備讀取最多 222 個(gè)字節的數據。

            表 3 PUT 和 GET 指令TABLE 參數的錯誤代碼:

            錯誤代碼

            描述

            0

            通信無(wú)錯誤

            1

            PUT/GET TABLE參數表中存在非法參數:
            • 本地CPU通信區域不包括 I、Q、M 或 V。
            • 本地CPU不足以提供請求的數據長(cháng)度。
            • 對于 GET指令數據長(cháng)度為零或大于 222 字節;對于 PUT指令數據長(cháng)度大于 212 字節。
            • 遠程CPU通信區域不包括 I、Q、M 或 V。
            • 遠程CPU 的IP 地址是非法的 (0.0.0.0)。
            • 遠程CPU 的IP 地址為廣播地址或組播地址。
            • 遠程CPU 的IP 地址與本地 CPU的IP 地址相同
            • 遠程CPU 的IP 地址位于不同的子網(wǎng)。

            2

            同一時(shí)刻處于激活狀態(tài)的 PUT/GET 指令過(guò)多(僅允許 16 個(gè))

            3

            無(wú)可以連接資源,當前所有的連接都在處理未完成的數據請求(S7-200 SAMRT CPU主動(dòng)連接資源數為 8 個(gè))。

            4

            從遠程 CPU 返回的錯誤:
            • 請求或發(fā)送的數據過(guò)多。
            • STOP 模式下不允許對 Q 存儲器執行寫(xiě)入操作。
            • 存儲區處于寫(xiě)保護狀態(tài)

            5

            與遠程 CPU 之間無(wú)可用連接:
            • 遠程 CPU 無(wú)可用的被動(dòng)連接資源(S7-200 SMART CPU被動(dòng)連接資源數為 8 個(gè))。
            • 與遠程 CPU 之間的連接丟失(遠程 CPU 斷電或者物理斷開(kāi))。

            6-9

            預留

            通信資源數量

            S7-200 SMART CPU 以太網(wǎng)端口含有 8 個(gè)PUT/GET 主動(dòng)連接資源和 8 個(gè)PUT/GET 被動(dòng)連接資源。例如:CPU1 調用 PUT/GET 指令與 CPU2 ~ CPU9 建立8主動(dòng)連接的同時(shí),可以與 CPU10 ~ CPU17 建立8被動(dòng)連接(CPU10 ~ CPU17 調用 PUT/GET 指令),這樣的話(huà) CPU1 可以同時(shí)與16臺 CPU(CPU2 ~ CPU17)建立連接。關(guān)于主動(dòng)連接資源和被動(dòng)連接資源的詳細解釋如下:

            1、主動(dòng)連接資源和被動(dòng)連接資源
            • 調用 PUT/GET 指令的CPU 占用主動(dòng)連接資源數;相應的遠程 CPU 占用被動(dòng)連接資源。
            2、8 個(gè)PUT/GET 主動(dòng)連接資源
            • S7-200 SMART CPU 程序中可以包含遠多于 8個(gè)PUT/GET 指令的調用,但是在同一時(shí)刻最多只能激活 8 個(gè) PUT/GET 連接資源。
            • 同一時(shí)刻對同一個(gè)遠程 CPU 的多個(gè) PUT/GET 指令的調用,只會(huì )占用本地 CPU的一個(gè)主動(dòng)連接資源和遠程 CPU的一個(gè)被動(dòng)連接資源。本地 CPU 與遠程 CPU之間只會(huì )建立一條連接通道,同一時(shí)刻觸發(fā)的多個(gè) PUT/GET 指令將會(huì )在這條連接通道上順序執行。
            • 同一時(shí)刻最多能對8個(gè)不同 IP 地址的遠程 CPU 進(jìn)行 PUT/GET 指令的調用,第9個(gè) 遠程CPU的PUT/GET 指令調用將報錯,無(wú)可用連接資源。已經(jīng)成功建立的連接將被保持,直到遠程 CPU斷電或者物理斷開(kāi)。
            3、8 個(gè)PUT/GET 被動(dòng)連接資源
            • S7-200 SMART CPU 調用 PUT/GET 指令,執行主動(dòng)連接的同時(shí)也可以被動(dòng)地被其他遠程 CPU 進(jìn)行通信讀寫(xiě)。
            • S7-200 SMART最多可以與被8個(gè)不同 IP 地址的遠程 CPU 進(jìn)行 建立被動(dòng)連接。已經(jīng)成功建立的連接將被保持,直到遠程 CPU斷電或者物理斷開(kāi)。

            指令編程舉例

            在下面的例子中,CPU1 為主動(dòng)端,其 IP 地址為192.168.2.100,調用 PUT/GET 指令;CPU2 為被動(dòng)端,其 IP 地址為192.168.2.101,不需調用 PUT/GET 指令,網(wǎng)絡(luò )配置見(jiàn)圖 1 。通信任務(wù)是把 CPU1 的實(shí)時(shí)時(shí)鐘信息寫(xiě)入 CPU2 中,把CPU2 中的實(shí)時(shí)時(shí)鐘信息讀寫(xiě)到 CPU1 中。

            圖 1 CPU通信網(wǎng)絡(luò )配置圖

            1、CPU1 主動(dòng)端編程

            CPU1 主程序中包含讀取 CPU 實(shí)時(shí)時(shí)鐘、初始化 PUT/ GET 指令的 TABLE 參數表、調用 PUT 指令和 GET 指令等。

            網(wǎng)絡(luò )1:讀取 CPU1 實(shí)時(shí)時(shí)鐘,存儲到 VB100 ~ VB107 。

            圖 2 讀取 CPU1 實(shí)時(shí)時(shí)鐘

             :READ_RTC 指令用于讀取 CPU 實(shí)時(shí)時(shí)鐘指令,并將其存儲到從字節地址 T 開(kāi)始的 8 字節時(shí)間緩沖區中,數據格式為 BCD 碼。

            網(wǎng)絡(luò )2:定義 PUT 指令 TABLE 參數表,用于將 CPU1 的VB100 ~ VB107 傳輸到遠程 CPU2 的VB0 ~ VB7。

            圖 3 定義 PUT 指令 TABLE 參數表

            • a.定義通信狀態(tài)字節
            • b.定義 CPU2 IP 地址
            • c.定義 CPU2 的通信區域 ,從 VB0 地址開(kāi)始
            • d.定義通信數據長(cháng)度
            • e.定義 CPU1 的通信區域,從 VB100 地址開(kāi)始
            網(wǎng)絡(luò )3:定義 GET 指令 TABLE 參數表,用于將遠程 CPU2 的VB100 ~ VB107 讀取到 CPU1 的 VB0 ~ VB7。

            圖 4 定義 GET 指令 TABLE 參數表

            • a.定義通信狀態(tài)字節
            • b.定義 CPU2 IP 地址
            • c.定義 CPU2 的通信區域 ,從 VB100 地址開(kāi)始
            • d.定義通信數據長(cháng)度
            • e.定義 CPU1 的通信區域,從 VB0 地址開(kāi)始
            網(wǎng)絡(luò )4:調用 PUT 指令和 GET 指令。

            圖 5 調用 PUT 指令和 GET 指令

            2、CPU2 被動(dòng)端編程

            CPU2 的主程序只需包含一條語(yǔ)句用于讀取 CPU2 的實(shí)時(shí)時(shí)鐘,并存儲到 VB100 ~ VB107,如圖 6 所示。

            圖 6 讀取 CPU2 實(shí)時(shí)時(shí)鐘

            PUT/GET指令例程

            為了更好地理解 PUT/GET指令的使用,可參考下面的例程。

             PUT_GET_Client

             PUT_GET_Server

             注意:此指令庫/程序的作者和擁有者對于該軟件的功能性和兼容性不負任何責任。使用該軟件的風(fēng)險完全由用戶(hù)自行承擔。由于它是免費的,所以不提供任何擔保,錯誤糾正和熱線(xiàn)支持,用戶(hù)不必為此聯(lián)系西門(mén)子技術(shù)支持與服務(wù)部門(mén)。

            聯(lián)系方式
            CONTACT US

            電話(huà):13818569113      15721373211

            郵箱:fushidianji@139.com

            網(wǎng)址:http://m.xiangtai88.cn

            地址:上海青浦區北青公路7171號111-112室

            用手機掃描二維碼關(guān)閉
            RM新时代有限公司
                          1. RM新时代还出款吗 RM新时代是正规平台吗 RM新时代APP官网 新时代RM官方网站下载 RM新时代官方网站