S7-1500支持智能IO设备功能,故可使用S7-1500作为智能IO设备和CP343-1的Profinet通信。本例中将S7-300做为控制器,连接作为智能IO设备的S7-1500CPU实现Profinet通信;下面详细介绍使用方法。
硬件:
CPU6ES7513-1AL01-0AB0,
CPU314C-2ptp,+CP343-1,
软件:
Step7V14
CP343-1的PN接口连接S7-1500的PN接口,这种方式可以分2种情况来操作,具体如下:
1.第一种情况(同一项目中操作)CPU314C作为controller,1500作为IOdevice,使用Step7V14在一个项目中操作,详细步骤如下。
1.1使用Step7V14创建S7-300站使用STEP7V14创建一个新项目,并通过“添加新设备”组态S7-300站PLC_1,选择CPU314C-2ptp,添加CP343-1,设置IP地址。如图1所示。

图1在新项目中插入S7-300站
在“操作模式”选项中确认CP343-1的操作模式。如图2所示。

图2选择CP343-1操作模式
1.2使用Step7V14创建S7-1500站使用STEP7V14创建一个新项目,并通过“添加新设备”组态S7-1500站PLC_2,选择CPU1500;设置IP地址,并确认设备名称,本示例中设备名称是plc_2。如图3所示。

图3在新项目中插入S7-1500站
S7-1500作为IO设备,需要将其操作模式设置为IO设备,并将IO设备分配给控制器PLC_1。如图4所示。

图4S7-1500设置为IO设备
接着,在“智能设备通信”的“传输区”创建IO通信区,控制器的QB2~6共计5个字节传送到IO设备的IB2~6;控制器的IB2~6共计5个字节读取来自IO设备的QB2~6。如图5所示。

图5创建IO通信区
1.3硬件组态下载,检查设备名称和IP地址是否正确分别将PLC_1站和PLC_2站下载到各自的PLC中。
将软件切换到“网络视图”,找到PN/IE总线,查看设备名称是否正确。如图6、7所示。

图6网络视图

图7确认设备名称和IP地址
1.4S7-300编程本例中,CP343-1作为IO控制器,需要在OB1中编程调用PNIO_SEND和PNIO_RECV进行数据读写。如图8所示。

图8CPU314C中编程
CALL“PNIO_SEND”
CPLADDR:=256//CP模板起始地址
MODE:=0//工作模式:当CP343-1仅作为IO控制器或IO设备时,设为0;当CP343-1同时作为IO控制器和IO设备时,设为1
LEN:=7//要发送的数据区长度;该长度始终是从数据区地址0开始计算
SEND:=
//每一用户数据字节传送一个状态位。长度信息取决于LEN参数中的长度。
以程序段1为例,共发送7个字节,每个字节需要1个比特位,所以共需要7位,即至少需要1字节。
DONE:=%//为1时,无错误完成该作业
ERROR:=%//为1时,有故障发生
STATUS:=%MW2//状态代码
CHECK_IOCS:=%
//0:所有IOCS均设置为GOOD
//1:至少一个IOCS设置为BAD
CALL“PNIO_RECV”
CPLADDR:=256//CP模板起始地址
MODE:=0//工作模式:当CP343-1仅作为IO控制器或IO设备时,设为0;当CP343-1同时作为IO控制器和IO设备时,设为1
LEN:=7//要接收的数据区长度;该长度始终是从数据区地址0开始计算
RECV:=
//每一用户数据字节传送一个状态位。长度信息取决于LEN参数中的长度。
以程序段2为例,共接收7个字节,每个字节需要1个比特位,所以共需要7位,即至少需要1字节。
NDR:=%//为1时,无错误完成该作业
ERROR:=%//为1时,有故障发生
STATUS:=%MW4//状态代码
CHECK_IOPS:=%
//0:所有IOPS均设置为GOOD
//1:至少一个IOPS设置为BAD
ADD_INFO:=%MW6//附加诊断信息;具体请查看指令帮助信息
1.5通讯测试检查无错误后,下载S7-300的程序,分别给两个站点新建监控表,添加通信数据区,监控。如图9所示。

图9通信测试
1.6地址对应关系的说明
图10地址对应关系
从图中可以看到,当CP343-1作为控制器时,其传送的地址需从0开始的。地址对应排列关系以逻辑地址大小为序。地址如果出现间隔时,如例子中,没有组态的地址区IB0~2(QB0~1)及其对应的MB100~101(MB200~201)也将被传送。
2.第二种情况(不在同一项目中操作)不在一个项目中的操作,即:CPU314C作为controller使用编程;1500作为IOdevice,使用Step7V14编程,详细步骤如下。
2.1使用Step7V14创建S7-1500站使用STEP7V14创建一个新项目,并通过“添加新设备”组态S7-1500站IO-device,选择1500;设置IP地址,并确认设备名称,本示例中设备名称是io_device。如图11所示。

