JP2023128052A - 情報処理システム - Google Patents

情報処理システム Download PDF

Info

Publication number
JP2023128052A
JP2023128052A JP2022032105A JP2022032105A JP2023128052A JP 2023128052 A JP2023128052 A JP 2023128052A JP 2022032105 A JP2022032105 A JP 2022032105A JP 2022032105 A JP2022032105 A JP 2022032105A JP 2023128052 A JP2023128052 A JP 2023128052A
Authority
JP
Japan
Prior art keywords
control program
control
virtual machine
information processing
server device
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.)
Pending
Application number
JP2022032105A
Other languages
English (en)
Inventor
榴 劉
Ryu Liu
将英 小野
Masahide Ono
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.)
Toshiba Corp
Toshiba Infrastructure Systems and Solutions Corp
Original Assignee
Toshiba Corp
Toshiba Infrastructure Systems and Solutions Corp
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 Toshiba Corp, Toshiba Infrastructure Systems and Solutions Corp filed Critical Toshiba Corp
Priority to JP2022032105A priority Critical patent/JP2023128052A/ja
Priority to PCT/JP2022/046848 priority patent/WO2023166820A1/ja
Publication of JP2023128052A publication Critical patent/JP2023128052A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Stored Programmes (AREA)
  • Debugging And Monitoring (AREA)

Abstract

【課題】よりよいプログラム作成及びデバッグの環境を提供する
【解決手段】実施形態によれば、情報処理システムは、少なくとも 1 つのサーバ装置と、複数のクライアント装置と、を備え、制御装置において実行される制御プログラムを作成及びデバッグする。前記サーバ装置は、前記複数のクライアント装置からネットワークを介したクラウド環境で動作し、前記クラウド環境において、仮想マシンを構成し、前記仮想マシンにおいて、前記制御装置を仮想的に仮想制御装置として構成し、前記制御プログラムをコンパイルし、前記仮想制御装置において前記制御プログラムを実行させる。前記クライアント装置は、前記仮想マシンにおいて前記制御プログラムをコンパイルする要求を前記サーバ装置に送信し、前記仮想制御装置において前記制御プログラムの内容を実行する要求を前記サーバ装置に送信する。
【選択図】図1

Description

