SIEMENS PLC系统中热插拔功能的应用与说明
在许多应用场合,我们需要PLC控制系统能够实现热插拔功能,所谓热插拔就是在系统通电运行状态下,进行硬件的更换和调整。
1. SIEMENS PLC控制系统关于热插拔功能的定义:
1.带电插拔模块时,确保不造成模块的硬件损坏;2.带电插拔模块时,CPU不停机,并产生报警;3.带电插拔模块时,该模块I/O通道的数值清零;该模块所在站点不会掉站,而其他模块的运行不受影响;4.带电插拔模块时,CPU中触发中断组织块或通过DP诊断程序块,得到模块拔出或插入的事件信息,在用户程序或中断组织块OB**中进行相应控制逻辑和I/O通道的处理;
2.SIEMENS的PLC控制系统对热拔插的支持:
√ S7-200系列PLC不支持热插拔功能;
√ S7-300 CPU直接带I/O模块的方式不支持热插拔;
√ S7-300作为PROFIBUS DP主站下挂DP从站ET200M、ET200S、ET200iS,支持热插拔功能; (需要使用有源总线底板,如下说明)
注: 采用S7-300作为主站的软冗余系统无法实现热插拔全部功能,不具备以上所列第3,4条目中的全部功能。当您将ET200M从站上的模块拔出时,CPU不停机,主CPU、备用CPU上的SF灯亮,BUSF灯闪烁,ET200M从站上的2块IM153-2模块的SF灯亮,BF灯闪烁,该ET200M从站上所有模块的I/O值被清0,S7-300主站失去对该ET200M从站的控制能力。当您再次将模块插入到ET200M站上时,系统从主CPU切换到备用CPU,SF、BUSF、BF灯熄灭,软冗余系统重新回到正常运行状态。(新CPU支持“Startup when expected/actual config. differ.”功能,功能见下文;软冗余系统不支持使用GSD文件组态ET200M站点)
若要在软冗余系统中实现热插拔的全部4项功能,您必须使用S7-400作为软冗余系统的主站。
√ S7-400作为PROFIBUS DP主站下挂DP从站ET200M、ET200S、ET200iS,支持热插拔功能; (需要使用有源总线底板,如下说明)
√ S7-400 CPU直接带I/O模块的方式支持热插拔。
S7-400系统由于很好的电磁兼容性和抗冲击、耐震动性能,因而能最大限度的满足各种工业标准,模板能够带电插、拔,当S7-400机架上插入或取出模板时,都会在CPU中产生一个中断信息,供客户在用户程序中对模板更换的动作进行相应的处理。
3.ET200M的有源总线底板配置与说明:
ET200M是在工业现场经常使用的PROFIBUS DP分布式从站,一个ET200M从站一般由导轨(S7-300系列通用导轨)、IM153接口模块、若干块S7-300系列的模块(PS电源模块、I/O模块、CP通讯模块、FM功能模块)组成:
这样的ET200M从站是不支持热插拔功能的。为了实现ET200M从站的热插拔功能,我们需要对ET200M的硬件配置进行一些调整,通用导轨更换成带有有源总线模板的导轨,下图向您展示了1个有源总线导轨和5个有源总线模板组装后的情形:
硬件要求:
使用普通的S7-300导轨和U型总线连接器是不能实现热插拔功能的,您必须购买有源总线底板,才能实现该功能。另外,您在配置时,必须使用MLFB 6ES7 153-1AA02-0XB0版本以上的接口模块,因为它支持DP协议的DPV1版本,而MLFB IM153-1AA00-0XB0模块是不支持该功能的。目前您能够购买到的IM153接口模块都支持热插拔,只有以前的IM153接口模块不支持热插拔。
注意:
如果想知道您的模块是否支持热插拔功能,您可以在STEP7的HW Config硬件组态窗口中的产品目录里选择对应模块,阅读窗口右下角对该模块功能的描述,或直接阅读"SIMATIC Distributed Peripheral Deviced ET 200M"手册中第9章里的描述内容。
软件要求 :您必须在STEP7 5.1版本以上进行配置;
如果您采用S7-400 CPU或S7-400 CP作为DP主站,那么您可以直接在IM153的属性窗口的"Operating Parameters"标签页里配置热插拔功能。 如下图所示:
STEP1:在STEP7的硬件组态窗口的PROFIBUS DP目录中选择相应IM153模块,可以看出该模块支持“module exchange in opration”(热插拔);
STEP2:将IM153模块拖到PROFIBUS总线上;
STEP3:选择I/O模块,插入到ET200M站的各个槽位中;
STEP4:双击ET200M站,打开属性窗口,选中“Replace modules during operation“(热插拔)选项;
STEP5:属性窗口中提供了ET200M站热插拔功能所需的有源总线导轨的订货号;
STEP6:属性窗口中提供了该型号IM153,插入的I/O模块对应使用的有源总线底板的订货号;
除了以上的硬件组态之外,还要向S7-400中下载OB82、OB83、OB84、OB85、OB86、OB87、OB121、OB122等组织块。当ET200M从站上进行模块的热插拔时,中断组织块OB83 ,OB85,OB122被调用。
如果您采用老款S7-300 CPU ,那么您只能够通过安装GSD文件的方式将IM153模块组态成DP从站,并双击IM153,打开它的属性窗口,进行设置来实现热插拔的全部功能。否则您在STEP7的硬件组态窗口中直接将PROFIBUS DP目录ET200M文件夹下IM153模块挂在PROFIBUS总线上,如下图:
从上图可以看出,当你从右侧的PROFIBUS DP树型目录中将IM153-2模块拖到PROFIBUS总线上后,双击点开IM153的属性,“Repalce modules during operation”(热插拔功能)选项为灰色,所以在这种方式下,无法实现热插拔的全部功能,只能实现第1、2两条,不能实现第3、4条功能。
新款的S7-300可以支持“Startup when expected/actual config. differ.”,如下图:
此功能表示,当组态和实际不符时是否启动。如果选择此选项,当插拔模块时,可以实现热插拔定义的第3条功能。但是,在插拔模块时,其他模块通道的I/O会有瞬间的清零然后恢复;该站点瞬间掉站,然后恢复。所以仅以此功能,不能称为严格意义上的热插拔功能。
S7-300 CPU要实现热插拔的全部功能,必须通过GSD文件。首先下载IM153的GSD或GSE文件,在STEP7软件中导入该文件,再在IM153模块的属性窗口中选择热插拔选项,如下图所示:
添加IM153-2模块到PROFIBUS总线上,设置热插拔选项
设置IM153-1模块的热插拔功能选项
注意,GSD文件有DPV0和DPV1之分。但是S7-300的组态时,只有用DPV0可以实现热插拔的功能(如上图),如果用DPV1组态只支持“Startup when expected/actual config. differ.”的功能, 如下图,这是因为 DPV1 "Insert/Remove module"功能,是通过OB83实现的,S7-300不支持OB83。S7-400使用DPV0 DPV1均可。
如果您采用CP342-5模块作为DP主站,那么您可以直接在IM153的属性窗口的"Operating Parameters"标签页里配置热插拔功能。 如下图所示。同样如果使用GSD文件组态,要实现热插拔功能也必须使用DPV0。
除了以上的硬件配置之外,还要向S7-300的CPU中下载OB82、OB86、OB121、OB122等组织块,才能保证当您在ET200M站上进行模块热插拔时,S7-300的CPU保持运行,而ET200M站上其他模块的工作不受影响。同时,当您进行ET200M站上模块的拔出或插入,系统都会调用OB82、OB86,您可以获取OB86和OB82中的参数返回值,得知什么时间是哪一个主站下的哪一个从站上的模块被插拔, 您可以根据系统控制逻辑的需要,在组织块OB82,OB86中编写用户程序,调整I、O的数值,确保进行模块热插拔时,生产机构处于安全运行状态。
您可以在S7-300的用户程序中循环调用SFC13(DP总线诊断功能块),不断获取DP网络的诊断信息,当ET200M从站上进行模块的热插拔时,可以从SFC13的返回数据(在DB块中)获取插拔模块的信息,在用户程序中对返回的诊断信息进行判断、评估后,进行相应的逻辑控制和I/O处理,使生产机构处于安全运行状态;
如果您在ET200M站中使用了参数化的模块(如FM354,CP340等非输入输出的模块),在DP主站通电初始化过程中会对这些模板进行参数化和配置。当您带电拔掉可参数化的模块,再插入后,模块原有的参数就会丢失。除非重新启动DP主站,在主站进行初始化过程中,对这些模块在进行一次参数化和配置,否则这类模块在被拔掉,再插入后,只能够以它的默认参数运行。
如果您期望能侦测到系统中存在一个新的需要进行参数化的模块 ,您必须对模块的状态进行分析,可以通过调用诊断系统功能块SFC13 "DPNRM_DG"来实现,在S7-300/400系统软件手册中的16章4节里说明了该SFC13的用法。ET200M的手册中,在6.4.6节中说明了ET200M从站里模板状态信息的内容和分配。
当你在程序中获知是哪一块模块需要进行新的参数化后,您可以通过调用系统功能SFC56 "WR_DPARM",将CPU中保存的参数信息写入到刚刚被插入到ET200站上的模块,可以在S7-300/400系统软件手册中的7章5节里获取SFC56的用法。
ADM3066E支持完全热插拔,可实现无毛刺的PLC模块插入
简介
通常采用RS-485接口的工业自动化可编程逻辑控制器(PLC)通信端口可能因为模块热插入PLC机架而遭受静电放电(ESD)冲击和通信错误。这些危险条件可能会妨害数据通信,或是对RS-485接口造成永久性损伤。
RS-485规定为多点标准,意味着可在同一总线上最多连接32个收发器,并且其中的任一收发器均可将信号驱动到RS-485总线上。部分收发器,比如ADM3066E,可支持多达128个总线节点。多点系统支持完全热插拔非常重要,因为这有助于确保在任何时候仅有一个RS-485驱动器处于有效状态。如果RS-485总线上有多个驱动器处于有效状态,则会存在总线争用情况,这可能导致数据错误。
ADM3066E完全热插拔功能旨在解决因意外使能RS-485收发器而导致的总线竞争问题。RS-485收发器可能由于电源或接地端与RS-485驱动器和接收器使能输入发生电容耦合而意外使能。RS-485收发器也可能由于相邻微控制器的漏电流导致驱动器和接收器使能输入中产生漂移而使能。
PLC模块通信用裸露RS-485连接器和线缆上的ESD是一种常见现象。可编程控制器的系统级IEC 61131-2标准要求最低±6 kV(接触)和±8 kV(空气)的IEC 61000-4-2 ESD保护。 ADM3066E超过了这一要求,提供±12 kV(接触)和±12 kV(空气)的IEC 61000-4-2 ESD保护。
图1.将具有RS-485通信端口的模块2添加到通电的工业PLC总线
完全热插拔支持 无毛刺上电和掉电
将一个模块或一片印刷电路板插入带电(或热)背板时,对数据总线的差分干扰可能导致数据错误。在此期间,处理器逻辑输出驱动器为高阻抗,无法将RS-485收发器的DE和RE输入驱动到规定的逻辑电平。
如图2所示,处理器逻辑驱动器高阻抗状态的漏电流最高可达±100 μA,可能导致标准互补金属氧化物半导体(CMOS)使能收发器的DE输入和RE输入,使其漂移到错误的逻辑电平。此外,如图3所示,电路板寄生电容可能导致VCC引脚或GND引脚耦合到使能输入。若无热插拔能力,这些因素可能会不当地使能收发器的驱动器或接收器。为防止不当使能驱动器或接收器,ADM3066E集成了热插拔电路。这一热插拔电路可确保VCC上升时,内部下拉电路将DE引脚保持在低电平以及将RE引脚保持在高电平。在此配置中,驱动器和接收器被禁用的时间都很短。初始上电序列结束后,下拉电路变得透明,复位支持热插拔的输入。
图2.三态漏电流可将逻辑引脚驱动到错误的电平
图3.寄生电容可将逻辑引脚驱动到错误的电平
全面的热插拔支持
表1列出了用于测试ADM3066E热插拔功能的输入和输出引脚状态组合。将ADM3066E电路板插入带电(或热)背板时,表1中列出的任一测试条件均可行。由于ADM3066E具有一个低压逻辑电源VIO和一个VCC电源引脚,可能会出现不同的电源时序和条件。
ADM3066E的A输出端和B输出端在上电期间仍处于高阻抗状态,随后默认处于表1中所述的状态。例如,在DE引脚和DI引脚都被拉至高电平的情况下,如果VIO和VCC同时上电且RE引脚被拉至低电平,则在A引脚确定处于预期默认的高电平且B引脚确定处于预期的默认低电平之前,A输出端和B输出端将仍然处于高阻抗状态。
表1.输入和输出引脚状态组合
强劲的IEC61000-4-2 ESD保护 ADM3066E系统级解决方案
图4所示为IEC 61000-4-2标准中的8 kV接触放电电流波形与人体模型(HBM) ESD 8 kV波形的对比。从图4中可以看出,两个标准规定的波形形状和峰值电流差异很大。与IEC 61000-4-2 8 kV脉冲关联的峰值电流为30 A,相应的HBM ESD峰值电流比该数值的五分之一还小,为5.33A。另一差异为初始电压尖峰的上升时间,对于IEC 61000-4-2 ESD,上升时间为1 ns,相较于与HBM ESD波形关联的10 ns时间要快得多。与IEC ESD波形关联的功率值显著大于IEC 61000-4-2 ESD波形的相应值。HBM ESD标准要求待测设备经受3次正放电和3次负放电,而IEC 61000-4-2 ESD标准则要求10次正放电和10次负放电测试。
与规定了多个HBM ESD保护级别的其他RS-485收发器相比,具有IEC 61000-4-2 ESD额定值的ADM3066E适合在恶劣环境中工作。
图4.IEC 61000-4-2 ESD波形(+8 kV)与HBM ESD波形(+8 kV)的对比
相关问答
西门子s7-300plc程序卡怎么正确插拔?
要拿下S7-300PLC卡,首先需要确保断开电源并遵循安全操作规程。然后,打开PLC机箱,找到PLC卡所在的插槽。使用螺丝刀或其他适当工具,轻轻松开PLC卡上的固定螺...
三菱PLC带电热插拔通讯线会坏吗?
经验告诉你我热插拔不会造成通讯线损坏,只要插拔不把针脚弄坏就行经验告诉你我热插拔不会造成通讯线损坏,只要插拔不把针脚弄坏就行
西门子PLC200通讯口COM0/COM1支持热插拔吗?
不支持。串行通讯口一般不支持热插拔尤其是在传送数据时插拔通讯插头,会造成内部通讯部件损坏。比较安全的操作是停止通讯或退出软件。热插拔跟PLC的端口关...
PLC输入输出模块的供电,怎么接线的?
PLC输入输出模块的供电接线方式取决于模块的类型和电源要求。一般来说,PLC输入输出模块需要接入交流24V或直流24V电源。以下是一些常见的接线方式:1.直接连...
在线的各位知道吗,PLC插拔式接线端子的价格?十万火急!
[回答]PLC插拔式接线端子的价格受多方面影响,比如品牌、市场等,在选择购买之前,多方面地进行了解和对比是有必要的。PLC插拔式接线端子每个地区的价格还...
plc内存卡如何取出?
断电再取就行。原因:1.plc储存卡带电拔出来,可能会造成磁盘坏道,而导致存储卡无法被读取里面的内容,或者无法存储内容。2.因为带电的时候,可能PLC正在寻...
s7-300plc输入输出没有信号?
1.没有信号2.S7-300PLC的输入输出没有信号可能是由于以下a)电源故障,导致PLC无法正常工作;b)输入模块或输出模块损坏,无法接收或发送信号;c)信号线路连...
plc上传程序显示无法建立连接?
你好,当PLC未连接时,可以采取以下处理方法:1.检查PLC的电源和通信线路:确保PLC的电源连接正常,通信线路没有松动或损坏。2.检查PLC的连接设置:确认PLC...
横河CS3000与ProSafePLC如何连接?-盖德问答-化工人互助问答社区
谢谢各位!cs3000与prosafeplc支持热插拔吗?都是基于vnet网络的可以通过cs3000进行整合需要通过双方通讯协议和方式的一致,才能连接,如modbus等!...
西门子PLCS7-300输出模块没有输出信号是怎么回事就是该它发出信号的时候,它不发出信号?
估计是PLC输出的电压与执行机构的电压的问题,也就是说可能执行器需要的是24V,你给的是220V,一般这个是很好判断的。首先查看PLC的指示灯是否亮,如果没亮说明...