西门子S7-1200加入MRP 环网用法

2024-05-27 22:36

本文主要是介绍西门子S7-1200加入MRP 环网用法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

MRP(介质冗余)功能概述

SIMATIC 设备采用标准的冗余机制为 MRP(介质冗余协议),符合 IEC62439-2 标准,典型重新组态时间为 200ms,每个环网最多支持 50个设备。​博途TIA/WINCC社区VX群

​博途TIA/WINCC社区VX群

介质冗余作为 PROFINET 的一部分,并集成到所有 PROFINET 功能领域、控制或网络组件中。因此,MRP 是一个独立于制造商的协议,可以很容易地使用,而不需要任何额外的成本。

介质冗余网络结构具有以下优点:

  • 介质冗余结构显著提高了设备的可用性,因为单个设备的故障对通信没有影响。
  • 所需的维修工作可以在没有任何时间压力的情况下进行,因为维修过程中工厂不需要停机。
  • 在发生网络故障时,可以进行快速的网络诊断并加快故障排除。
  • 一旦发生故障,由于生产停顿而造成的成本就会降低。

组态MRP环网规则:

  • 所有环节点必须支持 MRP,并且必须启用 MRP 协议。
  • 所有设备必须通过环网端口进行互连。
  • 环网中的所有设备属于同一冗余域。
  • 在一个环网中,最多可连接 50 台设备,否则重组时间会超过 200ms。
  • 环网中的某个设备可用作冗余管理器,其它设备均为冗余客户端。
  • 环内的所有伙伴端口具有相同的设置。

S7-1200 组态介质冗余的硬件需求

  • 必须具有 2 个端口的 CPU(1215、1217),并且固件版本在 V4.2 及以上。
  • 固件版本 V4.2-V4.4 S7-1200 CPU 仅支持 MRP 客户端功能,不能作为 MRP 管理器,所以需要 MRP 域中至少有一个设备支持 MRP 管理器,比如 SCALANCE X 系列管理型交换机或是S7-1500 CPU等设备。
  • 固件版本 V4.5 及以上 S7-1200 CPU 支持 MRP 管理器和客户端功能。

S7-1200 介质冗余实验环境

在本应用实例中,通过以下产品进行介质冗余组态。

图 1.MRP 环网

软件:

  • TIA Portal V17

硬件:

  • CPU 1217C DC/DC/DC V4.5
  • SCALANCE X204 IRT V5.3
  • ET200SP IM 155-6 PN HF V4.2
  • CPU 1215C DC/DC/DC V4.5

分配设备角色及地址:

表 1 给出了每个模块的角色、使用端口、设备名称以及地址。

表1 设备角色及地址

S7-1200 介质冗余功能组态

STEP 1:创建 TIA Portal 项目并进行网络组态

使用 TIA V17 创建一个新项目,进入网络视图添加表 1 列出的设备,并进入以太网地址选项分别设置子网、IP 地址以及设备名称,如图 2 所示为 ET200SP 设置 IP。

将 CPU 1217C 作为 IO 控制器分配给其它IO设备,CPU 1215C 作为单独控制器,如图 3 所示。

图 2.ET200SP 组态 IP

图 3.组态网络

STEP 2:创建拓扑(非必须)

在拓扑视图中根据表 2 连接各模块对应的端口。

虽然拓扑组态不是 MRP 正常工作的必要条件,但组态拓扑有助于在出现故障时进行故障排除。

表2. 伙伴端口

图 4.MRP 拓扑组态

STEP 3:分配设备名称

所有 PROFINET 设备都需要一个设备名称,这里通过 TIA 为每个 IO 设备分配表1中列出的设备名称。如图 5 所示。

STEP 4:设置 IO 周期

MRP 的重组时间为 200ms, 因此 PROFINET 通信必须选择大于 200ms 的看门狗时间,看门狗时间不是直接配置的,而是作为没有 IO 数据可接受的更新周期,也就是允许几个周期没有数据更新,默认是 3 个周期,超出设置的周期数就会报 IO 设备故障。本示例通过修改更新周期数来达到大于 200ms 的看门狗时间的要求(看门狗时间=可接受更新周期数*更新时间),这里修改为 120,这样看门狗时间将达到 2ms*120=240ms。如图 6 所示。

图 6.设置 IO 周期

STEP 5:进入 MRP 域管理视图

可以通过下面两种方式进入域管理视图。

方法1:通过高亮显示同步域,然后单击同步域网络即可进入域管理。如图 7 所示。

方法2:进入环网任意设备的介质冗余配置界面,然后选择域设置即可进入域管理。如图 8 所示。

图 7.高亮显示同步域

STEP 6:MRP 域管理

域管理视图可以选择所属 MRP 域,并可以对域名称进行重命名,这里选择默认 MRP 域,还可以对设备的 MRP 角色以及环网端口进行分配,这里根据表 1 来分配 MRP 角色及环网端口,如图 9 所示。

