STEP7-Micro/WIN SMART 從V2.4 版本開始,軟件中直接集成 Modbus TCP 庫指令,無需單獨(dú)安裝或者購買。安裝軟件后,Modbus TCP 指令位于 STEP7-Micro/WIN SMART 項(xiàng)目樹中“指令”文件夾的“庫”文件夾中。如圖1.Modbus TCP庫指令所示。
指令分為客戶端和服務(wù)器兩種,目前指令版本為 V1.0??蛻舳酥噶顣?huì)占用開放式用戶通信資源主動(dòng)連接,最多8個(gè);服務(wù)器指令會(huì)占用開放式用戶通信資源的被動(dòng)連接資源,最多也是8個(gè)。
圖1.Modbus TCP庫指令
實(shí)驗(yàn)環(huán)境及通信任務(wù)
下面以兩臺(tái)S7-200 SMART 之間進(jìn)行Modbus TCP 通信為例,詳細(xì)闡述客戶端與服務(wù)器側(cè)如何編程及通信的過程。具體的實(shí)驗(yàn)環(huán)境見表1.;通信任務(wù)見表2:
表1.實(shí)驗(yàn)環(huán)境
WIN7 SP1 專業(yè)版 64位 |
|
---|---|
編程軟件 |
STEP7-Micro/WIN SMART V2.4版本 |
硬件 |
SR60:6ES7288-1SR60-0AA0 固件:V2.4 版本 ST20:6ES7288-1ST20-0AA0 固件:V2.4版本 交換機(jī):CSM 127 6GK7 277-1AA10-0AA0 |
表2.通信任務(wù)
硬件 | 通信角色 | IP地址 | 端口號(hào) | 讀/寫 | 數(shù)據(jù)區(qū)域 |
---|---|---|---|---|---|
SR60 | 客戶端 | 192.168.0.60 | 0 | 讀 | VB20-VB31 |
ST20 | 服務(wù)器 | 192.168.0.20 | 502 | 響應(yīng) | VB0-VB11 |
客戶端側(cè)指令編程
1、系統(tǒng)塊中設(shè)置客戶端的IP地址,以確保IP地址設(shè)置無誤。此步驟為可選,如果確定IP地址設(shè)置無誤,可忽略此步驟。設(shè)置方法如圖2.所示。
圖2.系統(tǒng)塊設(shè)置IP地址
2、鼠標(biāo)點(diǎn)擊 MAIN 主程序的程序段1的編程區(qū)域,從庫文件夾下找到 Modbus TCP 客戶端指令 MBUS_CLIENT,鼠標(biāo)雙擊,指令出現(xiàn)在程序段1中,操作如圖3.所示。
圖3.添加客戶端指令
3、填寫客戶端指令參數(shù),如圖4.所示。
圖4.填寫客戶端參數(shù)
程序塊具體參數(shù)詳細(xì)解釋介紹見表3.
參數(shù)及類型 | 數(shù)據(jù)類型 | 說明 | |
---|---|---|---|
Req | IN | BOOL |
=1:表示向服務(wù)器發(fā)送Modbus 請(qǐng)求 |
Connect | IN | BOOL |
=1:嘗試與分配的IP地址及端口號(hào)建立連接; =0:嘗試斷開已經(jīng)建立的連接,忽略Req的任何請(qǐng)求 |
IPAddr1-4 | IN | BYTE |
填寫 Modbus TCP 服務(wù)器的IP地址IPAddr1-4為高到低字節(jié) |
IP_Port | IN | BYTE |
填寫Modbus TCP 服務(wù)器的端口號(hào) |
RW | IN | BYTE |
指定操作模式 =0:讀;=1寫 |
Addr | IN | DWORD |
要進(jìn)行讀寫的參數(shù)的 Modbus 起始地址 |
Count | IN | INT |
要進(jìn)行讀寫的參數(shù)數(shù)據(jù)長度; 數(shù)字量輸入/輸出Count=1表示1 bit,最大1920位 |
DataPtr | IN_OUT | DWORD |
數(shù)據(jù)寄存器地址指針,指向本地用于讀/寫操作的數(shù)據(jù)地址區(qū)域的首地址 |
Done | OUT | BOOL |
TRUE:以下任一條件時(shí)為真:客戶端已與服務(wù)器建立連接;客戶端已與服務(wù)器斷開連接;客戶端已接收 Modbus 響應(yīng);發(fā)生錯(cuò)誤 FALSE:客戶端正忙于建立連接或等待來自服務(wù)器的 Modbus 響應(yīng)。 |
Error | OUT | BOOL |
出現(xiàn)錯(cuò)誤,僅一個(gè)周期有效 |
4、鼠標(biāo)選中程序塊文件夾,單擊右鍵,下拉菜單中選擇庫存儲(chǔ)器,如圖5.所示。
圖5.點(diǎn)擊庫存儲(chǔ)器
5、在庫存儲(chǔ)區(qū)分配對(duì)話框中手動(dòng)輸入存儲(chǔ)區(qū)的起始地址。此實(shí)例為VB5000開始,以使指令庫可以正常工作。確保庫存儲(chǔ)區(qū)與程序中其他已使用的地址不沖突。使用建議地址無法確定是否有地址重疊,所以推薦手動(dòng)輸入正確的庫存儲(chǔ)區(qū)首地址。如圖6.所示。
圖6.庫存儲(chǔ)區(qū)地址分配
6、編譯項(xiàng)目,下載程序。
通信測(cè)試結(jié)果
將M0.0置位為1,然后在狀態(tài)圖表中創(chuàng)建變量,VW20-VW30 共6個(gè)字,監(jiān)視值如圖7.所示。
圖7.讀取服務(wù)器數(shù)據(jù)
關(guān)于Modbus地址與CPU中數(shù)據(jù)區(qū)域地址對(duì)應(yīng)關(guān)系說明
S7-200 SMART 做 Modbus TCP 通信,可以支持的功能碼及功能描述及所占用的地址區(qū),如表4.所示??蛻舳藭?huì)主動(dòng)的發(fā)送請(qǐng)求,服務(wù)器響應(yīng)。在通信指令填寫參數(shù)中沒有直接填寫功能碼,而是通過多個(gè)參數(shù)填寫共同確定功能碼的。
表4.功能碼概況說明
功能碼(十進(jìn)制) | 功能描述 | RW | Addr | Count | CPU地址 |
---|---|---|---|---|---|
01 |
讀數(shù)字量輸出 位 |
0 |
00001-09999 |
1-1920 位 |
Q0.0-1151.7 |
02 |
讀數(shù)字量輸入 位 |
0 |
10001-19999 |
1-1920 位 |
I0.0-1151.7 |
03 |
讀寄存器 字 |
0 |
40001-49999 400001-465535 |
1-120 字 |
V區(qū) |
04 |
讀模擬量輸入 字 |
0 |
30001-39999 |
1-120 字 |
AIW0-AIW110 |
05 |
寫數(shù)字量輸出 單個(gè)位 |
1 |
00001-09999 |
1位 |
Q0.0-Q1151.7 |
06 |
寫寄存器 單個(gè)字 |
1 |
40001-49999 400001-465535 |
1個(gè)字 |
V區(qū) |
15 |
寫數(shù)字量輸出 多個(gè)位 |
1 |
00001-09999 |
1-1920 位 |
Q0.0-1151.7 |
16 |
寫寄存器 多個(gè)字 |
1 |
40001-49999 400001-465535 |
1-120 字 |
V區(qū) |
舉例:
和Modbus TCP服務(wù)器交換數(shù)據(jù)參數(shù)支持功能碼:03,在客戶端指令中設(shè)置兩個(gè)參數(shù)確定03功能碼:
RW=0:確定讀取數(shù)據(jù),(篩選出可能會(huì)使用的功能碼:01,02,03,04),
Addr:40001-49999/400001-465535,表示交換數(shù)據(jù)為寄存器類型的數(shù)據(jù)。
審核編輯:郭婷
-
服務(wù)器
+關(guān)注
關(guān)注
12文章
9332瀏覽量
86132 -
TCP
+關(guān)注
關(guān)注
8文章
1381瀏覽量
79341
原文標(biāo)題:S7-200 SMART Modbus TCP 客戶端指令
文章出處:【微信號(hào):gh_a8b121171b08,微信公眾號(hào):機(jī)器人及PLC自動(dòng)化應(yīng)用】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
labview TCP客戶端
labview-TCP多客戶端服務(wù)器
4412開發(fā)板Qt網(wǎng)絡(luò)編程-TCP實(shí)現(xiàn)服務(wù)器和客戶端
當(dāng)WiFi信號(hào)變低時(shí),服務(wù)器和客戶端之間的TCP通信丟失,如何使客戶端重新連接?
winCC modbus TCP方式與S7-200 SMART PLC通信視頻教程免費(fèi)下載
![winCC <b class='flag-5'>modbus</b> <b class='flag-5'>TCP</b>方式與<b class='flag-5'>S7-200</b> <b class='flag-5'>SMART</b> PLC<b class='flag-5'>通信</b>視頻教程免費(fèi)下載](https://file.elecfans.com/web1/M00/7D/45/o4YBAFwKFhyAGvvjAAEbnMJbDXU256.png)
Linux下網(wǎng)絡(luò)編程TCP并發(fā)服務(wù)器和TCP客戶端程序免費(fèi)下載
![Linux下網(wǎng)絡(luò)<b class='flag-5'>編程</b><b class='flag-5'>TCP</b>并發(fā)<b class='flag-5'>服務(wù)器</b>和<b class='flag-5'>TCP</b><b class='flag-5'>客戶端</b>程序免費(fèi)下載](https://file.elecfans.com/web1/M00/B2/B7/o4YBAF4Vg92Ac0ioAAEcrBzc7T8673.png)
S7-200 SMART與調(diào)試助手之間TCP通信
Linux下TCP網(wǎng)絡(luò)編程-創(chuàng)建服務(wù)器與客戶端
![Linux下<b class='flag-5'>TCP</b>網(wǎng)絡(luò)<b class='flag-5'>編程</b>-創(chuàng)建<b class='flag-5'>服務(wù)器</b>與<b class='flag-5'>客戶端</b>](https://file.elecfans.com//web2/M00/5F/5E/poYBAGL3QWaAJr08AAC3sdn8kvY030.png)
S7-200 SMART Modbus TCP服務(wù)器指令
S7-200 SMART如何下載程序?
S7-1200 CPU與S7-200 SMART S7通信指南
S7-1200 CPU與S7-200 SMART S7通信教程
![<b class='flag-5'>S7</b>-1200 CPU與<b class='flag-5'>S7-200</b> <b class='flag-5'>SMART</b> <b class='flag-5'>S7</b><b class='flag-5'>通信</b>教程](https://file1.elecfans.com/web2/M00/82/83/wKgaomRV-PCAP53yAAA5gisFFHQ879.png)
S7-1500與S7-200 SMART的PROFINET IO通信配置
![<b class='flag-5'>S7</b>-1500與<b class='flag-5'>S7-200</b> <b class='flag-5'>SMART</b>的PROFINET IO<b class='flag-5'>通信</b>配置](https://file1.elecfans.com/web2/M00/8B/DE/wKgZomShGHyAUvasAAARJrqv7hs672.jpg)
服務(wù)器Server和客戶端Client的區(qū)別
![<b class='flag-5'>服務(wù)器</b>Server和<b class='flag-5'>客戶端</b>Client的區(qū)別](https://file1.elecfans.com/web2/M00/A1/DC/wKgZomT4NOCABA0aAAAfW53bY64722.png)
評(píng)論