JP2012164081A - 中間コード検査システム、中間コード検査方法、及び中間コード検査プログラム - Google Patents
中間コード検査システム、中間コード検査方法、及び中間コード検査プログラム Download PDFInfo
- Publication number
- JP2012164081A JP2012164081A JP2011023181A JP2011023181A JP2012164081A JP 2012164081 A JP2012164081 A JP 2012164081A JP 2011023181 A JP2011023181 A JP 2011023181A JP 2011023181 A JP2011023181 A JP 2011023181A JP 2012164081 A JP2012164081 A JP 2012164081A
- Authority
- JP
- Japan
- Prior art keywords
- intermediate code
- diagram
- auxiliary data
- code
- information
- 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.)
- Withdrawn
Links
Images
Landscapes
- Stored Programmes (AREA)
Abstract
【課題】制御プログラムの開発において生成される中間コードの検査の精度及び効率を改善する。
【解決手段】第1プログラム変換部12は、プラント制御プログラムを中間コードに変換するとともに、プラント制御プログラム上の要素(信号、論理演算シンボル、及び信号線)と中間コードとを対応させる中間コード補助データを生成する。第2プログラム変換部14は、中間コードを実行可能コードに変換する。コード対応部15は、中間コード補助データから、ユーザの指示に対応する情報を抽出し、その情報をダイヤグラム表示制御部16及び中間コード表示制御部18へ供給する。ダイヤグラム表示制御部16は、コード対応部15により抽出された情報に基づいて、表示装置に表示するPOLダイヤグラムの表示内容を制御する。中間コード表示制御部18は、コード対応部15により抽出された情報に基づいて、表示装置に表示する中間コードの表示内容を制御する。
【選択図】図2
【解決手段】第1プログラム変換部12は、プラント制御プログラムを中間コードに変換するとともに、プラント制御プログラム上の要素(信号、論理演算シンボル、及び信号線)と中間コードとを対応させる中間コード補助データを生成する。第2プログラム変換部14は、中間コードを実行可能コードに変換する。コード対応部15は、中間コード補助データから、ユーザの指示に対応する情報を抽出し、その情報をダイヤグラム表示制御部16及び中間コード表示制御部18へ供給する。ダイヤグラム表示制御部16は、コード対応部15により抽出された情報に基づいて、表示装置に表示するPOLダイヤグラムの表示内容を制御する。中間コード表示制御部18は、コード対応部15により抽出された情報に基づいて、表示装置に表示する中間コードの表示内容を制御する。
【選択図】図2
Description
本発明の実施形態は、中間コード検査装置、中間コード検査方法、及び中間コード検査プログラムに関する。
一般的に、沸騰水型原子力発電プラント等の発電プラントの設備を制御する制御プログラムの開発では、仕様が決められ、決められた仕様を満足するソフトウェアが問題向け言語(以下、「POL(Problem Oriented Language)」という)で記述されたダイヤグラムが作成され、作成されたダイヤグラムに基づいて中間コードが生成され、生成された中間コードが実行可能コードに変換され、変換された実行可能コードが制御プログラムに組み込まれる。
発電プラント用の制御プログラムには、極めて高い信頼性が要求される。この信頼性の要求は、制御プログラムに組み込まれる実行可能コードの品質だけではなく、開発において生成される中間コードの品質と、中間コードの品質を保証するための検査の手法と、にまで及ぶ。
この信頼性の要求を満たす方法には、中間コードを生成するコンパイラの性能を改善する方法と、生成された中間コードを検査する方法と、がある。
しかしながら、コンパイラのプログラム構成は複雑なので、コンパイラの性能の改善は困難である。また、コンパイラの性能を改善したとしても、生成される中間コードの品質が完全であることは保証されないので、中間コードの検査は必要である。
一方、中間コードの検査は、設計者が様々な情報を目視することによって行われる。すなわち、中間コードの検査は全く自動化されていない。従って、検査の所要時間が長く、且つ、設計者の負担が大きい。
本発明の目的は、高い信頼性が要求される制御プログラムの開発において生成される中間コードの検査の所要時間を短縮し、且つ、設計者の負担を軽減することにより、設計者の検証の精度及び効率を改善することである。
本発明の第1態様によれば、
プラント制御プログラムを開発するときに生成される中間コードの品質を検査する中間コード検査装置と、
前記中間コード検査装置に対するユーザの指示を受け付ける入力装置と、
前記中間コード検査装置の検査内容を表示する表示装置と、を備え、
前記中間コード検査装置は、
問題向け言語で記述されたダイヤグラムを中間コードに変換するとともに、前記ダイヤグラムに基づいて、前記ダイヤグラムと前記中間コードとを対応付ける中間コード補助データを生成する前記第1プログラム変換部と、
前記中間コードを、プログラマブルロジックコントローラが実行可能な実行可能コードに変換する第2プログラム変換部と、
前記中間コード補助データから、前記ユーザの指示に対応する情報を抽出するコード対応部と、
前記コード対応部により抽出された情報に基づいて、前記表示装置に表示する前記ダイヤグラムの表示内容を制御するダイヤグラム表示制御部と、
前記コード対応部により抽出された情報に基づいて、前記表示装置に表示する前記中間コードの表示内容を制御する中間コード表示制御部と、を備える中間コード検査システムが提供される。
プラント制御プログラムを開発するときに生成される中間コードの品質を検査する中間コード検査装置と、
前記中間コード検査装置に対するユーザの指示を受け付ける入力装置と、
前記中間コード検査装置の検査内容を表示する表示装置と、を備え、
前記中間コード検査装置は、
問題向け言語で記述されたダイヤグラムを中間コードに変換するとともに、前記ダイヤグラムに基づいて、前記ダイヤグラムと前記中間コードとを対応付ける中間コード補助データを生成する前記第1プログラム変換部と、
前記中間コードを、プログラマブルロジックコントローラが実行可能な実行可能コードに変換する第2プログラム変換部と、
前記中間コード補助データから、前記ユーザの指示に対応する情報を抽出するコード対応部と、
前記コード対応部により抽出された情報に基づいて、前記表示装置に表示する前記ダイヤグラムの表示内容を制御するダイヤグラム表示制御部と、
前記コード対応部により抽出された情報に基づいて、前記表示装置に表示する前記中間コードの表示内容を制御する中間コード表示制御部と、を備える中間コード検査システムが提供される。
本発明の第2態様によれば、
問題向け言語で記述されたダイヤグラムを中間コードに変換するとともに、前記ダイヤグラムに基づいて、前記ダイヤグラムと前記中間コードとを対応付ける中間コード補助データを生成し、
前記中間コードを、プログラマブルロジックコントローラが実行可能な実行可能コードに変換し、
前記中間コード補助データから、ユーザの指示に対応する情報を抽出し、
前記情報に基づいて、表示装置に表示する前記ダイヤグラム及び前記中間コードの表示内容を制御する、中間コード検査方法が提供される。
問題向け言語で記述されたダイヤグラムを中間コードに変換するとともに、前記ダイヤグラムに基づいて、前記ダイヤグラムと前記中間コードとを対応付ける中間コード補助データを生成し、
前記中間コードを、プログラマブルロジックコントローラが実行可能な実行可能コードに変換し、
前記中間コード補助データから、ユーザの指示に対応する情報を抽出し、
前記情報に基づいて、表示装置に表示する前記ダイヤグラム及び前記中間コードの表示内容を制御する、中間コード検査方法が提供される。
本発明の第3態様によれば、
問題向け言語で記述されたダイヤグラムを中間コードに変換するとともに、前記ダイヤグラムに基づいて、前記ダイヤグラムと前記中間コードとを対応付ける中間コード補助データを生成し、
前記中間コードを、プログラマブルロジックコントローラが実行可能な実行可能コードに変換し、
前記中間コード補助データから、ユーザの指示に対応する情報を抽出し、
前記情報に基づいて、表示装置に表示する前記ダイヤグラム及び前記中間コードの表示内容を制御する、処理をコンピュータに実行させる中間コード検査プログラムが提供される。
問題向け言語で記述されたダイヤグラムを中間コードに変換するとともに、前記ダイヤグラムに基づいて、前記ダイヤグラムと前記中間コードとを対応付ける中間コード補助データを生成し、
前記中間コードを、プログラマブルロジックコントローラが実行可能な実行可能コードに変換し、
前記中間コード補助データから、ユーザの指示に対応する情報を抽出し、
前記情報に基づいて、表示装置に表示する前記ダイヤグラム及び前記中間コードの表示内容を制御する、処理をコンピュータに実行させる中間コード検査プログラムが提供される。
本発明によれば、高い信頼性が要求される制御プログラムの開発において生成される中間コードの検査の所要時間を短縮し、且つ、設計者の負担を軽減することができる。その結果、設計者の検証の精度及び効率が改善する。
本発明の実施形態について、図面を参照して説明する。
本発明の実施形態の中間コード検査システムの構成について説明する。図1は、本発明の実施形態の中間コード検査システム1のブロック図である。
中間コード検査システム1は、プロセッサ2と、記憶装置3と、入力装置4と、表示装置5と、認証インタフェース6と、を備える。
プロセッサ2は、記憶装置3に格納された中間コード検査プログラムを起動することにより、中間コード検査装置10として動作するモジュールである。中間コード検査装置10は、プラント制御プログラムを開発するときに生成される中間コードの品質を検査し、入力装置4を介して与えられるユーザの指示に基づいて検査内容を表示装置5に表示する装置である。プロセッサ2は、例えば中央演算処理装置(以下、「CPU(Central Processing Unit)」という)である。
記憶装置3は、コンピュータが読み取り可能な記憶媒体である。記憶装置3には、中間コード検査プログラムが予め格納されている。また、記憶装置3には、中間コード検査装置10により取り扱われるデータが格納される。記憶装置3は、例えばハードディスク若しくはソリッドステートディスク、又は、USB(Universal Serial Bus)メモリ等の着脱可能な記憶媒体である。
入力装置4は、中間コード検査装置10に対するユーザの指示を受け付ける装置である。入力装置4は、例えばマウス、トラッカボール、タッチスクリーン、又はカーソルキー等のポインティングデバイスである。
表示装置5は、中間コード検査装置10の処理内容を表示する装置である。表示装置5は、例えば液晶ディスプレイ又は電子ペーパーである。
認証インタフェース6は、中間コード検査システム1のユーザ認証を実行するモジュールである。認証インタフェース6は、例えば、プロセッサ2のユーザ認証機能を利用してユーザ認証を実行するプロセッサ2のインタフェース又はユーザのID(Identification)カードに格納された接触型又は非接触型のカードリーダのインタフェースである。
(第1実施形態)
第1実施形態について説明する。第1実施形態は、POLダイヤグラムから中間コードへ正しく変換されたか否かを検査する中間コード検査装置の例である。
第1実施形態について説明する。第1実施形態は、POLダイヤグラムから中間コードへ正しく変換されたか否かを検査する中間コード検査装置の例である。
第1実施形態の中間コード検査装置の構成について説明する。図2は、第1実施形態の中間コード検査装置10のブロック図である。
中間コード検査装置10は、第1プログラム変換部12と、第2プログラム変換部14と、コード対応部15と、ダイヤグラム表示制御部16と、中間コード表示制御部18と、を備える。
第1プログラム変換部12は、POLにより記述されたプラント制御プログラムを中間コードに変換するとともに、プラント制御プログラムのPOLダイヤグラム上の要素(信号、論理演算シンボル、及び信号線)と中間コードとを対応させる中間コード補助データを生成するモジュールである。第1プログラム変換部12は、例えばPOLコンパイラである。
第2プログラム変換部14は、中間コードを実行可能コードに変換するモジュールである。実行可能コードは、プログラマブルロジックコントローラ(以下、「PLC(Programmable Logic Controller)」という)が実行可能なコードである。PLCは、CPUと、RAM(Random Access Memory)と、ROM(Read Only Memory)と、入力バッファと、出力バッファと、を備える。第2プログラム変換部14は、例えばアセンブラである。
コード対応部15は、中間コード補助データから、入力装置4を介して与えられるユーザの指示に対応する情報を抽出し、その情報をダイヤグラム表示制御部16及び中間コード表示制御部18へ供給するモジュールである。
ダイヤグラム表示制御部16は、コード対応部15により抽出された情報に基づいて、表示装置5に表示するPOLダイヤグラムの表示内容を制御するモジュールである。
中間コード表示制御部18は、コード対応部15により抽出された情報に基づいて、表示装置5に表示する中間コードの表示内容を制御するモジュールである。
第1実施形態の中間コード検査装置の動作について説明する。図3は、第1実施形態の中間コード検査処理のフローチャートである。
図3の中間コード検査処理は、プラント制御プログラム及び中間コードが記憶装置3に格納された後に実行される。プラント制御プログラムは、発電プラントの設備を制御するプログラムであって、POLエディタを用いて作成されるPOLダイヤグラムを含む。
図4は、POLダイヤグラムの概略図である。図5は、中間コードの概略図である。図4に示すように、POLダイヤグラムは、PLC上の複数の要素と、座標情報と、を含む。要素は、信号(入力信号及び出力信号)、論理演算シンボル、並びに信号線である。入力信号は、PLCに入力される信号である。出力信号は、PLCから出力される信号である。論理演算シンボルは、PLCが実行する演算である。信号線は、PLCに設けられる配線である。座標情報は、POLダイヤグラム上の要素の位置及び形状を示す情報である。ユーザが入力装置4を用いてPOLダイヤグラム上の任意の位置を選択すると、選択された位置に対応する座標情報に関連付けられた要素が特定される。座標情報は、特定された要素に対応する中間コード(図5を参照)を表示するために用いられる。
<中間コード補助データ生成(S300)> 第1プログラム変換部12は、POLダイヤグラムを入力し、POLダイヤグラムを中間コードに変換するとともに、POLダイヤグラムに基づいて中間コード補助データを生成し、中間コード補助データを記憶装置3に格納する。中間コード補助データは、POLダイヤグラムと中間コードとを対応付けるデータである。中間コード補助データは、第1データと、第2データと、を含む。第1データは、POLダイヤグラムと中間コードを対応付けるデータである。第2データは、POLダイヤグラムの信号とPLCのRAM上のアドレスとを対応付けるデータである。なお、RAM上のアドレスは、絶対アドレスでも良いし、相対アドレスでも良い。
図6は、中間コード補助データの第1データの概略図である。第1データは、シート番号と、要素名と、命令番号と、座標情報と、を含む。シート番号は、POLダイヤグラムのシートを特定する情報である。要素名は、POLダイヤグラムの要素を特定する情報である。命令番号は、中間コードの命令を特定する情報である。座標情報は、要素名に対応する要素のPOLダイヤグラム上の位置を特定する情報である。
図7は、中間コード補助データの第2データの概略図である。第2データは、信号名と、アドレスと、ビット長と、を含む。信号名は、POLダイヤグラムの入力信号及び出力信号を特定する情報である。アドレスは、入力信号及び出力信号が格納されるPLCのRAM上のアドレスを特定する情報である。ビット長は、入力信号及び出力信号のデータ長を特定する情報である。
中間コード補助データにより、POLダイヤグラム上の座標に位置する論理演算シンボルと、当該論理演算シンボルに対応する命令の中間コード上の開始位置と、が特定される。なお、図5では、中間コードの命令番号には、“001”から始まるシート毎に固有の番号が用いられるが、中間コード全体の通し番号が用いられても良い。また、中間コード補助データは、例えばリレーショナルデータベース管理システムによって管理されても良い。
<実行可能コード生成(S302)> 第2プログラム変換部14は、中間コードを実行可能コードに変換し、実行可能コードを記憶装置3に格納する。実行可能コードは、中間コードとシーケンシャルに対応する。
<ダイヤグラム表示制御(S304)> ダイヤグラム表示制御部16は、POLダイヤグラムの座標情報に基づいて、POLダイヤグラムを表示装置5に表示する。
図8及び図9は、図3のダイヤグラム表示制御(S304)における表示装置5の表示例を示す図である。
図8に示すように、領域500には、POLダイヤグラムが表示され、領域502には、POLダイヤグラムのシート番号が表示される。表示装置5上のPOLダイヤグラムの表示位置は、領域500に合わせて補正される。
例えば、ユーザが入力装置4を用いて領域500の論理演算シンボル(ORゲート)を選択すると、コード対応部15は、選択された論理演算シンボル(ORゲート)に対応するPOLダイヤグラムの座標情報を取得し、中間コード補助データから、POLダイヤグラムの座標情報に対応する中間コード補助データの座標情報を抽出し、中間コード補助データの座標情報をダイヤグラム表示制御部16に送信する。次いで、ダイヤグラム表示制御部16は、コード対応部15から送信された座標情報に対応する領域を強調する(図9を参照)。強調は、色の変更、輝度の変更、点滅表示、又は囲み線等により実現される。
<中間コード表示制御(S306)> 中間コード表示制御部18は、第1データの中から、ユーザが入力装置4を用いて選択した領域500の位置に対応する座標に基づいて論理演算シンボルの命令番号を特定し、表示命令番号に対応する中間コードを表示装置5に表示する。
図10は、図3の中間コード表示制御(S306)における表示装置5の表示例を示す図である。領域504には、中間コード表示制御部18により特定された中間コードが表示され、領域506には、領域504のスクロールバーが表示され、領域508には、中間コード補助データの第2データが表示される。
例えば、ユーザが入力装置4を用いて信号線を選択すると、コード対応部15は、選択された信号線に対応するPOLダイヤグラムの座標情報を取得し、中間コード補助データから、POLダイヤグラムの座標情報に対応する中間コード補助データの座標情報を抽出し、中間コード補助データの座標情報を中間コード表示制御部18に送信する。次いで、中間コード表示制御部18は、コード対応部15から送信された中間コード補助データの座標情報に対応する領域を、囲み線505を用いて強調する。
例えば、ユーザが入力装置4を用いて座標(200,150)付近を選択すると、コード対応部15は、選択された座標の座標情報に対応する要素の要素名を中間コード表示制御部18に送信する。次いで、中間コード表示制御部18は、コード対応部15から送信された要素名に対応する中間コードを領域504に表示する。
なお、第1実施形態では、1つのプロセッサ2が第1プログラム変換部12及び第2プログラム変換部14として動作する例について説明したが、第1プログラム変換部12と第2プログラム変換部14とが異なるプロセッサにより実現されても良い。例えば、第1プロセッサが第1プログラム変換部12として動作し、第2プロセッサが第2プログラム変換部14として動作しても良い。この場合には、記憶装置3は、第1プロセッサ及び第2プロセッサに共有される。第1プロセッサ及び第2プロセッサは、ネットワークを介して互いに接続されても良い。記憶装置3は、第1プロセッサ及び第2プロセッサのそれぞれに対して着脱可能なメモリ(例えばUSBメモリ)であっても良い。
第1実施形態によれば、ユーザが入力装置4を用いてPOLダイヤグラムの要素を選択すると、選択した要素に対応する領域が表示装置5に強調表示される。これにより、ユーザは、POLダイヤグラムから中間コードへの変換が正しく行われたことを検証するための情報を容易に得ることができる。その結果、検証作業の精度及び効率が改善し、プラント制御プログラムの信頼性が効率よく保証される。
(第2実施形態)
第2実施形態について説明する。第2実施形態は、POLダイヤグラムの検証が漏れなく完了しているか否かを示す情報を提供する中間コード検査装置の例である。なお、上述の実施形態と同様の説明は省略する。
第2実施形態について説明する。第2実施形態は、POLダイヤグラムの検証が漏れなく完了しているか否かを示す情報を提供する中間コード検査装置の例である。なお、上述の実施形態と同様の説明は省略する。
第2実施形態の中間コード検査装置の動作について説明する。図11は、第2実施形態の中間コード検査処理のフローチャートである。
図11の中間コード検査処理は、プラント制御プログラム及び中間コードが記憶装置3に格納され、認証インタフェース6によるユーザ認証が成功した後に実行される。プラント制御プログラムは、発電プラントの設備を制御するプログラムであって、POLエディタを用いて作成されるPOLダイヤグラムを含む。
<中間コード補助データ生成(S1100> 第1実施形態(図3の中間コード補助データ生成(S300))と同様である。
<認証情報付加(S1101)> 第1プログラム変換部12は、認証インタフェース6から認証情報を取得し、中間コード補助データに認証情報を付加する。認証情報は、認証インタフェース6によりユーザ認証に用いられた情報である。
図12は、認証情報が付加された中間コード補助データの第1データの概略図である。第1データは、シート番号と、要素名と、命令番号と、座標情報と、認証情報(ユーザID、検証日、及び検証時刻)と、を含む。ユーザIDは、ユーザ認証のためにユーザが入力したIDである。検証日は、ユーザ認証に成功した日付である。検証時刻は、ユーザ認証に成功した時刻である。
<実行可能コード生成(S1102)〜中間コード表示制御(S1106)> 第1実施形態(図3の実行可能コード生成(S302)〜中間コード表示制御(S306))と同様である。
<S1108> コード対応部15は、検証が終了したか否かを判定する。検証が終了した場合には(S1108−YES)、認証情報更新(S1110)が実行される。検証が終了していない場合には(S1108−NO)、未検証表示制御(S1120)が実行される。例えば、コード対応部15は、第1データの全ての要素名に認証情報が付加されている場合に検証が終了したと判定し、第1データに認証情報が付加されていない要素名が含まれる場合に検証が終了していないと判定する。コード対応部15は、検証が終了したと判定すると、判定した日付及び時刻をプロセッサ2から取得し、日付及び時刻をダイヤグラム表示制御部16に送信する。コード対応部15は、検証が終了していないと判定すると、認証情報が付加されていない要素名をダイヤグラム表示制御部16に送信する。
<認証情報更新(S1110)> 第1プログラム変換部12は、コード対応部15から送信された日付及び時刻を用いて、第1データの認証情報(検証日及び検証時刻)を更新するとともに、第1データを記憶装置3に格納する。次いで、ダイヤグラム表示制御部16は、第1プログラム変換部12により更新された認証情報を用いて、表示装置5に表示された第1データの認証情報(検証日及び検証時刻)を更新する。
<未検証表示制御(S1120)> ダイヤグラム表示制御部16は、コード対応部15から送信された要素名に対応する領域を強調する。これにより、表示装置5には、検証が終了していない要素が強調表示される。未検証表示制御(S1120)が終了すると、S1108に戻る。
第2実施形態によれば、中間コードの検証が終了したことを示す認証情報又は検証が終了していない要素が表示装置5に表示される。これにより、ユーザは、検証が終了したか否かを容易に判断することができる。また、中間コードの検証が終了したことを示す認証情報が記憶装置3に格納される。これにより、検証したユーザと、検証が終了した日付及び時刻と、を特定する情報を残すことができる。
(第3実施形態)
第3実施形態について説明する。第3実施形態は、信号へのアクセスを集中的に検証するための情報を提供する中間コード検査装置の例である。なお、上述の実施形態と同様の説明は省略する。
第3実施形態について説明する。第3実施形態は、信号へのアクセスを集中的に検証するための情報を提供する中間コード検査装置の例である。なお、上述の実施形態と同様の説明は省略する。
第3実施形態の中間コード検査処理の構成について説明する。図13は、第3実施形態の中間コード検査装置10のブロック図である。
中間コード検査装置10は、第1プログラム変換部12と、第2プログラム変換部14と、コード対応部15と、ダイヤグラム表示制御部16と、追跡部17と、中間コード表示制御部18と、を備える。第1プログラム変換部12、第2プログラム変換部14、コード対応部15、ダイヤグラム表示制御部16、及び中間コード表示制御部18は、第1実施形態と同様である。
追跡部17は、中間コード補助データの第1データに基づいて中間コードを追跡するモジュールである。
第3実施形態の中間コード検査装置の動作について説明する。図14は、第3実施形態の中間コード検査処理のフローチャートである。
図14の中間コード検査処理は、プラント制御プログラム及び中間コードが記憶装置3に格納された後に実行される。プラント制御プログラムは、発電プラントの設備を制御するプログラムであって、POLエディタを用いて作成されるPOLダイヤグラムを含む。
<中間コード補助データ生成(S1400)〜ダイヤグラム表示制御(S1404)> 第1実施形態(図3の中間コード補助データ生成(S300)〜ダイヤグラム表示制御(S304))と同様である。
<追跡処理(S1405)> 追跡部17は、中間コード補助データの第1データに基づいて中間コードを追跡する。図15は、図14の追跡処理(S1405)のフローチャートである。
<信号テーブル生成(S1500)> 追跡部17は、中間コード補助データの第1データから信号(入力信号及び出力信号)を取得し、信号に対応するアクセス命令を特定する信号テーブルを生成する。
図16は、信号テーブルの概略図である。信号テーブルは、信号名と、シート番号と、命令番号と、を含む。信号名は、POLダイヤグラムの入力信号及び出力信号を特定する情報である。シート番号は、POLダイヤグラムのシートを特定する情報である。命令番号は、中間コードのアクセス命令を特定する情報である。信号テーブルでは、信号名に基づいて情報がソートされている。
<アクセス命令抽出(S1502)> 追跡部17は、信号テーブルの先頭から、シート番号及び命令番号をキーとして用いて、各信号に対応するアクセス命令を中間コードから抽出し、アクセス命令を中間コード表示制御部18に送信する。
<中間コード表示制御(S1406)> 中間コード表示制御部18は、第1データの中から、ユーザが入力装置4を用いて選択した領域500の位置に対応する座標に基づいて論理演算シンボルの命令番号を特定し、命令番号に対応する中間コードと、追跡部17から送信されたアクセス命令と、を表示装置5に表示する。
図17は、図14の中間コード表示制御(S1406)における表示装置5の表示例を示す図である。表示装置5には、信号名と、シート番号と、命令番号と、アクセス命令と、が表示される。信号名は、追跡部17から送信されたアクセス命令に対応する信号を特定する情報である。シート番号は、追跡部17から送信されたアクセス命令に対応するシートを特定する情報である。命令番号は、追跡部17から送信されたアクセス命令を特定する情報である。アクセス命令は、追跡部17から送信されたアクセス命令である。18A及び18Bは、入力信号DI01に対するアクセスにレジスタR1が使用されることを示している。18Cは、入力信号DI01に対するアクセスにレジスタR2が使用されることを示している。すなわち、図17は、1つの入力信号に対して異なるレジスタが使用されることを示している。これにより、ユーザは、中間コードに誤りがあることを容易に判断することができる。なお、アドレス又はビットシフトが異なっている場合にも、ユーザは、中間コードに誤りがあることを容易に判断することができる。
第3実施形態によれば、中間コード補助データに基づいて中間コードの追跡結果が表示装置5に表示される。これにより、ユーザは、中間コードに誤りがあるか否かを容易に判断することができる。
なお、第3実施形態では、アクセス命令抽出(S1502)の後に、アクセス命令に基づいて中間コードに誤りがあるか否かを判定する処理が実行されても良い。これにより、ユーザは、中間コードに誤りがいるか否かをより容易に判断することができる。
(第4実施形態)
第4実施形態について説明する。第4実施形態は、検証済みのPOLダイヤグラムを変更したときに、変更されたPOLダイヤグラムから生成される中間コードを容易に検証するための情報を提供する中間コード検査装置の例である。なお、上述の実施形態と同様の説明は省略する。
第4実施形態について説明する。第4実施形態は、検証済みのPOLダイヤグラムを変更したときに、変更されたPOLダイヤグラムから生成される中間コードを容易に検証するための情報を提供する中間コード検査装置の例である。なお、上述の実施形態と同様の説明は省略する。
第4実施形態の中間コード検査処理の構成について説明する。図18は、第4実施形態の中間コード検査装置10のブロック図である。
中間コード検査装置10は、第1プログラム変換部12と、第2プログラム変換部14と、コード対応部15と、ダイヤグラム表示制御部16と、中間コード表示制御部18と、プログラム比較部19と、を備える。第1プログラム変換部12、第2プログラム変換部14、コード対応部15、ダイヤグラム表示制御部16、及び中間コード表示制御部18は、第1実施形態と同様である。
プログラム比較部19は、第1プログラム変換部12により生成された中間コード補助データを検証するモジュールである。
第4実施形態の中間コード検査装置の動作について説明する。図19は、第4実施形態の中間コード検査処理のフローチャートである。
図19の中間コード検査処理は、プラント制御プログラム、中間コード、及び第1中間コード補助データが記憶装置3に格納された後に実行される。プラント制御プログラムは、発電プラントの設備を制御するプログラムであって、POLエディタを用いて作成されるPOLダイヤグラムを含む。第1中間コード補助データは、中間コード補助データ生成(S1900)の前に生成されていた中間コード補助データ(すなわち、既存の中間コード補助データ)である。
<中間コード補助データ生成(S1900)> 第2実施形態(図11の中間コード補助データ生成(S1100))と同様である。
<中間コード補助データ検証(S1901)> プログラム比較部19は、直前の中間コード補助データ生成(S1900)において第1プログラム変換部12により生成された中間コード補助データ(以下、「第2中間コード補助データ」という)を検証する。図20は、図19の中間コード補助データ検証(S1901)のフローチャートである。
<中間コード補助データ取得(S2000)> プログラム比較部19は、第1中間コード補助データを記憶装置3から読み出し、第2中間コード補助データを第1プログラム変換部12から取得する。
図21は、第1中間コード補助データの第1データ及び第2中間コード補助データの第1データの概略図である。第1中間コード補助データは、認証情報(検証したユーザのユーザID、並びに検証が終了した日付及び時刻)が付加された第1データ(図21(A)を参照)を含む。第2中間コード補助データは、認証情報が付加されていない第1データ(図21(B)を参照)を含む。
<中間コード補助データ比較(S2002)> プログラム比較部19は、第1中間コード補助データと第2中間コード補助データとを比較する。例えば、図21に示すように、プログラム比較部19は、シート番号及び要素名について、第1中間コード補助データの第1データと第2中間コード補助データの第1データとを行(1)〜(4)毎に比較する。
<S2004> 中間コード補助データ比較(S2002)において、シート番号及び要素名が一致する行(図21の行(1)〜(3))に対しては認証情報付加(S2006)が実行され、シート番号及び要素名が一致しない行(図21の行(4))に対してはデータ削除(S2026)が実行される。
<認証情報付加(S2006)> プログラム比較部19は、第2中間コード補助データの第1データの行(図21の行(1)〜(3))に、第2中間コード補助データの第1データの認証情報を付加する。
<データ削除(S2026)> プログラム比較部19は、第2中間コード補助データの第1データの行(図21の行(4))を削除する。
図22は、認証情報付加(S2006)及びデータ削除(S2026)により生成される中間コード補助データの第1データの概略図である。認証情報付加(S2006)及びデータ削除(S2026)により、検証が終了した行のみから構成される第1データを含む中間コード補助データが生成される。
<中間コード比較(S2008)> プログラム比較部19は、第1中間コード補助データに対応する中間コード(以下、「第1中間コード」という)と、認証情報付加(S2006)及びデータ削除(S2026)により生成される中間コード補助データに対応する中間コード(以下、「第2中間コード」という)と、を第1データの行毎に比較する。
<S2010> 2つの中間コードが一致する場合には(S2010−YES)、中間コード補助データ検証が終了する。2つの中間コードが一致しない(すなわち、中間コードの検証が必要である)場合には(S2010−NO)、認証情報削除(S0212)が実行される。2つの中間コードが一致することは、第1中間コードに対応する中間コード補助データに付加された認証情報が第2中間コードに対する中間コード補助データに対して有効であるので、中間コードの検証が必要ないことを意味する。2つの中間コードが一致しないことは、第1中間コードに対応する中間コード補助データに付加された認証情報が第2中間コードに対する中間コード補助データに対して無効であるので、中間コードの検証が必要であることを意味する。
<認証情報削除(S2012)> プログラム比較部19は、第2中間コード補助データの第1データから、認証情報付加(S2006)において付加された認証情報を削除し、新たに中間コード補助データを生成し直す。
なお、中間コード比較(S2008)において、第1中間コードと第2中間コードとが表示装置5に表示されても良い。図23は、図22の中間コード比較(S2008)における表示装置5の表示例である。第1中間コードと第2中間コードとが一致しない場合には、一致しない箇所が枠線231及び232で囲まれる。また、領域233にシート番号及び要素名が表示される。図23では、信号のPLCのRAM上の位置が移動している。これにより、信号が記憶されるPLCのRAM上のアドレスとビット長とを用いて、ロジックの等価性を検証することもできる。
また、S2010では、中間コード補助データの第2データのアドレス及びビット長について比較されても良い。この場合には、第1中間コードに対応する中間コード補助データの第2データのアドレス及びビット長と、第2中間コードに対応する中間コード補助データの第2データのアドレス及びビット長と、が一致する場合に限り、S2010が実行される。
第4実施形態によれば、ユーザは、POLダイヤグラムを変更したとしても、第1中間コードと第2中間コードとの間で一致しない箇所(すなわち、POLダイヤグラムの変更内容)を容易に特定することができる。その結果、検証の信頼性を効率よく改善することができる。
本実施形態に係る中間コード検証装置10の少なくとも一部は、ハードウェアで構成しても良いし、ソフトウェアで構成しても良い。ソフトウェアで構成する場合には、中間コード検証装置10の少なくとも一部の機能を実現するプログラムをフレキシブルディスクやCD−ROM等の記録媒体に収納し、コンピュータに読み込ませて実行させても良い。記録媒体は、磁気ディスクや光ディスク等の着脱可能なものに限定されず、ハードディスク装置やメモリなどの固定型の記録媒体でも良い。
また、本実施形態に係る中間コード検証装置10の少なくとも一部の機能を実現するプログラムを、インターネット等の通信回線(無線通信も含む)を介して頒布しても良い。さらに、同プログラムを暗号化したり、変調をかけたり、圧縮した状態で、インターネット等の有線回線や無線回線を介して、あるいは記録媒体に収納して頒布しても良い。
なお、本発明は、上述した実施形態に限定されるものではなく、その要旨を逸脱しない範囲で構成要素を変形して具体化される。また、上述した実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明が形成可能である。例えば、上述した実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
1 中間コード検査システム
2 プロセッサ
3 記憶装置
4 入力装置
5 表示装置
6 認証インタフェース
10 中間コード検査装置
12 第1プログラム変換部
14 第2プログラム変換部
15 コード対応部
16 ダイヤグラム表示制御部
17 追跡部
18 中間コード表示制御部
19 プログラム比較部
2 プロセッサ
3 記憶装置
4 入力装置
5 表示装置
6 認証インタフェース
10 中間コード検査装置
12 第1プログラム変換部
14 第2プログラム変換部
15 コード対応部
16 ダイヤグラム表示制御部
17 追跡部
18 中間コード表示制御部
19 プログラム比較部
Claims (12)
- プラント制御プログラムを開発するときに生成される中間コードの品質を検査する中間コード検査装置と、
前記中間コード検査装置に対するユーザの指示を受け付ける入力装置と、
前記中間コード検査装置の検査内容を表示する表示装置と、を備え、
前記中間コード検査装置は、
問題向け言語で記述されたダイヤグラムを中間コードに変換するとともに、前記ダイヤグラムに基づいて、前記ダイヤグラムと前記中間コードとを対応付ける中間コード補助データを生成する前記第1プログラム変換部と、
前記中間コードを、プログラマブルロジックコントローラが実行可能な実行可能コードに変換する第2プログラム変換部と、
前記中間コード補助データから、前記ユーザの指示に対応する情報を抽出するコード対応部と、
前記コード対応部により抽出された情報に基づいて、前記表示装置に表示する前記ダイヤグラムの表示内容を制御するダイヤグラム表示制御部と、
前記コード対応部により抽出された情報に基づいて、前記表示装置に表示する前記中間コードの表示内容を制御する中間コード表示制御部と、を備える中間コード検査システム。 - 前記ダイヤグラムは、前記プログラマブルロジックコントローラ上の複数の要素と、前記要素の位置及び形状を示す座標情報と、を含み、
前記中間コード補助データは、前記要素を特定する要素名と、前記要素名に対応する要素の前記ダイヤグラム上の位置を特定する座標情報と、を含む、請求項1に記載の中間コード検査システム。 - 前記コード対応部は、前記ユーザの指示に対応する前記ダイヤグラムの座標情報を取得し、前記中間コード補助データから、前記ダイヤグラムの座標情報に対応する前記中間コード補助データの座標情報を抽出する、請求項2に記載の中間コード検査システム。
- 前記ダイヤグラム表示制御部は、前記コード対応部により抽出された前記中間コード補助データの座標情報に対応する領域を強調する、請求項3に記載の中間コード検査システム。
- 前記中間コード表示制御部は、前記コード対応部により抽出された前記中間コード補助データの座標情報に対応する領域を強調する、請求項3又は4に記載の中間コード検査システム。
- 前記ユーザのユーザ認証を実行する認証インタフェースをさらに備え、
前記第1プログラム変換部は、前記認証インタフェースから認証情報を取得し、前記中間コード補助データに前記認証情報を付加する、請求項1乃至5の何れか1項に記載の中間コード検査システム。 - 前記認証情報は、前記ユーザを特定するユーザID(Identification)と、前記ユーザ認証に成功した日付及び時刻と、前記中間コードの検証が終了した日付及び時刻と、の少なくとも1つを含む、請求項6に記載の中間コード検査システム。
- 前記第1プログラム変換部は、中間コードの検証が終了した日付及び時刻を用いて、前記中間コード補助データを更新する、請求項7に記載の中間コード検査システム。
- 前記中間コード検査装置は、前記中間コード補助データの信号に対応するアクセス命令を特定する追跡部をさらに備える、請求項1乃至8の何れか1項に記載の中間コード検査システム。
- 前記第1プログラム変換部は、前記ダイヤグラムに基づいて第1中間コード補助データを生成し、前記ダイヤグラムが変更されたときに、変更されたダイヤグラムに基づいて第2中間コード補助データを生成し、
前記第1中間コード補助データと前記第2中間コード補助データとを比較して、前記ダイヤグラムの変更内容を特定するプログラム比較部をさらに備える、請求項1乃至10の何れか1項に記載の中間コード検査システム。 - 問題向け言語で記述されたダイヤグラムを中間コードに変換するとともに、前記ダイヤグラムに基づいて、前記ダイヤグラムと前記中間コードとを対応付ける中間コード補助データを生成し、
前記中間コードを、プログラマブルロジックコントローラが実行可能な実行可能コードに変換し、
前記中間コード補助データから、ユーザの指示に対応する情報を抽出し、
前記情報に基づいて、表示装置に表示する前記ダイヤグラム及び前記中間コードの表示内容を制御する、中間コード検査方法。 - 問題向け言語で記述されたダイヤグラムを中間コードに変換するとともに、前記ダイヤグラムに基づいて、前記ダイヤグラムと前記中間コードとを対応付ける中間コード補助データを生成し、
前記中間コードを、プログラマブルロジックコントローラが実行可能な実行可能コードに変換し、
前記中間コード補助データから、ユーザの指示に対応する情報を抽出し、
前記情報に基づいて、表示装置に表示する前記ダイヤグラム及び前記中間コードの表示内容を制御する、処理をコンピュータに実行させる中間コード検査プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011023181A JP2012164081A (ja) | 2011-02-04 | 2011-02-04 | 中間コード検査システム、中間コード検査方法、及び中間コード検査プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011023181A JP2012164081A (ja) | 2011-02-04 | 2011-02-04 | 中間コード検査システム、中間コード検査方法、及び中間コード検査プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2012164081A true JP2012164081A (ja) | 2012-08-30 |
Family
ID=46843419
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011023181A Withdrawn JP2012164081A (ja) | 2011-02-04 | 2011-02-04 | 中間コード検査システム、中間コード検査方法、及び中間コード検査プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2012164081A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016197399A (ja) * | 2015-03-31 | 2016-11-24 | エーオー カスペルスキー ラボAO Kaspersky Lab | オペレーティング・システム・リソースに対する機械語のネイティブイメージのアクセス制御のシステム及び方法 |
-
2011
- 2011-02-04 JP JP2011023181A patent/JP2012164081A/ja not_active Withdrawn
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016197399A (ja) * | 2015-03-31 | 2016-11-24 | エーオー カスペルスキー ラボAO Kaspersky Lab | オペレーティング・システム・リソースに対する機械語のネイティブイメージのアクセス制御のシステム及び方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109857388B (zh) | 代码生成方法、装置、服务器及计算机可读介质 | |
JP2010219789A5 (ja) | 画像処理システム、その制御方法、及びプログラム | |
CN111240669B (zh) | 界面生成方法、装置、电子设备及计算机存储介质 | |
CA3157678A1 (en) | Method and apparatus for automatically testing visual report tool based on vuex | |
US20140280170A1 (en) | Computer-readable storage medium storing a grouping support program, grouping support method and grouping support server | |
JP2015102875A (ja) | 表示システム及び表示制御装置 | |
JP2012164081A (ja) | 中間コード検査システム、中間コード検査方法、及び中間コード検査プログラム | |
JP2007240848A (ja) | 表示プログラム、データ構造及び表示装置 | |
JP2018060426A (ja) | 画像処理装置及び画像処理プログラム | |
JP5185077B2 (ja) | 画像処理方法、そのプログラム及び画像処理装置 | |
CN113010128A (zh) | 基于bim模型的多屏互动方法及系统 | |
JP2014139713A (ja) | 査読結果表生成装置及び査読結果表生成プログラム | |
JP4693167B2 (ja) | 帳票検索装置、帳票検索方法、プログラム及びコンピュータ読み取り可能な記憶媒体 | |
JP2008041002A (ja) | 文書処理装置および文書処理プログラム | |
JP2015114900A (ja) | 生産情報管理装置、生産情報管理方法及びプログラム | |
JP2015018499A (ja) | 現場作業の支援システム及びその支援方法 | |
JP7332657B2 (ja) | デジタルインク生成装置、方法及びプログラム | |
JP7254253B2 (ja) | 盤図管理装置、盤図管理システムおよび盤図管理方法 | |
JP2011128996A (ja) | 情報処理装置、情報処理方法、及びコンピュータプログラム | |
JP2013088777A (ja) | ビューワ装置、サーバ装置、表示制御方法、電子コミック編集方法及びプログラム | |
JP2011175401A (ja) | 計算機エミュレーション装置及び計算機エミュレーションプログラム | |
JP2018128919A (ja) | 作業計画作成システム、作業計画作成方法および作業計画作成プログラム | |
JP5602087B2 (ja) | データ連携装置、データ連携方法及びデータ連携プログラム | |
KR20170050338A (ko) | 데이터 구조화 방법 | |
JP4728878B2 (ja) | 時系列分析支援システム、時系列分析支援方法及び時系列分析支援プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20140513 |