控制装置、记录方法以及记录有程序的记录介质与流程

阅读: 评论:0



1.本公开涉及控制对象的控制装置、记录方法以及记录有程序的记录介质,特别涉及管理通信日志的控制装置、记录方法以及记录有程序的记录介质。


背景技术:



2.在fa(factory automation:工厂自动化)的制造现场,网络连接的plc(programmable logic controller:可编程逻辑控制器)等控制装置具有对生产设备和设备等对象进行控制的功能、及经由网络与包含其他控制装置的外部设备交换控制关联数据的通信功能。控制装置使用与外部设备交换的数据来控制对象。
3.例如在日本特开2011-35664号公报中公开了网络连接的fa用的控制器监视经由该网络与设备之间通信的数据的功能。在日本特开2011-35664号公报中,fa用的控制器判断网络有无异常,并且监视与连接于该网络的设备之间通信的数据,在检测到异常时,将之前监视的数据保持于环形缓冲区。
4.为了安全地使用在制造现场使用的设备、机械,期望对与外部设备之间交换数据的网络的安全性进行管理。在这样的安全管理中,对连接于网络的控制装置和外部设备之间的通信相关信息进行记录,对记录处理后的信息进行分析。在制造现场,为了更准确地支持该分析,存在如下的需求:为了在与通信相关的信息的记录处理的同时,追踪该记录动作,还想要取得与该记录动作的控制关联的信息。关于这一点,日本特开2011-35664号公报仅限于对在与连接于网络的设备之间通信的数据进行监视并保持于环形缓冲区,未提出取得与监视动作的控制关联的信息的结构。


技术实现要素:



