前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【工控技术】如何向未组态在同一个多项目中的H CPU发送数据?

【工控技术】如何向未组态在同一个多项目中的H CPU发送数据?

作者头像
剑指工控
发布2021-11-09 16:07:18
7180
发布2021-11-09 16:07:18
举报
文章被收录于专栏:剑指工控

在PCS 7中,对于不在同一个多项目中组态的AS之间,可以交换数据。

在S7程序中,你可以通过“SEND_R”和“REC_R”块传送一个32 位REAL值或者单独的32个BOOL量,或者“SEND_BO”和“REC_BO”(128个BOOL值)实现数据交换。这些程序块在“PCS 7 Library V7x”和“PCS 7 Library V8.x”的“COMM”文件夹中。

  • 以下过程同样适用于使用S7 F systems组态的F-CPU之间的安全通信。
  • 以下过程同样适用于单H-CPU和H系统间的通讯,重要的是要确保单CPU必须是激活方去建立连接,所需TASP号正确组态。

要求

跨多项目的容错连接无法组态。

因此,在需要组态通信的多项目中新增虚拟站点,仅用于后续组态连接。

已经对每个工厂建立了一个多项目,并组态了硬件。两个工厂必须在一个物理网络中。

(以下示例说明两套S7-417 H CPU之间的通讯。对于标准的S7-400 CPU,不需要组态虚拟CPU。可以使用未指定的"S7 连接"。)

1、创建一个虚拟CPU

双方中都需要一个虚拟CPU以组态连接。

  • 打开项目。
  • 在项目菜单中,选择“Add New Object > SIMATIC H Station”。
  • 组态需要创建连接的硬件站点。为了避免组态错误,可以把其他项目的硬件组态先导出再做相应导入。
  • 将CP连接到项目已存在的子网上。
  • 这个虚拟站不需要S7程序,因为它仅用于组态连接。

警告:绝对不要下载虚拟CPU的硬件。

图 01

2、组态连接

图 02

双方项目中都需要建立当前CPU到虚拟CPU的连接。

  • 打开"NetPro" 编辑器。
  • 选中SIMATIC H站的“CPU”区域。
  • 选中菜单项“InsertCPU > New Connection...”。
  • 选择虚拟CPU作为连接伙伴,连接类型选择“Fault-tolerant S7 connection”。
  • 在一个项目的连接属性对话框中,选择“Active connection establishment”,但另一个项目中不要选择此选项。
  • 如果需要的话修改本地ID号。示例中,CPU 1的本地ID是1,CPU 2的本地ID是2。

图03

图 04

  • 检查子网的“S7 subnetwork ID”以及这个站点的TSAP号。两个项目之间,双方项目中每个连接的这两参数都必须是相同的。

注意:由于这里使用了一个指定的S7连接,组态的TSAP号就确定了,不能更改。TSAP号由连接资源和机架/槽号组成。通讯的第一条连接的资源数是10,连接资源会随着后续连接继续增加。连接资源数机架号和槽号由硬件配置来定义,Rack 1对应的号是0,而Rack 2对应的号是2。槽号对应CPU所在的槽号。可以在S7连接的属性中设置子网ID。

如果多项目中的TSAP号不一致,操作如下:

  • 持续增加连接直到“连接资源”号一致
  • 删除所有为保证TSAP一致而增加的连接

图 05

3、增加数据传送程序

  • 双方项目中打开CFC。
  • 分别添加一个“SEND_R”和一个“REC_R”块。
  • 对每个块的“ID”管脚组态连接ID号。此例中,项目1是1,项目2是2。
  • 对功能块的“R_ID”输入管脚组态任意数值。这个数值在一对通讯块"SEND_R" 和"REC_R"上必须要一致。示例中,项目1的发送块和项目2的接收块的“R_ID”是6;项目1的接收块和项目2的发送块的“R_ID”是5。

注意:如果是F通信,R_ID只允许是奇数(内部使用2个ID:R_ID 和 R_ID + 1)

图 06

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2018-01-04,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 剑指工控 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档