以下用一个例题介绍组态连接通信应用。
【例6-4】有两台设备,分别由一台CPU 314C-2DP和一台CPU416-2DP控制,从设备1上的CPU416-2DP发出启/停控制命令,设备2的CPU 314C-2DP收到命令后,对设备2进行启停控制,同时设备1上的CPU 314C-2DP监控设备2的运行状态。
将设备1上的CPU416-2DP作为客户端,地址为2,将设备2上的CPU 314C-2DP作为服务器端,地址为3。
(1)主要软硬件配置
①1套STEP7 V5.4 SP4 HF3;
②1台CPU 314C-2DP;
③1台CPU 416-2DP;
④1根PC/MP适配器(或者CP5611卡);
⑤1根MPI电缆(含两个网络总线连接器)。
MPI通信硬件配置如图6-47所示。
图6-47 MPI通信硬件配置
(2)硬件组态
①新建工程。新建工程,命名为“mpi1”,插入站点和CPU,并将建立CPU 314C-2DP和CPU 416-2DP的MPI连接,其中CPU 416-2DP的MPI地址为2,CPU 314C-2DP的MPI地址为3,如图6-48所示,再单击“MPI”标志,弹出如图6-49所示的界面。
图6-48 新建工程
②新建连接。如图6-49所示,选中“1”处,单击右键,弹出快捷菜单,单击“插入新连接”,弹出如图6-50所示的界面。
③选择CPU的连接方式。如图6-50所示,选中“CPU 314C-2DP”和“S7连接”,单击“应用”按钮,弹出如图6-51所示的界面。注意:“S7连接”不仅可用于MPI通信,还可以用于PROFIBUS和以太网通信,在后面的文章中会详细讲到。
图6-49 新建连接
图6-50 选择CPU的连接方式
④选择MPI参数。如图6-51所示,单击“确定”按钮,硬件组态完成。
(3)相关指令介绍
PUT (FB15)是发送指令,通过使用PUT (FB15),可以将数据写入到远程CPU。对于S7-300系列PLC,在REQ的上升沿时发送数据。在REQ的每个上升沿时传送参数ID、ADDR 1和SD 1。在每个作业结束之后,可以给ID、ADDR 1和SD 1参数分配新数值。PUT (FB15)指令各参数的含义见表6-8。
图6-51 选择MPI参数
表6-8 PUT (FB15)指令格式
LAD 输入/输出 说 明 数据类型
EN 使能 BOOL
REQ 发送请求 BOOL
ID 地址参数 WORD
ADDR_1 本地的存储地址 ANY
SD_1 对方的数据区 KNY
DONE 是否发送完成 BOOL
ERROR 是否错误 BOOL
STATUS 状态 WORD
GET (FB14)是接收指令,通过GET (FB14),从远程CPU中读取数据。对于S7-300系列PLC,在REQ的上升沿时读取数据。在REQ的每个上升沿时传送参数ID、ADDR 1和RD 1。在每个作业结束之后,可以分配新数值给ID、ADDR 1和RD 1参数。GET (FB14)指令各参数的含义见表6-9。
表6-9 GET (FB14)指令格式
LAD 输入/输出 说 明 数据类型
EN 使能 BOOL
REQ 接收请求 BOOL
ID 地址参数 WORD
ADDR_1 本地的存储地址 ANY
RD_1 对方的数据区 ANY
NDR 是否在接收完成 BOOL
ERROR 是否错误 BOOL
STATUS 状态 WORD
【关键点】PUT( FB15)和GET( FB14)指令的参数ID设定如图6-40所示,本通信适用于OSI模型的第一、二和七层。
(4)编写程序
客户端的程序如图6-52所示,服务器端的程序如图6-53所示。
图6-52 客户端程序
图6-53 服务器端程序