5.本公开的目的在于提供一种环境,在该环境下,能够实施与连接于网络的控制装置和外部设备之间的通信关联的信息的记录,并且还能够实施与该记录动作的控制关联的信息的记录。
6.在本公开一例的fa(工厂自动化)的控制装置中,具有:第1连接器,其连接控制的对象所属的第1网络;第2连接器,其连接外部设备所属的第2网络;控制运算部,其使用与对象的控制相关的数据来执行控制运算处理;通信部,其通过经由第2网络的安全通信,与外部设备之间交换数据;第1记录部,其记录与通信部实施的安全通信关联的信息;以及第2记录部,其记录与第1记录部的记录动作的控制关联的信息。
7.根据本公开,能够实施与连接于网络的控制装置和外部设备之间的安全通信关联的信息的记录,并且还能够实施与该记录动作的控制关联的信息的记录。
8.在上述公开中,控制装置还具有拆装自如地安装外部存储介质的存储介质接口,第1记录部将与安全通信关联的信息保存在安装于存储介质接口的外部存储介质中。
9.根据本公开,能够通过安装于存储介质接口的外部存储介质来记录与安全通信关联的信息,控制装置能够在不中断控制运算的情况下提供外部存储介质的信息以用于分
析。
10.在上述公开中,第2记录部将与记录动作的控制关联的信息保存在与外部存储介质不同的存储介质中。
11.根据本公开,能够在与外部存储介质不同的存储介质中记录与控制关联的信息,因此不论外部存储介质的状态如何,都能够记录与控制关联的信息。
12.在上述公开中,第1记录部将在安全通信中交换的与控制相关的数据排除在外而记录与安全通信关联的信息。
13.根据本公开,能够从作为与安全通信关联的信息而记录的信息中,去除在安全通信中交换的与控制相关的数据、即不适合于分析对象的信息的加密数据。
14.在上述公开中,与安全通信关联的信息包含在安全通信中发生的错误的信息。
15.根据本公开,作为所记录的与安全通信关联的信息,能够包含在安全通信中产生的错误。
16.在上述公开中,与安全通信关联的信息包含用于建立经由第2网络的安全通信的条件。
17.根据本公开,作为所记录的与安全通信关联的信息,能够包含用于建立安全通信的条件。
18.在本公开中,与安全通信关联的信息包含与经由第2网络的安全通信的连接建立关联的信息。
19.根据本公开,在安全通信中,能够在与安全通信关联的信息中包含与连接的建立关联的信息。
20.在上述公开中,与安全通信关联的信息包含与进行连接建立后的会话建立关联的信息。
21.根据本公开,在与安全通信关联的信息中,能够包含与在连接建立后进行的会话建立关联的信息。
22.在上述公开中,与记录动作的控制关联的信息包含该记录动作的开始、该记录动作的停止、该记录动作的失败以及与该记录动作相关的设定中的至少1个。
23.根据本公开,作为与记录动作的控制关联的信息,能够记录该记录动作的开始、该记录动作的停止、该记录动作的失败以及与该记录动作相关的设定中的至少1个。
24.在上述公开中,与记录动作相关的设定包含使该记录动作有效化或无效化的设定。
25.根据上述公开,作为与记录动作的控制关联的信息,能够包含用于使该记录动作有效化或无效化的设定。
26.在上述公开中,由第1记录部记录的与安全通信关联的信息、和由第2记录部记录的与记录动作的控制关联的信息在被记录时被赋予了公共时间轴上的时间戳。
27.根据上述公开,关于与安全通信关联的信息和与记录动作的控制关联的信息,即使由不同的记录部进行记录,也能够通过公共时间轴上的时间戳将两者建立关联。
28.根据本公开的一例,提供fa(工厂自动化)的控制装置执行的记录方法。控制装置具有:第1连接器,其连接控制的对象所属的第1网络;第2连接器,其连接外部设备所属的第2网络;控制运算部,其使用与对象的控制相关的数据来执行控制运算处理;以及通信部,其
通过经由第2网络的安全通信,与外部设备之间交换数据。记录方法具有以下步骤:记录与通信部实施的安全通信关联的信息;以及记录和与安全通信关联的信息的记录动作的控制关联的信息。
29.通过实施本公开的方法,能够实施与连接于网络的控制装置和外部设备之间的安全通信关联的信息的记录,并且还能够实施与该记录动作的控制关联的信息的记录。
30.在本公开的另一例中,提供一种用于使计算机执行fa(工厂自动化)的控制装置所执行的记录方法的程序。
31.控制装置具有:第1连接器,其连接控制的对象所属的第1网络;第2连接器,其连接外部设备所属的第2网络;控制运算部,其使用与对象的控制相关的数据来执行控制运算处理;以及通信部,其通过经由第2网络的安全通信,与外部设备之间交换数据。记录方法具有以下步骤:记录与通信部实施的安全通信关联的信息;以及记录和与安全通信关联的信息的记录动作的控制关联的信息。
32.通过由计算机执行本公开的程序,能够实施与连接于网络的控制装置和外部设备之间的安全通信关联的信息的记录,并且还能够实施与该记录动作的控制关联的信息的记录。
33.本发明的上述以及其他目的、特征、方面以及优点根据与附图相关联地理解的和本发明有关的以下详细说明而变得明确。
附图说明
34.图1是示意性地表示本实施方式的控制装置中的安全通信和记录的结构的图。
35.图2是表示本实施方式的系统1的示意图。
36.图3是表示本实施方式的plc的处理单元10的硬件结构的示意图。
37.图4是表示本实施方式的plc的处理单元10中安装的软件结构的一例的示意图。
38.图5是表示本实施方式的pub/sub通信的模型的图。
39.图6是将本实施方式的plc的模块结构与外围装置相关联地表示的图。
40.图7是示意性地表示本发明的实施方式的通信序列的图。
41.图8是表示本实施方式的安全通信日志151的一览的图。
42.图9是表示本实施方式的事件日志152的一览的图。
43.图10是表示与本实施方式的安全通信日志151相关的设定的一例的图。
44.图11是示意性地表示本实施方式的安全通信日志151的记录方式的一例的图。
45.图12是示意性地表示本实施方式的事件日志152的记录方式的一例的图。
46.图13是本实施方式的安全通信处理的流程图。
47.图14是本实施方式的安全通信处理的流程图。
48.图15是表示在本实施方式的安全通信中监视而得到的信息的一例的图。
具体实施方式
49.参照附图详细说明本实施方式。另外,对图中的相同或相应的部分标注相同的标号并不重复其说明。
50.《a.应用例》
51.首先,参照图1,对应用本发明的场景的一例进行说明。图1是示意性地表示本实施方式的控制装置中的安全通信和记录的结构的图。在本实施方式中,“安全通信”表示通过执行套接字(函数或程序)而实现的、利用了所谓的套接字通信的安全套接字通信。
52.在本实施方式中,控制装置例如是plc(programmable logic controller:可编程逻辑控制器)那样的工业用控制器。在以下的说明中,作为“控制装置”的典型例,将可应用于fa的plc作为具体例进行说明,但并不限定于plc,本说明书所公开的技术思想可应用于任意的控制装置。
53.参照图1,plc 100经由ethernet/ip(注册商标)等现场网络411,作为任意的控制对象(例如,fa的制造装置或设备等对象),与1个或多个现场设备进行通信。1个或多个现场设备分别包含:致动器7,其对包含生产工序的生产线等(以下,也总称为“现场”。)赋予某种物理作用;以及输入输出装置6,其包含与现场之间交换信息的传感器。而且,现场设备也可以包含控制工业用机器人的机器人控制器。
54.plc 100经由网络400与外部设备进行通信。外部设备包含基于云的外部服务器300或后述的内部部署(on-premises)服务器310。另外,外部设备也可以包含其他plc100。
55.plc 100具有:控制运算部60,其执行用于使用与控制相关联的控制数据70来控制对象的控制运算处理;通信模块61和安全套接字通信模块71,它们通过经由网络400的安全通信,与外部设备之间交换控制数据70;以及日志写入器117,其与安全套接字通信模块71相关联地设置。这各个部分能够由通过plc 100执行程序而实现的程序模块、硬件电路模块或者程序模块和硬件电路模块的组合构成。
56.更具体而言,控制运算部60、通信模块61以及安全套接字通信模块71分别通过执行控制程序171、通信程序172以及安全套接字通信程序来实现。在本实施方式中,安全套接字通信模块71的安全套接字通信程序是将tcp(transmission control protocol:传输控制协议)套接字和openssl(secure sockets layer:安全套接字层)的程序组合起来而实现的。当执行安全套接字通信程序时,安全套接字通信模块71在plc 100与外部设备之间实施tcp/ip(internet protocol:互联网协议)套接字通信,在该套接字通信中实施利用了openssl的加密通信。安全套接字通信模块71通过从openssl提供的库中调用(执行)用于遵循ssl协议以及tls(transport layer security:传输层安全)协议的通信的各种函数,来实现加密通信。以下,也将openssl提供的库的函数称为“库函数”。
57.安全套接字通信模块71包含日志检测部179。日志检测部179在安全通信中检测预先确定的种类的信息,将检测到的信息与记录指令一起输出到日志写入器117的第1记录部118。第1记录部118实施安全通信记录118a,该安全通信记录118a是按照来自日志检测部179的记录指令将信息保存到sd卡150的存储区域的处理。因此,在安全通信中检测到的预先确定的种类的信息被记录在sd卡150的存储区域中,sd卡150的安全通信日志151构成与安全通信关联的历史信息。
58.在本实施方式中,安全套接字通信模块71在安全通信中检测的预先确定的种类的信息包含表示网络连接条件的tls会话的参数、以及从执行的库函数输出的通信错误。
59.安全套接字通信模块71的日志检测部179检测与第1记录部118的记录动作的控制关联的、预先确定的种类的事件,并将检测到的事件的信息与记录指令一起输出到日志写入器117的第2记录部119。第2记录部119按照来自记录检测部179的记录指令,实施事件记
录119a,该事件记录119a是将信息保存在与sd卡150不同的存储介质、例如非易失性存储器106的存储区域中的处理。由此,与第1记录部118的记录处理的动作相关联地检测出的预先确定的种类的事件信息在非易失性存储器106的存储区域中被记录而构成事件日志152。此外,保存事件日志152的非易失性存储器106也可以由外部存储介质构成。
60.在本实施方式中,作为安全通信,使用了ssl/tls等通用的协议,但并不限定于此。例如,也可以利用在作为工业用iot的通信标准的opc ua(opc unified architecture:opc统一架构)中安装的任意的用于确保安全性的协议。
61.如上所述,plc 100在与外部设备之间实施安全通信的情况下,实施对与安全通信关联的信息进行记录的安全通信记录118a而取得安全通信日志151,并且实施对与该记录动作的控制相关联地检测出的事件的信息进行记录的事件记录119a而取得事件日志152。因此,在plc 100中,提供能够实施与连接于网络的该plc 100和外部设备之间的安全通信关联的信息的记录、以及与该记录动作的控制关联的信息的记录的环境。
62.通过提供上述记录环境,当用户分析sd卡150的安全通信日志151时,可以评估安全通信的健全性。例如,用户通过分析安全通信日志151,能够根据在安全通信中发生的错误来判断有无故障,另外,还能够通过分析错误来得到应对故障的信息。在安全通信中利用openssl那样的自由软件的情况下,无法保证库函数的动作,因此取得安全通信日志151具有技术意义。
63.另外,作为辅助分析安全通信日志151的信息,用户能够利用事件日志152,该事件日志152表示与该安全通信日志151的记录动作的控制关联的信息。例如,用户在分析时,能够追踪事件日志152所示的事件的发生状况来判断为了取得安全通信日志151而实施的记录动作自身的可靠性。
64.以下,作为本发明的更具体的应用例,对本实施方式的plc 100的更详细的结构及处理进行说明。
65.《b.系统结构>
66.首先,对包含本实施方式的plc 100的系统进行说明。
67.图2是表示本实施方式的系统1的示意图。本实施方式的系统1包含经由网络410进行网络连接的多个plc 100(plc1、plc2、plc3)。多个plc经由网络400与作为外部设备的服务器300进行通信。在图1中,将系统1所具有的plc设为3台,但只要是多台即可,并不限定于3台。
68.图2的系统1例如包含多种工序(例如,螺钉紧固工序、焊接工序以及组装工序等),针对这各个工序设置plc 100。在生产线中流动的工件以该顺序在工序中流动,由此制造产品。在工序中,通过现场设备对工件实施多种作业。此外,系统1所具有的工序的种类以及数量并不限定于此,能够根据所生产的产品的种类或者产品的规格而变化。
69.系统1构成这样针对各工序设置plc的分散控制系统。各工序的plc与网络400、401连接,与其他plc交换与控制关联的控制数据70。
70.各plc包含作为执行程序的主体的处理单元10、向处理单元10等供给电力的电源单元12、以及交换来自现场的信号的io(input/output:输入/输出)单元14。io单元14经由系统总线11与处理单元10连接。典型的是,io单元14从作为现场设备的输入输出装置6取得输入信号,并且根据处理单元10中的程序的执行结果来驱动作为现场设备的致动器7。输入
输出装置6例如检测致动器的控制量。输入输出装置6和致动器7构成plc所控制的作为“对象”的设备。
71.支持装置200提供开发由plc执行的应用程序的环境,并且具有监视连接目标plc的运转状态或各种数据的值等或设定各种信息的功能。所开发的程序或各种信息也可经由cd-rom(compactdisk-read only memory:光盘只读存储器)301、或经由usb(universal serial bus:通用串行总线)网络13而下载至plc 100。
72.《c.硬件结构》
73.接着,对plc的硬件结构进行说明。图3是表示本实施方式的plc的处理单元10的硬件结构的示意图。参照图3,处理单元10包含处理器50、芯片组102、主存储器104、非易失性存储器106、系统定时器108、读写cd-rom(compact disk-read only memory)91的数据的光学读写器90、系统总线控制器120、网络连接器145、网络控制器149、usb连接器110、r/w(reader writer:读写器)101。芯片组102与其他组件之间分别经由各种总线结合。r/w 101构成拆装自如地安装sd卡150的存储介质接口电路,对所安装的sd卡150读写数据。
74.处理器50和芯片组102典型的是以通用的计算机架构为基准而构成的。即,处理器50解释并执行从芯片组102按照内部时钟依次供给的命令代码。芯片组102与所连接的各种组件之间交换内部的数据,并且生成处理器50所需的命令代码。并且,芯片组102具有对作为处理器50中的运算处理的执行结果而得到的数据等进行高速缓存的功能。
75.处理单元10具有主存储器104和非易失性存储器106作为存储器。
76.主存储器104是易失性的存储区域,保存在对处理单元10接通电源后应由处理器50执行的各种程序。主存储器104也被用作处理器50执行各种程序时的作业用存储器。作为这样的主存储器104,使用dram(dynamic random access memory:动态随机存取存储器)、sram(static random access memory:静态随机存取存储器)这样的设备。
77.非易失性存储器106非易失性地保存实时os(operating system:操作系统)、系统程序、从支持装置200安装的应用程序和各种信息。
78.这些程序、数据根据需要以处理器50能够访问的方式被复制到主存储器104。
79.处理单元10具有系统总线控制器120和网络控制器149作为通信接口。这些通信接口进行输出数据的发送以及输入数据的接收。
80.系统总线控制器120控制经由系统总线11的数据交换。更具体地,系统总线控制器120包含dma(dynamic memory access:动态存储器访问)控制电路122、系统总线控制电路124和缓冲存储器126。系统总线控制器120经由系统总线连接器127与系统总线11内部连接。系统总线连接器127构成plc 100用来与输入输出装置6以及驱动设备等致动器7所属的现场网络411连接的物理通信端口。
81.网络控制器149为了控制经由网络连接器145及网络410的外部设备(其他plc或服务器300)之间的数据交换,包含dma(dynamic memory access)控制电路148、网络控制电路147和缓冲存储器146。网络连接器145构成plc 100用来与外部设备所属的网络连接的物理通信端口。
82.网络控制电路147与连接于网络410的外部设备之间,进行发送缓冲存储器146的输出数据的处理以及接收输入数据并保存于缓冲存储器146的处理。
83.usb连接器110是用于连接支持装置200与处理单元10的通信接口。典型的是,从支
持装置200传送的可由处理单元10的处理器50执行的程序及各种数据、设定等经由usb连接器110而被取入plc 100。
84.《d.软件结构》
85.接着,对plc(处理单元10)用于提供各种功能的软件结构进行说明。
86.图4是表示本实施方式的plc的处理单元10中安装的软件结构的一例的示意图。图4所示的软件所包含的命令代码在适当的定时被读出,并被提供给处理单元10的处理器50来执行。
87.参照图4,在处理单元10中,在实时os 190上安装plc 100中的处理所需的程序。
88.实时os 190根据处理单元10的计算机架构而设计,提供处理器50用来执行plc 100中的处理所需的程序的基本执行环境。更具体而言,实时os 190与调度器160协作来实现多任务执行部191。多任务执行部191提供用于随着时间的经过切换执行由多个程序实现的任务的环境。调度器160按照任务控制信息275所示的任务的优先级或周期,对分配给处理器50的任务进行切换。由此,处理器50按照任务控制信息275所示的任务的优先级或周期来执行任务。
89.更具体而言,在处理单元10中安装有调度器160、用户程序170、输入处理模块173、输出处理模块174、通信处理模块176、提供各种服务的其他系统模块178、命令执行模块180以及存储器管理器184。存储器管理器184管理保存在主存储器104中的数据。更具体而言,针对在包含控制程序171及通信程序172的用户程序170中使用的定义了各种变量的变量数据,管理用户程序170的读写。
90.调度器160与多任务控制相关联地,针对用户程序170、输入处理模块173、输出处理模块174以及通信处理模块176,按照任务控制信息275来控制执行开始定时、处理中断。
91.用户程序170由用户根据其控制目的而创建。即,是根据使用系统1控制的对象生产线(过程)等而任意设计的程序。用户程序170相当于由支持装置200生成的可执行形式的程序模块,包含控制程序171与通信程序172。控制程序171可包含序列处理以及运动运算等各种控制运算处理的程序。
92.通信程序172在网络连接的外部设备(服务器300或多个plc 100)之间,例如按照发布/订阅型的通信方式与其他装置进行通信。作为用于实现该发布/订阅型的通信模型的数据分发的通信协议,在本实施方式中,利用使服务器300承担代理(broker)的功能的mqtt(message queuing telemetry transport:消息队列遥测传输)通信协议。以下,发布/订阅型的通信被简称为pub/sub通信。另外,在网络连接的外部设备(服务器300或多个plc 100)之间交换数据的通信方式并不限定于pub/sub通信,另外,所利用的协议也并不限定于mqtt通信协议。
93.输入处理模块173将由系统总线控制器120接收到的输入数据重新配置为适合用户程序170使用的形式。输出处理模块174将通过用户程序170的执行而生成的输出数据重新配置为适于向系统总线控制器120传送的形式。
94.通信处理模块176控制网络控制器149与其他plc之间的通信处理或与支持装置200的通信。与其他plc之间的通信处理与通信程序172的执行协作来实现。通信处理模块176包含利用库函数175的安全套接字通信模块71。
95.其他系统模块178是汇总表示用于实现plc1的各种功能的1个或多个模块的模块。
日志写入器117设置在系统模块178中,并且被视为与通信处理模块176协作的模块。
96.《e.pub/sub通信的模型的一例》
97.图5是表示本实施方式的pub/sub通信的模型的图。参照图5,以图2的plc1与plc2之间的连接为对象,说明pub/sub通信的模型。在图5中,作为发布者的plc1发布的数据经由作为mqtt代理来负责消息分发的服务器300被提供给作为订阅者的plc2。在tls会话中,plc1和plc2利用mqtt服务器300的ip地址和端口号作为网络连接条件的参数。
98.发布者将服务器300的主题作为发送目的地来发送数据。发布者定义主题作为具有与控制相关的数据的消息形式的发送目的地,并将主题发送到服务器300。
99.订阅者申请服务器300分发主题的信息,并且从服务器300接收登记在申请分发的主题中的消息的分发。订阅者例如能够使用从发布者发送的控制数据70来执行包含控制程序171的用户程序170。
100.服务器300对发布者与订阅者之间的数据交换进行中介。订阅者进行向服务器300请求主题数据的登记。此外,发布者将包含主题和数据的消息发送到服务器300。
101.服务器300管理订阅者申请分发的主题。例如,当接收到来自发布者的包含主题和数据的消息时,服务器300保存主题的消息,然后将该主题的数据分发给所请求的订阅者。
102.另外,图5的说明也能够应用于将plc2发布的数据经由服务器300提供给作为订阅者的plc1的情形。
103.《f.与外围装置相关联的plc的模块结构》
104.图6是将本实施方式的plc的模块结构与外围装置相关联地表示的图。参照图6,plc 100所具有的通信功能模块9由plc 100用来与构成mqtt代理的服务器300进行通信的模块和数据构成。通信功能模块9的模块和数据包含由支持装置200所具有的程序开发工具201开发(生成)的可执行形式的通信程序172和安全套接字通信模块71、受理来自支持装置200的请求的cgi(common gateway interface:通用网关接口)104、安全套接字设定文件103以及私钥和证书203。plc 100与通信功能模块9相关联地具有日志写入器117、openssl模块138以及tcp/ip模块139。安全套接字设定文件103以及私钥和证书203例如保存在plc 100的非易失性存储区域中。
105.用户操作支持装置200的程序开发工具201,生成通信程序172,并传送到plc 100。通信程序172包含mqtt-fb 204和安全套接字通信命令205。mqtt-fb 204包含用于实现遵循mqtt通信协议的pub/sub通信的多个fb(function block:功能块)。fb是构成通信程序172的单位程序,例如包含具有输入参数及输出参数的函数。当plc 100执行通信程序172时,基于来自mqtt-fb 204的发布者或订阅者的fb的输出,调用(call)并执行安全套接字通信命令205。当执行安全套接字通信命令205时,利用安全套接字通信模块71实施安全通信。
106.用户操作支持装置200的安全套接字设定工具202。支持装置200根据该用户操作,受理用于将安全通信用的私钥和证书203传送并设定于plc 100的传送设定指示,并且受理安全套接字通信模块71和日志写入器117的操作指示。cgi 104接收从支持装置200的安全套接字设定工具202传送的上述传送设定指示和操作指示,根据接收到的指示,保存与安全套接字设定文件103的安全套接字通信相关的设定,并且将私钥和证书203设定于plc 100。另外,cgi 104按照操作指示,启动(或停止)安全套接字通信模块71,并且在安全套接字通信模块71中设定基于日志写入器117的操作指示的日志指示。日志指示例如包含使日志写
入器117开始记录的执行的开始指示或者使执行中的记录停止的停止指示等。日志写入器117(更特定而言,第1记录部118)响应于来自安全套接字通信模块71的指示启动或停止记录动作。
107.经由安全套接字通信模块71与外部设备交换从通信程序172输出的数据(包含控制数据70)。更具体而言,从通信程序172输出的数据经由安全套接字通信模块71被输出到openssl模块138。openssl模块138经由tcp/ip模块139实施使用私钥和证书203的加密通信。加密后的数据33经由防火墙/路由器32被传送到服务器300。加密后的数据33也可以被传送到作为mqtt代理的内部部署服务器310。
108.在plc 100将加密后的数据33与服务器300或内部部署服务器310等外部设备进行交换的情况下,安全套接字通信模块71的日志检测部179监视openssl模块138的库函数输出的信息,从监视的信息中,检测安全套接字设定文件103所表示的预先确定的种类的信息,并将基于检测出的信息的安全通信日志的信息与记录指令一起输出到日志写入器117。日志写入器117的第1记录部118实施将来自日志检测部179的信息按照记录指令保存到sd卡150中的安全通信记录118a的处理。另外,安全套接字通信模块71的日志检测部179监视与第1记录部118的记录动作的控制关联的事件,从监视的事件中,检测安全套接字设定文件103所表示的预先确定的种类的事件的发生,并将检测出的事件日志的信息与记录指令一起输出到日志写入器117。日志写入器117的第2记录部119按照来自日志检测部179的记录指令,实施在非易失性存储器106中保存事件日志152的事件记录119a的处理。用户能够经由安全套接字设定工具202或cgi 104将以上所述的预先确定的种类的信息或事件设置在plc100的安全套接字设定文件103中。
109.《g.安全通信序列》
110.参照图7,说明安全通信的通信序列。图7是示意性地表示本发明实施方式的通信序列的图。在图7中,示出由通信程序172构成的通信模块61、安全套接字通信模块71以及服务器300之间的安全通信的通信序列。在图7中,双线箭头表示加密通信。安全套接字通信模块71使日志写入器117与图7的处理一起实施事件记录119a的处理。
111.参照图7,plc 100执行安全套接字通信命令205中包含的通信建立的命令80(tcpconnect),经由安全套接字通信模块71通过打开处理生成tcp套接字,然后,执行安全套接字通信命令205中包含的通信结束的命令84(tcpclose),并经由安全套接字通信模块71关闭tcp套接字。在执行命令80(tcpconnect)而生成tcp套接字起到执行命令84(tcpclose)为止的期间,实施tls通信73。
112.在tls通信73中,plc 100执行安全套接字通信命令205所包含的建立tls会话的命令731(tlsconnect),将通过命令80(tcpconnect)生成的套接字和会话id作为自变量来开设安全会话。
113.利用所开设的安全会话实施用于在plc 100与服务器300之间交换密钥以及证书来相互认证的通信74、75和76,在实施了该认证之后,利用所开设的安全会话,在plc 100的通信模块61与服务器300的服务器应用320之间,实施经由安全套接字通信模块71的加密数据的通信。
114.在该加密数据的通信中,plc 100执行安全套接字通信命令205中包含的数据发送的命令732(tlswrite)及数据接收的命令733(tlsread)而与服务器300进行通信。当这样的
数据通信结束时,plc 100执行安全套接字通信命令205中包含的会话结束的命令734(tlsdisconnect)。由此,tls的会话结束,然后,plc 100执行命令84(tcpclose)来关闭tcp套接字。
115.《h.安全通信日志的一览》
116.图8是表示本实施方式的安全通信日志151的一览的图。安全通信日志151包含日志的类别801、用于识别日志的日志代码802和日志名803、日志的说明804、以及日志的详细信息805。
117.类别801包含表示tls会话的网络连接条件(在图中由info表示)的类别800和tls会话的安全通信中的错误(在图中由error表示)810。
118.关于与类别800对应的日志所表示的连接条件,日志代码802为“1000”的日志包含连接目的地服务器300的主机名、ip地址以及端口号。如图5所示,ip地址和端口号与服务器300相关联,安全套接字通信模块71例如在建立tls会话时从安全套接字设定文件103或服务器300的通信取得ip地址和端口号。
119.另外,日志代码802为“1001”、“1002”以及“1003”的日志分别表示服务器300的证书的文件名、客户端(plc 100)证书的文件名以及客户端(plc 100)私钥的文件名。这些参数在安全套接字通信模块71与服务器300交换密钥以及证书时取得。日志代码802“1010”和“1011”分别表示tls会话的建立和结束的日志,即,表示安全套接字通信模块71已经建立或结束了tls会话的日志。
120.对openssl的库函数输出的错误进行分类的类别810被分配“5000”号以后的日志代码802。日志代码802“5000”的日志表示输出了tls会话错误的库函数名和该库函数所输出的错误代码。日志代码802“5001”的日志表示安全通信中的超时的错误。日志代码802“5002”的日志表示在安全套接字设定文件中发生的错误的信息,例如表示安全套接字设定文件的文件名和行号。日志代码802“5101”的日志表示在安全套接字设定文件中发生的错误的信息,例如表示检测到错误的区段、条目、设定值等。
121.《i.事件日志的一览》
122.图9是表示本实施方式的事件日志152的一览的图。参照图9,事件日志152由no.1、no.2、no.3的编号130表示。事件日志152包含用于识别日志的事件种类131、应该针对该事件记录的事项132、事件类别133、事件代码134、重要度135以及重要度变更136的信息。
123.事件类别133包含“系统”和“访问”。事件类别133相当于“系统”的日志的事件种类131包含日志写入器117的第1记录部118进行的安全通信日志151的记录动作的开始(记录的开始)或停止(记录的停止)的事件、以及安全通信日志151的记录(logging)动作的失败。安全通信日志151的记录动作的失败例如表示作为安全通信日志151的存储目的地介质的sd卡150未安装于plc 100等,但并不限定于此。
124.plc 100基于来自r/w 101的输出,能够检测出sd卡150安装或未安装于r/w101。例如,在检测到未安装的事件的情况下,安全套接字通信模块71也可以不将安全通信日志151记录于sd卡150而记录在非易失性存储器106中。更具体而言,安全套接字通信模块71也可以控制成,使日志写入器117的第2记录部119实施安全通信日志151的记录。或者,在第2记录部119实施安全通信日志151的记录动作的情况下,也可以仅将与从sd卡150中记录了安全通信日志151的状态变化为无法再记录的状态的变化点相应的安全通信日志151记录到
非易失性存储器106中。
125.事件类别133相当于“访问”的日志的事件种类131包含由安全套接字设定工具202访问了安全套接字设定文件103的事件。
126.作为对安全套接字设定文件103的访问的种类,包含对与安全套接字通信相关的设定的访问、和对与安全通信日志151相关的设定的访问。与安全套接字通信相关的设定包含会话id,对该设定的访问包含该设定的读出、变更以及删除。
127.对与安全通信日志151相关的设定的访问包含该设定的读出和变更。图10是表示与本实施方式的安全通信日志151相关的设定的一例的图。安全套接字设定文件103所具有的安全套接字通信日志的设定具有选项和对该选项写入(设定)的值。该选项与值的关系的一例如图10所示。参照图10,选项被设定为disable和enable中的任意1个。enable表示使第1记录部118的安全通信日志151的记录动作有效化的选项,disable表示无效化的选项。在图10中,为了控制记录动作而能够设定的选项为2种,但并不限定于这些种类。
128.《j.通信日志和事件日志的记录形式》
129.图11是示意性地表示本实施方式的安全通信日志151的记录方式的一例的图。参照图11,在sd卡150中,安全通信日志151的各日志与表示由安全套接字通信模块71检测出网络连接条件或错误的日期时刻的数据153相关联地被保存。另外,图12是示意性地表示本实施方式的事件日志152的记录方式的一例的图。参照图12,在非易失性存储器106中,将图9所示的事件的日志与表示由安全套接字通信模块71检测到该事件的日期时刻的数据154相关联地被保存。日志检测部179按照规则将库函数输出的预先确定的种类的信息(包含错误)转换为日志代码802,并基于转换后的日志代码802检索图8的表。日志检测部179基于检索结果,从图8中检索与日志代码802对应的信息,从检索到的信息中取得安全通信日志151,并与记录指令一起输出到日志写入器117的第1记录部118。此外,日志检测部179基于与第1记录部118的记录动作相关联地检测到的事件的种类(预先确定的种类)来检索图9的表。日志检测部179基于检索结果,从图9的表中检索与对应于该事件的种类的事件种类131对应的信息(记录的事项132、事件类别133、事件代码134、重要度135以及重要度变更136),将基于检索到的信息的事件日志与记录指令一起输出到日志写入器117的第2记录部119。在本实施方式中,为了在plc 100中设定记录对象的信息或事件的种类,图8或图9的表(表格)的信息可包含在安全套接字设定文件103中。
130.根据图11以及图12的记录的形式,能够使用基于由系统定时器108计测出的时间的时间戳、即公共时间轴上的时间戳的数据153以及154,将安全通信日志151和事件日志152这两者相互关联起来。因此,在用户分析安全通信日志151时,能够基于该关联来追踪事件日志152。在本实施方式中,支持装置200提供对安全通信日志151和事件日志152进行分析的工具。在本实施方式中,例如日志检测部179或日志写入器117将时间戳附加到日志中。
131.《k.安全通信处理的流程图》
132.图13和图14是本实施方式的安全通信处理的流程图。在图13和图14中,省略了在图7中说明的、用于在plc 100与服务器300之间交换密钥和证书来相互认证的通信74、75和76的处理。
133.参照图7,当安全通信开始时(步骤s1),plc 100执行安全套接字通信命令205中包含的通信建立的命令80(tcpconnect),进行tcp套接字的打开处理(步骤s3),plc 100作为
安全套接字通信模块71,基于命令80所示的tcp套接字的函数的输出,判定该命令80是正常还是异常结束(步骤s5)。
134.当判定为命令80异常结束时(步骤s5中“异常结束”),安全套接字通信模块71将命令80的函数输出所表示的包含错误代码的信息作为安全通信日志151,经由日志写入器117保存(记录)到sd卡150中(步骤s7)。
135.另一方面,当判定为命令80正常结束时(步骤s5中“正常结束”),plc 100执行tls通信73的通信处理r20。
136.首先,在tls通信73中,plc 100执行安全套接字通信命令205所包含的建立tls会话的命令731(tlsconnect)(步骤s9),plc 100作为安全套接字通信模块71,基于命令731表示的安全套接字的函数的输出来判定该命令731是正常还是异常结束(步骤s11)。
137.当判定为命令731异常结束时(步骤s11中“异常结束”),安全套接字通信模块71生成命令731的函数输出所表示的包含错误代码的信息,作为安全通信日志151,经由日志写入器117保存(记录)到sd卡150中(步骤s13)。
138.另一方面,当判定为命令731正常结束时(步骤s11中“正常结束”),plc 100为了进行数据通信,执行安全套接字通信命令205中包含的数据发送处理的命令732(tlswrite)(步骤s15),并且执行数据接收处理的命令733(tlsread)(步骤s21)。plc 100作为安全套接字通信模块71,基于命令732所示的安全套接字的函数的输出来判定命令732是正常还是异常结束(步骤s17),并且基于命令733所示的安全套接字的函数输出来判定命令733是正常还是异常结束(步骤s23)。
139.当判定为命令732或命令733异常结束时(步骤s17中“异常结束”或步骤s23中“异常结束”),安全套接字通信模块71生成命令732或命令733的函数输出所表示的包含错误代码的信息,作为安全通信日志151,经由日志写入器117保存(记录)到sd卡150中(步骤s19、步骤s25)。
140.当判定为命令732和命令733正常结束时(步骤s17中“正常结束”和步骤s23中“正常结束”),plc 100为了关闭tcp套接字,执行安全套接字通信命令205中包含的会话结束的命令734(tlsdisconnect)(步骤s27)。plc 100作为安全套接字通信模块71,基于命令734所示的安全套接字的函数的输出来判定该命令734是正常还是异常结束(步骤s29)。
141.当判定为命令734异常结束时(步骤s29中“异常结束”),安全套接字通信模块71将命令734的函数输出所表示的包含错误代码的信息作为安全通信日志151,经由日志写入器117保存(记录)到sd卡150中(步骤s31)。
142.另一方面,当判定为命令734正常结束时(步骤s29中“正常结束”),plc 100执行命令84(tcpclose)而关闭tcp套接字(步骤s33)。plc 100作为安全套接字通信模块71,基于命令84所示的套接字函数的输出来判定该命令84是正常还是异常结束(步骤s35)。
143.当判定为命令84异常结束时(步骤s35中“异常结束”),安全套接字通信模块71将命令84的函数输出所表示的包含错误代码的信息作为安全通信日志151,经由日志写入器117保存(记录)到sd卡150中(步骤s37)。
144.另一方面,当判定为命令84正常结束时,tls通信73中的安全通信结束(步骤s39)。
145.在图13以及图14的安全通信处理的同时,plc 100作为安全套接字通信模块71,监视有无发生对安全通信日志151的记录动作进行控制的事件日志,若检测到事件的发生,则
将包含表示事件的代码的事件日志152经由日志写入器117保存(记录)到非易失性存储器106中。
146.以上所述的命令80的tcpconnect输出错误的情形例如包含未连接ethernet线缆、未打开tcp套接字、连接目的地的ip地址错误、连接目的地的host名错误、连接目的地的端口号错误、plc 100的ip地址设定错误、防火墙阻断了通信等。
147.另外,作为命令731的tlsconnect输出错误的情形,例如包含证书或私钥不正确、与证书相关的有效期到期或失效。
148.另外,作为命令732和733的tlswrite或tlsread输出错误的情形,例如包含不能进行安全通信(例如,安全套接字的会话被切断、tcp套接字被切断等)、服务器300的认证失败等。
149.根据图13和图14,在通信程序172和安全套接字通信模块71进行安全通信时,能够检测错误,通过日志写入器117对包含检测出的错误的、与安全通信关联的历史信息即安全通信日志151进行记录处理。安全套接字通信模块71在安全通信时,将openssl的库函数输出的错误的信息包含在安全通信日志151中。由此,plc 100能够提供安全通信日志151作为用于评估或分析安全通信的健全性的信息。
150.《l.通信数据的例子》
151.图15是表示在本实施方式的安全通信中监视而得到的信息的一例的图。参照图15,frame(帧)9表示tcp连接的建立过程,frame 13表示tls会话的建立过程(利用了openssl的安全通信的开始处理),从frame 24开始的帧表示在plc 100与服务器300之间交换的数据241,frame 32表示tls会话的结束过程(利用了openssl的安全通信的结束处理),frame 48表示tcp连接的结束过程。
152.如图15所示,在从帧24开始的帧中,在plc 100与服务器300之间交换的数据241被加密。即使记录了加密数据241,也难以进行分析。在本实施方式中,第1记录部118将在安全通信中交换的与控制相关的数据(即加密数据)排除在外而记录与安全通信关联的信息。通过这样不记录加密数据241,能够有效利用sd卡150的存储区域。
153.在本实施方式中,第1记录部118所记录的信息除了图8所示的网络连接条件或错误以外,还可以记录frame9、frame13、frame24、frame32以及frame48所示的安全通信的连接建立过程以及会话建立过程所涉及的帧的信息。
154.<m.程序和记录介质》
155.本实施方式所示的包含通信程序172的用户程序170、安全套接字通信模块71的程序以及日志写入器117的程序也能够记录在附属于plc 100的包含软盘、cd-rom 91、rom(read only memory:只读存储器)、ram(random access memory:随机存取存储器)、hdd(hard disc drive:硬盘驱动器)等记录介质在内的计算机可读取的记录介质中,作为程序产品来提供。记录介质是以计算机及其他装置、机械等能够读取所记录的程序等信息的方式,通过电、磁、光学、机械或化学作用来存储该程序等信息的介质。
156.另外,对于上述程序,还能够通过从网络经由通信接口的下载来向plc 100提供程序。
157.对本发明的实施方式进行了说明,但应认为此次公开的实施方式在所有方面都是例示而不是限制性的。本发明的范围由权利要求书表示,意在包含与权利要求书等同的意
思以及范围内的所有变更。

