如何实现ET200M模块的热插拔

在许多应用场合,项目需要PLC控制系统能够实现热插拔功能,所谓热插拔就是在系统通电运行状态下,进行硬件的更换和调整。

SIEMENS PLC控制系统关于热插拔功能的定义

ET200M的有源总线底板配置与说明

ET200M站"Module change during operation"(运行中更换模块)功能实现的说明

在S7-400系统中配置实现ET200M热插拔

在老款S7-300系统中配置实现ET200M热插拔

在新款S7-300系统中配置实现ET200M热插拔

SIEMENS PLC控制系统关于热插拔功能的定义

1.带电插拔模块时,确保不造成模块的硬件损坏;

2.带电插拔模块时,CPU不停机,并产生报警;

3.带电插拔模块时,该模块I/O通道的数值清零;该模块所在站点不会掉站,而其他模块的运行不受影响;

4.带电插拔模块时,CPU中触发中断组织块或通过DP诊断程序块,得到模块拔出或插入的事件信息,在用户程序或中断组织块OB**中进行相应控制逻辑和I/O通道的处理。

ET200M的有源总线底板配置与说明

ET200M是在工业现场经常使用的PROFIBUS DP分布式从站,一个ET200M从站一般由导轨(S7-300系列通用导轨)、IM153接口模块、若干块S7-300系列的模块(PS电源模块、I/O模块、CP通讯模块、FM功能模块)组成:

图1 ET200M常规配置

此配置的ET200M从站是不支持热插拔功能的。为了实现ET200M从站的热插拔功能,需要接口模块支持“运行期间更换模块”功能,下列型号接口模块可以支持:

同时需要使用有源底板,之前的U型连接器将不能使用,因为当插拔模块时使用U型连接器将会中断背板通讯。

非冗余系统的E200M热插拔功能站点配置:

图2 非冗余系统的E200M热插拔站点配置

ET200M站"Module change during operation"(运行中更换模块)功能实现的说明

"Module change during operation" (or "Insert/Remove module") 功能使得能够在系统运行过程中,在ET200M站上带电拔出或插入模板,即热插拔功能。

注意:
如果想知道模块是否支持热插拔功能,可以在STEP7的HW Config硬件组态窗口中的产品目录里选择对应模块,阅读窗口右下角对该模块功能的描述,或直接阅读"SIMATIC 分布式 I/O 设备 ET 200M"手册中第9章里的描述内容(点击获取手册下载链接 )。 

在S7-400系统中配置实现ET200M热插拔

如果采用S7-400 CPU或S7-400 CP作为DP主站,那么可以直接在IM153的属性窗口的"Operating Parameters"标签页里配置热插拔功能。 如图3所示:

图3 S7-400系统中配置实现ET200M热插拔

步骤1在STEP7的硬件组态窗口的PROFIBUS DP目录中选择相应IM153模块,可以看出该模块支持“module exchange in opration”(热插拔);
步骤2将IM153模块拖到PROFIBUS总线上;
步骤3选择I/O模块,插入到ET200M站的各个槽位中;
步骤4双击ET200M站,打开属性窗口,选中“Replace modules during operation“(热插拔)选项;
步骤5属性窗口中提供了ET200M站热插拔功能所需的有源总线导轨的订货号;
步骤6属性窗口中提供了该型号IM153,插入的I/O模块对应使用的有源总线底板的订货号;

除了以上的硬件组态之外,还要向S7-400中下载OB82、OB83、OB84、OB85、OB86、OB87、OB121、OB122等组织块。当ET200M从站上进行模块的热插拔时,中断组织块OB83 ,OB85,OB122被调用。

在老款S7-300系统中配置实现ET200M热插拔

如果采用老款S7-300 CPU ,那么只能够通过安装GSD文件(点击获取GSD下载链接 )的方式将IM153模块组态成DP从站,并双击IM153,打开它的属性窗口,进行设置来实现热插拔的全部功能。否则在STEP7的硬件组态窗口中直接将PROFIBUS DP目录ET200M文件夹下IM153模块挂在PROFIBUS总线上,如图4:

图4 老款S7-300系统中配置实现ET200M热插拔

从上图可以看出,当从右侧的PROFIBUS DP树型目录中将IM153-2模块拖到PROFIBUS总线上后,双击点开IM153的属性,“Repalce modules during operation”(热插拔功能)选项为灰色,所以在这种方式下,无法实现热插拔的全部功能,只能实现第1、2两条,不能实现第3、4条功能。

在新款S7-300系统中配置实现ET200M热插拔

新款的S7-300可以支持“Startup when expected/actual config. differ.”,如下图:

图5 新款S7-300系统中配置实现ET200M热插拔

此功能表示,当组态和实际不符时是否启动。如果选择此选项,当插拔模块时,可以实现热插拔定义的第3条功能。但是,在插拔模块时,其他模块通道的I/O会有瞬间的清零然后恢复;该站点瞬间掉站,然后恢复。所以仅以此功能,不能称为严格意义上的热插拔功能。

S7-300 CPU要实现热插拔的全部功能,必须通过GSD文件(点击获取GSD下载链接 ),在STEP7软件中导入GSD文件,然后在IM153模块的属性窗口中选择热插拔选项,如图6和图7所示:

图6 设置IM153-2模块的热插拔功能选项

图7 设置IM153-1模块的热插拔功能选项

注意,GSD文件有DPV0和DPV1之分。但是S7-300的组态时,只有用DPV0可以实现热插拔的功能(如上图),如果用DPV1组态只支持“Startup when expected/actual config. differ.”的功能, 如图8,这是因为 DPV1 "Insert/Remove module"功能,是通过OB83实现的,S7-300不支持OB83。S7-400使用DPV0 DPV1均可。

图8 使用ET200M GSD DPV1组态

如果采用CP342-5模块作为DP主站,那么可以直接在IM153的属性窗口的"Operating Parameters"标签页里配置热插拔功能。 如下图所示。同样如果使用GSD文件组态,要实现热插拔功能也必须使用DPV0。

图9 使用CP342-5模块作为DP主站配置

除了以上的硬件配置之外,还要向S7-300的CPU中下载OB82、OB86、OB121、OB122等组织块,才能保证当您在ET200M站上进行模块热插拔时,S7-300的CPU保持运行,而ET200M站上其他模块的工作不受影响。

如果在ET200M站中使用了参数化的模块(如FM354,CP340等非输入输出的模块),在DP主站通电初始化过程中会对这些模板进行参数化和配置。当您带电拔掉可参数化的模块,再插入后,模块原有的参数就会丢失。除非重新启动DP主站,在主站进行初始化过程中,对这些模块在进行一次参数化和配置,否则这类模块在被拔掉,再插入后,只能够以模块的默认参数运行。

相关资料下载链接

SIMATIC 分布式 I/O 设备 ET 200M

PROFIBUS GSD文件:ET 200M

如何将新的 PROFIBUS 或 PROFINET GSD 文件集成到 STEP 7 硬件配置中?