図面 (/)

技術 制御装置、制御方法およびプログラム

出願人 オムロン株式会社
発明者 金谷勇気矢尾板宏心宮口秀平廣田拓也フレッドフェファートスティンケインス
出願日 2016年4月7日 (5年1ヶ月経過) 出願番号 2016-077607
公開日 2017年10月12日 (3年6ヶ月経過) 公開番号 2017-187993
状態 特許登録済
技術分野 マルチプログラミング
主要キーワード 産業用コントローラ 演算コア 書込み指令 フィールド装置 ファイルマネジャ 算術論理演算装置 フィールドネットワーク ツール装置
関連する未来課題
重要な関連分野

この項目の情報は公開日時点(2017年10月12日)のものです。
また、この項目は機械的に抽出しているため、正しく解析できていない場合があります

図面 (8)

課題

仮想化技術を採用した制御装置に対してより好適な構成が要望されている。

解決手段

制御装置は、ハードウェアリソースを用いて実行されるリアルタイムOSと、ハードウェアリソースを用いて実行され、リアルタイムOSとは独立して動作する汎用OSと、リアルタイムOSおよび汎用OSに割り当てるハードウェアリソースを管理するハイパーバイザとを含む。制御装置は、汎用OS上で動作する、ストレージデバイスの一部の領域を記憶領域として確保するとともに、当該確保した記憶領域のうちユーザ設定された少なくとも一部の領域を他の装置との間で共有するファイル共有サーバ機能を含む。制御装置は、さらに、リアルタイムOS上で動作する、ハイパーバイザを介してファイル共有サーバ機能にクライエントとして参加する機能と、ファイル共有サーバ機能により提供される共有領域アクセス可能であるか否かを周期的に監視する機能とを含む。

概要

背景

近年のICT(Information and Communication Technology)の進歩に伴って、汎用的なコンピューティングデバイスについても信頼性が高まってきている。設備または機械を制御するためのFA(Factory Automation)関連装置においても、このような汎用的なコンピューティングデバイスの導入が進められている。

例えば、特開2009−217707号公報(特許文献1)は、次世代の産業用コントローラとされるPAC(Programmable Automation Controller)を開示している。PACは、一般的なPLCと同様に、ネットワークを介して生産設備機器通信を行なうことで、I/Oデータの送受を行ない、生産設備を制御する。特許文献1に開示される構成においては、専用ツール装置を用いることなく、汎用のパソコン等によってPACのメモリデバイスに格納されたデータにアクセスして読み書きできる。

概要

仮想化技術を採用した制御装置に対してより好適な構成が要望されている。制御装置は、ハードウェアリソースを用いて実行されるリアルタイムOSと、ハードウェアリソースを用いて実行され、リアルタイムOSとは独立して動作する汎用OSと、リアルタイムOSおよび汎用OSに割り当てるハードウェアリソースを管理するハイパーバイザとを含む。制御装置は、汎用OS上で動作する、ストレージデバイスの一部の領域を記憶領域として確保するとともに、当該確保した記憶領域のうちユーザ設定された少なくとも一部の領域を他の装置との間で共有するファイル共有サーバ機能を含む。制御装置は、さらに、リアルタイムOS上で動作する、ハイパーバイザを介してファイル共有サーバ機能にクライエントとして参加する機能と、ファイル共有サーバ機能により提供される共有領域アクセス可能であるか否かを周期的に監視する機能とを含む。

目的

<A.概要
本実施の形態に従う制御装置100は、設備または機械を制御するものであり、一般的なPLCが提供する

効果

実績

技術文献被引用数
0件
牽制数
0件

この技術が所属する分野

(分野番号表示ON)※整理標準化データをもとに当社作成

ライセンス契約や譲渡などの可能性がある特許掲載中! 開放特許随時追加・更新中 詳しくはこちら

請求項1

設備または機械を制御する制御装置であって、1つ以上のプロセッサおよびストレージデバイスを含むハードウェアリソースと、前記ハードウェアリソースを用いて実行されるリアルタイムオペレーティングシステム(OS)と、前記ハードウェアリソースを用いて実行され、前記リアルタイムOSとは独立して動作する汎用オペレーティングシステム(OS)と、前記リアルタイムOSおよび前記汎用OSに割り当てるハードウェアリソースを管理するハイパーバイザとを備え、前記汎用OS上で動作する、前記ストレージデバイスの一部の領域を記憶領域として確保するとともに、当該確保した記憶領域のうちユーザ設定された少なくとも一部の領域を他の装置との間で共有するファイル共有サーバ機能を備え、前記リアルタイムOS上で動作する、前記ハイパーバイザを介して前記ファイル共有サーバ機能にクライエントとして参加する機能と、前記ファイル共有サーバ機能により提供される共有領域アクセス可能であるか否かを周期的に監視する機能とを備える、制御装置。

請求項2

前記リアルタイムOS上で動作するプログラムにおいて、前記共有領域へアクセスすることを可能にする命令利用可能である、請求項1に記載の制御装置。

請求項3

前記リアルタイムOS上で動作するプログラムにおいて、前記共有領域へアクセス可能であるか否かを示す情報が参照可能である、請求項1または2に記載の制御装置。

請求項4

前記リアルタイムOS上で動作する、外部装置からのFTP接続を処理するFTPサーバ機能と、前記リアルタイムOS上で動作する、前記外部装置が前記FTPサーバ機能を介して前記共有領域へアクセスすることを可能にする機能とを備える、請求項1〜3のいずれか1項に記載の制御装置。

請求項5

前記リアルタイムOS上で動作する、前記外部装置から前記FTPサーバ機能を介して前記共有領域へアクセス可能であるか否かを示す情報を参照可能にする機能を備える、請求項4に記載の制御装置。

請求項6

前記リアルタイムOS上で動作する、外部装置からのHTTP接続を処理するHTTPサーバ機能と、前記リアルタイムOS上で動作する、前記外部装置が前記HTTPサーバ機能を介して前記共有領域へアクセスすることを可能にする機能を備える、請求項1〜5のいずれか1項に記載の制御装置。

請求項7

前記リアルタイムOS上で動作する、前記外部装置から前記HTTPサーバ機能を介して前記共有領域へアクセス可能であるか否かを示す情報を参照可能にする機能を備える、請求項6に記載の制御装置。

