您现在的位置是:首页 > PLC技术 > PLC技术

S7-200 PLC与S7-300 PLC间的MPI通信实例一

来源:艾特贸易2017-06-05

简介【实例一】有两台设备,分别由一台 CPU 314C-2DP 和一台 CPU 226CN 控制,从设备 1 上的 CPU 314C-2DP 发出起/停控制命令,设备 2 的 CPU 226CN 收到命令后,对设备 2 进行起停控制,同时设备

    【实例一】有两台设备,分别由一台CPU 314C-2DP和一台CPU 226CN控制,从设备1上的CPU 314C-2DP发出起/停控制命令,设备2CPU 226CN收到命令后,对设备2进行起停控制,同时设备1上的CPU 314C-2DP监控设备2的运行状态。

    【艾特贸易网解答】

    将设备1上的CPU314C-2DP作为主站,主站的MPI地址为2,将设备2上的CPU 226CN作为从站,从站的MPI地址为3

    1.主要软硬件配置

    1STEP 7 V5.4SP4

    1CPU 314C-2DP

    1CPU 226CN

    1EM277

    1根编程电缆(或者CP5611卡)。

    1PROFIBUS网络电缆(含两个网络总线连接器)。

    1STEP 7Micro/WN V4.0

   MPI通信硬件配置图如图6-3所示,PLC接线图如图6-4所示。

    从图6-3可以看出S7-200PLCS7-300 PLC间的MPI通信有两种配置方案。方案1只要将PROFIBUS网络电缆(含两个网络总线连接器)连接在S7-300 PLCMPI接口和S7-200 PLCPPI接口上即可,而方案2却需要另加一个EM277模块,显然成本多一些,但若S7-200 PLCPPI接口不够用时,方案2是可以选择的配置方案。

MPI通信硬件配置图

    6-3    MPI通信硬件配置图

PLC接线图

    6-4  PLC接线图

    2.硬件组态

   S7-200 PLCS7-300 PLC间的MPI通信只能采用无组态通信,无组态通信指通信无须组态,完成通信任务,只需要编写程序即可。只要用到S7-300 PLC,硬件组态还是不可缺少的,这点读者必须清楚。

   1)新建工程并插入站点。新建工程,命名为“6-1”,再插入站点,重命名为“Master”,如图6-5所示,双击“硬件”,打开硬件组态界面。

新建工程并插入站点

    6-5    新建工程并插入站点

组态主站硬件

    6-6    组态主站硬件

   2)组态主站硬件。先插入导轨,再插入CPU模块,如图6-6所示,双击“CPU 314C2DP”,打开MPI通信参数设置界面,单击“属性”按钮,如图6-7所示。

打开MPI通信参数设置界面

    6-7    打开MPI通信参数设置界面

   (3)设置主站的MPI通信参数。先选定MPI的通信波特率为默认的“187.5Kbps”,再选定主站的MPI地址为“2”,再单击“确定”按钮,如图6-8所示。最后编译保存和下载硬件组态,在此艾特贸易网小编不再重复叙述。

   4)打开系统块。完成以上步骤后,S7-300 PLC的硬件组态完成,但还必须设置S7-200  PLC的通信参数。先打开STEP7-Micro/WIN,选定工具条中的“系统块”按钮,并双击之,如图6-9所示。

设置主站的MPI通信参数

    6-8    设置主站的MPI通信参数

打开系统块

    6-9    打开系统块

   5)设置从站的MPI通信参数。先将用于MPI通信的接口(本例为port0)的地址设置成“3”,一定不能设定为“2”,再将波特率设定为“187.5Kbps”,这个数值与S7-300 PLC的波特率必须相等,最后单击“确认”按钮,如图6-10所示,这一步不少初学者容易忽略,其实这一步非常关键,因为各站的波特率必须相等,这是一个基本原则。系统块设置完成后,还要将其下载到S7-200 PLC中,否则通信是不能建立的。

    【艾特贸易网特别提示】硬件组态时,必须将S7-200 PLCS7-300 PLC的波特率设置值应相等,此外S7-300 PLC的硬件组态和S7-200 PLC的系统块必须下载到相应的PLC中才能起作用。

    3.相关指令介绍

    无组态连接的MPI盼通信适合S7-400PLCS7-300 PLCS7-200 PLC之间的通信,通过调用SFC66SFC67SFC68SFC69来实现。顾名思义,MPI无组态连接就是MPI通信时,不需要组态通信,只要编写通信程序即可实现通信。无组态连接的MPI通信分为双边编程通信方式和单边编程通信方式。S7-200 PLCS7-300 PLC间的MPI通信只能采用单边无组态通信方式。

设置从站的MPI通信参数

    6-10    设置从站的MPI通信参数

   X_PUT (SFC68)发送数据的指令,通过SFC68X_PUT”,将数据写入不在同一个本地S7站中的通信伙伴。在通信伙伴上没有相应SFC。在通过REQ=1调用SFC之后,激活写作业。此后,可以继续调用SFC,直到BUSY=0指示接收到应答为止。

    必须要确保由SD参数(在发送CPU上)定义的发送区和由VAR_ADDR参数(在通信伙伴上)定义的接收区长度相同。SD的数据类型还必须和VAR_ADDR的数据类型相匹配。其输入和输出的含义见表6-2

    6-2    X_PUT (SFC68)指令格式

X_PUT (SFC68)指令格式

   X_GET (SFC67)接收数据的指令,通过SFC67X_GET”,可以从本地S7站以外的通信伙伴中读取数据。在通信伙伴上没有相应SFC。在通过REQ=1调用SFC之后,激活读作业。此后,可以继续调用SFC,直到BUSY=0指示数据接收为止。  然后,RET_VAL便包含了以字节为单位的、已接收的数据块的长度。

    必须要确保由RD参数定义的接收区(在接收CPU上)至少和由VAR_ADDR参数定义的要读取的区域(在通信伙伴上)一样大。RD的数据类型还必须和VAR_ADDR的数据类型相匹配。其输入和输出的含义见表6-3

    6-3    X_GET (SFC67)指令格式

X_GET (SFC67)指令格式

    4.程序编写

   X_PUT (SFC68)发送数据的指令和X_GET (SFC67)接收数据的指令是系统功能,也就是系统预先定义的功能,只要将“库”展开,再展开“Standart libarary(标准库)”,选定“X_PUT”或者“X_GET”,再双击之,“X_PUT”或者“X_GET”就自动在网络中指定的位置弹出,如图6-11所示。

X_PUT和X_GET指令的位置

    6-11    X_PUTX_GET指令的位置

    主站的程序如图6-12所示,从站并不需要编写程序。

主站程序

    6-12    主站程序

    【艾特贸易网特别提示】本例主站地址为“2”,从站的地址为“3”,因此硬件配置采用方案1时,必须将“PPI口”的地址设定为“3”。而采用方案2时,必须将EM277的地址设定为“3”,设定完成后,还要将EM277断电,新设定的地址才能起作用。指令“X_PUT”的参数SDVAR_ADDR的数据类型可以据实际情况确定,但在同一程序中数据类型必须一致。