西門子S7-200 SMART PLC之間如何通過指令實現S7通訊?
導讀
S7-200 SMART CPU 固件版本V2.0 及以上版本的CPU 可實現CPU、編程設備和HMI(觸摸屏)之間的多種通信:
CPU與編程設備之間的數據交換。
CPU與HMI之間的數據交換。
CPU與其他S7-200 SMART CPU之間的PUT/GET通信。
S7-200 SMART CPU 以太網連接資源如下:
1個連接用于與STEP7 Micro/Win SMART軟件的通信。
8個連接用于CPU與HMI之間的通信。
8個連接用于CPU與其他S7-200 SMART CPU之間的PUT/GET主動連接
8個連接用于CPU與其他S7-200 SMART CPU之間的PUT/GET被動連接
CPU1 (192.168.2.1 ) 把VB100~107數據傳輸到CPU2 (192.168.2.2 ) VB0~7
CPU1 (192.168.2.1 ) 把VB100~107數據讀取到CPU2 (192.168.2.2 ) VB0~7
一、PUT/GET 指令格式
S7-200 SMART CPU提供了PUT/GET指令,用于S7-200 SMART CPU之間的以太網通信(PUT/GET指令格式見 表 1)。PUT/GET指令只需要在主動建立連接的CPU 中調用執(zhí)行,被動建立連接的CPU不需要進行通信編程。PUT/GET指令中TABLE參數用于定義遠程CPU的IP地址、本地CPU和遠程CPU的數據區(qū)域以及通信長度(TABLE參數定義見 表 2)。


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

粉絲福利
微信掃碼免費領取64本西門子PLC電子書

二、通信資源數量
S7-200 SMART CPU 以太網端口含有8 個PUT/GET主動連接資源和 8個PUT/GET被動連接資源。例如:CPU1調用 PUT/GET指令與 CPU2 ~ CPU9 建立8主動連接的同時,可以與CPU10 ~ CPU17 建立8被動連接(CPU10 ~ CPU17 調用 PUT/GET指令),這樣的話CPU1 可以同時與16臺CPU(CPU2 ~ CPU17)建立連接。
關于主動連接資源和被動連接資源的詳細解釋如下:
1.主動連接資源和被動連接資源
調用 PUT/GET指令的CPU占用主動連接資源數;相應的遠程CPU 占用被動連接資源。
2.8 個PUT/GET 主動連接資源
S7-200 SMART CPU 程序中可以包含遠多于8個PUT/GET指令的調用,但是在同一時刻最多只能激活8 個PUT/GET 連接資源。
同一時刻對同一個遠程CPU 的多個PUT/GET 指令的調用,只會占用本地CPU的一個主動連接資源和遠程CPU的一個被動連接資源。本地CPU 與遠程CPU之間只會建立一條連接通道,同一時刻觸發(fā)的多個PUT/GET 指令將會在這條連接通道上順序執(zhí)行。
同一時刻最多能對8個不同IP 地址的遠程CPU 進行PUT/GET 指令的調用,第9個 遠程CPU的PUT/GET指令調用將報錯,無可用連接資源。已經成功建立的連接將被保持,直到遠程CPU斷電或者物理斷開。
3.8 個PUT/GET 被動連接資源
S7-200 SMART CPU 調用PUT/GET指令,執(zhí)行主動連接的同時也可以被動地被其他遠程CPU 進行通信讀寫。
S7-200 SMART最多可以與被8個不同IP 地址的遠程CPU 進行 建立被動連接。已經成功建立的連接將被保持,直到遠程CPU斷電或者物理斷開。
三、指令編程舉例
在下面的例子中,CPU1為主動端,其 IP地址為192.168.0.110,調用PUT/GET 指令;CPU2為被動端,其 IP地址為192.168.0.101,不需調用PUT/GET 指令,網絡配置見圖1 。通信任務是把CPU1 的實時時鐘信息寫入CPU2 中,把CPU2中的實時時鐘信息讀寫到CPU1 中。

CPU1 主動端編程
CPU1 主程序中包含讀取CPU 實時時鐘、初始化PUT/ GET 指令的TABLE 參數表、調用PUT 指令和GET 指令等。
網絡1:定義PUT 指令TABLE 參數表,用于將CPU1 的VB2000 ~ VB2003 傳輸到遠程CPU2 的VB0 ~ VB3。

a.定義通信狀態(tài)字節(jié)
b.定義 CPU2 IP 地址
c.定義 CPU2 的通信區(qū)域 ,從 VB2000 地址開始
d.定義通信數據長度
e.定義 CPU1 的通信區(qū)域,從 VB0 地址開始
網絡2:定義GET指令TABLE參數表,用于將遠程CPU2的VB2000 ~ VB2003 讀取到CPU1的VB0 ~ VB3。

a.定義通信狀態(tài)字節(jié)
b.定義 CPU2 IP 地址
c.定義 CPU2 的通信區(qū)域 ,從 VB0地址開始
d.定義通信數據長度
e.定義 CPU1 的通信區(qū)域,從 VB2000 地址開始
網絡3:調用PUT指令和GET指令。

四、程序調試
CPU1 為主動端,其 IP地址為192.168.0.110,調用PUT/GET 指令;CPU2為被動端,其 IP地址為192.168.0.101,不需調用PUT/GET 指令。程序下載到CPU中進行測試,監(jiān)控狀態(tài)表,數據發(fā)送與接收成功。

總結
以上就是整個西門子S7-200 SMART PLC之間通過指令實現S7通訊的步驟,文章內容如有錯誤請聯系我們。
文章來源:技成培訓網原創(chuàng),作者:鄒志銳;未經授權禁止轉載,違者必究!
粉絲福利
微信掃碼免費領取64本西門子PLC電子書