請求項8

前記リアルタイムOSが確保している記憶領域への、前記汎用OSで実行されるアプリケーションからのアクセスは不可能になっている、請求項1〜7のいずれか1項に記載の制御装置。

請求項9

前記ファイル共有サーバ機能は、前記制御装置とは異なる他の装置との間でも、前記共有領域を共有可能に構成されている、請求項1〜8のいずれか1項に記載の制御装置。

請求項10

前記ハイパーバイザは、前記リアルタイムOSと前記汎用OSとの間に論理コネクション確立する、請求項1〜9のいずれか1項に記載の制御装置。

請求項11

前記ストレージデバイスは、複数種類記憶装置を含み、前記リアルタイムOS上で動作するプログラムにおいて、前記共有領域および前記複数種類の記憶装置のそれぞれの記憶領域へ選択的にアクセスすることを可能にする命令が利用可能である、請求項1〜10のいずれか1項に記載の制御装置。

請求項12

設備または機械を制御する制御装置での制御方法であって、リアルタイムオペレーティングシステム(OS)と、前記リアルタイムOSとは独立して動作する汎用オペレーティングシステム(OS)とに対する、1つ以上のプロセッサおよびストレージデバイスを含むハードウェアリソースの割り当てについて管理するステップと、前記汎用OS上で実行される、前記ストレージデバイスの一部の領域を記憶領域として確保するとともに、当該確保した記憶領域のうちユーザ設定された少なくとも一部の領域を他の装置との間で共有するステップと、前記リアルタイムOS上で実行される、ハイパーバイザを介してファイル共有サーバ機能にクライエントとして参加するステップと、前記リアルタイムOS上で実行される、前記ファイル共有サーバ機能により提供される共有領域へアクセス可能であるか否かを周期的に監視するステップとを備える、制御方法。

請求項13

設備または機械を制御するための環境を構築可能なリアルタイムオペレーティングシステム(OS)を含むプログラムであって、前記リアルタイムOSは、1つ以上のプロセッサおよびストレージデバイスを含むハードウェアリソースを用いて、前記ハードウェアリソースを管理するハイパーバイザの下で、前記リアルタイムOSとは独立して動作する汎用オペレーティングシステム(OS)とともに、並列的に実行され、前記汎用OS上では、前記ストレージデバイスの一部の領域を記憶領域として確保するとともに、当該確保した記憶領域のうちユーザ設定された少なくとも一部の領域を他の装置との間で共有するファイル共有サーバ機能が動作しており、前記プログラムは、前記ハイパーバイザを介して前記ファイル共有サーバ機能にクライエントとして参加するモジュールと、前記ファイル共有サーバ機能により提供される共有領域へアクセス可能であるか否かを周期的に監視するモジュールとを備える、プログラム。

技術分野

0001

本技術は、設備または機械を制御する制御装置制御方法およびプログラムに関する。

背景技術

0002

近年のICT(Information and Communication Technology)の進歩に伴って、汎用的なコンピューティングデバイスについても信頼性が高まってきている。設備または機械を制御するためのFA(Factory Automation)関連装置においても、このような汎用的なコンピューティングデバイスの導入が進められている。

0003

例えば、特開2009−217707号公報(特許文献1)は、次世代の産業用コントローラとされるPAC(Programmable Automation Controller)を開示している。PACは、一般的なPLCと同様に、ネットワークを介して生産設備機器通信を行なうことで、I/Oデータの送受を行ない、生産設備を制御する。特許文献1に開示される構成においては、専用ツール装置を用いることなく、汎用のパソコン等によってPACのメモリデバイスに格納されたデータにアクセスして読み書きできる。

先行技術

0004

特開2009−217707号公報

発明が解決しようとする課題

0005

ICTの進歩に伴って、コンピューティングデバイスは、信頼性に加えて、その処理能力も高まっている。共通のハードウェアリソースを用いて、互いに独立したオペレーティングシステム(Operating System:以下「OS」とも略称する。)環境を実現するとともに、各OS環境においてそれぞれ異なったアプリケーションを実行するような、いわゆる仮想化技術などが発展しつつある。このような仮想化技術を採用することで、装置コストを低廉化できる可能性がある。

0006

上述の特許文献1に開示される構成では、FA機器に対して外部のツール装置などがデータアクセスする処理が想定されるにすぎず、このような仮想化技術については想定されていない。そのため、仮想化技術を採用した制御装置に対してより好適な構成が要望されている。

課題を解決するための手段

0007

本発明のある局面に従えば、設備または機械を制御する制御装置が提供される。制御装置は、1つ以上のプロセッサおよびストレージデバイスを含むハードウェアリソースと、ハードウェアリソースを用いて実行されるリアルタイムオペレーティングシステム(OS)と、ハードウェアリソースを用いて実行され、リアルタイムOSとは独立して動作する汎用オペレーティングシステム(OS)と、リアルタイムOSおよび汎用OSに割り当てるハードウェアリソースを管理するハイパーバイザとを含む。制御装置は、汎用OS上で動作する、ストレージデバイスの一部の領域を記憶領域として確保するとともに、当該確保した記憶領域のうちユーザ設定された少なくとも一部の領域を他の装置との間で共有するファイル共有サーバ機能を含む。制御装置は、さらに、リアルタイムOS上で動作する、ハイパーバイザを介してファイル共有サーバ機能にクライエントとして参加する機能と、ファイル共有サーバ機能により提供される共有領域アクセス可能であるか否かを周期的に監視する機能とを含む。

0008

好ましくは、リアルタイムOS上で動作するプログラムにおいて、共有領域へアクセスすることを可能にする命令利用可能である。

0009

好ましくは、リアルタイムOS上で動作するプログラムにおいて、共有領域へアクセス可能であるか否かを示す情報が参照可能である。

0010

好ましくは、制御装置は、リアルタイムOS上で動作する、外部装置からのFTP接続を処理するFTPサーバ機能と、リアルタイムOS上で動作する、外部装置がFTPサーバ機能を介して共有領域へアクセスすることを可能にする機能とを含む。

0011

好ましくは、制御装置は、リアルタイムOS上で動作する、外部装置からFTPサーバ機能を介して共有領域へアクセス可能であるか否かを示す情報を参照可能にする機能を含む。

0012

