一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

控制系统的制作方法

2022-02-21 00:22:30 来源:中国专利 TAG:


1.本发明涉及用于对控制对象进行控制的控制系统。


背景技术:

2.在工厂等制造现场运行有各种设备,在各种设备以及配置于各设备的各种装置的控制中,使用plc(可编程逻辑控制器)等控制装置。
3.近年来,在工厂等制造现场,发生恶意软件等损害,对于plc等控制装置也必须采取安全防护对策。因此,在开发工厂等的装置、生产线的情况下,生产技术人员、装置制造商开发者等需要采取安全防护对策。
4.在plc中,例如日本特开2000-137506号公报(专利文献1)所公开的那样,只是在登记了异常历史时、或者预先确定的时间到来时,对预先指定的收件地址发送电子邮件的程度,但没有对安全防护对策进行任何考虑。
5.现有技术文献
6.专利文献
7.专利文献1:日本特开2000-137506号公报


技术实现要素:

8.发明所要解决的课题
9.随着近年来的ict(information and communication technology:信息和通信技术)的进步,控制装置也与各种外部装置网络连接,并且在控制装置中执行的处理也变得复杂。随着这样的的网络化或智能化,设想的事故种类也在增加。
10.为了应对伴随这样的网络化或智能化的各种事故发生风险,期望应对可能发生的事故。对于可能发生的事故的应对,预想根据控制对象是停止还是移动等控制对象的工作状态而不同。因此,期望与控制对象的工作状态相应地设定事故应对动作。
11.另外,针对可能发生的事故的对策根据利用控制系统的各顾客确定的安全防护策略来设计,根据各顾客任意地设计。因此,要求提供任意地设计了控制对象的工作状态与事故应对动作的关系的控制系统。
12.本发明的一个目的在于提供一种任意地设计了控制对象的工作状态与事故应对动作的关系的控制系统。
13.用于解决课题的手段
14.本公开的某个方面的用于对控制对象进行控制的控制系统包含:控制引擎,其基于与控制对象之间交换的信号来周期性地更新内部状态值;安全防护引擎,其执行与控制系统中可能发生的事故对应的事故应对动作;以及阶段更新单元,其基于控制引擎所保持的内部状态值、和安全防护引擎所保持的内部状态值中的由用户预先任意选择的1个或多个值,更新表示控制对象的工作状态的阶段的值。安全防护引擎包含:保持动作定义信息的单元,所述动作定义信息按每个阶段定义了事故应对动作的内容;以及执行单元,其根据由
阶段更新单元更新的阶段的值,执行在动作定义信息中定义的对应的事故应对动作。
15.根据该结构,表示控制对象的工作状态的阶段的值基于由用户预先任意选择的1个或多个值来更新。即,控制对象的工作状态基于由用户预先任意选择的1个或多个值来定义。由于按每个阶段定义了事故应对动作的内容,所以能够提供任意地设计了控制对象的工作状态与事故应对动作的关系的控制系统。
16.在上述公开中,控制系统也可以包含设定单元,该设定单元受理在阶段的值的更新中使用的、1个或多个值的选择。根据该结构,能够受理1个或多个值的选择,重新设计控制对象的工作状态与事故应对动作的关系,或者变更控制对象的工作状态与事故应对动作的关系。
17.在上述公开中,阶段更新单元也可以组装在控制引擎的一部分中。由控制引擎执行的控制程序包含用于更新阶段的值的1个或多个命令。根据该结构,能够提供任意地设计了控制对象的工作状态与事故应对动作的关系的控制系统。
18.在上述公开中,设定单元也可以针对用于更新阶段的值的1个或多个命令的每一个,受理该命令的执行条件。根据该结构,能够通过命令的执行条件的设定,任意地对阶段进行定义。
19.在上述公开中,阶段更新单元按照对阶段进行定义的判定条件来更新阶段的值。根据该结构,能够提供任意地设计了控制对象的工作状态与事故应对动作的关系的控制系统。
20.在上述公开中,设定单元从控制引擎所保持的内部状态值以及安全防护引擎所保持的内部状态值中,受理对阶段进行定义的值的选择来作为判定条件。根据该结构,通过受理对阶段进行定义的值的选择,能够任意地对阶段进行定义。
21.在上述公开中,控制系统还可以包含:控制单元,其具有控制引擎;以及安全防护单元,其具有安全防护引擎。控制单元更新在阶段的值的更新中使用的1个或多个值的周期、与阶段更新单元更新阶段的值的周期也可以同步。
22.根据该结构,在表示控制对象的工作状态的阶段的值、和基于与控制对象之间交换的信号而更新的内部状态值中,更新的周期同步,由此能够将控制对象的状态实时地反映到阶段的值。
23.发明的效果
24.根据本发明,能够提供任意地设计了控制对象的工作状态与事故应对动作的关系的控制系统。
附图说明
25.图1是表示本实施方式的控制系统10的一例的示意图。
26.图2是表示本实施方式的控制器系统1的结构例的外观图。
27.图3是表示构成本实施方式的控制器系统1的控制单元100的硬件结构例的示意图。
28.图4是表示构成本实施方式的控制器系统1的安全防护单元200的硬件结构例的示意图。
29.图5是表示本实施方式的包含控制器系统1的控制系统10的典型例的示意图。
30.图6是表示控制器系统1的功能结构的框图。
31.图7是表示由控制引擎150更新阶段更新用变量1512的周期、和由安全防护引擎250更新阶段值2522的周期的图。
32.图8是表示支持装置600的硬件结构例的示意图。
33.图9是表示设定画面的初始值的一例的图。
34.图10是用于说明阶段的追加方法的图。
35.图11是用于说明新选择了用于阶段判定的阶段更新用变量1512时的一例的图。
36.图12是表示变形例中的包含控制器系统1a的控制系统10a的功能结构的框图。
37.图13是表示用于实现阶段更新单元152的用户程序的一例的图。
具体实施方式
38.参照附图详细说明本发明的实施方式。另外,对图中的相同或相应的部分标注相同的标号并不重复其说明。
39.<a.应用例>
40.对应用本发明的场景的一例进行说明。首先,对本实施方式的控制系统10的结构进行说明。图1是表示本实施方式的控制系统10的一例的示意图。
41.控制系统10包含控制引擎150、安全防护引擎250和阶段更新单元252。另外,控制引擎150、安全防护引擎250和阶段更新单元250分别通过处理器等任意的硬件要素或各种程序等任意的软件要素、或者这些要素的组合来实现。各引擎能够以任意的方式安装。此外,也可以通过一个处理器执行各种程序来实现控制引擎150、安全防护引擎250和阶段更新单元252。即,控制引擎150、安全防护引擎250和阶段更新单元252也可以通过一个设备来实现。
42.控制引擎150基于与作为控制对象的现场设备500之间交换的信号,周期性地更新作为内部状态值的变量1510的值。变量1510包含表示现场设备500所保持的值的设备变量、和仅在由控制单元100执行的程序的内部使用的内部变量。设备变量包含从现场设备500输入的输入数据、输出至现场设备500的输出数据的变量。另外,内部变量例如包含表示控制单元100的状态等的系统变量。
43.安全防护引擎250执行与控制系统10中可能发生的事故相应的事故应对动作。在本说明书中,“事故”是指对于以控制器系统1为中心的控制系统10可能成为安全防护上的威胁的征兆、现象或异常。
44.在本说明书中,“事故应对动作”包含防止事故发生的动作、根据发生的事故来变更行为的动作、和与事故发生相伴的动作。防止事故发生的动作包含检测事故的动作等。根据事故变更行为的动作包含为了根据发生的事故变更行为而通知所发生的事故的动作。
45.阶段更新单元252基于控制引擎150更新的变量1510的值中的、由用户任意选择的判定用的变量(阶段更新用变量1512)来更新阶段值2522。
46.阶段更新单元252也可以组装在控制引擎150或安全防护引擎250的一部分中。此外,在使用图2~图11说明的本实施方式中,假设阶段更新单元252是安全防护引擎250所具备的单元来进行说明。
47.安全防护引擎250包含应对数据库254和事故应对单元256。
48.阶段更新用变量1512例如通过向用户提供程序的创建、调试、各种参数的设定等功能的装置来选择。
49.应对数据库254按每个阶段保存有定义了事故应对动作的内容的动作定义信息即应对表2542。各应对表2542与阶段值2522处于对应关系。
50.事故应对单元256参照由阶段更新单元252更新的阶段值2522和应对数据库254,并参照与阶段值2522所示的阶段对应的应对表2542,执行事故应对动作。
51.例如,事故应对单元256进行检测事故发生的条件变更、与发生的事故相应的行为变更等。
52.如上所述,在本实施方式中,表示控制对象的工作状态的阶段是指由用户任意选择的阶段更新用变量1512的值定义、且能够由用户任意定义的状态。即,本实施方式中的控制器系统1能够按照由用户任意定义的每个阶段来变更事故应对动作。即,在控制系统10中,控制对象的工作状态与事故应对动作的关系被任意地设计。
53.<b.控制器系统1>
54.对本实施方式的控制器系统1的结构进行说明。图2是表示本实施方式的控制器系统1的结构例的外观图。参照图2,控制器系统1包含控制单元100、安全防护单元200、安全单元300、1个或多个功能单元400、电源单元450。
55.控制单元100与安全防护单元200之间经由任意的数据传输路径(例如,pci express或ethernet(注册商标)等)连接。控制单元100与安全单元300以及1个或多个功能单元400之间经由未图示的内部总线连接。此外,控制单元100与安全防护单元200之间也可以经由未图示的内部总线连接。
56.控制单元100在控制器系统1中执行中心的处理。控制单元100具有控制引擎150,按照任意设计的要求规格,执行用于对控制对象进行控制的控制运算。在与后述的由安全单元300执行的控制运算进行对比时,将由控制单元100执行的控制运算也称为“标准控制”。在图2所示的结构例中,控制单元100具有1个或多个通信端口。
57.安全防护单元200与控制单元100连接,具有安全防护引擎250,负责对控制器系统1的安全防护功能。在图2所示的结构例中,安全防护单元200具有1个或多个通信端口。安全防护单元200通过执行事故的检测以及与检测到的事故相应的处理,实现事故应对动作的执行。
58.安全单元300与控制单元100独立地执行用于实现与控制对象相关的安全功能的控制运算。将由安全单元300执行的控制运算也称为“安全控制”。通常,“安全控制”被设计为满足用于实现iec 61508等所规定的安全功能的要件。“安全控制”是用于防止人的安全被设备或机械等威胁的处理的总称。
59.功能单元400提供用于实现控制器系统1对各种控制对象的控制的各种功能。典型地,功能单元400可包含i/o单元、安全i/o单元、通信单元、运动控制器单元、温度调整单元、脉冲计数器单元等。作为i/o单元,例如可举出数字输入(di)单元、数字输出(do)单元、模拟输出(ai)单元、模拟输出(ao)单元、脉冲捕捉输入单元、以及混合有多个种类的复合单元等。安全i/o单元负责安全控制所涉及的i/o处理。
60.电源单元450对构成控制器系统1的各单元供给规定电压的电源。
61.<c.各单元的硬件结构例>
62.对构成本实施方式的控制器系统1的各单元的硬件结构例进行说明。
63.(c1:控制单元100)
64.图3是表示构成本实施方式的控制器系统1的控制单元100的硬件结构例的示意图。参照图3,作为主要的组件,控制单元100包含cpu(central processing unit:中央处理单元)或gpu(graphical processing unit:图形处理单元)等处理器102、芯片组104、主存储装置106、二次存储装置108、通信控制器110、usb控制器112、存储卡接口114、网络控制器116、118、120、内部总线控制器122、指示器124。
65.处理器102读出保存在二次存储装置108或存储卡115中的各种程序,在主存储装置106中展开并执行,由此实现标准控制所涉及的控制运算以及后述那样的各种处理。主存储装置106由dram(dynamic random access memory:动态随机存取存储器)或sram(static random access memory:静态随机存取存储器)等易失性存储装置等构成。二次存储装置108例如由hdd(hard disc drive:硬盘驱动器)或ssd(solid state drive:固态硬盘)等非易失性存储装置等构成。
66.芯片组104通过对处理器102与各组件之间的数据交换进行中介,来实现作为控制单元100整体的处理。
67.在二次存储装置108中,除了用于实现控制单元100的基本功能的系统程序以外,还保存有在系统程序提供的执行环境上工作的控制程序。在控制程序中,用户程序包含用户创建的程序。
68.通信控制器110负责与安全防护单元200之间的数据交换。作为通信控制器110,例如能够采用与pci express或者ethernet(注册商标)等对应的通信芯片。
69.usb控制器112经由usb连接负责与任意的信息处理装置之间的数据交换。例如,usb控制器112负责与支持装置600之间的数据交换。
70.存储卡接口114构成为能够拆装作为存储介质的一例的存储卡115。存储卡接口114能够对存储卡115写入控制程序、各种设定等数据,或者从存储卡115读出控制程序、各种设定等数据。
71.网络控制器116、118、120分别负责经由网络的与任意设备之间的数据交换。网络控制器116、118、120也可以采用ethercat(注册商标)、ethernet/ip(注册商标)、devicenet(注册商标)、componet(注册商标)等工业用网络协议。
72.内部总线控制器122负责与构成控制器系统1的安全单元300、或者1个或多个功能单元400之间的数据交换。内部总线可以使用厂商固有的通信协议,也可以使用与任意的工业用网络协议相同或遵循任意的工业用网络协议的通信协议。
73.指示器124是通知控制单元100的工作状态等的设备,由配置于单元表面的1个或多个led等构成。
74.在图3中,示出了通过处理器102执行程序而提供所需的功能的结构例,但也可以使用专用的硬件电路(例如asic或fpga等)来安装这些所提供的功能的一部分或全部。或者,也可以使用遵循通用架构的硬件(例如以通用个人计算机为基础的工业用个人计算机)来实现控制单元100的主要部分。在该情况下,也可以使用虚拟化技术并行地执行用途不同的多个os,并且在各os上执行所需的应用。
75.(c2:安全防护单元200)
76.图4是表示构成本实施方式的控制器系统1的安全防护单元200的硬件结构例的示意图。参照图4,作为主要的组件,安全防护单元200包含cpu或gpu等处理器202、芯片组204、主存储装置206、二次存储装置208、通信控制器210、usb控制器212、存储卡接口214、网络控制器216、218以及指示器224。
77.处理器202读出保存在二次存储装置208或存储卡215中的各种程序,在主存储装置206中展开并执行,由此实现后述的各种安全防护功能。主存储装置206由dram或sram等易失性存储装置等构成。二次存储装置208例如由hdd或ssd等非易失性存储装置等构成。
78.芯片组204通过对处理器202与各组件之间的数据交换进行中介,来实现作为安全防护单元200整体的处理。
79.在二次存储装置208中,除了用于实现安全防护单元200的基本功能的系统程序以外,还保存有在系统程序提供的执行环境上工作的安全防护系统程序。
80.通信控制器210负责与控制单元100之间的数据交换。作为通信控制器210,与控制单元100中的通信控制器210同样地,例如能够采用与pci express或者ethernet(注册商标)等对应的通信芯片。
81.usb控制器212经由usb连接负责与任意的信息处理装置之间的数据交换。例如,usb控制器212负责与支持装置600之间的数据交换。
82.存储卡接口214构成为能够拆装作为存储介质的一例的存储卡215。存储卡接口214能够对存储卡215写入控制程序、各种设定等数据,或者从存储卡215读出控制程序、各种设定等数据。
83.网络控制器216、218分别负责经由网络的与任意设备之间的数据交换。网络控制器216、218也可以采用ethernet(注册商标)等通用的网络协议。
84.指示器224是通知安全防护单元200的工作状态等的设备,由配置于单元表面的1个或多个led等构成。
85.在图4中,示出了通过处理器202执行程序而提供所需的功能的结构例,但也可以使用专用的硬件电路(例如asic或fpga等)来安装这些所提供的功能的一部分或全部。或者,也可以使用遵循通用架构的硬件(例如以通用个人计算机为基础的工业用个人计算机)来实现安全防护单元200的主要部分。在该情况下,也可以使用虚拟化技术并行地执行用途不同的多个os,并且在各os上执行所需的应用。
86.<d.控制系统10>
87.对包含控制器系统1的控制系统10的典型例进行说明。图5是表示本实施方式的包含控制器系统1的控制系统10的典型例的示意图。另外,为了便于说明,在图5中省略了功能单元400以及电源单元450的记载。另外,图5中的“db”表示数据库,“upg”表示用户程序。
88.作为一例,图5所示的控制系统10将设备x作为控制对象。作为一个例子,设备x是组装工序的设备,除了作为现场设备500而输送工件的输送机之外,还包含能够对输送机上的工件施加任意的物理作用的机器人。
89.在图5所示的例子中,控制单元100具有通信端口142、144、146、148。通信端口142相当于图3的usb控制器112。通信端口144相当于图3的网络控制器116。通信端口146相当于图3的网络控制器118。通信端口148相当于图3的网络控制器120。
90.控制单元100经由通信端口142而与支持装置600可通信地连接。支持装置600向用
户提供由控制器系统1所包含的各单元执行的程序的创建、调试、各种参数的设定等功能。
91.将用户使用支持装置600而创建的程序称为用户程序1086,用户程序1086从支持装置600向控制单元100发送,并由控制单元100执行。支持装置600和控制单元100典型地使用usb线缆进行连接。
92.另外,用户程序1086也可以保存在存储卡115等存储介质中。控制单元100构成为能够经由存储卡接口114装卸存储卡115,能够读出存储卡115中保存的用户程序1086。
93.控制单元100经由通信端口144而与1个或多个现场设备500可通信地连接。现场设备500包含从控制对象收集控制运算所需的各种信息的传感器、检测器、以及对控制对象施加某种作用的致动器等。在图5所示的例子中,现场设备500包含对工件施加某种外部作用的机器人、输送工件的输送机、与配置于现场的传感器、致动器之间交换信号的i/o单元等。现场设备500与控制单元100之间的通信协议典型地利用ethercat(注册商标)。
94.控制单元100经由通信端口146以能够通信的方式与1个或多个hmi(human machine interface:人机界面)800连接。hmi 800向操作员提示通过控制器系统1中的控制运算得到的各种信息,并且按照来自操作员的操作,对控制器系统1生成内部命令等。hmi 800与控制单元100之间的通信协议典型地利用ethernet/ip(注册商标)。
95.控制单元100经由通信端口148而与数据库900可通信地连接。数据库900收集从控制器系统1发送的各种数据(例如,与从作为控制对象的工件计测出的与可追溯性相关的信息等)。另外,数据库900可以经由公司内部网络与控制单元100可通信地连接,或者也可以经由vpn(virtual private network:虚拟专用网络)等与控制单元100可通信地连接。在图5所示的例子中,数据库900与控制单元100之间的通信协议利用ethernet/ip(注册商标)。
96.安全防护单元200具有通信端口242和通信端口244。通信端口242相当于图4的网络控制器216。通信端口244相当于图4的usb控制器212。
97.安全防护单元200经由通信端口242与scada(supervisory control and data acquisition:监督控制和数据采集)装置700可通信地连接。安全防护单元200与scad装置700之间的通信典型的是利用vpn来进行。
98.安全防护单元200经由通信端口244与支持装置600可通信地连接。若支持装置600与安全防护单元200以能够通信的方式连接,则能够从支持装置600将与安全防护相关的设定安装于安全防护单元200。
99.另外,也可通过连接安全防护单元200与支持装置600,来安装由控制单元100执行的用户程序1086。另外,也可以通过将控制单元100与支持装置600连接,来安装与安全防护相关的设定。另外,能够与安全防护单元200进行通信的支持装置600和能够与控制单元100进行通信的支持装置600可以是互不相同的支持装置600,也可以是公共的支持装置600。另外,也可以是一台支持装置600能够与控制单元100及安全防护单元200同时连接的结构,另外,也可以是无法同时连接的结构。
100.另外,虽然未图示,但安全防护单元200也可以构成为能够经由通信端口244与路由器连接,该路由器具有对与外部网络之间的通信进行中继的功能以及fw(fire wall:防火墙)的功能等。通过与路由器连接,安全防护单元200能够经由外部网络与控制系统10以外的网络进行通信。
101.<e.控制器系统1的功能结构>
102.参照图6,对控制器系统1的功能面进行说明。图6是表示控制器系统1的功能结构的框图。
103.控制单元100包含:作为执行标准控制所涉及的控制运算的处理执行部的控制引擎150;以及与外部装置之间交换数据的信息引擎160。安全防护单元200包含用于实现安全防护功能的安全防护引擎250。
104.各引擎通过各单元的处理器等任意的硬件要素或各种程序等任意的软件要素、或者这些要素的组合来实现。各引擎能够以任意的方式安装。
105.控制引擎150基于与作为控制对象的现场设备500之间交换的信号,周期性地更新作为内部状态值的变量1510的值。
106.信息引擎160对控制单元100所保持的数据(变量的值)执行任意的信息处理。典型地,信息引擎160包含周期性地向数据库900等发送控制单元100所保持的数据的处理。在这样的数据发送中使用sql等。
107.安全防护引擎250执行与控制系统10中可能发生的事故相应的事故应对动作。
108.安全防护引擎250包含阶段更新单元252、应对数据库254和事故应对单元256。阶段更新单元252和事故应对单元256例如是通过执行用于实现安全防护单元200的基本功能的系统程序、或在系统程序提供的执行环境上工作的安全系统程序来实现的功能。另外,应对数据库254通过图4的二次存储装置208来实现。
109.阶段更新单元252对表示控制对象的工作状态的阶段的值(阶段值2522)进行更新。阶段更新单元252基于控制引擎150更新的变量1510的值中的、由用户任意选择的判定用的变量(阶段更新用变量1512)来更新阶段值2522。更具体而言,阶段更新单元252参照判定表2524来更新阶段值2522。
110.判定表2524定义了更新阶段值2522的条件,包含能够确定由用户任意选择的阶段更新用变量1512的信息、和表示与阶段更新用变量1512的值对应的阶段值2522的信息。
111.判定表2524由支持装置600生成。关于由支持装置600生成判定表2524的情况,将在后面叙述。
112.应对数据库254按每个阶段保存有定义了事故应对动作的内容的动作定义信息即应对表2542。各应对表2542与阶段值2522处于对应关系。
113.事故应对单元256在检测单元258检测到事故的发生时,参照由阶段更新单元252更新的阶段值2522和应对数据库254,并参照与阶段值2522所示的阶段对应的应对表2542,执行事故应对动作。
114.例如,事故应对单元256命令控制引擎150根据发生的事故来变更行为。
115.检测单元258按照检测条件检测事故的发生。此外,检测条件不限于检测逻辑,包含判断为发生了事故的阈值。
116.表示控制对象的工作状态的阶段是由用户任意选择的阶段更新用变量1512的值定义的状态,是能够由用户任意定义的状态。即,本实施方式中的控制器系统1能够按照由用户任意定义的每个阶段来变更事故应对动作。由此,能够进行与按照每个用户而不同的安全防护策略对应的安全防护设计。
117.另外,图6所示的控制器系统1的阶段更新单元252周期性地从控制单元100接收阶段更新用变量1512的值,周期性地更新阶段值2522。
118.事故应对单元256在检测单元258检测到事故的发生时,参照周期性地更新的阶段值2522,执行与阶段值2522对应的事故应对动作。
119.另外,事故应对动作中也可以包含可能发生的事故所具备的预防动作。预防动作例如可以包含检测事故的发生、许可向控制器系统1的连接的动作等。具体而言,在事故应对动作中包含检测事故发生的动作的情况下,也可以根据阶段值2522来变更检测条件。即,安全防护单元200也可以按每个阶段设定检测条件。例如,也可以根据阶段来变更判断为发生了事故的阈值。
120.另外,事故应对单元256也可以周期性地或根据阶段值2522的变更来选择规定事故应对动作的应对表2542。在根据阶段值2522的变更而选择应对表2542的情况下,例如,在阶段更新单元252变更了阶段值2522的值时通知事故应对单元256,事故应对单元256按照该通知,执行与变更后的阶段值对应的事故应对动作。在作为应对表2542规定了可能发生的事故所具有的预防动作的情况下,事故应对单元256也可以与检测单元258是否检测到事故无关地,根据阶段值2522周期性地或者根据阶段值2522的变更来变更预防动作。
121.<f.阶段更新用变量以及阶段值的更新定时>
122.参照图7,对阶段更新用变量1512以及阶段值2522的更新定时进行说明。阶段更新用变量1512由控制单元100的控制引擎150周期性地更新。另外,安全防护单元200的安全防护引擎250周期性地取得阶段更新用变量1512,周期性地更新阶段值2522。
123.图7是表示由控制引擎150更新阶段更新用变量1512的周期和由安全防护引擎250更新阶段值2522的周期的图。控制引擎150与安全防护引擎250之间的数据交换由控制单元100的通信控制器110及安全防护单元200的通信控制器210进行。
124.控制引擎150周期性地更新变量1510的值。变量1510包含阶段更新用变量1512。在图7中,集中说明阶段更新用变量1512的值的更新。以下,也将控制引擎150执行的阶段更新用变量1512的值的更新称为更新处理。
125.安全防护引擎250周期性地执行阶段值2522的更新以及用于执行事故应对动作的处理。以下,将该周期性地执行的处理也称为安全防护处理。
126.更新处理的周期和安全防护处理是使其周期相互同步地执行的。以下,例如对第n周的安全防护处理进行说明。
127.在s210中,安全防护引擎250取得阶段更新用变量1512。s210中取得的阶段更新用变量1512是控制引擎150在前一周期(第n-1周)更新后的阶段更新用变量1512。安全防护引擎250经由控制单元100的通信控制器110及安全防护单元200的通信控制器210,取得阶段更新用变量1512。
128.在s212中,安全防护引擎250更新阶段值2522。具体而言,安全防护引擎250基于在s210中取得的阶段更新用变量1512以及判定表2524来更新阶段值2522。
129.在s214中,安全防护引擎250判定是否检测到事故。在未检测到事故的情况下(在s214中为“否”),安全防护引擎250结束安全防护处理,等待至下一个的第n 1周的周期开始为止。
130.在检测到事故的情况下(在s214中为“是”),安全防护引擎250执行事故应对动作。具体而言,安全防护引擎250按照在s212中更新的阶段值2522以及应对数据库254,执行事故应对动作。
131.在执行事故应对动作后,安全防护引擎250结束安全防护处理,等待至下一个的第n 1周的周期开始为止。
132.另一方面,控制引擎150在s110中以恒定周期更新阶段更新用变量1512的值。控制引擎150在更新阶段更新用变量1512的值之后,结束更新处理,等待至下一个控制周期开始为止。
133.如上所述,在表示控制对象的工作状态的阶段值2522和基于与控制对象之间交换的信号而更新的变量1510中,更新的周期同步,由此能够将控制对象的状态实时地反映到阶段值2522。
134.<g.事故应对动作>
135.具体说明与可能发生的事故对应的控制器系统1的行为、即事故应对动作。作为事故应对动作,能够大致分为关于设备控制的应对、以及关于信息通信的应对。设备控制主要是指执行控制单元100的控制引擎150和/或安全单元300的安全控制所涉及的控制运算的处理执行部即安全防护引擎所负责的处理,是指关于作为控制对象的设备或机械的动作的应对。信息通信主要是指控制单元100的信息引擎160所负责的处理,是指关于控制单元100与外部装置之间的数据交换、或控制单元100内部的信息处理等的应对。
136.作为控制器系统1的行为(应对),例如可举出“正常运转”、“降级”、“停止”等。“正常运转”是指能够按照系统设计以及生产计划使设备、机械持续运转的状态。“降级”是指控制器系统1的部分停止(仅一部分运行)、性能缩小(性能降低)、功能限制等限定性地继续运行。“停止”是指安全地停止作为对象的设备、机械或者控制器系统1的动作。
137.对“降级”的一例进行说明。
138.(1)设备控制的降级
139.设备控制的降级是指在范围、功能、生产率等方面受到限制的状态下运转。
140.作为范围,能够限制作为控制对象的区域。作为成为控制对象的区域,例如能够限制控制装置、安装于控制装置的模块、安装于控制装置的单元等控制侧。或者,能够限制特定的机械、生产线、楼层、工厂整体这样的被控制侧(控制对象)。
141.作为功能,能够限制控制器系统1所提供的处理中的特定的处理(例如,信息控制、标准控制、安全控制等)。
142.作为生产率,为了安全、安心,能够临时限制生产率(例如,生产线速度、每单位时间的生产数量、每单位时间的生产量等)。
143.(2)信息通信的降级
144.信息通信的降级是指在范围、方向、频带、qos(quality of service:服务质量)、数据等方面受到限制的状态下运转。
145.作为范围,例如能够限制通信物理端口、通信逻辑端口、网络退出等。
146.在限制通信物理端口的情况下,能够限制分别配置于控制单元100以及安全防护单元200的通信端口中的特定的端口使用。或者,也可以仅使安装于控制器系统1的通信端口中的上位侧或者现场侧有效化。
147.在限制通信逻辑端口的情况下,可以限制能利用的tcp/udp端口,也可以限制能利用的通信协议。并且,还可以限制受理访问的mac地址或ip地址。
148.作为方向,例如也可以将在各端口中数据流动的方向仅限制为单向。例如,关于特
定的端口,是仅许可数据的接收、或仅许可数据的发送这样的情况。通过仅许可这样的单向数据,在检测到某种安全防护威胁时,能够防止数据从控制器系统1流出。
149.作为频带,为了降低控制器系统1的通信负荷或处理负荷,也可以限制通信速度(例如,从1gbps变更为100mbps)。
150.作为qos,可以动态地改变要通过的分组的优先级。例如,在检测到某种安全防护威胁的情况下,也可以将要通过的分组的优先级变更得较高。
151.作为数据,例如,在ethercat等工业用网络协议中,也可以对过程数据通信的有效/无效的切换、输出值的更新进行限制(停止更新/清零/保持上次值等)。
152.不限于上述内容,“降级”可包含对正常运转施加了任意限制的状态下的运转。此外,“降级”也能够视为部分停止,“停止”可包含全面地停止特定的功能,因此也能够视为扩展了“降级”后的概念。
153.<h.支持装置600的硬件结构>
154.以下,对支持装置600对判定表2524的生成场景进行说明。首先,说明支持装置600的硬件结构。图8是表示支持装置600的硬件结构例的示意图。作为一例,支持装置600使用遵循通用架构的硬件(例如,通用个人计算机)来实现。
155.参照图8,支持装置600包含处理器602、主存储器604、输入部606、显示部608、储存器610、光学驱动器612、usb控制器620。这些组件经由处理器总线618连接。
156.处理器602由cpu或gpu等构成,读出保存在储存器610中的程序(作为一例,os 6102及支持程序6104),在主存储器604中展开并执行,由此实现对控制器系统1的设定处理等。
157.主存储器604由dram或sram等易失性存储装置等构成。储存器610例如由hdd或ssd等非易失性存储装置等构成。
158.在储存器610中,除了用于实现基本功能的os 6102以外,还保存有用于提供作为支持装置600的功能的支持程序6104。即,支持程序6104由与控制器系统1连接的计算机执行,由此实现本实施方式的支持装置600。
159.输入部606由键盘、鼠标等构成,受理用户操作。显示部608由显示器、各种指示器、打印机等构成,输出来自处理器602的处理结果等。
160.usb控制器620经由usb连接交换与控制器系统1等之间的数据。
161.支持装置600具有光学驱动器612,从非易失性地保存计算机可读取的程序的记录介质614(例如dvd(digital versatile disc:数字多功能光盘)等光学记录介质)中读取保存于其中的程序,并安装于储存器610等。
162.由支持装置600执行的支持程序6104等可以经由计算机可读取的记录介质614进行安装,但也可以以从网络上的服务器装置等下载的形式进行安装。另外,本实施方式的支持装置600提供的功能也有时以利用os提供的模块的一部分的形式实现。
163.在图8中,示出了通过处理器602执行程序来提供作为支持装置600所需的功能的结构例,但也可以使用专用的硬件电路(例如asic或fpga等)来安装这些所提供的功能的一部分或全部。
164.<i.用于定义任意阶段的设定画面>
165.参照图9~图11,说明对阶段进行定义的方法(设定方法)、即判定表2524的生成方
法。判定表2524包含能够确定阶段更新用变量1512的信息。阶段更新用变量1512例如通过用户按照支持装置600所提供的图9~图11所示的设定画面进行操作来选择。即,支持装置600作为受理在阶段值1514的更新中使用的阶段更新用变量1512的选择的设定单元发挥功能。
166.图9是表示设定画面的初始值的一例的图。图10是用于说明阶段的追加方法的图。图11是用于说明新选择了用于阶段判定的阶段更新用变量1512时的一例的图。
167.参照图9,设定画面640包含显示阶段的名称的阶段区域642和用于定义各阶段的条件输入区域644。设定画面640还包含用于取消所输入的设定内容的取消按钮646和用于确定所输入的设定内容的确定按钮648。
168.阶段区域642包含显示阶段名称的阶段名称单元6422和用于追加新的阶段的阶段追加按钮6424。记载于各名称单元6422内的阶段名称(在图9所示的例子中,为“启动/维护”、“异常发生中”、“运转中”)也能够任意地变更。
169.条件输入区域644包含显示条件名的条件名单元6442、用于追加新的条件的条件追加按钮6444、以及用于选择各条件的设定值的选择选项卡6446。在条件名单元6442中,能够显示用户任意选择的阶段更新用变量1512。
170.在图9所示的例子中,作为阶段的初始值,“启动/维护”、“异常发生中”、“运转中”被登记为阶段。图9中的
“‑”
表示不作为条件。例如,“启动/维护”是指连接有pc的状态(图中的“true”)。“异常发生中”是指未连接pc的状态(图中的“false”)且发生了异常的状态(图中的“true”)。“运转中”是指未连接pc的状态(图中的“false”)且未发生异常的状态(图中的“false”)。
171.参照图10,对阶段的追加方法进行说明。当阶段追加按钮6424被操作时,追加空的阶段名称单元6422d。另外,追加条件设定用的空的选择选项卡6446。同样,当操作条件追加按钮6444时,追加空的条件名单元6442。另外,追加条件设定用的空的选择选项卡6446。
172.用户能够在空的阶段名称单元6422d中新输入任意的名称。另外,用户能够在空的条件名单元6442中选择任意的变量,将所选择的变量设定、登记为阶段更新用变量。此外,支持装置600将所选择的阶段更新用变量可取的值设定为可操作选择选项卡6446来选择的选择候选。
173.此外,优选地,支持装置600构成为能够确定控制引擎150所更新的变量1510。由此,用户能够从控制引擎150所更新的变量1510中可靠地选择阶段更新用变量1512。
174.在图10所示的例子中,假设新选择阶段变量作为阶段更新用变量,新追加“换产调整”这样的阶段作为阶段,“运转中”这样的阶段的名称被变更为了“正常运转中”。此外,当选择选项卡6446被操作时,阶段变量可取的值被显示为可选择的列表6448。
175.参照图11,也能够仅新追加阶段更新用变量。在图11所示的例子中,假设新追加了变更为异常发生中的阶段的条件。在该情况下,也可以一并变更关于其他阶段的设定条件。
176.例如,在将根据图11所示的设定条件生成的判定表2524安装于安全防护单元的情况下,作为阶段更新用变量1512,从控制引擎150向安全防护引擎250发送表示有无连接pc的变量、表示有无发生异常的变量、所选择的阶段变量以及表示异常计数器的值的变量。另外,安全防护引擎250的阶段更新单元252基于这些阶段更新用变量1512,将阶段值2522更新为表示“启动/维护”、“异常发生中”、“正常运转中”以及“换产调整中”中的任意一个的
值。
177.另外,阶段更新用变量1512不限于控制引擎150所更新的值。例如,也可以是安全防护引擎250所具有的内部状态值。例如,在安全防护引擎250具有表示有无连接pc的变量(内部状态值)的情况下,也可以按照该变量来判断有无连接pc。
178.另外,异常计数器不限于控制单元检测的异常,也可以包含安全防护引擎250的检测单元258检测的事故(异常)。
179.如上所述,在本实施方式中,阶段更新单元252参照定义了更新阶段值2522的条件的判定表2524来更新阶段值2522。另外,支持装置600提供用于创建判定表2524的设定画面640,受理定义各阶段的变量1510的选择、及该变量1510的值的指定。
180.<j.阶段更新单元的安装方法的变形例>
181.在上述实施方式中,示出了阶段更新单元252由安全防护单元200实现的例子。另外,也可以通过控制单元100的系统程序来实现阶段更新单元。在该情况下,判定表2524优选保存于控制单元100。
182.另外,在上述实施方式中,假设阶段更新单元252参照判定表2524来更新阶段值2522。另外,阶段更新单元252也可以通过执行由用户创建的、包含对阶段的值进行变更的命令的用户程序来实现。
183.图12是表示变形例中的包含控制器系统1a的控制系统10a的功能结构的框图。图12所示的控制系统10a在具有支持装置600a这一点上与控制系统10不同。另外,图12所示的控制器系统1a在代替控制引擎150以及安全防护引擎250而具有控制引擎150a以及安全防护引擎250a这一点上与控制器系统1不同。
184.具体而言,控制器系统1a中,控制引擎150a进行阶段值的更新,安全防护引擎250a的事故应对单元256按照由控制引擎150a更新的阶段值和应对数据库254来执行事故应对动作。
185.安全防护引擎250a在不具有阶段更新单元252以及判定表2524这一点上与安全防护引擎250不同。关于其他结构,由于与安全防护引擎250是相同的,因此省略说明。
186.控制引擎150a在具有阶段更新单元152这一点上与控制引擎150不同。阶段更新单元152与阶段更新单元252不同,组装在控制引擎150a的一部分中。即,在控制引擎150a更新的变量1510中包含阶段值1514。
187.阶段更新单元152通过参照变量1510中包含的阶段更新用变量1512,决定是否执行变更阶段值1514的命令,按照决定来更新阶段值1514。
188.支持装置600a具有用于创建阶段更新单元152执行用的用户程序的编辑器功能,提供用于变更阶段值1514的变更命令的对象。即,阶段更新单元152的功能由支持装置600a提供。
189.图13是表示用于实现阶段更新单元152的用户程序的一例的图。图13所示的用户程序能够利用由支持装置600a提供的编辑器功能来创建。此外,图13所示的用户程序通过梯形图程序的代码来创建,但也可以通过其他编程语言来创建。
190.用于实现阶段更新单元152的用户程序包含用于更新阶段值1514的多个变更命令660(660a、660b、660c、660d)、和既定了用于执行各变更命令660的执行条件的执行条件规定部670(670a、670b、670c、670d)。
191.例如,当执行条件规定部670a规定的条件成立时,以执行变更命令660a的方式创建用户程序。
192.用户通过组合由a触点662a、664a、b触点662b、664b以及比较命令666a、666b分别定义的条件,来定义执行条件规定部670内的条件。各条件所参照的变量(pc连接中、异常发生中、阶段变量等)相当于阶段更新用变量。
193.这样,用户能够利用支持装置600a所提供的编辑功能,将任意的变更命令660与任意的条件进行组合,而创建用于更新阶段值1514的用户程序。即,支持装置600a作为受理变更命令的执行条件的设定单元发挥功能。
194.<k.附记>
195.如上所述的本实施方式和变形例包含以下这样的技术思想。
196.[结构1]
[0197]
一种控制系统(10、10a),其用于对控制对象进行控制,该控制系统(10、10a)具有:
[0198]
控制引擎(150、150a),其基于与所述控制对象之间交换的信号来周期性地更新内部状态值;
[0199]
安全防护引擎(250、250a),其执行与所述控制系统中可能发生的事故对应的事故应对动作;以及
[0200]
阶段更新单元(252),其基于所述控制引擎所保持的所述内部状态值(1510)、和所述安全防护引擎所保持的内部状态值中的由用户预先任意选择的1个或多个值(1512),更新表示所述控制对象的工作状态的阶段的值(2522、1514),
[0201]
所述安全防护引擎包含:
[0202]
保持动作定义信息(2542)的单元(254),所述动作定义信息(2542)按每个阶段定义了事故应对动作的内容;以及
[0203]
执行单元(256),其根据由所述阶段更新单元更新的所述阶段的值,执行在所述动作定义信息中定义的对应的事故应对动作。
[0204]
[结构2]
[0205]
在结构1所记载的控制系统中,
[0206]
该控制系统还具有设定单元(600、600a),所述设定单元(600、600a)受理在所述阶段的值的更新中使用的、所述1个或多个值的选择。
[0207]
[结构3]
[0208]
在结构1或2所记载的控制系统中,
[0209]
所述阶段更新单元(152)组装在所述控制引擎(150a)的一部分中,
[0210]
由所述控制引擎执行的控制程序包含用于更新所述阶段的值的1个或多个命令(660)。
[0211]
[结构4]
[0212]
在结构2所记载的控制系统中,
[0213]
所述阶段更新单元组装在所述控制引擎(150a)的一部分中,
[0214]
由所述控制引擎执行的控制程序包含用于更新所述阶段的值的1个或多个命令(660),
[0215]
所述设定单元(600a)受理所述命令的执行条件(670)。
[0216]
[结构5]
[0217]
在结构1或2所记载的控制系统中,
[0218]
所述阶段更新单元按照对所述阶段进行定义的判定条件来更新所述阶段的值。
[0219]
[结构6]
[0220]
在结构2所记载的控制系统中,
[0221]
所述阶段更新单元(252)按照对所述阶段进行定义的判定条件(2524)来更新所述阶段的值,
[0222]
所述设定单元(600)从所述控制引擎所保持的所述内部状态值以及所述安全防护引擎所保持的内部状态值中,受理对所述阶段进行定义的值的选择来作为所述判定条件。
[0223]
[结构7]
[0224]
在结构1~6中的任意一项所记载的控制系统中,具有:
[0225]
控制单元(100),其具有所述控制引擎;以及
[0226]
安全防护单元(200),其具有所述安全防护引擎,
[0227]
所述控制单元更新在所述阶段的值的更新中使用的所述1个或多个值的周期、与所述阶段更新单元更新所述阶段的值的周期是同步的。
[0228]
应该认为本次公开的实施方式在所有方面都是例示而不是限制性的。本发明的范围由权利要求书、而不由上述的说明来表示,意在包含与权利要求书等同的意思以及范围内的所有变更。
[0229]
标号说明
[0230]
1、1a:控制器系统;10、10a:控制系统;100:控制单元;102、202、602:处理器;104、204:芯片组;106、206:主存储装置;108、208:二次存储装置;110、210:通信控制器;112、212、620:usb控制器;114、214:存储卡接口;115、215:存储卡;116、118、120、216、218:网络控制器;122:内部总线控制器;124、224:指示器;142、144、146、148、242、244:通信端口;150、150a:控制引擎;152、252:阶段更新单元;160:信息引擎;200:安全防护单元;250、250a:安全防护引擎;254:应对数据库;256:事故应对单元;258:检测单元;300:安全单元;400:功能单元;450:电源单元;500:现场设备;600、600a:支持装置;604:主存储器;606:输入部;608:显示部;610:储存器;612:光学驱动器;614:记录介质;618:处理器总线;640:设定画面;642:阶段区域;644:条件输入区域;646:取消按钮;648:确定按钮;660、660a:变更命令;662a、662b、664a、664b:触点;666a、666b:比较命令;670、670a:执行条件规定部;700:scada装置;800:hmi;900:数据库;1086:用户程序;1510:变量;1512:阶段更新用变量;1514、2522:阶段值;2524:判定表;2542:应对表;6104:支持程序;6422、6422d:阶段名称单元;6424:阶段追加按钮;6442:条件名单元;6444:条件追加按钮;6446:选择选项卡;6448:列表。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献