JP2004318286A - プログラム仕様書作成兼プログラム開発装置、同方法、および制御システム - Google Patents
プログラム仕様書作成兼プログラム開発装置、同方法、および制御システム Download PDFInfo
- Publication number
- JP2004318286A JP2004318286A JP2003108318A JP2003108318A JP2004318286A JP 2004318286 A JP2004318286 A JP 2004318286A JP 2003108318 A JP2003108318 A JP 2003108318A JP 2003108318 A JP2003108318 A JP 2003108318A JP 2004318286 A JP2004318286 A JP 2004318286A
- Authority
- JP
- Japan
- Prior art keywords
- program
- creation
- controller
- display screen
- symbol
- 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
Links
Images
Landscapes
- Stored Programmes (AREA)
- Programmable Controllers (AREA)
Abstract
【課題】コントローラを対象として、ディスプレイ画面上でユーザによって作成された計装ループ図などの仕様書に対するプログラムの開発を容易にする。
【解決手段】仕様書作成およびプログラム開発のために使用されるシンボルをステンシルファイルとして格納する手段2と、手段2に格納されているシンボルのディスプレイ画面上でのユーザによる選択と、その配置を含む仕様書作成およびプログラム開発のための指示を受け取る手段3と、ディスプレイ画面上で作成された仕様書4から、コントローラによって実行可能なプログラム、および/またはデータ定義ファイルを作成する手段5とを備える。
【選択図】 図1
【解決手段】仕様書作成およびプログラム開発のために使用されるシンボルをステンシルファイルとして格納する手段2と、手段2に格納されているシンボルのディスプレイ画面上でのユーザによる選択と、その配置を含む仕様書作成およびプログラム開発のための指示を受け取る手段3と、ディスプレイ画面上で作成された仕様書4から、コントローラによって実行可能なプログラム、および/またはデータ定義ファイルを作成する手段5とを備える。
【選択図】 図1
Description
【0001】
【発明の属する技術分野】
本発明は、制御システムにおけるコントローラのアプリケーションプログラム設計方式に係わり、更に詳しくは、例えばシーケンス制御システムなどにおける、コントローラを対象とするプログラムの設計時や、試験時に使用されるプログラム仕様書作成兼プログラム開発装置に関する。
【0002】
【従来の技術と発明が解決しようとする課題】
従来、制御システムのコントローラに対するプログラムの仕様書として計装ループ図(計装フローと同じ意味を持つ)、ロジック図、またはインターロックブロックダイヤグラム(IBD)などを作成する場合には、ワープロ、パソコン、あるいはその他OAツールを用いて仕様書が記述され、作成された仕様書に対応してローダ、またはパソコンに搭載されたプログラミング開発機能が使用され、プログラムが開発されてコントローラにインプットされて使用されていた。
【0003】
このような仕様書作成、およびプログラム開発に関して次のような文献がある。
【0004】
【特許文献1】
特開2002−258914号公報
「描画システム、プログラム開発システム、コントローラ、及びプログラム実行システム」
【特許文献2】
特開2002−323912号公報
「プログラム仕様書作成装置、作成方法およびシーケンス制御システム」
【0005】
【非特許文献1】
吉野、北村、藤澤「生産性と品質を向上させるエンジニアリング支援ツール」富士時報,Vol.74,No.9,2001.
特許文献1では、シーケンス制御のためのシーケンシャルファンクションチャート(SFC)のように、図面情報としての仕様書を作成する場合に、ディスプレイ画面上に表示されていないシンボルを、ディスプレイ画面上の正しい位置に容易に貼り付けることできる技術が開示されている。
【0006】
特許文献2、および非特許文献1では、SFCシーケンスの出力仕様書、インターロック仕様書を表形式で作成し、その表の中に多くの出力や移行条件、ジャンプ先などを可視化された形式で表現することによって、シーケンス仕様書の作成を容易とする技術が開示されている。
【0007】
しかしながらこのような従来方式においては、型にはまったプログラムについては各種の支援ツールを用いて、その作成を容易にすることが可能となったが、例えば表形式のように、あらかじめ仕様書作成のフォーマットが定められ、仕様書作成の自由度が必ずしも高くないという問題点があり、またソフトウェア開発の観点からも、より型にはまらない形式のプログラム開発が望まれるという問題点もあった。
【0008】
さらに、支援ツールの利用時にも専用シンボルが定義されて使用されることもあったが、そのようなシンボルについても汎用アプリケーションによって用意されている標準インタフェースを利用することができず、操作性が悪いという問題点と、専用シンボルに対する編集機能が不足しているという問題点があった。
【0009】
このため、フォーマットがあらかじめ定められていない、自由度の高い仕様書に対応するプログラム開発の段階を自動化することは困難であり、人間による作業が必要となり、時間が浪費され、バグが入り込む可能性があり、アプリケーションプログラムを利用したエンジニアリング業務の生産性と品質が低下するという問題点があった。
【0010】
また上記の仕様書に対応するプログラムを基本命令、応用命令、マシン語が異なる別種類のコントローラで動作させる場合には、その種類独特のソースコード、またはマシンコードに仕様書の内容を変換しなければならず、プログラム作成者の負担が大きくなるという問題点があった。
【0011】
本発明の課題は、上述の問題点に鑑み、仕様書作成およびプログラム開発のためのシンボルを専用ステンシルファイルとして備え、ディスプレイ画面上でユーザによって作成された仕様書に対するプログラム開発を容易とすることである。
【0012】
【課題を解決するための手段】
図1は本発明のプログラム仕様書作成兼プログラム開発装置1の原理構成ブロック図である。同図は、例えばシーケンス制御のコントローラを対象とするプログラム仕様書を作成し、またその作成された仕様書に対応するプログラムを開発する装置の原理構成ブロック図であり、装置1は少なくともステンシルファイル格納手段2、ユーザ指示入力手段3、およびプログラム作成手段5とを備える。
【0013】
ステンシルファイル格納手段2は、仕様書作成およびプログラム開発のために使用される専用のシンボルをステンシルファイルとして格納するものであり、ユーザ指示入力手段3は、ステンシルファイル格納手段2に格納されているシンボル、すなわちシェイプのディスプレイ画面上でのユーザによる選択と、その配置を含む仕様書作成およびプログラム開発のための指示を受け取るものである。
【0014】
プログラム作成手段5は、ステンシルファイル格納手段2の格納内容、およびユーザ指示入力手段3によって受け取られたユーザの指示に対応して作成された仕様書4から、コントローラによって実行可能なプログラム、および/またはデータ定義ファイルを作成するものである。
【0015】
ステンシルファイルに格納されている専用のシンボル(シェイプ)は、単に仕様書を図面として作成するために必要なシンボルだけではなく、基本的にはプログラムの開発に使用される命令語に対応するシンボルや、シンボル自体に制御情報を付加することができるものであり、このようなシンボルを用いて作成された仕様書4に対応して、プログラム作成に必要な情報を追記することによって、プログラム作成手段5によってコントローラを対象とするプログラムが自動的に開発される。
【0016】
発明の実施の形態においては、プログラム仕様書作成兼プログラム開発装置1が仕様書編集手段を更に備え、仕様書編集手段によってディスプレイ画面上でのシンボルに対する入力信号数、出力信号数、シンボルの形、および表現を制御の内容に対応して変更することも、またシンボルに対する信号の接続方向、シンボルの向き、形、および表現を図面の書式に対応して変更することもできる。
【0017】
また実施の形態においてプログラム作成手段5は、コントローラの種類に対応して、そのコントローラで実行可能な形式のプログラム、および/またはデータ定義ファイルを仕様書4から作成することもできる。
【0018】
実施の形態においては、仕様書4の各ページを単位として、そのページ上でシンボルが置かれる座標位置に対応して、シンボル単位の動作の実行順序の自動割り付けを行う実行順序設定手段を更に備えることもでき、この場合実行順序設定手段はシンボルの追加や削除に対応して、ページを単位として実行順序の自動再割り付けを行うこともできる。
【0019】
実施の形態においては、プログラム仕様書作成兼プログラム開発装置1が、仕様書上で使用されているシンボルにそれぞれ対応する識別番号を検索するシンボル検索手段を更に備え、プログラム作成手段5によるプログラム、および/またはデータ定義ファイルの作成時にエラーが発生した時、シンボル検索手段がそのエラー発生の原因のシンボルを検索することもできる。
【0020】
実施の形態においてプログラム仕様書作成兼プログラム開発装置1は、仕様書が複数のページによって構成される時に、各ぺージ上の信号の行先のページ、来先のページを含むページ間のシンボル対応データの相互関係を、クロスリファレンスデータとして作成するクロスリファレンスデータ作成手段を更に備えることもでき、また作成されたクロスリファレンスデータをディスプレイ画面上で作成された仕様書上に表示するクロスリファレンス表示手段を更に備えることもできる。
【0021】
更に実施の形態において、プログラム仕様書作成兼プログラム開発装置1は仕様書、プログラム、および/またはデータ定義ファイルの作成のために使用されるデータベースと、これらに関連する外部アプリケーションのために使用されるデータベースとを連携して制御するデータベース連携制御手段を更に備えることもできる。
【0022】
また本発明の制御システムは、コントローラとそのコントローラを対象とするプログラム仕様書作成兼プログラム開発装置1とによって構成され、装置1は前述のステンシルファイル格納手段2、ユーザ指示入力手段3およびプログラム作成手段5に加えて、仕様書のページ内でシンボル単位の動作の実行順序を設定する実行順序設定手段と、プログラム作成手段5によって作成されたプログラム、および/またはデータ定義ファイルの内容をコントローラにロードするプログラムロード手段とを更に備え、コントローラが、設定された動作実行順序でシンボル単位の動作を実行させる動作実行制御手段を備える。
【0023】
この制御システムの実施の形態においては、コントローラが、シンボル単位の動作の実行結果を読み出すモニタ手段を、またプログラム仕様書作成兼プログラム開発装置1が、読み出された動作実行結果をディスプレイ画面上に表示する表示手段を更に備えることもできる。
【0024】
本発明のプログラム仕様書作成およびプログラム開発方法においては、仕様書作成およびプログラム開発のために使用される専用シンボルのディスプレイ画面上でのユーザによる選択と、その配置を含む仕様書作成およびプログラム開発のための指示を受け取り、ディスプレイ画面上で作成された仕様書から、コントローラによって実行可能なプログラム、および/またはデータ定義ファイルを作成する方法が用いられる。
【0025】
またこの方法に対応するプログラムがコントローラを対象とするプログラム仕様書作成およびプログラム開発を行う計算機によって使用されることも、またそのようなプログラムを格納した計算機読み出し可能可搬型記憶媒体が計算機によって使用されることもできる。
【0026】
以上のように本発明によれば、仕様書作成およびプログラム開発のために使用される専用のシンボル(シェイプ)を用いてディスプレイ画面上で作成された仕様書から、コントローラを対象とするプログラムを容易に開発することが可能となる。
【0027】
【発明の実施の形態】
図2は本発明の実施形態における制御システムの基本構成図である。同図において制御システムは、プログラム仕様書作成兼プログラム開発装置としての役割を果たすパソコン10、例えばプラント全体の制御を行うための分散型制御システム(ディストリビューテッド・コントロール・システム:DCS)コントローラ11、およびシステム内で例えば機器単位の制御を行うプログラマブルロジックコントロール(PLC)コントローラ12から構成されている。
【0028】
図3は図2のシステムにおける仕様書作成から制御実行までの全体的なエンジニアリングフローチャートである。同図において、まずステップS1で図2のパソコン10のディスプレイ画面上で仕様書として(計装)ループ図、ロジック図、またはIBDなどが作成され、ステップS2で制御ソフトの作成のために必要な情報が追記され、ステップS3でコントローラの種別に対応したプログラム、およびバイナリーデータへの変換が行なわれ、ステップS4でそのプログラムとバイナリーデータ定義ファイルがコントローラにダウンロードされる。
【0029】
後述するようにダウンロードされたプログラム、およびバイナリーデータ定義ファイルを用いて、DCSコントローラ11、またはPLCコントローラ12によって制御ソフト、すなわちループ図、ロジック図、またはIBDに対応するソフトウエアがステップS5で実行され、その実行結果に対しては、パソコン10のディスプレイ画面における仕様書上で、ステップS6でオンラインモニタが行なわれる。
【0030】
図4は図2で説明したプログラム仕様書作成兼プログラム開発装置に相当するパソコン10と、2つのコントローラ11,12の機能構成を示す機能構成ブロック図である。
【0031】
図4において21はループ図、ロジック図、またはIBDなどの仕様書を作成するための仕様書作成シート、22は仕様書を作成するためのマスタシェイプを備えるステンシル、23は22から選択されたマスタシェイプをドラッグ&ドロップした時に、デフォルトの形に実際に描画するシェイプ描画部、24はシェイプを編集するためのショートカットメニュー、25は24で選択された編集指令により実際に編集を実行する編集実行部、26は21の図形情報をデータ化するコンバート指令を出すコンバートボタン、27は21の図形情報を28のCSV(コンマ・セパレーテッド・バリュー)形式テキストファイルに実際にコンバートする図形情報からテキストデータへの展開部、29は28から30のバイナリーデータ定義ファイルorソースコードに実際にコンバートするテキストデータからマルチコントローラ対応データへの展開部、31と32は、対象とするコントローラへ30をローディングする定義データロード部である。
【0032】
33と34はコントローラの中にロードされたバイナリーデータ定義ファイル、37と38は同様にロードされたプログラム、35は33のデータを解析しDCSコントローラの中で21で作成された仕様書と同じ動作をシェイプ単位に設定された実行No.順に実行させるDCS用データ解析部、36は34のデータを解析しPLCコントローラの中で21で作成された仕様書と同じ動作をシェイプ単位に設定された実行No.順に実行させるPLC用データ解析部、39と40はシェイプの入出力の状態が格納されているシェイプ入出力ファイル、41と42は対象とするコントローラからデータを読み出すコントローラデータ読み出し部、43はコントローラから読み出されたデータを格納するコントローラ読み出しデータ格納ファイル、44はモニタ指令を出すモニタボタン、45は44のモニタ指令により実際に21のシェイプの入出力の状態表示を行なうモニタ実行部である。
【0033】
ユーザが、図4の仕様書作成シート21上にステンシル22の中から描画したいマスタシェイプをドラッグ&ドロップし、これを結線して仕様書を作成する。シートとしてのページは仕様書としての位置付けのため、ページ上にはコメントやビットマップ等の形式の画像ファイルを貼り付けることが出来る。またドラッグ&ドロップされたシェイプに対しては、ショートカットメニュー24により、制御の内容にあった、または図面の書式にあったシェイプに変更が出来る。仕様書の作成が終わったら、ページ上に制御ソフトに必要な情報を追記後、コンバートボタン26を押すことにより、図形情報からテキストデータへの展開部27が動作し、CSV形式テキストファイル28が生成される。また連続してテキストデータからマルチコントローラ対応データへの展開部29が起動され、バイナリーデータ定義ファイルorソースコード30が生成される。
【0034】
DCSコントローラで動作させる場合、DCSコントローラ定義データロード部31が起動され、バイナリーデータ定義ファイルorソースコード30がDCSコントローラにロードされる。バイナリーデータ定義ファイルの場合は、予めロードされているDCS用データ解析部35によってコントローラ内のバイナリーデータ定義ファイル33が解析され、またソースコードの場合はプログラム37が動作し、仕様書作成シート21で作成された仕様書と同じ動作がシェイプ単位に設定された実行No.順に実行される。その際シェイプ入出力ファイル39にシェイプの入出力状態が出力される。
【0035】
PLCコントローラで動作させる場合、PLCコントローラ定義データロード部32が起動され、バイナリーデータ定義ファイルorソースコード30がPLCコントローラにロードされる。バイナリーデータ定義ファイの場合は予めロードされているPLC用データ解析部36によってコントローラ内のバイナリーデータ定義ファイル34が解析され、またソースコードの場合はプログラム38が動作し、仕様書作成シート21で作成された仕様書と同じ動作が、シェイプ単位に設定された実行No.順に実行される。その際シェイプ入出力ファイル40にシェイプの入出力状態が出力される。
【0036】
実行中の制御ソフトをモニタする場合は、モニタボタン44でモニタ指令を出すことにより、モニタ実行部45が起動され、コントローラ読み出しデータ格納ファイル43のデータにより仕様書作成シート21のシェイプの入出力状態が数値表示される。その際に、DCSコントローラと接続されている場合は、DCSコントローラデータ読み出し部41によって、シェイプ入出力ファイル39からデータが読み出される。また、PLCコントローラと接続されている場合は、PLCコントローラデータ読み出し部42によって、シェイプ入出力ファイル40からデータが読み出される。
【0037】
図5は図4の図形情報からテキストデータへの展開部27と、テキストデータからマルチコントローラ対応データへの展開部29による処理のフローチャートである。同図において処理が開始されると、まずステップS11で図形情報の構成オブジェクトが取得され、ステップS12で図形情報内の各シェイプの情報の取得とリソースの割り付けが行なわれ、ステップS13でこれらの処理結果に対応するCSV(コンマ セパレーテッド バリュー)ファイルが出力され、ステップS14で致命的エラーの存在がチェックされ、エラーが検出された場合、例えば何らかの理由であるシェイプに対する情報が取得できなかったような場合には、ステップS15でエラー表示が行なわれ、処理を終了する。
【0038】
ステップS14で致命的エラーがない場合には、ステップS16で図形的接続情報、例えばシェイプの図形に対する信号接続端子などの情報が取得され、ステップS17でCSVが出力され、ステップS18で致命的エラーの存在がチェックされ、エラーが存在する場合にはステップS19でエラー表示が行なわれて処理を終了する。
【0039】
ステップS18でエラーが存在しない場合には、ステップS20でコネクタ両端情報、例えばコネクタ両端の接続に関する情報が取得され、ステップS21でその分に対するCSVファイルが出力され、ステップS22で致命的エラーの存在がチェックされ、エラーが存在する場合にはステップS23でエラー表示が行なわれ、処理を終了する。
【0040】
ステップS22でエラーが存在しない場合には、ステップS24でコネクタ両端情報から分岐を含むものが分別され、ステップS25でその分に対するCSVファイルが出力され、ステップS26で致命的エラーの存在がチェックされ、エラーがある場合にはステップS27でエラー表示が行なわれ、処理を終了する。
【0041】
ステップS26で致命的エラーが存在しない場合には、ステップS28で分岐情報が計算され、意味的接続情報、すなわちソフトウエアコードの作成のためのブレークダウンした情報が設定され、ステップS29でその分に対するCSVファイルが出力され、ステップS30で致命的エラーがチェックされ、エラーが存在する場合にはステップS31でエラー表示が行なわれ、処理を終了する。
【0042】
ステップS30で致命的エラーが存在しない場合には、ステップS32で完成したCSVファイル、すなわち図4のCSV形式テキストファイル28が読み込まれ、ステップS33でアドレス、すなわちコントローラメモリのアドレス、およびシェイプ別のパラメータの計算が行なわれ、ステップS34でバイナリーデータまたはソースコードのファイルが出力され、ステップS35で致命的エラーのチェックが行なわれ、エラーがある場合にはステップS36でエラー表示が行なわれて処理を終了し、エラーが存在しない場合にはステップS37で以上の処理に対応するログ表示が行なわれて処理を終了する。
【0043】
なお図5では部分的な図形情報の取得毎にCSVファイルの出力が行なわれるものとしたが、ステップS28の処理の後に一括してCSVファイルの出力を行なうことも当然可能である。
【0044】
図6および図7は、図5のステップS34で出力され、コントローラにロードされた、図4のバイナリーデータ定義ファイル33、または34のファイル仕様を示す。図6はファイルの全体構成を示し、1〜Xのページで全体が構成されている。ここではページの最大数は416である。
【0045】
各ページに対してはページのナンバー、サイズ、ページに含まれるシェイプの数などに加えて、ロジックを含む計装フローのデータが格納される。そしてこの計装フローの内部に含まれるY個のシェイプのそれぞれに対して、シェイプパターンがシェイプの動作の実行ナンバー順に格納される。
【0046】
図7は各シェイプパターンの仕様である。各シェイプパターンは内部計器から追加機能までのそれぞれに対して仕様が異なっている。内部計器に対しては、その種類がモジュールナンバーで指定され、各内部計器に対してはn個の機能のうち、いずれかの機能が指定される。
【0047】
例えば入力シェイプは、仕様書としての図形情報の段階で使用されるものであり、プログラムコードとしてコントローラにロードされる時点では省略されて、対応する各シェイプに一体とされるものである。EIウェハの“EI”は電気計装を表し、演算用のウェハと計器用のウェハとがある。また後述するように命令語のシェイプもあり、このようなシェイプのすべては仕様書作成にも用いられるが、プログラム開発のために使用される点に本発明の特徴がある。
【0048】
続いて仕様書作成およびプログラム開発について、仕様書作成シートの具体例を用いて説明する。図8は仕様書作成シートを含む仕様書作成時のディスプレイ画面の具体例である。同図においては仕様書として、PID計器を含む計装ループ図の作成中の画面が示され、左側には仕様書作成およびプログラム開発に用いられるステンシルファイルの一部のシェイプが示されている。さらに画面の右上にはロジック図が示されている。
【0049】
なお本実施形態では、例えばOAソフトウエア(グラフィックスソフト)としてのMS−Visio(登録商標)を利用して、専用のステンシルファイルを作成し、仕様書の作成とプログラムの開発を行うものとする。
【0050】
図9はステンシルファイルの内容の説明図である。ステンシルファイルとしては、図7で説明した各シェイプのパターンに対応して内部計器、入力処理シェイプ、EIウェハ(演算)、EIウェハ(計器)、命令後など各種のファイルが格納されており、図9の右側は内部計器のステンシルファイルに格納されているシェイプ、左側は命令語のファイルに格納されているシェイプの例を示している。
【0051】
本実施形態ではステンシルファイルを選択し、仕様書作成シートの左側に表示される格納シェイプ(マスタシェイプ)のうちで必要なシェイプを仕様書作成シート上にドラッグ&ドロップして、例えばツールバー上のコネクタツールを用いてシェイプの間の結線を行なうことによって、仕様書の作成が行なわれる。この時、例えば図9の右側に示すようにPID計器にもPID 1とPID 2との2種類があり、PID 1はエネルギー分野、PID 2は一般分野で使用すべきシェイプとして、制御内容にあわせてその選択が行なわれる。
【0052】
また前述のように本実施形態では命令語に対応するシェイプ、すなわち図8では浮動小数点加算や、浮動小数点減算など、図9では倍精度整数/浮動小数点変換など、仕様書作成にも用いられるが、プログラム開発にも利用できるシェイプのすべてがステンシルファイルとして格納されており、これらのシェイプを利用して仕様書としての図形情報を描画することによって、単なる狭い意味の仕様書を作成するだけでなく、その仕様書としての図形情報をそのままプログラム開発に利用することができる。すなわち、図3のステップS1で作成された仕様書に対して、ステップS2でプログラムコードの作成に必要な情報を追記し、その結果をコントローラに適合する形式に変換することによって、コントローラで利用できるプログラムの開発が自動的に可能となり、この点に本実施形態の最大の特徴がある。
【0053】
図10は仕様書作成過程におけるシェイプ間の結線処理の具体例の説明図である。同図において、左側で仕様書作成シート上に、PID計器シェイプとスイッチシェイプ(T)とがドラッグ&ドロップされ、右側に示すようにツールバー上でコネクタツールを選択することによってPIDシェイプとスイッチシェイプとの結線が行なわれる。
【0054】
このように内部計器、論理演算、四則演算、命令語などのシェイプをステンシルファイルからドラッグ&ドロップして使用することによって、仕様書作成シート上に計装ループ図、ロジック図、IBDなどの仕様書を作成することができるが、ステンシルファイルに格納されているシェイプは標準的な形式、すなわちマスタシェイプであり、本実施形態においては仕様書の編集機能を利用して制御の内容や図面の書式、例えばユーザによって信号の流れの方向を左から右の方向を基本とするか、上から下の方向を基本とするかなどの書式にあった形や表現に変更することができる。
【0055】
図11はそのような編集処理のフローチャートである。同図において処理が開始されると、ステップS41で任意のページ上にドロップされ、編集処理の対象となるシェイプがユーザによって右クリックされ、右側に示すようにそこにショートカットメニューが表示され、ステップS42でシェイプに対するプロパティ(BLVプロパティ)が選択され、ステップS43でプロパティ設定画面が表示される。
【0056】
ステップS44でその設定画面上で制御内容や図面書式に対応して、入力や出力の端子の数や、端子の位置などの設定が行なわれ、OKボタンが押され、ステップS45で設定内容がシェイプに反映され、ユーザが意図した形や表現にシェイプが変更されて処理を終了する。ここでシェイプの形とは左下のPIDを含む図形全体を示すものであり、表現とは例えば制御の分野に対応して図9で説明したPID−1とPID−2のいずれかを用いることに対応する。
【0057】
図12〜図14はこのようなシェイプ編集処理の具体例である。図12ではシェイプを反時計回りに90度回転させることによって、左側では下にある出力端子が右側に移動している。
【0058】
図13ではシェイプ上に表示されている情報を反時計回りに90度回転することによって、シェイプの上にあったその情報は左側に移されている。
図14ではマスタシェイプとして四角い形のシェイプに対して、例えばソフト情報定義のダイアログボックスを用いてラベル設定、アドレス設定、コメント設定が行なわれ、設定されたソフト情報がシェイプの上に表示されている。
【0059】
このように編集機能を用いることによってマスタシェイプ、すなわちデフォルトの状態から、シェイプの実行順序、モジュールナンバー、端子の接続位置、機能指定などを変更することによって、制御の内容にあわせてシェイプに対する入力数、出力数、シェイプの形、および表現を変更することができ、また図面の書式にあわせてシェイプの向き、接続点の位置、シェイプの形や表現の変更が可能となる。
【0060】
図15は図4における図形情報からテキストデータへの展開部27、およびテキストデータからマルチコントローラ対応データへの展開部29による、図形情報としての仕様書からバイバリーデータ定義ファイル、またはプログラムソースコードへのコンバート処理におけるコンバートエラー発生時の原因シェイプ検索処理のフローチャートである。ここでは仕様書としてのページ単位にコンバート処理が行われるものとする。まずステップS51で任意のページのコンバート処理が行なわれ、ステップS52でコンバートエラーが発生したか否かが判定され、発生していない場合にはそのページに対するコンバート処理を終了する。
【0061】
エラーが発生した場合には、ステップS53でエラーログファイルの参照が行なわれ、ステップS54でエラーの内容がシェイプに関連するものか否かが判定され、関連するものでない場合にはシェイプ検索処理を終了する。
【0062】
エラーの内容がシェイプに関連するものである場合には、ステップS55でログファイルの中に記載されているシェイプの識別番号(ID)が取得され、ステップS56でメニューのID検索においてIDナンバーが入力され、OKボタンが押され、ステップS57でエラー対象シェイプが選択表示されて、処理を終了する。
【0063】
図16はモニタ処理のフローチャート、すなわち図4の制御システムにおけるプログラム、および/またはバイナリーデータ定義ファイルを用いたコントローラ側でのプログラム実行結果を、プログラム仕様書作成兼プログラム開発装置側のディスプレイ画面上の仕様書に表示するモニタ処理のフローチャートである。
【0064】
図16において処理が開始されると、まずステップS61でモニタ処理の対象となるシートが仕様書定義シートであるか否かが判定され、定義シートでない場合には直ちに処理を終了する。定義シートである場合には、ステップS62で現在もモニタ処理中であるか否かが判定され、処理中である場合にも直ちに処理を終了する。
【0065】
モニタ中でない場合には、ステップS63でモニタすべきアドレスが設定済みであるか否か、すなわちモニタのために仕様書上のアドレスが収集されてモニタ用のデータベースに格納されているか否かが判定され、設定済でない場合にはモニタすべきアドレスがステップS64で設定された後に、設定済である場合には直ちにステップS65の処理に移行する。
【0066】
ステップS65では設定されたアドレスのデータがコントローラ側から読み出され、ステップS66で読み出されたデータがファイルに格納され、ステップS67でそのデータの値が前回読み出された値と等しくないか否かが判定され、等しくない場合にはステップS68で今回読み出された値にディスプレイ画面上に表示された変数の値などの表示の更新が行なわれた後に、読み出されたデータが前回の値と等しい場合には直ちにステップS69の処理に移行し、ステップS69ではリフレッシュ周期の後にこのモニタ処理のプログラムが再び起動されて、処理を終了する。
【0067】
図17および図18は仕様書上の1つのページにおける各シェイプの動作実行順序の自動割り付け処理のフローチャートである。例えばシーケンス制御においては、一般に各シェイプに対応する動作の実行順序がユーザ、すなわち仕様書設計者によって指定されるが、本実施形態ではその実行順序に対応する実行ナンバを自動的に割り付けたり、あるいはすでに割り付けられている実行ナンバに対して、シェイプの追加や削除が行なわれるときに、その再割り付け、すなわちリナンバ処理を自動的に実行することができる。
【0068】
図17において処理が開始されると、まずステップS71でナンバ割り付け、あるいはリナンバ処理の対象となる任意のページが開かれ、ステップS72でメニューの“実行ナンバ”から、ナンバの設定方法が最初に割り付けを行なう自動割り付けか、あるいはすでに割り付けられている実行ナンバの再割り付けとしてのリナンバ処理のいずれであるかが選択され、ステップS73でいずれの処理であるかが判定される。
【0069】
最初に実行ナンバを割り付ける自動割り付け処理である場合には、ステップS74で割り付けるべきナンバの先頭およびナンバの間隔は入力され、ナンバ設定ボタンが押される。ここでナンバ間隔が1である場合には、連続的にナンバが割り付けられることになる。
【0070】
その後ステップS75〜S78でそのページ上で全てのシェイプに対して調査が行なわれ、各シェイプが実行ナンバの入力が必須であるシェイプであるか否かが判定され、そのようなシェイプである場合には内部ファイルにシェイプの座標位置などの各種情報が格納される。ここで実行ナンバの入力が不必要なシェイプとしては、前述の入力シェイプのように、プログラムが作成される段階では他のシェイプにまとめられるシェイプがある。
【0071】
ステップS78で全てのシェイプに対する調査が終了したと判定されると、ステップS79で内部ファイル内のデータが座標位置を基にしてソートされる。すなわちページ上の左上から横方向にスキャンが行なわれ、右下に至るまでのデータを対象としてソートが行なわれる。
【0072】
その後ステップS80〜S82で、ソートされた順番にページ上のシェイプが検索され、該当するシェイプ、ここではページ上の全てのシェイプに実行ナンバが割り付けられる。この実行ナンバはステップS74で入力された先頭ナンバとナンバ間隔から求められる。そしてステップS82で、全てのシェイプに実行ナンバが割り付けられたと判定された時点で処理を終了する。
【0073】
図18は1つのページ上のシェイプに対するリナンバ処理のフローチャートである。同図は図17のステップS73でナンバ設定方法としてリナンバ処理と判定された場合に実行される処理のフローチャートである。
【0074】
図18においてまずステップS85で、リナンバ処理の対象となるシェイプの先頭ナンバ、ナンバ間隔および設定範囲が入力され、ナンバ設定ボタンが押される。例えば1つのページ上にナンバ1から20までのシェイプが存在し、ナンバ10とナンバ11の間に1つのシェイプを追加すべき場合には、先頭ナンバとして12、設定範囲として11〜20が入力される。
【0075】
続いてステップS86〜S89において、図17のステップS75〜S78と同様に、ページ上の全てのシェイプに対して実行ナンバ入力が必須のシェイプの各種の情報、ここではすでに入力済みの実行ナンバなどの格納が行われる。
【0076】
続いてステップS90において、内部ファイル内のデータが、すでに入力済みの実行ナンバを基として昇順にソートされ、ステップS91〜S94で図17のステップS80〜S82におけると同様にシェイプに対する実行ナンバの割り付けが行なわれるが、ここではステップS92ですでに入力済みの実行ナンバが今回のリナンバ処理の対象範囲でない場合には実行ナンバの割り付けは行なわれず、リナンバ対象範囲のシェイプに対してのみ、実行ナンバの再割り付けが行われて処理を終了する。
【0077】
なおシェイプの追加を行なう場合には、図18の処理終了後にシェイプを追加するか、あるいは図18の処理に先立ってシェイプ自体を追加しておき、処理終了後に実行ナンバを割り付けることになるが、削除を行なう場合には、図18の処理に先立ってシェイプの削除を行なうことができる。
【0078】
次に本実施形態におけるデータのクロスリファレンス方式、例えば仕様書が複数のページで構成される場合に、ページ相互間でのシェイプ対応データの相互関係を明らかにするクロスリファレンス機能について、図19〜図22を用いて説明する。
【0079】
図19は仕様書のページ相互間だけでなく、仕様書などと関連のある関連外部アプリケーションにおいて使用されている、あるラベル(変数)についてのクロスリファレンスの説明図である。同図において、仕様書と関連外部アプリケーションとは、アプリケーションオブジェクトによって関係付けられているものとする。
【0080】
図19においてラベル1についてのクロスリファレンスの関係としては、仕様書のプログラム1008の001ページでリード、同じくプログラム1008の002ページでライト、関連アプリケーション側のプログラム0001の101ページでライト、同じくプログラム0002の102ページでライト、およびリードというような関係がある。また仕様書の内部では、002ページで求められたラベル1の値が001ページで用いられており、ラベル1という変数に関しては、001ページは002ページからみて行先ページ、002ページは001ページからみて来先のページである。
【0081】
図20〜図21はこのクロスリファレンスの関係として行先ページ、来先ページをディスプレイ画面上に自動的に展開する機能の説明図である。図20は、異なるページにあって、同じラベル(1))1093Aに対応する読み込みシェイプと書込みシェイプとに対応するクロスリファレンスを示す取り合いの仕組みの説明図である。
【0082】
左側の読み込みシェイプ、すなわちラベル1093Aのデータを読み込むシェイプの自身の位置はページが4001、座標情報がB2であり、異なるページに存在し、データが書き込まれる書込みシェイプのページ(2))は0001であり、その座標情報(3))がA1であることが示されている。
【0083】
また異なるページにある書込みシェイプ側では、それ自身の位置がページ0001で座標情報がA1であり、データを読み込む相手側の読み込みシェイプのページ(2))が4001で座標情報(3))がB2であることが、取り合い相手の位置情報として表示されている。
【0084】
図21は図20の取り合いの仕組みで用いられる座標情報の説明図である。同図において、対象画面、すなわち0002ページ上の読み込みシェイプの取り合い相手側のシェイプが存在する画面に対応するページが0001であることが、またそのシェイプの存在位置としての座標情報が背景画面の枠につけられた横方向のA〜H、縦方向の1〜5によって指定され、取り合い相手側の0001ページに対応する画面上での1093Aのラベルを持つシェイプは座標情報としてA1を持つことが示されている。
【0085】
図22はこのクロスリファレンスの自動展開機能の例の説明図である。同図において、13ページにあるラベルAAAのシェイプの来先ページが18であり、その来先ページにおける、そのラベルに対応するシェイプの位置、すなわち座標情報がB3であることが示されている。また18ページに対応するラベルAAAに対しては、取り合い相手側として多数のシェイプが存在することがテーブルとして示されている。
【0086】
次に本実施形態において、仕様書側で使用されるデータベースと、前述の関連外部アプリケーション側で使用されるデータベースとの連携動作について図23、図24を用いて説明する。図23はコントローラのメモリ情報(ラベル等)を統一するためのデータベース連携方式の説明図である。同図において仕様書側と関連外部アプリケーション側で、それぞれコントローラメモリ情報としてデータベースにラベルと、アドレス、およびコメントの組がそれぞれ多数格納されている。
【0087】
連携動作の方式としては1)で、仕様書側で提供されるユーザインタフェースによってデータベース連携オブジェクトの発生が行なわれる。この場合、コントローラメモリ情報を統一する時にラベルを基準にするか、アドレスを基準にするかの選択が行なわれる。ここではアドレスを基準として、メモリ情報の統一が行なわれるものとする。
【0088】
次に2)で連携オブジェクトによって提供されるインタフェース、例えばマイクロソフトExcel(登録商標)によってメモリ情報を統一するための編集が行われる。この時、チョイスの項目によって仕様書側と関連外部アプリケーション側の情報のいずれを正とするかが設定され、ここではチョイスの値が1である仕様書側の情報が外部アプリケーション側に展開される。そしてその結果は3)でデータベース連携オブジェクトに対して連携メッセージとして通知される。なお、図23で2つのコントローラメモリ情報のDBとDB連携オブジェクトは図2のパソコン10側に備えられる。
【0089】
図24は図23で説明したようなデータベース連携方法のフローチャートである。同図において処理が開始されると、まずステップS101でメニューの中から両方のデータベースに対する一括読み込み、一括書込み、一括照合などのボタンが押され、ステップS102で仕様書側の連携範囲、すなわち何ページから何ページまでを関連外部アプリケーション側と連携するかという範囲が設定され、ステップS103で前述のようにラベル基準かアドレス基準かが選択され、実行ボタンが押される。
【0090】
ステップS104で補助情報不一致リスト、すなわち図23で2)DB編集の結果としてのチョイスの欄が追加されたリストが表示され、ステップS105で不一致リスト編集としてコメントの修正などが行われ、また仕様書のデータと外部アプリケーションのデータとのいずれを正、すなわちチョイスの値を1とするかが設定され、ステップS106で不一致リストに対応する書込みボタンが押され、ステップS107で不一致リストの編集結果がお互いのデータベースに反映されて、処理を終了する。
【0091】
以上において、本発明のプログラム仕様書作成兼プログラム開発装置、およびその方法について詳細を説明したが、この装置は図2で説明したように、一般的なコンピュータシステムとして構成することが可能である。図25はそのようなコンピュータシステム、すなわちハードウエア環境の構成ブロック図である。
【0092】
図25においてコンピュータシステムは中央処理装置(CPU)50、リードオンリメモリ(ROM)51、ランダムアクセスメモリ(RAM)52、通信インタフェース53、記憶装置54、入出力装置55、可搬型記憶媒体の読み取り装置56、およびこれらの全てが接続されたバス57によって構成されている。
【0093】
記憶装置54としてはハードディスク、磁気ディスクなど様々な形式の記憶装置を使用することができ、このような記憶装置54、またはROM51に図3、図5、図11、図15〜図18、図24などのフローチャートに示されたプログラムや、本発明の特許請求の範囲の請求項14,15のプログラムなどが格納され、そのようなプログラムがCPU50によって実行されることにより、本実施形態におけるプログラム仕様書作成、プログラム開発、およびコントローラ動作のモニタなどが可能となる。
【0094】
このようなプログラムは、プログラム提供者58側からネットワーク59、および通信インタフェース53を介して、例えば記憶装置54に格納されることも、また市販され、流通している可搬型記憶媒体60に格納され、読み取り装置56にセットされて、CPU50によって実行されることも可能である。可搬型記憶媒体60としてはCD−ROM、フレキシブルディスク、光ディスク、光磁気ディスクなど様々な形式の記憶媒体を使用することができ、このような記憶媒体に格納されたプログラムが読み取り装置56によって読み取られることにより、本実施形態におけるプログラム仕様書作成などが可能となる。
【0095】
図26はコントローラを対象とする、プログラム仕様書作成とプログラム開発の従来方式と、本発明の方式との比較の説明図である。従来方式では、まず機能仕様とそれに対応したソフトウエアの設計がワープロなどを用いて行なわれた後に、例えばローダを用いてソフト製作、デバッグ、および試験が行なわれ、更に試験結果に対応して、例えば機能仕様書の変更などのフォローが必要になるという複雑な作業が必要であった。
【0096】
これに対して本発明の方式では、例えばOAソフトウエアのMS−VISIO(登録商標)を用いて、専用ステンシルファイルに格納された仕様書作成およびプログラム開発のために使用可能な専用のシンボル、すなわちシェイプをディスプレイ画面上でドラッグ&ドロップして、図形情報としての、自由度の高い仕様書を作成することによって、容易にプログラムの開発を行うことができ、ユーザ、すなわち設計者の作業を大幅に削減することが可能となる。
【0097】
【発明の効果】
以上詳細に説明したように本発明によれば、PLCおよびDCSコントローラなどを対象とするアプリケーションプログラムの設計、製作、および試験作業の作業の効率を大幅に高めることができる。発明の詳細な効果としては、第1にOAソフトウエアを用いて計装ループ図、ロジック図、またはIBDなどの仕様書を書くことによって、容易に制御ソフトウエアを開発することができ、ローダや専用の支援ツールへのプログラムのインプットが不必要となり、人為的なミスが解消される。
【0098】
第2に制御ソフトウエアの変更時には、ループ図、ロジック図、またはIBDなどの仕様書を変更することによって、制御ソフトウエアを簡単に変更することができ、従来のように仕様書と、ローダや専用の支援ツールを用いて作成した制御ソフトウエアとの両方を変更する必要がなくなり、また制御ソフトウエアを先行で変更した場合の仕様書のフォローも不必要となる。
【0099】
第3にローダや専用の支援ツールの操作を習得しなくても、利用するOAソフトウエアの操作を知ることによって、ほとんどの操作が可能となる。
第4に専用のステンシルを備えているために容易に仕様書を作成することができる。また各シェイプに対する高度な編集機能を用いることによって型にはまらない自由な仕様書の記述が可能となる。
【0100】
第5に仕様書上で、各シェイプの入出力状態などを数値表示によってモニタリングすることができ、効果的な試験環境が提供される。
第6に基本命令、応用命令、マシン語が異なる別種類のコントローラであっても、仕様書作成シート上で作成された仕様書に従った動作を、シェイプ単位に設定された実行ナンバ順に実行することができる。
【0101】
第7に制御ソフトウエアの上で使用されている入出力信号などに対してクロスリファレンスをとることができ、信号の作成元や使用先を容易に確認できる。これによって同一メモリの2度書きなどを防止することができ、不具合を早期に発見することができる。更に各コントローラ専用の支援ツールとクロスリファレンスのデータを共有することが可能であり、エンジニアリング情報の一元管理を実現することができる。
【図面の簡単な説明】
【図1】本発明のプログラム仕様書作成兼プログラム開発装置の原理構成ブロック図である。
【図2】実施形態における制御システムの詳細構成ブロック図である。
【図3】仕様書作成からプログラム開発までの全体的なエンジニアリングフローチャートである。
【図4】本実施形態における制御システムの詳細構成ブロック図である。
【図5】図形情報からマルチコントローラ対応データまでの展開処理のフローチャートである。
【図6】バイナリーデータ定義ファイルの全体構成を示す図である。
【図7】各シェイプパターンの仕様を示す図である。
【図8】仕様書作成時のディスプレイ画面の例を示す図である。
【図9】ステンシルファイルの格納内容の例を示す図である。
【図10】シェイプ間の結線処理の例の説明図である。
【図11】シェイプ編集処理のフローチャートである。
【図12】シェイプ編集処理の例(その1)の説明図である。
【図13】シェイプ編集処理の例(その2)の説明図である。
【図14】シェイプ編集処理の例(その3)の説明図である。
【図15】コンバートエラー発生時の原因シェイプ検索処理のフローチャートである。
【図16】モニタ処理のフローチャートである。
【図17】実行ナンバ割り付け処理のフローチャート(その1)である。
【図18】実行ナンバ割り付け処理のフローチャート(その2)である。
【図19】ある変数(ラベル)についてのクロスリファレンスの説明図である。
【図20】クロスリファレンスとしての取り合いの仕組の説明図である。
【図21】図20における座標情報の説明図である。
【図22】クロスリファレンスの自動展開の例の説明図である。
【図23】外部アプリケーション側のデータベースとの連携動作の説明図である。
【図24】外部アプリケーション側のデータベースとの連携処理のフローチャートである。
【図25】本発明におけるプログラムのコンピュータへのローディングを説明する図である。
【図26】仕様書作成およびプログラム開発の従来方式と本発明方式の比較の説明図である。
【符号の説明】
1 プログラム仕様書作成兼プログラム開発装置
2 ステンシルファイル格納手段
3 ユーザ指示入力手段
4 仕様書
5 プログラム作成手段
10 パソコン
11 DCSコントローラ
12 PLCコントローラ
21 仕様書作成シート
22 ステンシル
23 シェイプ描画部
25 編集実行部
27 図形情報からテキストデータへの展開部
28 CSV形式テキストファイル
29 テキストデータからマルチコントローラ対応データへの展開部
30 バイナリーデータ定義ファイルまたはソースコード
33、34 バイナリーデータ定義ファイル
37、38 プログラム
43 コントローラ読み出しデータ格納ファイル
45 モニタ実行部
【発明の属する技術分野】
本発明は、制御システムにおけるコントローラのアプリケーションプログラム設計方式に係わり、更に詳しくは、例えばシーケンス制御システムなどにおける、コントローラを対象とするプログラムの設計時や、試験時に使用されるプログラム仕様書作成兼プログラム開発装置に関する。
【0002】
【従来の技術と発明が解決しようとする課題】
従来、制御システムのコントローラに対するプログラムの仕様書として計装ループ図(計装フローと同じ意味を持つ)、ロジック図、またはインターロックブロックダイヤグラム(IBD)などを作成する場合には、ワープロ、パソコン、あるいはその他OAツールを用いて仕様書が記述され、作成された仕様書に対応してローダ、またはパソコンに搭載されたプログラミング開発機能が使用され、プログラムが開発されてコントローラにインプットされて使用されていた。
【0003】
このような仕様書作成、およびプログラム開発に関して次のような文献がある。
【0004】
【特許文献1】
特開2002−258914号公報
「描画システム、プログラム開発システム、コントローラ、及びプログラム実行システム」
【特許文献2】
特開2002−323912号公報
「プログラム仕様書作成装置、作成方法およびシーケンス制御システム」
【0005】
【非特許文献1】
吉野、北村、藤澤「生産性と品質を向上させるエンジニアリング支援ツール」富士時報,Vol.74,No.9,2001.
特許文献1では、シーケンス制御のためのシーケンシャルファンクションチャート(SFC)のように、図面情報としての仕様書を作成する場合に、ディスプレイ画面上に表示されていないシンボルを、ディスプレイ画面上の正しい位置に容易に貼り付けることできる技術が開示されている。
【0006】
特許文献2、および非特許文献1では、SFCシーケンスの出力仕様書、インターロック仕様書を表形式で作成し、その表の中に多くの出力や移行条件、ジャンプ先などを可視化された形式で表現することによって、シーケンス仕様書の作成を容易とする技術が開示されている。
【0007】
しかしながらこのような従来方式においては、型にはまったプログラムについては各種の支援ツールを用いて、その作成を容易にすることが可能となったが、例えば表形式のように、あらかじめ仕様書作成のフォーマットが定められ、仕様書作成の自由度が必ずしも高くないという問題点があり、またソフトウェア開発の観点からも、より型にはまらない形式のプログラム開発が望まれるという問題点もあった。
【0008】
さらに、支援ツールの利用時にも専用シンボルが定義されて使用されることもあったが、そのようなシンボルについても汎用アプリケーションによって用意されている標準インタフェースを利用することができず、操作性が悪いという問題点と、専用シンボルに対する編集機能が不足しているという問題点があった。
【0009】
このため、フォーマットがあらかじめ定められていない、自由度の高い仕様書に対応するプログラム開発の段階を自動化することは困難であり、人間による作業が必要となり、時間が浪費され、バグが入り込む可能性があり、アプリケーションプログラムを利用したエンジニアリング業務の生産性と品質が低下するという問題点があった。
【0010】
また上記の仕様書に対応するプログラムを基本命令、応用命令、マシン語が異なる別種類のコントローラで動作させる場合には、その種類独特のソースコード、またはマシンコードに仕様書の内容を変換しなければならず、プログラム作成者の負担が大きくなるという問題点があった。
【0011】
本発明の課題は、上述の問題点に鑑み、仕様書作成およびプログラム開発のためのシンボルを専用ステンシルファイルとして備え、ディスプレイ画面上でユーザによって作成された仕様書に対するプログラム開発を容易とすることである。
【0012】
【課題を解決するための手段】
図1は本発明のプログラム仕様書作成兼プログラム開発装置1の原理構成ブロック図である。同図は、例えばシーケンス制御のコントローラを対象とするプログラム仕様書を作成し、またその作成された仕様書に対応するプログラムを開発する装置の原理構成ブロック図であり、装置1は少なくともステンシルファイル格納手段2、ユーザ指示入力手段3、およびプログラム作成手段5とを備える。
【0013】
ステンシルファイル格納手段2は、仕様書作成およびプログラム開発のために使用される専用のシンボルをステンシルファイルとして格納するものであり、ユーザ指示入力手段3は、ステンシルファイル格納手段2に格納されているシンボル、すなわちシェイプのディスプレイ画面上でのユーザによる選択と、その配置を含む仕様書作成およびプログラム開発のための指示を受け取るものである。
【0014】
プログラム作成手段5は、ステンシルファイル格納手段2の格納内容、およびユーザ指示入力手段3によって受け取られたユーザの指示に対応して作成された仕様書4から、コントローラによって実行可能なプログラム、および/またはデータ定義ファイルを作成するものである。
【0015】
ステンシルファイルに格納されている専用のシンボル(シェイプ)は、単に仕様書を図面として作成するために必要なシンボルだけではなく、基本的にはプログラムの開発に使用される命令語に対応するシンボルや、シンボル自体に制御情報を付加することができるものであり、このようなシンボルを用いて作成された仕様書4に対応して、プログラム作成に必要な情報を追記することによって、プログラム作成手段5によってコントローラを対象とするプログラムが自動的に開発される。
【0016】
発明の実施の形態においては、プログラム仕様書作成兼プログラム開発装置1が仕様書編集手段を更に備え、仕様書編集手段によってディスプレイ画面上でのシンボルに対する入力信号数、出力信号数、シンボルの形、および表現を制御の内容に対応して変更することも、またシンボルに対する信号の接続方向、シンボルの向き、形、および表現を図面の書式に対応して変更することもできる。
【0017】
また実施の形態においてプログラム作成手段5は、コントローラの種類に対応して、そのコントローラで実行可能な形式のプログラム、および/またはデータ定義ファイルを仕様書4から作成することもできる。
【0018】
実施の形態においては、仕様書4の各ページを単位として、そのページ上でシンボルが置かれる座標位置に対応して、シンボル単位の動作の実行順序の自動割り付けを行う実行順序設定手段を更に備えることもでき、この場合実行順序設定手段はシンボルの追加や削除に対応して、ページを単位として実行順序の自動再割り付けを行うこともできる。
【0019】
実施の形態においては、プログラム仕様書作成兼プログラム開発装置1が、仕様書上で使用されているシンボルにそれぞれ対応する識別番号を検索するシンボル検索手段を更に備え、プログラム作成手段5によるプログラム、および/またはデータ定義ファイルの作成時にエラーが発生した時、シンボル検索手段がそのエラー発生の原因のシンボルを検索することもできる。
【0020】
実施の形態においてプログラム仕様書作成兼プログラム開発装置1は、仕様書が複数のページによって構成される時に、各ぺージ上の信号の行先のページ、来先のページを含むページ間のシンボル対応データの相互関係を、クロスリファレンスデータとして作成するクロスリファレンスデータ作成手段を更に備えることもでき、また作成されたクロスリファレンスデータをディスプレイ画面上で作成された仕様書上に表示するクロスリファレンス表示手段を更に備えることもできる。
【0021】
更に実施の形態において、プログラム仕様書作成兼プログラム開発装置1は仕様書、プログラム、および/またはデータ定義ファイルの作成のために使用されるデータベースと、これらに関連する外部アプリケーションのために使用されるデータベースとを連携して制御するデータベース連携制御手段を更に備えることもできる。
【0022】
また本発明の制御システムは、コントローラとそのコントローラを対象とするプログラム仕様書作成兼プログラム開発装置1とによって構成され、装置1は前述のステンシルファイル格納手段2、ユーザ指示入力手段3およびプログラム作成手段5に加えて、仕様書のページ内でシンボル単位の動作の実行順序を設定する実行順序設定手段と、プログラム作成手段5によって作成されたプログラム、および/またはデータ定義ファイルの内容をコントローラにロードするプログラムロード手段とを更に備え、コントローラが、設定された動作実行順序でシンボル単位の動作を実行させる動作実行制御手段を備える。
【0023】
この制御システムの実施の形態においては、コントローラが、シンボル単位の動作の実行結果を読み出すモニタ手段を、またプログラム仕様書作成兼プログラム開発装置1が、読み出された動作実行結果をディスプレイ画面上に表示する表示手段を更に備えることもできる。
【0024】
本発明のプログラム仕様書作成およびプログラム開発方法においては、仕様書作成およびプログラム開発のために使用される専用シンボルのディスプレイ画面上でのユーザによる選択と、その配置を含む仕様書作成およびプログラム開発のための指示を受け取り、ディスプレイ画面上で作成された仕様書から、コントローラによって実行可能なプログラム、および/またはデータ定義ファイルを作成する方法が用いられる。
【0025】
またこの方法に対応するプログラムがコントローラを対象とするプログラム仕様書作成およびプログラム開発を行う計算機によって使用されることも、またそのようなプログラムを格納した計算機読み出し可能可搬型記憶媒体が計算機によって使用されることもできる。
【0026】
以上のように本発明によれば、仕様書作成およびプログラム開発のために使用される専用のシンボル(シェイプ)を用いてディスプレイ画面上で作成された仕様書から、コントローラを対象とするプログラムを容易に開発することが可能となる。
【0027】
【発明の実施の形態】
図2は本発明の実施形態における制御システムの基本構成図である。同図において制御システムは、プログラム仕様書作成兼プログラム開発装置としての役割を果たすパソコン10、例えばプラント全体の制御を行うための分散型制御システム(ディストリビューテッド・コントロール・システム:DCS)コントローラ11、およびシステム内で例えば機器単位の制御を行うプログラマブルロジックコントロール(PLC)コントローラ12から構成されている。
【0028】
図3は図2のシステムにおける仕様書作成から制御実行までの全体的なエンジニアリングフローチャートである。同図において、まずステップS1で図2のパソコン10のディスプレイ画面上で仕様書として(計装)ループ図、ロジック図、またはIBDなどが作成され、ステップS2で制御ソフトの作成のために必要な情報が追記され、ステップS3でコントローラの種別に対応したプログラム、およびバイナリーデータへの変換が行なわれ、ステップS4でそのプログラムとバイナリーデータ定義ファイルがコントローラにダウンロードされる。
【0029】
後述するようにダウンロードされたプログラム、およびバイナリーデータ定義ファイルを用いて、DCSコントローラ11、またはPLCコントローラ12によって制御ソフト、すなわちループ図、ロジック図、またはIBDに対応するソフトウエアがステップS5で実行され、その実行結果に対しては、パソコン10のディスプレイ画面における仕様書上で、ステップS6でオンラインモニタが行なわれる。
【0030】
図4は図2で説明したプログラム仕様書作成兼プログラム開発装置に相当するパソコン10と、2つのコントローラ11,12の機能構成を示す機能構成ブロック図である。
【0031】
図4において21はループ図、ロジック図、またはIBDなどの仕様書を作成するための仕様書作成シート、22は仕様書を作成するためのマスタシェイプを備えるステンシル、23は22から選択されたマスタシェイプをドラッグ&ドロップした時に、デフォルトの形に実際に描画するシェイプ描画部、24はシェイプを編集するためのショートカットメニュー、25は24で選択された編集指令により実際に編集を実行する編集実行部、26は21の図形情報をデータ化するコンバート指令を出すコンバートボタン、27は21の図形情報を28のCSV(コンマ・セパレーテッド・バリュー)形式テキストファイルに実際にコンバートする図形情報からテキストデータへの展開部、29は28から30のバイナリーデータ定義ファイルorソースコードに実際にコンバートするテキストデータからマルチコントローラ対応データへの展開部、31と32は、対象とするコントローラへ30をローディングする定義データロード部である。
【0032】
33と34はコントローラの中にロードされたバイナリーデータ定義ファイル、37と38は同様にロードされたプログラム、35は33のデータを解析しDCSコントローラの中で21で作成された仕様書と同じ動作をシェイプ単位に設定された実行No.順に実行させるDCS用データ解析部、36は34のデータを解析しPLCコントローラの中で21で作成された仕様書と同じ動作をシェイプ単位に設定された実行No.順に実行させるPLC用データ解析部、39と40はシェイプの入出力の状態が格納されているシェイプ入出力ファイル、41と42は対象とするコントローラからデータを読み出すコントローラデータ読み出し部、43はコントローラから読み出されたデータを格納するコントローラ読み出しデータ格納ファイル、44はモニタ指令を出すモニタボタン、45は44のモニタ指令により実際に21のシェイプの入出力の状態表示を行なうモニタ実行部である。
【0033】
ユーザが、図4の仕様書作成シート21上にステンシル22の中から描画したいマスタシェイプをドラッグ&ドロップし、これを結線して仕様書を作成する。シートとしてのページは仕様書としての位置付けのため、ページ上にはコメントやビットマップ等の形式の画像ファイルを貼り付けることが出来る。またドラッグ&ドロップされたシェイプに対しては、ショートカットメニュー24により、制御の内容にあった、または図面の書式にあったシェイプに変更が出来る。仕様書の作成が終わったら、ページ上に制御ソフトに必要な情報を追記後、コンバートボタン26を押すことにより、図形情報からテキストデータへの展開部27が動作し、CSV形式テキストファイル28が生成される。また連続してテキストデータからマルチコントローラ対応データへの展開部29が起動され、バイナリーデータ定義ファイルorソースコード30が生成される。
【0034】
DCSコントローラで動作させる場合、DCSコントローラ定義データロード部31が起動され、バイナリーデータ定義ファイルorソースコード30がDCSコントローラにロードされる。バイナリーデータ定義ファイルの場合は、予めロードされているDCS用データ解析部35によってコントローラ内のバイナリーデータ定義ファイル33が解析され、またソースコードの場合はプログラム37が動作し、仕様書作成シート21で作成された仕様書と同じ動作がシェイプ単位に設定された実行No.順に実行される。その際シェイプ入出力ファイル39にシェイプの入出力状態が出力される。
【0035】
PLCコントローラで動作させる場合、PLCコントローラ定義データロード部32が起動され、バイナリーデータ定義ファイルorソースコード30がPLCコントローラにロードされる。バイナリーデータ定義ファイの場合は予めロードされているPLC用データ解析部36によってコントローラ内のバイナリーデータ定義ファイル34が解析され、またソースコードの場合はプログラム38が動作し、仕様書作成シート21で作成された仕様書と同じ動作が、シェイプ単位に設定された実行No.順に実行される。その際シェイプ入出力ファイル40にシェイプの入出力状態が出力される。
【0036】
実行中の制御ソフトをモニタする場合は、モニタボタン44でモニタ指令を出すことにより、モニタ実行部45が起動され、コントローラ読み出しデータ格納ファイル43のデータにより仕様書作成シート21のシェイプの入出力状態が数値表示される。その際に、DCSコントローラと接続されている場合は、DCSコントローラデータ読み出し部41によって、シェイプ入出力ファイル39からデータが読み出される。また、PLCコントローラと接続されている場合は、PLCコントローラデータ読み出し部42によって、シェイプ入出力ファイル40からデータが読み出される。
【0037】
図5は図4の図形情報からテキストデータへの展開部27と、テキストデータからマルチコントローラ対応データへの展開部29による処理のフローチャートである。同図において処理が開始されると、まずステップS11で図形情報の構成オブジェクトが取得され、ステップS12で図形情報内の各シェイプの情報の取得とリソースの割り付けが行なわれ、ステップS13でこれらの処理結果に対応するCSV(コンマ セパレーテッド バリュー)ファイルが出力され、ステップS14で致命的エラーの存在がチェックされ、エラーが検出された場合、例えば何らかの理由であるシェイプに対する情報が取得できなかったような場合には、ステップS15でエラー表示が行なわれ、処理を終了する。
【0038】
ステップS14で致命的エラーがない場合には、ステップS16で図形的接続情報、例えばシェイプの図形に対する信号接続端子などの情報が取得され、ステップS17でCSVが出力され、ステップS18で致命的エラーの存在がチェックされ、エラーが存在する場合にはステップS19でエラー表示が行なわれて処理を終了する。
【0039】
ステップS18でエラーが存在しない場合には、ステップS20でコネクタ両端情報、例えばコネクタ両端の接続に関する情報が取得され、ステップS21でその分に対するCSVファイルが出力され、ステップS22で致命的エラーの存在がチェックされ、エラーが存在する場合にはステップS23でエラー表示が行なわれ、処理を終了する。
【0040】
ステップS22でエラーが存在しない場合には、ステップS24でコネクタ両端情報から分岐を含むものが分別され、ステップS25でその分に対するCSVファイルが出力され、ステップS26で致命的エラーの存在がチェックされ、エラーがある場合にはステップS27でエラー表示が行なわれ、処理を終了する。
【0041】
ステップS26で致命的エラーが存在しない場合には、ステップS28で分岐情報が計算され、意味的接続情報、すなわちソフトウエアコードの作成のためのブレークダウンした情報が設定され、ステップS29でその分に対するCSVファイルが出力され、ステップS30で致命的エラーがチェックされ、エラーが存在する場合にはステップS31でエラー表示が行なわれ、処理を終了する。
【0042】
ステップS30で致命的エラーが存在しない場合には、ステップS32で完成したCSVファイル、すなわち図4のCSV形式テキストファイル28が読み込まれ、ステップS33でアドレス、すなわちコントローラメモリのアドレス、およびシェイプ別のパラメータの計算が行なわれ、ステップS34でバイナリーデータまたはソースコードのファイルが出力され、ステップS35で致命的エラーのチェックが行なわれ、エラーがある場合にはステップS36でエラー表示が行なわれて処理を終了し、エラーが存在しない場合にはステップS37で以上の処理に対応するログ表示が行なわれて処理を終了する。
【0043】
なお図5では部分的な図形情報の取得毎にCSVファイルの出力が行なわれるものとしたが、ステップS28の処理の後に一括してCSVファイルの出力を行なうことも当然可能である。
【0044】
図6および図7は、図5のステップS34で出力され、コントローラにロードされた、図4のバイナリーデータ定義ファイル33、または34のファイル仕様を示す。図6はファイルの全体構成を示し、1〜Xのページで全体が構成されている。ここではページの最大数は416である。
【0045】
各ページに対してはページのナンバー、サイズ、ページに含まれるシェイプの数などに加えて、ロジックを含む計装フローのデータが格納される。そしてこの計装フローの内部に含まれるY個のシェイプのそれぞれに対して、シェイプパターンがシェイプの動作の実行ナンバー順に格納される。
【0046】
図7は各シェイプパターンの仕様である。各シェイプパターンは内部計器から追加機能までのそれぞれに対して仕様が異なっている。内部計器に対しては、その種類がモジュールナンバーで指定され、各内部計器に対してはn個の機能のうち、いずれかの機能が指定される。
【0047】
例えば入力シェイプは、仕様書としての図形情報の段階で使用されるものであり、プログラムコードとしてコントローラにロードされる時点では省略されて、対応する各シェイプに一体とされるものである。EIウェハの“EI”は電気計装を表し、演算用のウェハと計器用のウェハとがある。また後述するように命令語のシェイプもあり、このようなシェイプのすべては仕様書作成にも用いられるが、プログラム開発のために使用される点に本発明の特徴がある。
【0048】
続いて仕様書作成およびプログラム開発について、仕様書作成シートの具体例を用いて説明する。図8は仕様書作成シートを含む仕様書作成時のディスプレイ画面の具体例である。同図においては仕様書として、PID計器を含む計装ループ図の作成中の画面が示され、左側には仕様書作成およびプログラム開発に用いられるステンシルファイルの一部のシェイプが示されている。さらに画面の右上にはロジック図が示されている。
【0049】
なお本実施形態では、例えばOAソフトウエア(グラフィックスソフト)としてのMS−Visio(登録商標)を利用して、専用のステンシルファイルを作成し、仕様書の作成とプログラムの開発を行うものとする。
【0050】
図9はステンシルファイルの内容の説明図である。ステンシルファイルとしては、図7で説明した各シェイプのパターンに対応して内部計器、入力処理シェイプ、EIウェハ(演算)、EIウェハ(計器)、命令後など各種のファイルが格納されており、図9の右側は内部計器のステンシルファイルに格納されているシェイプ、左側は命令語のファイルに格納されているシェイプの例を示している。
【0051】
本実施形態ではステンシルファイルを選択し、仕様書作成シートの左側に表示される格納シェイプ(マスタシェイプ)のうちで必要なシェイプを仕様書作成シート上にドラッグ&ドロップして、例えばツールバー上のコネクタツールを用いてシェイプの間の結線を行なうことによって、仕様書の作成が行なわれる。この時、例えば図9の右側に示すようにPID計器にもPID 1とPID 2との2種類があり、PID 1はエネルギー分野、PID 2は一般分野で使用すべきシェイプとして、制御内容にあわせてその選択が行なわれる。
【0052】
また前述のように本実施形態では命令語に対応するシェイプ、すなわち図8では浮動小数点加算や、浮動小数点減算など、図9では倍精度整数/浮動小数点変換など、仕様書作成にも用いられるが、プログラム開発にも利用できるシェイプのすべてがステンシルファイルとして格納されており、これらのシェイプを利用して仕様書としての図形情報を描画することによって、単なる狭い意味の仕様書を作成するだけでなく、その仕様書としての図形情報をそのままプログラム開発に利用することができる。すなわち、図3のステップS1で作成された仕様書に対して、ステップS2でプログラムコードの作成に必要な情報を追記し、その結果をコントローラに適合する形式に変換することによって、コントローラで利用できるプログラムの開発が自動的に可能となり、この点に本実施形態の最大の特徴がある。
【0053】
図10は仕様書作成過程におけるシェイプ間の結線処理の具体例の説明図である。同図において、左側で仕様書作成シート上に、PID計器シェイプとスイッチシェイプ(T)とがドラッグ&ドロップされ、右側に示すようにツールバー上でコネクタツールを選択することによってPIDシェイプとスイッチシェイプとの結線が行なわれる。
【0054】
このように内部計器、論理演算、四則演算、命令語などのシェイプをステンシルファイルからドラッグ&ドロップして使用することによって、仕様書作成シート上に計装ループ図、ロジック図、IBDなどの仕様書を作成することができるが、ステンシルファイルに格納されているシェイプは標準的な形式、すなわちマスタシェイプであり、本実施形態においては仕様書の編集機能を利用して制御の内容や図面の書式、例えばユーザによって信号の流れの方向を左から右の方向を基本とするか、上から下の方向を基本とするかなどの書式にあった形や表現に変更することができる。
【0055】
図11はそのような編集処理のフローチャートである。同図において処理が開始されると、ステップS41で任意のページ上にドロップされ、編集処理の対象となるシェイプがユーザによって右クリックされ、右側に示すようにそこにショートカットメニューが表示され、ステップS42でシェイプに対するプロパティ(BLVプロパティ)が選択され、ステップS43でプロパティ設定画面が表示される。
【0056】
ステップS44でその設定画面上で制御内容や図面書式に対応して、入力や出力の端子の数や、端子の位置などの設定が行なわれ、OKボタンが押され、ステップS45で設定内容がシェイプに反映され、ユーザが意図した形や表現にシェイプが変更されて処理を終了する。ここでシェイプの形とは左下のPIDを含む図形全体を示すものであり、表現とは例えば制御の分野に対応して図9で説明したPID−1とPID−2のいずれかを用いることに対応する。
【0057】
図12〜図14はこのようなシェイプ編集処理の具体例である。図12ではシェイプを反時計回りに90度回転させることによって、左側では下にある出力端子が右側に移動している。
【0058】
図13ではシェイプ上に表示されている情報を反時計回りに90度回転することによって、シェイプの上にあったその情報は左側に移されている。
図14ではマスタシェイプとして四角い形のシェイプに対して、例えばソフト情報定義のダイアログボックスを用いてラベル設定、アドレス設定、コメント設定が行なわれ、設定されたソフト情報がシェイプの上に表示されている。
【0059】
このように編集機能を用いることによってマスタシェイプ、すなわちデフォルトの状態から、シェイプの実行順序、モジュールナンバー、端子の接続位置、機能指定などを変更することによって、制御の内容にあわせてシェイプに対する入力数、出力数、シェイプの形、および表現を変更することができ、また図面の書式にあわせてシェイプの向き、接続点の位置、シェイプの形や表現の変更が可能となる。
【0060】
図15は図4における図形情報からテキストデータへの展開部27、およびテキストデータからマルチコントローラ対応データへの展開部29による、図形情報としての仕様書からバイバリーデータ定義ファイル、またはプログラムソースコードへのコンバート処理におけるコンバートエラー発生時の原因シェイプ検索処理のフローチャートである。ここでは仕様書としてのページ単位にコンバート処理が行われるものとする。まずステップS51で任意のページのコンバート処理が行なわれ、ステップS52でコンバートエラーが発生したか否かが判定され、発生していない場合にはそのページに対するコンバート処理を終了する。
【0061】
エラーが発生した場合には、ステップS53でエラーログファイルの参照が行なわれ、ステップS54でエラーの内容がシェイプに関連するものか否かが判定され、関連するものでない場合にはシェイプ検索処理を終了する。
【0062】
エラーの内容がシェイプに関連するものである場合には、ステップS55でログファイルの中に記載されているシェイプの識別番号(ID)が取得され、ステップS56でメニューのID検索においてIDナンバーが入力され、OKボタンが押され、ステップS57でエラー対象シェイプが選択表示されて、処理を終了する。
【0063】
図16はモニタ処理のフローチャート、すなわち図4の制御システムにおけるプログラム、および/またはバイナリーデータ定義ファイルを用いたコントローラ側でのプログラム実行結果を、プログラム仕様書作成兼プログラム開発装置側のディスプレイ画面上の仕様書に表示するモニタ処理のフローチャートである。
【0064】
図16において処理が開始されると、まずステップS61でモニタ処理の対象となるシートが仕様書定義シートであるか否かが判定され、定義シートでない場合には直ちに処理を終了する。定義シートである場合には、ステップS62で現在もモニタ処理中であるか否かが判定され、処理中である場合にも直ちに処理を終了する。
【0065】
モニタ中でない場合には、ステップS63でモニタすべきアドレスが設定済みであるか否か、すなわちモニタのために仕様書上のアドレスが収集されてモニタ用のデータベースに格納されているか否かが判定され、設定済でない場合にはモニタすべきアドレスがステップS64で設定された後に、設定済である場合には直ちにステップS65の処理に移行する。
【0066】
ステップS65では設定されたアドレスのデータがコントローラ側から読み出され、ステップS66で読み出されたデータがファイルに格納され、ステップS67でそのデータの値が前回読み出された値と等しくないか否かが判定され、等しくない場合にはステップS68で今回読み出された値にディスプレイ画面上に表示された変数の値などの表示の更新が行なわれた後に、読み出されたデータが前回の値と等しい場合には直ちにステップS69の処理に移行し、ステップS69ではリフレッシュ周期の後にこのモニタ処理のプログラムが再び起動されて、処理を終了する。
【0067】
図17および図18は仕様書上の1つのページにおける各シェイプの動作実行順序の自動割り付け処理のフローチャートである。例えばシーケンス制御においては、一般に各シェイプに対応する動作の実行順序がユーザ、すなわち仕様書設計者によって指定されるが、本実施形態ではその実行順序に対応する実行ナンバを自動的に割り付けたり、あるいはすでに割り付けられている実行ナンバに対して、シェイプの追加や削除が行なわれるときに、その再割り付け、すなわちリナンバ処理を自動的に実行することができる。
【0068】
図17において処理が開始されると、まずステップS71でナンバ割り付け、あるいはリナンバ処理の対象となる任意のページが開かれ、ステップS72でメニューの“実行ナンバ”から、ナンバの設定方法が最初に割り付けを行なう自動割り付けか、あるいはすでに割り付けられている実行ナンバの再割り付けとしてのリナンバ処理のいずれであるかが選択され、ステップS73でいずれの処理であるかが判定される。
【0069】
最初に実行ナンバを割り付ける自動割り付け処理である場合には、ステップS74で割り付けるべきナンバの先頭およびナンバの間隔は入力され、ナンバ設定ボタンが押される。ここでナンバ間隔が1である場合には、連続的にナンバが割り付けられることになる。
【0070】
その後ステップS75〜S78でそのページ上で全てのシェイプに対して調査が行なわれ、各シェイプが実行ナンバの入力が必須であるシェイプであるか否かが判定され、そのようなシェイプである場合には内部ファイルにシェイプの座標位置などの各種情報が格納される。ここで実行ナンバの入力が不必要なシェイプとしては、前述の入力シェイプのように、プログラムが作成される段階では他のシェイプにまとめられるシェイプがある。
【0071】
ステップS78で全てのシェイプに対する調査が終了したと判定されると、ステップS79で内部ファイル内のデータが座標位置を基にしてソートされる。すなわちページ上の左上から横方向にスキャンが行なわれ、右下に至るまでのデータを対象としてソートが行なわれる。
【0072】
その後ステップS80〜S82で、ソートされた順番にページ上のシェイプが検索され、該当するシェイプ、ここではページ上の全てのシェイプに実行ナンバが割り付けられる。この実行ナンバはステップS74で入力された先頭ナンバとナンバ間隔から求められる。そしてステップS82で、全てのシェイプに実行ナンバが割り付けられたと判定された時点で処理を終了する。
【0073】
図18は1つのページ上のシェイプに対するリナンバ処理のフローチャートである。同図は図17のステップS73でナンバ設定方法としてリナンバ処理と判定された場合に実行される処理のフローチャートである。
【0074】
図18においてまずステップS85で、リナンバ処理の対象となるシェイプの先頭ナンバ、ナンバ間隔および設定範囲が入力され、ナンバ設定ボタンが押される。例えば1つのページ上にナンバ1から20までのシェイプが存在し、ナンバ10とナンバ11の間に1つのシェイプを追加すべき場合には、先頭ナンバとして12、設定範囲として11〜20が入力される。
【0075】
続いてステップS86〜S89において、図17のステップS75〜S78と同様に、ページ上の全てのシェイプに対して実行ナンバ入力が必須のシェイプの各種の情報、ここではすでに入力済みの実行ナンバなどの格納が行われる。
【0076】
続いてステップS90において、内部ファイル内のデータが、すでに入力済みの実行ナンバを基として昇順にソートされ、ステップS91〜S94で図17のステップS80〜S82におけると同様にシェイプに対する実行ナンバの割り付けが行なわれるが、ここではステップS92ですでに入力済みの実行ナンバが今回のリナンバ処理の対象範囲でない場合には実行ナンバの割り付けは行なわれず、リナンバ対象範囲のシェイプに対してのみ、実行ナンバの再割り付けが行われて処理を終了する。
【0077】
なおシェイプの追加を行なう場合には、図18の処理終了後にシェイプを追加するか、あるいは図18の処理に先立ってシェイプ自体を追加しておき、処理終了後に実行ナンバを割り付けることになるが、削除を行なう場合には、図18の処理に先立ってシェイプの削除を行なうことができる。
【0078】
次に本実施形態におけるデータのクロスリファレンス方式、例えば仕様書が複数のページで構成される場合に、ページ相互間でのシェイプ対応データの相互関係を明らかにするクロスリファレンス機能について、図19〜図22を用いて説明する。
【0079】
図19は仕様書のページ相互間だけでなく、仕様書などと関連のある関連外部アプリケーションにおいて使用されている、あるラベル(変数)についてのクロスリファレンスの説明図である。同図において、仕様書と関連外部アプリケーションとは、アプリケーションオブジェクトによって関係付けられているものとする。
【0080】
図19においてラベル1についてのクロスリファレンスの関係としては、仕様書のプログラム1008の001ページでリード、同じくプログラム1008の002ページでライト、関連アプリケーション側のプログラム0001の101ページでライト、同じくプログラム0002の102ページでライト、およびリードというような関係がある。また仕様書の内部では、002ページで求められたラベル1の値が001ページで用いられており、ラベル1という変数に関しては、001ページは002ページからみて行先ページ、002ページは001ページからみて来先のページである。
【0081】
図20〜図21はこのクロスリファレンスの関係として行先ページ、来先ページをディスプレイ画面上に自動的に展開する機能の説明図である。図20は、異なるページにあって、同じラベル(1))1093Aに対応する読み込みシェイプと書込みシェイプとに対応するクロスリファレンスを示す取り合いの仕組みの説明図である。
【0082】
左側の読み込みシェイプ、すなわちラベル1093Aのデータを読み込むシェイプの自身の位置はページが4001、座標情報がB2であり、異なるページに存在し、データが書き込まれる書込みシェイプのページ(2))は0001であり、その座標情報(3))がA1であることが示されている。
【0083】
また異なるページにある書込みシェイプ側では、それ自身の位置がページ0001で座標情報がA1であり、データを読み込む相手側の読み込みシェイプのページ(2))が4001で座標情報(3))がB2であることが、取り合い相手の位置情報として表示されている。
【0084】
図21は図20の取り合いの仕組みで用いられる座標情報の説明図である。同図において、対象画面、すなわち0002ページ上の読み込みシェイプの取り合い相手側のシェイプが存在する画面に対応するページが0001であることが、またそのシェイプの存在位置としての座標情報が背景画面の枠につけられた横方向のA〜H、縦方向の1〜5によって指定され、取り合い相手側の0001ページに対応する画面上での1093Aのラベルを持つシェイプは座標情報としてA1を持つことが示されている。
【0085】
図22はこのクロスリファレンスの自動展開機能の例の説明図である。同図において、13ページにあるラベルAAAのシェイプの来先ページが18であり、その来先ページにおける、そのラベルに対応するシェイプの位置、すなわち座標情報がB3であることが示されている。また18ページに対応するラベルAAAに対しては、取り合い相手側として多数のシェイプが存在することがテーブルとして示されている。
【0086】
次に本実施形態において、仕様書側で使用されるデータベースと、前述の関連外部アプリケーション側で使用されるデータベースとの連携動作について図23、図24を用いて説明する。図23はコントローラのメモリ情報(ラベル等)を統一するためのデータベース連携方式の説明図である。同図において仕様書側と関連外部アプリケーション側で、それぞれコントローラメモリ情報としてデータベースにラベルと、アドレス、およびコメントの組がそれぞれ多数格納されている。
【0087】
連携動作の方式としては1)で、仕様書側で提供されるユーザインタフェースによってデータベース連携オブジェクトの発生が行なわれる。この場合、コントローラメモリ情報を統一する時にラベルを基準にするか、アドレスを基準にするかの選択が行なわれる。ここではアドレスを基準として、メモリ情報の統一が行なわれるものとする。
【0088】
次に2)で連携オブジェクトによって提供されるインタフェース、例えばマイクロソフトExcel(登録商標)によってメモリ情報を統一するための編集が行われる。この時、チョイスの項目によって仕様書側と関連外部アプリケーション側の情報のいずれを正とするかが設定され、ここではチョイスの値が1である仕様書側の情報が外部アプリケーション側に展開される。そしてその結果は3)でデータベース連携オブジェクトに対して連携メッセージとして通知される。なお、図23で2つのコントローラメモリ情報のDBとDB連携オブジェクトは図2のパソコン10側に備えられる。
【0089】
図24は図23で説明したようなデータベース連携方法のフローチャートである。同図において処理が開始されると、まずステップS101でメニューの中から両方のデータベースに対する一括読み込み、一括書込み、一括照合などのボタンが押され、ステップS102で仕様書側の連携範囲、すなわち何ページから何ページまでを関連外部アプリケーション側と連携するかという範囲が設定され、ステップS103で前述のようにラベル基準かアドレス基準かが選択され、実行ボタンが押される。
【0090】
ステップS104で補助情報不一致リスト、すなわち図23で2)DB編集の結果としてのチョイスの欄が追加されたリストが表示され、ステップS105で不一致リスト編集としてコメントの修正などが行われ、また仕様書のデータと外部アプリケーションのデータとのいずれを正、すなわちチョイスの値を1とするかが設定され、ステップS106で不一致リストに対応する書込みボタンが押され、ステップS107で不一致リストの編集結果がお互いのデータベースに反映されて、処理を終了する。
【0091】
以上において、本発明のプログラム仕様書作成兼プログラム開発装置、およびその方法について詳細を説明したが、この装置は図2で説明したように、一般的なコンピュータシステムとして構成することが可能である。図25はそのようなコンピュータシステム、すなわちハードウエア環境の構成ブロック図である。
【0092】
図25においてコンピュータシステムは中央処理装置(CPU)50、リードオンリメモリ(ROM)51、ランダムアクセスメモリ(RAM)52、通信インタフェース53、記憶装置54、入出力装置55、可搬型記憶媒体の読み取り装置56、およびこれらの全てが接続されたバス57によって構成されている。
【0093】
記憶装置54としてはハードディスク、磁気ディスクなど様々な形式の記憶装置を使用することができ、このような記憶装置54、またはROM51に図3、図5、図11、図15〜図18、図24などのフローチャートに示されたプログラムや、本発明の特許請求の範囲の請求項14,15のプログラムなどが格納され、そのようなプログラムがCPU50によって実行されることにより、本実施形態におけるプログラム仕様書作成、プログラム開発、およびコントローラ動作のモニタなどが可能となる。
【0094】
このようなプログラムは、プログラム提供者58側からネットワーク59、および通信インタフェース53を介して、例えば記憶装置54に格納されることも、また市販され、流通している可搬型記憶媒体60に格納され、読み取り装置56にセットされて、CPU50によって実行されることも可能である。可搬型記憶媒体60としてはCD−ROM、フレキシブルディスク、光ディスク、光磁気ディスクなど様々な形式の記憶媒体を使用することができ、このような記憶媒体に格納されたプログラムが読み取り装置56によって読み取られることにより、本実施形態におけるプログラム仕様書作成などが可能となる。
【0095】
図26はコントローラを対象とする、プログラム仕様書作成とプログラム開発の従来方式と、本発明の方式との比較の説明図である。従来方式では、まず機能仕様とそれに対応したソフトウエアの設計がワープロなどを用いて行なわれた後に、例えばローダを用いてソフト製作、デバッグ、および試験が行なわれ、更に試験結果に対応して、例えば機能仕様書の変更などのフォローが必要になるという複雑な作業が必要であった。
【0096】
これに対して本発明の方式では、例えばOAソフトウエアのMS−VISIO(登録商標)を用いて、専用ステンシルファイルに格納された仕様書作成およびプログラム開発のために使用可能な専用のシンボル、すなわちシェイプをディスプレイ画面上でドラッグ&ドロップして、図形情報としての、自由度の高い仕様書を作成することによって、容易にプログラムの開発を行うことができ、ユーザ、すなわち設計者の作業を大幅に削減することが可能となる。
【0097】
【発明の効果】
以上詳細に説明したように本発明によれば、PLCおよびDCSコントローラなどを対象とするアプリケーションプログラムの設計、製作、および試験作業の作業の効率を大幅に高めることができる。発明の詳細な効果としては、第1にOAソフトウエアを用いて計装ループ図、ロジック図、またはIBDなどの仕様書を書くことによって、容易に制御ソフトウエアを開発することができ、ローダや専用の支援ツールへのプログラムのインプットが不必要となり、人為的なミスが解消される。
【0098】
第2に制御ソフトウエアの変更時には、ループ図、ロジック図、またはIBDなどの仕様書を変更することによって、制御ソフトウエアを簡単に変更することができ、従来のように仕様書と、ローダや専用の支援ツールを用いて作成した制御ソフトウエアとの両方を変更する必要がなくなり、また制御ソフトウエアを先行で変更した場合の仕様書のフォローも不必要となる。
【0099】
第3にローダや専用の支援ツールの操作を習得しなくても、利用するOAソフトウエアの操作を知ることによって、ほとんどの操作が可能となる。
第4に専用のステンシルを備えているために容易に仕様書を作成することができる。また各シェイプに対する高度な編集機能を用いることによって型にはまらない自由な仕様書の記述が可能となる。
【0100】
第5に仕様書上で、各シェイプの入出力状態などを数値表示によってモニタリングすることができ、効果的な試験環境が提供される。
第6に基本命令、応用命令、マシン語が異なる別種類のコントローラであっても、仕様書作成シート上で作成された仕様書に従った動作を、シェイプ単位に設定された実行ナンバ順に実行することができる。
【0101】
第7に制御ソフトウエアの上で使用されている入出力信号などに対してクロスリファレンスをとることができ、信号の作成元や使用先を容易に確認できる。これによって同一メモリの2度書きなどを防止することができ、不具合を早期に発見することができる。更に各コントローラ専用の支援ツールとクロスリファレンスのデータを共有することが可能であり、エンジニアリング情報の一元管理を実現することができる。
【図面の簡単な説明】
【図1】本発明のプログラム仕様書作成兼プログラム開発装置の原理構成ブロック図である。
【図2】実施形態における制御システムの詳細構成ブロック図である。
【図3】仕様書作成からプログラム開発までの全体的なエンジニアリングフローチャートである。
【図4】本実施形態における制御システムの詳細構成ブロック図である。
【図5】図形情報からマルチコントローラ対応データまでの展開処理のフローチャートである。
【図6】バイナリーデータ定義ファイルの全体構成を示す図である。
【図7】各シェイプパターンの仕様を示す図である。
【図8】仕様書作成時のディスプレイ画面の例を示す図である。
【図9】ステンシルファイルの格納内容の例を示す図である。
【図10】シェイプ間の結線処理の例の説明図である。
【図11】シェイプ編集処理のフローチャートである。
【図12】シェイプ編集処理の例(その1)の説明図である。
【図13】シェイプ編集処理の例(その2)の説明図である。
【図14】シェイプ編集処理の例(その3)の説明図である。
【図15】コンバートエラー発生時の原因シェイプ検索処理のフローチャートである。
【図16】モニタ処理のフローチャートである。
【図17】実行ナンバ割り付け処理のフローチャート(その1)である。
【図18】実行ナンバ割り付け処理のフローチャート(その2)である。
【図19】ある変数(ラベル)についてのクロスリファレンスの説明図である。
【図20】クロスリファレンスとしての取り合いの仕組の説明図である。
【図21】図20における座標情報の説明図である。
【図22】クロスリファレンスの自動展開の例の説明図である。
【図23】外部アプリケーション側のデータベースとの連携動作の説明図である。
【図24】外部アプリケーション側のデータベースとの連携処理のフローチャートである。
【図25】本発明におけるプログラムのコンピュータへのローディングを説明する図である。
【図26】仕様書作成およびプログラム開発の従来方式と本発明方式の比較の説明図である。
【符号の説明】
1 プログラム仕様書作成兼プログラム開発装置
2 ステンシルファイル格納手段
3 ユーザ指示入力手段
4 仕様書
5 プログラム作成手段
10 パソコン
11 DCSコントローラ
12 PLCコントローラ
21 仕様書作成シート
22 ステンシル
23 シェイプ描画部
25 編集実行部
27 図形情報からテキストデータへの展開部
28 CSV形式テキストファイル
29 テキストデータからマルチコントローラ対応データへの展開部
30 バイナリーデータ定義ファイルまたはソースコード
33、34 バイナリーデータ定義ファイル
37、38 プログラム
43 コントローラ読み出しデータ格納ファイル
45 モニタ実行部
Claims (15)
- コントローラを対象とするプログラム仕様書作成兼プログラム開発装置において、
仕様書作成およびプログラム開発のために使用される専用のシンボルをステンシルファイルとして格納するステンシルファイル格納手段と、
該ステンシルファイル格納手段に格納されているシンボルのディスプレイ画面上でのユーザによる選択と、その配置を含む仕様書作成およびプログラム開発のための指示を受け取るユーザ指示入力手段と、
該ディスプレイ画面上で作成された仕様書から、コントローラによって実行可能なプログラム、および/またはデータ定義ファイルを作成するプログラム作成手段とを備えることを特徴とするプログラム仕様書作成兼プログラム開発装置。 - 前記プログラム仕様書作成兼プログラム開発装置において、前記ユーザ指示入力手段に対するユーザの指示に応じて、前記ディスプレイ画面上でのシンボルに対する入力信号数、出力信号数、シンボルの形、表現を、制御の内容に対応して変更する仕様書編集手段を更に備えることを特徴とする請求項1記載のプログラム仕様書作成兼プログラム開発装置。
- 前記プログラム仕様書作成兼プログラム開発装置において、
前記ユーザ指示入力手段に対するユーザの指示に応じて、前記ディスプレイ画面上でのシンボルに対する信号の接続方向、シンボルの向き、形、表現を、図面の書式に対応して変更する仕様書編集手段を更に備えることを特徴とする請求項1記載のプログラム仕様書作成兼プログラム開発装置。 - 前記プログラム作成手段が、前記コントローラの種別に対応して、該コントローラで実行可能な形式のプログラム、および/またはデータ定義ファイルを前記仕様書から作成することを特徴とする請求項1記載のプログラム仕様書作成兼プログラム開発装置。
- 前記プログラム仕様書作成兼プログラム開発装置において、
前記仕様書の各ページを単位として、該ページ上でシンボルが置かれる座標位置に対応して、シンボル単位の動作の実行順序の自動割り付けを行う実行順序設定手段を更に備えることを特徴とする請求項1記載のプログラム仕様書作成兼プログラム開発装置。 - 前記実行順序設定手段が、シンボルの追加、削除に対応して、前記ページを単位として実行順序の自動再割り付けを行うことを特徴とする請求項5記載のプログラム仕様書作成兼プログラム開発装置。
- 前記プログラム仕様書作成兼プログラム開発装置において、
前記仕様書上で使用されているシンボルにそれぞれ対応する識別番号を検索するシンボル検索手段を更に備え、
前記プログラム作成手段によるプログラム、および/またはデータ定義ファイルの作成時にエラーが発生した時、該シンボル検索手段が該エラー発生の原因シンボルを検索することを特徴とする請求項1記載のプログラム仕様書作成兼プログラム開発装置。 - 前記プログラム仕様書作成兼プログラム開発装置において、
前記仕様書が複数のページによって構成される時、各ページ上の信号の行先のページ、来先のページを含むページ間のシンボル対応データの相互関係をクロスリファレンスデータとして作成するクロスリファレンスデータ作成手段を更に備えることを特徴とする請求項1記載のプログラム仕様書作成兼プログラム開発装置。 - 前記作成されたクロスリファレンスデータを、前記ディスプレイ画面上で作成された仕様書上に表示するクロスリファレンス表示手段を更に備えることを特徴とする請求項8記載のプログラム仕様書作成兼プログラム開発装置。
- 前記プログラム仕様書作成兼プログラム開発装置において、
前記仕様書作成プログラム、および/またはデータ定義ファイルの作成のために使用されるデータベースと、該仕様書、プログラム、および/またはデータ定義ファイルに関連する外部アプリケーションのために使用されるデータベースとを連携して制御するデータベース連携制御手段を更に備えることを特徴とする請求項1記載のプログラム仕様書作成兼プログラム開発装置。 - コントローラと該コントローラを対象とするプログラム仕様書作成兼プログラム開発装置とによって構成される制御システムにおいて、
該プログラム仕様書作成兼プログラム開発装置が、仕様書作成およびプログラム開発のために使用される専用のシンボルをステンシルファイルとして格納するステンシルファイル格納手段と、
該ステンシルファイル格納手段に格納されているシンボルのディスプレイ画面上でのユーザによる選択と、その配置を含む仕様書作成およびプログラム開発のための指示を受け取るユーザ指示入力手段と、
前記仕様書のページ内でシンボル単位の動作に実行順序を設定する実行順序設定手段と、
前記ディスプレイ画面上で作成された仕様書から、コントローラによって実行可能なプログラム、および/またはデータ定義ファイルを作成するプログラム作成手段と、
該プログラム作成手段によって作成されたプログラム、および/またはデータ定義ファイルの内容をコントローラにロードするプログラムロード手段とを備えると共に、
前記コントローラが、該設定された動作実行順序でシンボル単位の動作を実行させる動作実行制御手段を備えることを特徴とする制御システム。 - 前記制御システムにおいて、
前記コントローラが、前記シンボル単位の動作の実行結果を読み出すモニタ手段を更に備えると共に、
前記プログラム仕様書作成兼プログラム開発装置が、該読み出された動作実行結果をディスプレイ画面上に表示する表示手段を更に備えることを特徴とする請求項11記載の制御システム。 - コントローラを対象とするプログラム仕様書作成およびプログラム開発方法において、
仕様書作成およびプログラム開発のために使用される専用シンボルのディスプレイ画面上でのユーザによる選択と、その配置を含む仕様書作成およびプログラム開発のための指示を受け取り、
該ディスプレイ画面上で作成された仕様書から、コントローラによって実行可能なプログラム、および/またはデータ定義ファイルを作成することを特徴とするプログラム仕様書作成およびプログラム開発方法。 - コントローラを対象とするプログラム仕様書作成およびプログラム開発を行う計算機によって使用されるプログラムにおいて、
仕様書作成およびプログラムの開発のために使用される専用シンボルのディスプレイ画面上でのユーザによる選択と、その配置を含む仕様書作成およびプログラム開発のための指示を受け取る手順と、
該ディスプレイ画面上で作成された仕様書から、コントローラによって実行可能なプログラム、および/またはデータ定義ファイルを作成する手順とを計算機に実行させるためのプログラム。 - コントローラを対象とするプログラム仕様書作成およびプログラム開発を行う計算機によって使用される記憶媒体において、
仕様書作成およびプログラムの開発のために使用される専用シンボルのディスプレイ画面上でのユーザによる選択と、その配置を含む仕様書作成およびプログラム開発のための指示を受け取る機能と、
該ディスプレイ画面上で作成された仕様書から、コントローラによって実行可能なプログラム、および/またはデータ定義ファイルを作成する機能とを計算機に実行させるためのプログラムを格納した計算機読み出し可能可搬型記憶媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003108318A JP2004318286A (ja) | 2003-04-11 | 2003-04-11 | プログラム仕様書作成兼プログラム開発装置、同方法、および制御システム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003108318A JP2004318286A (ja) | 2003-04-11 | 2003-04-11 | プログラム仕様書作成兼プログラム開発装置、同方法、および制御システム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004318286A true JP2004318286A (ja) | 2004-11-11 |
Family
ID=33469884
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003108318A Pending JP2004318286A (ja) | 2003-04-11 | 2003-04-11 | プログラム仕様書作成兼プログラム開発装置、同方法、および制御システム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004318286A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017010412A (ja) * | 2015-06-25 | 2017-01-12 | 三菱電機株式会社 | プラント監視制御画面作成装置 |
JP7032838B1 (ja) * | 2021-06-24 | 2022-03-09 | 特許業務法人Ipx | 情報処理装置、プログラム及び情報処理方法 |
-
2003
- 2003-04-11 JP JP2003108318A patent/JP2004318286A/ja active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017010412A (ja) * | 2015-06-25 | 2017-01-12 | 三菱電機株式会社 | プラント監視制御画面作成装置 |
JP7032838B1 (ja) * | 2021-06-24 | 2022-03-09 | 特許業務法人Ipx | 情報処理装置、プログラム及び情報処理方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5506822B2 (ja) | プログラム作成支援装置 | |
JPWO2014064819A1 (ja) | システム構築支援ツール及びシステム | |
CN102880462A (zh) | 基于图模一体化生成组态监控对象的方法及装置 | |
JP2004303217A (ja) | 表示・編集装置及び表示方法並びにプログラム製品 | |
CN112861267B (zh) | 船舶mbd信息重用方法、系统、介质及终端 | |
JP5026925B2 (ja) | 制御プログラム作成装置および制御プログラム作成方法 | |
KR102300005B1 (ko) | 소프트웨어 컴포넌트를 표현하는 각각의 그래픽 객체 간의 연결 조작을 이용한 소프트웨어 개발 어시스트 방법 및 그 시스템 | |
JP2013222439A (ja) | プログラム生成装置 | |
JP2008142788A (ja) | 動作プログラム作成支援方法および動作プログラム作成装置。 | |
JP3625084B2 (ja) | ソフトウエア部品の再利用システム | |
JP2017220142A (ja) | プログラミング装置 | |
JP4366605B2 (ja) | 開発支援装置およびプログラムならびに処理方法 | |
US20230384766A1 (en) | Information processing apparatus, ladder-program generation apparatus, information processing method, ladder-program generation method, method of manufacturing product, and recording medium | |
JP2004318286A (ja) | プログラム仕様書作成兼プログラム開発装置、同方法、および制御システム | |
JP2005092808A (ja) | ラダープログラムマクロ作成装置、ラダープログラムマクロ作成方法、ラダープログラムマクロ作成プログラムおよびコンピュータで読み取り可能な記録媒体 | |
CN119343643A (zh) | 梯形图程序编辑装置、编辑方法及编辑程序 | |
JP4983519B2 (ja) | 開発支援装置および開発支援プログラム | |
JP5205988B2 (ja) | Plcのグローバル変数定義方式 | |
JP2009059203A (ja) | 画像処理機能のカスタマイズ装置、画像処理機能のカスタマイズ方法、および画像処理機能のカスタマイズのためのプログラム | |
JP2007193425A (ja) | 画面データ作成装置、画面データの編集方法及び画面データ編集プログラム | |
JP4848772B2 (ja) | プログラム生成装置およびプログラム生成プログラム | |
CN115237387A (zh) | 一种数字孪生应用的快速开发方法及系统 | |
JP2022027456A (ja) | 情報処理装置、ラダープログラム生成装置、情報処理方法、ラダープログラム生成方法、物品の製造方法、プログラム、及び記録媒体 | |
JP7627148B2 (ja) | シミュレーション装置 | |
JP7642166B1 (ja) | 支援プログラム、支援装置、支援システム及び支援方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050614 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20070910 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20071106 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20080304 |