图11在新项目中插入S7-1500站
S7-1500作为IO设备,需要将其操作模式设置为IO设备。如图12所示。

图12S7-1500设置为IO设备,并创建IO通信区
接着,在“智能设备通信”的“传输区”创建IO通信区,控制器将传输5个字节到IO设备的IB2~6;IO设备将QB2~6共计5个字节传送给控制器。
2.2导出IO设备的GSD文件
图13导出IO设备的GSD文件
2.3使用创建S7-300站使用创建一个新项目,并组态CPU314C-2ptp,添加CP343-1,设置IP地址,并确认设备名称,本示例中设备名称是PN-IO。如图14所示。

图14在新项目中插入S7-300站
在的硬件组态界面,通过“选项”进入“安装GSD文件”界面,在源路径选择IO-device的GSD文件存放路径。如图15所示。

图15安装IO-device的GSD文件
2.4在中组态IO-device首先,需要给CP343-1插入ProfinetIO总线,在CP343-1的“PN-IO”上鼠标右键,选择“插入ProfinetIO系统”。如图16所示。

图16插入ProfinetIO系统
然后,从硬件目录路径:PROFINETIO--PreconfiguredStations--CPU1500--IO-device拖拽到PN总线上。如图17所示。

图17组态IO-device
2.5硬件组态下载,检查设备名称和IP地址是否正确分别将S7-300站和S7-1500站下载到各自的PLC中。
将STEP7V14软件切换到“网络视图”,找到PN/IE总线,查看设备名称是否正确。如图18、19所示。

图18网络视图

图19确认设备名称和IP地址
2.6S7-300编程本例中,CP343-1作为IO控制器,需要在OB1中编程调用PNIO_SEND和PNIO_RECV进行数据读写。如图20所示。

图20CPU314C中编程
CALL“PNIO_SEND”
CPLADDR:=W100//CP模板起始地址
MODE:=B0//工作模式:当CP343-1仅作为IO控制器或IO设备时,设为0;当CP343-1同时作为IO控制器和IO设备时,设为1
LEN:=7//要发送的数据区长度;该长度始终是从数据区地址0开始计算
SEND:=
//每一用户数据字节传送一个状态位。长度信息取决于LEN参数中的长度。
以程序段1为例,共发送7个字节,每个字节需要1个比特位,所以共需要7位,即至少需要1字节。
DONE:=%//为1时,无错误完成该作业
ERROR:=%//为1时,有故障发生
STATUS:=%MW2//状态代码
CHECK_IOCS:=%
//0:所有IOCS均设置为GOOD
//1:至少一个IOCS设置为BAD
CALL“PNIO_RECV”
CPLADDR:=W100//CP模板起始地址
MODE:=B0//工作模式:当CP343-1仅作为IO控制器或IO设备时,设为0;当CP343-1同时作为IO控制器和IO设备时,设为1
LEN:=7//要接收的数据区长度;该长度始终是从数据区地址0开始计算
RECV:=
//每一用户数据字节传送一个状态位。长度信息取决于LEN参数中的长度。
以程序段2为例,共接收7个字节,每个字节需要1个比特位,所以共需要7位,即至少需要1字节。
NDR:=%//为1时,无错误完成该作业
ERROR:=%//为1时,有故障发生
STATUS:=%MW4//状态代码
CHECK_IOPS:=%
//0:所有IOPS均设置为GOOD
//1:至少一个IOPS设置为BAD
ADD_INFO:=%MW6//附加诊断信息;具体请查看指令帮助信息
2.7通讯测试检查无错误后,分别给两个站点新建监控表,添加通信数据区,监控。如图21所示。

图21通信测试
2.8地址对应关系的说明
图22地址对应关系
从图中可以看到,当CP343-1作为控制器时,其传送的地址需从0开始的。地址对应排列关系以逻辑地址大小为序。地址如果出现间隔时,如例子中,没有组态的地址区IB0~2(QB0~1)及其对应的MB100~101(MB200~201)也将被传送。
免责声明:本文章如果文章侵权,请联系我们处理,本站仅提供信息存储空间服务如因作品内容、版权和其他问题请于本站联系