成年免费A级毛片免费看无码,成全在线观看免费观看,成人AV鲁丝片一区二区免费,成人av无码一区二区三区

歡迎來到恒博圖安網(wǎng)站!

7*24小時在線咨詢電話

15001389495

技術(shù)論壇

S7-200SMART 與 WINCC做MODBUS TCP通訊在PLC中的程序怎么寫

發(fā)布時間:2022-11-28 來源:恒博圖安

S7-200 SMART 做服務器,wincc是客戶端,調(diào)用MBUS_SERVER指令激活Modbus-TCP Server功能。

詳細參見S7-200 SMART系統(tǒng)手冊的10.4Modbus-TCP庫

S7-200 SMART Modbus TCP 客戶端指令

STEP7-Micro/WIN SMART 從V2.4 版本開始,軟件中直接集成 Modbus TCP 庫指令,無需單獨安裝或者購買。安裝軟件后,Modbus TCP 指令位于 STEP7-Micro/WIN SMART 項目樹中“指令”文件夾的“庫”文件夾中。如圖1.Modbus TCP庫指令所示。

指令分為客戶端和服務器兩種,目前指令版本為 V1.0。客戶端指令會占用開放式用戶通信資源主動連接,最多8個;服務器指令會占用開放式用戶通信資源的被動連接資源,最多也是8個。

圖1.Modbus TCP庫指令

實驗環(huán)境及通信任務

下面以兩臺S7-200 SMART 之間進行Modbus TCP 通信為例,詳細闡述客戶端與服務器側(cè)如何編程及通信的過程。具體的實驗環(huán)境見表1.;通信任務見表2:

表1.實驗環(huán)境

操作系統(tǒng)

WIN7 SP1 專業(yè)版 64位
編程軟件
STEP7-Micro/WIN SMART V2.4版本
硬件

SR60:6ES7288-1SR60-0AA0 固件:V2.4 版本

ST20:6ES7288-1ST20-0AA0 固件:V2.4版本

交換機:CSM 127 6GK7 277-1AA10-0AA0

表2.通信任務

硬件通信角色IP地址端口號讀/寫數(shù)據(jù)區(qū)域
SR60客戶端192.168.0.600VB20-VB31
ST20服務器192.168.0.20502響應VB0-VB11

客戶端側(cè)指令編程

1、系統(tǒng)塊中設(shè)置客戶端的IP地址,以確保IP地址設(shè)置無誤。此步驟為可選,如果確定IP地址設(shè)置無誤,可忽略此步驟。設(shè)置方法如圖2.所示。

圖2.系統(tǒng)塊設(shè)置IP地址

2、鼠標點擊 MAIN 主程序的程序段1的編程區(qū)域,從庫文件夾下找到 Modbus TCP 客戶端指令 MBUS_CLIENT,鼠標雙擊,指令出現(xiàn)在程序段1中,操作如圖3.所示。

圖3.添加客戶端指令

3、填寫客戶端指令參數(shù),如圖4.所示。

圖4.填寫客戶端參數(shù)

程序塊具體參數(shù)詳細解釋介紹見表3.

參數(shù)及類型數(shù)據(jù)類型說明
ReqINBOOL
=1:表示向服務器發(fā)送Modbus 請求
ConnectINBOOL

=1:嘗試與分配的IP地址及端口號建立連接;

=0:嘗試斷開已經(jīng)建立的連接,忽略Req的任何請求

IPAddr1-4INBYTE
填寫 Modbus TCP 服務器的IP地址IPAddr1-4為高到低字節(jié)
IP_PortINBYTE
填寫Modbus TCP 服務器的端口號
RWINBYTE
指定操作模式 =0:讀;=1寫
AddrINDWORD
要進行讀寫的參數(shù)的 Modbus 起始地址
CountININT

要進行讀寫的參數(shù)數(shù)據(jù)長度;

數(shù)字量輸入/輸出Count=1表示1 bit,最大1920位

對于模擬量輸入和保持寄存器,最大 Count 值為 120 字。

DataPtrIN_OUTDWORD
數(shù)據(jù)寄存器地址指針,指向本地用于讀/寫操作的數(shù)據(jù)地址區(qū)域的首地址
DoneOUTBOOL

TRUE:以下任一條件時為真:客戶端已與服務器建立連接;客戶端已與服務器斷開連接;客戶端已接收 Modbus 響應;發(fā)生錯誤

FALSE:客戶端正忙于建立連接或等待來自服務器的 Modbus 響應。

ErrorOUTBOOL
出現(xiàn)錯誤,僅一個周期有效

