控制器和控制管理系统的制作方法

文档序号:17439541发布日期:2019-04-17 04:34阅读:130来源:国知局
控制器和控制管理系统的制作方法

本发明涉及控制器和控制管理系统,特别是优选用于在控制程序与数据处理程序之间共享包含i/o资源的信息在内的控制信息的控制器和控制管理系统,其中,控制程序执行控制系统及社会基础设施系统的顺序控制和运动控制,数据处理程序实施复杂的算数运算或与监视控制系统(scada)、生产执行系统(mes)和云系统那样的外部系统进行信息的发送和接收。



背景技术:

控制器还称为顺序控制装置、运动控制装置或者可编程逻辑控制器(plc),以梯形逻辑(ld语言)、顺序功能图(fc语言)、功能块(fbd语言)、结构化文本(st语言)、指令表(ld语言)那样的控制装置特有的程序设计语言记述控制内容。将能够执行这样的控制内容的程序称为“控制程序”。

在这样的控制器中,存在需要复杂的算数运算及与scada、mes、云系统的信息的发送和接收那样的数据处理。这样的数据处理存在难以利用上述的控制装置特有的语言进行程序设计,存在使用c语言和java(注册商标)语言等信息通信领域使用的程序设计语言进行记述的情况。将执行这样的数据处理的程序称为“数据处理程序”。

数据处理程序使用控制程序的执行结果等控制信息及与控制器连接的i/o资源的信息等来进行数据处理,因此公开有在多个程序设计语言间或多个mcu间共享这些信息的方法(例如,专利文献1和专利文献2)。

具体而言,专利文献1中的控制装置为能够执行相当于上述的控制程序的梯形控制程序和相当于上述的数据处理程序的java(注册商标)程序的结构。程序执行中需要参考的数据以java(注册商标)对象的形式存储,java(注册商标)程序能够直接对该所需的数据进行访问。梯形控制程序在i/f部进行转换处理,从而能够进行访问。由此,构成能够利用多个程序进行一系列处理的结构。

另一方面,具体而言,专利文献2中的fa控制器包括:共享存储器;第一mcu,其在储存于该共享存储器中已确保的存储器区域的数据与储存于输入输出数据存储部的输入输出数据之间执行刷新处理;和第二mcu,其基于用户程序动作,并且操作储存于共享存储器的存储器区域的数据。在上述fa控制器,第2mcu将记述上述刷新处理的设定的刷新信息写入共享存储器的存储器区域,按照写入该存储器区域的刷新信息执行刷新处理。

现有技术文献

专利文献

专利文献1:日本特开2000-132208号公报

专利文献2:国际公开2011/125178号公报



技术实现要素:

发明所要解决的问题

在专利文献1的数据共享方式中,未言及来自对java(注册商标)对象的梯形控制程序、java(注册商标)程序的访问权,例如,未考虑从各程序对java(注册商标)对象的访问控制。

另一方面,在专利文献2的数据共享方式中,未言及从各mcu对共享存储器的访问权,未考虑从各mcu对各i/o资源的访问控制。

本发明是鉴于以上问题而完成的,提供一种在导入了执行规定控制的控制程序之后,即使追加在与外部之间进行数据的发送和接收的数据处理程序,也不会对控制程序的动作产生影响的控制器和控制管理系统。

用于解决问题的技术方案

为了解决该问题,本发明的控制器的特征在于,包括:执行规定的控制的控制程序;执行数据处理的数据处理程序;共享存储器,其储存能够由所述控制程序和所述数据处理程序各自访问的共享资源;访问权管理部,其管理关于所述控制程序和所述数据处理程序对所述共享存储器的访问权限的访问权限信息;和协调部,其在所述数据处理程序访问所述共享存储器时,基于所述访问权限信息判断所述数据处理程序是否具有对所述共享存储器的访问权限,仅在具有对所述共享存储器的访问权限的情况下允许所述数据处理程序对所述共享存储器的访问。

