【控制要求】 CLINK启动开关 X0为ON时,则不断的让主站( Master PLC)与3台从站( Slave PLC)通过CLINK方式完成PLC之间的数据交换(单笔最多为 64word)。
【PLC参数必要设置】
主从站
|
站号
|
通讯口
|
通讯格式
|
Master PLC
|
1
|
Port4
|
波特率:9600 数据位:7 停止位: 1 校验位:偶校验协议:永宏通讯协议
|
Slave PLC 1
|
2
|
Port2
|
Slave PLC 2
|
3
|
Port3
|
Slave PLC 3
|
4
|
Port2
|
※在WinProladder界面,点选菜单栏的 “PLC”Æ“设定”Æ“Port#通讯参数 ”,即可对相应的通讯口进行参数设置,前例 12.3已有说明,此处不再赘述。※当出现 PLC因参数设置错乱而导致通讯异常时,可先在 WinProladder编程软件菜单中点选: PLCÆ快捷操作 Æ初始化全部资料,使 PLC 回归出厂值后,再按照上表进行设置。
z操作步骤:
PLC 元件
|
控制说明
|
X0
|
CLINK启动开关
|
M1938
|
Port4工作指示, 0:被占用, 1:Ready状态
|
【控制程序】 只需在站号为 1的MASTER PLC写入如下图的指令,即可实现多台 PLC之间的通讯。
【通讯表格的建立】
如下图所示
-
(1) 在“ModBus Master”通讯命令表格中,点击 “新增”按钮,编辑一条通讯命令;
-
(2)各参数说明:仆站站号:欲与之交换数据的仆站号;命令:分为 “写入(write)”和“读取(read)”两种;资料长度:******为 64,当然也可以通过变址方式进行设定;主站数据起始位置:分配主站需被读取或被写入的地址段的起始单元;仆站数据起始位置:分配仆站需被读取或被写入的地址段的起始单元;
-
(3)此例中共编辑了 8笔通讯命令,如下图所示:
【程序说明】
-
(1)该指令只需写入到主站 PLC中,而各仆站 PLC只需设好通讯参数,听从主站指挥即可;
-
(2)从上图状态栏可看出,编辑此 8条通讯命令共占用了 57个缓存器R5000~R5056;
-
(3) 程序 RUN后,M1938应为Ready状态(即为 ON),当X0一接通,就进入 CLINK通讯,下面说明各 PLC数据区内容的变化情况:
MASTER PLC(1台)
|
|
SLAVE PLC(3台)
|
D0~D35(内容全为 0)
|
读取
|
2号站的 R20~R55(内容全为 1)
|
D40~D49(内容全为 100)
|
写入
|
2号站的 D100~D109(内容全为 0)
|
M50~M65(状态全为 0)
|
读取
|
3号站的 X0~X15(状态全为 1)
|
D60~D67(内容全为 0)
|
读取
|
3号站的 R200~R207(内容全为 2)
|
M100~M103(状态全为1)
|
写入
|
3号站的 Y0~Y3(状态全为 0)
|
D200~D263(内容全为 0)
|
读取
|
4号站的 R500~R563(内容全为 3)
|
D264~D319(内容全为 0)
|
读取
|
4号站的 R564~R619(内容全为 3)
|
R0~R5(内容全为 FFFFH)
|
写入
|
4号站的 WM8~WM48(状态全为 0)
|
通讯成功后各数据区的内容如下:
MASTER PLC(1台)
|
SLAVE PLC(3台)
|
D0~D35(内容全为 1)
|
2号站的 R20~R55(内容全为 1)
|
D40~D49(内容全为 100)
|
2号站的 D100~D109(内容全为 100)
|
M50~M65(状态全为 1)
|
3号站的 X0~X15(状态全为 1)
|
D60~D67(内容全为 2)
|
3号站的 R200~R207(内容全为 2)
|
M100~M103(状态全为 1)
|
3号站的 Y0~Y3(状态全为 1)
|
D200~D263(内容全为 3)
|
4号站的 R500~R563(内容全为 3)
|
D264~D319(内容全为 3)
|
4号站的 R564~R619(内容全为 3)
|
R0~R5(内容全为 FFFFH)
|
4号站的 WM8~WM48(状态全为 1)
|
(4)每次通讯进行中, M1938都会为 0,表示port4被占用;当通讯完成,M1938会重新变回1,触发新的一次通讯。
|