S7-1200作为智能IO设备和CP341的Profinet通信CP341做控制器
S7-1200 作为智能 IO 设备和 CP343-1 的 Profinet 通信(CP343-1 做控制器) S7-1200S7-1200 作为智能作为智能 IOIO 设备和设备和 CP343-1CP343-1 的的 ProfinetProfinet 通信(通信(CP343-CP343- 1 1 做控制器)做控制器) S7-1200 V4.0 支持智能 IO 设备功能,故可使用 S7-1200 作为智能 IO 设备和 CP343-1 的 Profinet 通信。本例中将 S7-300 做为控制器,连接作 为智能 IO 设备的 S7-1200 CPU 实现 Profinet 通信;下面详细介绍使用方 法。 硬件 1. CPU 1217C DC/DC/DC,V4.0 2. CPU 314C-2ptp,V2.6 CP343-1,V3.0 软件 1. Step7 V13 2. Step7 V5.5 SP3 CP343-1 的 PN 接口连接 S7-1200 的 PN 接口,这种方式可以分 2 种情况 来操作,具体如下 1. 第一种情况CPU 1217C 和 CPU 314C 使用 Step7 V13 编程,在一 个项目中操作。 2. 第二种情况CPU 1217C 使用 Step7 V13,而 CPU 314C 使用 Step7 V5.5。 1.1. 第一种情况(同一项目中操作)第一种情况(同一项目中操作) CPU 314C 作为 controller,1217C 作为 IO device,使用 Step7 V13 在一 个项目中操作,详细步骤如下。 1-11-1 使用使用 Step7 V13Step7 V13 创建创建 S7-300S7-300 站站 使用 STEP7 V13 创建一个新项目,并通过“添加新设备”组态 S7-300 站 PLC_1,选择 CPU 314C-2 ptp, 添加 CP343-1 ,设置 IP 地址。如图 1 所 示。 S7-1200 作为智能 IO 设备和 CP343-1 的 Profinet 通信(CP343-1 做控制器) S7-1200 作为智能 IO 设备和 CP343-1 的 Profinet 通信(CP343-1 做控制器) 图 1 在新项目中插入 S7-300 站 在“操作模式”选项中确认 CP343-1 的操作模式。 如图 2 所示。 图 2 选择 CP343-1 操作模式 1-21-2 使用使用 Step7 V13Step7 V13 创建创建 S7-1200S7-1200 站站 使用 STEP7 V13 创建一个新项目,并通过“添加新设备”组态 S7-1200 站 PLC_2,选择 CPU1217C DC/DC/DC V4.0;设置 IP 地址,并确认设备名 称,本示例中设备名称是 plc_2。如图 3 所示。 S7-1200 作为智能 IO 设备和 CP343-1 的 Profinet 通信(CP343-1 做控制器) S7-1200 作为智能 IO 设备和 CP343-1 的 Profinet 通信(CP343-1 做控制器) 图 3 在新项目中插入 S7-1200 站 S7-1200 作为 IO 设备,需要将其操作模式设置为 IO 设备,并将 IO 设备分 配给控制器 PLC_1 。如图 4 所示。 图 4 S7-1200 设置为 IO 设备 S7-1200 作为智能 IO 设备和 CP343-1 的 Profinet 通信(CP343-1 做控制器) S7-1200 作为智能 IO 设备和 CP343-1 的 Profinet 通信(CP343-1 做控制器) 接着,在“智能设备通信”的“传输区”创建 IO 通信区,控制器的 QB26 共计 5 个字节传送到 IO 设备的 IB26 ;控制器的 IB26 共计 5 个字节读取来自 IO 设备的 QB26 。如图 5 所示。 图 5 创建 IO 通信区 1-31-3 硬件组态下载,检查设备名称和硬件组态下载,检查设备名称和 IPIP 地址是否正确地址是否正确 分别将 PLC_1 站和 PLC_2 站下载到各自的 PLC 中。 将软件切换到“网络视图”,找到 PN/IE 总线,查看设备名称是否正确。如图 6、7 所示。 S7-1200 作为智能 IO 设备和 CP343-1 的 Profinet 通信(CP343-1 做控制器) S7-1200 作为智能 IO 设备和 CP343-1 的 Profinet 通信(CP343-1 做控制器) 图 6 网络视图 图 7 确认设备名称和 IP 地址 1-4 S7-3001-4 S7-300 编程编程 S7-1200 作为智能 IO 设备和 CP343-1 的 Profinet 通信(CP343-1 做控制器) S7-1200 作为智能 IO 设备和 CP343-1 的 Profinet 通信(CP343-1 做控制器) 本例中,CP343-1 作为 IO 控制器,需要在 OB1 中编程调用 PNIO_SEND 和 PNIO_RECV 进行数据读写。如图 8 所示。 图 8 CPU314C 中编程 CALL “PNIO_SEND” CPLADDR256// CP 模板起始地址 // 工作模式当 CP343-1 仅作为 IO 控 制器或 IO 设备时,设为 0;当 CP343- 1 同时作为 IO 控制器和 IO 设备时,设 为 1 // 要发送的数据区长度;该长度始终是 从数据区地址 0 开始计算 // 发送数据区 // 每一用户数据字节传送一个状态位。 长度信息取决于 LEN 参数中的长度。 MODE0 LEN SEND IOCS 7 PM100.0 BYTE 7 PM150.0 BYTE 10 S7-1200 作为智能 IO 设备和 CP343-1 的 Profinet 通信(CP343-1 做控制器) S7-1200 作为智能 IO 设备和 CP343-1 的 Profinet 通信(CP343-1 做控制器) 以程序段 1 为例,共发送 7 个字节,每 个字节需要 1 个比特位,所以共需要 7 位,即至少需要 1 字节。 DONE ERROR STATUS CHECK_IOCS CALL “PNIO_RECV” CPLADDR256// CP 模板起始地址 // 工作模式当 CP343-1 仅作为 IO 控 制器或 IO 设备时,设为 0;当 CP343- 1 同时作为 IO 控制器和 IO 设备时,设 为 1 // 要接收的数据区长度;该长度始终是 从数据区地址 0 开始计算 // 发送数据区 // 每一用户数据字节传送一个状态位。 长度信息取决于 LEN 参数中的长度。 IOPS PM250.0 BYTE 10以程序段 2 为例,共接收 7 个字节,每 个字节需要 1 个比特位,所以共需要 7 位,即至少需要 1 字节。 // 为 1 时,无错误完成该作业 // 为 1 时,有故障发生 // 状态代码 // 0 所有 IOPS 均设置为 GOOD // 1 至少一个 IOPS 设