本发明的控制系统的特征在于,包括控制器和控制器管理装置,所述控制器包括:执行规定的控制的控制程序;执行数据处理的数据处理程序;共享存储器,其储存能够由所述控制程序和所述数据处理程序各自访问的共享资源;访问权管理部,其管理关于所述控制程序和所述数据处理程序对所述共享存储器的访问权限的访问权限信息;和协调部,其在所述数据处理程序访问所述共享存储器时,基于所述访问权限信息判断所述数据处理程序是否具有对所述共享存储器的访问权限,仅在具有对所述共享存储器的访问权限的情况下允许所述数据处理程序对所述共享存储器的访问,所述控制器管理装置显示用于对所述控制器中的所述访问权限管理部输入操作指令的访问权设定画面。

发明的效果

根据本发明,在导入了执行规定控制的控制程序之后,即使追加在与外部之间进行数据的发送和接收的数据处理程序,也不会对控制程序的动作产生影响。

附图说明

图1是表示第一实施方式的控制器和i/o模块的硬件结构的一个例子的框图。

图2是表示第一实施方式的控制器和i/o模块的功能结构的一个例子的框图。

图3是表示图2所示的i/o资源访问权信息的表结构的一个例子的图。

图4是表示图3所示的禁止读取信息表的一个例子的图。

图5是表示图3所示的允许写入信息表的一个例子的图。

图6是表示共享存储器信息表的一个例子的图。

图7是表示数据处理程序执行的数据读取处理的动作的一个例子的流程图。

图8是表示数据处理程序执行的数据写入处理的动作的一个例子的流程图。

图9是表示第二实施方式的控制系统的系统结构的一个例子的图。

图10是表示访问权设定画面的一个例子的图。

具体实施方式

以下,使用附图对本发明的一实施方式进行详细说明。

(1)第一实施方式

(1-1)作为第一实施方式的前提的硬件结构的一个例子

图1表示第一实施方式的控制器101和i/o模块113的硬件结构的一个例子。控制器101包括cpu(中央处理器)801、主存储器802、eprom(可擦可编程只读存储器)803、非易失性存储装置804、周边控制装置805、外部控制装置806、网络接口(i/f)807和内部总线818。

在控制器101,通过将储存于eprom803或非易失性存储装置804中的操作系统(os)、各种程序和各种文件扩展至主存储器802,使用cpu801进行各种运算等。

另一方面,i/o模块113包括cpu808、主存储器809、eprom810、外部控制装置811、i/o控制装置813、i/o数据第一接点814、i/o数据第二接点815、i/o数据第三接点816、i/o数据第n接点817和内部总线819。

i/o模块113通过将储存于eprom810的各种程序和各种文件扩展至主存储器809,使用cpu808进行各种运算等。

i/o控制装置813将从未图示的外部传感器等施加至i/o数据第一接点814等的电压转换为数字数据存储于主存储器809中,此外,根据cpu808的指示将存储于主存储器809的数字数据转换为电压施加至i/o数据第一接点814等。

i/o模块113通过数字信号进行输入输出。i/o模块113设想为通过数字信号进行输入输出的数字i/o模块,不过也可以代之以使用通过模拟信号进行输入输出的模拟i/o模块和通过网络包进行输入输出的网络i/o模块。

(1-2)第一实施方式的功能结构的一个例子

图2表示第一实施方式的控制器101等的功能结构的一个例子。控制器101在实施规定控制的控制程序与外部系统之间共享包含i/o资源的信息在内的控制信息。该控制程序例如是构成控制系统或社会基础设施系统的程序,执行顺序控制或运动控制。另一方面,数据处理程序实施复杂的算数运算,或在与监视控制系统(scada)、生产执行系统(mes)和云系统那样的外部系统之间进行数据的发送和接收。这些控制程序和数据处理程序能够分别以任意的周期执行存储于共享存储器110中的共享资源的读取和写入。

控制器101经总线112与i/o模块113连接。控制器101除了共享存储器110和i/o控制部111以外还包括控制程序执行部102、共享存储器信息表500、数据处理程序执行部106。

