西門子S7-200 SMART CPU之間的以太網(wǎng)通信
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主動連接
— 8個(gè)連接用于CPU與其他S7-200 SMART CPU之間的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 個(gè)字節(jié)的數(shù)據(jù)。 |
|
GET TABLE |
GET 指令啟動以太網(wǎng)端口上的通信操作,從遠(yuǎn)程設(shè)備獲取數(shù)據(jù)。GET 指令可從遠(yuǎn)程設(shè)備讀取最多 222 個(gè)字節(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 |
錯(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ū)域的地址指針 |
|||||||
8 |
||||||||
9 |
||||||||
10 |
||||||||
11 |
通信數(shù)據(jù)長度5 |
|||||||
12 |
指向本地 CPU 通信數(shù)據(jù)區(qū)域的地址指針 |
|||||||
13 |
||||||||
14 |
||||||||
15 |
1 D :通信完成標(biāo)志位,通信已經(jīng)成功完成或者通信發(fā)生錯(cuò)誤。
2 A :通信已經(jīng)激活標(biāo)志位。
3 E :通信發(fā)生錯(cuò)誤,錯(cuò)誤原因需要查詢 錯(cuò)誤代碼4。
4 錯(cuò)誤代碼 :見表 3 PUT 和 GET 指令TABLE 參數(shù)的錯(cuò)誤代碼。
5 通信數(shù)據(jù)長度 :需要訪問遠(yuǎn)程 CPU通信數(shù)據(jù)的字節(jié)個(gè)數(shù),PUT 指令可向遠(yuǎn)程設(shè)備寫入最多 212 個(gè)字節(jié)的數(shù)據(jù),GET 指令可從遠(yuǎn)程設(shè)備讀取最多 222 個(gè)字節(jié)的數(shù)據(jù)。
表 3 PUT 和 GET 指令TABLE 參數(shù)的錯(cuò)誤代碼:
錯(cuò)誤代碼
|
描述 |
0 |
通信無錯(cuò)誤 |
1 |
PUT/GET TABLE參數(shù)表中存在非法參數(shù):
|
2 |
同一時(shí)刻處于激活狀態(tài)的 PUT/GET 指令過多(僅允許 16 個(gè)) |
3 |
無可以連接資源,當(dāng)前所有的連接都在處理未完成的數(shù)據(jù)請求(S7-200 SAMRT CPU主動連接資源數(shù)為 8 個(gè))。 |
4 |
從遠(yuǎn)程 CPU 返回的錯(cuò)誤:
|
5 |
與遠(yuǎn)程 CPU 之間無可用連接:
|
6-9 |
預(yù)留 |
S7-200 SMART CPU 以太網(wǎng)端口含有 8 個(gè)PUT/GET 主動連接資源和 8 個(gè)PUT/GET 被動連接資源。例如:CPU1 調(diào)用 PUT/GET 指令與 CPU2 ~ CPU9 建立8主動連接的同時(shí),可以與 CPU10 ~ CPU17 建立8被動連接(CPU10 ~ CPU17 調(diào)用 PUT/GET 指令),這樣的話 CPU1 可以同時(shí)與16臺 CPU(CPU2 ~ CPU17)建立連接。關(guān)于主動連接資源和被動連接資源的詳細(xì)解釋如下:
1、主動連接資源和被動連接資源在下面的例子中,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 的實(shí)時(shí)時(shí)鐘信息寫入 CPU2 中,把CPU2 中的實(shí)時(shí)時(shí)鐘信息讀寫到 CPU1 中。
圖 1 CPU通信網(wǎng)絡(luò)配置圖
CPU1 主程序中包含讀取 CPU 實(shí)時(shí)時(shí)鐘、初始化 PUT/ GET 指令的 TABLE 參數(shù)表、調(diào)用 PUT 指令和 GET 指令等。
圖 2 讀取 CPU1 實(shí)時(shí)時(shí)鐘
注:READ_RTC 指令用于讀取 CPU 實(shí)時(shí)時(shí)鐘指令,并將其存儲到從字節(jié)地址 T 開始的 8 字節(jié)時(shí)間緩沖區(qū)中,數(shù)據(jù)格式為 BCD 碼。
圖 3 定義 PUT 指令 TABLE 參數(shù)表
圖 4 定義 GET 指令 TABLE 參數(shù)表
圖 5 調(diào)用 PUT 指令和 GET 指令
CPU2 的主程序只需包含一條語句用于讀取 CPU2 的實(shí)時(shí)時(shí)鐘,并存儲到 VB100 ~ VB107,如圖 6 所示。
圖 6 讀取 CPU2 實(shí)時(shí)時(shí)鐘
為了更好地理解 PUT/GET指令的使用,可參考下面的例程。
注意:此指令庫/程序的作者和擁有者對于該軟件的功能性和兼容性不負(fù)任何責(zé)任。使用該軟件的風(fēng)險(xiǎn)完全由用戶自行承擔(dān)。由于它是免費(fèi)的,所以不提供任何擔(dān)保,錯(cuò)誤糾正和熱線支持,用戶不必為此聯(lián)系西門子技術(shù)支持與服務(wù)部門。
電話:13818569113
郵箱:13818569113@139.com
網(wǎng)址:http://www.xmzgk.com
地址:中國上海市青浦區(qū)崧盈路398號6棟