JP2018041405A - コントローラ及びコントロール管理システム - Google Patents

コントローラ及びコントロール管理システム Download PDF

Info

Publication number
JP2018041405A
JP2018041405A JP2016176877A JP2016176877A JP2018041405A JP 2018041405 A JP2018041405 A JP 2018041405A JP 2016176877 A JP2016176877 A JP 2016176877A JP 2016176877 A JP2016176877 A JP 2016176877A JP 2018041405 A JP2018041405 A JP 2018041405A
Authority
JP
Japan
Prior art keywords
data processing
shared memory
access
processing program
controller
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2016176877A
Other languages
English (en)
Other versions
JP6745174B2 (ja
Inventor
光洋 今井
Mitsuhiro Imai
光洋 今井
亮 平兮
Ryo Heikei
亮 平兮
史之 田村
Fumiyuki Tamura
史之 田村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Industrial Equipment Systems Co Ltd
Original Assignee
Hitachi Industrial Equipment Systems Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Industrial Equipment Systems Co Ltd filed Critical Hitachi Industrial Equipment Systems Co Ltd
Priority to JP2016176877A priority Critical patent/JP6745174B2/ja
Priority to PCT/JP2017/018125 priority patent/WO2018047412A1/ja
Priority to CN201780049646.0A priority patent/CN109643355B/zh
Priority to EP17848357.4A priority patent/EP3511857B1/en
Priority to US16/329,011 priority patent/US11487258B2/en
Publication of JP2018041405A publication Critical patent/JP2018041405A/ja
Application granted granted Critical
Publication of JP6745174B2 publication Critical patent/JP6745174B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • G05B19/0423Input/output
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • G05B19/0426Programming the control sequence
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • G05B19/0428Safety, monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1416Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1416Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
    • G06F12/1425Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block
    • G06F12/1441Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block for a range
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1458Protection against unauthorised use of memory or access to memory by checking the subject access rights
    • G06F12/1483Protection against unauthorised use of memory or access to memory by checking the subject access rights using an access-table, e.g. matrix or list
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/629Protecting access to data via a platform, e.g. using keys or access control rules to features or functions of an application
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1052Security improvement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2141Access rights, e.g. capability lists, access control lists, access tables, access matrices

Abstract

【課題】データ処理プログラムによるI/Oリソースへのアクセス権を制御可能とするコントローラ及びコントロール管理システムを提供する。【解決手段】シーケンス制御等を実行する制御プログラム及び複雑な算術演算等を実行するデータ処理プログラムを共に動作させるコントローラ101において、共有メモリ110でI/Oリソース情報を共有し、このデータ処理プログラムによるI/Oリソース情報へのアクセス権を読み込み禁止情報及び書き込み許可情報を用いて制御する。【選択図】図2

Description

本発明は、コントローラ及びコントロール管理システムに関し、特に、制御システムや社会インフラシステムのシーケンス制御及びモーション制御を実行する制御プログラムと、複雑な算術演算を実施したり、監視制御システム(SCADA)、生産実行システム(MES)及びクラウドシステムのような外部システムと情報を送受信するデータ処理プログラムとの間においてI/Oリソースの情報を含む制御情報を共有するコントローラ及びコントロール管理システムに適用して好適なものである。
コントローラは、シーケンス制御装置、モーション制御装置もしくはプログラマブル・ロジック・コントローラ(PLC)とも呼ばれ、ラダー・ロジック(LD言語)、シーケンシャル・ファンクション・チャート(FC言語)、ファンクション・ブロック(FBD言語)、ストラクチャード・テキスト(ST言語)、インストラクション・リスト(LD言語)のような制御装置特有のプログラミング言語で制御内容が記述される。このような制御内容が実行可能なプログラムを「制御プログラム」と呼ぶ。
このようなコントローラにおいて、複雑な算術演算やSCADA、MES、クラウドシステムとの情報の送受信のようなデータ処理が必要な場合がある。このようなデータ処理は上述の制御装置特有の言語でプログラミングすることが困難な場合があり、C言語やJava(登録商標)言語などの情報通信分野で使われるプログラミング言語を用いて記述する場合がある。このようなデータ処理を実行するプログラムを「データ処理プログラム」と呼ぶ。
データ処理プログラムは、制御プログラムの実行結果などの制御情報やコントローラに接続するI/Oリソースの情報などを用いてデータ処理を行うため、複数のプログラミング言語間または複数のMCU間でこれらの情報を共有する方法が開示されている(例えば、特許文献1及び特許文献2)。
具体的には、特許文献1におけるコントロール制御装置は、上述した制御プログラムに相当するラダー制御プログラム、及び、上述したデータ処理プログラムに相当するJava(登録商標)プログラムを実行可能な構成となっている。プログラム実行中に参照すべき必要なデータは、Java(登録商標)オブジェクトの形式で記憶されており、Java(登録商標)プログラムは、そのまま当該必要なデータに対してアクセスが可能である。ラダー制御プログラムは、変換処理がI/F部において行われることにより、アクセスが可能となっている。これにより、複数のプログラムで一連の処理が可能な構成となっている。
一方、特許文献2におけるFAコントローラは、具体的には、共有メモリと、この共有メモリに確保済みのメモリエリアに格納されているデータと入出力データ記憶部に格納されている入出力データとの間でリフレッシュ処理を実行する第1MCUと、ユーザプログラムに基づいて動作するとともに、共有メモリのメモリエリアに格納されているデータを操作する第2MCUと、を備えている。上記FAコントローラでは、第2MCUが、上記リフレッシュ処理にかかる設定が記述されたリフレッシュ情報を共有メモリのメモリエリアに書き込み、このメモリエリアに書き込まれたリフレッシュ情報に従ってリフレッシュ処理を実行する構成となっている。
特開2000−132208号公報 国際公開2011/125178号公報
特許文献1におけるデータ共有方式においては、Java(登録商標)オブジェクトへのラダー制御プログラム、Java(登録商標)プログラムからのアクセス権について言及がなく、例えば、各プログラムからJava(登録商標)オブジェクトへのアクセス制御については考慮されていない。
一方、特許文献2におけるデータ共有方式においては、共有メモリへの各MCUからのアクセス権について言及がなく、各MCUから各I/Oリソースへのアクセス制御については考慮されていない。
本発明は以上の点を考慮してなされたもので、所定の制御を実行する制御プログラムを導入後に、外部との間でデータを送受信するデータ処理プログラムを追加しても、制御プログラムの動作に影響を与えないようにすることができるコントローラ及びコントロール管理システムを提案しようとするものである。
かかる課題を解決するため、本発明におけるコントローラは、所定の制御を実行する制御プログラムと、データ処理を実行するデータ処理プログラムと、前記制御プログラム及び前記データ処理プログラムによって各々アクセスされる共有リソースを格納する共有メモリと、前記制御プログラム及び前記データ処理プログラムによる前記共有メモリへのアクセス権限に関するアクセス権限情報を管理するアクセス権限管理部と、前記データ処理プログラムによって前記共有メモリがアクセスされる際、前記アクセス権限情報に基づいて前記共有メモリへのアクセス権限があるか否かを判定し、前記共有メモリへのアクセス権限がある場合にのみ前記共有メモリへのアクセスを許容する調停部と、を備えることを特徴とする。
本発明におけるコントロールシステムは、所定の制御を実行する制御プログラムと、データ処理を実行するデータ処理プログラムと、前記制御プログラム及び前記データ処理プログラムによって各々アクセスされる共有リソースを格納する共有メモリと、前記制御プログラム及び前記データ処理プログラムによる前記共有メモリへのアクセス権限に関するアクセス権限情報を管理するアクセス権限管理部と、前記データ処理プログラムによって前記共有メモリがアクセスされる際、前記アクセス権限情報に基づいて前記共有メモリへのアクセス権限があるか否かを判定し、前記共有メモリへのアクセス権限がある場合にのみ前記共有メモリへのアクセスを許容する調停部と、を備えるコントローラと、前記コントローラにおける前記アクセス権限管理部に対する操作指令を入力するためのアクセス権設定画面を表示するコントローラ管理装置と、を備えることを特徴とする。
本発明によれば、所定の制御を実行する制御プログラムを導入後に、外部との間でデータを送受信するデータ処理プログラムを追加しても、制御プログラムの動作に影響を与えないようにすることができる。
第1の実施の形態におけるコントローラ及びI/Oモジュールのハードウェア構成の一例を示すブロック図である。 第1の実施の形態におけるコントローラ及びI/Oモジュールの機能構成の一例を示すブロック図である。 図2に示すI/Oリソースアクセス権情報のテーブル構成の一例を示す図である。 図3に示す読み込み禁止情報テーブルの一例を示す図である。 図3に示す書き込み許可情報テーブルの一例を示す図である。 共有メモリ情報テーブルの一例を示す図である。 データ処理プログラムによるデータ読み込み処理の動作の一例を示すフローチャートである。 データ処理プログラムによるデータ書き込み処理の動作の一例を示すフローチャートである。 第2の実施の形態によるコントロールシステムのシステム構成の一例を示す図である。 アクセス権設定画面の一例を示す図である。
以下、図面について、本発明の一実施の形態について詳述する。
(1)第1の実施の形態
(1−1)第1の実施の形態の前提となるハードウェア構成の一例
図1は、第1の実施の形態におけるコントローラ101及びI/Oモジュール113のハードウェア構成の一例を示す。コントローラ101は、CPU801、メインメモリ802、EPROM803、不揮発性記憶装置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データ1接点814、I/Oデータ2接点815、I/Oデータ3接点816、I/OデータN接点817及び内部バス819を備える。
I/Oモジュール113は、EPROM810に格納されている各種プログラム及び各種ファイルをメインメモリ809に展開することにより、CPU808を用いて各種の演算等を行う。
I/O制御装置813は、I/Oデータ1接点814などに図示しない外部センサ等から印加される電圧をデジタルデータに変換してメインメモリ809に記憶し、また、CPU808の指示によりメインメモリ809に記憶されたデジタルデータを電圧に変換してI/Oデータ1接点814などに印加する。
I/Oモジュール113は、デジタル信号によって入出力を行う。I/Oモジュール113は、デジタル信号によって入出力を行うデジタルI/Oモジュールを想定しているが、その代わりに、アナログ信号によって入出力を行うアナログI/Oモジュール及びネットワークパケットによって入出力を行うネットワークI/Oモジュールを用いてもよい。
(1−2)第1の実施の形態における機能構成の一例
図2は、第1の実施の形態におけるコントローラ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)。
データ処理プログラム実行部108は、I/OデータXが読み込み禁止情報テーブル300に登録されていなければ、共有メモリ情報テーブル500を参照してI/OデータXに該当する共有メモリ110上のメモリ番地から、I/OデータXを読み込み、データ処理プログラム107に値を返し(ステップS603)、処理を終了する。
一方、データ処理プログラム実行部108は、I/OデータXが読み込み禁止情報テーブル300に登録されていれば、データ処理プログラム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)。
データ処理プログラム実行部108は、I/OデータYが書き込み許可情報テーブル400に登録されている場合、共有メモリ情報テーブル500を参照してI/OデータYに該当する共有メモリ110のメモリ番地に情報を書き込み、データ処理プログラム107に値を返し(ステップS703)、処理を終了する。
一方、データ処理プログラム実行部108は、I/OデータYが書き込み許可情報テーブル400に登録されていない場合、データ処理プログラム107に対してアクセス権エラーを発行し(ステップS704)、処理を終了する。
以上のようにすると、例えば、シーケンス制御及びモーション制御の少なくとも一方の制御を実行する制御プログラム103と、複雑な算術演算を実施したりSCADA、MES、クラウドシステムとの間でデータを送受信するデータ処理プログラム107と、を実行可能なコントローラ101において、両プログラム103,107の間においてI/Oリソースの情報を共有するとともに、データ処理プログラム107の共有データへのアクセス権を制御することにより、上記制御プログラム103を導入後にデータ処理プログラム107を追加しても、上記制御プログラム103の動作に影響を与えないようにすることができる。
(2)第2の実施の形態
図9は、第2の実施の形態におけるシステム構成の一例を示す図である。第2の実施の形態では、第1の実施の形態の構成に加えてさらに、情報制御ネットワーク903を介してコントローラ管理装置901が設けられている。このコントローラ管理装置901は、例えば、開発者であるユーザによって操作されるコンピュータであり、例えばコントローラ101におけるアクセス権限管理機能に対する操作指令を入力するための後述するアクセス権設定画面を表示する機能を有する。
コントローラ管理装置901は、アクセス権を設定可能なアクセス権設定部902を備える。コントローラ管理装置901は、有線又は無線によるネットワークとしての情報制御ネットワーク903を介してコントローラ101に接続されており、このコントローラ101との間で互いに情報のやり取りを行う。なお、コントローラ管理装置901は、通常のコンピュータとほぼ同様の構成であるため、そのハードウェア構成については図示を省略する。コントローラ101、バス112及びI/Oモジュール113は、第1の実施の形態におけるそれらと同様な構成であるため、説明を省略する。
図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に問い合わせて生成する。次に、ユーザは、データ処理プログラム107と共有されるI/Oリソースを、共有有無のチェックボックス1002にチェックし、チェックした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の登録内容に基づいて、既に説明済みの第1の実施の形態による手順に従って、許可されたI/Oリソースへのアクセス制御を行う。
上述した第1及び第2の実施の形態の構成により、ユーザは、データ処理プログラムと共有するI/Oリソース情報とアクセス制御情報の設定及びアクセス制御を行うことができる。
上述したI/Oリソースアクセス権情報109には、例えば電子署名を付与することにより、仮に改竄がなされた場合でも実行環境などにおいてこれを検知するようにしても良い。このようにすると、I/Oリソースアクセス権情報109が改竄された場合でも、改竄されたことを正確に検知することができる。
また、上述した各実施形態では、共有リソースとしての共有メモリ情報テーブル500(以下、単に「共有リソース」ともいう)の隔離方法の一例として、いわゆるコンテナ技術を用いて共有リソースの隔離を実現するようにしても良い。
また、上述した各実施形態では、共有リソース/アクセス権の設定時に制御で使ったデータと同期するか否かを設定できるようにしても良い。このようにすると、制御で実際に用いたパラメータをデータ処理プログラム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データ1接点、815……I/Oデータ2接点、816……I/Oデータ3接点、817……I/Oデータ4接点、901……コントローラ管理装置、902……アクセス権設定部、903……情報制御ネットワーク、1001……アクセス権設定画面、1002……共有有無のチェックボックス、1003……アクセス権、1004……I/Oリソース情報。