本発明の実施形態は、情報処理システムに関する。
プラント制御装置は、国際標準規格 IEC 61131-3 で規定されている LD (Ladder Diagram) 、 FBD (Function Block Diagram) 、 SFC (Sequential Function Chart) といったグラフィカル言語や、 IL (Instruction List) 、 ST (Structured Text) といったテキスト言語を用いてプログラマが記述した制御プログラムにより制御される。プログラマは、上記の言語を用いて、プラントを自動運転するためのプログラムを制御プログラム作成装置において作成してプラント運転者へと提供する。プログラマは、ユニットテスト、結合テスト等によりデバッグし、さらに、プラント現地における調整時にも制御プログラムのデバッグを実行する。
デバッグをする際に、プログラマは、オンライン状態で制御プログラム単位の置き換え、又は、接点や変数の値を強制的に変更して制御プログラムの動作確認を行う。プログラマに対して、時間及び場所に制限されないように、どこでも、いつでも、誰でもプログラムの作成デバッグ、及び、プログラマの利用をできる環境が求められる。
しかしながら、上記のようなプログラムの作成及びデバッグにおいては、制御プログラムの検証に固定 PC 、制御機械の実機或いはシミュレータ、エミュレータによるデバッグ環境が必要となる。制御装置とシステム開発環境が固定となっているため、実際には、シミュレータ等を用いる場合であっても、時間、場所により作業が制限されている。
特開2018-063594号公報
一実施形態は、よりよいプログラム作成及びデバッグの環境を提供する。
一実施形態によれば、情報処理システムは、少なくとも 1 つのサーバ装置と、複数のクライアント装置と、を備え、制御装置において実行される制御プログラムを作成及びデバッグする。前記サーバ装置は、前記複数のクライアント装置からネットワークを介したクラウド環境で動作し、前記クラウド環境において、仮想マシンを構成し、前記仮想マシンにおいて、前記制御装置を仮想的に仮想制御装置として構成し、前記制御プログラムをコンパイルし、前記仮想制御装置において前記制御プログラムを実行させる。前記クライアント装置は、前記仮想マシンにおいて前記制御プログラムをコンパイルする要求を前記サーバ装置に送信し、前記仮想制御装置において前記制御プログラムの内容を実行する要求を前記サーバ装置に送信する。
一実施形態に係る情報処理システムの構成の一例を示す図。 一実施形態に係るクライアント装置及び制御装置の構成の一例を示す図。 一実施形態に係る情報処理システムの構成の一例を示す図。 一実施形態に係るグラフィカルに描画された制御プログラムの一例を示す図。 一実施形態に係る情報処理システムの一例を模式的に示す図。 一実施形態に係る情報処理システムの処理の一例を示すフローチャート。 一実施形態に係る情報処理システムの一例を模式的に示す図。 一実施形態に係る情報処理システムの処理の一例を示すフローチャート。 一実施形態に係る情報処理システムの一例を模式的に示す図。 一実施形態に係る制御システムの構成の一例を示す図。
以下、図面を参照して実施形態について説明する。
図1は、一実施形態に係る情報処理システムの一例を模式的に示す図である。情報処理システム 1 は、クライアント装置 10 と、制御装置 20 と、サーバ装置 30 と、ネットワーク 40 と、を備える。なお、情報処理システム 1 としては、制御装置 20 は必須ではなく、ネットワーク 40 を介して接続されるクライアント装置 10 と、サーバ装置 30 と、を少なくとも備える構成としてもよい。
クライアント装置 10 は、制御プログラムを作成し、制御装置 20 へとコンパイルした制御プログラムを送信する装置である。クライアント装置 10 は、ユーザがデータを入出力可能なインタフェースを備える。
制御装置 20 は、プラントを制御する装置である。制御装置 20 は、クライアント装置 10 から受信したコンパイル済みの制御プログラムを用いて、プラントを制御する。
図1において、クライアント装置 10 及び制御装置 20 は、 1 つずつ示されているが、これは限定されない一例として示したものである。少なくとも 1 つのサーバ装置 30 に対して、 1 又は複数のクライアント装置 10 及び 1 又は複数の制御装置 20 が備えられる構成であってもよい。
サーバ装置 30 は、本開示において、クラウド上で仮想マシン環境を構築し、クライアント装置 10 からの仮想マシン環境へのアクセスを可能とする。サーバ装置 30 は、この仮想マシン環境において、クライアント装置 10 からの要求により、制御プログラムの作成及びデバッグを実行する。
図2は、一般的に用いられているクライアント装置 10 と、制御装置 20 の限定されない一例を模式的に示すブロック図である。なお、本図においては、クライアント装置 10 と制御装置 20 が 1 つずつ示されているが、これに限定されるものではなく、 1 又は複数のクライアント装置 10 と 1 又は複数の制御装置 20 とが接続される構成であってもよい。
クライアント装置 10 は、例えば、制御プログラム管理部 110 と、データベース部 120 と、を備える。また、クライアント装置 10 は、入出力インタフェースを介して、入力装置 130 と、出力装置 140 と接続され、又は、入力装置 130 と、出力装置 140 を備えている。
制御プログラム管理部 110 は、プログラマが制御プログラムを編集 (新規作成を含む) をする管理をする。制御プログラム管理部 110 は、編集部 112 と、コンパイル部 114 と、オブジェクト生成部 116 と、を備える。
編集部 112 は、ユーザが入力装置 130 を介してプログラムの編集作業をすると、この編集をクライアント装置 10 において反映する処理をする。編集部 112 は、例えば、プログラマがグラフィカルにプログラムを編集する GUI (Graphical User Interface) を提供し、プログラマからの編集要求を受信する。編集部 112 は、 GUI を介してプログラマがプログラムを編集すると、この編集されたプログラムを反映し、 GUI に表示する。
編集部 112 は、プログラマから要求された任意のタイミングにおいて、又は、所定時間間隔といった任意の時間間隔において、データベースにプログラムのバックアップを登録してもよい。すなわち、クライアント装置 10 は、自動で、又は、手動で編集しているソースファイルをバックアップしてもよい。自動でバックアップする場合と、手動でバックアップする場合とで、異なるファイルとしてデータベースに登録してもよい。
コンパイル部 114 は、ソースファイルにおける文法をチェックする。オブジェクト生成部 116 は、制御プログラムのソースファイルをオブジェクトファイルに変換する。なお、これらの処理は、結合されていてもよく、例えば、コンパイル部 114 がプログラムの文法チェックに続いて、バイナリファイルであるオブジェクトファイルを作成する形態であってもよい。
データベース部 120 は、ソースファイル 122 と、オブジェクトファイル 124 とを登録する。これらのファイルは、それぞれに対応づけられて登録されてもよい。より具体的には、データベース部 120 は、編集部 112 において編集、作成された制御プログラムのソースファイル 122 と、コンパイル部 114 及びオブジェクト生成部 116 において生成された制御プログラムのオブジェクトファイル 124 と、を登録する。
入力装置 130 は、クライアント装置 10 においてユーザからの入力を受け付けるデバイスである。入力装置 130 は、例えば、マウス、キーボード、トラックボール、タッチパネル等であるが、これらに限定されるものではなく、適切にユーザからの入力を受け付けるデバイスであればよい。
出力装置 140 は、クライアント装置 10 においてユーザへと情報を出力するデバイスである。出力装置 140 は、例えば、ディスプレイ等の表示装置、プリンタ等の印刷装置であるが、これらに限定されるものではなく、適切にユーザに情報を出力するデバイスであればよい。クライアント装置 10 は、この出力装置 140 を介してユーザに種々の情報を出力する。
クライアント装置 10 は、この構成において、編集されたプログラムを実行ファイル形式であるオブジェクトファイルに変換し、このオブジェクトファイルをネットワーク 40 を介して制御装置 20 へとダウンロードすることで制御装置 20 におけるプラントの制御を可能とさせる。
制御装置 20 は、オブジェクトメモリ 210 と、処理部 220 と、を備える。上記のように、制御装置 20 は、クライアント装置 10 からオブジェクトファイルをダウンロードし、このダウンロードしたファイルを実行することでプラントを制御する。
オブジェクトメモリ 210 は、制御プログラムのオブジェクトに関する情報を格納するメモリである。オブジェクトメモリ 210 は、データメモリ 212 と、コードメモリ 214 と、を備える。
データメモリ 212 は、クライアント装置 10 からダウンロードしたオブジェクトファイルを展開する領域である。データメモリ 212 において展開されたオブジェクトファイルを参照することで、制御装置 20 は、プラントを制御する。
コードメモリ 214 は、データメモリ 212 に展開されているプログラムに対応するソースコードをダウンロードして格納する。なお、このコードメモリ 214 は、制御装置 20 における必須の構成ではなく、任意に備えられる構成である。
処理部 220 は、オブジェクトメモリ 210 に格納されている情報の書込及び読出を実行し、プラントの制御を実行する。処理部 220 は、ロード部 222 と、実行部 224 と、プロセス入出力部 226 と、を備える。
ロード部 222 は、ネットワークを経由して送信された制御プログラムのオブジェクトプログラムをデータメモリ 212 及びコードメモリ 214 に配置する。
実行部 224 は、適切に配置されたオブジェクトプログラムを実行し、プラントに対して制御プログラムに基づいた制御をする。
プロセス入出力部 226 は、プラントからのプロセス信号を制御プログラムに通知する。プロセス入出力部 226 がプラントから受信した情報を実行部 224 に通知することで、実行部 224 は、プラントの状況に応じた適切な制御を実行することができる。
このようなクライアント装置 10 及び制御装置 20 の構成で、ユーザは、クライアント装置 10 を介してプラントの制御を実現することができる。クライアント装置 10 と制御装置 20 は、ネットワーク 40 を介して接続されていればよく、例えば、プラントが配置される工場内において、制御装置 20 が配置され、この工場とは別の場所にクライアント装置 10 が備えられるといった構成であってもよい。
プラントを制御するためのプロジェクトは、複数のプログラマにより制御プログラムが作成、編集されることがある。このため、クライアント装置 10 は、 1 台ではなく、複数備えられることがある。同様に、クライアント装置 10 から制御できる制御装置 20 が複数あってもよい。
このように複数のユーザが同じプログラムを制御する場合には、通常は、それぞれのプログラマが操作しているクライアント装置 10 においてデバッグが実行される。プラント制御における制御プログラムにおいては、それぞれのプログラマがリモートで接続しているクライアント装置 10 において制御プログラムの編集をすることが可能な構成が望ましい。
本開示では、複数のクライアント装置 10 から編集、デバッグが可能となる実装を図1に示す情報処理システム 1 に基づいて構築する。
(第 1 実施形態)
一実施形態においては、サーバ装置 30 は、上記したクライアント装置 10 の一部の機能を実行させることを可能とする。
図3は、一実施形態に係る情報処理システム 1 を図1より詳細に示す図である。前述したように、クライアント装置 10 と、制御装置 20 は、ネットワーク 40 を介してサーバ装置 30 と接続される。本実施形態においては、クライアント装置 10 及びサーバ装置 30 が制御装置 20 とネットワーク 40 を介して接続されることは必須ではない。
サーバ装置 30 は、クラウド上に少なくともクライアント装置 10 から接続可能な仮想マシン 300 を構築する。仮想マシン 300 は、点線で示されるように、クライアント装置 10 の制御プログラム管理部 110 、データベース部 120 、制御装置20 のオブジェクトメモリ 210 及び処理部 220 それぞれの一部又は全部の機能が構築される。
図4は、ユーザが編集部 112 を介して編集する制御プログラムのグラフィカル表示の一例を示す図である。編集部 112 は、例えば、 IEC61131-3 で規定された LD 言語等をグラフィック言語によりユーザが作成可能な構成を有する。具体的には、編集部 112 は、図4に示す画像を出力装置 140 である表示装置に表示してもよい。
プログラマは、この表示装置を見て、入力装置 130 を操作することで、プログラム言語に応じた部品画像の追加、削除及び移動をして、制御プログラムを記述する。例えば、 C1 ~ C7 は、グラフィック言語で記述された命令語に対応する。編集部 112 は、ユーザからの要求により、制御プログラムを作成、編集する。このように、ユーザは、編集部 112 を介して制御プログラムを編集する。
本実施形態においては、この制御プログラムの編集を仮想マシン 300 上で実行する。
図5は、本実施形態に係る情報処理システム 1 を模式的に示す図である。サーバ装置 30 は、クラウド上に仮想マシン 300 を構築する。この仮想マシン 300 には、仮想的に、クライアント装置 10 の制御プログラム管理部 110 (GUI を含む) と、データベース部 120 と、が構築される。
クライアント装置 10 は、ネットワーク 40 を介してクラウド上に構築される仮想マシン 300 にアクセスする。このアクセス手法は、図3のサーバアクセス部 150 を介して実行されてもよい。サーバアクセス部 150 は、上述したように、一例としてリモートデスクトップ機能を用いて接続してもよい。別の例として、サーバアクセス部 150 は、ブラウザ等のアプリケーションを介して仮想マシン 300 にアクセスしてもよい。
ユーザは、クライアント装置 10 を介して仮想マシン 300 上に構築された制御プログラム管理部 110 から出力されるグラフィカルに記述された制御プログラムを編集する。編集した制御プログラムは、仮想的な制御プログラム管理部 110 が仮想的なデータベース部 120 に登録する。
仮想マシン 300 は、制御プログラムの編集が 1 人のユーザだけに実行される制御をしてもよい。より限定的な例として、仮想マシン 300 は、仮想マシン 300 上の制御プログラム管理部 110 にアクセスできるユーザ数を 1 人に限定することで、同時に編集できるユーザの人数を 1 人としてもよい。
サーバ装置 30 は、仮想マシン 300 として、所定の OS (Operating System) 、例えば、 s (登録商標) 、 Windows (登録商標) 等を起動させてもよい。
あるユーザがアクセス中において他のユーザがアクセスした場合には、仮想マシン 300 は、仮想的な制御プログラム管理部 110 及びデータベース部 120 へのアクセスを遮断してもよいし、閲覧だけを許可する形態としてもよい。
また、サーバ装置 30 は、仮想マシン 300 のアクセスについて、 ID とパスワード等のアクセス制限手法により許可されたユーザだけがアクセスできるように制限してもよい。
図6は、一実施形態に係る情報処理システム 1 の処理の概略を示すフローチャートである。
まず、サーバ装置 30 は、仮想環境である仮想マシン 300 を構築する (Ss100) 。この仮想環境には、図5に示すように、例えば、制御プログラム管理部 110 と、データベース部 120 とが形成されてもよい。制御プログラムを編集する編集インタフェースもこの段階で構成される。
なお、仮想環境の構築は、クライアント装置 10 からの要求により実行されてもよい。すなわち、この Ss100 の処理の前に、クライアント装置 10 から、仮想環境構築の要求を受け付ける形態であってもよい。
この状態で、クライアント装置 10 は、ユーザからの要求に基づいて、サーバアクセス部 150 を介して仮想環境へアクセスする (Sc100) 。
サーバ装置 30 は、アクセスしたユーザが許可されるユーザである場合に、ユーザのアクセスを許可し、他のユーザのアクセスができないようにユーザを限定してもよい (Ss100) 。上述したように、編集だけが 1 人のユーザが可能であり、閲覧はできる状態であってもよい。このアクセス制御は、一般的な手法で実行されてもよい。
サーバ装置 30 は、構築された仮想環境の適切な箇所、例えば、制御プログラム管理部 110 の編集部 112 に関する編集インタフェースをクライアント装置 10 へと送信する (Ss120) 。
クライアント装置 10 は、受信した編集インタフェースを用いて、ユーザから制御プログラムの編集を受け付ける (Sc110) 。
クライアント装置 10 は、編集を任意のタイミングでサーバ装置 30 へと送信する (Sc120) 。送信された制御プログラムの情報は、任意のタイミングでサーバ装置 30 によりクラウド上に備えられる記憶部にバックアップされてもよい。
サーバ装置 30 は、クライアント装置 10 から受信した編集を少なくとも編集インタフェースに反映する (Ss130) 。このタイミングでサーバ装置 30 は、編集されたソースコードのバックアップをしてもよい。なお、このバックアップは、任意のタイミングでクライアント装置 10 においても反映されてよい。
編集が終了していない場合 (Ss140: No) 、サーバ装置 30 は、編集を反映したインタフェースをクライアント装置 10 へと送信してもよく、情報処理システム 1 は、 Ss120 から Ss130 及び Sc110 から Ss120 の処理を繰り返す。
編集が終了したと判断すると (Ss140: Yes) 、サーバ装置 30 は、ユーザの限定を解除して (Ss150) 処理を終了する。なお、編集の終了は、クライアント装置 10 から編集が終了した旨の通知を受けた場合、クライアント装置 10 からの応答が所定時間ない場合、等の任意の条件により判断することができる。
以上のように、本実施形態に係る情報処理システム 1 によれば、クライアント装置 10 からの編集要求により、サーバ装置 30 においてソースコードを編集することができる。この編集は、複数のユーザで共有することができるので、複数のプログラマが同じ制御プログラムのソースファイルについて、異なるタイミングで、異なる端末から、任意に編集することが可能となる。同時に編集できるユーザが 1 人となるようにロックを掛けることも可能であり、この場合、各プログラマが編集した結果をコンフリクトしないようにサーバ装置 30 に反映することもできる。
(第 2 実施形態)
前述の第 1 実施形態では、ソースコードの編集を任意の端末から任意のタイミングで実現することを説明したが、情報処理システム 1 は、編集機能ではなく、デバッグ機能を有していてもよい。もちろん、第 1 実施形態の編集機能を有していてもよいが、以下においては、デバッグ機能を中心に説明する。
図7は、一実施形態に係る情報処理システム 1 の一例を模式的に示す図である。サーバ装置 30 は、仮想環境として、仮想マシン 300 上に、制御装置 20 のオブジェクトメモリ 210 と、処理部 220 と、を構築してもよい。
サーバ装置 30 は、仮想環境内に制御装置 20 の処理部 220 を構築するにあたり、処理部 220 のエミュレータ、又は、シミュレータを用いてもよい。シミュレータ等を用いることで、サーバ装置 30 は、編集された制御プログラムから生成されたオブジェクトファイルを仮想環境内で実行することが可能となる。サーバ装置 30 は、必要に応じて、プラントに対応するスタブを構築してもよい。
図8は、一実施形態における情報処理システム 1 の処理の一例を示すフローチャートである。なお、図6と同じ符号が付与されている処理は、基本的に同じ処理を実行している処理であるので、詳細な説明は省略する。
サーバ装置 30 は、デバッグが許可されたユーザを限定した (Ss110) 後に、実行に関連する実行インタフェースをクライアント装置 10 へと送信する (Ss200) 。この実行インタフェースは、前述の編集インタフェースと一体のものであってもよく、この場合、図6における Ss120 の処理と同様の処理とすることができる。
クライアント装置 10 は、この実行インタフェースを出力装置 140 から出力し、ユーザからの要求に基づいて、デバッグ (仮想的に実行) するファイルを選択する (Sc200) 。クライアント装置 10 は、選択されたファイルの情報をサーバ装置 30 へと送信する (Sc210) 。この処理により、プログラマは、仮想環境における制御プログラムの実行ファイル化と、実行の要求をすることができる。
選択されたファイルの情報を受信したサーバ装置 30 は、仮想環境の制御プログラム管理部 110 においてファイルのコンパイル、及び、オブジェクトファイルの生成を実行し、仮想環境の制御装置 20 に仮想的にダウンロードして実行する (Ss210) 。サーバ装置 30 は、適切にこの実行経過又は実行結果をクライアント装置 10 へ送信し、クライアント装置 10 は、受信した実行経過及び実行結果を出力装置 140 を介して出力してもよい。
サーバ装置 30 は、デバッグが終了していない場合 (Ss220: No) には、デバッグの処理を継続し、デバッグが終了している場合 (Ss220: Yes) には、ユーザの限定を解除して (Ss150) 、処理を終了する。
このように、情報処理システム 1 によれば、プログラマが選択したファイルについて、仮想環境内で実行させ、シミュレータにおいて実行している経過や実行した結果を取得することができる。この結果、ユーザは、任意のファイルについて仮想的に実行させ、その動きを確認することができる。
なお、上述したように、デバッグ (プログラムの実行) のみならず、編集を並行して実行できる態様であってもよい。この場合、図8のクライアント装置 10 の処理として、図6の Sc110 、 Sc120 の処理を、サーバ装置 30 から編集インタフェースを受信したタイミング以降の任意のタイミングで実行することで実現することができる。
また、シミュレータ等を同じ仮想マシン上に構築する例について説明したが、シミュレータ等の構築は、これに限定されるものではない。例えば、仮想的なクライアント装置 10 を構築した仮想マシン 300 とは別の仮想マシン上で、制御装置 20 のシミュレータ等を構築してもよい。この場合、サーバ装置 30 自体が複数存在し、それぞれのサーバ装置 30 において、クライアント装置 10 とシミュレータ等が仮想的に構築されている仮想マシンを形成してもよい。
以上の 2 つの実施形態により、任意のタイミングで任意の端末から、複数のプログラマによる制御プログラムの編集及びデバッグ作業を実現することができる。
(第 3 実施形態)
図9は、一実施形態における情報処理システム 1 の一例を模式的に示す図である。情報処理システム 1 は、サーバ装置 30 と、制御装置 20 との間において、ネットワーク 40 を介してデータの送受信ができる形態であってもよい。
図9に示す形態では、上記のように、現時点で制御装置 20 にダウンロードされているオブジェクトファイルのデバッグをすることについて説明したが、この構成による形態は、これに限定されるものではない。
別の例として、クライアント装置 10 から送信される制御プログラム、又は、サーバ装置 30 において格納されている制御プログラムについて、仮想環境内で編集及びデバッグをし、デバッグが完了したオブジェクトファイルを制御装置 20 へとネットワーク 40 を介してダウンロードしてもよい。
この処理をすることで、仮想環境内においてシミュレータ等を用いてデバッグされたオブジェクトファイルを、適切に制御装置 20 へとダウンロードし、プラントの制御の精度を向上させることができる。
(第 4 実施形態)
図10は、一実施形態に係るシステム構築の一例を示す図である。例えば、システム A は、 2 つの制御装置 20 である制御装置 A 、 B を備える。制御装置 A には、コントローラ A とコントローラ B が備えられ、それぞれのコントローラにおける制御プログラムが図に示すように配置される。
本開示における情報処理システム 1 において、このようなシステムの構成を仮想環境内において構築することができる。サーバ装置 30 は、例えば、制御装置 A 、 B に対応する仮想的な制御装置 20 を仮想環境内にそれぞれ構築し、これらの制御装置を接続する適切な仮想的なネットワーク環境を構築する。
このように、複数の制御装置 20 を構築した上で、これらの制御装置 20 が協働して適切に動作するか否かをシミュレートすることができる。
この構成は、基本的に前述した各実施形態と同様に、制御プログラムのコンパイル、オブジェクトファイルの形成、及び、仮想的な制御装置 20 への制御プログラムのダウンロード、実行を仮想環境内で実装することで実現することができる。
以上のように、本実施形態によれば、仮想的に構築した制御システムを、仮想空間内での動作をシミュレーションし、このシミュレーション結果に基づいてさらに制御プログラムの編集やデバッグ作業を実現することも可能となる。
なお、この制御システムの仮想的な構成においては、利用するライブラリ、ネットワーク、プロトコル、ユニット、モジュール、 I/O ノード、メモリ配置、タスク管理等、プラント制御に必要となる項目について、それぞれ実装することができ、これらについても併せてデバッグ作業をすることを可能とする。
前述した各実施形態におけるそれぞれの情報処理装置 (クライアント装置 10 、制御装置 20 及びサーバ装置 30) は、処理回路 (プロセッサ等) と、記憶回路 (メモリ、ストレージ等) を用いて、実現することができる。処理回路は、汎用のプロセッサを用いてもよいし、少なくとも一部に ASIC (Application Specified Integrated Circuitry) 等の専用のプロセッサを用いてもよい。これらの構成は、一般的な IC (Integrated Circuitry) 等として実装されてもよいし、 FPGA (Field Programable Gate Array) 等の書き換え可能な回路で実装されていてもよい。
前述した各実施形態における情報処理装置の処理は、ソフトウェアによる情報処理がハードウェア装置を用いて具体的に実現されるものであってもよい。この場合、ソフトウェアによる情報処理に必要となるプログラム等は、図示しないクライアント装置 10 及びサーバ装置 30 の記憶領域に格納され、又は、制御装置 20 のオブジェクトメモリ 210 にか苦悩されてもよい。プロセッサ等の処理回路は、それぞれの情報処理装置において、記憶領域に格納されているプログラムを適切に配置し、ソフトウェアによる情報処理を具体的に実現することができる。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれると共に、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
1: 情報処理システム、
10: クライアント装置、
110: 制御プログラム管理部、
112: 編集部、
114: コンパイル部、
116: オブジェクト生成部、
120: データベース部、
122: ソースファイル、
124: オブジェクトファイル、
130: 入力装置、
140: 出力装置、
150: サーバアクセス部、
20: 制御装置、
210: オブジェクトメモリ、
212: データメモリ、
214: コードメモリ、
220: 処理部、
222: ロード部、
224: 実行部、
226: プロセス入出力部、
30: サーバ装置、
40: ネットワーク

