完整word版s71200之间modbus通信.docx
《完整word版s71200之间modbus通信.docx》由会员分享,可在线阅读,更多相关《完整word版s71200之间modbus通信.docx(18页珍藏版)》请在冰豆网上搜索。
完整word版s71200之间modbus通信
S7-1200之间modbus通信实验报告
.通信前准备和软硬件组态。
然后组态设备,选择S7-1200的CPU1214CDC/DC/RLY版本号为4.1,
打开项目后,选中PLC_1设备视图,选择下面的“属性”选项,再选
择“系统和时钟存储器”,在右边的显示出的启用时钟存储器字节的
复选框中打上勾,如下图所示
再选中PLC_1设备中以太网口,在以太网地址设置PLC_1的IP地址
为:
192.168.0.1,如下图所示:
吋叵同步
衣吐幅碧黝问宙件柝i2祥
以宜厠地址
橫口连接對
孑冈-PM1EJ
|爲加鬲子何
IP曲这
戸)15炸目中麦苦IF他讹
IF地址:
|畑一应二0一[
子咏码:
;55.2砖.255.Q
然后添加通信模块CM1241(rs485),然后到属性设置,选择波特率
为9.6k,硬件标识符为269,如下图所示:
錨口组态
硬件标识符
谨件标识符
然后复制PLC1生成PLC2不过在设备组态那里的以太网口改成IP
为192.168.0.2,拓扑图连接如下图所示:
在血目口弦兰IF±011
IFWitt:
|临饭。
—亍子冋I砥:
[丄弘.2弘.2也.0
I便用IP詰日蚩
CSM1277_1
CSK11277
PC^System_i台式PC
到这里通信前设备设置已经完成了
.程序编程
在PLC2中添加全局数据块,命名为slavehr,并在里面建立数组,名称为HRAYYA建立1到20的word类型的数据。
如下图所示:
在PLC2变量表中添加变量表1,变量如下所示:
w云「m豊I■耳
同样方法在PLC1中添加全局数据块名称为md-master,并建立两个数
组分别为reacdi-array和wirtehr-array,数据类型分别为bool和
word,如下图所示:
在PLC1变量表中添加变量表1,变量如下所示:
数据粪塑
她址
呆挣在r…
司从一连轻
b-done
BOffl
@]%M10D''
b-error
BmI
%M1O1
弓
41
ffljv-statui
Word
4
田
b-^eed-di-rtq
Bo&l
<^200
5
bHilonie-fcOS
&ool
*fcM2Cl.l
6
£
b-buj\^cO2
ElOijI
b-errfcO2
Bc»l
%M20.3
8
d
mmslautt氐02
Word
9
G
b^vint-hr-rfq
Bool
^M30D
10
b^donie-fclG
Bool
*!
fcM3a.l
11
b-buiy^cl6
Sool
%M30^
"1T*
b-crrfcl6
Bool
%M30.3
■■工
d
miv-stauti4t16
Word
4J
Q
b-histctyli
Berni
15
b-his(ory2
Bool
■fcMSQ.I
16
b-hi&tcry3
Eool
1?
燼加A
然后回到PLC2中,在主程序mian中添加指令modbus-comm-load生成背景数据块,并编写好各个形参的实参,如下图所示:
Iwa?
°
Ccmm_Ldsd_
畑1DD®'
"HrslSciBrf
Mudbkh
6他血-LimJ
j
il1
Erf
EHu■
W10
僭irsTSerT
1i
InI
FRRCB—i'fe-emjr
l『II
■Ki:
q
^Jhisoa
■iDCtXM
则*12
sb-hHtc时
51A1V5—■mwM.tetus*
12411
_[■—PORT
5600BAUD
0—PARTY
C—FLOWjdRL
°—imjONJXY
0—KTL_QFF_LN_T—fiESPJO
oe'Me_D0—rjeji!
100%-
p■■Ivl>111IIPII
注意的是在MB-DB的实参是选择下面的背景数据块DB3的。
在程序段2中添加指令modbus-slave,并生成背景数据块,各个形
参的实参如下图所示:
*VDB3
'Modbus^SIa
DE'
Mcdbus_5law
EhlO
^H20.0
MUR^'b-ndr^lave'
—'b-dr-tlave'
'XMIO.I
ERROR—七唱佃广
EN
hMB_ADDRPSOB1.DBXD.O
•jlove-HRT^HH
ARRAV*——mbholdreg
畑皿2
STATUS'mw^tsuusla?
€'
到这里PLC2的程序已经完成,编译没错
回到PLC1中的主程序mian,同样在程序段1中添加指令
modbus-comm-load,生成背景数据块,并编写好各个形参的实参,如
下图所示:
靳B2
*Mcdbus_
Comm_Lo3d_
00*
ModbusCommLo^d
」■一
POITT
9600—
BAUD
n
PARITY
0—
flovlctrl
U
R1S_ON_DL¥
鬥w
RT5_0FF_DLY
1ooo^―
RESP_1D
PWB3.DBX24.0
*Madbus_
Master_DB'.
KIRHR—
■innn
同样注意的是在MB-DB的实参是选择下面的背景数据块DB3的
在程序段2中添加指令modbus-master,并生成背景数据块,各个形
参的实参如下图所示:
'kktdbus
_
Master_D护
Modbus_Ma£ter
EN
ENOJ
^200
^201
'b-reid-di-rtq1
DOHE—i'b-donfl-fc02'
——P
REQ
1M20J
如50/|
2
MB^ADDR
E"b~bu$池D2"
1b4iistofy2B
□—
MODE
购22
■10001—
DATA_ADDR
EftROR―匕弋!
!
牝0丁
16—
DATA-LEM
划磁
STATUS'mw-staut5-fcO2'
PfDBUDBXDO
Hmb-niaster".
Treacdi-arra/—
DATA.FTP
复制程序段2到程序3中,修改各个形参的实参,如下图所示
•程序段3:
'Modbus.Majrer_DB'
hflodbj5_M3ster
"EN
LNO1
^30.0
KM30.1
'b-wirte-hr-req"
InL
DOTTIE—■'b-done-fcl6'
刘HO2
11I
~REQ
伽562
-MB_ADDR
BU5\—iHb-busy-fc16・
*b+iistoryB'
1-
-MODE
^3-03
40001-
DATA_ADDR
ERROR—・b-err-MS'
5-
-DATA.LEN
POB1.D&X4.D'mb-master.'wirtehrerra/
DA1A_FTK
STATUS—"mw-stButs-ft16'
到这里PLC_1和PLC_2的编程组态已经完成了
三.下载测试
将PLC1的程序下载到PLC中去
典型
Hi!
手网
P-C1
CPU12UCDCm.„
1XI
rn'ic
1I92.1W0I
PN'IE_1
纽他诂间书占国干%-
九K搏口的娄塑:
pg.pltftu:
f®=Li:
即営二伫汕'5釦
总■&
祜翻t町
奠已it!
]id
CrUcoimimen
■CRJ-12OOSrmu^
FM1F132lflB.0.1
■CRJcwnimon
-
—
啊ifWflJtjjii
-
EIT-T冋巾朗笫甲将-
倉妊比忑悟呈:
“正在咗左说皆佶良
_扌■!
*和信且恢貝占議4
下罚J
觐他
将PLC_2的程序下载到PLC中去
在PLC_1和PLC_2中分别添加监控表1、2,如下图所示:
PLC1监控表1
i
匾伏1亘
'brtad1布汴型-
"b-danetO^・%M20J布尔型
讪七小yfcOP%M20.2
'b^rr4t02'%M20.3
布尔型
布尔型
"inw-iTauti-irtO2*隽皿说卫
'mb-masTer"r'rea-花DE1.D6XQ.0
+六遊制布尔型
"mb-fna&wrV*rea...%DB1.CBX0.1
'mtunaster*/rea..%DB1.DBX0.2
'rnb^masttr*.'rea...%DB1DBXD-3
布E型布尔型布R型
*mb-master*.'rea._%DB1.DBXfl.4
'mbmaster'.'rea.WB1UBXD.5
布年型
布币型
'mb-fTnasrer*.'rea...^DBLDBXfl.6
*mb-nia5tef.'rea.«
布尔型
布不型
*mb-master-?
rea...%DB1.DBX1.0
'mb-mester"/rea..^dbii.dbxiJ
布尔型
布尔型
■mb-fnaster"?
rea._WB1.CBX1.2'mbHTiflster'/rea..^DEU.DBXI-3"mb-fnasrer*.1rea...%DB1.DBX1A"mb-master*.'rea...^DBI.DBXI
布丹型布尔型布E型布尔型
PLC_1监控表2
i
名称地址
显示格式
学
IB
I呼FXl目
'b'Wirte+ir-req'J.^M30.0
—[布尔聖庄
*b-dane^fc16*
—'布尔型
■b-buty*16'%M30.2
布尔型
*rr扫6'%M303
布尔型
'mw-stauts-fclfi'免MWB2
+六进制
*mb-master*?
wirt..%DB1.DBW
+六逬制
'mb-ma5ter'.'win:
..WB1.DBW6
十六诳制
□
'mb-master'.'wirt..%OB1.DBWB
+六迸制
Tmb-master'7wirt..^DB1.D0W1O
+六遊制
)
■rnb-master'.'wirt..WB1.D0W12
十叭进制
'mbmister'.'wirt..^DB1.DBW14
+六逬制
*mb-mftSTer*.'wirt..%DB1.DBW16+六逬制
'mb-master'.'wirt..%DB1.DHW1E十六进制
'nfib-mBSte^.'wirt..十六进制
'mb-mBSter'.'wirt..%OB1.DBW22+六遊制
PLC2监控表1、2
址址
盟视值
■山vc-HR".'hR丹RAY*[1]字
SDE1.DEVJO
十尹进制
WB1DBW2
十尹班制
■山⑷怦…朋卿臥十⑶
SDBI.DE^
+A5ft制
\DB1£iB^V6
廿遊制
thve-HR-H鮎沖FVW[5]
SDftWEm
十六进制
'5k\f-HR"H^RAY"[石]
=SDB1.DE^V1O
十汽进制
'sliveHR'.'HURRAY"[7]
^DPI.DErVI;
十六讲制
'slaveHr.'H^-^RArie]
WB1.DBW14
+六进制
HR-;H^-fflRAr(9)
WD1DBW16
卄邊制
^IflveHR'.'H^RAY'llO]
^DB1DB;Via
+小制
启动两台PLC并监控,输入数据然后点修改,测试结果如下所示:
|l^|lb|鸽龟i
i右称
地址
显示格式监视值俺改值
通信结果
到这里,modbus通信成功
IbusRTU卜PIC2(CPU1214COC/DGfDCl►賠控与强制表F监控耒2
四.总结通过这次PLC之间modbus通信,我巩固了许多PLC通信的知识,观
察与动手能力也随之加强。
感谢老师有这次机会去接触更深层的关于
PLC知识,感谢老师的辅导!