TIA中CP343-1做Profinet IO控制器

2018年7月21日12:55:46 发表评论 2,453 阅读

1 Profinet IO 概述 3

2 本例设备简介 4

3 项目组态 5

3.1 组态 S7-300 站点 5

3.2 组态分布式 IO 6

3.3 分配设备名称 9

3.4 S7-300 中编程 11

3.5 IO 读写测试 12

1  Profinet IO 概述

PROFINET 由 PROFIBUS 国际组织(PROFIBUS International)推出,是新一代基于工业以太网的自动化总线标准。使用 PROFINET,设备可以从现场级连接到管理级。

PROFIENT IO 适合模块化分布式应用,与 PROFIBUS-DP 方式相似,在PROFIBUS DP 应用中分为主站和从站,在 PROFIENT IO 应用中分为 IO 控制器和 IO 设备。

PROFINET IO 的特点:

● 基于工业以太网(开放式以太网标准)的工业联网。

● 工业以太网和标准以太网组件的兼容性。

● 使用工业以太网设备带来的高稳定性。工业以太网设备适用于工业环境(温度、抗扰度等)。

● 使用诸如 TCP/IP、http 的 IT 标准。

● 实时功能。

● 无缝集成其它现场总线系统。

如图 1-1 为 PROFINET IO 网络配置示意图。

图 1-1 PROFINET IO 通信

1  本例设备简介

本文适用于带有 CP343-1 接口模块的 S7-300 站与分布式 IO 站 ET200SP 之间实现 Profinet IO 通信。

测试例程中用到的软硬件如表 2-1 所示:

名称 数量 订货号
SIMATIC CPU315-2DP(FW V3.3) 1 6ES7 315-2AH14-0AB0
SIMATIC NET CP343-1(FW V3.0) 1 6GK7 343-1EX30-0XE0
IM155-6PN ST(FW V3.3) 1 6ES7 155-6AA00-0BN0
DI 8x24VDC HF(FW V2.0) 1 6ES7 131-6BF00-0CA0
DQ 8x24VDC/0.5A HF(FW V2.0) 1 6ES7 132-6BF00-0CA0
Base Unit BU15-P16+A0+2D 1 6ES7 193-6BP00-0DA0
Base Unit BU15-P16+A0+2B 1 6ES7 193-6BP00-0BA0
SIMATIC STEP7 Professional V15 Update2 1 6ES7 822-1AA05-0YA5

表 2-1 例程中用到的软硬件列表

备注:订货号 6ES7 155-6AA00-0BN0 包含以下三件产品,接口模块本体(6ES7 155-6AU00-0BN0),服务器模块(6ES7 193-6PA00-0AA0),RJ45总线适配器(6ES7 193-6AR00-0AA0)

项目组态

下面以 S7-1500 CPU 与带有 CP343-1 接口模块的 S7-300 站点之间实现

Profinet IO 通信为例,详细介绍如何在同一个 TIA 项目中组态。

3.1 组态 S7-300 站点

在 TIA V15 中创建一个新项目,添加 CPU315-2DP,在“设备视图”中,选择CP343-1 的以太网口,设置 IP 地址。如图 3-1 所示:

图 3-1 设置 CP343-1 的 IP 地址

接着,在“操作模式”中设置 CP343-1 为“IO 控制器”模式。如图 3-2 所示:

图 3-2 CP343-1 的操作模式

最后,在 CP343-1 模块的“常规”属性中查看“IO 地址”,后续编程需要用到该起始地址。如图 3-3 所示:

图 3-3 查看 CP343-1 的 IO 起始地址

3.1 组态分布式 IO

打开“网络视图”,在硬件目录中选择 ET200SP 分布式 IO 的接口模块并拖拽到网络视图中。如图 3-4 所示:

图 3-4 添加分布式 IO

然后,点击“未分配”按钮,选择“PLC_1.cp343-1……”将分布式 IO 分配给控制器。如图 3-5 所示:

图 3-5 分配 IO 控制器

接着,鼠标双击分布式 IO 进入“设备视图”,为 ET200SP 接口模块分配 IP 地址。如图 3-6 所示:

图 3-6 设置 ET200SP 的 IP 地址

最后,在 ET200SP 站上依次组态 DI,DO 和服务器模块。如图 3-7 所示:

图 3-7 组态 IO 模块

3.1 分配设备名称

在下载硬件组态和程序之前,先对分布式 IO 分配设备名称。