Claims (7)

  1. 所定の制御を実行する制御プログラムと、
    データ処理を実行するデータ処理プログラムと、
    前記制御プログラム及び前記データ処理プログラムによって各々アクセスされる共有リソースを格納する共有メモリと、
    前記制御プログラム及び前記データ処理プログラムによる前記共有メモリへのアクセス権限に関するアクセス権限情報を管理するアクセス権管理部と、
    前記データ処理プログラムによって前記共有メモリがアクセスされる際、前記アクセス権限情報に基づいて前記共有メモリへのアクセス権限があるか否かを判定し、前記共有メモリへのアクセス権限がある場合にのみ前記共有メモリへのアクセスを許容する調停部と、
    を備えることを特徴とするコントローラ。
  2. 前記共有メモリには複数の前記共有リソースが格納されており、
    前記アクセス権管理部は、
    前記複数の共有リソースのうち読み込みが禁止されている共有リソースを管理する読み込み禁止情報テーブルと、
    前記複数の共有リソースのうち書き込みが許容されている共有リソースを管理する書き込み許可情報テーブルと、
    を備えることを特徴とする請求項1に記載のコントローラ。
  3. 前記制御プログラム及び前記データ処理プログラムは、それぞれ任意の周期で、前記共有メモリに記憶している前記共有リソースの読み込み及び書き込みを実行する
    ことを特徴とする請求項1に記載のコントローラ。
  4. 前記アクセス権管理部は、
    前記アクセス権限情報に関してデフォルトのアクセス権限として、前記制御プログラム及び前記データ処理プログラムによる前記共有メモリからの読み出しのみが許容されるようにアクセス権限が設定されている
    ことを特徴とする請求項1に記載のコントローラ。
  5. 前記アクセス権管理部は、
    前記制御プログラムの開発環境上において前記アクセス権情報を管理することを特徴とする請求項1に記載のコントローラ。
  6. 前記アクセス権管理部は、
    前記アクセス権情報に電子署名を付して管理することを特徴とする請求項1に記載のコントローラ。
  7. 所定の制御を実行する制御プログラムと、データ処理を実行するデータ処理プログラムと、前記制御プログラム及び前記データ処理プログラムによって各々アクセスされる共有リソースを格納する共有メモリと、前記制御プログラム及び前記データ処理プログラムによる前記共有メモリへのアクセス権限に関するアクセス権限情報を管理するアクセス権限管理部と、前記データ処理プログラムによって前記共有メモリがアクセスされる際、前記アクセス権限情報に基づいて前記共有メモリへのアクセス権限があるか否かを判定し、前記共有メモリへのアクセス権限がある場合にのみ前記共有メモリへのアクセスを許容する調停部と、を備えるコントローラと、
    前記コントローラにおける前記アクセス権限管理部に対する操作指令を入力するためのアクセス権設定画面を表示するコントローラ管理装置と、
    を備えることを特徴とするコントロールシステム。