Claims (6)

  1. 少なくとも 1 つのサーバ装置と、複数のクライアント装置と、を備え、制御装置において実行される制御プログラムを作成及びデバッグする情報処理システムであって、
    前記サーバ装置は、前記複数のクライアント装置からネットワークを介したクラウド環境で動作し、
    前記クラウド環境において、仮想マシンを構成し、
    前記仮想マシンにおいて、前記制御装置を仮想的に仮想制御装置として構成し、
    前記制御プログラムをコンパイルし、
    前記仮想制御装置において前記制御プログラムを実行させ、
    前記クライアント装置は、
    前記仮想マシンにおいて前記制御プログラムをコンパイルする要求を前記サーバ装置に送信し、
    前記仮想制御装置において前記制御プログラムの内容を実行する要求を前記サーバ装置に送信する、
    情報処理システム。
  2. 前記サーバ装置は、
    前記仮想マシンにおいて、前記制御プログラムの編集インタフェースを構成し、
    前記編集インタフェースを前記クライアント装置に送信し、
    前記クライアント装置から受信した要求に基づいて前記制御プログラムを編集し、
    前記制御プログラムをコンパイルし、
    前記クライアント装置は、
    前記仮想マシンの前記編集インタフェースを介して前記サーバ装置に前記制御プログラムの編集の要求をし、
    請求項1に記載の情報処理システム。
  3. 前記サーバ装置は、
    前記仮想マシンにおいて、前記制御装置のハードウェア構成、ネットワーク構成、及び、その他の前記制御装置の構成のうち、少なくとも 1 つを構築してコンパイルされた前記制御プログラムを実行する環境を構築し、
    前記構築された構成において、前記制御プログラムを実行させる、
    請求項1又は請求項2に記載の情報処理システム。
  4. 前記サーバ装置は、
    コンパイルした前記制御プログラムを、前記制御装置に送信し、
    前記クライアント装置は、
    前記仮想マシンで編集された内容をバックアップする、
    請求項1又は請求項2に記載の情報処理システム。
  5. 前記クライアント装置は、リモートデスクトップを構築して、前記仮想マシンにアクセスする、
    請求項1又は請求項2に記載の情報処理システム。
  6. 少なくとも 1 つのサーバ装置と、複数のクライアント装置と、を備え、制御装置において実行される制御プログラムを作成及びデバッグする情報処理システムであって、
    前記サーバ装置は、前記複数のクライアント装置からネットワークを介したクラウド環境で動作し、
    前記クラウド環境において、仮想マシンを構成し、
    前記仮想マシンにおいて、前記制御プログラムの編集インタフェースを構成し、
    前記編集インタフェースを前記クライアント装置に送信し、
    前記クライアント装置から受信した要求に基づいて前記制御プログラムを編集し、
    前記クライアント装置は、
    前記仮想マシンの前記編集インタフェースを介して前記サーバ装置に前記制御プログラムの編集の要求をする、
    情報処理システム。