控制程序执行部102具有控制程序103和控制程序执行部104。控制程序103由控制程序执行部104控制其执行。

数据处理程序执行部106具有数据处理程序107、数据处理程序执行部108和i/o资源访问权信息109。数据处理程序107由数据处理程序执行部108控制其执行。数据处理程序107能够通过其执行基盘的所谓api,访问作为共享资源的共享存储器信息表500,在该执行基盘确认该数据处理程序107自身是否具有访问权。

共享存储器110和i/o控制部111通过控制器101的内部总线相互连接,例如能够使用程序控制方式(pi/o)或直接存储器访问(dma)等发生相互进行数据的交换。

另一方面,i/o模块113包括i/o数据114和i/o控制部115。i/o数据114和i/o控制部115通过未图示的i/o模块的内部总线等连接,能够使用程序控制方式(pi/o)或直接存储器访问(dma)等方式进行数据的交换。

i/o控制部111与i/o控制部115通过总线112相互连接,能够使用程序控制方式(pi/o)或直接存储器访问(dma)等方式进行数据的交换。

即,共享存储器110和i/o数据114能够通过未图示的控制器的内部总线、i/o控制部111、总线112、i/o控制部115、未图示的i/o模块的内部总线,使用程序控制方式(pi/o)或直接存储器访问(dma)等方式,进行数据的交换。

图3表示i/o资源访问权信息109的表结构的一个例子。i/o资源访问权信息109具有禁止读取信息表300和允许写入信息表400。

禁止读取信息表300为了简化访问权的设定,使用所谓的黑名单方式定义关于各i/o数据的读出的访问权信息。即,禁止读取信息表300管理被禁止读取的i/o数据。

另一方面,允许写入信息表400为了简化访问权的设定,使用所谓的白名单方式定义关于各i/o数据的写入的访问权信息。即,允许写入信息表400管理被允许写入的i/o数据。这些禁止读取信息表300和允许写入信息表400的详细情况后述。

图4表示图3所示的禁止读取信息表300的一个例子。禁止读取信息表300作为其列名具有称为禁止读取信息301的项。在禁止读取信息301登记i/o模块113保存的i/o数据114。数据处理程序107具有读取作为禁止读取信息301登记的i/o数据以外的其它i/o数据的权限。

图5表示图3所示的允许写入信息表400的一个例子。允许写入信息表400作为其列名具有称为允许写入信息401的项。在允许写入信息401登记i/o模块113保存的i/o数据114。数据处理程序107具有对作为允许写入信息401登记的i/o数据写入数据的权限。

图6表示图1所示的共享存储器信息表500的一个例子。共享存储器信息表500作为其列名具有称为i/o资源信息501、数据类型502、存储器地址503和数据大小504的项。在i/o资源信息501登记作为i/o模块113保存的i/o资源的i/o数据114。该i/o资源信息501与图2所示的i/o模块113的各i/o数据对应。在数据类型502登记i/o资源的数据类型。在存储器地址503登记对应的i/o数据的共享存储器110上的地址信息。在数据大小504登记i/o数据的比特单位的数据大小。

控制程序103和数据处理程序107参照共享存储器信息表500,取得所期望的i/o资源即i/o数据的数据类型以及共享存储器110上的地址信息和数据大小,执行对应的i/o资源的信息的读取或执行对对应的i/o资源的信息写入。

(1-3)动作例

图7是表示i/o数据读取处理的一个例子的流程图。在该i/o数据读取处理中,数据处理程序107读取由i/o模块113保存的i/o数据114中的某个i/o数据x。另外,i/o数据x表示图1所示的i/o数据1~i/o数据n的任一i/o数据。

首先,数据处理程序107对数据处理程序执行部108发出读取i/o数据x的请求(步骤s601)。数据处理程序执行部108在受理该读取请求时确认该i/o数据x是否已登记在禁止读取信息表300中(步骤s602)。