好ましくは、制御装置は、リアルタイムOS上で動作する、外部装置からのHTTP接続を処理するHTTPサーバ機能と、リアルタイムOS上で動作する、外部装置がHTTPサーバ機能を介して共有領域へアクセスすることを可能にする機能とを含む。

0013

好ましくは、制御装置は、リアルタイムOS上で動作する、外部装置からHTTPサーバ機能を介して共有領域へアクセス可能であるか否かを示す情報を参照可能にする機能を含む。

0014

好ましくは、リアルタイムOSが確保している記憶領域への、汎用OSで実行されるアプリケーションからのアクセスは不可能になっている。

0015

好ましくは、ファイル共有サーバ機能は、制御装置とは異なる他の装置との間でも、共有領域を共有可能に構成されている。

0016

好ましくは、ハイパーバイザは、リアルタイムOSと汎用OSとの間に論理コネクション確立する。

0017

好ましくは、ストレージデバイスは、複数種類記憶装置を含む。リアルタイムOS上で動作するプログラムにおいて、共有領域および複数種類の記憶装置のそれぞれの記憶領域へ選択的にアクセスすることを可能にする命令が利用可能である。

0018

本発明の別の局面に従えば、設備または機械を制御する制御装置での制御方法が提供される。制御方法は、リアルタイムオペレーティングシステム(OS)と、リアルタイムOSとは独立して動作する汎用オペレーティングシステム(OS)とに対する、1つ以上のプロセッサおよびストレージデバイスを含むハードウェアリソースの割り当てについて管理するステップと、汎用OS上で実行される、ストレージデバイスの一部の領域を記憶領域として確保するとともに、当該確保した記憶領域のうちユーザ設定された少なくとも一部の領域を他の装置との間で共有するステップと、リアルタイムOS上で実行される、ハイパーバイザを介してファイル共有サーバ機能にクライエントとして参加するステップと、リアルタイムOS上で実行される、ファイル共有サーバ機能により提供される共有領域へアクセス可能であるか否かを周期的に監視するステップとを含む。

0019

本発明のさらに別の局面に従えば、設備または機械を制御するための環境を構築可能なリアルタイムオペレーティングシステム(OS)を含むプログラムが提供される。リアルタイムOSは、1つ以上のプロセッサおよびストレージデバイスを含むハードウェアリソースを用いて、ハードウェアリソースを管理するハイパーバイザの下で、リアルタイムOSとは独立して動作する汎用オペレーティングシステム(OS)とともに、並列的に実行される。汎用OS上では、ストレージデバイスの一部の領域を記憶領域として確保するとともに、当該確保した記憶領域のうちユーザ設定された少なくとも一部の領域を他の装置との間で共有するファイル共有サーバ機能が動作している。プログラムは、ハイパーバイザを介してファイル共有サーバ機能にクライエントとして参加するモジュールと、ファイル共有サーバ機能により提供される共有領域へアクセス可能であるか否かを周期的に監視するモジュールとを含む。

発明の効果

0020

本技術によれば、仮想化技術を採用した制御装置に対してより好適な構成を提供できる。

図面の簡単な説明

0021

本実施の形態に従う制御装置の一局面を一般的なPLCと比較して説明するための模式図である。
本実施の形態に従う制御装置のハードウェア構成の一例を示す模式図である。
本実施の形態に従う制御装置のソフトウェア構成の一例を示す模式図である。
本実施の形態に従う制御装置における共有領域についての監視機能を説明するための模式図である。
図4に示す共有領域についての監視機能に係るシステム変数を用いたユーザプログラムの一例を示す図である。
本実施の形態に従う制御装置のリアルタイムOSにて実行されるファイル共有に係る処理手順を示すフローチャートである。
本実施の形態に従う制御装置において複数種類の記憶領域を用いた実装例を示す模式図である。

実施例

0022

本発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰返さない。

0023

<A.概要
本実施の形態に従う制御装置100は、設備または機械を制御するものであり、一般的なPLCが提供する機能と同等の機能を提供するとともに、以下に説明するような付加的な機能を提供することができる。

0024

制御装置100は、共通のハードウェアリソースを用いて複数のOSを互いに独立に事項可能な仮想化環境を有している。この仮想化環境においては、ハードウェアリソースを用いて実行されるリアルタイムOS(図中においては「RTOS」とも記す。)と、当該ハードウェアリソースを用いて実行され、リアルタイムOSとは独立して動作する汎用OSとが並列的に実行可能になっている。リアルタイムOSおよび汎用OSに割り当てるハードウェアリソースは、ハイパーバイザによって管理される。なお、ハイパーバイザ上で実行されるOSの数は2個に限定されることなく、複数のリアルタイムOSを実行させるようにしてもよいし、複数の汎用OSを実行させるようにしてもよい。

0025

制御装置100においては、設備または機械を制御するためのプログラムの実行に適したリアルタイムOSが実行されるとともに、ユーザが利用しやすい汎用OSも実行されるので、安定した制御動作の実現と、ユーザビリティの向上とを両立できる。

0026

図1は、本実施の形態に従う制御装置100の一局面を一般的なPLCと比較して説明するための模式図である。図1(A)には、一般的なPLCの構成例を示し、図1(B)には、本実施の形態に従う制御装置100の構成例を示す。

0027

図1(A)に示すように、一般的なPLC300では、可搬型記録媒体310(例えば、SDメモリカード)を介して、PLC300に対してレシピデータ(例えば、品種別に指定される処理を指定する情報)を与えたり、PLC300で収集されているログデータなどを回収したりするようなことが行なわれる場合がある。

0028

記録媒体310を用いる場合には、PLC300に対して記録媒体310を挿抜する必要があり、取扱いがやや不便である。

0029

あるいは、PLC300にパーソナルコンピュータ320を接続し、パーソナルコンピュータ320のFTPクライエント機能を利用し、あるいは、パーソナルコンピュータ320にインストールされたプログラム開発アプリケーションを利用して、PLC300にアクセスするという方法が用いられていた。

0030

しかしながら、FTPクライエント機能を用いる場合には、それに応じたアプリケーションを操作する必要があり、また、プログラム開発アプリケーションについても、専用のアプリケーションであり、汎用のパーソナルコンピュータ上でのデータの取扱いと全く同一ということにはなっていなかった。