JP2016176877A 2016-09-09 2016-09-09 コントローラ及びコントロール管理システム Active JP6745174B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2016176877A JP6745174B2 (ja) 2016-09-09 2016-09-09 コントローラ及びコントロール管理システム
PCT/JP2017/018125 WO2018047412A1 (ja) 2016-09-09 2017-05-12 コントローラ及びコントロール管理システム
CN201780049646.0A CN109643355B (zh) 2016-09-09 2017-05-12 控制器和控制管理系统
EP17848357.4A EP3511857B1 (en) 2016-09-09 2017-05-12 Controller and control management system
US16/329,011 US11487258B2 (en) 2016-09-09 2017-05-12 Controller and control management system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016176877A JP6745174B2 (ja) 2016-09-09 2016-09-09 コントローラ及びコントロール管理システム

Publications (2)

Publication Number Publication Date
JP2018041405A true JP2018041405A (ja) 2018-03-15
JP6745174B2 JP6745174B2 (ja) 2020-08-26

Family

ID=61562263

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016176877A Active JP6745174B2 (ja) 2016-09-09 2016-09-09 コントローラ及びコントロール管理システム

Country Status (5)

Country Link
US (1) US11487258B2 (ja)
EP (1) EP3511857B1 (ja)
JP (1) JP6745174B2 (ja)
CN (1) CN109643355B (ja)
WO (1) WO2018047412A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111919181A (zh) * 2018-03-29 2020-11-10 株式会社日立产机系统 控制装置
WO2021157134A1 (ja) * 2020-02-04 2021-08-12 株式会社日立製作所 制御システム

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6745174B2 (ja) * 2016-09-09 2020-08-26 株式会社日立産機システム コントローラ及びコントロール管理システム
JP7238632B2 (ja) * 2019-06-26 2023-03-14 オムロン株式会社 制御システム、制御装置、および管理方法
US20220363277A1 (en) * 2021-05-13 2022-11-17 Dana Belgium N.V. Driveline component control and fault diagnostics

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH096706A (ja) * 1995-06-22 1997-01-10 Hitachi Ltd 疎結合計算機システム
JP2000099355A (ja) 1998-09-22 2000-04-07 Nec Corp ネットワークコンピュータ
JP3548777B2 (ja) 1998-10-28 2004-07-28 オムロン株式会社 コントロール制御装置
US6345212B1 (en) * 1998-11-20 2002-02-05 Manufacturing Data Systems, Inc. Automatic variable linkage mechanism for integrating third party software components
JP2003242030A (ja) 2001-12-14 2003-08-29 Matsushita Electric Ind Co Ltd メモリ管理装置及びメモリ管理方法
US20030200459A1 (en) * 2002-04-18 2003-10-23 Seeman El-Azar Method and system for protecting documents while maintaining their editability
US20050273600A1 (en) * 2003-02-03 2005-12-08 Seeman El-Azar Method and system for file data access within a secure environment
JP2005122474A (ja) * 2003-10-16 2005-05-12 Fujitsu Ltd 情報漏洩防止プログラムおよびその記録媒体並びに情報漏洩防止装置
US7516265B2 (en) * 2004-03-12 2009-04-07 Siemens Energy & Automation, Inc. System and method for providing an application with memory access methods
JP2006178818A (ja) 2004-12-24 2006-07-06 Yaskawa Electric Corp モーションコントローラとエンジニアリングツール並びにc言語実行システム
JP4756603B2 (ja) * 2006-10-10 2011-08-24 ルネサスエレクトロニクス株式会社 データプロセッサ
US7725663B2 (en) 2007-10-31 2010-05-25 Agere Systems Inc. Memory protection system and method
JPWO2011125178A1 (ja) 2010-04-06 2013-07-08 三菱電機株式会社 制御システム、制御装置および制御方法
GB2479916A (en) * 2010-04-29 2011-11-02 Nec Corp Access rights management of locally held data based on network connection status of mobile device
WO2011154020A1 (de) 2010-06-09 2011-12-15 Siemens Aktiengesellschaft Rechenvorrichtung mit koordination des zugriffs auf einen internen speicher und betriebsverfahren
WO2012145916A1 (zh) * 2011-04-29 2012-11-01 北京中天安泰信息科技有限公司 数据安全存储方法及装置
US20140282908A1 (en) * 2013-03-13 2014-09-18 Location Sentry Corp Intelligent agent for privacy and security
US9372752B2 (en) 2013-12-27 2016-06-21 Intel Corporation Assisted coherent shared memory
CN105760217A (zh) 2016-03-23 2016-07-13 深圳森格瑞通信有限公司 一种访问共享内存的方法
JP6745174B2 (ja) * 2016-09-09 2020-08-26 株式会社日立産機システム コントローラ及びコントロール管理システム

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111919181A (zh) * 2018-03-29 2020-11-10 株式会社日立产机系统 控制装置
EP3779622A4 (en) * 2018-03-29 2021-12-29 Hitachi Industrial Equipment Systems Co., Ltd. Control device
US11402815B2 (en) 2018-03-29 2022-08-02 Hitachi Industrial Equipment Systems Co., Ltd. Control apparatus
CN111919181B (zh) * 2018-03-29 2023-09-12 株式会社日立产机系统 控制装置
WO2021157134A1 (ja) * 2020-02-04 2021-08-12 株式会社日立製作所 制御システム
JP2021124907A (ja) * 2020-02-04 2021-08-30 株式会社日立製作所 制御システム
US11734201B2 (en) 2020-02-04 2023-08-22 Hitachi, Ltd. Control system