技术特征:


1.一种控制装置,其是fa即工厂自动化的控制装置,其中,该控制装置具有:第1连接器,其连接控制的对象所属的第1网络;第2连接器,其连接外部设备所属的第2网络;控制运算部,其使用与所述对象的控制相关的数据来执行控制运算处理;通信部,其通过经由所述第2网络的安全通信,与所述外部设备之间交换所述数据;第1记录部,其记录与所述通信部实施的所述安全通信关联的信息;以及第2记录部,其记录与所述第1记录部的记录动作的控制关联的信息。2.根据权利要求1所述的控制装置,其中,该控制装置还具有拆装自如地安装外部存储介质的存储介质接口,所述第1记录部将与所述安全通信关联的信息保存在安装于存储介质接口的所述外部存储介质中。3.根据权利要求2所述的控制装置,其中,所述第2记录部将与所述记录动作的控制关联的信息保存在与所述外部存储介质不同的存储介质中。4.根据权利要求1或2所述的控制装置,其中,所述第1记录部将在所述安全通信中交换的与所述控制相关的数据排除在外而记录与所述安全通信关联的信息。5.根据权利要求1或2所述的控制装置,其中,与所述安全通信关联的信息包含在所述安全通信中发生的错误的信息。6.根据权利要求1或2所述的控制装置,其中,与所述安全通信关联的信息包含用于建立经由所述第2网络的所述安全通信的条件。7.根据权利要求1或2所述的控制装置,其中,与所述安全通信关联的信息包含与经由所述第2网络的所述安全通信的连接建立关联的信息。8.根据权利要求7所述的控制装置,其中,与所述安全通信关联的信息包含与进行所述连接建立后的会话建立关联的信息。9.根据权利要求1或2所述的控制装置,其中,与所述记录动作的控制关联的信息包含该记录动作的开始、该记录动作的停止、该记录动作的失败以及与该记录动作相关的设定中的至少1个。10.根据权利要求9所述的控制装置,其中,与所述记录动作相关的设定包含使该记录动作有效化或无效化的设定。11.根据权利要求1或2所述的控制装置,其中,由所述第1记录部记录的与所述安全通信关联的信息、和由所述第2记录部记录的与所述记录动作的控制关联的信息在被记录时被赋予了公共时间轴上的时间戳。12.一种记录方法,其是fa即工厂自动化的控制装置执行的记录方法,其中,所述控制装置具有:第1连接器,其连接控制的对象所属的第1网络;第2连接器,其连接外部设备所属的第2网络;控制运算部,其使用与所述对象的控制相关的数据来执行控制运算处理;以及
通信部,其通过经由所述第2网络的安全通信,与所述外部设备之间交换所述数据,所述记录方法具有以下步骤:记录与所述通信部实施的所述安全通信关联的信息;以及记录和与所述安全通信关联的信息的记录动作的控制关联的信息。13.一种记录介质,其记录有用于使计算机执行fa即工厂自动化的控制装置所执行的记录方法的程序,其中,所述控制装置具有:第1连接器,其连接控制的对象所属的第1网络;第2连接器,其连接外部设备所属的第2网络;控制运算部,其使用与所述对象的控制相关的数据来执行控制运算处理;以及通信部,其通过经由所述第2网络的安全通信,与所述外部设备之间交换所述数据,所述记录方法具有以下步骤:记录与所述通信部实施的所述安全通信关联的信息;以及记录和与所述安全通信关联的信息的记录动作的控制关联的信息。

技术总结


控制装置、记录方法以及记录有程序的记录介质。控制装置实施与和设备的通信相关的信息的记录、以及与该记录动作的控制关联的信息的记录。控制装置具有:第1连接器,其连接控制的对象所属的第1网络;第2连接器,其连接设备所属的第2网络;控制运算部,其执行控制运算处理;以及通信部,其通过经由第2网络的安全通信,与设备之间交换数据,控制装置记录与该安全通信关联的信息,并记录与该记录动作的控制关联的信息。关联的信息。关联的信息。


技术研发人员:

真木德幸 出来仁太郎

受保护的技术使用者:

欧姆龙株式会社

技术研发日:

2022.04.27

技术公布日:

2022/11/24

本文发布于:2022-11-26 07:42:50,感谢您对本站的认可!

本文链接:https://patent.en369.cn/patent/4/4589.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:通信   日志   信息   模块
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 369专利查询检索平台 豫ICP备2021025688号-20 网站地图