控制系统、诊断装置、诊断方法、以及存储有诊断程序的计算机可读介质与流程

文档序号:18462005发布日期:2019-08-17 02:07阅读:100来源:国知局
控制系统、诊断装置、诊断方法、以及存储有诊断程序的计算机可读介质与流程

本发明涉及控制系统、诊断装置、诊断方法、以及存储有诊断程序的计算机可读介质。



背景技术:

在专利文献1中记载了在工厂等的工艺控制中使用的工艺控制装置中,对并列动作的三个以上控制器的控制运算结果进行少数服从多数的判定以进行工艺控制。

专利文献1:日本特开2003-140707号公报



技术实现要素:

发明要解决的问题:

专利文献1中记录的工艺控制装置在工艺控制装置内对三个以上控制器的控制运算结果进行少数服从多数的判定之后将控制数据发送给工艺设备。然而,在专利文献1中记载的工艺控制装置中,对于进行少数服从多数判定的工艺设备接口30的故障或间歇障碍的耐受性变得很低。

解决问题的方案:

为解决上述问题,本发明第一形态中提供控制系统。控制系统可以具备采用冗余结构的多个控制器。控制系统还可以具备接口装置,将从多个控制器接收的基于被冗余化了的多个控制数据的控制输出数据输出给被控制设备。控制系统还可以具备诊断装置,基于包含接口装置中来自于多个控制器的每一个的控制数据被采用与否的统计信息诊断控制系统。

控制系统可以具备多个接口装置。诊断装置可以基于包含多个接口装置的每一个中的来自于多个控制器的每一个的控制数据被采用与否的统计信息诊断控制系统。

控制系统还可以具备网络,连接多个控制器、多个接口装置、及诊断装置。

多个控制器还可以以预定控制周期进行同步,分别发送控制数据。诊断装置还可以基于包含多个控制周期中的控制数据被采用与否的统计信息诊断控制系统。

诊断装置可以推测在多个控制器中,在多个接口装置中的第一基准台数以上的接口装置的每一个中有第一基准个数以上的控制数据被不采用的控制器上可能有异常。

当在多个接口装置中不足第二基准台数的接口装置的每一个中有第二基准个数以上的控制数据被不采用时,诊断装置可以推测第二基准个数以上的控制数据被不采用的接口装置上可能有异常。

多个接口装置中的至少一个接口装置可以具有自我诊断功能。诊断装置可以进一步基于至少一个接口装置的自我诊断结果推测控制系统的异常位置。

诊断装置可以存储网络的拓扑信息,诊断装置可以基于统计信息和拓扑信息推测网络中的异常位置。

本发明第二形态中提供诊断控制系统的诊断装置。控制系统可以具备采用冗余结构的多个控制器。控制系统可以具备接口装置,将从多个控制器接收的基于被冗余化了的多个控制数据的控制输出数据输出给被控制设备。诊断装置可以具备统计信息获取部,获取包含接口装置中来自于多个控制器的每一个的控制数据被采用与否的统计信息。诊断装置可以具备诊断部,基于统计信息诊断控制系统。

控制系统可以具备多个接口装置。诊断部可以基于包含多个接口装置的每一个中的来自于多个控制器的每一个的控制数据被采用与否的统计信息诊断控制系统。

本发明第三形态主中提供由计算机诊断控制系统的诊断方法。控制系统可以具备采用冗余结构的多个控制器。控制系统可以具备接口装置,将从多个控制器接收的基于被冗余化了的多个控制数据的控制输出数据输出给被控制设备。计算机可以获取包含接口装置中来自于多个控制器的每一个的控制数据被采用与否的统计信息。计算机还可以基于统计信息诊断控制系统。

本发明第四形态提供存储有使计算机作为诊断控制系统的诊断装置而发挥功能的诊断程序的计算机可读介质。控制系统可以具备采用冗余结构的多个控制器。控制系统还可以具备接口装置,将从多个控制器接收的基于被冗余化了的多个控制数据的控制输出数据输出给被控制设备。诊断程序可以使计算机作为统计信息获取部而发挥功能,获取部获取包含接口装置中来自于多个控制器的每一个的控制数据被采用与否的统计信息。诊断程序可以使计算机作为诊断部而发挥功能,基于统计信息诊断控制系统。

另外,上述发明内容并未列举出本发明的全部可能特征,所述特征组的子组合也有可能构成发明。

附图说明

图1表示本实施方式所述的控制系统10的结构。

图2表示本实施方式所述的控制器100的动作流程。

图3表示本实施方式所述的接口装置130的动作流程。

图4表示本实施方式所述的诊断装置160的动作流程。

图5表示本实施方式所述保存在日志db164中的日志信息的一例。

图6表示本实施方式所述的控制系统10的变形例。

图7表示本实施方式所述的计算机2200的结构的一例。

具体实施方式

以下通过发明实施方式对本发明进行说明,但以下实施方式并非对权利要求书所涉及的发明进行限定。并且,实施方式中说明的特征组合也并非全部为本发明的必要特征。

图1表示本实施方式所述控制系统10的结构。控制系统10对化学制品、金属制品、石油或天然气等的生产工厂进行控制。可替代地,控制系统10可以用于对发电厂等其他工厂的控制,也可以用于对大厦或交通设施等的设备控制。

控制系统10根据来自于设置在工厂等各处的多个传感器150a~m(表示为“传感器150”)的感测数据控制多个被控制设备155a~m(表示为“被控制设备155”),以进行符合工厂等的目标的生产、发电、和/或控制。本实施方式所述的控制系统10在与被控制设备155a~m连接的接口装置130a~m侧确定是否采用来自于多个控制器100a~n的成为冗余结构的控制数据,在诊断装置160中使用包含采用与否结果的统计信息对控制系统10进行诊断。从而使控制系统10能够对内部的异常位置进行统计性地诊断。

