S7-400组态基于MPIS7通信访问S7-300

1 调用系统功能块通信简介

对于MPI网络,调用系统功能块进行PLC站之间的通信只适合于S7-300/400S7-400/400之间的通信,S7-300/400通信时,由于S7-300CPU中不能调用SFB12(BSEND)SFB13 (BRCV)SFB14(GET)SFB15(PUT),不能主动发送和接收数据,只能进行单向通信,所以S7-300 PLC只能作为一个数据的服务器,S7-400 PLC可以作为客户机对S7-300PLC的数据进行读写操作。S7-400/400通信时,S7-400 PLC可以调用SFB14SFB15,既可以作为数据的服务器同时有可以作为客户机进行单向通信,又可以调用SFB12SFB13,发送和接收数据进行双向通信,在MPI网络上调用系统功能块通信,最大一包数据不能超过160个字节。

2 配置PLC硬件

在这里将介绍S7-300/400之间的单向通信,先建立两个站STATION1 S7-400 CPU416 ,站号为2STATION2 S7-300 CPU315-2DP,站号为4,假设S7-400PLC把本地数据 DB1中字节0以后20个字节写到S7-300PLC DB1中字节0以后20个字节,然后在读出S7-300PLC DB1中字节0以后的20个字节,放到S7-400PLC本地数据 DB2中字节0以后20个字节。

3 建立连接表

STEP7中点击“Options ->  Configure Network”进入网络组态画面,如图1所示:

1 进入网络配置界面

点击STATION1 CPU,出现连接表,双击连接表选择连接类型“S7 connection”,并选择所需要连接的CPU,在本例中选择CPU315,如图2所示:

2 选择通信对象

点击“Apply”后连接表建立完成,并可以查看连接表的详细属性,如图3所示:

3 通信连接信息

完成以后编译存盘下载连接表信息。

4 调用系统功能块

PLC中调用通信所需的系统功能块,由于是单向通信,S7-300PLC是数据的服务器,所以只能在S7-400PLC侧编程,调用SFB15写数据到S7-300PLC中如图4所示:

     

4 连接与通信程序的对应关系                            

REQ:上升沿触发,每一个沿触发一次。                                                                          

调用SFB14读出S7-300PLC的数据 如图5


5 调用读数据程序

程序编写完成后下载到CPU中,通信就可以建立了。