西門子觸摸屏代理商 西門子觸摸屏代理商
潯之漫 智控技術(shù)有限公司 上海詩慕自動化設(shè)備有限公司
本公司銷售西門子自動化產(chǎn)品,*,質(zhì)量保證,價格優(yōu)勢
西門子PLC,西門子觸摸屏,西門子數(shù)控系統(tǒng),西門子軟啟動,西門子以太網(wǎng)
西門子電機(jī),西門子變頻器,西門子直流調(diào)速器,西門子電線電纜
我公司大量現(xiàn)貨供應(yīng),價格優(yōu)勢,*,德國*
圖 8. SB CM01 信號板 RS232 連接
S7-200 SMART CPU之間的以太網(wǎng)通信
S7-200 SMART CPU 固件版本 V2.0 及以上版本的 CPU 可實現(xiàn)CPU、編程設(shè)備和HMI(觸摸屏)之間的多種通信:
— CPU與編程設(shè)備之間的數(shù)據(jù)交換。
— CPU與HMI之間的數(shù)據(jù)交換。
— CPU與其他S7-200 SMART CPU之間的PUT/GET通信。
S7-200 SMART CPU 以太網(wǎng)連接資源如下:
— 1個連接用于與STEP7 Micro/Win SMART軟件的通信。
— 8個連接用于CPU與HMI之間的通信。
— 8個連接用于CPU與其他S7-200 SMART CPU之間的PUT/GET主動連接
— 8個連接用于CPU與其他S7-200 SMART CPU之間的PUT/GET被動連接
PUT/GET 指令格式
S7-200 SMART CPU提供了PUT/GET 指令,用于S7-200 SMART CPU之間的以太網(wǎng)通信(PUT/GET 指令格式見 表 1)。PUT/GET 指令只需要在主動建立連接的 CPU 中調(diào)用執(zhí)行,被動建立連接的 CPU不需要進(jìn)行通信編程。PUT/GET 指令中TABLE 參數(shù)用于定義遠(yuǎn)程CPU的 IP地址、本地CPU和遠(yuǎn)程 CPU的數(shù)據(jù)區(qū)域以及通信長度(TABLE 參數(shù)定義見 表 2)。
表 1 PUT和GET 指令:
LAD/FBD | STL | 描述 |
| PUT TABLE | PUT 指令啟動以太網(wǎng)端口上的通信操作,將數(shù)據(jù)寫入遠(yuǎn)程設(shè)備。PUT 指令可向遠(yuǎn)程設(shè)備寫入多 212 個字節(jié)的數(shù)據(jù)。 |
| GET TABLE | GET 指令啟動以太網(wǎng)端口上的通信操作,從遠(yuǎn)程設(shè)備獲取數(shù)據(jù)。GET 指令可從遠(yuǎn)程設(shè)備讀取多 222 個字節(jié)的數(shù)據(jù)。 |
表 2 PUT和GET 指令的TABLE參數(shù)定義:
字節(jié)偏移量 | Bit 7 | Bit 6 | Bit 5 | Bit 4 | Bit 3 | Bit 2 | Bit 1 | Bit 0 |
0 | D1 | A2 | E3 | 0 | 錯誤代碼4 |
1 | 遠(yuǎn)程 CPU的 IP地址 |
2 |
3 |
4 |
5 | 預(yù)留(必須設(shè)置為0) |
6 | 預(yù)留(必須設(shè)置為0) |
7 | 指向遠(yuǎn)程 CPU 通信數(shù)據(jù)區(qū)域的地址指針 (允許數(shù)據(jù)區(qū)域包括:I、Q、M、V) |
8 |
9 |
10 |
11 | 通信數(shù)據(jù)長度5 |
12 | 指向本地 CPU 通信數(shù)據(jù)區(qū)域的地址指針 (允許數(shù)據(jù)區(qū)域包括:I、Q、M、V) |
13 |
14 |
15 |
1 D :通信完成標(biāo)志位,通信已經(jīng)成功完成或者通信發(fā)生錯誤。
2 A :通信已經(jīng)激活標(biāo)志位。
3 E :通信發(fā)生錯誤,錯誤原因需要查詢 錯誤代碼4。
4 錯誤代碼 :見表 3 PUT 和 GET 指令TABLE 參數(shù)的錯誤代碼。
5 通信數(shù)據(jù)長度 :需要訪問遠(yuǎn)程 CPU通信數(shù)據(jù)的字節(jié)個數(shù),PUT 指令可向遠(yuǎn)程設(shè)備寫入多 212 個字節(jié)的數(shù)據(jù),GET 指令可從遠(yuǎn)程設(shè)備讀取多 222 個字節(jié)的數(shù)據(jù)。
表 3 PUT 和 GET 指令TABLE 參數(shù)的錯誤代碼:
錯誤代碼 | 描述 |
0 | 通信無錯誤 |
1 | PUT/GET TABLE參數(shù)表中存在非法參數(shù):- 本地CPU通信區(qū)域不包括 I、Q、M 或 V。
- 本地CPU不足以提供請求的數(shù)據(jù)長度。
- 對于 GET指令數(shù)據(jù)長度為零或大于 222 字節(jié);對于 PUT指令數(shù)據(jù)長度大于 212 字節(jié)。
- 遠(yuǎn)程CPU通信區(qū)域不包括 I、Q、M 或 V。
- 遠(yuǎn)程CPU 的IP 地址是非法的 (0.0.0.0)。
- 遠(yuǎn)程CPU 的IP 地址為廣播地址或組播地址。
- 遠(yuǎn)程CPU 的IP 地址與本地 CPU的IP 地址相同
- 遠(yuǎn)程CPU 的IP 地址位于不同的子網(wǎng)。
|
2 | 同一時刻處于激活狀態(tài)的 PUT/GET 指令過多(僅允許 16 個) |
3 | 無可以連接資源,當(dāng)前所有的連接都在處理未完成的數(shù)據(jù)請求(S7-200 SAMRT CPU主動連接資源數(shù)為 8 個)。 |
4 | 從遠(yuǎn)程 CPU 返回的錯誤:- 請求或發(fā)送的數(shù)據(jù)過多。
- STOP 模式下不允許對 Q 存儲器執(zhí)行寫入操作。
- 存儲區(qū)處于寫保護(hù)狀態(tài)
|
5 | 與遠(yuǎn)程 CPU 之間無可用連接:- 遠(yuǎn)程 CPU 無可用的被動連接資源(S7-200 SMART CPU被動連接資源數(shù)為 8 個)。
- 與遠(yuǎn)程 CPU 之間的連接丟失(遠(yuǎn)程 CPU 斷電或者物理斷開)。
|
6-9 | 預(yù)留 |
通信資源數(shù)量
S7-200 SMART CPU 以太網(wǎng)端口含有 8 個PUT/GET 主動連接資源和 8 個PUT/GET 被動連接資源。例如:CPU1 調(diào)用 PUT/GET 指令與 CPU2 ~ CPU9 建立8主動連接的同時,可以與 CPU10 ~ CPU17 建立8被動連接(CPU10 ~ CPU17 調(diào)用 PUT/GET 指令),這樣的話 CPU1 可以同時與16臺 CPU(CPU2 ~ CPU17)建立連接。關(guān)于主動連接資源和被動連接資源的詳細(xì)解釋如下:
1、主動連接資源和被動連接資源
- 調(diào)用 PUT/GET 指令的CPU 占用主動連接資源數(shù);相應(yīng)的遠(yuǎn)程 CPU 占用被動連接資源。
2、8 個PUT/GET 主動連接資源
- S7-200 SMART CPU 程序中可以包含遠(yuǎn)多于 8個PUT/GET 指令的調(diào)用,但是在同一時刻多只能激活 8 個 PUT/GET 連接資源。
- 同一時刻對同一個遠(yuǎn)程 CPU 的多個 PUT/GET 指令的調(diào)用,只會占用本地 CPU的一個主動連接資源和遠(yuǎn)程 CPU的一個被動連接資源。本地 CPU 與遠(yuǎn)程 CPU之間只會建立一條連接通道,同一時刻觸發(fā)的多個 PUT/GET 指令將會在這條連接通道上順序執(zhí)行。
- 同一時刻多能對8個不同 IP 地址的遠(yuǎn)程 CPU 進(jìn)行 PUT/GET 指令的調(diào)用,第9個 遠(yuǎn)程CPU的PUT/GET 指令調(diào)用將報錯,無可用連接資源。已經(jīng)成功建立的連接將被保持,直到遠(yuǎn)程 CPU斷電或者物理斷開。
3、8 個PUT/GET 被動連接資源
- S7-200 SMART CPU 調(diào)用 PUT/GET 指令,執(zhí)行主動連接的同時也可以被動地被其他遠(yuǎn)程 CPU 進(jìn)行通信讀寫。
- S7-200 SMART多可以與被8個不同 IP 地址的遠(yuǎn)程 CPU 進(jìn)行 建立被動連接。已經(jīng)成功建立的連接將被保持,直到遠(yuǎn)程 CPU斷電或者物理斷開。
指令編程舉例
在下面的例子中,CPU1 為主動端,其 IP 地址為192.168.2.100,調(diào)用 PUT/GET 指令;CPU2 為被動端,其 IP 地址為192.168.2.101,不需調(diào)用 PUT/GET 指令,網(wǎng)絡(luò)配置見圖 1 。通信任務(wù)是把 CPU1 的實時時鐘信息寫入 CPU2 中,把CPU2 中的實時時鐘信息讀寫到 CPU1 中。
圖 1 CPU通信網(wǎng)絡(luò)配置圖
1、CPU1 主動端編程
CPU1 主程序中包含讀取 CPU 實時時鐘、初始化 PUT/ GET 指令的 TABLE 參數(shù)表、調(diào)用 PUT 指令和 GET 指令等。
網(wǎng)絡(luò)1:讀取 CPU1 實時時鐘,存儲到 VB100 ~ VB107 。
圖 2 讀取 CPU1 實時時鐘
注:READ_RTC 指令用于讀取 CPU 實時時鐘指令,并將其存儲到從字節(jié)地址 T 開始的 8 字節(jié)時間緩沖區(qū)中,數(shù)據(jù)格式為 BCD 碼。
網(wǎng)絡(luò)2:定義 PUT 指令 TABLE 參數(shù)表,用于將 CPU1 的VB100 ~ VB107 傳輸?shù)竭h(yuǎn)程 CPU2 的VB0 ~ VB7。