西門子S7-200 SMART PLC之間通過指令實現(xiàn)S7通訊
王曾
發(fā)布于2023-03-24 15:19
217
4
標(biāo)簽:西門子PLC
導(dǎo)讀:
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被動連接
CPU1 (192.168.2.1 ) 把VB100~107數(shù)據(jù)傳輸?shù)?/span>CPU2 (192.168.2.2 ) VB0~7
CPU1 (192.168.2.1 ) 把VB100~107數(shù)據(jù)讀取到CPU2 (192.168.2.2 ) VB0~7
一、 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)。
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ù)。
|
表 1 PUT和GET 指令
字節(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
|
表 2 PUT和GET 指令的TABLE參數(shù)定義
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ù)。
錯誤代碼
|
描述
|
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ù)留
若有收獲,就點個贊吧!
文章來源于網(wǎng)絡(luò)及文獻(xiàn)如有侵權(quán)請聯(lián)系站長
分享到:
微信掃一掃分享
閱讀與本文標(biāo)簽相同的文章
西門子PLC
|