您好,欢迎访问泰安宏盛自动化科技有限公司!
20年专注工控自动化研发制造 系统设计\制作\安装一条龙服务
全国咨询热线:18605386049
当前位置: 首页 > 技术资料 > 程序案例

S7-1200G2共享设备

作者:admin 时间:2026-06-29 10:00:00 点击:

     我们主要围绕电气自动化(Codesys,西门子,汇川)、工业机器人开发(ROS2、ROS-Control、Moveit2、ROS-Industrial)、图像算法(传统算法(Opencv),深度学习)这三大方向进行工业自动化全栈式技术分享。文章特点:通俗易懂、深入浅出。各章节地址详见账号精选置顶。(注!文章大部分内容来自于官方文档的整理和理解,旨在方便大家快速应用)

S7-1200 G2 CPU支持共享设备(Shared Device)功能,可与最多 2 个PROFINET IO 控制器连接。

场景一:IO 控制器与充当智能共享设备的 CPU 在同一个 TIA 项目内组态;

图1. IO 控制器和共享设备的CPU 在一个项目中

场景二:IO 控制器与智能共享设备分属两套独立项目,先在共享设备工程中将 CPU 组态为智能设备并导出 GSD 文件,再分别在两套控制器项目里导入该 GSD,最后把智能设备分配给上位 IO 控制器完成通讯搭建。

图2.IO 控制器和作为智能共享设备的CPU 不在一个项目中

1

硬件软件清单与设备参数

硬件型号

    1、S7-1214C DC/DC/DC V4.1(一号 IO 控制器)
    2、S7-1212C DC/DC/RLY V4.1(共享智能设备)
    3、S7-1516F-3 PN/DP V4.1(二号 IO 控制器)

软件环境

    TIA Portal STEP7 V21

各站点 IP 与设备名称对照表

CPU 型号
设备角色
设备名称
IP 地址
子网掩码
CPU1212C
共享设备
shared-device
192.168.0.212
255.255.255.0
CPU1214C
IO 控制器 1
Controller1
192.168.0.214
255.255.255.0
CPU1516F-3 PN/DP
IO 控制器 2
Controller2
192.168.0.16
255.255.255.0

2

IO 控制器、共享智能设备统一在单个项目内组态

2.1 共享设备 CPU1212C 基础配置

(1)、新建 TIA 项目,插入 CPU1212C,进入设备视图,设置网口 IP 为 192.168.0.212、子网掩码 255.255.255.0,设备名称填写 shared-device。

图3. 添加 CPU 1212C 并设置 IP和设备名称

(2)、开启 IO 设备工作模式:点开 CPU 以太网接口属性巡视窗口,依次打开「常规 - 操作模式」,勾选启用 IO 设备功能。

图 4 .使能操作模式

(3)、新建通讯传输区:在同一操作模式页面进入「智能设备通信」,新增 4 组传输区域,两组用于和 Controller1 交互(recive_from_controller1、send_to_controller1),另外两组用于和 Controller2 交互(recive_from_controller2、send_to_controller2),自定义每块区域的本地地址与数据长度。

图5.配置共享设备传输区域

2.2 IO 控制器 1(CPU1214C)组态

在当前总项目中添加 CPU1214C,新建 PROFINET 子网,配置网口 IP192.168.0.214,设备名称 Controller1。

图6. 添加 CPU 1214C 并设置 IP 和设备名称

2.3 IO 控制器 2(CPU1516F)组态

         添加 IO 控制器 2 (CPU 1516F-3 PN/DP)

         在当前项目中,添加 CPU1516F-3 PN/DP CPU。在设备视图中,为 CPU1516F-3 PN/DP 以太网接口添加子网,设置 IP 地址 (192.168.0.16)、子网掩码(255.255.255.0)和设备名称“controlLer2”,如图 7 所示。

图 7. 添加 CPU1516F-3 PN/DP 并设置 IP 和设备名称

2.4 共享设备分配双控制器并绑定通讯地址

(1)、切换至网络视图,右键 shared-device 共享设备,选择「分配给新 DP 主站 / IO 控制器」;

图8.将共享设备分配给新的DP主站/IO控制器

(2)、在弹窗内同时勾选 controller1.PROFINET interface_1、controller2.PROFINET interface_1,分配完成后共享设备图标左下角会显示多重分配标识;

图9. 选择IO 控制器

(3)、绑定传输区对应控制器与 IO 地址:回到 CPU1212C 以太网接口 - 智能设备通信界面,分别为 4 组传输区指定访问控制器。recive_from_controller1、send_to_controller1 分配给 Controller1;recive_from_controller2、send_to_controller2 分配给 Controller2。地址对应规则:Controller1 侧 QB100~QB199 发送数据,对应共享设备 IB100~IB199 接收;Controller1 侧 IB100~IB199 接收数据,对应共享设备 QB100~QB199 发送。Controller2 侧 QB100~QB199 发送数据,对应共享设备 IB200~IB299 接收;Controller2 侧 IB100~IB199 接收数据,对应共享设备 QB200~QB299 发送。