0031

図1(B)に示すように、本実施の形態に従う制御装置100では、リアルタイムOSおよび汎用OSがそれぞれ独立に実行される一方で、両OS上からそれぞれアクセス可能な共有の記憶領域(以下、単に「共有領域」とも称す。)が用意される。典型的には、共有領域は、共有フォルダなどの形で実現される。制御装置100では、設備または機械を制御するためのプログラムが実行される一方で、共有領域へアクセスするための汎用的なユーザインターフェイスも提供される。すなわち、制御装置100のユーザから見れば、日常使用している汎用のパーソナルコンピュータ上で実行される汎用アプリケーションを用いて、設備または機械の制御に係る各種データへ容易にアクセスできる。

0032

さらに、共有領域には、他の装置(例えば、上位サーバ装置など)からもアクセスすることが可能である。このような構成を採用することで、制御装置100が処理または保有するデータの収集および分析などの処理をより汎用的な技術を用いて実装することができる。

0033

このように、本実施の形態に従う制御装置100は、それぞれ独立に実行されるリアルタイムOSおよび汎用OSから共通的にアクセス可能な記憶領域が用意されており、これによって、データアクセスおよびデータ処理をよりフレキシブルに実現できる。

0034

<B.制御装置の装置構成
次に、本実施の形態に従う制御装置100の装置構成の一例について説明する。図2は、本実施の形態に従う制御装置100のハードウェア構成の一例を示す模式図である。図2に示す制御装置100は、基本的には、汎用アーキテクチャに従うコンピューティングエレメントによって構成されており、汎用のパーソナルコンピュータに類似したハードウェア構成を有している。

0035

図2を参照して、制御装置100は、プロセッサ102と、システムコントローラ104と、ビデオコントローラ106と、RAM(Random Access Memory)108と、HDD(Hard Disk Drive)110と、ネットワークインターフェイス(Interface:以下「I/F」とも記す。)122と、入出力インターフェイス124と、ローカル通信インターフェイス126とを含む。

0036

プロセッサ102は、後述するような各種プログラムを実行する算術論理演算装置であり、典型的には、CPU(Central Processing Unit)、MPU(Micro Processing Unit)、GPU(Graphics Processing Unit)などを含み得る。プロセッサ102は複数個が実装されていてもよく、あるいは、単一のプロセッサ102内に複数の演算コアが実装されていてもよい。すなわち、いわゆるマルチプロセッサであってもよいし、マルチコアであってもよい。

0037

システムコントローラ104は、プロセッサ102と周辺装置との間の内部コマンドやデータの遣り取りなどを制御および仲介する回路であり、典型的には、LSI(Large Scale Integration)などによって実装される。

0038

ビデオコントローラ106は、ディスプレイなどに接続され、制御装置100により提供される演算結果などを視覚的に出力する。

0039

RAM108は、プロセッサ102においてプログラムを実行するために必要なワークデータや外部との遣り取りによって取得されたデータなどを一時的に格納する。RAM108は、典型的には、DRAM(Dynamic Random Access Memory)やSRAM(Static Random Access Memory)といった揮発性記憶装置によって実装される。

0040

HDD110は、プロセッサ102によって実行されるプログラムやプロセッサ102によるプログラムの実行により生成されたデータを不揮発的に格納するストレージデバイスである。HDD110に代えて、あるいは、それに加えて、SSD(Solid State Drive)や光学ディスクなどのストレージデバイスを用いるようにしてもよい。

0041

図2に示すように、制御装置100は、1つ以上のプロセッサ102およびストレージデバイス(図2においては、HDD110)を含むハードウェアリソースを用いて、仮想化環境を実現する。

0042

HDD110には、典型的には、ハイパーバイザ112と、リアルタイムOS(Operating System)114と、汎用OS116と、ユーザプログラム118と、汎用アプリケーション120とが格納される。さらに、各OS上で動作する様々なプログラムが格納される。

0043

ハイパーバイザ112は、後述するように、共通のハードウェアリソースを用いて、複数のOSを互いに独立して実行するためのマネージングプログラムである。ハイパーバイザ112は、リアルタイムOS114および汎用OS116に割り当てるハードウェアリソースを管理する。ハイパーバイザ112は、各OSに対して仮想的なハードウェアリソースを提供することになり、各OSから見ると、通常のハードウェアリソースを利用しているのと同様の処理を実行することができる。

0044

リアルタイムOS114は、指定されたタスクを指定された優先度に基づいて実行することで、所定の時間内に指定された処理を完了できる環境を提供する。具体的には、リアルタイムOS114は、スケジューラ、I/O(Input/Output)プロセスモジュールネットワーク処理モジュールなどを含む。

0045

汎用OS116は、制御装置100のハードウェアリソースを用いて実行され、リアルタイムOS114とは独立して動作する。汎用OS116は、一般的なパーソナルコンピュータなどで実行されるOSであり、例えば、Windows(登録商標)、Mac OS(登録商標)、UNIX(登録商標)、LINUX(登録商標)、Android(登録商標)、MS−DOS(登録商標)、その他UNIX派生の任意のOSなどが挙げられる。

0046

ユーザプログラム118は、リアルタイムOS114で実行される、ユーザが任意に作成する制御プログラムである。ユーザプログラム118は、リアルタイムOSがインタプリタの機能を提供する場合には、ソースコードまたは中間コードの形で格納されていてもよいし、あるいは、オブジェクト形式などの実行可能な状態で格納されていてもよい。

0047

汎用アプリケーション120は、汎用OS116上で実行される任意のアプリケーションであり、汎用OS116の一部として組込まれているもの、市販されている任意のアプリケーション、ユーザが作成した独自アプリケーションなどを含み得る。

0048

ネットワークインターフェイス122は、他の装置との間でデータを遣り取りするためのインターフェイスであり、例えば、上位コンピュータまたは上位ネットワークに接続するためのポートフィールドネットワークまたはフィールドバスを介して各種フィールド装置に接続するためのポート、他の制御装置との間でデータを遣り取りするためのポートなどを含み得る。ネットワークインターフェイス122は、任意の規格に従うデバイスを用いることができ、例えば、Ethernet(登録商標)、EtherCAT(登録商標)などの有線方式、あるいは、無線LAN(Local Area Network)、Bluetooth(登録商標)などの無線方式のいずれであってもよい。