JP2022032105A 2022-03-02 2022-03-02 情報処理システム Pending JP2023128052A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2022032105A JP2023128052A (ja) 2022-03-02 2022-03-02 情報処理システム
PCT/JP2022/046848 WO2023166820A1 (ja) 2022-03-02 2022-12-20 情報処理システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2022032105A JP2023128052A (ja) 2022-03-02 2022-03-02 情報処理システム

Publications (1)

Publication Number Publication Date
JP2023128052A true JP2023128052A (ja) 2023-09-14

Family

ID=87883666

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022032105A Pending JP2023128052A (ja) 2022-03-02 2022-03-02 情報処理システム

Country Status (2)

Country Link
JP (1) JP2023128052A (ja)
WO (1) WO2023166820A1 (ja)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5481267B2 (ja) * 2010-04-22 2014-04-23 株式会社東芝 制御プログラム作成装置および制御プログラム作成装置の駆動方法
US9146834B2 (en) * 2013-08-22 2015-09-29 Oracle International Corporation Targeted cloud-based debugging
US11347531B2 (en) * 2018-10-31 2022-05-31 The Boeing Company Generalized virtualization platform for systems using hardware abstraction software layers

Also Published As

Publication number Publication date
WO2023166820A1 (ja) 2023-09-07

Similar Documents

