(57)【要約】【課題】対象装置の機械別制御プログラムのプログラム部品の端子間が自動的に接続てプログラム作成時間が短縮できる制御プログラム作成装置を構成する。【解決手段】対象装置の制御プログラムを構成するプログラム部品を機械別に選択し、分類して格納する機械別プログラム部品格納手段と、機械別に対応するプログラム部品を選択し、機械名称を付与して機械別プログラム実体を特定し、特定された機械別プログラム実体を格納する機械別プログラム実体格納手段と、機械別プログラム実体の入力端子および出力端子の端子名に機械名称を付与して端子名称を決定する端子名称決定手段と、端子名称が決定された機械別プログラム実体の同一端子名称の端子を接続する端子間の接続情報を生成する端子間接続情報生成手段と、端子間接続情報生成手段により生成された端子間の接続情報を格納する端子間接続情報格納手段とを備えた構成としたものである。【選択図】        図１
2004272718.tif 000002
【特許請求の範囲】
【請求項１】
複数の機械からなる対象装置の機械別に制御プログラムを作成し、作成した機械別制御プログラムを組み合わせて上記対象装置の制御プログラムを作成する制御プログラム作成装置であって、上記対象装置の制御プログラムを構成するプログラム部品を機械別に分類して格納する機械別プログラム部品格納手段と、該機械別プログラム部品格納手段から上記対象装置の機械別に対応するプログラム部品を選択し、上記機械名称を付与して機械別プログラム実体を特定する機械別プログラム部品選択手段と、上記特定された機械別プログラム実体を格納する機械別プログラム実体格納手段と、該機械別プログラム実体格納手段に格納された機械別プログラム実体の入力端子および出力端子の端子名に上記機械の名称を付与して端子名称を決定する端子名称決定手段と、端子名称が決定された機械別プログラム実体の同一端子名の端子同士を接続する端子間接続情報を生成する端子間接続情報生成手段と、該端子間接続情報生成手段により生成された端子間接続情報を格納する端子間接続情報格納手段とを備え、
上記機械別プログラム実体格納手段に格納された機械別プログラム実体と、上記端子間接続情報格納手段に格納された端子間接続情報とにより対象装置別の制御プログラムを作成することを特徴とする制御プログラム作成装置。
【請求項２】
上記機械別プログラム部品格納手段に格納されていないプログラム部品を必要とするときに必要な非標準プログラムの端子名に機械名をあらかじめ付与して上記機械別プログラム実体格納手段に格納する非標準プログラム入力手段を備えたことを特徴とする請求項１記載の制御プログラム作成装置。
【請求項３】
上記端子間接続情報生成手段において、一つの入力端子に対して同じ名称の出力端子が複数有在する場合、当該入力端子および出力端子の接続情報の入力を促す表示を行うとともに当該表示に基づき接続情報を入力可能な演算処理入力手段を備えたことを特徴とする請求項１または請求項２記載の制御プログラム作成装置。
【請求項４】
上記機械別プログラム実体に接続条件を属性情報として付加しておき、上記端子間接続情報生成手段において一つの入力端子に対して同じ名称の出力端子が複数存在する場合、当該出力端子の接続条件に関する属性情報を取得し、該属性情報に係る接続条件で接続する接続条件演算手段を介して接続することを特徴とする請求項１または請求項２記載の制御プログラム作成装置。
【請求項５】
複数の機械からなる対象装置の機械別に制御プログラムを作成し、作成した機械別制御プログラムを組み合わせて上記対象装置の制御プログラムを作成する制御プログラム作成方法であって、上記対象装置の制御プログラムを構成するプログラム部品を機械別に分類して格納するステップと、上記格納したプログラム部品から上記対象装置の機械別に対応するプログラム部品を選択し、上記機械名称を付与して機械別プログラム実体を特定するステップと、上記特定された機械別プログラム実体を格納するステップと、上記格納された機械別プログラム実体の入力端子および出力端子の端子名に上記機械の名称を付与して端子名称を決定するステップと、上記端子名称が決定された機械別プログラム実体の同一端子名の端子同士を接続する端子間接続情報を生成するステップと、上記生成された端子間接続情報を格納するステップとを備え、
上記格納された機械別プログラム実体と端子間接続情報とにより対象装置別の制御プログラムを作成することを特徴とする制御プログラム作成方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、搬送あるいは加工を行う複数の機械からなる対象装置の制御プログラムを作成する制御プログラム作成装置および制御プログラム作成方法に関するものである。
【０００２】
【従来の技術】
複数の機械からなる対象装置の制御プログラムを作成する制御プログラム作成装置において、生産性を向上するためによく用いられている方法は、定形的な処理を標準モジュールとして作成し、これを組み合わせることにより、対象装置の制御プログラムを作成する装置が実用化されている。例えば、特許文献１には、汎用性のある多数の標準プログラムモジュール（標準モジュール）を予め準備しておき、この標準モジュールを選択して絵情報として表示し、この標準モジュールを運転方案に基づいて任意に組み合わせて非標準プログラムモジュール（非標準モジュール）を作成し、絵情報としてスタッカに格納する。運転方案はシーケンスフローチャート、演算ブロック図の形でＣＲＴ表示装置に入力され、ＣＲＴ制御装置で操作者がＣＲＴを見ながらモジュールの識別コードを入力してスタッカから読み出し、読み出された運転方案情報を見ながらソフトウエア生成に必要なプログラム生成情報、即ちプログラムモジュールの実行レベル、実行順、信号の接続等を設定入力し、プログラム生成情報ファイルに格納する。各プラントコントローラのロードモジュールは、非標準モジュールを結合編集することにより生成することが示されている。
【０００３】
【特許文献１】
特開平１１−２３７９０３号公報（第１〜５頁、図１、図２）
【０００４】
【発明が解決しようとする課題】
上記特許文献１においては、必要なプログラムモジュールを選択し、選択されたモジュールの間の接続は、操作者の判断により行われている。このような方法において、大規模なプログラムを作成しようとすると、接続関係を指定する数が多数にのぼり、作業量が膨大になるという問題点があった。
【０００５】
この発明は、上記問題点を解消するためになされたものであり、予め対象装置の制御プログラムの構成に必要なプログラム部品を準備し、選択されたプログラム部品の端子間が自動的に接続され、プログラム作成時間が短縮できる制御プログラム作成装置および制御プログラム作成方法を提供することを目的とする。
【０００６】
【課題を解決するための手段】
この発明に係る制御プログラム作成装置は、対象装置の制御プログラムを構成するプログラム部品を上記対象装置の種類別、即ち、機械別に分類して格納する機械別プログラム部品格納手段と、この機械別プログラム部品格納手段から機械別に対応するプログラム部品を選択し、機械名称を付与して機械別プログラム実体を特定する機械別プログラム部品選択手段と、特定された機械別プログラム実体を格納する機械別プログラム実体格納手段と、機械別プログラム実体格納手段に格納された機械別プログラム実体の入力端子および出力端子の端子名に機械名称を付与して端子名称を決定する端子名称決定手段と、端子名称が決定された機械別プログラム実体の同一端子名称の端子を接続する端子間の接続情報を生成する端子間接続情報生成手段と、端子間接続情報生成手段により生成された端子間の接続情報を格納する端子間接続情報格納手段とを備え、機械別プログラム実体格納手段に格納された機械別プログラム実体と、端子間接続情報格納手段に格納された端子間接続情報とにより対象装置別の制御プログラムを作成する構成としたものである。
【０００７】
【発明の実施の形態】
実施の形態１．
実施の形態１は対象装置を構成する機械別の制御プログラムを作成し、作成された機械別制御プログラムを自動的に組み合わせて対象装置の制御プログラムを作成する構成としたものである。
【０００８】
図１は実施の形態１の制御プログラム作成装置の構成図である。図１の制御プログラム作成装置は、対象装置の制御プログラムを構成するプログラム部品を機械別に分類して入力するプログラム部品入力手段１と、プログラム部品を格納する機械別プログラム部品格納手段１１と、機械別プログラム部品格納手段１１から対象装置の機械別に対応するプログラム部品を選択し、機械名称を付与した機械別プログラム実体を特定する機械別プログラム部品選択手段２と、特定された機械別プログラム実体を格納する機械別プログラム実体格納手段１２と、機械別プログラム実体格納手段１２に格納された機械別プログラム実体の入力端子および出力端子の端子名に機械名称を付与して端子名称を決定する端子名称決定手段４と、端子名称が決定された機械別プログラム実体の同一端子名称の端子を自動接続する端子間接続情報を生成する端子間接続情報生成手段５と、端子間接続情報生成手段により生成された端子間接続情報を格納する端子間接続情報格納手段１３と、機械別プログラム実体格納手段１２に格納された機械別プログラム実体と端子間接続情報格納手段１３に格納された端子間接続情報を用いて制御プログラムをコンパイルするプログラムコンパイル手段６と、このプログラムコンパイル手段６により、コンパイルされたプログラムをオブジェクトのコードを格納するオブジェクトプログラム格納手段１４とで構成されている。
なお、本願では、プログラムは入力変数と出力変数とで特徴付けられるものであるので、プログラムをブロック図で表したときにこれらを回路部品と見なし、入力変数を「プログラム部品の入力端子」、出力変数を「プログラム部品の出力端子」と、また、両者を総称して「プログラム部品の端子」と称するものとする。
【０００９】
図２はプログラム部品を機械別に分類して機械別プログラム部品格納手段１１に格納されたプログラム部品のデータ構造例である。例えば対象装置が鉄鋼プラントの場合では、コンベア、コイルカー、ペイオフリールなどを機械種別としてとらえ、機械種別毎にプログラム部品が分類される。例えば、機械種別が「コイルカー」の場合の機械別プログラム部品のデータ構造例を図２に示す。これはコイルカー２１に対して、位置検出プログラム２２、速度生成プログラム２３、出力プログラム２４の部品がツリー構造に関連付けされて格納される。プログラム作成者は、対象装置の機械別にマウスやキーボードなどの入力装置を用いて図２の例に示すようなツリー構造に編集して入力する。
【００１０】
図３、図４は機械別プログラム部品格納手段１１に格納されたプログラム部品の例を示すものである。図３は図２の速度生成プログラム２３をプログラム部品として表示してプログラム部品３１とし、図４は図２の出力プログラム２４をプログラム部品４１として表示している。プログラム部品は入力端子と出力端子を備えた構成であり、図３では、入力端子として３１ａ、３１ｂ、３１ｃ、出力端子として３２ａ、３２ｂを備え、図４では、入力端子４１ａ、４１ｂ、出力端子として４２ａを備え、図３の速度生成プログラム３１では、入力端子の３１ａには「前進」、３１ｂには「後退」、３１ｃには「非常停止」という端子名が付与され、出力端子の３２ａには「速度」、３２ｂには「ブレーキ」という端子名称が付与され、図４の出力プログラム４１では、入力端子４１ａには「速度」、４１ｂには「ブレーキ」、出力端子４２ａには「モータ出力」という端子名が付与されて機械別プログラム部品格納手段１１に格納される。このように作成され、格納されたプログラム部品は、様々な制御対象装置に対して同じプログラムを繰り返し利用することができる。実際には図２の構造を持ったツリーが対象装置の機械種別毎に作成され、機械別プログラム部品格納手段１１に格納されている。
【００１１】
機械別プログラム選択手段２では、機械別プログラム部品格納手段１１から機械種別に対応してプログラム部品を選択し、対象装置に適した機械名称を付与して機械別プログラム実体格納手段１２に格納する。
図５は、機械別プログラム部品格納手段１１に格納されたプログラム部品を選択して機械名称を付与した例であり、これは機械別プログラム格納手段１１に格納された図２に示すプログラム部品の「コイルカー」という機械種別を選択し、作成者が目的プラントに応じた適切な機械名称の「Ｎｏ．１」という機械名称を「コイルカー」に付与して「Ｎｏ．１コイルカー」とし、これに必要なプログラム部品として、機械別プログラム部品格納手段１１に格納された「位置検出プログラム２２」「速度生成プログラム２３」「出力プログラム２４」の中から「速度生成プログラム２３」および「出力プログラム２４」を選択し、「Ｎｏ．１コイルカー」５１に対して、「速度生成プログラム」５３および「出力プログラム」５４として関連づけて機械別プログラム実体格納手段１２に格納する。
【００１２】
機械別プログラム実体格納手段１２に格納されたプログラム実体の入力端子および出力端子に対して、端子名称決定手段４により、プログラム部品で付与されていた端子名と機械名称とを結合して端子名称を決定する。
図６は端子名称決定手段４により端子名が決定された例を示すものであり、図５のプログラム実体５３「速度生成プログラム」に対して、図３のプログラム部品３１「速度生成プログラム」の段階で「前進」となっていた入力端子３１ａの端子名「前進」に「Ｎｏ．１コイルカー」という機械名称を付与してプログラム実体６１とし、その入力端子６１ａは「Ｎｏ．１コイルカー前進」というように決定するものであり、その他の端子は図示のように入力端子６１ｂは「Ｎｏ．１コイルカー後退」、入力端子６１ｃは「Ｎｏ．１コイルカー非常停止」、出力端子６２ａは「Ｎｏ．１コイルカー速度」、出力端子６２ｂは「Ｎｏ．１コイルカーブレーキ」のような端子名称を付与する。図７は図５のプログラム実体５４「出力プログラム」の場合を示すものであり、図４の状態のプログラム部品４１「出力プログラム」での端子名に「Ｎｏ．１コイルカー」を付与してプログラム実体７１としたものであり、その入力端子７１ａは「Ｎｏ．１コイルカー速度」、入力端子７１ｂは「Ｎｏ．１コイルカーブレーキ」、出力端子７２ａは「Ｎｏ．１コイルカーモータ出力」のような端子名称となる。
【００１３】
端子間接続情報生成手段５では、端子名称決定手段４により端子名が決定されたプログラム実体の入力端子に対して、端子名が決定された出力端子の中から同一端子名の端子を検索し、同一名称の入力端子と出力端子との組合せを端子間接続情報として端子間接続情報格納手段１３に格納する。
例えば、図７の「Ｎｏ．１コイルカー」のプログラム実体７１の入力端子７１ａと図６の「速度生成プログラム」プログラム実体６１の出力端子６２ａは同一の端子名称「Ｎｏ．１コイルカー速度」であるので、この２つの出力端子６２ａと入力端子７１ａは「接続する」として端子間接続情報格納手段１３に格納する。
また、同じ「コイルカー」という機械名称で複数存在する場合には「Ｎｏ．１コイルカー」、「Ｎｏ．２コイルカー」という番号を付加した機械名称を付与することで区別され、プログラム部品は共有することができる。
【００１４】
プログラムコンパイル手段６では機械別プログラム実体格納手段１２に格納されたプログラム実体をプログラムを実行するコンピュータに対応したオブジェクトコードに変換し、端子間接続情報格納手段１３に格納されている端子間接続情報に基づきプログラム間のデータのリンケージを確立する。プログラムコンパイル手段６により生成されたオブジェクトコードおよびプログラム間のリンケージ情報が格納されて制御プログラムが作成される。
【００１５】
このように構成することにより、対象装置に必要なプログラム部品は、機械種別毎に整理してプログラム部品格納手段１１に格納することにより、必要なプログラム部品が選択し易くなり、また一度格納されたプログラム部品は、様々なプラントに対して同じプログラム部品を繰り返し利用することができる。したがって、プログラム部品は複数の対象装置に対して共有するだけでなく、対象装置内の複数の同一機械種別に対しても共有することができるようになり、各機械別プログラム実体の出力端子、入力端子に機械別に機械名を付与した端子名としたことにより、同一端子名の出力端子と入力端子が自動的に接続することができるようになり、作業員の人手を煩わすことがなくなり、プログラム作成時間が短縮できる制御プログラム作成装置となる。
【００１６】
実施の形態２．
実施の形態１においては、制御プログラムを作成する対象装置は、作成作業の着手時に入力したプログラム部品で制御プログラムが作成できる場合について説明したが、端子間接続情報生成手段５により端子間を自動接続する場合、ある入力端子に対して同じ端子名称を持つ出力端子が見つからないで端子間接続情報が作ることができない場合があり得る。この原因としては対象装置毎に処理方法が異なり、標準的なモジュールとしてプログラム部品が作れない場合や、対象装置に必要なプログラム部品が入力されていない場合がある。実施の形態２は、このような場合に対応できるように非標準のプログラム部品が入力できるように構成したものである。
ここで、非標準のプログラム部品とは、例えば、使用頻度が高く、通常、記憶媒体に常時保有している標準のプログラム部品に対比して想定されるもので、使用頻度が低く、通常、記憶媒体に保存していないものをいう。
【００１７】
図８は実施の形態２の構成図である。図８の構成は実施の形態１の図１の構成の機械別プログラム実体格納手段１２に、非標準プログラムを入力する非標準プログラム入力手段３を付加したものである。図８の非標準プログラム入力手段３以外の部分は実施の形態１の図１と同一である。
【００１８】
この構成では、標準的な機械別プログラム部品を機械別プログラム部品入力手段１により入力しておき、対象装置に特有の非標準プログラム実体を非標準プログラム入力手段３により入力する。図９に例示したものは、実施の形態１の図５に示した「Ｎｏ．１コイルカー」５１に非標準のプログラム実体「手動操作プログラム」８５を付加した非標準プログラム実体８１である。非標準プログラム実体の端子名はあらかじめ機械名称も付与した状態で入力し、機械別プログラム実体と同様に端子名が付与された入力端子と出力端子が定義される。
なお、この非標準プログラム入力手段３により入力された非標準プログラム実体については、その入力時点で機械名称が既に付与されているので、後段の端子名称決定手段４においては、この機械名称を付与する処理は行わない。
【００１９】
図１０は図９の非標準プログラム実体８１の手動操作プログラム８５のプログラム実体９１とした例であり、その入力端子９１ａを「Ｎｏ．１ＰＯＲ非常停止」、入力端子９１ｂを［Ｎｏ．１コイルカー非常停止入力」、出力端子９２ａを「Ｎｏ．１コイルカー非常停止」と定義したものである。この「手動操作プログラム」９１には出力端子９２ａが「Ｎｏ．１コイルカー非常停止」という端子名であり、実施の形態１でのプログラム実体６１の「速度生成プログラム」の入力端子６１ｃの「Ｎｏ．１コイルカー非常停止」と同一端子名を持っており、端子間接続情報生成手段５はこの出力端子９２ａと入力端子６１ｃの２つの端子を接続する接続情報を端子間接続情報格納手段１３に格納にする。
【００２０】
非標準プログラム実体の端子名には、図９の例に示すように「Ｎｏ．１ＰＯＲ」という別の機械名称を端子名に付与することもでき、これにより別の機械に対応するプログラム実体間の接続にも対応できる。
【００２１】
実施の形態３．
実施の形態１および実施の形態２において、端子間接続情報生成手段５により端子間接続情報を生成する際、一つの入力端子に複数の出力端子が存在する場合がある。出力端子のうち単に信号伝達する出力端子であれば１対１で対応するが、例えば、「非常停止」などのような場合には、複数の機械別プログラム実体の出力端子に同一端子名の出力端子が存在することが発生する。このような「非常停止」などの信号を出力する出力端子には、同一名称の複数の出力端子と一つの入力端子とを「ＯＲ」条件または「ＡＮＤ」条件により接続する接続条件演算手段を介して接続する必要がある。
【００２２】
一つの入力端子に複数の同一端子名の出力端子と接続することが存在するのは、出力信号の動作条件により決まっているものであり、実施の形態１の図１の機械別プログラム部品入力手段１または実施の形態２の図８の非標準プログラム入力手段３において端子名称を入力する際に、接続条件「ＯＲ」または「ＡＮＤ」を属性情報として付加しておき、端子間接続情報生成手段５において、一つの入力端子に複数の同一端子名の出力端子を接続することが生じたときに、出力端子に定義された接続条件の上記属性情報に合致した接続条件演算手段を介して接続する接続情報を端子間接続情報格納手段１３に格納する。
【００２３】
例えば、図１１に示す機械別プログラム部品１０１の「Ｎｏ．１コイルカー」が「速度生成プログラム」５３、「出力プログラム」５４、「手動操作プログラム」８５、「自動制御プログラム」１０６で構成された場合において、「手動操作プログラム」８５の出力端子１１３および「自動制御プログラム」１０６の出力端子１１４を出力プログラム５４の入力端子１１５に接続する場合に、図１２に示すように、出力端子１１３および出力端子１１４の接続条件に関する属性情報を取得し、この属性情報が「ＯＲ」であった場合は、「ＯＲ条件」で接続する接続条件演算手段１１８を介して接続するという接続情報を自動的に生成することができる。
【００２４】
一つの入力端子と一つの接続条件付き出力端子を接続する場合には、接続条件演算手段を介する必要がないことはいうまでもない。
【００２５】
このように接続条件が必要となる可能性の端子に接続条件を付加した端子名称を定義して端子間接続情報格納手段１３に格納しておくことにより、一つの入力端子に複数の同一端子名の出力端子を接続することが存在する場合にも自動接続が可能となる。
【００２６】
なお、一つの入力端子に同じ名称の出力端子が複数存在する場合の処理方法としては、例えば、図１３に示すように、演算処理入力手段５Ａを設け、上記複数の出力端子に対してどのように接続するかの接続情報の入力を促す表示をこの演算処理手段の画面に表示させ、操作者はこの画面に従って必要な接続情報を入力し、これを端子間接続情報生成手段５に取り込むようにしても良い。
この場合、操作者の意図する柔軟でより適切なプログラム作成処理ができるという利点がある。
【００２７】
【発明の効果】
この発明に係る制御プログラム作成装置は、制御対象装置の制御プログラムを構成するプログラム部品を機械別に分類して格納する機械別プログラム部品格納手段と、制御対象装置の機械別に対応するプログラム部品を選択し、機械名称を付与して機械別プログラム実体を特定する機械別プログラム部品選択手段と、特定された機械別プログラム実体を格納する機械別プログラム実体格納手段と、機械別プログラム実体格納手段に格納された機械別プログラム実体の入力端子および出力端子の端子名に上記機械名称を付与して端子名称を決定する端子名称決定手段と、端子名称が決定された機械別プログラム実体の同一端子名の端子同士を自動接続する端子間接続情報を生成する端子間接続情報生成手段と、端子間接続情報を格納する端子間接続情報格納手段とを備え、機械別プログラム実体格納手段に格納された機械別プログラム実体と、端子間接続情報格納手段に格納された端子間接続情報とにより機械別制御プログラムが作業員の人手を煩わすことなく自動的に作成できる制御プログラム作成装置が得られる。
【図面の簡単な説明】
【図１】実施の形態１の制御プログラム作成装置の構成図である。
【図２】プログラム部品を機械別に分類した機械別プログラム部品のデータ構造の例である。
【図３】機械別プログラム部品入力手段により入力される機械別プログラム部品の一例である。
【図４】機械別プログラム部品入力手段により入力される機械別プログラム部品の他の例である。
【図５】機械別プログラム格納手段に格納されたプログラム部品を選択して機械名称を付与した例である。
【図６】端子名称決定手段により端子名が決定された例を示す図である。
【図７】端子名称決定手段により端子名が決定された他の例を示す図である。
【図８】実施の形態２の制御プログラム作成装置の構成図である。
【図９】機械別プログラムに対象装置に必要となるプログラム部品を追加した非標準プログラム構造例を示す図である。
【図１０】図９の非標準プログラム実体の手動操作プログラムの入力端子および出力端子に機械名を付与した例を示す図である。
【図１１】機械別プログラム実体の一つの入力端子に複数の入力端子が接続される場合のプログラム構造例を示す図である。
【図１２】一つの入力端子に複数の出力端子が接続される場合の接続状態の説明図である。
【図１３】一つの入力端子に複数の出力端子が接続される場合の接続処理を可能にする、更に他の制御プログラム作成装置を示す図である。
【符号の説明】
１  機械別プログラム部品入力手段、２  機械別プログラム部品選択手段、
３  非標準プログラム入力手段、４  端子名称決定手段、
５  端子間接続情報生成手段、５Ａ  演算処理入力手段、
６  プログラムコンパイル手段、１１  機械別プログラム部品格納手段、
１２  機械別プログラム実体格納手段、１３  端子間接続情報格納手段、
１４  プログラムオブジェクト格納手段。
【図１】
2004272718.tif 000003
【図２】
2004272718.tif 000004
【図３】
2004272718.tif 000005
【図４】
2004272718.tif 000006
【図５】
2004272718.tif 000007
【図６】
2004272718.tif 000008
【図７】
2004272718.tif 000009
【図８】
2004272718.tif 000010
【図９】
2004272718.tif 000011
【図１０】
2004272718.tif 000012
【図１１】
2004272718.tif 000013
【図１２】
2004272718.tif 000014
【図１３】
2004272718.tif 000015