0049

入出力インターフェイス124は、PLCに装着される入出力ユニットに相当するものであり、フィールド機器との間で、フィールド信号デジタル入出力信号アナログ入出力信号、パルス信号など)を遣り取りする。

0050

ローカル通信インターフェイス126は、任意の通信インターフェイス包含する。典型的には、ローカル通信インターフェイス126は、USB(Universal Serial Bus)、パラレル通信、RS−232Cなどのシリアル通信などを含み、プリンタといった各種の周辺装置との間でデータを遣り取りする。

0051

<C.制御装置のソフトウェア構成>
次に、制御装置100のソフトウェア構成の一例について説明する。図3は、本実施の形態に従う制御装置100のソフトウェア構成の一例を示す模式図である。

0052

図3を参照して、制御装置100においては、ハイパーバイザ112が制御装置100のハードウェアリソースを管理するとともに、リアルタイムOS114および汎用OS116に対して、これらのハードウェアリソースを調停しながら割り当てることで、共通のハードウェアリソース上で、互いに独立したリアルタイムOS114および汎用OS116を実行させる。すなわち、ハイパーバイザ112を用いて、複数の異なるOSを実行する仮想化環境を実現する。

0053

リアルタイムOS114の実行環境下(図中においては「RTOS側」とも記す。)においては、主として、システムプロセス1142と、ユーザプログラム実行環境1144と、FTPサーバ機能1146と、HTTP(Hyper Text Transfer Protocol)サーバ機能1148と、ファイルマネジャ115とが実行されている。図示していない任意のタスクまたはプロセスが実行されていてもよい。

0054

システムプロセス1142は、ユーザプログラム実行環境1144がユーザプログラム118を実行するのに必要な機能を提供する。具体的には、フィールド信号の収集、収集されたフィールド信号と変数へのマッピング、出力される指令値更新などの処理が実行される。

0055

ユーザプログラム実行環境1144は、PLCに実装されるファームウェアに相当する機能を提供するものであり、ユーザプログラム118を実行するためのライブラリなどを提供する。ユーザプログラム118は、シーケンス命令ファンクションブロック命令、特殊命令などの組合せで構成され、実行周期が互いに異なる複数のタスクで構成される場合もある。ユーザプログラム118の全部または一部は、オブジェクト形式などの実行可能な形式とされてもよい。また、ユーザプログラム実行環境1144は、ユーザプログラム118に含まれる命令の組合せ(例えば、シーケンス命令など)を逐次解釈して実行するようにしてもよい。

0056

FTPサーバ機能1146は、リアルタイムOS114上で動作する、外部装置からのFTP接続を処理する。典型的には、FTPサーバ機能1146は、外部のパーソナルコンピュータ250(FTPクライエント機能)からのアクセスに応じて、ファイルマネジャ115が管理するデータへのアクセスを管理する機能を提供する。

0057

HTTPサーバ機能1148は、リアルタイムOS114上で動作する、外部装置からのHTTP接続を処理する。典型的には、HTTPサーバ機能1148は、外部のパーソナルコンピュータ260(典型的には、プログラム開発装置)からのアクセスに応じて、ファイルマネジャ115が管理するデータへのアクセスを管理する機能を提供する。

0058

ファイルマネジャ115は、リアルタイムOS114内の各プロセスに対してファイルアクセスを提供する機能であり、HDD110(図2)のうち予めリアルタイムOS114に対して割り当てられた記憶領域に対する読出しおよび書込みを制御する。仮想環境下においては、ファイルマネジャ115からのアクセス要求に対して、ハイパーバイザ112がHDD110へのアクセスに係るハードウェアリソースを割り当てることで、HDD110へのアクセスを実現する。

0059

汎用OS116の実行環境下(図中においては「汎用OS側」とも記す。)においては、主として、汎用アプリケーション120と、ファイルマネジャ117とが実行されている。図示していない任意のタスクまたはプロセスが実行されていてもよい。

0060

ファイルマネジャ117は、汎用OS116内の各プロセスに対してファイルアクセスを提供する機能であり、HDD110(図2)のうち予め汎用OS116に対して割り当てられた記憶領域に対する読出しおよび書込みを制御する。汎用OS116上で実行される汎用アプリケーション120は、ファイルマネジャ117が管理するデータへのアクセスが可能になっている。仮想環境下においては、ファイルマネジャ117からのアクセス要求に対して、ハイパーバイザ112がHDD110へのアクセスに係るハードウェアリソースを割り当てることで、HDD110へのアクセスを実現する。

0061

本実施の形態に従う制御装置100においては、汎用OS116のファイルマネジャ117は、ファイル共有サーバ機能1162を有しており、リアルタイムOS114のファイルマネジャ115は、ファイル共有クライエント機能1152を有している。制御装置100においては、リアルタイムOS114のファイルマネジャ115のファイル共有クライエント機能1152が、汎用OS116のファイルマネジャ117のファイル共有サーバ機能1162によって提供される共有の記憶領域をマウントすることで、リアルタイムOS114上で実行される各プロセスに対して、汎用OS116が管理する記憶領域(共有の記憶領域)をあたかも汎用OS116が管理する記憶領域としてアクセスすることができる。

0062

より具体的には、ハイパーバイザ112は、リアルタイムOS114と汎用OS116との間に仮想的なネットワーク接続(論理コネクション)を確立する。これにより、リアルタイムOS114上で実行されるアプリケーションと汎用OS116上で実行されるアプリケーションとの間は、仮想的なネットワーク接続を介して通信することができる。

0063

ファイル共有サーバ機能1162は、汎用OS116上で動作する、ストレージデバイスの一部の領域を記憶領域として確保するとともに、当該確保した記憶領域のうちユーザ設定された少なくとも一部の領域を他の装置(本実施の形態においては、仮想的に別の装置に見えるリアルタイムOS114またはリアルタイムOS114上で実行されるアプリケーションまたはプロセス)との間で共有する。ファイル共有サーバ機能1162が提供する共有領域は、ユーザ設定に基づいて、確保している記憶領域の一部または全部が任意に設定できる。なお、ユーザ設定に関わらず、予め定められたフォルダを共有できるようにしてもよい。

0064