如果i/o数据x未登记在禁止读取信息表300中,则数据处理程序执行部108参照共享存储器信息表500从与i/o数据x对应的共享存储器110上的存储器地址读取i/o数据x,将数据值发回数据处理程序107(步骤s603),结束处理。

另一方面,如果i/o数据x已登记在禁止读取信息表300,则数据处理程序执行部108向数据处理程序107发布访问权错误(步骤s604),结束处理。

图8是表示i/o数据写入处理的一个例子的流程图。在i/o数据写入处理中,数据处理程序107对i/o模块113保存的i/o数据114中的i/o数据y进行写入。

首先,数据处理程序107对数据处理程序执行部108发出向i/o数据y写入信息的请求(步骤s701)。数据处理程序执行部108判断i/o数据y是否包含在允许写入信息表400中(步骤s702)。

在i/o数据y已登记在允许写入信息表400的情况下,数据处理程序执行部108参照共享存储器信息表500,向与i/o数据y对应的共享存储器110的存储器地址写入信息,将值发回数据处理程序107(步骤s703),结束处理。

另一方面,在i/o数据y未登记在允许写入信息表400的情况下,数据处理程序执行部108对数据处理程序107发布访问权错误(步骤s704),结束处理。

根据以上说明,例如在能够执行顺序控制和运动控制的至少一个控制的控制程序103和实施复杂的算数运算或在scada、mes、云系统之间进行数据的发送和接收的数据处理程序107的控制器101中,通过在两程序103、107之间共享i/o资源的信息,并且控制对数据处理程序107的共享数据的访问权,即使在导入上述控制程序103之后追加数据处理程序107,也不会对上述控制程序103的动作产生影响。

(2)第二实施方式

图9是表示第二实施方式的系统结构的一个例子的图。在第二实施方式中,在第一实施方式的结构的基础上,经由信息控制网络903进一步设置有控制器管理装置901。该控制器管理装置901例如是由作为开发者的用户操作的计算机,例如具有显示用于输入对于控制器101的访问权限管理功能的操作指令的、后述的访问权设定画面的功能。

控制器管理装置901具有能够设定访问权的访问权设定部902。控制器管理装置901经由作为有线或无线的网络的信息控制网络903与控制器101连接,在与该控制器101之间相互进行信息的交换。另外,控制器管理装置901为与普通的计算机大致相同的结构,因此对其硬件结构省略图示。控制器101、总线112和i/o模块113为与第一实施方式同样的结构,因此省略说明。

图10是表示访问权设定画面1001的画面图像的一个例子的图。该访问权设定画面1001通过访问权设定部902显示于未图示的显示装置。

访问权设定画面1001具有共享有无的复选框1002、访问权1003、i/o资源信息1004、设定按钮1005和取消按钮1006。

用户例如为开发者,在开发环境上进行访问权的设定。基于这样的设定,对上述的禁止读取信息表300和允许写入信息表400分别生成白名单和黑名单。另外,这些白名单和黑名单也可以在规定的开发环境下从外部输入,假如存在访问权错误,例如能够当作编辑错误。

该用户在访问权设定画面1001对访问权1003设定共享的i/o资源和访问权,基于该画面信息生成禁止读取信息表300和允许写入信息表400的信息。另外,优选在禁止读取信息表300和允许写入信息表400中,作为默认设定,对各i/o数据设定为读出专用。如此,则能够对通常情况下的控制没有特别影响。

首先,用户将与控制器101相关联的i/o资源的信息例如通过手动或询问控制器101来生成。接着,用户在共享有无的复选框1002勾选与数据处理程序107共享的i/o资源,将所勾选的i/o资源信息的访问权设定为访问权1003。在该访问权1003中,“r”表示仅允许读取,“w”表示仅允许写入,“rw”表示读取和写入均允许。

在如以上那样设定访问权后,当用户按下设定按钮1005时,访问权设定部902生成图3和图4所示的禁止读取信息表300和允许写入信息表400。当在图20所示的输入状态下按下设定按钮1005时,在禁止读取信息表300登记i/o数据2和i/o数据7,而在允许写入信息表登记i/o数据3和i/o数据6。