Also Published As

Publication number Publication date
EP3511857A1 (en) 2019-07-17
US20190204801A1 (en) 2019-07-04
JP6745174B2 (ja) 2020-08-26
EP3511857A4 (en) 2020-01-15
US11487258B2 (en) 2022-11-01
EP3511857B1 (en) 2022-10-12
CN109643355B (zh) 2023-09-12
CN109643355A (zh) 2019-04-16
WO2018047412A1 (ja) 2018-03-15

Similar Documents

Publication Publication Date Title
WO2018047412A1 (ja) コントローラ及びコントロール管理システム
EP3192235B1 (en) Device synchronization and testing
CN102087594B (zh) 扩展点和插件的管理方法和装置
US20150113423A1 (en) System and method to configure a field device
JPWO2013191275A1 (ja) 制御装置
CN112242920B (zh) 一种云平台部署方法、装置及节点
JP2016012172A (ja) 通信システム、プログラマブル表示器、情報処理装置、動作制御方法、情報処理方法、およびプログラム
JP2011186607A (ja) フィールドデバイス、フィールドデバイスの設定方法、フィールドデバイス管理装置及びプログラム
US9830204B2 (en) Facilitating communication between software components that use middleware
US20190044997A1 (en) Method for providing functions within an industrial automation system, and an automation system
US20210018907A1 (en) Management device, management system, display method, and program
Lehner et al. A pattern catalog for augmenting Digital Twin models with behavior
US11316710B2 (en) Control system and control method
AU2020379690A1 (en) Capability management method and computer device
JP2010128776A (ja) 携帯端末自動メンテナンス装置および携帯端末自動メンテナンス方法
WO2019244226A1 (ja) プログラム実行支援装置、プログラム実行支援方法、およびプログラム実行支援プログラム
US11468026B2 (en) Information processing apparatus, information processing method, and recording medium recording information processing program
US11640153B2 (en) Control system, support device, and recording medium
Galeas et al. EtherCAT as an alternative for the next generation real-time control system for telescopes
US20240020741A1 (en) Catalog service replication
US20240045724A1 (en) Framework for provisioning an application resource for an application in use with a controlled content repository
US11138016B2 (en) System construction support device, system construction support method, and non-transitory storage medium
CN115034630A (zh) 用于分级展示构型信息的方法、装置、设备和可读介质
JP6206463B2 (ja) 情報処理装置、その制御方法、及びプログラム、並びに情報処理システム、その制御方法、及びプログラム
CN117391670A (zh) 基于数字化测试的带电检测方法和装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20181128

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190723

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20190910

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20191107

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200317

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20200518

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200622

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20200714

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200803

R150 Certificate of patent or registration of utility model

Ref document number: 6745174

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150