ファイル共有サーバ機能1162およびファイル共有クライエント機能1152がファイル共有を実現するためのプロトコルとしては、現在利用可能なプロトコルおよび将来利用可能になるプロトコルのうち、任意のものを採用できる。このようなファイル共有を実現するためのプロコトルとしては、SMB(Server Message Block)、NFS(Network File System)、AFP(Apple Filing Protocol)などが挙げられる。

0065

ファイル共有クライエント機能1152は、リアルタイムOS114上で動作する、ハイパーバイザ112を介してファイル共有サーバ機能1162にクライエントとして参加する。ファイル共有クライエント機能1152は、ファイル共有サーバ機能1162にクライエントとして参加することで、ユーザプログラム118、ならびに、FTPサーバ機能1146またはHTTPサーバ機能1148を介して接続される外部装置がアクセス可能な記憶領域を提供する。

0066

ファイル共有クライエント機能1152は、ファイル共有サーバ機能1162が管理するHDD110の所定の記憶領域を、あたかもリアルタイムOS114上で管理される記憶領域(共有領域1156)として提供する。つまり、ファイル共有クライエント機能1152は、ハイパーバイザ112上で実行される他のOSまたは制御装置100とネットワークを介して接続された他の装置が保持する記憶領域を共有することができる。このように、ファイル共有クライエント機能1152は、他のOSまたは他の制御装置が保持する記憶領域をファイルマネジャ115内においてある特定のフォルダ名を付した仮想的な記憶領域として提供する(いわゆる、マウントする)ことができる。

0067

具体的には、リアルタイムOS114は、ファイル共有クライエント機能1152と連携することで、リアルタイムOS114上で実行されるユーザプログラム118などが利用可能な、共有領域1156へのアクセス(データ書込みおよびデータ読出し)用の命令を提供する。すなわち、リアルタイムOS114上で動作するプログラムにおいて、共有領域1156へアクセスすることを可能にする命令が利用可能になっている。

0068

リアルタイムOS114上では、外部装置がFTPサーバ機能1146を介して共有領域1156へアクセスすることも可能であるとともに、外部装置がHTTPサーバ機能1148を介して共有領域1156へアクセスすることも可能である。典型的な実装例として、FTPサーバ機能1146およびHTTPサーバ機能1148は、監視マネジャ1140が公開する関数を使って、対象の記憶領域が共有状態であるか(すなわち、共有領域1156として設定されているか)を確認するとともに、共有領域であると確認されると、ファイルマネジャ115が公開する関数を使って、当該領域へアクセスする。

0069

あるいは、ユーザプログラム118が利用可能な命令についても、FTPサーバ機能1146およびHTTPサーバ機能1148が利用するように実装してもよい。このような実装を採用することで、アクセス用の関数などの実装量を低減できる。

0070

制御装置100は、ネットワークインターフェイス122を介して他の装置(例えば、上位サーバ装置200)とも接続されており、このネットワークインターフェイス122に係るネットワークから見ても、ファイル共有機能を利用することができる。すなわち、汎用OS116から見れば、リアルタイムOS114および上位サーバ装置200は、いずれもネットワーク上に存在している他の装置とみなすことができる。

0071

上位サーバ装置200に実装されるファイルマネジャ220は、制御装置100のファイルマネジャ117が管理する記憶領域を自己のフォルダとしてマウントすることができ、このファイル共有を通じて、上位サーバ装置200で実行される任意のアプリケーション210は、制御装置100の汎用OS116のファイルマネジャ117が管理する記憶領域へアクセスすることができる。このように、ファイル共有サーバ機能1162は、制御装置100とは異なる他の装置との間でも、共有領域を共有可能にすることができる。

0072

なお、リアルタイムOS114のファイルマネジャ115がHDD110の記憶領域を管理する方式またはフォーマットと、汎用OS116のファイルマネジャ117がHDD110の記憶領域を管理する方式またはフォーマットとは、互いに異なっていてもよい。

0073

図3および図4においては、制御装置100に内蔵されているHDD110の記憶領域を共有化する構成について例示したが、共有化される記憶領域としては、制御装置100に外付けされているストレージデバイスや、汎用OS116がアクセス可能な他の装置に内蔵または外付けされているストレージデバイスであってもよい。

0074

複数のリアルタイムOSが並列的に実行される場合には、それぞれのリアルタイムOSが共有化された記憶領域にアクセスできるようにすればよい。

0075

<D.共有領域へアクセス可能であるか否かを監視する機能>
次に、本実施の形態に従う制御装置100において実行されるリアルタイムOS上で共有領域へアクセス可能であるか否かを監視する機能に説明する。上述したように、リアルタイムOS114は、汎用OS116が提供するファイル共有機能を利用することができるが、一般的には、汎用OS116はリアルタイムOS114に比較して安定性および堅牢性において劣る。そのため、リアルタイムOS114が健全であっても、汎用OS116側で何らかの不具合があり、ファイル共有機能がダウンしている場合も想定される。

0076

そこで、リアルタイムOS114には、いずれかの共有領域をマウントしている状態において、ファイル共有されているか否か、すなわち、共有領域へアクセス可能であるか否かを周期的(例えば、1秒毎)またはイベント的に監視する機能を実装することが好ましい。

0077

図4は、本実施の形態に従う制御装置100における共有領域についての監視機能を説明するための模式図である。図4を参照して、汎用OS116のファイル共有サーバ機能1162と、リアルタイムOS114のファイル共有クライエント機能1152との間は、ハイパーバイザ112が提供する仮想ネットワークポート1121および1122を通じて、互いに仮想的なネットワークを介して接続されている。

0078

ファイル共有クライエント機能1152と連携する監視マネジャ1140は、リアルタイムOS114上で動作し、ファイル共有サーバ機能1162により提供される共有領域1156へアクセス可能であるか否かを周期的に監視する。より具体的には、監視マネジャ1140は、ファイル共有サーバ機能1162へ定期的にデータの読出しを行ない、その成否に基づいて、共有領域へアクセス可能であるか否かを監視する。監視マネジャ1140は、その監視結果に応じて、システム変数1154を更新する。システム変数1154は、リアルタイムOS114によって管理される記憶領域に格納され、共有領域へアクセス可能であるか否かを示す情報を含み得る。なお、データの定期的な読出しではなく、定期的なデータの書込みを行なって、その成否に基づいて、共有領域へアクセス可能であるか否かを監視するようにしてもよい。データの読出しまたは書込みのいずれを実施するのかについては、予め設定されたアクセス権限などを考慮して選択するようにしてもよい。