当如以上那样登记时,控制器管理装置901将所生成的禁止读取信息表300和允许写入信息表400的登记内容经由信息控制网络903发送至控制器101。该控制器101基于这些禁止读取信息表300和允许写入信息表400的登记内容,按照已经说明的第一实施方式的顺序,进行对所允许的i/o资源的访问控制。

根据上述的第一和第二实施方式的结构,用户能够进行与数据处理程序共享的i/o资源信息和访问控制信息的设定及访问控制。

在上述的i/o资源访问权信息109中,例如也可以通过附加电子签名而在即使被篡改的情况下也能够在执行环境下等检测出该篡改。如此,则即使在i/o资源访问权信息109被篡改的情况下,也能够正确地检测出已被篡改。

此外,在上述各实施方式中,作为共享资源的共享存储器信息表500(以下,也称为“共享资源”)的隔离方法的一个例子,也可以使用所谓的容器(container)技术实现共享资源的隔离。

此外,在上述的各实施方式中,还可以采用能够在共享资源/访问权的设定时对是否与在控制中使用的数据同步进行设定的方式。如此,则能够通过数据处理程序107取得在控制中实际中使用的参数。

此外,在上述的各实施方式中,还可以将共享资源存储于数据库(例如kvs)(例如,也可以采用能够不仅取得以最新值为关键字的历史而且取得以时间序列为关键词的历史的方式)。如此,则能够不仅在最新值而且在时间序列的值组也共享。

此外,在上述的各实施方式中,也可以对i/o资源访问权信息109不仅付与数据值、而且代之以付与例如属性、类型那样的值的意思的信息,对数据处理程序107的执行基盘的api指定属性地进行访问等。如此,则即使不知道控制的详细情况也能够取得所期望的信息,提高可再利用的比例。

此外,在上述的各实施方式中,作为访问频度的管理方法,例如也可以使得数据处理程序107的事项基盘的api不进行个别的资源的访问而进行每隔规定周期的所有数据批量复制(例如刷新处理)。如此,则能够防止高频度地访问共享资源而对控制产生影响。

(3)其它实施方式

上述实施方式仅为用于说明本发明的例示,并不表示本发明仅限定于这些实施方式。本发明只要不脱离其主旨就能够以各种方式实施。例如,在上述实施方式中按顺序说明了各种程序的处理,不过并不限于此。因而,只要不在处理结果中产生矛盾,也可以将处理的顺序交换或同时操作。

工业上的可利用性

本发明能够应用于如下的控制器和控制系统:在控制器中,通过借助共享存储器共享i/o资源的信息而使得控制程序和数据处理程序分别以任意的周期进行i/o资源信息的读写,能够通过使得数据处理程序执行功能基于i/o资源访问权信息控制数据处理程序对i/o资源信息的读取和写入,从而控制i/o资源信息的访问权。

附图标记的说明

101……控制器

102……控制程序执行部

103……控制程序

104……控制程序执行部

106……数据处理程序执行部

107……数据处理程序

108……数据处理程序执行部

109……i/o资源访问权信息

110……共享存储器

111……i/o控制部

112……总线

113……i/o模块

114……i/o数据

115……i/o控制部

300……禁止读取信息表

301……禁止读取信息

400……允许写入信息表

401……允许写入信息

500……共享存储器信息表

501……i/o资源信息

502……数据类型

503……存储器地址

504……数据大小

801……cpu

802……主存储器

803……eprom

804……非易失性存储装置

805……周边控制装置

806……外部控制装置

807……网络接口

808……cpu

809……主存储器

810……eprom

811……外部控制装置

813……i/o控制装置

814……i/o数据第一接点

815……i/o数据第二接点

816……i/o数据第三接点

817……i/o数据第四接点

901……控制器管理装置

902……访问权设定部

903……信息控制网络

1001……访问权设定画面

1002……共享有无的复选框

1003……访问权

1004……i/o资源信息。

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