各传感器150对表示控制对象的工厂等的状态的物理量进行测量,将与物理量对应的感测数据提供给接口装置130。作为一例,传感器150可以为温度传感器、压力传感器、流量计、电流传感器、电压传感器、天然气传感器、或对其他任意物理量进行测量的测量仪。

各被控制设备155对控制对象的工厂等的动作进行控制和/或调整。作为一例,被控制设备155可以为设置在控制对象工厂等中的阀门、压缩机、泵和马达等执行器,也可以为对设置在控制对象工厂等中的装置施加电性或磁性信号的元件、电路、或器件等。

控制系统10具备:控制器100a~n(表示为“控制器100”)、传感器150a~m和与被控制设备155a~m连接的接口装置130a~m(表示为“接口装置130”)、诊断装置160、网络50。

多个控制器100具有冗余结构。多个控制器100基于从一个或多个传感器150接收到的感测数据等控制参数进行彼此相同的控制运算处理,将用于控制一个或多个被控制设备155的控制数据发送给一个或多个接口装置130。在本实施方式中,控制系统10具备三台以上的控制器100,以少数服从多数原则对由各控制器100输出的控制数据进行采用。

多个控制器100以预定的控制周期进行同步,分别将控制数据发送给与对象的被控制设备155相连接的接口装置130。为了便于说明,整个控制系统10中的控制周期是相同的。可替代地,控制周期可以针对被控制设备155的组、各个被控制设备155、或各被控制设备155内的控制对象参数分别独立设定。此时,多个控制器100以与控制数据的各对象相应的控制周期进行同步,将控制数据发送给各对象。此处,同步并不限于时钟同步等严格的同步,也可以是在控制周期内将控制数据送达到对象的程度的宽松的同步。

各控制器100具有:控制参数接收部110、控制运算部114、和控制数据发送部116。

控制参数接收部110经由接口装置130a~m和网络50接收来自于一个或多个传感器150的感测数据等控制参数。

控制运算部114执行控制运算,使得控制系统10对控制对象工厂等进行控制。控制运算部114针对应发送控制数据的各对象,在每个控制周期中,输入从控制参数接收部110输入的控制参数的值,并执行输出针对对象的操作量和/或设定值等控制数据的控制运算处理。在本实施方式所述的控制系统10中,各接口装置130采用在各控制周期中将同一值的控制参数发送给多个控制器100的结构。因此,多个控制器100的各控制运算部114在每个控制周期输入同一值的控制参数并进行相同算法的控制运算处理的结果是,只要没有异常,便输出同一值的控制数据。作为一例,控制运算处理可以为pi控制或pid控制等控制工程上的控制,也可以为包含条件判断、条件分支等任意控制算法。

控制数据发送部116将由控制运算部114输出的控制数据发送给与对象的被控制设备155相连接的接口装置130。

一个或多个接口装置130与一个或多个传感器150以及一个或多个被控制设备155相连接,作为各控制器100、连接到的传感器150以及被控制设备155之间的接口而发挥作用。控制系统10可以具备:连接了传感器150但未连接被控制设备155的接口装置130、和/或、未连接传感器150但连接了被控制设备155的接口装置130。在本实施方式中,为了便于说明,表示了在各接口装置130上连接有一个传感器150和一个被控制设备155的例子。可替代地,各接口装置130也可以采用与多个传感器150和/或多个被控制设备155相连接的结构。

各接口装置130具有:控制参数获取部132、控制参数发送部134、控制数据接收部136、采用部138、采用与否通知部140、以及控制数据输出部142。

控制参数获取部132从连接到的传感器150获取感测数据等控制参数。另外,控制参数获取部132可以获取由控制运算部114为进行控制运算而使用的诸如被控制设备155的设定参数等各种数据作为控制参数。

控制参数发送部134将由控制参数获取部132所获取的控制参数发送给各控制器100。在本实施方式中,控制参数发送部134将在各控制周期中同一值的控制参数发送给多个控制器10。例如,控制参数获取部132可以与控制周期同步地获取控制参数,并在各控制周期的期间将同一值的控制参数提供给控制参数发送部134。

控制数据接收部136接收来自于各控制器100的针对接口装置130相连接的被控制设备155的控制数据。其中,由于多个控制器100采用冗余结构,各控制数据接收部136在每个控制周期从多个控制器100接收被冗余化的多个控制数据,即接收只要正常则具有同一值的控制数据。

采用部138在每个控制周期确定是否采用被冗余化的多个控制数据的每一个。作为一例,采用部138在预定数量以上的控制数据为同一值的条件下,采用控制数据作为待输出给被控制设备155的控制输出数据,而不采用不同值的控制数据。例如,当有三台控制器100时,只要有两个以上的控制数据为同一值,则采用部138采用该控制数据。此处,采用部138不采用与所选的控制数据不同值的控制数据。

采用与否通知部140将表示是否采用来自于的多个控制器100的每一个的控制数据的采用与否信息通知给诊断装置160内的采用与否接收部162。

控制数据输出部142将基于被冗余化的多个控制数据而生成的待输出给被控制设备155的控制输出数据输出给对象的被控制设备155。

诊断装置160收集从一个或多个接口装置130接收到的采用与否信息,存储包含来自于多个控制器100的每一个的控制数据的采用与否的统计信息。然后,诊断装置160基于统计信息诊断控制系统10。诊断装置160具有:采用与否接收部162、日志db164、统计信息获取部165、拓扑db166、诊断部168、诊断结果输出部170。

采用与否接收部162从多个接口装置130的每一个接收表示是否采用控制数据的采用与否信息,并存储到日志db164(日志数据库164)中。

日志db164将由采用与否接收部162从多个接口装置130的每一个接收到的多个控制周期的采用与否信息保存为日志信息。

统计信息获取部165从日志db164中保存的日志信息获取包含一个或多个接口装置130中来自于多个控制器100的每一个的控制数据的采用与否的各种统计信息。例如,统计信息获取部165参照日志信息计算不采用来自于各控制器100的控制数据的次数,以及各接口装置130不采用控制数据的次数等各种统计信息。

拓扑db166保存网络50的拓扑信息。拓扑信息表示多个控制器100与多个接口装置130之间的网络连接关系、各控制器100与各接口装置130之间的各链路相关信息、和/或各链路是否被多路复用的相关信息等为了诊断网络50的异常位置而可以利用的网络结构。当不将网络50的拓扑信息用于异常位置诊断时,诊断装置160也可以采用不具有拓扑db166的结构。

诊断部168基于由统计信息获取部165获取的统计信息对控制系统10进行诊断。本实施方式所述的诊断部168在统计信息的基础之上还基于拓扑db166中所保存的拓扑信息来推测网络50中的异常位置。此处,诊断部168对应于在某个控制周期中不采用来自于某个控制器100的控制数据的情形,并不是立即判断出该控制器100处于异常,而是使用来自于多个接口装置130的采用与否信息、和/或、包含多个控制周期内的采用与否信息的统计信息进行统计性的判断来推测异常。通过利用统计信息,诊断部168能够判别控制数据的不采用是由持久故障或临时异常的哪一个而发生的、和/或能够更准确地筛选出控制系统10内的异常位置。可替代地,为了简化诊断,诊断部168也可以采用不使用统计信息但在每个控制周期使用采用与否信息来诊断异常的结构。例如,诊断部168也可以当在某个控制周期中不采用来自于某个控制器100的控制数据时,立即判断出该控制器100为异常。

诊断结果输出部170输出由诊断部168得到的诊断结果。

网络50为多个控制器100、多个接口装置130、以及诊断装置160所连接的通用或专用网络。在本实施方式中,控制器100可以为pc(个人计算机)、工作站、服务器计算机、通用计算机等计算机,通过在计算机上执行控制程序而作为控制器100发挥作用。可替代地,控制器100可以为被设计为用于工厂等的控制的专用计算机,也可以为由专用电路实现的专用硬件。另外,接口装置130可以为被设计为用于工厂等的控制的具有微控制器等的专用装置,可以为在普通计算机上附加有用于连接传感器150和/或被控制设备155的接口电路的装置,也可以为由专用电路实现的专用硬件。诊断装置160也可以为普通计算机或专用计算机,通过在计算机上执行诊断程序而作为诊断装置160发挥作用。可替代地,诊断装置160可以由专用硬件实现。网络50可以为包括以太网(注册商标)、lan、wan、和/或互联网等的有线或无线网络,也可以被构成为包含产业用网络。网络50也可以通过传输网络数据包来实现控制器100、接口装置130及诊断装置160之间的通信。

代替上述内容的是,控制系统10可以也保存在单一壳体内的计算机。即,各控制器100可以通过在计算机的处理器上执行程序来实现,各接口装置130可以被封装成计算机的i/o装置。另外,各控制器100也可以被封装成由一个或多个处理器执行的虚拟机。在这种结构中,控制系统10不具备作为通用或专用网络的网络50,控制器100与接口装置130有可能通过处理器与i/o装置间连接的存储器控制器集线器及i/o控制器集线器等芯片组连接。

图2表示本实施方式所述的控制器100的动作流程。作为一例,本图表示在由控制器100执行的一个或多个控制处理中针对一个控制处理在一个控制周期内的动作流程。各控制器100可以针对在相同或不同长度的控制周期中周期性地执行的多个控制处理的每一个并列或并行地执行本图的动作流程,控制成为各控制处理的对象的一个或多个被控制设备155。

在s200(步骤200)中,控制参数接收部110从获取到各控制参数的接口装置130接收在控制处理中使用的一个或多个控制参数。控制参数接收部110向对象的接口装置130发行控制参数的读取访问或读取请求,并接收由对象的接口装置130内的控制参数发送部134回复的控制参数。此处,使用控制系统10的全局地址空间内的地址、全局寄存器空间内的寄存器标识(id,例如识别编号或标签名等标识),或者,使用接口装置130的标识与该接口装置130的本地地址(寄存器)空间内的地址(寄存器标识)的配对等识别信息来指定读取对象的控制参数。此处,接口装置130的标识可以使用ip地址等网络上的节点的指定信息来进行表达。读取访问或读取请求在控制参数的识别信息的基础之上还可以包含请求方的控制器100的识别信息和/或控制周期等。

可替代地,接口装置130内的控制参数发送部134在每个控制周期将由控制参数获取部132获取到的控制参数发送给使用该控制参数的控制参数接收部110,控制参数接收部110可以接收被发送来的控制参数。由控制参数发送部134发送的信息在控制参数的值的基础之上,还可以包含控制参数的识别信息、目标方的控制器100的识别信息、和/或控制周期等。

在s220中,控制运算部114将从控制参数接收部110输入的一个或多个控制参数的值作为输入参数,针对作为对象的一个或多个被控制设备155执行输出控制数据的控制运算处理。当多个控制器100正常动作时,多个控制运算部114对应于相同值的控制参数的输入,输出相同值的控制数据。

在s230中,控制数据发送部116将由控制运算部114输出的控制数据发送给控制对象的一个或多个被控制设备155。控制数据发送部116向控制对象的被控制设备155所连接的接口装置130发行控制数据的写入访问或写入请求,并将控制数据写入该接口装置130内的寄存器或存储器中。这种写入访问或写入请求可以包含:与控制参数的识别信息相同定义的控制数据的目标方的识别信息、请求方的控制器100的识别信息、和/或动作周期等。

图3表示本实施方式所述的接口装置130的动作流程。作为一例,本图表示在由控制器100执行的一个或多个控制处理中,针对一个控制处理对应于一个控制周期的接口装置130的动作流程。各接口装置130可以对应于由各控制器100在相同或不同长度的控制周期中周期性地执行的多个控制处理的每一个,并列或并行地执行本图的动作流程,进行来自于传感器150的输入处理和向被控制设备155的输出处理。

在s300中,控制参数获取部132从连接到的传感器150获取感测数据等的控制参数。另外,控制参数获取部132可以根据来自于控制器100的请求获取控制器100可访问的任意参数,如在由控制器100执行的控制处理中所使用的被控制设备155的设定参数等。控制参数获取部132可以当控制参数发送部134从控制器100接收到读取访问或读取请求时获取控制参数,以独立于控制周期的采样周期(例如,小于控制周期的采样周期)获取控制参数。

在s310中,控制参数发送部134将由控制参数获取部132获取的控制参数发送给使用该控制参数的控制器100。控制参数发送部134可以对应于来自于控制器100的读取访问或读取请求回复对象的控制参数,针对在每个控制参数中预先设定的目标方的一个或多个控制器100,以预先设定的周期发送对象的控制参数。

在s320中,控制数据接收部136接收由各控制器100发送的被冗余化了的多个控制数据。

在s330中,采用部138确定是否采用被冗余化了的多个控制数据的每一个。此处,通过在接口装置130上连接多个被控制设备155等方式,当接口装置130接收多种类型的控制数据时,采用部138判断相同对象的每个控制数据是否采用。本实施方式所述的采用部138在预定数量以上的控制数据相同这一条件下,将该控制数据作为待输出给被控制设备155的控制输出数据。采用部138可以根据多个控制数据的少数服从多数原则确定待输出给被控制设备155的控制输出数据,在预定数量以上的控制数据相同这一条件下,将通过基于少数服从多数原则而选择的控制数据的值选择为控制输出数据。例如,当控制器100有五台时,设定上述数量为2,如果有三台控制器100输出控制数据a,有两台控制器100输出控制数据b,则将控制数据a作为控制输出数据;如果两台控制器100输出控制数据a,其余的控制器100输出与控制数据a不同的别的控制数据,则将控制数据a作为控制输出数据;如果没有两台以上的控制器100输出同一值的控制数据,则可以不采用任何控制数据。在此例中,控制系统10即便最大三台控制器100处于故障或维护状态,也能够继续正常工作。

采用部138如果在从控制周期的开始时刻或初始的控制数据的接收时刻等基准时刻开始在预定超时期间内没能从部分的控制器100接收到控制数据,则可以判断为该控制数据超时,作为不采用。

在s340中,采用与否通知部140将表示是否采用多个控制器100的每一个的控制数据的采用与否信息通知给诊断装置160。本实施方式所述的采用与否通知部140对采用与否信息进行缓冲,当从诊断装置160接收到采用与否信息的读取访问或读取请求时回复采用与否信息,从而将采用与否信息通知给诊断装置160。诊断装置160与接口装置130之间定期地交互采用与否信息的读取访问等以及其回复,因此也可以将该通信用作来自于接口装置130的心跳信号。可替代地,可以在采用与否通知部140预先登记诊断装置160的目的地,使得采用与否通知部140仅将采用或不采用主动地通知给诊断装置160,从而减少网络50の业务量。采用与否通知部140可以对应于来自于诊断装置160的请求,在每个控制周期将采用与否信息通知给诊断装置160,也可以积累多个控制周期之后通知给诊断装置160。

在s350中,控制数据输出部142将基于被冗余化了的多个控制数据的控制输出数据输出给对象的被控制设备155。本实施方式所述的控制数据输出部142将控制输出数据原封不动地输出给对象的被控制设备155。可替代地,例如,当控制器100的控制周期大于被控制设备155和/或接口装置130的动作周期时,控制数据输出部142也可以将在控制器100的每个控制周期接收的控制输出数据进行插补并输出给被控制设备155。

接口装置130通过在每个控制周期执行本图的动作流程,能够在对应于被控制设备155的每个控制周期控制被控制设备155。

在上述的s330中,根据采用条件也有可能存在采用部138不采用任何控制数据的情形。例如,当根据少数服从多数原则进行采用中,如果全部控制数据的值彼此都不相同,则采用部138可以采用不采用任何控制数据的方式。在此情形中,采用与否通知部140可以在上述的s340中将表示不采用全部来自于控制器100的控制数据这一内容的采用信息通知给诊断装置160。控制数据输出部142可以采用在上述的s350中,将与前一控制周期中有控制输出数据相同值的控制输出数据输出给对象的被控制设备155的结构、将从此前的多个控制周期中的控制输出数据的值进行插补后的控制输出数据输出给对象的被控制设备155的结构、或者路过输出控制输出数据的结构等。

图4表示本实施方式所述的诊断装置160的动作流程。作为一例,本图表示诊断装置160的一个诊断周期对应的诊断装置160的动作流程。诊断装置160也可以在每个诊断周期反复执行本图的动作流程。

在s400中,采用与否接收部162从多个接口装置130的每一个接收表示是否采用控制数据的采用与否信息。采用与否接收部162可以通过在每个诊断周期等的适当时刻向接口装置130内的采用与否通知部140发行采用与否信息的读取访问或读取请求来获取采用与否信息。可替代地,当各接口装置130采用在每个控制周期等的预定时刻主动地发送采用与否信息的结构时,采用与否接收部162依次接收被发送来的采用与否信息。

在s410中,采用与否接收部162将所接收的采用与否信息追加到日志db164内的日志信息中。关于日志信息的构成例,将在以后进行描述。

在s415中,统计信息获取部165从保存在日志db164中的采用与否信息的日志信息获取诊断部168进行控制系统10的诊断用的各种统计信息。

在s420中,诊断部168基于由统计信息获取部165获取的统计信息诊断控制系统10。诊断部168还可以进一步地基于存储在拓扑db166中的网络50的拓扑信息诊断控制系统10。在该诊断中,诊断部168基于统计信息并根据需要基于拓扑信息推测控制系统10内的异常位置以及异常的程度或严重度。关于由诊断部168进行诊断的具体例,将在以后结合图5进行描述。

在s430中,诊断结果输出部170输出由诊断部168得到的诊断结果。诊断结果输出部170可以使用各种方式来通知控制系统10的异常,如,在控制系统10的管理者或操作员等使用的监视/管理控制台和/或监视/管理终端上显示控制系统10中的推测异常位置和推测异常严重度等、通过控制系统10的管理者或操作员的电子邮件或sms等通知推测异常位置和推测异常严重度等、以及使用设置在控制系统10的各部分附近的表示各部分异常的警告灯或警告报警等来警告推测异常位置的异常等。

诊断结果输出部170可以将表示控制系统10内的被诊断为异常的设备(控制器100、接口装置130、网络50的各路径等)的信息通知给其他设备。据此,接收到通知的其他设备通过忽略或不采用从被诊断为异常的设备接收的数据等,从而能够不受异常的影响。例如,诊断结果输出部170可以将某个控制器100被诊断为异常这件事通知给各接口装置130。据此,各接口装置130无论值为多少均不采用来自于被诊断为异常的控制器100的控制数据。

图5表示本实施方式所述的日志db164中保存的统计信息的一例。采用与否接收部162从各接口装置130接收采用与否信息,作为一例可以存储在本图所示的日志信息中。

本图的日志信息具有:日期时间、接口装置id(图中“i/fid”)、控制地址、以及包含来自于各控制器的控制数据的采用与否信息(图中“控制器1”、“控制器2”、以及“控制器3”)的各栏所对应的数据要素的多个条目。为了便于说明,本图进一步在日志信息的首栏中增加了条目编号(图中“#”)。

“日期时间”例如表示由采用与否通知部140从采用部138获取到采用与否信息的时刻。可替代地,日志db164也可以将涉及采用与否信息的任意时刻的相关信息存储在日志信息。例如,日志db164可以将控制周期的开始时刻等日期时间或控制周期的识别信息存储到日志信息中。

“接口装置id”及“控制地址”表示在控制系统10内与采用与否信息相关联的控制数据的位置。在本图的例子中,待发送控制数据的位置根据控制系统10内的对象的接口装置130的标识(id)与对象的接口装置130内的控制数据的保存地址(控制地址)的配对来进行指定。此处,待发送控制数据的位置可以使用控制系统10的全局地址空间内的地址、全局寄存器空间内的寄存器标识(id)、或接口装置130的标识与该接口装置130的本地地址(寄存器)空间内地址(寄存器标识)的配对等识别信息来进行指定。

“来自于各控制器的控制数据的采用与否信息”表示是否采用在“日期时间”所示的时刻针对于“接口装置id”和“控制地址”的位置来自于各控制器100的控制数据。在本图中,控制数据的采用与否,当被控制数据被采用时被表示为“采用”、当不采用控制数据时被表示为“不采用”、当由于超时而能接收到控制数据时被表示为“超时”。超时的控制数据即便不采用也能被处理。

在本图中,第x号的条目表示,在“2018年1月4日15:30:11”获取的针对接口装置id为“1”的接口装置130内的控制地址“8f7c”处被识别的位置,来自于全部(三个)控制器100的控制数据被采用。第y号的条目表示,来自于控制器1和3的控制数据被采用,而来自于控制器2的控制数据虽被接口装置130接收但不采用。第z号的条目表示,来自于控制器1和3的控制数据被采用,而来自于控制器2的控制数据由于超时而不采用。

诊断部168可以使用由统计信息获取部165从日志信息获取的统计信息进行以下所例示的诊断中的至少一个。

(1)控制器100的异常推测1

统计信息获取部165统计各控制器100的控制数据被不采用的数量,诊断部168推测第一基准个数以上的控制数据被不采用的控制器100上发生异常的可能性。如果以第一基准个数为1,诊断部168当控制数据被一次不采用时立即推测出发送(或待发送)该控制数据的控制器100为异常。如果以第一基准个数为2以上,诊断部168在来自于某个控制器100的控制数据的不采用反复发生或多次发生的条件下,推测出该控制器100为异常。据此,诊断部168能够将由打雷等产生外部噪音等短暂性原因造成的不采用排除,基于比较常规发生的现象来推测异常。

(2)控制器100的异常推测2

如果来自于某个控制器100的控制数据被较多的接口装置130不采用,则发送方的控制器100上发生异常的可能性较高;如果来自于某个控制器100的控制数据仅被较少的接口装置130不采用,则接收侧的接口装置130上发生异常的可能性较高,而不是发送方的控制器100。因此,上述(1)中追加异常位置的判定条件,诊断部168例如可以推测在多个接口装置130中第一基准台数以上的接口装置130的每一个中,第一基准个数以上的控制数据被不采用的控制器100上有可能发生异常。此时,统计信息获取部165统计在各接口装置130中来自于各控制器100的控制数据被不采用的数量。作为一例,当接口装置130有100台时,如果在三台(第一基准台数)以上的接口装置130的每一个中有四个(第一基准个数)以上的控制数据被不采用,则诊断部168可以推测控制数据的发送方的控制器100发生异常。

(3)接口装置130的异常推测

与上述(2)相关联,如果来自于控制器100的控制数据仅被较少的接口装置130不采用,则诊断部168可以推测在接收侧的接口装置130上发生异常的可能性。即,如果在多个接口装置130中不足第二基准台数的接口装置130的每一个中有第二基准个数以上的控制数据被不采用,则诊断部168可以推测在控制数据的接收侧的接口装置130上有可能发生异常。例如,如果在不足三台(第二基准台数)的接口装置130的每一个中有四个(第二基准个数)以上的控制数据被不采用,则诊断部168推测在接收侧的接口装置130上有可能发生异常。此时,在其他接口装置130的每一个中有不足第二基准个数(例如,4)的控制数据以外被采用。此处,第二基准台数可以与上述(2)的第一基准台数相同,可选地,第二基准台数也可以为小于或大于第一基准台数的数。当第二基准台数大于第一基准台数时,诊断部168依照上述(2)推测发送方的控制器100并依照(3)推测接收侧的接口装置130上均有可能发生异常。

(4)网络50的异常推测

在从多个控制器100发送给多个接口装置130的控制数据中,由网络50的某个链路传输的(或应当传输的)控制数据被不采用的情况较多时,有可能是构成网络50的多个链路中的该链路上发生异常。例如,这种异常有可能是因某个链路被阻断使控制数据未送达超时而被不采用的情形,以及在某个链路上控制数据发生比特误码等错误而无法到达目的地而被不采用的情形。因此,统计信息获取部165可以针对发送方的控制器100与目标方的接口装置130的组合的每一个统计控制数据被不采用的数量。诊断部168使用包含指定各控制器100与各接口装置130之间设置的一个或多个链路的信息的拓扑信息来指定统计信息中被不采用的控制数据待传输的网络50内的路径,当通过某条链路的控制数据有第三基准个数以上被不采用时,可以推测该链路异常。在该推测中,诊断部168仅将因超时而被不采用的控制数据作为对象推测链路的阻断。另外,诊断部168即便在控制器100到接口装置130之间的某个通信区间中的链路被冗余化,也能同样地推测异常,能够推测出在被冗余化的链路的至少一个上发生异常。

(5)利用自我诊断结果的异常推测

如果在多个接口装置130中至少一个接口装置130具有自我诊断功能,则诊断部168可以进一步基于至少一个接口装置130的自我诊断结果推测控制系统10的异常位置。例如,当诊断部168基于统计信息推测出某个控制器100或某个接口装置130中可能发生异常时,如果该接口装置130通过自我诊断检测出异常,则可以不推测控制器100为异常,而是推测该接口装置130上发生异常。另外,如果某个接口装置130通过自我诊断检测出异常,则诊断部168可以针对该接口装置130中的控制数据的不采用,在上述(1)~(4)等条件判断中不包含在计数中。此处,诊断装置160可以另外输出该接口装置130进行自我诊断的结果为异常作为诊断结果。同样地,多个控制器100中至少一个控制器100可以具有自我诊断功能,诊断部168可以进一步利用控制器100的自我诊断结果来推测异常。另外,控制器100和接口装置130可以采用例如环路通信测试和/或存储器读/写测试等各种测试作为自我诊断测试。

在上述内容中,统计信息获取部165可以通过对预定长度时间窗范围内的采用与否信息进行计数来统计控制数据被不采用的次数。而且,诊断部168也可以在时间窗范围内进行是否有基准个数被不采用的判断。例如,当在一小时以内有三次以上控制数据被不采用时,诊断部168可以推测控制数据的发送方的制器100为异常。换言之,诊断部168可以在控制数据在基准频度以上被不采用的条件下进行上述推测。另外,统计信息获取部165也可以统计控制数据被不采用的次数相对于控制数据被发送次数的比例等,诊断部168也可以根据相对于作为基础的控制数据的个数的比例来判定基准个数是否被不采用。

诊断部168可以使用统计信息并根据需要使用拓扑信息和自我诊断结果,作为一例根据上述各种判定基准来推测控制系统10内的异常位置。另外,诊断部168还可以根据推测为异常的位置相关的异常或不采用的发生次数(次数本身、频度、或比例)的大小来计算或推测异常的严重度。

图6表示本实施方式所述的控制系统10的变形例。在本图中,附带有与图1相同标记的部件具有与图1相同或同样的结构和功能,因此,只要没有特别必要,省略说明。本图的控制系统10并不将由各接口装置130发送的采用与否信息通过诊断装置160累积到日志db164中,而是由各接口装置130在本地将采用与否信息累积成本地日志信息并发送给诊断装置160。

接口装置130具有本地日志db644和本地日志发送部646,以代替采用与否通知部140。本地日志db644从采用部138取得控制数据的采用与否信息,并保存为接口装置130内的本地日志信息。本地日志发送部646将本地日志db644中保存的本地日志信息,根据来自于诊断装置160内的本地日志接收部662的请求发送给诊断装置160。

诊断装置160具有本地日志接收部662,以代替采用与否接收部162和日志db164。本地日志接收部662接收各本地日志信息。本地日志接收部662在诊断时刻或每个诊断周期向各接口装置130发送读取访问或读取请求,并从各接口装置130读取本地日志信息中的必要部分。可替代地,本地日志接收部662可以接收由各本地日志发送部646定期性地等的适当时刻发送的本地统计信息并作为统计信息保存到内部。

根据本变形例所述的控制系统10,各接口装置130能够保存本地日志信息直到诊断装置160进行诊断,因此,诊断装置160或接口装置130能够对应于网络50的负荷选择适当的时刻传输本地日志信息。

在本变形例中,各接口装置130可以采用具有本地统计信息获取部的结构,基于本地日志db644内的本地日志信息获取包含各接口装置130中的控制数据的采用与否的本地统计信息。在此情形中,接口装置130本地统计信息发送给诊断装置160的本地统计信息发送部,以代替本地日志发送部646。另外,诊断装置160还可以具有接收本地统计信息的本地统计接收部,以代替本地日志接收部662。

通过以上所示的控制系统10,诊断装置160能够诊断整个控制系统10全体,当使用通用或普通的设备作为各控制器100、各接口装置130以及网络50时,也能够提高控制系统10的可靠性。

另外,根据以上所示的控制系统10,在接口装置130侧判断来自于各控制器100的控制数据被采用与否与是否来自于任意控制器100的控制数据无关,因此,可以在控制系统10处于工作状态下使多个控制器100的一部分离线。例如,在控制系统10的工作过程中,使四台控制器100中的逐台依次停止,进行os等的替换或升级,再依次启动回到线上等无缝应用成为可能。

本发明的各种实施例可参照描述的流程图和模块图。其中,模块可以表示(1)执行操作的过程的阶段;或(2)具有执行操作的作用的装置的部分。特定阶段和部分可以被封装成专用电路、与计算机可读介质上存储的计算机可读指令共同提供的可编程电路、和/或与计算机可读介质上存储的计算机可读指令共同提供的处理器。专用电路可以包括数字和/或模拟硬件电路,可以包括集成电路(ic)和/或分立电路。所述可编程电路可以包含可重构硬件电路,其包括诸如逻辑and、逻辑or、逻辑xor、逻辑nand、逻辑nor和其他逻辑运算、触发器、寄存器、现场可编程门阵列(fpga)、可编程逻辑阵列(pla)等存储元件。

计算机可读介质可包括能够存储由合适设备执行的指令的任何有形设备,使得其上存储有指令的计算机可读介质具备包含为生成用于执行在流程图或模块图中指定的操作的装置而可执行的指令的制品。计算机可读介质的示例可以包括:电子存储介质、磁存储介质、光存储介质、电磁存储介质、半导体存储介质等。计算机可读介质的更具体的例子为:软盘(注册商标)、磁盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或闪存)、电可擦除可编程只读存储器(eeprom)、静态随机存取存储器(sram)、致密盘只读存储器(cd-rom)、数字通用光盘(dvd)、蓝光(rtm)盘、记忆棒,集成电路卡等。

计算机可读指令可以为一种或多种编程语言的任意组合所描述的源代码或目标代码,编程语言包括:面向组件指令、指令集架构(isa)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据或smalltalk、java(注册商标)、c+等面向对象的编程语言,以及如“c”编程语言或类似编程语言等传统的过程类编程语言。

计算机可读指令可以本地或局域网(lan)、互联网等广域网(wan)提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或可编程电路中。并且可以执行计算机可读指令以创建用于执行流程图或模块图中指定的操作的装置。处理器的示例包括计算机处理器、处理单元、微处理器、数字信号处理器、控制器、微控制器等。

图7表示可以全部或部分地实施本发明多个方面的计算机2200的示例。安装在计算机2200中的程序可以使计算机2200用作与本发明实施方式所述装置相关联的操作,或者作为该装置的一个或多个部分,或者用于执行该操作或者该一个或多个部分,和/或使计算机2200执行本发明实施方式所述过程或该过程的阶段。这样的程序可以由cpu2212执行,以使计算机2200执行与本文描述的流程图和模块图中的一些或全部相关联的特定操作。

根据本实施方式的计算机2200包括cpu2212,ram2214,图形控制器2216和显示设备2218,它们由主控制器2210互连。计算机2200还包括输入/输出单元,例如通信接口2222、硬盘驱动器2224、dvd-rom驱动器2226和ic卡驱动器,它们通过输入/输出控制器2220连接到主机控制器2210。计算机还包括传统的输入/输出单元,例如rom2230和键盘2242,它们通过输入/输出芯片2240连接到输入/输出控制器2220。

cpu2212根据存储在rom2230和ram2214中的程序进行操作,从而控制每个单元。图形控制器2216获得由cpu2212在ram2214中提供的帧缓冲器等中生成的图像数据,使得图像数据显示在显示设备2218上。

通信接口2222经由网络与其他电子设备通信。硬盘驱动器2224存储要由计算机2200中的cpu2212使用的程序和数据。dvd-rom驱动器2226从dvd-rom2201读取程序或数据,并经由ram2214将程序或数据提供给硬盘驱动器2224。ic卡驱动器从ic卡读取程序和数据和/或将程序和数据写入ic卡。

rom2230在其中存储由计算机2200等执行的引导程序和/或在激活时依赖于计算机2200的硬件的程序。输入/输出芯片2240还可以通过并行端口、串行端口、键盘端口、鼠标端口等将各种输入/输出单元连接到输入/输出控制器2220。

该程序由诸如dvd-rom2201或ic卡的计算机可读介质提供。程序从计算机可读介质读取,安装在作为计算机可读介质的示例的硬盘驱动器2224、ram2214或rom2230中,并由cpu2212执行。这些程序中描述的信息处理由计算机2200读取,并提供程序和各种类型的硬件资源之间的协作。可以通过根据计算机2200的使用实现信息的操纵或处理来配置装置或方法。

例如,当在计算机2200和外部设备之间执行通信时,cpu2212执行加载在ram2214中的通信程序,并基于通信程序中描述的处理对通信接口2222执行通信处理。在cpu2212的控制下,通信接口2222读取存储在诸如ram2214、硬盘驱动器2224、dvd-rom2201或ic卡等存储介质中提供的发送缓冲处理区域中的发送数据,并将读取的数据发送给网络,或者将从网络接收的接收数据写入在存储介质上提供的接收缓冲处理区域中。

此外,cpu2212使ram2214能够读取存储在诸如硬盘驱动器2224、dvd-rom驱动器2226(dvd-rom2201)、ic卡、外部存储介质中的文件或数据库的全部或必要部分,可以对ram2214上的数据执行各种类型的处理。接下来,cpu2212将处理后的数据写回到外部存储介质中。

诸如各种类型的程序、数据、表格和数据库的各种类型的信息可以存储在存储介质中并且接受信息处理。cpu2212针对从ram2214读取的数据,在整个本公开中描述,其由包含程序指令序列、信息处理、条件判断、条件分支、无条件分支、信息搜索信息/替换等各种类型的处理,并将结果写回ram2214。此外,cpu2212可以检索存储介质中的文件,数据库等中的信息。例如,当每个具有与第二属性的属性值相关联的第一属性的属性值的多个条目被存储在存储介质中时,cpu2212从多个条目中检索第一属性的属性值被指定的与条件匹配的条目,并读取该条目中存储的第二属性的属性值,以便获取与满足预定条件的第一属性相关联的第二个属性的属性值。

上述程序或软件模块可以存储在计算机2200上或计算机2200附近的计算机可读介质上。另外,连接到专用通信网络或互联网的服务器系统中提供的诸如硬盘或ram的存储介质可以用作计算机可读介质,由此通过网络向计算机2200提供程序。

以上尽管已经参考实施方式描述了本发明,但是本发明的技术范围并不限于上述实施方式中描述的范围。对于本领域技术人员显而易见的是,可以对上述实施方式添加各种修改或改进。从权利要求的范围的描述中显而易见的是,具有这种修改或改进的模式包括在本发明的技术范围内。

例如,当接口装置130采用可在同一控制周期中对多个控制器100发送值不相同的控制参数的结构时,控制器100也可以具备同步化部,在同一控制周期中针对同一控制参数将同一值提供给全控制器100的控制运算部114。这种同步化部与其他控制器100内的同步化部进行通信,在各控制周期中,通过按照少数服从多数的原则取控制参数的值等,在多个控制器100之间为各控制运算部114提供同一值的控制参数,从而使各控制运算部114能够基于同一值的输入进行控制运算处理。

另外,各控制器100也可以采用不使用同一值的控制参数而非同步地进行动作的结构。在此情形中,各控制器100也可以不进行同步化处理,只要输入在更近的时刻成为更接近的值的这种连续变化的控制参数,便能够输出彼此较接近的值的控制数据。因此,接口装置130能够通过对来自于各控制器100的控制数据取平均等作为控制输出数据。

在此情形中,采用部138可以将多个控制数据的平均值、去除了偏离值的平均值、中位值、去除了偏离值的中位值、或者加权平均值作为控制输出数据的值。在此情形中,采用部138也可以不采用作为偏离值的控制数据,即便在控制输出数据上反映出了部分值,也可以视为针对控制输出数据的值不采用位于预定基准范围以外的控制数据。相反,采用部138例如通过将去除了多个控制数据的最大值和最小值之后的值的平均值作为控制输出数据,即便没有将最大值或最小值反映在控制输出数据上,只要最大值或最小值相对于控制输出数据的值位于基范围内,也可以视为采用了对应的控制数据。

应当注意的是,权利要求书、说明书及附图中所示的装置、系统、程序以及方法中的动作、顺序、步骤及阶段等各个处理的执行顺序,只要没有特别明示“更早”、“早于”等,或者只要前面处理的输出并不用在后面的处理中,则可以以任意顺序实现。关于权利要求书、说明书及附图中的动作流程,为方便起见而使用“首先”、“然后”等进行了说明,但并不意味着必须按照这样的顺序实施。

附图标记说明

10控制系统、50网络、100a~n控制器、110控制参数接收部、114控制运算部、116控制数据发送部、130a~m接口装置、132控制参数获取部、134控制参数发送部、136控制数据接收部、138采用部、140采用与否通知部、142控制数据输出部、150a~m传感器、155a~m被控制设备、160诊断装置、162采用与否接收部、164日志db、165统计信息获取部、166拓扑db、168诊断部、170诊断结果输出部、644本地日志db、646本地日志发送部、662本地日志接收部、2200计算机、2201dvd-rom、2210主控制器、2212cpu、2214ram、2216图形控制器、2218显示设备、2220输入/输出控制器、2222通信接口、2224硬盘驱动器、2226dvd-rom驱动器、2230rom、2240输入/输出芯片、2242键盘。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1