图 9. MRP 域管理

STEP 7:项目编译下载

编译下载程序后进入在线拓扑视图查看设备状态是否正常。

常见问题

1. 如何诊断环网状态?

诊断环网状态可以使用下面三种方法。

方法 1:勾选 MRP 诊断中断功能,当环网端口上的接线或端口错误以及环网断开会生成一个诊断中断。如图 10 所示。

图 11.拓扑视图

方法 3:如果环网中有交换机并且作为管理器,可以通过交换机上 RM 指示灯来判断环网状态,如表 3 所示。

表 3.交换机指示灯

2. 组态 MRP 需要组态拓扑视图吗?

拓扑组态不是 MRP 正常工作的必要条件,但组态拓扑有助于在出现故障时进行故障排除。

3. 可以不把交换机组态到项目中吗?

交换机作为客户端:可以不把交换机组态到项目中,只需在交换机相应端口配置为客户端,如图 12 所示。

交换机作为管理器:TIA V15.1 以下版本必须把交换机组态到项目中,TIA V15.1 及以上在域管理视图添加了冗余管理器不在项目内选项,允许管理器不在项目内,编译程序只会提示必须组态管理员的警告,这样就需要进入交换机配置界面进行冗余环网的配置,如下图 13 - 15 所示。注意如果项目中不组态交换机就不能再配置拓扑了,不然会报伙伴端口错误。

图 13.配置冗余管理器不在项目内

  • 西门子TIA博途SCL学习
  • 1.西门子PLC用TIA博途SCL语言写的一个产生随机实数的指令块(学习1)
  • 2.TIA博途SCL编程学习2_sin(x)
  • 3.TIA博途SCL编程学习3_两个数的计算器
  • 4.TIA博途SCL编程学习4_选择法排序
  • 5.TIA博途SCL编程学习5_一串数字的加法
  • 6.TIA博途SCL编程学习6_数组逆序
  • 7.西门子TIA博途S7-1200/1500学习7间接寻址指令PEEK的使用
  • 8.TIA博途SCL编程学习8_计算N天后的日期
  • 9.TIA博途SCL编程学习9_百鸡百钱
  • 10.TIA博途SCL编程学习10_字符串日期转换成DATE数据类型
  • 11.TIA博途SCL编程学习11_多条件与运算
  • 12.TIA博途SCL编程学习12_数组求和两种算法比较
  • 13.TIA博途SCL编程学习13_电机正反转加点动
  • 14.TIA博途SCL编程学习14_填表格
  • 15.TIA博途SCL编程学习15_素数判断
  • 16.TIA博途SCL编程学习16_歌德巴赫猜想验证
  • 17.TIA博途SCL编程学习17_选择法排序
  • 18.TIA博途SCL编程学习19_分数段人数统计
  • 19.TIA博途SCL编程学习19_分数段人数统计
  • 20.TIA博途SCL编程学习20_换钱
  • 21.TIA博途SCL编程学习21_4个数字中的3个数字的排列组合
  • 22.TIA博途SCL编程学习22_奖金计算
  • 23.TIA博途SCL编程学习23_求最大公约数和最小公倍数
  • 24.TIA博途SCL编程学习24_一串数字的加法
  • 25.TIA博途SCL编程学习25_找出1-1000之间的完数
  • 26.TIA博途SCL编程学习26_小球反弹高度
  • 27.TIA博途SCL编程学习27_猴子吃桃
  • 28.TIA博途SCL编程学习28_一个分数序列加法
  • 29.TIA博途SCL编程学习29_五位数分解
  • 30.TIA博途SCL编程学习30_捡鸡蛋
  • 31.TIA博途SCL编程学习31_HelloWorld
  • 32.TIA博途SCL编程学习32_幂
  • 33.TIA博途SCL编程学习33_水仙花数
  • 34.TIA博途SCL编程学习34_完数
  • 35.TIA博途SCL编程学习35_另类比大小
  • 36.TIA博途SCL编程学习36_自然数反转
  • 37.TIA博途SCL编程学习37_数字加密
  • 38.TIA博途SCL编程学习38_三种方法求最大公约数
  • 39.TIA博途SCL编程学习39_友好数
  • 40.TIA博途SCL编程学习40_平方回文数
  • 41.TIA博途SCL编程学习40_斐波那契数列
  • 42.TIA博途SCL编程学习41_大数乘法
  • 43.TIA博途SCL编程学习42_三位数的组合
  • 44.TIA博途SCL编程学习43_新娘和新郎
  • 45.TIA博途SCL编程学习44_韩信点兵
  • 46.TIA博途SCL编程学习45_过桥问题
  • 47.TIA博途SCL编程学习46_分鱼问题
  • 48.TIA博途SCL编程学习47_跳跃游戏
  • 49.TIA博途SCL编程学习47_狼追兔子
  • 50.TIA博途SCL编程学习50_扑克牌顺子判断
  • 51.TIA博途SCL编程学习51_邮票组合
  • 52.博途SCL编程实例泵顺启逆停的状态机
  • 53.TIA博途SCL编程学习52_邮票组合抓捕交通肇事犯
  • 54.TIA博途SCL编程学习53_求车速
  • 55.TIA博途SCL编程学习54_公式法计算圆周率(Π的近似值)
  • WinCC中的画面模板应用实例及其组态实现方法
  • 罗克韦尔AB软件学习视频下载
  • WinCC 输入/输出域没有所需要的预定义输出格式该怎么办?
  • 在WinCC中如何使用VBS读取变量归档数据到EXCEL
  • 西门子S7-1500作为智能设备共享功能
  • WinCC冗余项目使用
  • 西门子WINCC与S7-1500R通信方法
  • 博途WINCC公共弹窗
  • 西门子WINCC应用C脚本数学运算