Publication Publication Date Title
US10860467B2 (en) Method of configuring a test device designed to test an electronic control unit, and a configuration system
JP5039428B2 (ja) プログラマブルコントローラ及びplcシステム
CN110663006B (zh) 对可编程逻辑控制器执行故障转移并控制物理系统的方法
EP3647941B1 (en) Engineering apparatus, control method of engineering apparatus, and program
US20190196798A1 (en) Executable program creation device, executable program creation method, and executable program creation program
EP3380899B1 (en) Program randomization for cyber-attack resilient control in programmable logic controllers
JP6362821B2 (ja) 制御装置、制御方法および命令セット
JP6984565B2 (ja) 情報処理装置およびプログラム
JP6135247B2 (ja) 情報処理装置および情報処理プログラム
JP7172864B2 (ja) サポート装置およびサポートプログラム
KR20190094779A (ko) Plc 명령어 컴파일러 테스트케이스 자동 생성 장치
WO2023166820A1 (ja) 情報処理システム
JP6455096B2 (ja) コントロールシステム、その支援装置、プログラマブルコントロール装置
KR890008714A (ko) 시각언어를 사용하는 설계시스템
JP6812861B2 (ja) プログラム作成装置およびプログラム
JP7238678B2 (ja) 情報処理装置、サポートプログラムおよびサポートシステム
JP5492573B2 (ja) トレース機能を備える接続機器シミュレータ装置、方法、及びプログラム
CN116126366B (zh) 芯片输入输出接口配置方法,装置,介质及电子设备
WO2022190417A1 (ja) 開発支援装置、開発支援方法および開発支援プログラム
JP7234810B2 (ja) サポート装置およびサポートプログラム
JP2023125352A (ja) シミュレーションシステム、方法およびシミュレーションプログラム
Sastry et al. TESTING DISTRIBUTED EMBEDDED SYSTEMS THROUGH INSTRUCTION SET SIMULATORS
WO2020031903A1 (ja) サポート装置およびサポートプログラム
US20210165384A1 (en) Control system, support device, and recording medium
Lawrie et al. An Architecture Based Design Process for Deploying Control Software on Production Hardware Using RapidHawk