0079

共有領域へアクセス可能であるか否かを示す情報を含むシステム変数1154は、ユーザプログラムから参照することができる。すなわち、リアルタイムOS114上で動作するプログラムにおいて、共有領域へアクセス可能であるか否かを示す情報が参照可能になっている。

0080

また、共有領域へアクセス可能であるか否かを示す情報は、FTPサーバ機能1146およびHTTPサーバ機能1148からも参照可能になっていてもよい。すなわち、リアルタイムOS114上では、外部装置からFTPサーバ機能1146およびHTTPサーバ機能1148を介して、共有領域へアクセス可能であるか否かを示す情報を参照可能にする機能が提供される。この場合、FTPサーバ機能1146およびHTTPサーバ機能1148がシステム変数1154を直接参照するようにしてもよいし、FTPサーバ機能1146およびHTTPサーバ機能1148が監視マネジャ1140に問合せを行なうようにしてもよい。

0081

図5は、図4に示す共有領域についての監視機能に係るシステム変数1154を用いたユーザプログラムの一例を示す図である。図5に示す例では、「Memcard」のディレクトリに「D0001」にあるデータを書込むための命令が定義されている。データの書込むに係るファンクションブロック302を活性化するための条件として、書込み指令を示すフラグ304と、共有領域へアクセス可能であるか否かを示すフラグ306とを含む。

0082

別の命令にて、フラグ304が「ON」に活性化され、かつ、フラグ306の値が共有領域へアクセス可能であることを示す「ON」である場合に限って、ファンクションブロック302が活性化され、データ書込みの処理が実行される。すなわち、書込み命令は、共有領域へアクセス可能である場合に限って実行される。このような共有領域へアクセス可能であるか否かの監視機能を実装することで、他のOSが管理する記憶領域を自OSが管理する記憶領域であると仮想的に取り扱う際に、何らかの原因により仮想的に設けられる記憶領域に不具合が生じた場合であっても、その不具合に起因して、ユーザプログラム118の実行が妨げられるといった事態を回避できる。

0083

図4および図5に示すように、ユーザプログラム118は、ファイル共有サーバ機能1162が提供する共有領域(典型的には、共有フォルダ)へアクセス可能であるか否かを示す情報のいずれをも利用することができる。

0084

図6は、本実施の形態に従う制御装置100のリアルタイムOSにて実行されるファイル共有に係る処理手順を示すフローチャートである。図6に示す各ステップは、リアルタイムOS114のシステムプロセス1142(図3)がプロセッサ102によって実行されることで実現される。

0085

図6を参照して、事前システム設定またはユーザプログラム118内での設定に基づいて、汎用OS116のファイル共有サーバ機能1162が管理する記憶領域をマウントする(ステップS2)。これにより、ユーザプログラム118において参照可能な記憶領域が提供される。

0086

汎用OS116の記憶領域をマウントした状態であるかが判断され(ステップS4)、汎用OS116の記憶領域をマウントした状態でなければ(ステップS4においてNOの場合)、ステップS2以下の処理が繰返される。

0087

汎用OS116の記憶領域をマウントした状態であれば(ステップS4においてYESの場合)、共有領域へアクセス可能であるか否かを監視する所定タイミング到来したか否かが判断され(ステップS6)、共有領域へアクセス可能であるか否かを監視する所定タイミングが到来していなければ(ステップS6においてNOの場合)、共有領域へアクセス可能であるか否かを監視する所定タイミングの到来まで待つ。

0088

共有領域へアクセス可能であるか否かを監視する所定タイミングが到来していれば(ステップS6においてYESの場合)、汎用OS116のファイル共有サーバ機能1162へデータの読出しを行ない、その成否に基づいて、共有領域へアクセス可能であるかを決定し(ステップS8)、決定された共有領域へアクセス可能であるか否かを示す情報をシステム変数1154として反映する(ステップS10)。そして、ステップS4以下の処理が繰返される。

0089

なお、上述の説明においては、監視マネジャ1140が共有領域へアクセス可能であるか否かを監視する構成について説明したが、「ファイル共有サーバ機能1162が停止している」といったアクセス不可能な場合の要因切り分けるような機能が実装されてもよい。

0090

<E.複数種類の記憶領域を用いた実装例>
上述したように、本実施の形態に従う制御装置100は、他のOSが管理する記憶領域を利用することもできるため、データの特性や種類に応じて、複数種類の記憶領域を実装することで、より安定性を高めつつ、ユーザビリティも高めることができる。

0091

図7は、本実施の形態に従う制御装置100において複数種類の記憶領域を用いた実装例を示す模式図である。図7を参照して、制御装置100は、記憶領域として、SSD150、RAMディスク152、RAM108、共有フォルダ156を含む。

0092

RAMディスク152は、典型的には、揮発性メモリ一種のストレージデバイスとして機能させるコンポーネントであり、アクセス速度は高いが、記憶容量は比較的少ないという記憶デバイスである。共有フォルダ156は、典型的には、HDDの記憶領域をフォルダに設定したものであり、ファイル共有プロトコルを介してアクセスするため比較的アクセス速度が低いが、記憶容量は大きくできる。

0093

一時的な記憶領域としてのRAM108に対して、RAMディスク152および共有フォルダ156のいずれからもデータ(ログやスプール)を書込むことができるとともに、処理されたデータをRAMディスク152および共有フォルダ156のいずれにも書込みすることができるようになっている。さらに、RAMディスク152と共有フォルダ156との間でもデータ(ファイル)のコピーが可能になっている。

0094

リアルタイムOS114で実行される、設備または機械を制御するユーザプログラムが利用するデータやユーザプログラム自体については、高速なアクセスが可能なRAMディスク152またはRAM108に格納することで、より高速かつ安定した制御を実現できる。また、RAMディスク152を採用することで、データ損失の可能性を低減できる。なお、RAMディスク152またはRAM108に格納されるデータについては、汎用OS116からアクセスすることはできなくなっており、汎用OS116の処理などによって、ユーザプログラムの実行が影響を受けることはない。

0095

