西門(mén)子S7-200 SMART PLC之間通過(guò)指令實(shí)現(xiàn)S7通訊
王曾
發(fā)布于2023-03-24 15:19
217
4
標(biāo)簽:西門(mén)子PLC
導(dǎo)讀:
S7-200 SMART CPU 固件版本 V2.0 及以上版本的 CPU 可實(shí)現(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個(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)連接
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 指令格式見(jiàn) 表 1)。PUT/GET 指令只需要在主動(dòng)建立連接的 CPU 中調(diào)用執(zhí)行,被動(dòng)建立連接的 CPU不需要進(jìn)行通信編程。PUT/GET 指令中TABLE 參數(shù)用于定義遠(yuǎn)程CPU的 IP地址、本地CPU和遠(yuǎn)程 CPU的數(shù)據(jù)區(qū)域以及通信長(zhǎng)度(TABLE 參數(shù)定義見(jiàn) 表 2)。
LAD/FBD
|
STL
|
描述
|
|
PUT TABLE
|
PUT 指令啟動(dòng)以太網(wǎng)端口上的通信操作,將數(shù)據(jù)寫(xiě)入遠(yuǎn)程設(shè)備。PUT 指令可向遠(yuǎn)程設(shè)備寫(xiě)入最多 212 個(gè)字節(jié)的數(shù)據(jù)。
|
|
GET TABLE
|
GET 指令啟動(dòng)以太網(wǎng)端口上的通信操作,從遠(yuǎn)程設(shè)備獲取數(shù)據(jù)。GET 指令可從遠(yuǎn)程設(shè)備讀取最多 222 個(gè)字節(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
|
錯(cuò)誤代碼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ù)長(zhǎng)度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ā)生錯(cuò)誤。
2 A :通信已經(jīng)激活標(biāo)志位。
3 E :通信發(fā)生錯(cuò)誤,錯(cuò)誤原因需要查詢(xún) 錯(cuò)誤代碼4。
4 錯(cuò)誤代碼 :見(jiàn)表 3 PUT 和 GET 指令TABLE 參數(shù)的錯(cuò)誤代碼。
5 通信數(shù)據(jù)長(zhǎng)度 :需要訪(fǎng)問(wèn)遠(yuǎn)程 CPU通信數(shù)據(jù)的字節(jié)個(gè)數(shù),PUT 指令可向遠(yuǎn)程設(shè)備寫(xiě)入最多 212 個(gè)字節(jié)的數(shù)據(jù),GET 指令可從遠(yuǎn)程設(shè)備讀取最多 222 個(gè)字節(jié)的數(shù)據(jù)。
錯(cuò)誤代碼
|
描述
|
0
|
通信無(wú)錯(cuò)誤
|
1
|
PUT/GET TABLE參數(shù)表中存在非法參數(shù):
本地CPU通信區(qū)域不包括 I、Q、M 或 V。
本地CPU不足以提供請(qǐng)求的數(shù)據(jù)長(zhǎng)度。
對(duì)于 GET指令數(shù)據(jù)長(zhǎng)度為零或大于 222 字節(jié);對(duì)于 PUT指令數(shù)據(jù)長(zhǎng)度大于 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
|
同一時(shí)刻處于激活狀態(tài)的 PUT/GET 指令過(guò)多(僅允許 16 個(gè))
|
3
|
無(wú)可以連接資源,當(dāng)前所有的連接都在處理未完成的數(shù)據(jù)請(qǐng)求(S7-200 SAMRT CPU主動(dòng)連接資源數(shù)為 8 個(gè))。
|
4
|
從遠(yuǎn)程 CPU 返回的錯(cuò)誤:
請(qǐng)求或發(fā)送的數(shù)據(jù)過(guò)多。
STOP 模式下不允許對(duì) Q 存儲(chǔ)器執(zhí)行寫(xiě)入操作。
存儲(chǔ)區(qū)處于寫(xiě)保護(hù)狀態(tài)
|
5
|
與遠(yuǎn)程 CPU 之間無(wú)可用連接:
遠(yuǎn)程 CPU 無(wú)可用的被動(dòng)連接資源(S7-200 SMART CPU被動(dòng)連接資源數(shù)為 8 個(gè))。
與遠(yuǎn)程 CPU 之間的連接丟失(遠(yuǎn)程 CPU 斷電或者物理斷開(kāi))。
|
6-9
|
預(yù)留
若有收獲,就點(diǎn)個(gè)贊吧!
文章來(lái)源于網(wǎng)絡(luò)及文獻(xiàn)如有侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)
分享到:
微信掃一掃分享
閱讀與本文標(biāo)簽相同的文章
西門(mén)子PLC
|