技术领域
[0001] 本发明涉及FA系统的安全控制单元以及FA系统中的安全控制技术。
相关背景技术
[0002] 现在,FA(Factory Automation:工厂自动化)系统被广泛利用。
[0003] 在FA系统中,如专利文献1所述,通过控制单元(Programmable Logic Controller:可编程逻辑控制器)对FA系统的各外部设备进行控制。利用这种FA系统的结构,也能够构成针对外部设备使用安全设备的安全控制系统。
[0004] 在这种安全控制系统中,控制单元(安全控制单元)对包含安全设备的外部设备进行包含安全控制用数据的控制用数据的统一转换(数据更新)。具体而言,控制单元在执行用于控制FA系统的一连串的程序之后,进行数据更新,重新执行一连串的程序。在进行该数据更新时更新安全控制用数据。此后,通过重复该处理,实现安全控制系统中的安全控制。
[0005] 现有技术文献
[0006] 专利文献
[0007] 专利文献1:日本特开2009-9505号公报
具体实施方式
[0021] 参照附图对本发明的实施方式的安全控制单元以及安全控制技术进行说明。图1是示出本发明的实施方式的包含控制单元的安全控制系统的概略结构的框图。图2是示出系统程序以及控制程序的结构的图。图3是示出支持工具的结构的图。
[0022] 如图1所示,安全控制单元10与PC(个人计算机)20、安全输入设备31、以及输出设备32连接。安全控制单元10、安全输入设备31、以及输出设备32经由规定的数据网络连接。需要说明的是,优选由连接可靠性高的协议构成该数据网络。通过这些安全控制单元10、安全输入设备31、输出设备32,能实现使用FA(Factory Automation;工厂自动化)系统的安全控制系统。需要说明的是,可以将通用的输入设备与该安全控制系统连接。
[0023] 安全输入设备31例如是获取光幕、安全开关等的安全控制用的数据的设备。输出设备32是执行继电器、电动机、灯等的FA系统中的与安全控制有关的动作的设备。需要说明的是,在图1中,虽然仅描述了安全输入设备31以及输出设备32分别是一台的情况,但也可以分别是多台。
[0024] 安全控制单元10和PC20通过一般的数据通信用线缆等进行本地连接。在PC20中安装有支持工具201。使用支持工具201创建的程序或设定信息通过安全控制单元10被下载。
[0025] 安全控制单元10包括:运算控制部101、存储器102、以及输入输出单元103。
[0026] 运算控制部101与存储器102以及输入输出单元103连接。输入输出单元103经由上述的数据网络与安全输入设备31以及输出设备32连接。
[0027] 如图1所示,在存储器102中,存储有系统程序120S、控制程序120C、以及控制用数据120D。如图2所示,系统程序120S具有:调度程序121、数据更新程序122、动作运算程序123、以及序列指令运算程序124。控制程序120C具有:序列指令运算程序124以及用户程序
125。
[0028] 控制用数据120D是在执行系统程序120S和控制程序120C时进行参照的数据。安全控制继续设定变量120R是设定在改写控制用数据120D时是否继续进行安全控制即是否继续进行数据更新处理的变量。
[0029] 调度程序121是管理由运算控制部101执行的各种处理的进度的程序。
[0030] 数据更新程序122是执行存储器102内的控制用数据120D以及存储在输入输出单元103中的安全控制用的数据的统一更换、以及存储器102内的控制用数据120D以及经由输入输出单元103的安全输入设备31和输出设备32中存储的安全控制用的数据的统一更换的程序。具体而言,数据更新程序122是执行下述处理的程序:经由输入输出单元103使来自安全输入设备31的安全控制用的数据反映到控制用数据120D;以及将安全控制用的输出数据、动作运算程序123以及用户程序125的运算结果经由输入输出单元103输出给输出设备32。需要说明的是,安全控制用的输出数据是基于安全控制用的输入数据来控制输出设备
32的状态的数据。
[0031] 动作运算程序123是基于通过通用的输入设备而获取的数据,来进行用于控制电动机(伺服电动机等)等动作设备的运算的程序。
[0032] 序列指令运算程序124属于系统程序120S和控制程序120C,并且是基于由支持工具201创建的安全控制用的梯形图的程序。
[0033] 用户程序125是执行由支持工具201创建的安全控制用的各种设定的程序。
[0034] 运算控制部101参照控制用数据120D,持续执行系统程序120S和控制程序120C。具体而言,运算控制部101基于调度程序121执行动作运算程序123、序列指令运算程序124以及用户程序125。此时,运算控制部101参照控制用数据120D。
[0035] 如果运算控制部101完成这些动作运算程序123、序列指令运算程序124以及用户程序125的执行,则执行数据更新程序122。具体而言,运算控制部101使用数据更新程序122,来执行存储器102内的控制用数据120D以及经由输入输出单元103的安全输入设备31以及输出设备32的安全控制用的数据的统一转换。
[0036] 如果数据更新处理结束,则运算控制部101参照进行了数据转换的控制用数据120D,执行动作运算程序123、序列指令运算程序124以及用户程序125。以下,通过运算控制部101反复进行该一连串的处理,能实现FA系统的安全控制。
[0037] 如图3所示,支持工具201具有:设定工具221、编程工具222、转发工具223、以及判断工具224。设定工具221是创建包含上述各种设定的用户程序125的工具。编程工具是创建梯形图的工具,换言之是创建序列指令运算程序124的工具。转发工具223是将由设定工具221创建的用户程序125、由编程工具222创建的序列指令运算程序124转换为可转发给运算控制部101的数据形式并执行该转发的工具。判断工具224是在转发用户程序125以及序列指令运算程序124时,判断是否需要使安全控制停止即是否需要使数据更新处理停止的工具。
[0038] 在这样的结构中,随着各种设定或梯形图的变更等,在改写用户程序125以及序列指令运算程序124的情况下,运算控制部101执行如下所示的处理。图4是运算控制部中的安全控制处理的流程图。
[0039] 如图4所示,运算控制部101接受用户程序125以及序列指令运算程序124的改写即下载指令(S11)。在没有接受下载指令的期间,如上所述,运算控制部101参照控制用数据120D,持续执行使用包含数据更新处理的系统程序120S和控制程序120C的控制。
[0040] 运算控制部101参照下载指令,检测是否继续进行安全控制并且变更控制程序120C(S101)。
[0041] 运算控制部101在继续进行安全控制的设定(S12:YES)的情况下,停止执行控制程序120C,执行控制程序120C的卸载(S13)。此时,除了序列指令运算程序124,运算控制部101继续执行包含数据更新程序122的系统程序120S的一部分而不使其停止。
[0042] 接下来,运算控制部101加载从支持工具201下载的控制程序120C(序列指令运算程序124以及用户程序125)(S14)。此时,除了序列指令运算程序124之外,运算控制部101继续执行包含数据更新程序122的系统程序120S的一部分而不使其停止。
[0043] 接下来,运算控制部101重新执行控制程序120C(S18)。
[0044] 通过执行这样的处理,安全控制单元10在变更与安全控制无关的控制程序120C的情况下,能够以不暂停数据更新处理的方式执行控制程序120C的变更。由此,能够防止安全控制不必要的暂停。
[0045] 此外,运算控制部101在不继续进行安全控制的设定(S12:NO)的情况下,运算控制部101停止执行数据更新程序122(S15)。即,运算控制部101停止向与安全控制相关的各装置的安全通信。然后,运算控制部101执行控制程序120C的卸载(S16),并加载从支持工具201下载的控制程序120C(S17)。然后,运算控制部101重新执行系统程序120S以及控制程序
120C(S18)。
[0046] 通过该结构,FA系统的管理者等能够选择在变更系统程序120S以及控制程序120C时是否需要停止安全控制。
[0047] 另外,在支持工具201中,通过具有图3的结构,如图5所示,在变更控制程序120C时,也能够在判断是否需要停止安全控制之后进行转发。图5是支持工具的程序变更处理的流程图。
[0048] 支持工具201使用编程工具222,来接受包括由程序员进行的安全控制用的处理的梯形图的输入(S21)。另外,支持工具201使用设定工具221,接受由程序员进行的安全控制用的各种设定的输入(S22)。通过这些处理,创建具有序列指令运算程序124以及用户程序125的安全控制的控制程序120C。需要说明的是,步骤S21和步骤S22的顺序并不限定于该顺序,也可以为相反。
[0049] 支持工具201使用判断工具224,对比由支持工具201创建、变更的程序与存储在安全控制单元10的存储器102中的程序(S23)。
[0050] 支持工具201使用判断工具224,基于对比结果,判断在变更控制程序120C时是否需要停止安全控制。
[0051] 如果检测到无需停止安全控制(S24:YES),则支持工具201使用转发工具223,开始转发控制程序120C(序列指令运算程序124以及用户程序125)(S25)。
[0052] 如果检测到需要停止安全控制(S24:NO),则支持工具201在PC20的显示屏等上显示警告(S26)。
[0053] 如果支持工具201从程序员接收到转发操作输入(S27:YES),则开始转发控制程序120C(S25)。另一方面,如果支持工具201没有从程序员接收到转发操作输入(S27:NO),则结束处理。
[0054] 附图标记说明
[0055] 10:安全控制单元
[0056] 20:PC
[0057] 31:安全输入设备
[0058] 32:输出设备
[0059] 101:运算控制部
[0060] 102:存储器
[0061] 103:输入输出单元
[0062] 120C:控制程序
[0063] 120D:控制用数据
[0064] 120S:系统程序
[0065] 121:调度程序
[0066] 122:数据更新程序
[0067] 123:动作运算程序
[0068] 124:序列指令运算程序
[0069] 125:用户程序
[0070] 201:支持工具
[0071] 221:设定工具
[0072] 222:编程工具
[0073] 223:传送工具
[0074] 224:判断工具