4、鼠標選中程序塊文件夾,單擊右鍵,下拉菜單中選擇庫存儲器,如圖5.所示。

圖5.點擊庫存儲器

5、在庫存儲區(qū)分配對話框中手動輸入存儲區(qū)的起始地址。此實例為VB5000開始,以使指令庫可以正常工作。確保庫存儲區(qū)與程序中其他已使用的地址不沖突。使用建議地址無法確定是否有地址重疊,所以推薦手動輸入正確的庫存儲區(qū)首地址。如圖6.所示。

圖6.庫存儲區(qū)地址分配

6、編譯項目,下載程序。

通信測試結(jié)果

將M0.0置位為1,然后在狀態(tài)圖表中創(chuàng)建變量,VW20-VW30 共6個字,監(jiān)視值如圖7.所示。

圖7.讀取服務器數(shù)據(jù)

關(guān)于Modbus地址與CPU中數(shù)據(jù)區(qū)域地址對應關(guān)系說明

S7-200 SMART 做 Modbus TCP 通信,可以支持的功能碼及功能描述及所占用的地址區(qū),如表4.所示。客戶端會主動的發(fā)送請求,服務器響應。在通信指令填寫參數(shù)中沒有直接填寫功能碼,而是通過多個參數(shù)填寫共同確定功能碼的。

表4.功能碼概況說明

功能碼(十進制)功能描述RWAddrCountCPU地址
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ù)字量輸出 單個位

1

00001-09999

1位
Q0.0-Q1151.7
06
寫寄存器 單個字
1

40001-49999

400001-465535

1個字
V區(qū)
15
寫數(shù)字量輸出 多個位
1

00001-09999

1-1920 位

Q0.0-1151.7
16
寫寄存器 多個字
1

40001-49999

400001-465535

1-120 字

V區(qū)

舉例:

和Modbus TCP服務器交換數(shù)據(jù)參數(shù)支持功能碼:03,在客戶端指令中設(shè)置兩個參數(shù)確定03功能碼:

RW=0:確定讀取數(shù)據(jù),(篩選出可能會使用的功能碼:01,02,03,04),

Addr:40001-49999/400001-465535,表示交換數(shù)據(jù)為寄存器類型的數(shù)據(jù)。



smart200型號目錄

SR20 6ES72881SR200AA1
ST20 6ES72881ST200AA1
SR30 6ES72881SR300AA1
ST30 6ES72881ST300AA1
SR40 6ES72881SR400AA1
ST40 6ES72881ST400AA1
SR60 6ES72881SR600AA1
ST60 6ES72881ST600AA1
CR20s 6ES72881CR200AA1
CR30s 6ES72881CR300AA1
CR40s 6ES72881CR400AA1
CR60s 6ES72881CR600AA1
CR40 6ES72881CR400AA0
CR60 6ES72881CR600AA0
DE08 6ES72882DE080AA0
DE16 6ES72882DE160AA0
DR08 6ES72882DR080AA0
DT08 6ES72882DT080AA0
QR16 6ES72882QR160AA0
QT16 6ES72882QT160AA0
DR16 6ES72882DR160AA0
DT16 6ES72882DT160AA0
DR32 6ES72882DR320AA0
DT32 6ES72882DT320AA0
AE04 6ES72883AE040AA0
AE08 6ES72883AE080AA0
AQ02 6ES72883AQ020AA0
AQ04 6ES72883AQ040AA0
AM03 6ES72883AM030AA0
AM06 6ES72883AM060AA0
AR02 6ES72883AR020AA0
AR04 6ES72883AR040AA0
AT04 6ES72883AT040AA0
DP01 6ES72887DP010AA0
6ES72886EC010AA0
SB CM01 6ES72885CM010AA0
SB DT04 6ES72885DT040AA0
SB AE01 6ES72885AE010AA0
SB AQ01 6ES72885AQ010AA0
SB BA01 6ES72885BA010AA0
700 IE  6AV66480CC113AX0
1000 IE 6AV66480CE113AX0
主站蜘蛛池模板: 东光县| 乐东| 麻城市| 凯里市| 巫溪县| 武山县| 灵寿县| 米泉市| 东海县| 洞口县| 万宁市| 紫金县| 晋州市| 土默特右旗| 措勤县| 阳春市| 江口县| 古丈县| 盐边县| 彰武县| 永泰县| 安丘市| 双辽市| 镇雄县| 弥渡县| 泰和县| 宜川县| 海盐县| 松桃| 莎车县| 航空| 贞丰县| 建湖县| 三穗县| 德保县| 威信县| 灵丘县| 盐亭县| 通许县| 正安县| 高雄县|