一方、ログファイルや各種設定値などのユーザが参照または変更したいようなデータについては、共有フォルダ156に格納することで、ユーザに対して容易なアクセスを提供できる。共有フォルダ156については、リアルタイムOS114および汎用OS116のいずれからもアクセスが可能になっており、OSを跨いでデータを遣り取りすることを容易に行なうことができる。

0096

なお、RAMディスク152については、電源遮断されることで、その記憶していたデータが消去されるので、SSD150は、RAMディスク152が保持する情報をバックアップする。より具体的には、制御装置100の電源がオンされるとき(厳密に言えば、リアルタイムOS114が起動されるとき)に、SSD150に格納されているデータがRAMディスク152にリストアされる。逆に、制御装置100の電源がオフされるとき(厳密に言えば、リアルタイムOS114がシャットダウンされるとき)に、RAMディスク152に格納されているデータがSSD150にリストアされる。

0097

このように、SSD150とRAMディスク152とを組み合わせることで、データの損失を防止しつつ、アクセス速度を高めた制御装置100を実現できる。

0098

図7に示すように、特性の異なる複数種類のストレージデバイスを用意しておき、ユーザが用途に応じて任意のストレージデバイスを選択できるようにしてもよい。例えば、信頼性の高いSSD150、利便性の高い共有フォルダ156、高速アクセスのRAMディスク152などを、ユーザが用途に併せて指定可能にしてもよい。

0099

上述のような複数のストレージデバイスを用いる場合において、ユーザが使用するストレージデバイスを明示的に選択した上で、当該選択したストレージデバイスを指定して命令を実行するようにしてもよい。このような構成を採用することで、同時に複数のストレージデバイスを利用することはできないが、従来機種との間の命令互換性を維持できる。

0100

上述のような複数種類の記憶領域を利用する場合には、リアルタイムOS114上で動作するプログラムにおいて、共有領域および複数種類の記憶装置のそれぞれの記憶領域へ選択的にアクセスすることを可能にする命令を利用可能にしてもよい。例えば、各記憶領域にユニークなデバイス変数を割り当てておき、そのデバイス変数を指定することで、アクセス先の記憶領域を特定するようにしてもよい。

0101

あるいは、使用するストレージデバイス毎に専用命令をそれぞれ用意してもよい。ストレージデバイスの種類と同数の専用命令を用意することで、複数種類のストレージデバイスを同時に利用することができる。

0102

なお、リアルタイムOS114が管理する記憶領域への、汎用OS116で実行される汎用アプリケーション120からのアクセスは不可能になっている。これは、汎用OS116で実行される任意のアプリケーションによって、ユーザプログラム118などの実行への影響を回避するためのである。そのため、そもそも、リアルタイムOS114側には、ファイル共有機能自体を実装しないようにすることが好ましい。

0103

<F.セキュリティ
図3および図4に示す汎用OS116のファイル共有サーバ機能1162に対して、リアルタイムOS114のファイル共有クライエント機能1152がアクセスする場合には、ファイル共有サーバ機能1162において設定されている認証情報パスワード)や、ファイル共有サーバ機能1162自体の指定および各種設定が必要になる。このような共有の記憶領域(典型的には、共有フォルダ)に対するアクセスを実現するための設定については、制御装置100に接続されるプログラム開発装置を介して行なってもよいし、汎用OS116で実行される汎用アプリケーション120を利用して、リアルタイムOS114のファイル共有クライエント機能1152に対する設定を行なうようにしてもよい。

0104

なお、汎用OS116が管理するストレージデバイスへのアクセスを許容するための認証情報については、予めデフォルト設定などを与えないようにすることが好ましい。

0105

<G.結論
本実施の形態に従う制御装置100は、汎用的なコンピューティングデバイスを用いて、設備または機械に対する制御を安定的に実行できるとともに、汎用OSで実行される任意の汎用アプリケーションを用いて、リアルタイムOSで実行される制御処理に関する情報をフレキシブルに処理することができる。このような構成を採用することで、安定した制御動作の実現と、ユーザビリティの向上とを両立できる。

0106

今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した説明ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。

0107

100制御装置、102プロセッサ、104システムコントローラ、106ビデオコントローラ、108 RAM、110 HDD、112ハイパーバイザ、114リアルタイムOS、115,117,220ファイルマネジャ、116汎用OS、118ユーザプログラム、120汎用アプリケーション、122ネットワークインターフェイス、124入出力インターフェイス、126ローカル通信インターフェイス、152RAMディスク、156共有フォルダ、200上位サーバ装置、210アプリケーション、250,260,320パーソナルコンピュータ、300PLC、302ファンクションブロック、310記録媒体、1121仮想ネットワークポート、1140監視マネジャ、1142システムプロセス、1144 ユーザプログラム実行環境、1146FTPサーバ機能、1148HTTPサーバ機能、1152ファイル共有クライエント機能、1154システム変数、1156共有領域、1162ファイル共有サーバ機能。

ページトップへ

この技術を出願した法人

この技術を発明した人物

ページトップへ

関連する挑戦したい社会課題

該当するデータがありません

関連する公募課題

該当するデータがありません

ページトップへ

技術視点だけで見ていませんか?

この技術の活用可能性がある分野

分野別動向を把握したい方- 事業化視点で見る -

(分野番号表示ON)※整理標準化データをもとに当社作成

ページトップへ

おススメ サービス

おススメ astavisionコンテンツ

新着 最近 公開された関連が強い技術

この 技術と関連性が強い技術

関連性が強い 技術一覧

この 技術と関連性が強い人物

関連性が強い人物一覧

この 技術と関連する社会課題

該当するデータがありません

この 技術と関連する公募課題

該当するデータがありません

astavision 新着記事

サイト情報について

本サービスは、国が公開している情報(公開特許公報、特許整理標準化データ等)を元に構成されています。出典元のデータには一部間違いやノイズがあり、情報の正確さについては保証致しかねます。また一時的に、各データの収録範囲や更新周期によって、一部の情報が正しく表示されないことがございます。当サイトの情報を元にした諸問題、不利益等について当方は何ら責任を負いかねることを予めご承知おきのほど宜しくお願い申し上げます。

主たる情報の出典

特許情報…特許整理標準化データ(XML編)、公開特許公報、特許公報、審決公報、Patent Map Guidance System データ