在“网络视图”界面,鼠标选择 PN 总线,右键选择菜单“分配设备名称”。如图 3-8 所示:

图 3-8 选择“分配设备名称”

接着,在弹出的“分配 PROFINET 设备名称”窗口,选择需要分配名称的设备,点击“更新列表”按钮扫描出总线上所有类型匹配的设备,鼠标选择需要分配设备名称的设备,点击“分配名称”按钮完成名称的分配。如图 3-9 所示:

图 3-9 在线“分配设备名称”

S7-300 中编程

当使用 CP343-1 进行 PN IO 通信时,S7-300 CPU 不能直接访问 CP343-1 所连接的 IO 设备输入输出地址,而是定义指定的数据发送接收区地址(可以是 M 区或 DB 块),通过编程完成 IO 控制器和 IO 设备之间的数据交换。这时需要用到

PNIO_SEND(FC11)和 PNIO_RECV(FC12)程序块。

在 TIA 中,为 CPU315-2DP 编程。打开 OB1,进入编程界面中。从“通信——〉SIMATIC NET CP”指令中,找到 PNIO_SEND 和 PNIO_RECV 拖放到 OB1中,并赋与正确的参数。如图 3-10 所示:

图 3-10 CP343-1 作为 IO 控制器时的程序调用

参数 变量声明 数据类型 说明
CPLADDR INPUT WORD CP 模板起始地址。

本例中组态的 CP 模板逻辑地址为十进制 256。

MDOE INPUT BYTE 工作模式:

当 CP343-1 作为 IO 控制器时,设为 0。

当 CP343-1 仅作为 IO 设备时,设为 0。

当 CP343-1 同时作为 IO 控制器和 IO 设备,发送和接收作为 IO 设备的数据时,设为 1。

LEN INPUT INT 以字节为单位的要发送或接收的数据区长度,

该长度始终是从数据区地址 0 开始计算。

IOCS OUTPUT ANY 每一用户数据字节传送一个状态位,长度取决

于 LEN 参数中的长度。

以程序段 1 为例,共发送 10 个字节,每个字节

需要 1 个比特位,所以共需要 10 位,即至少需

要 2 个字节。

IOPS OUTPUT ANY 每一用户数据字节传送一个状态位,长度取决

于 LEN 参数中的长度。

以程序段 2 为例,共接收 10 个字节,每个字节

需要 1 个比特位,所以共需要 10 位,即至少需

要 2 个字节。

DONE OUTPUT BOOL 数据通信是否无错误地完成。
NDR OUTPUT BOOL 数据通信是否无错误地完成。
ERROR OUTPUT BOOL 故障代码。
STATUS OUTPUT WORD 状态代码。
CHECK_IOCS OUTPUT BOOL 由这个位来判断是否需要对 IOCS 状态进一步分

析,当至少有一个 IOCS 错误时置 1。

CHECK_IOPS OUTPUT BOOL 由这个位来判断是否需要对 IOPS 状态进一步分

析,当至少有一个 IOPS 错误时置 1。

ADD_INFO OUTPUT WORD 附加的诊断信息。
SEND IN_OUT ANY 发送数据区。
RECV IN_OUT ANY 接收数据区。

表 3-1 “PNIO_SEND”和“PNIO_RECV”参数

关于“PNIO_SEND”和“PNIO_RECV”的更多信息,可以选中指令块,按 F1 键, 打开在线帮助查看。

IO 读写测试

完成上述操作后,将项目分别下载到 CPU 中,使 CPU 处于 RUN 模式。

从图 3-11 中可以看到,当 CP343-1 作为 IO 控制器时,其所带分布式 IO 的输入

/输出起始地址默认是从 0 开始的,这些虚拟地址与真实的 IO 模块的输入输出地址无关,发送和接收数据的对应关系是:

1、发送数据区域,与指令 PNIO_SEND 的 SEND 引脚对应的缓冲区相关联。

2、接收数据区域,与指令 PNIO_RECV 的 RECV 引脚对应的缓冲区相关联。

图 3-11 CP343-1 作为 IO 控制器的地址对应关系最后,在线打开 PLC 的监控表。

对 M0.0 修改为 true 时,可以看到 DO 模块的第 1 个通道有输出指示;对 DI 模块的第 8 通道进行 DC24V 正极短接,可在监视表中看到 M100.7 为 true。如图3-12 所示:

图 3-12 IO 读写测试

weinxin
plc入门知识问答
所有PLC工程师都会关注的微信公众账号,只需输入您的问题,就会有答案

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: