技术领域
[0001] 本公开涉及针对控制系统的安全防护功能,该控制系统对控制对象进行控制。
相关背景技术
[0002] 在FA(Factory Automation:工厂自动化)的各种设备以及配置于各设备的各种装置的控制中,使用PLC(可编程逻辑控制器)等控制装置。控制装置还能够监视在作为控制对象的设备、机械中产生的异常,并且监视控制装置自身的异常。当检测到某些异常时,从控制装置向外部以某种方法进行通知。
[0003] 例如,日本特开2002‑163015号公报(专利文献1)公开了一种故障诊断系统,其在故障监视画面中显示每个PLC的板、定序器中的故障部位、故障内容、应对方法。
[0004] 现有技术文献
[0005] 专利文献
[0006] 专利文献1:日本特开2002‑163015号公报
具体实施方式
[0062] 参照附图详细说明本发明的实施方式。另外,对图中的相同或相应的部分标注相同的标号并不重复其说明。
[0063] <应用例>
[0064] 参照图5,对应用本发明的场景的一例进行说明。图5是表示具有本实施方式的控制系统1的控制系统10的典型例的示意图。在本实施方式中,示出了将控制系统1应用于FA的例子,但应用对象并不限定于FA,例如也可以应用于车间或车辆等。
[0065] 作为一例,图5所示的控制系统10以FA中的2个生产线(生产线A以及生产线B)为控制对象。典型地,假设各生产线除了配置有输送工件的输送机之外,还配置有能够对输送机上的工件施加任意的物理作用的机器人。
[0066] 在生产线A以及生产线B分别配置有控制单元100。除了负责生产线A的控制单元100以外,还由安全防护单元200以及安全单元300构成控制系统1。另外,为了便于说明,在图5中省略了功能单元以及电源单元的记载。
[0067] 控制系统1的安全防护单元200与执行控制运算的控制单元100连接,负责针对控制系统1的安全防护功能,该控制运算用于对控制对象进行控制。安全防护单元200收集表示控制系统1的运转状态的状态信息,基于收集的状态信息,检测控制系统1中的事故,并对用户(维护人员、管理者)通知针对检测到的事故的应对信息。
[0068] 在此,在本说明书中,“事故”是指对于某些FA的控制系统1可能会成为安全防护上的威胁的征兆、现象或异常。另外,表示运转状态的状态信息包含监视与外部网络50的通信的通信监视信息511和数据库900的SQL信息161。
[0069] 安全防护单元200能够基于针对控制系统1的运转状态收集的状态信息,检测安全防护上的事故,对用户通知针对检测到的事故的应对信息。由此,即使没有专业知识,用户也能够检测事故的发生,并实施其应对。
[0070] 安全防护单元200在检测到事故的情况下,取得事故的种类、事故对安全防护造成的影响的严重程度、以及(基于收集的状态信息和严重程度的计算值)的安全防护风险,并将所取得的这些信息追加到应对信息中进行通知。
[0071] 由此,用户即使没有专业知识,也能够与所产生的事故的种类一起定量地掌握安全防护上的严重程度以及风险值。以下,对本实施方式的更具体的应用例进行说明。
[0072] <A.控制系统1>
[0073] 对本实施方式的应用于FA的控制系统1的结构进行说明。
[0074] 图1是表示本实施方式的控制系统1的结构例的外观图。参照图1,控制系统1包含控制单元100、安全防护单元200、安全单元300、1个或多个功能单元400、电源单元450。安全防护单元200也被称为安防单元(SGU:security guard unit)。
[0075] 控制单元100与安全防护单元200之间经由任意的数据传输路径(例如,PCI Express或以太网(注册商标)等)连接。控制单元100与安全单元300以及1或多个功能单元400之间经由未图示的内部总线连接。
[0076] 控制单元100在控制系统1中执行中心的处理。控制单元100按照任意设计的要求规格,执行用于对控制对象进行控制的控制运算。在与后述的由安全单元300执行的控制运算进行对比时,将由控制单元100执行的控制运算也称为“标准控制”。在图1所示的结构例中,控制单元100具有1个或多个通信端口。
[0077] 安全防护单元200与控制单元100连接,负责针对控制系统1的安全防护功能。在图1所示的结构例中,安全防护单元200具有1个或多个通信端口。之后将叙述由安全防护单元
200提供的安全防护功能的详情。
[0078] 安全单元300与控制单元100独立地执行用于实现与控制对象相关的安全功能的控制运算。将由安全单元300执行的控制运算也称为“安全控制”。通常,“安全控制”被设计为满足用于实现IEC61508等所规定的安全功能的要件。“安全控制”是用于防止人的安全被设备或机械等威胁的处理的总称。
[0079] 功能单元400提供用于实现控制系统1对各种控制对象的控制的各种功能。典型地,功能单元400可包含I/O单元、安全I/O单元、通信单元、运动控制器单元、温度调整单元、脉冲计数器单元等。作为I/O单元,例如可举出数字输入(DI)单元、数字输出(DO)单元、模拟输出(AI)单元、模拟输出(AO)单元、脉冲捕捉输入单元、以及混合有多种的复合单元等。安全I/O单元负责安全控制所涉及的I/O处理。
[0080] 电源单元450对控制系统1所具有的各单元供给规定电压的电源。
[0081] <B.各单元的硬件结构例>
[0082] 接着,对本实施方式的控制系统1所具有的各单元的硬件结构例进行说明。
[0083] (b1:控制单元100)
[0084] 图2是表示本实施方式的控制系统1所具有的控制单元100的硬件结构例的示意图。参照图2,作为主要的组件,控制单元100包含CPU(Central Processing Unit:中央处理单元)或GPU(Graphical Processing Unit:图形处理单元)等处理器102、芯片组104、主存储装置106、二次存储装置108、通信控制器110、USB(Universal Serial Bus:通用串行总线)控制器112、存储卡接口114、网络控制器116、118、120、内部总线控制器122、指示器124。
[0085] 处理器102读出保存在二次存储装置108中的各种程序,在主存储装置106中展开并执行,由此实现与标准控制所涉及的控制运算以及各种处理。芯片组104通过对处理器102与各组件之间的数据交换进行中介,来实现作为控制单元100整体的处理。
[0086] 在二次存储装置108中,除了系统程序以外,还保存有在系统程序提供的执行环境上工作的控制程序。
[0087] 通信控制器110负责与安全防护单元200之间的数据交换。作为通信控制器110,例如能够采用与PCI Express或者以太网等对应的通信芯片。
[0088] USB控制器112经由USB连接负责与任意的信息处理装置之间的数据交换。
[0089] 存储卡接口114构成为能够装卸(Detachable)作为存储介质的例如存储卡115。存储卡接口114能够对存储卡115写入控制程序、各种设定等数据,或者从存储卡115读出控制程序、各种设定等数据。
[0090] 网络控制器116、118、120分别负责经由网络的与任意设备之间的数据交换。网络控制器116、118、120也可以采用EtherCAT(注册商标)、EtherNet/IP(注册商标)、DeviceNet(注册商标)、CompoNet(注册商标)等工业用网络协议。
[0091] 内部总线控制器122负责与构成控制系统1的安全单元300、或者1个或多个功能单元400之间的数据交换。内部总线可以使用厂商固有的通信协议,也可以使用与任意的工业用网络协议相同或遵循任意的工业用网络协议的通信协议。
[0092] 指示器124是通知控制单元100的工作状态等的设备,由配置于单元表面的1个或多个LED(Light Emitting Diode:发光二极管)等构成。
[0093] 在图2中,示出了通过处理器102执行程序而提供所需的功能的结构例,但这些提供的功能的一部分或者全部也可以使用专用的硬件电路(例如,ASIC(Application Specific Integrated Circuit:专用集成电路)或者FPGA(Field‑Programmable Gate Array:现场可编程门阵列)等)来安装。或者,控制单元100的主要部分也可以使用遵循通用架构的硬件(例如以通用个人计算机为基础的工业用个人计算机)来实现。在该情况下,也可以使用虚拟化技术并行地执行用途不同的多个OS(Operating System:操作系统),并且在各OS上执行所需的应用程序。
[0094] (b2:安全防护单元200)
[0095] 图3是表示本实施方式的控制系统1所具有的安全防护单元200的硬件结构例的示意图。参照图3,作为主要的组件,安全防护单元200包含CPU或GPU等处理器202、芯片组204、主存储装置206、二次存储装置208、通信控制器210、USB控制器212、存储卡接口214、网络控制器216、218、指示器224、显示器225以及用于声音输出的扬声器226。
[0096] 处理器202读出保存在二次存储装置208或存储卡等存储卡215中的各种程序,在主存储装置206中展开并执行,由此实现后述的各种安全防护功能。主存储装置206由DRAM(Dynamic Random Access Memory:动态随机存取存储器)或SRAM(Static Random Access Memory:静态随机存取存储器)等易失性存储装置等构成。二次存储装置208例如由HDD(Hard Disc Drive:硬盘驱动器)或SSD(Solid State Drive:固态硬盘)等非易失性存储装置等构成。芯片组204通过对处理器202与各组件之间的数据交换进行中介,来实现作为安全防护单元200整体的处理。
[0097] 在二次存储装置208中,除了包含后述的OS 2601的系统程序以外,还保存有在系统程序提供的执行环境上工作的安全防护系统程序2610。
[0098] 通信控制器210负责与控制单元100之间的数据交换。作为通信控制器210,与控制单元100中的通信控制器210同样地,例如能够采用与PCI Express或者以太网等对应的通信芯片。
[0099] USB控制器212经由USB连接负责与任意的信息处理装置之间的数据交换。
[0100] 存储卡接口214构成为能够装卸存储卡215。存储卡接口214能够对存储卡等存储卡215写入控制程序或各种设定等数据,或者从存储卡215读出控制程序或各种设定等数据。
[0101] 网络控制器216、218分别负责经由网络的与任意设备之间的数据交换。网络控制器216、218也可以采用以太网(注册商标)等通用的网络协议。
[0102] 指示器224、显示器225和扬声器226是用于向外部通知来自安全防护单元200的信息的设备。被通知的信息包含安全防护单元200的工作状态、或者与在控制系统1中检测到的安全防护上的事故相应的应对信息。指示器224由配置在单元表面的1个或多个LED等构成。显示器225包含配置于单元表面的LCD(Liquid Crystal Display:液晶显示器)。扬声器226配置在单元表面,利用声音输出被通知的信息,或者输出警报音等用于提醒管理者注意的声音。
[0103] 存储卡接口214从非易失性地保存计算机可读取的程序的存储卡215(例如DVD(Digital Versatile Disc:数字多功能光盘)等光学存储介质)中读取保存于其中的程序,并安装于二次存储装208或者主存储装置206等。保存在主存储装置206中的程序除了后述的OS 2601以外,还包含安全防护系统程序2610。
[0104] 在安全防护单元200中执行的安全防护系统程序2610等可以经由计算机可读取的存储卡215安装,也可以以从网络上的服务器装置或支持装置600等下载的形式安装。另外,本实施方式的安全防护单元200提供的功能也有时以利用OS 2601提供的模块的一部分的形式来实现。
[0105] 在图3中,示出了通过处理器202执行程序而提供所需的功能的结构例,但也可以使用专用的硬件电路(例如ASIC或FPGA等)来安装这些所提供的功能的一部分或全部。或者,也可以使用遵循通用架构的硬件(例如以通用个人计算机为基础的工业用个人计算机)来实现安全防护单元200的主要部分。在该情况下,也可以使用虚拟化技术并行地执行用途不同的多个OS,并且在各OS上执行所需的应用程序。
[0106] (b3:安全单元300)
[0107] 图4是表示本实施方式的控制系统1所具有的安全单元300的硬件结构例的示意图。参照图4,作为主要组件,安全单元300包含CPU或GPU等处理器302、芯片组304、主存储装置306、二次存储装置308、存储卡接口314、内部总线控制器322、指示器324。
[0108] 处理器302读出保存在二次存储装置308中的各种程序,在主存储装置306中展开并执行,由此实现与安全控制所涉及的控制运算以及各种处理。芯片组304通过对处理器302与各组件之间的数据交换进行中介,来实现作为安全单元300整体的处理。
[0109] 在二次存储装置308中,除了系统程序以外,还保存有在系统程序提供的执行环境上工作的安全程序。
[0110] 存储卡接口314构成为能够装卸存储卡315。存储卡接口314能够对存储卡315写入安全程序、各种设定等数据,或者从存储卡315读出安全程序、各种设定等数据。
[0111] 内部总线控制器322负责经由内部总线的与控制单元100之间的数据交换。
[0112] 指示器324是通知包含安全单元300的工作状态在内的各种信息的设备,由配置于单元表面的1个或多个LED等构成。
[0113] 在图4中,示出了通过处理器302执行程序而提供所需的功能的结构例,但也可以使用专用的硬件电路(例如ASIC或FPGA等)来安装这些所提供的功能的一部分或全部。或者,也可以使用遵循通用架构的硬件(例如以通用个人计算机为基础的工业用个人计算机)来实现安全单元300的主要部分。在该情况下,也可以使用虚拟化技术并行地执行用途不同的多个OS,并且在各OS上执行所需的应用程序。
[0114] <C.控制系统10>
[0115] 再次参照图5,说明具有本实施方式的控制系统1的控制系统10的典型例。另外,为了便于说明,在图5中省略了功能单元400以及电源单元450的记载。
[0116] 控制系统1的安全防护单元200经由通信端口242、243(图3的网络控制器216)与第1网络2连接。第1网络2经由通信端口242连接有SCADA(Supervisory Control And Data Acquisition:监督控制和数据采集)装置700,并经由通信端口243连接有支持装置600。此外,安全防护单元200经由通信端口242与具有CPU等处理器(未图示)的路由器51连接。路由器51具有对安全防护单元200与外部网络50之间的通信进行中继的功能以及FW(FireWall:
防火墙)52的功能等。FW52实施使用了用户名、密码、电子证书等的认证处理、中继的数据(内容)的病毒检查、基于使用了白名单或黑名单的匹配来检测不正当通信的处理等。由此,路由器51仅将从控制系统1向外部网络50发送的数据中的认证或者匹配成功的正当的数据中继到外部网络50,另外,仅将从外部网络50向控制系统1发送的数据中的认证或者匹配成功的正当的数据中继到控制系统1。
[0117] 路由器51输出监视EIP(EtherNet/IP)的访问的通信监视信息511。路由器51根据信息认证或匹配未成功的、可能为所谓的不正当访问的数据生成通信监视信息511,将生成的通信监视信息511经由端口242发送到安全防护引擎250。另外,端口243也输出监视EIP的访问的通信监视信息511。端口243例如包含NIC(Network Interface Car:网络接口卡),根据经由端口243从内部的第1网络2接收的数据中的信息认证或匹配未成功的、可能为所谓的不正当访问的数据,生成通信监视信息511,并将生成的通信监视信息511发送到安全防护引擎250。
[0118] 通信监视信息511包含与从路由器51输出的来自外部网络50的可能为不正当访问的各数据相关的信息、或者与从端口243输出的来自内部的第1网络2的可能为不正当访问的各数据相关的信息。这样的信息例如包含数据的发送源以及发送目的地(地址等)、数据内容(有效载荷等)以及通信时间等。
[0119] 支持装置600至少能够访问控制单元100,向用户提供由控制系统1所包含的各单元执行的程序的生成、调试、各种参数的设定等功能。
[0120] SCADA装置700例如相当于PC(Personal Computer:个人计算机),向操作员提示通过控制系统1中的控制运算得到的各种信息,并且按照来自操作员的操作,对控制系统1生成内部命令等。SCADA装置700还具有收集控制系统1处理的数据的功能。
[0121] 控制系统1的控制单元100经由通信端口142(图2的网络控制器116)与第2网络4连接。第2网络4可连接HMI(Human Machine Interface:人机界面)800和数据库900。
[0122] HMI 800相当于个人计算机。HMI 800向操作员提示通过控制系统1中的控制运算得到的各种信息,并且按照来自操作员的操作,对控制系统1生成内部命令等。HMI 800可构成为能够由FA的维护人员携带。数据库900收集从控制系统1发送的各种数据(例如,与从各工件计测出的与可追溯性相关的信息等)。
[0123] 控制系统1的控制单元100经由通信端口144(图2的网络控制器118)与1个或多个现场设备500连接。现场设备500包含从控制对象收集控制运算所需的各种信息的传感器、检测器、以及对控制对象施加某种作用的制动器等。在图5所示的例子中,现场设备500包含对工件施加某种外部作用的机器人、输送工件的输送机、与配置于现场的传感器、致动器之间交换信号的I/O单元等。在图5中,连接现场设备500的生产线的“ECAT”表示EtherCAT。
[0124] 同样地,负责生产线B的控制单元100也同样经由通信端口144(图2的网络控制器118)与1个或多个现场设备500连接。
[0125] 在此,若着眼于控制系统1的功能面,则控制单元100包含:作为执行标准控制所涉及的控制运算的处理执行部的控制引擎150;以及与外部装置之间交换数据的信息引擎160。安全防护单元200包含用于实现后述的安全防护功能的安全防护引擎250。安全单元
300包含作为执行安全控制所涉及的控制运算的处理执行部的安全引擎350。
[0126] 各引擎通过各单元的处理器等任意的硬件要素或各种程序等任意的软件要素、或者这些要素的组合来实现。各引擎能够以任意的方式安装。
[0127] 进而,控制系统1包含对引擎彼此的交换进行中介的代理(broker)170。代理170的实体也可以配置在控制单元100及安全防护单元200中的一方或双方。
[0128] 控制引擎150保持用于对控制对象进行控制的控制运算的执行所需的变量表及功能块(FB)等。存储在变量表中的各变量通过I/O刷新处理,被周期性地收集为从现场设备500取得的值,并且各变量的值被周期性地反映到现场设备500。控制引擎150中的控制运算的日志也可以保存在二次存储装置108的日志数据库180中。
[0129] 信息引擎160对控制单元100所保持的数据(由变量表保持的变量值)执行任意的信息处理。典型地,信息引擎160包含周期性地向数据库900等发送控制单元100所保持的数据的处理。在这样的数据发送中使用SQL等。
[0130] 另外,信息引擎160监视为了数据库900的访问(读出、写入)而发行的SQL。具体而言,将发行SQL与预先登记的正当模式进行匹配,生成包含对照不一致的结果的SQL信息161,并经由代理170输出到安全防护引擎250。因此,SQL信息161是表示发行了不正当SQL的信息,即、表示能够进行数据库900的篡改的SQL注入的信息。在本实施方式中,SQL信息161例如包含对照不一致的SQL、该SQL的发行时间以及发行源的信息。
[0131] 安全防护引擎250实现如下单元:检测单元,其实施处理以检测在控制系统1中是否发生了安全防护上的事故;以及通知单元,其实施处理以输出应对信息的通知,该应对信息是用户(管理者)应针对检测到的该事故采取的应对信息,与该事故的种类对应。另外,安全防护引擎250执行与检测到的事故的种类对应的处理等。安全防护引擎250的行为例如作为安全防护信息260保存在二次存储装置208中。
[0132] 安全防护引擎250通过指示器224来通知发生了安全防护上的事故或与事故相关的某些事件、或者所发生的安全防护上的事故或事件的等级等。在图5中,例如作为输出通知的设备,仅例示了指示器224,但不仅限于指示器224,也可以是显示器225或扬声器226。
[0133] 安全引擎350检测在控制系统1中是否发生了某些不正当侵入。安全引擎350经由控制单元100取得并反映安全控制所涉及的控制运算的执行所需的安全I/O变量。安全引擎350中的安全控制的日志也可以保存在二次存储装置308的日志数据库360中。
[0134] 例如,代理170可以构成为,当安全防护引擎250检测到某些事故或事件时,改变控制引擎150、信息引擎160和安全引擎350的动作等。
[0135] <D:支持装置600的结构>
[0136] 在本实施方式中,支持装置600对控制系统1进行各种设定。在各种设定中,包含与事故的检测以及事故的应对相关的信息设定。
[0137] 图6是表示与本实施方式的控制系统1连接的支持装置600的硬件结构例的示意图。作为一例,支持装置600使用PC(Personal Computer:个人计算机)等遵循通用架构的硬件(例如,通用个人计算机)来实现。
[0138] 参照图13,支持装置600包含处理器602、主存储器604、输入部606、输出部608、储存器610、访问包含光盘的存储介质614的光学驱动器615、USB控制器620。这些组件经由处理器总线618连接。
[0139] 处理器602由CPU或GPU等构成,读出保存在储存器610中的程序(作为一例,OS 6102及支持程序6104),在主存储器604中展开并执行,由此实现对控制系统1的设定处理等。
[0140] 主存储器604由DRAM或SRAM等易失性存储装置等构成。储存器610例如由HDD或SSD等非易失性存储装置等构成。
[0141] 在储存器610中,除了用于实现基本功能的OS 6102以外,还保存有用于提供作为支持装置600的功能的支持程序6104。即,支持程序6104由与控制系统1连接的计算机执行,由此实现本实施方式的支持装置600。
[0142] 输入部606由键盘、鼠标等构成,受理用户操作。输出部608由显示器、各种指示器、打印机等构成,输出包含来自处理器602的处理结果的各种信息。
[0143] USB控制器620经由USB连接与控制系统1等之间交换数据。
[0144] 在图6中,示出了通过处理器602执行程序而提供作为支持装置600所需的功能的结构例,但也可以使用专用的硬件电路(例如ASIC或FPGA等)来安装这些所提供的功能的一部分或全部。
[0145] <E:用于事故检测和应对的功能结构>
[0146] 参照图7对本实施方式的用于事故检测和应对的功能进行说明。图7是表示本实施方式的安全防护单元200所具有的功能结构例的示意图。参照图7,安全防护单元200为了检测事故,在存储部209(包含二次存储装置208或者主存储装置206而构成的存储部209)中存储有:事故的每个种类的攻击树67、登记事故的每个种类的应对信息的应对数据库66、OS 2601、安全防护系统程序2610、以及包含对与控制系统1网络连接的装置进行识别的信息的网络结构信息2620。另外,存储部209包含用于保持(保存)待输出的(或已输出的)通知68的区域207、以及保存安全防护单元200收集的信息的区域208。另外,存储部209存储后述的表
221。
[0147] 在区域208中保存有外部信息71、SGU内部信息72以及PLC状态信息73。外部信息71是在控制系统1的外部取得的信息,在本实施方式中,例如包含来自路由器51的通信监视信息511、来自信息引擎160的SQL信息161、将外部网络50与控制系统1连接/切断的信息等。
[0148] SGU内部信息72包含安全防护单元200的状态信息(正常、异常)以及存储卡215的装卸状态等信息。例如,如果处理器的处理负荷的大小超过阈值,则安全防护单元200的状态信息表示异常,如果为阈值以下则表示正常。
[0149] PLC状态信息73包含控制单元100的状态信息(正常、异常等)以及存储卡115的装卸状态等信息。例如,如果处理器的处理负荷的大小超过阈值,则控制单元100的状态信息表示异常,如果为阈值以下则表示正常。
[0150] 安全防护系统程序2610包含用于实现安全防护引擎250的信息收集程序2611、事故检测程序2612、通知处理程序2613以及通知输出程序2614。
[0151] 处理器202通过在OS 2601的基础上周期性地执行安全防护系统程序2610来实现安全防护引擎250。该执行周期例如与控制单元100的控制程序的执行周期同步。
[0152] 安全防护引擎250包含通过执行信息收集程序2611而实现的信息收集部20、通过执行事故检测程序2612而实现的事故检测部21、通过执行通知处理程序2613而实现的通知处理部22、以及通过执行通知输出程序2614而实现的通知输出部23。通知处理部22以及通知输出部23构成通知单元。
[0153] 信息收集部20收集外部信息71(包含通信监视信息511或者SQL信息161)、安全防护单元200的SGU内部信息72,并经由代理170从控制单元100收集(接收)PLC状态信息73,将收集到的信息保存到区域208。由于信息收集部20周期性地收集这些信息,所以在区域208中始终保存最新的信息。
[0154] 事故检测部21将区域208的信息与安全防护上的每个事故的种类的攻击树67的信息进行比较,基于比较的结果,检测在控制系统1中是否发生了事故,并且检测(判断)事故的种类。该事故检测的详情将在后面叙述。
[0155] 通知处理部22根据事故检测部21的检测结果来检索应对数据库66,按照检索的结果,从应对数据库66中读出与检测到的事故对应的应对信息,并生成应对信息的通知68。另外,通知处理部22将通知68保存在存储部209的区域207中。通知68包含标识符(事故的种类、产生的时间、后述的严重程度Phi以及风险值等)的ID683、以及消息682。通知输出部23对包含指示器224、显示器225以及扬声器226等的输出部进行控制,以输出通知68。另外,通知输出部23对输出部进行控制,以按照由事故检测部21进行了对应事故的检测的时间序列,输出包含消息682的通知68。
[0156] 在本实施方式中,消息682表示用于对适当地应对事故用的指南或对针对事故的某种对策进行引导的信息。应对或对策可包含对控制系统1的操作。因此,消息682可包含使控制系统1的运转状态变化的应对或应对信息。
[0157] 由此,在检测到事故的情况下,用户能够根据经由输出部输出的应对信息(引导等消息682)确认最新的指南,另外,通过采取被引导的应对行动,能够以应对事故的方式,使控制系统1在改变运转状态的同时运转。另外,应对信息能够按照事故的检测时间按时间序列输出,用户能够应对按时间序列变化的事故。
[0158] <F:用于应对数据库和攻击树以及生成的功能结构>
[0159] 本实施方式的应对数据库66和攻击树67由支持装置600生成,并且被传送到安全防护单元200。图8是示出本实施方式的支持装置600所具有的功能结构例的示意图。
[0160] 参照图8,支持装置600的储存器610保存在支持装置600中生成的应对数据库66和事故的每个种类的攻击树67,并且保存关联的信息。关联的信息包含关于管理控制系统1的用户(或者能够应对事故的用户)而设定的用户信息62、关于控制系统1的网络结构信息63以及表示控制单元100的结构的PLC结构信息65。
[0161] 进而,在储存器610中,在OS 6102的基础上执行的支持程序6104包含应对数据库生成程序611、攻击树生成程序612及传送程序613。
[0162] 处理器602具有通过执行应对数据库生成程序611而实现的应对数据库生成部621、通过执行攻击树生成程序612而实现的攻击树生成部623、以及通过执行传送程序613而实现的传送部624。
[0163] 应对数据库生成部621按照经由输入部606受理的用户操作,生成应对数据库66。应对数据库生成部621将用户信息62显示于输出部608的显示器。因此,用户能够一边参照用户信息62,一边实施用于生成应对数据库66的信息的输入操作。另外,应对数据库生成部
621按照网络结构信息63,使应对数据库66的内容(消息682等)不同。另外,应对数据库生成部621按照PLC结构信息65,使应对数据库66的内容(消息682等)不同。
[0164] 图9是示意性地表示本发明实施方式的用户信息62的一例的图。图10是示意性地表示本发明实施方式的应对数据库66的一例的图。参照图9,用户信息62与事故的严重程度Phi分别相关联地包含:应该被通知该严重程度Phi(i=1、2、3、···)的事故或应该应对事故的用户的标识符62a、该用户所属的组织名62b、用于与用户进行通信的电话号码62c以及电子邮件的地址62d。
[0165] 在本实施方式中,严重程度Phi表示因事故而对控制系统1的安全防护造成的危险度(可能带来损失的程度)、紧急程度(必须着急应对的程度)等的影响的程度。如图9的下段所示,严重程度Phi可以采用例如“高”(Ph3)、“中”(Ph2)和“低”(Ph1)中的任意一个。另外,在图9的下段中,与严重程度Phi的各等级相关联地,示出了在检测到该等级的严重程度Phi的情况下进行应对的通知的时机、以及控制系统1通过实施该应对而能转移到的状态等。另外,在本实施方式中,将严重程度设为Ph1~Ph3这3个阶段,但阶段并不限定于3个阶段。
[0166] (f1.应对数据库的结构)
[0167] 参照图10,应对数据库生成部621基于用户操作而生成的应对数据库66按所设想的每个事故的种类680,与该种类相关联地,包含事故的严重程度Phi、以将各严重程度Phi细分化而得到的值表示的风险值681和应对消息682。在图10中,例如示出了针对“冒充”的事故的应对数据库。如图10所示,以如下方式生成应对数据库66:各严重程度Phi(风险值681)越高,消息682包含指定更上位组织的负责人(用户)来作为通知对象的数据,并且包含表示更高的危险程度或紧急程度的消息。另外,如后所述,风险值681在实施基于安全防护单元200的动态决定的情况下被参照。
[0168] 图11是示意性地表示本实施方式的应对数据库66的另一例的图。本实施方式的控制系统1中的设想的事故不限于图10的“冒充”,如图11所示,还能够对“冒充”进行追加,生成与“DoS攻击”以及“篡改”等事故对应的应对数据库。图11的应对数据库66也以如下方式生成:按照每个事故,该事故的各严重程度Phi(风险值681)越高,消息682包含指定更上位组织的负责人(用户)来作为通知对象的数据,并且包含表示更高的危险程度或紧急程度的消息。
[0169] (f2.攻击树的结构)
[0170] 攻击树生成部623根据经由输入部606的用户操作生成攻击树67。图12是示意性地示出本实施方式的攻击树67的结构的一例的图。攻击树生成部623按照事故的每个种类生成攻击树67。在图12中示出例如与“DoS攻击”对应的攻击树67。图12的攻击树67由具有3层级(严重程度Ph1~Ph3)的深度的树结构表示。该树结构包含按每个层级配置的叶要素671、672和673以及作为树结构的最上位的要素的根要素670。层级间的叶要素彼此、以及最上位层级的叶要素与根要素670彼此由分支675连接。在图12的攻击树67中,对各叶要素分配用于判定在控制系统1中可能发生的事件、即发生了可能成为该事故(“DoS攻击”)的主要原因的事件的条件。
[0171] 根据图12的攻击树67,对各叶要素分配的条件表示基于如下接收的次数的条件,该接收是通信端口对来自同一发送源的数据的接收,且是可能成为对控制系统1的不正当访问的数据的每单位时间的接收。该不正当访问的有无和每单位时间的次数能够通过基于来自路由器51的通信监视信息511来取得。例如,当满足严重程度Ph1的叶要素673的条件(K次≤每单位时间的不正当访问次数<M次)时,事故成为严重程度Ph1的状态。当不正当访问次数进一步增加时,沿着分支675来判断上位层级(严重程度Ph2)的叶要素672的条件。例如,当满足严重程度Ph2的叶要素672的条件(M次≤每单位时间的不正当访问次数<N次)时,事故成为严重程度Ph2的状态。当不正当访问次数进一步增加时,如果沿着分支675满足严重程度Ph3的叶要素671的条件(N次≤每单位时间的不正当访问次数),则事故成为严重程度Ph3的状态。这样,一边沿着分支675从攻击树67的下位层级向上位层级前进,一边判定是否满足各层级的叶要素的条件、即与各严重程度Phi对应的条件,由此能够决定该攻击树67的事故(“DoS攻击”)的严重程度Phi。
[0172] 同样,还能够生成与“篡改”对应的攻击树67。在“篡改”的攻击树67中,与对各叶要素分配的严重程度Phi对应的条件例如表示基于可能对数据库900进行不正当操作的SQL注入在每单位时间发行的次数的条件。事故检测部21通过基于来自信息引擎160的SQL信息161,取得有无发行SQL注入和每单位时间的发行次数。这样,在“篡改”的攻击树67中,也一边沿着分支675从下位层级向上位层级前进,一边判定SQL信息161是否满足与各层级的叶要素中的严重程度Phi对应的条件,由此能够决定该攻击树67的事故(“篡改”)的严重程度Phi。
[0173] 另外,图12所示的攻击树67的树结构不过是例示,能够变更层级的数量、叶要素的数量等。另外,即使是其他种类的事故(例如“假冒”),攻击树生成部623也能够生成与图12同样的攻击树67。
[0174] 应对数据库生成部621生成的应对数据库66和攻击树生成部623生成的攻击树67被保存在储存器610中。此外,传送部624将应对数据库66和攻击树67传送到安全防护单元200。安全防护单元200从传送部624接收关于各种事故的应对数据库66和攻击树67,并且将其保存在图7的存储部209中。
[0175] <G.事故检测部21的检测方法>
[0176] 对本实施方式的安全防护单元200所进行的事故的检测方法进行说明。本实施方式的针对事故的应对信息(消息682)的决定包含静态地决定的静态决定和动态地决定的动态决定。通过用户对安全防护单元200进行操作,能够对安全防护单元200设定(切换)静态决定和动态决定中的任意一个。静态决定包含如下方法:基于使用规定信息而判定出的严重程度Phi来决定应对,该规定信息是表示控制系统1的运转状态的状态信息中的用于检测事故的规定信息。与此相对,动态决定包含如下方法:使用基于规定信息的严重程度Phi和表示运转状态的状态信息来检测事故的严重程度(后述的风险值681)。
[0177] 图13是示意性地说明本发明实施方式的针对事故的应对的静态决定方法的图。图14是示意性地说明本发明实施方式的针对事故的应对的动态决定方法的图。在图13和图14中,例示了例如“DoS攻击”的情形作为事故。
[0178] (g1.静态决定)
[0179] 图13的(A)是简化了图12的攻击树67的图,仅示出各层级(严重程度Ph1~Ph3的各层级)的叶要素。图13的(B)中省略了“DoS攻击”的应对数据库66中的风险值681,包含事故的种类680、严重程度Ph以及消息682的项目。在实施静态决定的情况下,事故检测部21基于由信息收集部20收集到的通信监视信息511判断是否满足图13的(A)的攻击树67的各层级的条件,并基于判断结果沿着分支675来判断严重程度Phi。通知处理部22根据来自事故检测部21的输出(即,输入的种类(“DoS攻击”)和严重程度Phi),检索与图13的(B)的事故的种类(“DoS攻击”)对应的应对数据库66。通知处理部22通过检索从应对数据库66中读出与严重程度Phi对应的消息682。通知输出部23输出来自通知处理部22的通知(消息682)。
[0180] 这样,根据静态决定,仅使用表示运转状态的状态信息中的用于检测事故的规定信息(例如,通信监视信息511)来检测事故(种类和严重程度Phi),能够对用户通知与严重程度Phi唯一对应的应对信息(消息682)。
[0181] (g2.动态决定)
[0182] 与此相对,在实施动态决定的情况下,与静态决定同样地判定严重程度Phi,但能够根据信息收集部20收集的状态信息,使与判定出的严重程度Phi对应的应对信息不同。参照图14对这样的动态决定进行说明。
[0183] 图14的(A)是持示意性地表示基于动态决定的风险值681的计算、和应对信息(消息682)的决定步骤的流程图。图14的(B)是“DoS攻击”的应对数据库66,包含事故的种类680、严重程度Phi、风险值681以及消息682的项目。各严重程度Phi的风险值681是将严重程度Phi细分为多个等级而得到的值,将消息682与风险值681的各等级建立对应。
[0184] 参照图14的(A),首先,事故检测部21使用图13的(A)的攻击树67和规定信息(通信监视信息511)来检测事故的种类和严重程度Phi(步骤R1)。该检测与上述的静态决定相同。
[0185] 接着,通知处理部22根据运转状态的信息计算风险值681(步骤R3)。在本实施方式中,该运转状态的信息例如包含外部信息71、SGU内部信息72以及PLC状态信息73。步骤R3的风险计算的详细情况将后述。
[0186] 通知处理部22根据通过步骤R3计算出的风险值681来检索图14的(B)的应对数据库66,从应对数据库66中读出与该风险值681对应的应对信息(消息682)(步骤R5)。通知输出部23经由输出部通知从应对数据库66读出的应对信息(步骤R7)。
[0187] (g2‑1.风险值的计算)
[0188] 图15是表示图14的(A)的步骤R3中的风险计算的一例的流程图。参照图15,说明风险值681的计算。首先,通知处理部22将用于风险计算的变量k设置为值0(步骤R31)。通知处理部22判定由事故检测部21检测到的事故的种类(步骤R33)。如果判断为“DoS攻击”,则转移到步骤R35,如果判断为“篡改”,则转移到步骤R49,如果判断为“冒充”,则转移到步骤R63。在此,说明“DoS攻击”和“篡改”的风险值的计算,但即使是“冒充”,也能够以同样的步骤计算风险值681。
[0189] 首先,在“DoS攻击”的情况下,通知处理部22根据外部信息71判断控制系统1是否与外部网络50连接(步骤R35)。若判断为连接(步骤R35中的“是”),则通知处理部22对变量k的值加上10(k=k+10)(步骤R39),若判断为未连接(步骤R35中的“否”),则通知处理部22对变量k的值加上5(k=k+5)(步骤R37)。
[0190] 另外,通知处理部22基于SGU内部信息72或PLC状态信息73判断处理器的负荷是否高(步骤R41)。若判断为负荷高(步骤R41中的“是”),则通知处理部22将变量k的值加上5(k=k+5)(步骤R45),若判断为负荷不高(步骤R41中的“否”),则通知处理部22将变量k的值加上0(k=k+0)(步骤R43)。然后,通知处理部22使用严重程度Phi的值(i=1、2、3中的任意一个)计算(风险值=i×k)(步骤R47)。然后,返回到原来的处理。
[0191] 同样地,在“篡改”的情况下,通知处理部22根据外部信息71判断控制系统1是否与外部网络50连接(步骤R49),若判断为连接(步骤R49中的“是”),则对变量k的值加上10(k=k+10)(步骤R53),若判断为未连接(步骤R49中的“否”),则对变量k的值加上5(k=k+5)(步骤R51)。
[0192] 另外,通知处理部22基于SGU内部信息72或者PLC状态信息73,判断是否从外部对控制系统1安装了装置(PC或者外部存储介质)等(步骤R55)。若判断为已安装(步骤R55中的“是”),则通知处理部22对变量k的值加上5(k=k+5)(步骤R59),若判断为未安装(步骤R55中的“否”),则通知处理部22对变量k的值加上0(k=k+0)(步骤R57)。然后,通知处理部22使用严重程度Phi的值(i=1、2、3中的任意一个)计算(风险值=i×k)(步骤R61)。然后,返回到原来的处理。
[0193] 这样,通过使用实时收集的运转状态的信息,能够计算出与事故的种类及其严重程度Phi对应的风险值681。另外,通过根据事故的种类使表示计算所使用的运转状态的信息的种类不同,能够计算与事故的种类对应的风险值。
[0194] 例如,在“DoS攻击”中,在包含因特网的外部网络50成为攻击路径的情况下,与并非如此的情况相比,通常对安全防护造成的风险大。因此,在图15中,在根据外部信息71判断为连接了外部网络50的情况下(步骤R35中的“是”),与未连接外部网络50的情况相比,对用于计算风险值的系数(变量k)设定较大的值(步骤R39)。另外,在“DoS攻击”中,受到攻击的装置的资源被过度消耗,处理器的负荷变高,存在对原本的控制程序执行造成不良影响的风险。因此,在图15中,在处理器的负荷高的情况下(步骤R41中的“是”),与并非如此的情况相比,对用于计算风险值的系数(变量k)设定较大的值(步骤R45)。同样地,在“篡改”中,在连接有外部网络50的情况下(步骤R49中的“是”)以及在控制系统1中安装有外部装置或者存储介质等设备的情况下(步骤R55中的“是”),与外部网络或者未安装这些设备的情况相比,对计算风险值的系数(变量k)设定较大的值(步骤R53、步骤R59)。另外,如果是通常在控制系统1的附近没有人的情形,则步骤R55的条件也可以包含在控制系统1的附近有人这一条件。
[0195] 这样,通过信息收集部20在控制系统1的运转中周期性地收集运转状态的信息,安全防护引擎250能够使用与安全防护引擎250的处理同时(实时)收集的运转状态的信息来计算风险值681。因此,能够将与事故的严重程度Phi对应的风险值681动态地决定为与控制系统1的运转状态对应的值,并且,还能够动态地切换并提供与事故种类的风险值681对应的通知68。
[0196] <H.全对处理>
[0197] 图16是表示本发明实施方式的整体处理的一例的流程图。安全防护单元200的CPU201周期性地反复执行图16的处理。首先,事故检测部21根据信息收集部20收集的信息中的规定信息,按照攻击树67,检测有无事故(步骤T1)。在未检测到事故的情况下(步骤T1中的“否”),处理结束,但在检测到的情况下(步骤T1中的“是”),事故检测部21通过沿着攻击树67来决定事故的种类以及严重程度Phi(步骤T3)。通知处理部22根据来自事故检测部21的输出,检索应对数据库66,由此读出对应的应对信息(消息682)(步骤T5)。通知输出部
23经由输出部通知所读出的应对信息(步骤T7)。用户按照经由输出部通知的应对信息,对事故实施应对(步骤T13)。由此,控制系统1的安全防护等级被变更。
[0198] 安全防护引擎250判断是否实施规定处理(步骤T9)。例如,该判断是基于用户操作来实施的。在判断为不实施规定处理时(步骤T9中的“是”),处理结束,但在判断为实施规定处理的情况下(步骤T9中的“否”),实施规定处理(步骤T11)。
[0199] 图17是示意性地表示本发明实施方式的安全防护引擎250实施的规定处理的一例的图。规定处理能够根据具有控制系统1的网络结构而不同。例如,如图17的(A)所示,在外部网络50连接有1台控制系统1的网络结构的情况下,在通常时,控制系统1将日志(用于事故检测的信息(外部信息71、SGU内部信息72以及PLC状态信息73等)传送并保存到外部网络50上的云服务器(未图示)(步骤SS1)。在检测到事故的情况下,在步骤T11的规定处理中,安全防护引擎250将与外部网络50的连接完全切断(步骤SS3),为了可追溯性将该日志保存到存储部209的规定区域(步骤SS2)。另外,如图17的(B)所示,在多台(例如2台)控制系统1与外部网络50连接的网络结构的情况下,在通常时,各控制系统1将日志(用于事故检测的信息(外部信息71、SGU内部信息72以及PLC状态信息73等)传送并保存到外部网络50上的云服务器(未图示)。在检测到事故的情况下,在步骤T11的规定处理中,安全防护引擎250与外部网络50断续地连接(步骤SS4),由此,能够向未检测到事故的其他控制系统1(控制单元100)提供可与外部网络50连接的环境,能够减少对其他控制系统1的运转的影响。
[0200] 在上述的步骤T5中,按照上述的静态决定或者动态决定来决定(读出)应对信息(消息682)。参照图18和图19对该具体的处理进行说明。
[0201] (h1.基于静态决定的通知处理)
[0202] 首先,对包含静态决定的通知处理进行说明。图18是表示本发明实施方式的基于静态决定的通知处理的一例的流程图。参照图18,对通知处理部22的包含静态决定的处理进行说明。首先,事故检测部21基于规定信息(通信监视信息511或者SQL信息161等),按照攻击树67检测有无发生事故,并且决定事故的种类以及严重程度Phi(步骤S3)。
[0203] 通知处理部22基于来自事故检测部21的输出,确定与事故的种类对应的应对数据库66,通过检索基于严重程度Phi确定的应对数据库66,从应对数据库66中读出与严重程度Phi对应的消息682(步骤S5)。
[0204] 通知处理部22判断所读出的消息682以前是否已被通知(步骤S7)。具体而言,通知处理部22将基于事故检测部21的事故种类和检测时间、与存储部209的区域207的各通知68的ID683(事故的种类和时间)进行对照。通知处理部22在对照的结果是检测到具有一致的ID683的通知68未被保存在区域207中时,判断为所读出的消息682的通知以前未被输出过(步骤S7中的“是”)。通知处理部22控制通知输出部23,以根据所读出的消息682生成通知68,并经由输出部输出通知68(步骤S9)。
[0205] 另一方面,当检测到上述对照一致的通知68被保存在区域207中时,通知处理部22判断为所读出的消息682在以前被通知过(步骤S7中的“否”)。通知处理部22基于区域207的通知68的检索结果,判断是否通知了与在步骤S3中检测到的种类相同种类的事故对应的2个以上的消息682(步骤S11)。
[0206] 通知处理部22在判断为已经通知了2个以上的消息682时(步骤S11:是),判断在步骤S5中读出的消息682是否是新的(步骤S13)。具体而言,通知处理部22将该读出的消息682与上述对照一致的通知68的消息682进行对照,基于对照结果进行判断。通知处理部22在基于该对照结果判断为该读出的消息682不是新的而已经被通知过时(步骤S13:否),根据读出的消息682生成通知68,并控制通知输出部23,使得在输出部中与已有的消息682并行地输出生成的通知68(步骤S17)。
[0207] 另一方面,通知处理部22在判断为在步骤S5中读出的消息682是新的且未被通知过时(步骤S13中的“是”),根据读出的消息682生成通知68,并控制通知输出部23,使得在输出部中与已有的消息682并行地输出生成的通知68(步骤S15)。
[0208] 另外,也可以在判断为在上述的步骤S5中读出的消息682不是新的消息时(步骤S13中的“否”),实施消息682的覆盖(步骤S17)。例如,通知处理部22也可以控制通知输出部23,使得生成的通知68被覆盖为已有的消息682中的1个(例如,ID683表示最近的时间的(最新的)消息682)并输出。
[0209] 另外,通知处理部22在判断为没有通知2个以上的消息682时(步骤S11中的“否”),即判断为以前通知的消息682为1个时,对严重程度Phi进行对照(比较)。具体而言,通知处理部22对在步骤S5中读出的消息682和以前被通知的消息682这两者的严重程度Phi进行对照,基于对照结果判断两者是否一致(步骤S19)。在判断为双方的严重程度Phi相同的情况下(步骤S19中的“是”),通知处理部22根据在步骤S5中读出的消息682生成通知68,并控制通知输出部23,使得在输出部中将生成的通知68覆盖为已有的消息682并输出(步骤S21)。
[0210] 另一方面,通知处理部22在判断为双方的严重程度Phi不同时(步骤S19中的“否”),即、在判断为在步骤S5中读出的消息682不是新且未被通知过时,根据读出的消息682生成通知68,并控制通知输出部23,使得在输出部中与已有的消息682并行地(即,按照时间序列地)输出所生成的通知68(步骤S23)。
[0211] (h2.基于动态决定的通知处理)
[0212] 接着,对包含动态决定的通知处理进行说明。图19是表示本发明实施方式的基于动态决定的通知处理的一例的流程图。参照图19,对通知处理部22的包含动态决定的处理进行说明。图19的处理与图18的处理相比,不同点在于,追加图14的(A)的计算风险值681的步骤R3,另外,将图18的步骤S5变更为图14的(A)的用于根据风险值681检索应对数据库66的步骤R5,另外,将图18的步骤S19变更为作为使用了风险值681的处理的步骤S19a。图19的其他处理与图18的处理相同。因此,不重复其他处理的说明。
[0213] 在图19中,通知处理部22基于事故检测部21的输出(事故的种类和严重程度Phi),计算风险值(步骤R3)。通知处理部22根据计算出的风险值681来检索应对数据库66,读出与风险值681对应的消息682(步骤R5)。另外,在步骤S19a中,通知处理部22将在步骤R5中读出的消息682的严重程度Phi、风险值681与已经被通知的消息682的严重程度Phi、风险值681进行对照,根据对照结果判断两者是否一致。
[0214] 根据图18或图19的通知处理部22以及通知输出部23的处理,所通知的消息682所表示的处理包含使控制系统1的运转状态变化的应对信息(例如对控制系统1的操作)。因此,在用户按照所通知的消息682实施了应对的情况下,可以预想到事故的严重程度Phi或风险值681变小。因此,在步骤S17或步骤S23等中通知的消息682的严重程度Phi或风险值681随着时间而变小。在该情况下,用户能够根据被通知的消息682(或者被通知的严重程度Phi、风险值681),实时地确认对事故的应对已成功。另外,相反地,在所通知的消息682的严重程度Phi或风险值681随着时间而变大或不变化的情况下,用户能够实时地确认未充分进行对事故的应对。
[0215] <I.通知的方法>
[0216] 本发明实施方式的通知输出部23控制输出部,以输出包含由通知处理部22输出的消息682和ID683的通知68。由此,通知输出部23能够经由输出部向用户提示作为对事故的应对信息的消息682。图20是用于说明本发明实施方式的应对信息的提示方法的图。
[0217] 参照图20,在本实施方式中,作为通知应对信息的输出部的装置(介质),包含LED、7段显示器、巡视灯231、声音、振动、HMI、PC工具等。LED以点亮颜色或闪烁方式输出通知(事故的种类、严重程度Phi、风险值)。另外,7段显示器通过七个图像(例如,由LED构成)来显示通知(事故的种类、严重程度Phi、风险值),另外,以闪烁方式输出LED。
[0218] 巡视灯231通过灯的点亮颜色或闪烁(点亮)模式等的组合输出通知。作为声音,能够使用蜂鸣声,通过蜂鸣声的周期、大小、高度等的组合来输出通知。作为振动,能够使用超声波振动或者物理的振动,通过组合振动不同的周期,能够输出通知。另外,在使用HMI 800或支持装置600来作为输出部的装置(介质)的情况下,通过在HMI 800或支持装置600的画面中弹窗显示通知、或使HMI 800或支持装置600所允许的操作根据通知的内容而不同,对用户提示通知。
[0219] <J.基于结构的通知方法>
[0220] 在本实施方式中,应对数据库66所具有的应对消息682能够根据控制单元100的结构、或者具有控制单元100的网络的结构来切换。图21是例示本发明实施方式的基于控制单元100的结构信息的应对消息682的切换的图。参照图21,说明基于控制单元100的结构的应对数据库66的切换。在本实施方式中,在控制单元100的主存储装置106的SRAM等中,保存有表示控制单元100的结构的结构信息即配置数据(config data)(configuration data的简称)1061。例如,配置数据1061具有表示控制单元100应用于无人工厂的FA、或者应用于有人工厂的FA等区分的信息。安全防护单元200能够经由代理170从控制单元100接收配置数据1061。另外,控制单元100的结构信息并不限定于无人/有人的信息。
[0221] 保存于存储部209的应对数据库66包含图21的(A)的面向无人FA的应对数据库66和图21的(B)的面向有人FA的应对数据库66。通知处理部22基于控制单元100的配置数据1061,从保存于存储部209的应对数据库66中,将面向无人FA的应对数据库66以及面向有人FA的应对数据库66中的一方设定为检索对象。由此,能够根据控制单元100的结构来切换应对数据库66。
[0222] 图21的(B)的面向有人FA的应对数据库66的消息682包含“注意对安全区域的侵入”的消息6821以及“请与装置隔开距离”的消息6822等、面向可能存在于控制单元100周围的用户的提醒注意的消息。与此不同,图21的(A)的面向无人FA的应对数据库66的消息682不包含面向控制单元100周围的用户的提醒注意的消息。
[0223] 另外,在配置数据1061包含具有控制单元100的网络的结构信息的情况下,通知处理部22基于来自控制单元100的配置数据1061,对作为检索对象的应对数据库66进行切换。例如,在配置数据1061表示具有控制单元100的网络的结构仅具有1台控制单元100的情况下,如图17的(A)所示,切换为包含“切断外部网络”这样的消息682的应对数据库66,与此相对,例如在配置数据1061表示控制单元100连接有其他控制单元100的网络结构的情况下,如图17的(B)所示,能够切换为包含“不完全切断外部网络而断续地切断”这样的消息682的应对数据库66,以便其他控制单元100能够与外部网络50进行通信。
[0224] <K.使用了PLC状态信息的事故检测>
[0225] 在本实施方式中,通知处理部22也可以根据是否事先检测出事故和控制系统1的运转状态来变更消息682。在此,作为控制系统1的运转状态,例示控制单元100的运转状态。
[0226] 图22是示意性地表示本发明实施方式的应对消息的另一例的图。另一例的应对消息682a作为表221保存在存储部209中。参照图22,表221的另一例的应对消息682a与表示控制单元100的运转状态的PLC状态信息73和数据731相关联地决定。数据731表示是否事先检测到事故。在图22中,作为控制单元100的状态,PLC状态信息73例如例如示出“全停障碍”、“部分停止障碍”和“轻度障碍”、以及表示存储卡115的安装的“SD卡插入”和对外部设备的端口142的“USB连接”等。
[0227] 在PLC状态信息73表示“全停障碍”的情况下,在该“全停障碍”满足对应的数据731的条件、即在“事先有检测到事故”下发生这一条件时,事故检测部21检测到事故(图22的情形1)。另一方面,在不满足该条件时(即,满足在“事先没有检测到事故”下发生这一条件时),事故检测部21未检测到事故(图22的情形2)。因此,仅在情形1的情况下,通知处理部22根据事故检测部21的输出,通知与情形1对应的消息682a的“有可能因事故而造成全停障碍”的消息。同样地对PLC状态信息73为“部分停止障碍”和“轻度停止障碍”的每一个实施同样的处理。
[0228] 另外,在PLC状态信息73表示“SD卡插入”或“USB连接”的情况下,满足对应的数据731的条件、即“与是否事先检测到事故无关(与有无无关)”这一条件,从而事故检测部21检测到事故。通知处理部22根据事故检测部21的输出,输出对应的消息682a。
[0229] <L.与安全防护等级对应的应对变更>
[0230] 图23是说明本发明实施方式的与安全防护等级的变化对应的应对方法的图。作为本实施方式的背景,应用控制系统1的FA环境中的安全防护等级有时按工厂的每个FA而不同。因此,在本实施方式中,能够按照应用控制系统1的环境的每个安全防护等级,使针对安全防护上的事故的应对不同。
[0231] 图23的(A)表示应用控制系统1的FA环境的安全防护等级低的情形,图23的(B)表示该安全防护等级高的情形。在图23的(A)中,仅安全防护单元200具有应对安全防护上的事故的功能,与控制系统1网络连接的其他设备不具有安全防护上的事故的检测等功能。在该情况下,通知处理部22输出的消息682也可以包含针对支持装置600、SCADA装置700等装置或网络结构的应对。与此相对,在图23的(B)中,除了安全防护单元200以外,与控制系统1网络连接的其他设备也具有安全防护上的事故的检测等功能。在该情况下,支持装置600、SCADA装置700以及路由器51等也具有应对事故的功能,另外,在进行了对工厂的进出管理(物理安全防护)的情况下,通知处理部22输出的消息682包含提示日志确认的应对即可。
[0232] 应用控制系统1的FA环境的安全防护等级例如被保存于二次存储装置208。另外,在存储部209中保存有每个安全防护等级的应对数据库66,各应对数据库66具有与对应的安全防护等级对应的消息682。通知处理部22根据安全防护等级切换应该检索的应对数据库66。由此,通知处理部22在检测到事故时,能够输出表示与安全防护等级对应的应对的消息682。
[0233] <M.输出部的变形>
[0234] 图24是示意性地表示本发明实施方式的通知68的输出部的一例的图。在本实施方式中,能够使通知68的输出部多样化。通知68的输出部可以对安全防护单元200进行追加而包含其他装置(例如,控制单元100、耦合器、各种通信单元、HMI 800等)。
[0235] (m1.在安全防护单元200中输出通知68的情形)
[0236] 首先,输出通知68的输出部例如包含安全防护单元200所具有的指示器224、显示器225或扬声器226等。进而,也可以包含未图示的振动部(振动器)或LED。通知输出部23根据通知68控制振动部,以使振动的周期可变,或者按照通知68将LED控制成闪烁或点亮的周期、或者点亮颜色可变。由此,维护FA的维护人员通过确认安全防护单元200所具有的输出部的通知68,能够按照所通知的消息682来应对事故。例如,能够以避免控制单元100的停止的方式实施应对。
[0237] (m2.在HMI 800中输出通知68的情形)
[0238] 通知输出部23能够向HMI 800输出通知68。因此,即使在维护人员位于远离安全防护单元200的场所的情况下,也能够通过HMI 800确认通知68来应对事故。
[0239] 另外,在本实施方式中,HMI 800可能存在与安全防护单元200以及控制单元100双方连接的情况和与一方连接的情况。在HMI 800与安全防护单元200以及控制单元100双方连接的情况下,通知输出部23向双方的HMI 800或一方的HMI 800输出通知68。
[0240] (m3.通过巡视灯231输出通知(68)的情形)
[0241] 通知68的输出部可包含设置于控制系统1所具有的工厂的巡视灯231。通知输出部23按照通知68,将巡视灯231控制为点亮颜色、点亮周期等可变。因此,即使在维护人员位于远离安全防护单元200的场所的情况下,也能够从设置于工厂内的巡视灯231的点亮得到应对信息。
[0242] (m4.通过支持装置600输出通知68的情形)
[0243] 通知68的输出部可包含维护人员操作的支持装置600等PC(PersonalComputer:个人计算机)工具。通知输出部23控制支持装置600,以输出通知68。因此,即使在维护人员位于远离安全防护单元200的场所的情况下,也能够从支持装置600的输出得到应对信息。另外,在PC工具中,也可以根据通知68而以限制支持装置600的操作的方式进行动作。由此,还能够防止维护人员的意外操作。
[0244] 另外,在本实施方式中,支持装置600可能有与安全防护单元200及控制单元100双方连接的情况和与一方连接的情况。在支持装置600与安全防护单元200及控制单元100双方连接的情况下,通知输出部23向双方的支持装置600或一方的支持装置600输出通知68。
[0245] (m5.通过监视用PC 232输出通知68的情形)
[0246] 通知68的输出部可包含监视用PC 232,该监视用PC 232作为工厂所具有的FA的管理者操作的、例如PC(Personal Computer:个人计算机)来提供。通知输出部23控制监视用PC 232,以输出通知68。因此,即使在监视者位于远离安全防护单元200的场所的情况下,也能够从监视用PC 232的输出得到应对信息。此外,监视用PC 232也可以构成为能够携带。
[0247] 在图24中,示出了安全防护单元200连接有作为情形m1~m5的输出部的所有装置的状态,但并不限定于此。即,控制系统1也可以是连接作为情形m1~m5的输出部的装置中的1个以上的状态。另外,通知输出部23能够按照上述的情形m1~m5中的任意1个来输出通知68,或者将情形m1~m5中的2个以上的情形组合来输出通知68。另外,指定应用哪种情况的信息也可以由用户(维护人员或管理者)设定在安全防护单元200中。
[0248] 另外,在本实施方式中,通知输出部23也可以从存储部209的网络结构信息2620确定与控制系统1网络连接的装置,基于确定出的装置的信息,决定输出部(实施情形m1~m5中的哪一个)。
[0249] (m6.向其他SGU输出通知68的情形)
[0250] 图25是示意性地表示本发明实施方式的通知68的输出部的另一例的图。在本实施方式中,FA可构成为具有多个控制系统1。在该情况下,某控制系统1的通知68除了上述的情形m1~m5的输出部以外,也可以由其他控制系统1输出。
[0251] 由此,在其他系统中发生事故时,还能够在自身维护的系统中,例如对其他控制系统1的维护人员通知可能发生安全防护上的事故。
[0252] <N.输出方式>
[0253] 图26是示意性地表示本发明实施方式的通知68的输出方式的一例的图。图26例示了通知68被输出到安全防护单元200的显示器225或指示器224的情况。在图26的(A)和图26的(B)中示出利用指示器224显示定量化后的严重程度Phi或风险值681的情况下的结构例。
[0254] 如图26的(A)所示,通知输出部23在显示器225上显示针对安全防护上的事故的应对信息(消息682)。在显示器225中,也可以将严重程度Phi、计算出的风险值681或检测到的事故的种类680与应对信息一起显示。由此,对于用户(维护人员、管理者),能够使用文章、图画、图等来通知应针对安全防护上的事故采取的应对。
[0255] 另外,如图26(A)和(B)所示,在指示器224中配置有3个LED,根据严重程度Phi或计算出的风险值681,使LED的点亮数或点亮的LED的位置变化。在图26的(B)所示的指示器224中,配置有1个LED,根据严重程度Phi或计算出的风险值,使点亮颜色、点亮强度或闪烁周期等变化。
[0256] 这样,安全防护单元200具有输出单元,该输出单元通过指示器224向用户输出事故检测部21检测到事故这一情况、以及其严重程度Phi和风险值681。
[0257] 通过配置上述那样的指示器224,即使是没有专业知识的用户,也能够容易地掌握当前的安全防护上的风险状态。
[0258] 另外,在本实施方式中,只要是能够如图26的(A)那样提示的方式,则可以采用任意的指示器。
[0259] <O.变形例>
[0260] 在上述实施方式中,对将安全防护单元200应用于控制单元100的控制系统1进行了说明,但安全防护单元200的应用对象并不限定于控制单元100。例如,安全防护单元200也能够不应用于控制单元100,而应用于搭载于FA用的AGV(Automated guided vehicle:自动导引车)的控制系统。在该情况下,事故检测部21能够从监视AGV的无线通信而得到的通信监视信息511中检测事故。
[0261] <P.附记>
[0262] 如上所述的本实施方式包含以下这样的技术思想。
[0263] [结构1]
[0264] 一种控制系统(1),其具有:
[0265] 控制单元(100),其执行用于对控制对象(500)进行控制的控制运算;以及[0266] 安全防护单元(200),其与所述控制单元连接,负责针对所述控制系统的安全防护功能,
[0267] 所述安全防护单元包含:
[0268] 收集单元(20),其收集表示所述控制系统的运转状态的状态信息(71、72、73);
[0269] 检测单元(21),其基于所收集的所述状态信息,检测所述控制系统中的事故(680);以及
[0270] 通知单元(22、23),其通知针对检测到的所述事故的应对信息。
[0271] [结构2]
[0272] 在结构1所记载的控制系统中,
[0273] 所述检测单元进一步基于所收集的所述状态信息满足与多个种类的事故分别对应的条件(67)中的任意条件,检测该事故的种类。
[0274] [结构3]
[0275] 在结构1或2所记载的控制系统中,
[0276] 所述检测单元进一步基于所收集的所述状态信息满足与所述事故对所述安全防护造成的影响的严重程度(Phi)分别对应的条件中的任意条件,检测该事故的严重程度(图12)。
[0277] [结构4]
[0278] 在结构3所记载的控制系统中,
[0279] 所述应对信息包含与所述严重程度对应的应对信息(图13的(B))。
[0280] [结构5]
[0281] 在结构3或4所记载的控制系统中,
[0282] 所述通知单元进一步通知检测到的所述严重程度。
[0283] [结构6]
[0284] 在结构3~5中的任意一项所记载的控制系统中,
[0285] 所述通知单元进一步通知安全防护风险(681),该安全防护风险(681)是基于所收集的所述状态信息和所述严重程度的计算值。
[0286] [结构7]
[0287] 在结构6所记载的控制系统中,
[0288] 所述应对信息包含与所述安全防护风险对应的应对信息(图14的(B))。
[0289] [结构8]
[0290] 在结构1~7中的任意一项所记载的控制系统中,
[0291] 所述应对信息包含使所述控制系统的运转状态变化的应对信息。
[0292] [结构9]
[0293] 在结构1~8中的任意一项所记载的控制系统中,
[0294] 所述应对信息根据所述控制单元的结构而不同(图22)。
[0295] [结构10]
[0296] 在结构1~9中的任意一项所记载的控制系统中,
[0297] 所述应对信息根据具有所述控制单元的网络的结构(配置数据1061)而不同。
[0298] [结构11]
[0299] 在结构1~10中的任意一项所记载的控制系统中,
[0300] 所述通知单元向基于将包含所述控制单元在内的多个装置连接的网络结构的信息(2620)而决定的装置通知所述应对信息。
[0301] <Q.优点>
[0302] 根据本实施方式,即使是没有安全防护知识的用户(维护人员等),也能够通过来自通知输出部23的通知68立即确认FA中的控制系统的安全防护状态(异常/事故检测等)。另外,在由于安全防护异常而检测到事故的情况下,用户能够根据通知68的消息628确认并实施维护人员应该采取的应对方法。
[0303] 另外,该通知68能够通过LED、7段显示器、巡视灯231、声音、振动、HMI 800等显示装置、经由网络的支持装置600等工具来提供。因此,即使在用户远离安全防护单元200的情况下,也能够从最靠近的装置接收通知68。
[0304] 应该认为本次公开的实施方式在所有方面都是例示而不是限制性的。本发明的范围由权利要求书、而不是由上述的说明来表示,是指包含与权利要求书同等的含义和范围内的所有的变更。
[0305] 标号说明
[0306] 1:控制系统;2:第1网络;4:第2网络;10:控制系统;20:信息收集部;21:事故检测部;22:通知处理部;23:通知输出部;50:外部网络;51:路由器;62:用户信息;68:通知;63、2620:网络结构信息;66:应对数据库;67:攻击树;71:外部信息;72:SGU内部信息;73:PLC状态信息;100:控制单元;124、224、324:指示器;150:控制引擎;160:信息引擎;170:代理;
200:安全防护单元;231:巡视灯;250:安全防护引擎;260:安全防护信息;300:安全单元;
350:安全引擎;400:功能单元;450:电源单元;500:现场设备;511:通信监视信息;600:支持装置;680:种类;681:风险值;682、682a、6821、6822:消息;2610:安全防护系统程序;2610、
2611:信息收集程序;2612:事故检测程序;2613:通知处理程序;2614:通知输出程序;Phi:
严重程度。