专利名称::冗余配置的自控系统及配置方法
技术领域:
:本发明涉及自动控制系统,尤其涉及一种冗余配置的自控系统及配置方法。
背景技术:
:为提高自控系统的可靠性,通常采用冗余配置的技术手段。例如,国、内外汽轮机ETS控制系统均采用三冗余系统,该系统的控制策略是采取硬件完全冗余和令牌的方式保证整个系统的高可靠性,通过数据总线进行数据传输。数据总线采用逻辑令牌环作为介质访问控制协议构成,总线上的每个节点都有权获得令牌来发送数据,总线上没有设置主通信控制器,通过多种类型的数据接口,总线控制器、通信模块和总线接口单元来实现通信网络。这种总线是一种点对点的"令牌总线"系统,在网络中有一种电子"令牌"(Token)传送给每台设备,通过它传输输入和诊断信息。总线采用调频(FSK)的方式对数据信号进行调制,即用高频信号代表0,低频信号代表l。这种调制方式使得总线的抗干扰性得到提高、传输距离增长。并采用如下方法保证通讯可靠进行每个数据被编码后,连续发送三次,接收方作三选二表决,接收完一个完整的数据包之后,接收方会对整个数据包作CRC环冗余校验,一旦校验失败,数据包会被要求重发。这种系统的优点在于采用了硬件的完全冗余的方式,确保每个PLC能从三个输入模块接收数据;同时数据被编码以后,会连续发送三次,在接收方进行三取二表决。在冲突避免的机制上,因为选取了令牌"Token"的方式,只有获得了令牌控制权的设备才能够将数据发送到总线上,保证了任意时刻最多只有一台设备发送数据,不会出现总线上数据冲突的情况。而且根据令牌网的工作机制,任意一台设备发送完数据以后,立即释放令牌供其他站点使用,令牌周而复始的在环中巡游,各站获得令牌的机会相同。这样可以避免一台设备长期占用令牌,而造成其它设备不能发送数据。但是,该系统也还存在下述缺点l.通信网络由多种类型的数据接口,总线控制器、通信模块和总线接口单元等构成,是完全的硬件冗余,结构复杂,故障几率高,为了减少故障对系统的影响,需要设置故障扫描设备,增加了PLC的负担。2.因通信网络结构复杂,数据传输节点多、路径长,数据传输时间长;3.因每组数据发送需要反复三次,接收方收到完整的数据包后进行CRC校验,再返回一个确认数据包,数据发送占用的时间比较长,响应速度较慢。4.由于上述2、3两条原因,数据必须采用高速传输,使一些低速的总线协议不能满足这样的要求。5.总线上没有主控制器,可能造成PLC上的一些重要控制信息不能及时地送出去;当系统中有设备占用令牌后,不能正常地释放令牌,会造成整条总线的失效。
发明内容本发明的目的,是提供一种没有上述缺点的自控系统,该系统的结构简单、故障率低;数据传输路径简捷、且每组数据只须一次发送,响应速度快;适用于各种速度的总线协议。本发明的技术解决方案如下—种冗余配置的自控系统,包括多个互联的子系统,每一子系统具有输入模块、输出模块、主控制器、数据传输总线,所述输入模块、输出模块分别与数据传输总线连接;所述主控制器具有总线控制器;各主控制器的总线控制器的数量与子系统的数量相同,每一主控制器的各总线控制器,分别对应连接各子系统的数据传输总线;各子系统的输入模块向该子系统的总线控制器发送输入信号,由该子系统的主控制器运算处理后,向该子系统的输出模块发送输出信号,所有输出模块根据输出信号进行表决,再将表决结果反馈至各自的总线控制器。所述主控制器具有总线控制权设定模块,用于设定总线控制权,使之具备如下特性每条总线上具有唯一的控制权;仅当节点占有控制权时才具有发送数据的权利;节点完成数据发送任务后将控制权交至下游邻居。上述总线控制权的设定方法,建立令牌传递环网,将其初始化,具体步骤是1).建立令牌传递环网-分配各节点的ID地址将令牌传递环网划分成高、中、低三个ID段,按照输入模块节点、总线控制器节点、输出模块节点三种类型;将同类节点分配在相同的ID段中,并按照输入模块节点—总线控制器节点一输出模块节点的顺序,地址由低到高逐点递增;地址越小的节点所对应的优先级越高;-定义帧格式2).令牌传递环网初始化由地址最高的节点生成令牌,让令牌在环网上传递一周,确定各节点在网络中的位置。基于上述令牌传递环网的数据传输方法,生成令牌的节点向总线广播数据帧,总线上的节点根据ID地址依次轮流占有令牌;当输入模块节点占有令牌时,将输入数据发送给总线控制器,总线控制器将接收到的输入数据放进输入存储区,每次收到输入数据后,请求CPU读取输入,将输入存储区数据发送给CPU;再把从CPU获取的输出数据放进输出存储区,指令信号放在指令存储区;将输出存储区的输出数据发送给同一条总线上的输出模块,再把指令信号发送到指定的模块,在数据发送完之后,将令牌交给下游逻辑邻居。本系统的有益技术效果1.结构简单、硬件少、故障率低;2.节点数量少,数据传输路径简捷,且每组数据只须一次发送,响应速度快,灵敏度高;3.适用于各种速度的总线协议。下面以汽轮机ETS三冗余系统为例详细说明本发明。附闺说明图1是汽轮机ETS三冗余系统的结构框图图2是消息体定义图图3是本自控系统数据传输流程图躺雄方《汽轮机ETS采用三冗余系统的目的是对采集到的机组运行参数进行稳定可靠的判决,及时给出正确的控制信号,确保汽轮机的安全。三冗余ETS系统的设计目标是通过3取2表决机制来提供高系统的可靠性和安全性;系统能够识别故障并自动对其进行诊断;允许在不中断系统运行的情况下对其实施维修和更换部件;对系统传感器,智能模块,开关量等部件进行自测试。如图l所示该系统在系统结构上包含三个无耦合连接到总线上的输入模块,三组无耦合连接的智能输出模块,三条独立的数据传输总线,三套独立运行的系统诊断程序,三个独立的主控制器及隶属于主控制器的用于控制三条总线的三个总线控制器。三冗余ETS系统拟采用物理上无耦合设计和分离式结构电路设计,使系统模块更换灵活方便,模块更换成本降低;外用于主控制器与输入输岀之间通信的I/0总线拟采用分布式设计思想,使系统输入/输出可以监测系统其它智能模块状态,并降低系统成本。三冗余ETS系统的硬件部分主要有四个子系统组成用于收集传感器数据的输入子系统;由三个同构主控制器组成的主控制器控制子系统;用于实现各模块和主控制器之间通讯以及主控子系统内部通讯的通信子系统;控制公共输出负载的输出子系统。图l的输入模块组由三个同构模块构成,每组分别为可扩展的32路开关信号输入。输出模块由两个16路输出的源模块和漏模块构成,具有可扩展性。输入组中的三个输入模块分别经总线与主控制器(主控制器A,主控制器B,主控制器C),输出模块连接。各模块在占有控制权时进行以下数据发送操作输入模块向三个总线控制器发送输入数字量信号。总线控制器将主控运算得到的输出数字量信号发送给输出模块。输出模块将输出表决结果发送至总线控制器。本发明的核心内容,是确立总线控制权,使之具备如下特性每条总线上具有唯一的控制权;仅当节点占有控制权时才具有发送数据的权利;节点完成数据发送任务后将控制权交至下游邻居。确立总线控制权的方法是建立令牌传递环网,将其初始化,具体步骤是一、分配各节点的ID地址在三冗余ETS系统的一条总线上,每个节点有唯一的ID地址,各节点按照ID地址由低到髙构成一个逻辑环网,持有令牌的节点成为主节点,主节点数据发送完毕后,将令牌传递给ID地址较高的下游逻辑邻居;ID地址最高的节点将令牌传递给ID地址最低的节点。令牌在总线上的按照固定的次序传递,为各个节点提供平等的总线服务。如图l所示三冗余ETS系统中有三条独立的总线,每条总线上有输入模块,总线控制器,输出模块三类节点,此三类节点功能有所不同,收发的数据及占据令牌的时间都存在差异,所以在对此三类节点分配ID时应考虑将同类的节点分配在相同的一段中,以便在收发数据时可以实现统一操作;同时考虑到令牌的传递应按照"输入模块——总线控制器一一输出模块"的顺序,所以应将输入模块分配在较低的ID段中,总线控制器ID段较高,输出模块的ID段最高。基于以上两方面情况,结合0眉2.08定义的标准帧格式,定义输入模块的ID段为OOOxx,即一个输入模块的地址可设定为00000—OOOll中的一个;总线控制器的ID段设定为001xx;输出模块的ID段设定为01xxx。本系统的单片机采用了英飞凌16位单片机XC164CS,定义ID:消息体0-15属于节点A,消息体16-31属于节点B。偶数节点为发送消息体,奇数节点为接收消息体。消息体ID定义图2所示。二、定义总线报文格式及数据优先级参考〔倾2.08协议,定义了标准帧格式。使用标准11位ID,前三位(28—26)表示功能码,中间四位(25—22)表示发送报文节点的地址,后四位(21—18)做扩展用。报文中与控制权相关的定义如下表所示。<table>complextableseeoriginaldocumentpage9</column></row><table>每个节点在总线上传递数据时的优先级别不同,根据节点的地址码,地址越小的节点所对应的优先级越高。三、令牌环网初始化在网络初始4t阶段,令牌不在网络上传递,总线上也没有任何的活动,当ID地址最高的节点等待超时后,向总线广播网络重构帧,通知此节点已经生成令牌,所有节点在收到网络重构帧之后,将ST(令牌产生源)设置为生成令牌的节点ID,将NID(逻辑邻居ID地址)设置为ID+1,并等待令牌的到来。在每个节点第一次占有令牌时,要确定自己在环网中的位置,以及自己的下游逻辑邻居。确定方法如下每个节点在收到网络重构帧后,将NID设置为ID+1,当令牌在环网上传递一周之后,所有节点都确定了自己在网络中的位置。每个节点在网络初始化时,都要寻找自己的逻辑邻居。在第一次收到令牌后,首先向ID+1地址发送令牌传递请求,如果收到了返回应答,则说明ID+1节点存在,是自己的逻辑邻居;如果没有收到响应,则向ID+1节点发送令牌传递请求,如此操作直到找到逻辑邻居,并将逻辑邻居地址保存到NID,以后每次传递令牌时,都直接发送给这个逻辑邻居。在令牌传递一周以后,初始化完成。当总线上占有令牌的节点在发送完数据后,将令牌传递给自己的下游邻居,令牌传递方式如下參具有令牌的节点向地址为NID的节点发送令牌交换请求。參接收到令牌交换请求的节点获取令牌,并且返回取得令牌响应。參发送请求的节点在收到响应后释放令牌。*如果发送令牌请求的节点等待响应超时,则NID+1节点发送令牌传递请求,等待响应。如此"重发令牌,地址加1,等待响应",直到收到总线上有其他节点获取令牌的响应为止,并把返回响应的节点作为自己的新下游邻居,将其地址保存在NID中。本系统的工作过程一.基于令牌环网的数据传输三冗余ETS系统具有三条独立总线,在每条总线上都有一个令牌,三个令牌独立地在各自的总线上传递,互不影响。总线上各节点的通信以令牌传递的方式来实现,总线上的节点根据ID地址依次轮流占有令牌。当输入模块占有令牌的时候,将实时采集到的输入数据通过广播的方式发送给三个总线控制器,如果有则向这条总线上的三个主广播输入数字量信号,信号发送完毕后,将令牌传递给主控制器A上的总线控制器。总线控制器具有一个输入数据存储区和一个输出数据存储区,分别用于存放从输入模块获取的数据和从CPU获取的输出数据。总线控制器对输入数据的处理方式如下将接收到的输入数据放进输入存储区,每次收到输入数据后,立即请求CPU读取输入,将输入存储区数据发送给CPU。总线控制器对输出数据处理方式如下总线控制器把从CPU获取的输出数据放进输出存储区,指令信号放在指令存储区。当总线控制器占有令牌后,将输出存储区的输出数据发送给同一条总线上的输出模块,再把指令信号发送到指定的模块,在数据发送完之后,将令牌交给下游逻辑邻居。总线控制器的数据传输处理流程如图3所示。在同一条总线上,主控制器A、B、C的总线控制器先后占有令牌,并把输出数据发送给此总线的输出模块,把指令发送到指定的模块。在主控制器C的总线控制器发送完数据后,将令牌传递给输出模块,输出模块接收到令牌后,将输出数据3取2表决所生成的偏差表发送给三个总线控制器。发送完之后将令牌传递给输入模块,这样就完成了一次总线扫描,实现了数据从输入到输出的处理。二.保持数据同步性A)输入采样数据的同步三冗余系统检测的输入数字量信号变化频率低,可能长时间保持一个状态,不会出现高频跳变的情况,所以只要三个输入模块的采样频率高,更新速度快,则可以认为三个输入信号是同步的。例如三个输入模块采样频率为10朋Z,某一个输入信号由O跳变到l,虽然三个模块对输入信号采样的时间不一样,但是时间间隔不会超过10ns,相对于20ms的扫描周期是可以忽略这个时间间隔的,可以认为采集的输入信号是同步的。B)令牌传递一致性三冗余系统中,每条总线的扫描周期是20ms,每条总线上各有一个令牌,占有令牌的节点成为临时主节点。当一个输入数据在跳变之后,虽然三个输入模块得到令牌的时间不同,但是结果对系统得到正确的结果是没有影响的。举例如下1)在tO时刻,输入信号由0跳变到12)tl时刻,a输入模块占有令牌,将输入信号"1"广播到三个主控的ci总线控制器,而e和Y总线控制器的数据还是"0",输入表决结果还是"0"。3)t2时刻,e输入模块占有令牌,将"r'发送给三个e总线控制器;每个主控中,aeY总线控制器的数据分别是1,1,0,表决结果是"1"。4)t3时刻,Y输入模块占有令牌,将"1"发送给三个Y总线控制器;每个主控中,aPY总线控制器的数据分别是l,1,l,表决结果是"1"。所以输入量的变化在20ms-40ms范围内在输出上得到体现,三令牌的传递虽然不一致,但是仍然得到了正确的结果。三.控制权故障处理1)令牌丢失处理当令牌丢失时,总线上不再有任何活动。采用如下处理方式计算出令牌在总线传递一周的最大时间,每个节点在每次交出令牌后,启动一个令牌等待计时器。如果总线某个节点等待时间到达,则由此节点自动生成令牌,在生成令牌时,此节点应该向总线广播一个令牌生成信息,通知所有节点令牌的生成,如果此时有别的节点已占有令牌,占有令牌的节点向此节点发送禁止生成令牌信息,停止生成令牌。令牌等待时间设定如下令牌等待时间=(l+(HID~ID)/n)*T,T为令牌在总线上传递一周的最大时间,HID为此总线最大的ID地址,ID为此节点的ID号,n为总线上的节点总数。当令牌丢失时,ID地址高的节点首先自动生成令牌,当每个节点收到总线数据时,此计时器停止计时并且重新开始计时。2)令牌冲突处理当总线上存在两个或者多个令牌时,需要有相应的检测及处理方法。由于CAN控制器已经具备了解决数据冲突的机制,CAN控制芯片也不会提供总线数据冲突的相关信息,所以需要通过发送数据来检测令牌的存在情况。在处理令牌丢失时,如果某节点等待令牌超时,会自动生成令牌;但是可能由于网络延时的原因,令牌只是还没有传过来而并非令牌丢失,此时总线上就会产生两个令牌。为了避免这种情况的发生,在每个节点自动生成令牌时,都需要检査总线上的令牌占有情况,如果此时有其它节点占有令牌,会向生成令牌的节点发送禁止否认帧,表明不能生成令牌。所有节点记录产生令牌的源节点的ID地址,并且在令牌传递帧中也包含了令牌源的地址。如果在没有收到重新生成令牌的任何信息的情况下,某一节点发现令牌帧中的令牌源和节点中记录的令牌源不同,则向总线发送令牌检测帧,如果此时检测到令牌冲突,则发送网络重构帧,所有节点都放弃令牌,等待超时重新自动产生令牌。第二种情况,如果某一节点在传递令牌时,同时传给了两个节点,此时网络上的令牌也会产生重复。当某一节点在发现自己所处网络位置靠后时,即NO信息变大,则向总线发送令牌检测帧,如果发现总线上已有令牌,则发送网络重构帧,所有节点放弃令牌,等待超时重新生成令牌。3)节点加入及移出处理当有节点退出环网时,对整个网络产生影响不大。其上游邻居发送的令牌传递请求不会收到返回,会重新寻找逻辑邻居,将逻辑邻居的ID地址赋给NID。退网节点的后续节点的网络位置No也会相应变小。但此时上游节点应该发出通信故障报警信息。当有节点加入环网时,首先检测总线上是否有相同的ID,如果网络上已经有相同地指的节点,则向此节点发送一个否认信息,表明不能加入网络,并发送ID地址重复报警信息。如果没有重复的ID地址,则新加入的节点向总线发送网络重构帧,整个网络的所有节点都将NID复位成本节点ID+1,并且放弃令牌,等待超时后重新生成令牌,每个节点重新寻找自己的逻辑邻居。权利要求1.一种冗余配置的自控系统,包括多个互联的子系统,每一子系统具有输入模块、输出模块、主控制器和数据传输总线,所述输入模块、输出模块分别与数据传输总线连接;所述主控制器具有总线控制器;各主控制器的总线控制器的数量与子系统的数量相同,每一主控制器的各总线控制器,分别对应连接各子系统的数据传输总线;各子系统的输入模块向该子系统的总线控制器发送输入信号,由该子系统的主控制器运算处理后,向该子系统的输出模块发送输出信号,所有输出模块根据输出信号进行表决,再将表决结果反馈至各自的总线控制器。2.根据权利要求l所述的自控系统,其特征在于所述主控制器具有总线控制权设定模块,用于设定总线控制权,使之具备如下特性每条总线上具有唯一的控制权;仅当节点占有控制权时才具有发送数据的权利;节点完成数据发送任务后将控制权交至下游邻居。3.权利要求2所述总线控制权的设定方法,建立令牌传递环网,将其初始化,具体步骤是1).建立令牌传递环网-分配各节点的ID地址将令牌传递环网划分成高、中、低三个ID段,按照输入模块节点、总线控制器节点、输出模块节点三种类型;将同类节点分配在相同的ID段中,并按照输入模块节点一总线控制器节点一输出模块节点的顺序,地址由低到高逐点递增;地址越低的节点所对应的优先级越高;-定义帧格式2).令牌传递环网初始化由地址最高的节点生成令牌,让令牌在环网上传递一周,确定各节点在网络中的位置。4.权利要求3所述令牌传递环网的数据传输方法,生成令牌的节点向总线广播数据帧,总线上的节点根据ID地址依次轮流占有令牌;当输入模块节点占有令牌时,将输入数据发送给总线控制器,总线控制器将接收到的输入数据放进输入存储区,每次收到输入数据后,请求CPU读取输入,将输入存储区数据发送给CPU;再把从CPU获取的输出数据放进输出存储区,指令信号放在指令存储区;将输出存储区的输出数据发送给同一条总线上的输出模块,再把指令信号发送到指定的模块,在数据发送完之后,将令牌交给下游逻辑邻居。全文摘要本发明公开了一种冗余配置的自控系统,包括多个互联的子系统,每一子系统具有输入模块、输出模块、主控制器、数据传输总线,输入模块、输出模块分别与数据传输总线连接;主控制器具有总线控制器;各主控制器的总线控制器的数量与子系统的数量相同,每一主控制器的各总线控制器,分别对应连接各子系统的数据传输总线;各子系统的输入模块向该子系统的总线控制器发送输入信号,由该子系统的主控制器运算处理后,向该子系统的输出模块发送输出信号,所有输出模块根据输出信号进行表决,再将表决结果反馈至各自的总线控制器。具有以下基本特性每条总线上具有唯一的控制权;仅当节点占有控制权时才具有发送数据的权利;节点完成数据发送任务后将控制权交至网络下游邻居。文档编号G05B19/418GK101196739SQ20071005063公开日2008年6月11日申请日期2007年11月26日优先权日2007年11月26日发明者尚小林,斌曾,王道平,闵泽生申请人:东方电气集团东方汽轮机有限公司;四川东方电气自动控制工程有限公司