西门子精简面板和精智面板与S7-1200/1500PLC时间同步功能
西门子精智面板Sm@rtServer功能的使用
在STEP 7 (TIA Portal) 中,如何实现流量累积功能?
如果你会WINCC却不懂WinCC Audit审计追踪

这篇关于西门子S7-1200加入MRP 环网用法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1008782

相关文章

CSS place-items: center解析与用法详解

《CSSplace-items:center解析与用法详解》place-items:center;是一个强大的CSS简写属性,用于同时控制网格(Grid)和弹性盒(Flexbox)... place-items: center; 是一个强大的 css 简写属性,用于同时控制 网格(Grid) 和 弹性盒(F

mysql中insert into的基本用法和一些示例

《mysql中insertinto的基本用法和一些示例》INSERTINTO用于向MySQL表插入新行,支持单行/多行及部分列插入,下面给大家介绍mysql中insertinto的基本用法和一些示例... 目录基本语法插入单行数据插入多行数据插入部分列的数据插入默认值注意事项在mysql中,INSERT I

mapstruct中的@Mapper注解的基本用法

《mapstruct中的@Mapper注解的基本用法》在MapStruct中,@Mapper注解是核心注解之一,用于标记一个接口或抽象类为MapStruct的映射器(Mapper),本文给大家介绍ma... 目录1. 基本用法2. 常用属性3. 高级用法4. 注意事项5. 总结6. 编译异常处理在MapSt

java中long的一些常见用法

《java中long的一些常见用法》在Java中,long是一种基本数据类型,用于表示长整型数值,接下来通过本文给大家介绍java中long的一些常见用法,感兴趣的朋友一起看看吧... 在Java中,long是一种基本数据类型,用于表示长整型数值。它的取值范围比int更大,从-922337203685477

MyBatis ResultMap 的基本用法示例详解

《MyBatisResultMap的基本用法示例详解》在MyBatis中,resultMap用于定义数据库查询结果到Java对象属性的映射关系,本文给大家介绍MyBatisResultMap的基本... 目录MyBATis 中的 resultMap1. resultMap 的基本语法2. 简单的 resul

Python主动抛出异常的各种用法和场景分析

《Python主动抛出异常的各种用法和场景分析》在Python中,我们不仅可以捕获和处理异常,还可以主动抛出异常,也就是以类的方式自定义错误的类型和提示信息,这在编程中非常有用,下面我将详细解释主动抛... 目录一、为什么要主动抛出异常?二、基本语法:raise关键字基本示例三、raise的多种用法1. 抛

java中Optional的核心用法和最佳实践

《java中Optional的核心用法和最佳实践》Java8中Optional用于处理可能为null的值,减少空指针异常,:本文主要介绍java中Optional核心用法和最佳实践的相关资料,文中... 目录前言1. 创建 Optional 对象1.1 常规创建方式2. 访问 Optional 中的值2.1

git stash命令基本用法详解

《gitstash命令基本用法详解》gitstash是Git中一个非常有用的命令,它可以临时保存当前工作区的修改,让你可以切换到其他分支或者处理其他任务,而不需要提交这些还未完成的修改,这篇文章主要... 目录一、基本用法1. 保存当前修改(包括暂存区和工作区的内容)2. 查看保存了哪些 stash3. 恢

Python struct.unpack() 用法及常见错误详解

《Pythonstruct.unpack()用法及常见错误详解》struct.unpack()是Python中用于将二进制数据(字节序列)解析为Python数据类型的函数,通常与struct.pa... 目录一、函数语法二、格式字符串详解三、使用示例示例 1:解析整数和浮点数示例 2:解析字符串示例 3:解

C++/类与对象/默认成员函数@构造函数的用法

《C++/类与对象/默认成员函数@构造函数的用法》:本文主要介绍C++/类与对象/默认成员函数@构造函数的用法,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录名词概念默认成员函数构造函数概念函数特征显示构造函数隐式构造函数总结名词概念默认构造函数:不用传参就可以