2.5 通讯功能验证

分别将三套 CPU 的硬件组态与程序下载至对应实体控制器,PROFINET IO 通讯链路自动建立。打开监控表添加全部传输区地址,对 Q 输出区写入数值,查看两侧收发区数据完全一致即代表通讯正常。

图 11. 通信测试

独立设备间数据共享
1.单独新建项目组态共享设备 CPU1212C

(1)、新建独立工程,添加 CPU1212C,设置 IP192.168.0.212、设备名称 shared-device;

图12. 添加 CPU 1212C 并设置 IP和设备名称

(2)、以太网接口属性「常规 - 操作模式」启用 IO 设备模式;

图 13 .使能操作模式

(3)、进入智能设备通信界面,创建 4 组对应两个控制器的传输区;“recive_from_controller1”和“send_to_controller1”将用于与“controller1” 通信;“recive_from_controller2”和“send_to_controller2”将用于与“controller2” 通信。

图14.配置共享设备传输区域

(4)、实时参数设置:在操作模式 - 实时设定的 Shared Device 选项中,将可访问该设备的 IO 控制器数量改为 2;

图 15. 设置访问共享设备的 IO 控制器的数量

(5)、导出 GSD 文件:编译硬件无误后,在智能设备通信页面底部点击导出,保存生成的 GSD 文件,用于后续控制器项目调用。

图16. 导出共享设备 GSD 文件

2 .独立项目组态 IO 控制器 1(CPU1214C)

新建单独项目 Controller1,添加 CPU1214C,配置子网 IP192.168.0.214,设备名称 Controller1;

图 17. 添加 CPU 1214C 并设置 IP 和设备名称

(2)、导入 GSD 库:顶部菜单栏「选项 - 管理通用站描述文件」,选中刚才导出的 GSD 完成安装;

图 18 导入共享设备 GSD 文件

(3)、挂载共享设备:硬件目录路径「其他现场设备 - PROFINET IO-PLCs & CPs-SIEMENS AG」找到共享设备,拖拽至网络视图并绑定到 CPU1214C 的 PN 接口,设备名称必须和共享设备统一填写 shared-device;

图 19.添加共享设备

注意

添加共享设备的 GSD 文件的设备名称需要跟共享设备 CPU 1212C 的设备名称保持一致,CPU1212C 设备名称为“shared-device”,此处需要设置一致。

(4)、分配传输区访问权限与 IO 地址:打开共享设备属性「常规 - Shared Device」,权限分配表中 recive_from_controller1、send_to_controller1 勾选 Controller1,另外两组传输区权限设为项目外。在设备概览分配 IO 地址,Controller1 发送 QB100~QB199 对应共享设备 IB100~IB199,Controller1 接收 IB100~IB199 对应共享设备 QB100~QB199。

图 21 配置访问区权限和 IO 地址

注意

确保共享设备的一个传输区只有一个 IO 控制器具有访问权,如果传输区在一个 IO 控制器中设置了访问权,则必须在另一个 IO 控制器中设置访问权“项目外”,反之亦然。

3.独立项目组态 IO 控制器 2(CPU1516F)

(1)、新建独立项目 Controller2,添加 CPU1516F,配置 IP192.168.0.16、设备名称 Controller2;

图 22. 添加 CPU1516F-3 PN/DP 并设置 IP 和设备名称

(2)、GSD 导入、添加共享设备操作步骤和控制器 1 完全一致;

(3)、分配传输区权限:recive_from_controller2、send_to_controller2 分配给 Controller2,另外两组传输区权限设为项目外;

(4)、IO 地址匹配:Controller2 发送 QB100~QB199 对应共享设备 IB200~IB299,Controller2 接收 IB100~IB199 对应共享设备 QB200~QB299。

图 23. 配置访问区权限和 IO 地址

     1 . “recive_from_controller2”和“send_to_controller2”是由“controller2”访问,因此在访问栏中选择“controller2”;“recive_from_controller1”和“send_to_controller1”是由“controller1”访问,因此在访问栏中选择“项目外”。

     2.在“设备概览”中,为共享设备中可被 “controller2” 访问的传输区分配 IO 地址。本例中 “controller2”使用 QB100~QB199 作为数据发送区,该地址对应共享设备 CPU 1212C 侧的数据接收区为 IB200~IB299;“controller2”使用 IB100~IB199 作为数据接收区,该地址对应共享设备 CPU 1212C 侧的数据发送区为 QB200~QB299。

3.4 跨项目通讯测试

分别下载共享设备、控制器 1、控制器 2 三套独立项目至对应 CPU,PROFINET IO 链路自动连通。打开监控表对输出区赋值,核对两端收发数据同步,即可确认跨项目 Shared Device 通讯运行正常。

图 24. 通信测试

ABOUT壹周的技术栈

QQ在线咨询
联系电话
18605386049
售后服务
18605386049