(57)【要約】【課題】使用者にかかる制御プログラムに関する負担を最小現に抑えることができる、加工装置用制御プログラムについての制御プログラム開発支援装置を得る。【解決手段】パルス転送変数生成部１５３は入力変数及び出力変数等のパルス転送変数を生成し、パルス転送変数値管理プログラム生成部１５４は入力完了変数、出力完了変数を用いて上記パルス転送変数値を管理するによるパルス転送変数値管理プログラムを生成する。ハンドシェイクプロトコル管理プログラム生成部１７は、上下流間データ転送プロトコルに基づき、入力変数、出力変数及び入力完了変数を用いた上流側加工機器と下流側加工機器との間の送受信を実現するためのハンドシェイクプロトコル管理プログラムブロック及びハンドシェイク信号に関するハンドシェイク信号用タグを生成する。【選択図】図１
2010282306.tif 000002
【特許請求の範囲】
【請求項１】
各々がワークに対して加工処理を行う複数の加工機器を有する加工装置用制御システム用のプログラム開発を支援する制御プログラム開発支援装置であって、前記複数の加工機器はワークを送出する上流側加工機器と該上流側加工機器より前記ワークを受ける下流側加工機器とを少なくとも含み、
ハンドシェイク信号を用いて前記上流側加工機器から前記下流側加工機器へのワークの受け渡し制御を行うべく、前記上流側加工機器から出力変数を前記下流側加工機器の入力変数としてデータ転送し、前記入力変数としての入力完了を示す入力完了変数を所定の情報伝達ルートで前記上流側加工機器に伝達することにより、前記上流側加工機器が前記出力変数の転送完了を認識可能とする上下流間データ転送プロトコルが予め規定され、
前記制御プログラム開発支援装置は、
前記上流側加工機器と前記下流側加工機器との上下流接続関係及び前記上流側加工機器から前記下流側加工機器への前記データ転送が実行されるデータ転送条件を含む工程フロー設定情報を格納する工程フロー設定情報格納部と、
前記データ転送条件に基づき、前記上流側加工機器，前記下流側加工機器間のデータ転送用のデータ転送プログラムを生成するデータ転送プログラム生成部と、
前記上下流間データ転送プロトコルに基づき、前記入力完了変数を生成し、前記入力完了変数の値を管理する入力完了変数値管理プログラムを生成する入力完了変数生成・管理部と、
前記上下流間データ転送プロトコルに基づき、前記入力変数、前記出力変数及び前記入力完了変数を用いた前記上流側加工機器と前記下流側加工機器との間の送受信を実現するためのハンドシェイクプロトコル管理プログラムブロック及び前記ハンドシェイク信号に関するハンドシェイク信号用タグを生成するハンドシェイクプロトコル管理プログラム生成部とを備える、
制御プログラム開発支援装置。
【請求項２】
請求項１記載の制御プログラム開発支援装置であって、
前記下流側加工機器は互いに上下流関係にない同一種別の複数の下流側加工機器を含み、
前記データ転送条件は、一の前記上流側加工機器から前記複数の下流側加工機器への分岐転送条件を含む、
制御プログラム開発支援装置。
【請求項３】
請求項１あるいは請求項２記載の制御プログラム開発支援装置であって、
前記上流側加工機器は互いに上下流関係にない同レベルの複数の上流側加工機器を含み、
前記データ転送条件は、前記複数の上流側加工機器一の前記下流側加工機器への選択転送条件を含む、
制御プログラム開発支援装置。
【請求項４】
請求項１ないし請求項３のうち、いずれか１項に記載の制御プログラム開発支援装置であって、
入力部と、
前記入力部を介して得られる、前記複数の加工機器に対応して設定され、前記複数の加工機器を制御する複数の制御プログラムブロックの内容を指示するプログラムブロック設定情報を格納するプログラムブロック設定情報格納部とをさらに備える、
制御プログラム開発支援装置。
【請求項５】
請求項４記載の制御プログラム開発支援装置であって、
前記プログラムブロック設定情報は、前記複数の制御プログラムブロックに対する制御信号を割り付けた複数の制御信号用タグの内容を指示する情報を含み、
前記工程フロー設定情報は、前記入力部を介して得られ、データ転送線を用いた前記上下流接続関係の設定内容及び前記制御プログラムブロックと前記制御信号用タグとをデータ共有線を用いた結線内容を指示する情報を含む、
制御プログラム開発支援装置。
【請求項６】
請求項１ないし請求項５のうち、いずれか１項に記載の制御プログラム開発支援装置であって、
前記ハンドシェイク信号は前記前記ワークに対応して設けられるワークデータ及びその送受信の制御用信号を含み、
前記入力変数及び前記出力変数は前記ワークに対応して設けられるワークデータ変数を含む、
制御プログラム開発支援装置。
【請求項７】
各々がワークに対して加工処理を行う複数の加工機器を有する加工装置用制御システム用のプログラム開発を支援する制御プログラム開発支援方法であって、前記複数の加工機器はワークを送出する上流側加工機器と該上流側加工機器より前記ワークを受ける下流側加工機器とを少なくとも含み、
ハンドシェイク信号を用いて前記上流側加工機器から前記下流側加工機器へのワークの受け渡し制御を行うべく、前記上流側加工機器から出力変数を前記下流側加工機器の入力変数としてデータ転送し、前記入力変数としての入力完了を示す入力完了変数を所定の情報伝達ルートで前記上流側加工機器に伝達することにより、前記上流側加工機器が前記出力変数の転送完了を認識可能とする上下流間データ転送プロトコルが予め規定され、
前記制御プログラム開発支援方法は、
(a) 前記上流側加工機器と前記下流側加工機器との上下流接続関係及び前記上流側加工機器から前記下流側加工機器への前記データ転送が実行されるデータ転送条件を含む工程フロー設定情報を格納するステップと、
(b) 前記データ転送条件に基づき、前記上流側加工機器，前記下流側加工機器間のデータ転送用のデータ転送プログラムを生成するステップと、
(c) 上下流間データ転送プロトコルに基づき、前記入力完了変数を生成し、前記入力完了変数の値を管理する入力完了変数値管理プログラムを生成するステップと、
(d) 前記上下流間データ転送プロトコルに基づき、前記入力変数、前記出力変数及び前記入力完了変数を用いた前記上流側加工機器と前記下流側加工機器との間の送受信を実現するためのハンドシェイクプロトコル管理プログラムブロック及び前記ハンドシェイク信号に関するハンドシェイク信号用タグを生成するステップとを備える、
制御プログラム開発支援方法。
【請求項８】
請求項７記載の制御プログラム開発支援方法をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、加工装置用制御システム用のプログラム開発を支援する制御プログラム開発支援装置に関し、特に、加工対象であるワークを複数個の加工機器間で受渡しする加工装置用制御プログラム用の制御プログラム開発支援装置に関する。
【背景技術】
【０００２】
複数種別かつ複数個の加工機器を備え、加工対象であるワークが、加工機器の入口から順次投入され、各加工機器では、上流工程の加工機器（上流側加工機器）よりワークを受け取り、必要に応じてワークに加工を施し、下流工程の加工機器（下流側加工機器）にワークを渡す処理が繰り返され、最下流工程の加工機器よりワークが出口に搬出される種別の装置を、搬送型加工装置と呼ぶ。半導体・液晶基板の製造装置や、自動車製造ラインなどが搬送型加工装置の一例となる。
【０００３】
このような搬送型加工装置は、一つあるいは複数個の制御機器により制御される。各制御機器上では、加工機器を制御するプログラムブロックが、一つあるいは複数個実行されている。
【０００４】
このような搬送型加工装置において、ある工程を処理する加工機器が増減するといった、加工機器の構成に変化が生じた場合、加工機器を制御する処理は変更がないが、データの送受信先が変わるため、データを送受する処理は変更する必要がある。そのため、加工機器を制御するプログラムブロックと、加工機器を制御するプログラムブロック間のデータの送受信を行う処理を分離して記述する開発支援システムを、我々は、特許文献１において提案してきた。
【０００５】
また、搬送型加工装置の一例である液晶基盤製造装置に関し、液晶基盤製造装置の開発メーカの業界団体にて、液晶基盤製造装置における、加工機器間でワークを確実に受渡時するための、加工機器制御プログラム間のデータの送受信プロトコル（以下、「ハンドシェイクプロトコル」と言う）の標準仕様が例えば非特許文献１において提案されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００８−２３４４６９号公報
【非特許文献】
【０００７】
【非特許文献１】ＳＥＭＩ  Ｄ５１−０３０８  ＦＰＤ製造における枚葉搬送のためのハンドシェーク方式の仕様  ７章  Ｐ．３〜Ｐ．７
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、特許文献１で開示された開発支援システムでは、プログラムブロック間で引かれた、１本のデータ転送線が示すデータの送受信方向は単方向であり、データの送信側と受信側は固定される。また、非特許文献１に示されたハンドシェイク信号を示す変数を生成する機能を持たない。さらに、各加工機器用の制御プログラムは、ハンドシェイク信号を管理するプログラムブロックを自動生成する機能を持たない。
【０００９】
このため、特許文献１で開示された開発支援システムでは、加工機器の構成に変化が生じた場合、当該開発支援システムの使用者自身がハンドシェイクプロトコル機能を実現する制御プログラムを作成する必要があり、使用者が加工装置の制御プログラムを作成するのに要する開発工数が増大し、使用者に多大な負担がかかってしまうという問題点があった。
【００１０】
この発明は上記問題点を解決するためになされたもので、加工機器の構成に変化が生じた場合における使用者にかかる制御プログラムに関する負担を最小現に抑えることができる、加工装置用制御プログラムについての制御プログラム開発支援装置を得ることを目的とする。
【課題を解決するための手段】
【００１１】
この発明に係る請求項１記載の制御プログラム開発支援装置は、各々がワークに対して加工処理を行う複数の加工機器を有する加工装置用制御システム用のプログラム開発を支援する制御プログラム開発支援装置であって、前記複数の加工機器はワークを送出する上流側加工機器と該上流側加工機器より前記ワークを受ける下流側加工機器とを少なくとも含み、ハンドシェイク信号を用いて前記上流側加工機器から前記下流側加工機器へのワークの受け渡し制御を行うべく、前記上流側加工機器から出力変数を前記下流側加工機器の入力変数としてデータ転送し、前記入力変数としての入力完了を示す入力完了変数を所定の情報伝達ルートで前記上流側加工機器に伝達することにより、前記上流側加工機器が前記出力変数の転送完了を認識可能とする上下流間データ転送プロトコルが予め規定され、前記制御プログラム開発支援装置は、前記上流側加工機器と前記下流側加工機器との上下流接続関係及び前記上流側加工機器から前記下流側加工機器への前記データ転送が実行されるデータ転送条件を含む工程フロー設定情報を格納する工程フロー設定情報格納部と、前記データ転送条件に基づき、前記上流側加工機器，前記下流側加工機器間のデータ転送用のデータ転送プログラムを生成するデータ転送プログラム生成部と、前記上下流間データ転送プロトコルに基づき、前記入力完了変数を生成し、前記入力完了変数の値を管理する入力完了変数値管理プログラムを生成する入力完了変数生成・管理部と、前記上下流間データ転送プロトコルに基づき、前記入力変数、前記出力変数及び前記入力完了変数を用いた前記上流側加工機器と前記下流側加工機器との間の送受信を実現するためのハンドシェイクプロトコル管理プログラムブロック及び前記ハンドシェイク信号に関するハンドシェイク信号用タグを生成するハンドシェイクプロトコル管理プログラム生成部とを備える。
【発明の効果】
【００１２】
この発明における請求項１記載の制御プログラム開発支援装置は、上流側加工機器，下流側加工機器間における双方向の上下流間データ転送プロトコルが予め規定されているため、入力完了変数生成・管理部によって入力完了変数値管理プログラムが自動的に生成され、ハンドシェイクプロトコル管理プログラム生成部によって、ハンドシェイクプロトコル管理プログラムブロック及びハンドシェイク信号用タグが自動的に生成される。
【００１３】
その結果、この発明の使用者は、主として複数の加工機器の制御プログラム等の複数の加工機器固有の情報を設定する処理のみを自身で行うことにより、加工装置用制御システムを開発することができるため、加工装置用制御プログラムの開発工数を削減することができるという効果を有する。
【図面の簡単な説明】
【００１４】
【図１】この発明の実施の形態１である制御プログラム開発支援装置の機能構成を模式的に示すブロック図である。
【図２】制御システム構成情報の一例を示す説明図である。
【図３】プログラムブロック間のデータ転送における通常転送例を示す説明図である。
【図４】プログラムブロック間のデータ転送におけるパルス転送例を示す説明図である。
【図５】図４で示したパルス転送を行う上下流ラダー工程部の関係を模式的に示す説明図である。
【図６】工程フロープログラム表示画面の全体構成を示す説明図である。
【図７】図６の上流側ポジション制御ブロックの内部構成を示す説明図である。
【図８】図６の下流側ポジション制御ブロックの内部構成を示す説明図である。
【図９】転送条件判定プログラムの作成処理手順を示すフローチャートである。
【図１０】実施の形態１の制御プログラム開発支援装置におけるハンドシェイクプロトコル管理の処理手順を示す説明図である。
【図１１】図１０における上流側ハンドシェイク管理プログラムブロックによるラダープログラムの実行内容をラダー言語を用いて示した説明図である。
【図１２】図１０における下流側ハンドシェイク管理プログラムブロックによるラダープログラムの実行内容ラダー言語を用いて示した説明図である。
【図１３】加工装置制御プログラムを開発する手順を示すフローチャートである。
【図１４】工程フロープログラム表示画面の全体構成を示す説明図である。
【図１５】図１４における最上流側ポジション制御ブロックの内部構成を示す説明図である。
【図１６】図１４における中段のポジション制御ブロック（その１）の内部構成を示す説明図である。
【図１７】図１４における中段のポジション制御ブロック（その２）の内部構成を示す説明図である。
【図１８】図１４における最下流側ポジション制御ブロックの内部構成を示す説明図である。
【図１９】転送条件判定プログラムの作成処理手順を示すフローチャートである。
【図２０】実施の形態４において、加工装置における、加工機器が増加した場合の工程フロープログラムを、表示部１２で示した場合を模式的に示す説明図である。
【図２１】実施の形態５における工程フロープログラム表示画面の全体構成を示す説明図である。
【図２２】図２１の上流側ポジション制御ブロックの内部構成を示す説明図である。
【図２３】図２１の下流側制御ブロックの内部構成を示す説明図である。
【図２４】実施の形態５の制御プログラム開発支援装置におけるハンドシェイクプロトコル管理の処理手順を示す説明図である。
【図２５】実施の形態５の制御プログラム開発支援装置におけるハンドシェイクプロトコル管理の処理手順を示す説明図である。
【図２６】図２４及び図２５における上流側ハンドシェイク管理プログラムブロックによるラダープログラムの実行内容をラダー言語を用いて示した説明図である。
【図２７】図２４及び図２５における下流側ハンドシェイク管理プログラムブロックによるラダープログラムの実行内容ラダー言語を用いて示した説明図である。
【図２８】一般的は搬送型加工装置の構成を模式的に示す説明図である。
【図２９】この発明の前提技術となる制御システム開発支援装置の機能構成を示すブロック図である。
【図３０】プログラムブロック間のデータ送受信の記述の一例を模試的に示す説明図である。
【図３１】ハンドシェイクプロトコルにおけるハンドシェイク信号の送受信関係を模式的に示す説明図である。
【図３２】図２８で示した搬送型加工装置における加工機器の制御プログラム間のデータ転送を記述例を示す説明図である。
【図３３】図２８の搬送型加工装置の構成を拡張した構成を模式的に示す説明図である。
【図３４】図３３で示した搬送型加工装置における加工機器の制御プログラム間のデータ転送を記述例を示す説明図である。
【発明を実施するための形態】
【００１５】
＜前提技術＞
図２８は一般的は搬送型加工装置の構成を模式的に示す説明図である。同図に示すように、搬送型加工装置２０は加工機器ＥＡ、加工機器ＥＢ１及びＥＢ２、並びに加工機器ＥＣから構成され、加工機器ＥＡの下流に加工機器ＥＢ１及びＥＢ２が配置され、加工機器ＥＢ１及びＥＢ２の下流に加工機器ＥＣが配置される。すなわち、加工機器ＥＡと加工機器ＥＢ１及びＥＢ２との上下流関係は、加工機器ＥＡが上流側加工機器、加工機器ＥＢ１及びＥＢ２が下流側加工機器となる。また、加工機器ＥＢ１及びＥＢ２と加工機器ＥＣとの上下流関係は、加工機器ＥＢ１及びＥＢ２が上流側加工機器、加工機器ＥＣが下流側加工機器となる。
【００１６】
そして、ワークＷ（Ｗ１〜Ｗ５）は搬送型加工装置２０の入口から最上流側加工機器である加工機器ＥＡに渡され、中段の加工機器ＥＢ１あるいはＥＢ２、及び下流側加工機器である加工機器ＥＣを経て、搬送型加工装置２０の出口から加工後のワークＷが送出される。
【００１７】
なお、図２８においては、搬送型加工装置２０の入口前段階のワークＷ１、加工機器ＥＢ１及びＥＢ２並びに加工機器ＥＣにて処理中のワークＷ２〜Ｗ４、加工機器ＥＣで処理中のワークＷ４、搬送型加工装置２０の出口から送出後のワークＷ５を示している。
【００１８】
図２９は特許文献１で開示されたこの発明の前提技術となる制御システム開発支援装置５０の機能構成を示すブロック図である。
【００１９】
この制御システム開発支援装置５０は、入力部１１と、表示部１２と、制御システム情報管理部１３と、工程フロープログラム管理部１４と、転送制御プログラム生成部１１５と、これらの各処理部を制御する制御部１６とを備えて構成される。
【００２０】
制御システム情報管理部１３は制御システム管理情報設定部１３１、及び制御システム管理情報格納部１３２から構成される。工程フロープログラム管理部１４は工程フロー設定管理部１４１、プログラムブロック設定管理部１４２、転送条件設定部１４３及び工程フロープログラム設定情報格納部１４４から構成される。転送制御プログラム生成部１１５は条件判定プログラム生成部１５１及びデータ転送プログラム生成部１５２から構成される。
【００２１】
図３０は制御システム開発支援装置５０の工程フロー設定管理部１４１によって表示部１２で編集する、プログラムブロック間のデータ送受信の記述の一例を模試的に示す説明図である。
【００２２】
同図に示すように、データを送信するプログラムブロック３１Ｄの変数Ｖ４から、分岐条件ブロック４１にデータ転送線４２を引き、同様に、分岐条件ブロック４１からデータ受信するプログラムブロック３１Ｅの変数Ｖ５、プログラムブロック３１Ｆの変数Ｖ６に対してデータ転送線４２を引く。
【００２３】
このように記述しておくと、分岐条件ブロック４１に設定されたデータ転送条件４３が成立した際に、データ転送条件４３の成立状態に応じて、プログラムブロック３１Ｄの変数Ｖ４の値が、プログラムブロック３１Ｅの変数Ｖ５、あるいはプログラムブロック３１Ｆの変数Ｖ６に転送されるデータ転送プログラムが、データ転送プログラム生成部１５２により生成される。
【００２４】
なお、データ転送条件４３として、分岐数ＮＳ１として“２”が設定され、プログラムブロック３１Ｄの出力用変数Ｖ４がプログラムブロック３１Ｅの変数Ｖ５として分岐される条件「Ｖ４→Ｖ５」は、変数Ｖ１が“ＴＲＵＥ”の場合であり、プログラムブロック３１Ｄの出力用変数Ｖ４がプログラムブロック３１Ｆの変数６として分岐される条件「Ｖ４→Ｖ５」は、変数Ｖ２が“ＴＲＵＥ”の場合と設定される。
【００２５】
なお、図３０で示す例では、データ転送条件４３の例では変数Ｖ１が“ＴＲＵＥ”、変数Ｖ２が“ＦＡＬＳＥ”で、優先度がデフォルトの場合を示している。この場合、プログラムブロック３１Ｄの変数Ｖ４は分岐条件ブロック４１によりデータ転送線４２を介してプログラムブロック３１Ｅの変数Ｖ５として分岐転送されることになる。なお、デフォルトは、例えば、分岐条件ブロック４１の接点（データ転送線４２）の位置が左側のものほど優先順位が高くなるものに設定する等が考えられる。
【００２６】
一方、非特許文献１に開示されている、ワーク（非特許文献１の場合は液晶基板にあたる）を送出する上流工程の加工機器から、ワークを受入れる下流工程の加工機器に、ワークを確実に受渡するために、上流工程の加工機器を制御するプログラムブロックと、下流工程の加工機器を制御するプログラムブロックの間で、ワークを受渡するためのデータ（以下、「ハンドシェイク信号」と呼ぶ）の送受信を行っている。
【００２７】
図３１は非特許文献１で開示されたハンドシェイクプロトコルにおけるハンドシェイク信号の送受信関係を模式的に示す説明図である。同図に示すように、上流工程の加工機器を制御する上流工程制御プログラム（ブロック）４５Ｕと下流工程の加工機器を制御する下流工程制御プログラム（ブロック）４５Ｄとの間で時刻ｔ０〜時刻ｔ１２で示す期間にハンドシェイク信号の授受を行っている。
【００２８】
以下、図３１を参照して、非特許文献１で開示されたハンドシェイクプロトコルにおけるハンドシェイク信号の制御手順を説明する。
【００２９】
(1) 時刻ｔ１において、ワーク（液晶基板)の受側である下流工程の加工機器が、ワークを受入可能状態になった時に、下流工程制御プログラム４５Ｄが“ワーク受入可”信号（（Ｒ）Ｒ＿ＲＥＱ）をＯＮにする。
【００３０】
(2) 時刻ｔ２において、ワークの送出側である上流工程の加工機器にて、送出したいワークが発生した場合、上流工程制御プログラム４５Ｕが“ワーク送出要求”信号（（Ｓ）Ｓ＿ＲＥＱ）をＯＮにする。
【００３１】
なお、搬出要求は順次発生するものではないため、(1)及び(2)の処理は、図３１のように(1)，(2)の順序通りに発生するものではない。(2)の処理が発生してから(1)の処理が発生する場合もある。
【００３２】
(3) 時刻ｔ４において、“ワーク受入可”信号、“ワーク送出要求”信号の双方がＯＮしたことで、上流側から下流側への基板搬送条件が成立したことを、上流工程制御プログラム４５Ｕが認識し、上流工程制御プログラム４５Ｕが“ワーク送出機構駆動中”信号（（Ｓ）Ｓ＿ＢＵＳＹ）をＯＮし、上流工程の加工機器でのワークの搬送動作を開始する。
【００３３】
(4) 時刻ｔ５において、下流工程制御プログラム４５Ｄも、“ワーク送出機構駆動中”信号がＯＮになったことを確認し、下流工程制御プログラム４５Ｄが“ワーク受入機構駆動中”信号（（Ｒ）Ｒ＿ＢＵＳＹ）をＯＮし、下流工程の加工機器でのワークの受け取り作業を開始する。
【００３４】
(5) 時刻ｔ８において、上流工程の加工機器が基板の搬送を完了したことを、上流工程制御プログラム４５Ｕが認識し、上流工程制御プログラム４５Ｕが、“ワーク送出機構駆動中”信号をＯＦＦにする。
【００３５】
(6) 時刻ｔ９において、下流工程の加工機器が基板の受け取りを完了したことを、下流工程制御プログラム４５Ｄが認識し、下流工程制御プログラム４５Ｄが、“ワーク受入完了”信号（（Ｒ）ＣＯＭＰＴ）をＯＮにする。
【００３６】
(7) 時刻ｔ１０において、下流工程の加工機器に、基板の受け取りが完了しワークが正常に受入れられたことを、下流工程制御プログラム４５Ｄが認識し、下流工程の加工機器のワーク受入動作を停止するとともに、“ワーク受入機構駆動中”信号をＯＦＦにする。
【００３７】
(8) 時刻ｔ１１において、“ワーク受入完了”信号がＯＮ、“ワーク受入機構駆動中”信号がＯＦＦ、“ワーク送出機構駆動中”信号がＯＦＦになったことを認識した下流工程制御プログラム４５Ｄブロックは、“ワーク受入可”信号をＯＦＦにする。
【００３８】
(9) 同じく時刻ｔ１１において、“ワーク受入完了”信号がＯＮ、“ワーク受入機構駆動中”信号がＯＦＦ、“ワーク送出機構駆動中”信号がＯＦＦになったことを認識した上流工程制御プログラム４５Ｕは、“ワーク送出要求”信号をＯＦＦにする。
【００３９】
(10) 時刻ｔ１２において、“ワーク受入可”信号と、“ワーク送出要求”信号がＯＦＦになったことを、下流工程制御プログラム４５Ｄが認識して、“ワーク受入完了”信号をＯＦＦにする。
【００４０】
図３１示した例に見られるように、搬送型加工装置では、上流工程の加工機器（上流側加工機器）から、下流工程の加工機器（下流側加工機器）にワークを受渡す際に、上流工程制御プログラム４５Ｕと、下流工程制御プログラム４５Ｄの双方向からハンドシェイク信号となるデータを送受する必要がある。
【００４１】
しかしながら、特許文献１で開示された技術は、データの通常転送における転送方向は、一方の工程の出力変数から、他方の工程への入力変数への単方向へのデータ転送しかサポートされていない。
【００４２】
ユーザが記述する上流工程の加工機器から下流工程の加工機器のデータラダープログラムにおいて、サブ装置である加工装置間で、ワークとワークデータを確実に受渡しするためのハンドシェイクプロトコル処理をユーザが記述する必要がある。また、特許文献１では、装置のメカ部のセンサやアクチュエータを制御する部分と、上下流工程の制御プログラムとのハンドシェイクプロトコルを分離して記述することが考慮されておらず、非特許文献１で開示されたハンドシェイクプロトコルを特許文献１で開示された技術に設けることは極めて困難である。
【００４３】
図３２は図２８で示した搬送型加工装置における加工機器の制御プログラム間のデータ転送を記述例を示す説明図である。
【００４４】
同図に示すように、加工機器ＥＡに対応して制御プログラムブロックＰＡが設けられ、加工機器ＥＢ１及びＥＢ２に対応して制御プログラムブロックＰＢ１及びＰＢ２が設けられ、加工機器ＥＣに対応して制御プログラムブロックＰＣが設けられる。そして、加工機器ＥＡの出力を加工機器ＥＢ１あるいは加工機器ＥＢ２の入力に分岐させるための分岐条件プログラムブロックＰ１１が、制御プログラムブロックＰＡと制御プログラムブロックＰＢ１及びＰＢ２との間に設けられる。さらに、加工機器ＥＢ１あるいは加工機器ＥＢ２の出力を選択して加工機器ＥＣに出力するための選択条件プログラムブロックＰ１２が制御プログラムブロックＰＢ１及びＰＢ２と制御プログラムブロックＰＣとの間に設けられる。
【００４５】
制御プログラムブロックＰＡは入力側の変数として入力変数ＶＩ１１、入力変数ＶＩ１２を有し、出力側の変数として出力変数ＶＯ１１を有している。同様にして、制御プログラムブロックＰＢ１は入力変数ＶＩ２１、入力変数ＶＩ２２、出力変数ＶＯ２１及び出力変数ＶＯ２２を有し、制御プログラムブロックＰＢ２は入力変数ＶＩ２３、入力変数ＶＩ２４、出力変数ＶＯ２３及び出力変数ＶＯ２４を有し、制御プログラムブロックＰＣは入力変数ＶＩ３１、出力変数ＶＯ３１及び出力変数ＶＯ３２を有している。
【００４６】
分岐条件プログラムブロックＰ１１はデータ転送線５１を介して出力変数ＶＯ１１を入力し、制御プログラムブロックＰＢ１の入力変数ＶＩ２１あるいは制御プログラムブロックＰＢ２の入力変数ＶＩ２３としてデータ転送線５１を介して選択的に分岐転送する。
【００４７】
選択条件プログラムブロックＰ１２は、制御プログラムブロックＰＢ１より出力変数ＶＯ２２、制御プログラムブロックＰＢ２より出力変数ＶＯ２４をデータ転送線５１を介して受け、出力変数ＶＯ２２及び出力変数ＶＯ２４のうちの一方をデータ転送線５１を介して制御プログラムブロックＰＣの入力変数ＶＩ３１として選択転送する。
【００４８】
さらに、図３１で示したハンドシェイクプロトコルによる処理を実現すべく、下流の制御プログラムブロックＰＢ１及びＰＢ２から上流の制御プログラムブロックＰＡへのデータ転送を可能にする必要がある。すなわち、制御プログラムブロックＰＢ１の出力変数ＶＯ２１と制御プログラムブロックＰＡの入力変数ＶＩ１１とをデータ転送線５２によって接続し、制御プログラムブロックＰＢ２の出力変数ＶＯ２３と制御プログラムブロックＰＡの入力変数ＶＩ１２とをデータ転送線５２によって接続する必要がある。
【００４９】
同様にして、下流の制御プログラムブロックＰＣから上流の制御プログラムブロックＰＢ１及びＰＢ２へのデータ転送を可能にする必要がある。すなわち、制御プログラムブロックＰＣの出力変数ＶＯ３１と制御プログラムブロックＰＢ１の入力変数ＶＩ２２とをデータ転送線５２によって接続し、制御プログラムブロックＰＣの出力変数ＶＯ３２と制御プログラムブロックＰＢ２の入力変数ＶＩ２４とをデータ転送線５２によって接続する必要がある。
【００５０】
このように、図３１で示したハンドシェイクプロトコルによる処理を実現するためには、上流工程の制御プログラムブロックから、下流工程の制御プログラムブロックへのデータ転送線５１に加え、下流工程の制御プログラムブロックから、上流工程の制御プログラムブロックに対して、データ転送線５２を引く必要がある。かつ、上流工程の加工機器の制御プログラムと、下流工程の加工機器の制御プログラム間でワークの受渡を確実に行うためのハンドシェイクプロトコルを管理するプログラムブロックを、使用者自身の手で記述する必要がある。
【００５１】
また搬送型加工装置においては、工程の処理内容に応じて加工機器での処理時間が異なるため、ワークが搬送型加工装置の入口から出口に出てくるまでに必要な時間であるタクトタイムを上げるために、処理時間がかかる工程の加工機器の台数を、増減するといった、装置の構成の変更がなされる。
【００５２】
図３３は図２８の搬送型加工装置の構成を拡張した構成を模式的に示す説明図である。同図に示すように、工程Ｂの処理用の加工機器ＥＢの数を２台の加工機器ＥＢ１及びＥＢ２から、３台の加工機器ＥＢ１〜ＥＢ３に拡張している。
【００５３】
図３３で示すように加工機器ＥＢの台数を増やした場合、当然、加工機器ＥＢの制御プログラムブロックを増やす必要があるが、特許文献１で開示した従来の制御システム開発支援装置では、以下に示すように制御システムを拡張する必要がある。
【００５４】
図３４は図３３で示した搬送型加工装置における加工機器の制御プログラム間のデータ転送を記述例を示す説明図である。
【００５５】
同図に示すように、加工機器ＥＡに対応して制御プログラムブロックＰＡが設けられ、加工機器ＥＢ１〜ＥＢ３に対応して制御プログラムブロックＰＢ１〜ＰＢ３が設けられ、加工機器ＥＣに対応して制御プログラムブロックＰＣが設けられる。そして、加工機器ＥＡの出力を加工機器ＥＢ１〜加工機器ＥＢ３のいずれかの入力に分岐させるための分岐条件プログラムブロックＰ１３が、制御プログラムブロックＰＡと制御プログラムブロックＰＢ１〜ＰＢ３との間に設けられる。さらに、加工機器ＥＢ１〜加工機器ＥＢ３の出力のいずれかを選択して加工機器ＥＣに出力するための選択条件プログラムブロックＰ１４が制御プログラムブロックＰＢ１〜ＰＢ３と制御プログラムブロックＰＣとの間に設けられる。
【００５６】
制御プログラムブロックＰＡは入力側の変数として入力変数ＶＩ１１、入力変数ＶＩ１２及び入力変数ＶＩ１３を有し、出力側の変数として出力変数ＶＯ１１を有している。同様にして、制御プログラムブロックＰＢ１は入力変数ＶＩ２１、入力変数ＶＩ２２、出力変数ＶＯ２１及び出力変数ＶＯ２２を有し、制御プログラムブロックＰＢ２は入力変数ＶＩ２３、入力変数ＶＩ２４、出力変数ＶＯ２３及び出力変数ＶＯ２４を有し、制御プログラムブロックＰＢ３は入力変数ＶＩ２５、入力変数ＶＩ２６、出力変数ＶＯ２５、及び出力変数ＶＯ２６を有している。また、制御プログラムブロックＰＣは入力変数ＶＩ３１、出力変数ＶＯ３１、出力変数ＶＯ３２及び出力変数ＶＯ３３を有している。
【００５７】
分岐条件プログラムブロックＰ１３はデータ転送線５１を介して出力変数ＶＯ１１を入力し、制御プログラムブロックＰＢ１の変数Ｖ２１、制御プログラムブロックＰＢ２の入力変数ＶＩ２３及び制御プログラムブロックＰＢ３の入力変数ＶＩ２５のいずれかとしてデータ転送線５１を介して選択的に分岐転送する。
【００５８】
選択条件プログラムブロックＰ１４は、制御プログラムブロックＰＢ１より出力変数ＶＯ２２、制御プログラムブロックＰＢ２より出力変数ＶＯ２４、制御プログラムブロックＰＢ３より出力変数ＶＯ２６をそれぞれデータ転送線５１を介して受け、出力変数ＶＯ２２、出力変数ＶＯ２４及び出力変数ＶＯ２６のうちの一の変数をデータ転送線５１を介して制御プログラムブロックＰＣの入力変数ＶＩ３１として選択転送する。
【００５９】
さらに、図３１で示したハンドシェイクプロトコルによる処理を実現すべく、下流の制御プログラムブロックＰＢ１〜ＰＢ３から上流の制御プログラムブロックＰＡへのデータ転送を可能にする必要がある。すなわち、制御プログラムブロックＰＢ１の出力変数ＶＯ２１と制御プログラムブロックＰＡの入力変数ＶＩ１１とをデータ転送線５２によって接続し、制御プログラムブロックＰＢ２の出力変数ＶＯ２３と制御プログラムブロックＰＡの入力変数ＶＩ１２とをデータ転送線５２によって接続し、さらに、制御プログラムブロックＰＢ３の出力変数ＶＯ２５と入力変数ＶＩ１３とをデータ転送線５２によって接続する必要がある。
【００６０】
同様にして、下流の制御プログラムブロックＰＣから上流の制御プログラムブロックＰＢ１〜ＰＢ３へのデータ転送を可能にする必要がある。すなわち、制御プログラムブロックＰＣの出力変数ＶＯ３１と制御プログラムブロックＰＢ１の入力変数ＶＩ２２とをデータ転送線５２によって接続し、制御プログラムブロックＰＣの出力変数ＶＯ３２と制御プログラムブロックＰＢ２の入力変数ＶＩ２４とをデータ転送線５２によって接続し、さらに、制御プログラムブロックＰＣの出力変数ＶＯ３３と制御プログラムブロックＰＢ３の入力変数ＶＩ２６とをデータ転送線５２を介して接続する必要がある。
【００６１】
図３４に示すように、下流工程から上流工程へのデータ転送線５２を増やす関係上、加工機器ＥＡの制御プログラムブロックＰＡの入力変数（ＶＩ１１〜ＶＩ１３）の数、及び、加工機器ＥＣの制御プログラムブロックＰＣの出力変数（ＶＯ３１〜ＶＯ３３）の数を、増加する必要がありる。このため、加工機器ＥＡの制御プログラム及び、加工機器ＥＡ〜加工機器ＥＢ１〜ＥＢ３の間で、個々のハンドシェイクプロトコルを管理するプログラムを変更する必要が生じ、加工機器の増減等による装置構成変更時の制御プログラムの開発効率が低下するという問題点が存在する。
【００６２】
このように、搬送型装置では、上下流工程間で、ワーク及びワークデータの送受を行う場合、上下流工程の制御プログラム間で相互にデータを送受する必要がある。しかしながら特許文献１のデータ転送方式として通常転送を指定した場合、一方の工程の出力変数から、他方の工程への入力変数への単方向へのデータ転送しかサポートされていないため、図３２〜図３４で示した例のように、ワーク／ワークデータのハンドシェイクを管理する工程フロープログラムは記述が複雑になるという問題点があった。
【００６３】
データ転送方式としてパルス転送を指定した場合、後に詳述するように、パルス転送指定を行った出力変数に対して出力完了変数が、入力変数に対して入力完了変数が、それぞれパルス転送変数生成部１５３により自動生成され、入力完了変数と、出力完了変数を用いることにより、データ受信側のラダー工程から、データ送信側のラダー工程に対して、ビット型の情報を送ることが可能となる。
【００６４】
上下流工程間でワーク／ワークデータを確実に受渡するためのハンドシェイク処理を制御するためのプログラムは、工程の種別によらず同一パターンのラダープログラムが使用できる。一方サブ装置（加工装置）の処理は、装置の状態、センサ信号値より、アクチュエータ制御信号の値を遷移させるといったように、装置の種別によって異なったラダープログラムにより制御する必要がある。
【００６５】
これらの事項を考慮し、下記の指針の元、搬送型装置の工程フロープログラムを以下の基本指針(a) 〜(c) に従い記述するように改善した。
【００６６】
(a) 一つのサブ装置（加工装置）の制御を、上下流工程のサブ装置間とワークとワークデータの確実な受渡しを行う“ハンドシェイクプロトコル管理ラダー工程”と、サブ装置のセンサ値の読み取り、アクチュエータを制御する“メカ管理工程”とに分離して記述する。
【００６７】
(b) 一つのサブ装置を制御する、“ハンドシェイクプロトコル管理ラダー工程”と“メカ管理工程”間は、上下流工程のサブ装置とのハンドシェイクプロトコル管理を行うための、ハンドシェイク信号変数群とワークデータを要素としてもつ構造体型変数を割り付けたタグにより結びつける。
【００６８】
(c) サブ装置間のワークの流れに対応して、サブ装置の各々に対応する“ハンドシェイクプロトコル管理ラダー工程”間を、パルス転送指定されたデータ転送線で結線する。ハンドシェイクプロトコル管理における下流工程から、上流工程への制御データの流れは、パルス転送指定時に転送条件設定部１４３により自動生成されるシステム変数（出力完了変数、入力完了変数、出力中変数、入力中変数）を活用する。これにより工程フロープログラムの記述において、下流工程の“ハンドシェイクプロトコル管理ラダー工程”から上流工程の”ハンドシェイクプロトコル管理ラダー工程”へのデータ転送線の記述が不要となる。
【００６９】
上記した基本指針(a) 〜(c) に基づき、以下で述べる実施の形態１〜実施の形態６を包含する本発明は、ハンドシェイク信号と、ハンドシェイク信号を管理するハンドシェイク（プログラム）管理（ラダー工程）プログラムブロックを自動生成するようにしている。その結果、使用者は、上下流工程の加工機器の制御プログラムブロック（メカ管理工程プログラム）とのワークの受渡を実現するハンドシェイク処理のためのプログラムを作成する必要が無くなり、加工機器のセンサ値の読取、アクチュエータを制御し、ワークを加工するための、加工機器用のプログラムブロックのみを記述すればよく、使用者が加工装置の制御プログラムを作成するのに要する開発工数を削減することを実現している。
【００７０】
さらに、この発明は、搬送形加工装置において、タクトタイムの減少などのために、ある工程の処理を行う加工機器の数が増減するといった、搬送型加工装置の構成変更時に、加工機器を制御する部分のプログラムを変更すること無く流用可能で、使用者が加工機器の制御プログラムを作成するのに要する開発工数の削減を実現させている。
【００７１】
＜実施の形態１＞
図１はこの発明の実施の形態１である制御プログラム開発支援装置の機能構成を模式的に示すブロック図である。
【００７２】
実施の形態１の装置制御プログラム開発支援装置１０は、入力部１１、表示部１２、制御システム情報管理部１３、工程フロープログラム管理部１４、転送制御プログラム生成部１５、ハンドシェイクプロトコル管理プログラム生成部１７、及びハンドシェイクプロトコル管理プログラム生成部１８と、これらの各処理部１０〜１５，１７，１８を制御する制御部１６とを備えて構成される。実施の形態１の制御プログラム開発支援装置１０は、各々がワークに対して加工処理を行う複数の加工機器を有する加工装置用制御システム用のプログラム開発を支援する装置である。
【００７３】
上述した構成部１１〜１４は図２９で示した制御システム開発支援装置５０の構成部１１〜１４とほぼ同一の機能を有する。また、転送制御プログラム生成部１５内の条件判定プログラム生成部１５１、データ転送プログラム生成部１５２も、図２９で示した制御システム開発支援装置５０の転送制御プログラム生成部１１５内の条件判定プログラム生成部１５１及びデータ転送プログラム生成部１５２と同じ機能を持つ。
【００７４】
入力部１１は、転送制御プログラムを作成する際に必要なデータを、この制御システム開発支援装置１０に設定する際の入力インタフェースである。この入力部１１として、キーボードや、マウスなどのポインティングデバイスなどが用いられる。また、表示部１２は、転送制御プログラムを作成する際に必要なデータ入力画面などを表示する機能を有し、液晶ディスプレイなどの表示装置によって構成される。
【００７５】
制御システム情報管理部１３は、開発対象となる加工装置用制御システムを構成する制御機器全体の情報である制御システム管理情報を管理する処理部であり、制御システム管理情報設定部１３１と、制御システム管理情報格納部１３２とを有する。
【００７６】
制御システム管理情報設定部１３１は、転送制御プログラムの作成対象となる制御システムに関する制御システム管理情報（制御システム構成情報と制御機器構成情報）を取得し、制御システム管理情報格納部１３２に格納する。また、制御システム管理情報設定部１３１は、プログラムの生成時に使用するデバイスの領域を各制御機器に対して設定する。
【００７７】
制御システム管理情報格納部１３２は、開発対象となる制御システムの構成に関する制御システム構成情報と、制御システム内の個々の制御機器の構成に関する制御機器構成情報と、を含む制御システム管理情報を格納する。また、制御システム管理情報格納部１３２は、制御システム管理情報設定部１３１で各制御機器に対して設定されたプログラムの生成時に使用するデバイスの領域についても保持する。なお、転送制御プログラム及びデバイスについては後述する。
【００７８】
制御システム構成情報は、制御システムを構成するためにどのような制御機器を用い、制御機器間がどのようなネットワーク構成でつながれているか、またはベースユニット上にＣＰＵ(Central Processing Unit)ユニットや他の機能ユニット、入出力ユニットなどがどのような構成で接続されているかを示す情報である。
【００７９】
図２は、制御システム構成情報の一例を示す説明図である。図２では、制御システム構成情報は図形式のデータとなっている。
【００８０】
同図に示されるように、制御システムは、制御機器ＣＥＡ〜ＣＥＤで構成される４つの制御機器が制御機器ＣＥＡ−制御機器ＣＥＢ−制御機器ＣＥＣ−制御機器ＣＥＤ−制御機器ＣＥＡの順にリング状に接続され、各制御機器ＣＥ間でのデータの受け渡しは制御機器ＣＥＡ〜ＣＥＤが有する共有メモリ２３Ａ〜２３Ｄを用いて行われる。なお、制御機器ＣＥＡ〜ＣＥＤは固有の制御機器識別情報ＣtrlＡ〜ＣtrlＤを有している。
【００８１】
共有メモリ２３ｉ（ｉ＝Ａ〜Ｄのいずれか）は、例えば、各制御機器ＣＥｉ内のメモリ領域の一部に設定され、リング状に接続されたネットワーク上を、メモリ領域が巡回的に転送される。共有メモリ２３ｉの格納領域は、ネットワーク上の個々の制御機器ＣＥｉが書き込み可能な領域が、それぞれ設定され、自身が書き込み可能なデータ領域以外は、ネットワークより受け取った共有メモリデータの値を、共有メモリ２３ｉの格納領域に書き込み、次に接続された制御機器に共有メモリ領域を転送することにより、共有メモリ機能を実現する。
【００８２】
例えば、制御機器ＣＥＡの共有メモリ２３Ａは、制御機器識別情報ＣtrlＡに関する情報のみ共有メモリ２３Ａ中のメモリ領域ＲＡに対し書込みが行え、メモリ領域ＲＢ〜ＲＣについては前段の制御機器ＣＥＤから受けたメモリ領域ＲＢ〜ＲＤに関する情報をそのまま格納する。すなわち、共有メモリ２３ｉ（ｉ＝Ａ〜Ｄのいずれか）は、制御機器識別情報Ｃtrlｉに関する情報のみ共有メモリ２３ｉ中のメモリ領域Ｒｉのみ書込みが行え、メモリ領域Ｒｉ以外のメモリ領域については前段の制御機器ＣＥから受けたメモリ領域に関する情報をそのまま格納する。共有メモリ２３ｉには制御機器ＣＥｉによって認識される対応の加工機器の実行状態や後述する入力完了変数、出力完了変数等の情報が格納されている。
【００８３】
このような図２に示す個々の共有メモリ２３ｉが上述したデバイスに相当し、共有メモリ２３Ａ〜２３Ｄからなる全体構成が上述した制御システムに該当する。
【００８４】
図１に戻って、工程フロープログラム管理部１４は、制御システムにおける処理の単位ごとに作成されるプログラムをプログラムブロックという単位で扱い、プログラムブロック間におけるデータの受け渡し（接続関係）を管理する。この工程フロープログラム管理部１４は、工程フロー設定管理部１４１と、プログラムブロック設定管理部１４２と、転送条件設定部１４３と、工程フロープログラム設定情報格納部１４４とを有する。
【００８５】
工程フロー設定管理部１４１は、制御システムにおける処理の単位をプログラムブロックという形で表し、他のプログラムブロックの変数との対応関係を示した工程フロー設定情報を管理する。具体的には、ある処理の単位であるプログラムブロックについて、他のプログラムブロックとの間の変数の受け渡しを示す工程フロー設定情報を設定するための工程フロー設定画面を表示部１２に表示させる。そして、この工程フロー設定画面に入力部１１を介して使用者によって入力された内容を工程フロー設定情報として、工程フロープログラム設定情報格納部１４４に格納し管理する。この場合、工程フロープログラム設定情報格納部１４４は工程フロー設定情報格納部として機能する。
【００８６】
工程フロー設定情報は、プログラムブロック間のデータの受け渡しが定義されていれば、テキスト形式のデータでも、図形式のデータでも、その他の形式の情報であってもよい。この明細書では、工程フロー設定情報は、図形式のデータで表示部１２上に表示するものとする。ここで、プログラムブロックは矩形で表現され、変数は矩形内の上下に配置される小さな矩形を配置することで表現される。また、変数の送受信は、出力値となる変数から入力値となる変数に向けて矢印を有する転送線を引くことで表現される。
【００８７】
プログラムブロック間で変数を共有する場合は、共有する変数をタグと呼ぶ図形要素で定義し、共有する変数を設定する。プログラムブロックを示す短径の左右の端から、タグを示す図形要素と結線することで表現される。
【００８８】
なお、これらの図形は予め用意されており、使用者がこれらの図形を、入力部１１を介して所望の形に配置することで設定される。
【００８９】
プログラムブロック設定管理部１４２は、工程フロー設定管理部１４１で設定した各プログラムブロックに対して設定されるプログラムブロック設定情報を管理する。具体的には、プログラムブロックについてのプログラムブロック設定情報を設定するためのプログラムブロック設定画面を表示部１２に表示させる。そして、このプログラムブロック設定画面に入力部１１を介して使用者によって入力された内容をプログラムブロック設定情報として、工程フロープログラム設定情報格納部１４４に格納し、管理する。この場合、工程フロープログラム設定情報格納部１４４はプログラムブロック設定情報格納部として機能する。
【００９０】
プログラムブロック設定情報は、プログラムブロックを実行する制御機器名、対応するプログラムブロックの名称、他のプログラムブロックから受信するデータ値を保持する入力変数、他のプログラムブロックに送信するデータ値を保持する出力変数、他のプログラムブロックと値を共有するデータ値を保持する外部変数を含む。そして、このプログラムブロック設定情報は、工程フロー設定情報で作成されたプログラムブロックと関連付けされている。
【００９１】
また、工程フロープログラム設定情報格納部１４４が格納する工程フロー設定情報には、通常転送とパルス転送の区別を示すデータ転送種類情報がさらに含まれる。図３、図４は、プログラムブロック間のデータ転送の種類の一例を示す説明図であり、図３は、通常転送を示し、図４は、パルス転送を示している。
【００９２】
図３に示されるように、通常転送は、転送条件が成立している期間は常にデータ転送を行うものである。具体的には、転送条件Ｃ１が成立している“Ｈ”の期間に、出力デバイスの値、すなわち、出力側プログラムブロックＰＯ１の出力変数ＶＯが変わると、それに応じて入力デバイスの値、すなわち、入力側プログラムブロックＰＩ１の入力変数ＶＩが変化する。
【００９３】
また、図４に示されるように、パルス転送は、転送条件が成立した瞬間の値のみをデータ転送するものである。具体的には、転送条件Ｃ２が成立時である“Ｈ”立ち上がりの時刻ｔ３１における出力側プログラムブロックＰＯ２の出力変数ＶＯの値を、入力側プログラムブロックＰＩ２の入力変数ＶＩとして取り込み、時刻ｔ３１以降に出力デバイスの値（出力変数ＶＯ）が変化しても、入力デバイスの値（入力変数ＶＩ）は変わらないため、入力デバイスの値が、転送条件が成立した瞬間の出力デバイスの値であることを保証することができる。
【００９４】
図５は図４で示したパルス転送を行う上下流ラダー工程部の関係を模式的に示す説明図である。同図に示すように、上流側ラダー工程部１が出力変数ＶＯ（ＢＯＯＬ変数）を有し、この出力変数ＶＯが条件部３で設定された転送条件Ｃ２を満足すると、下流側ラダー工程部２の入力変数ＶＩ（ＢＯＯＬ変数）として出力される。なお、図４において、時刻ｔ３１〜ｔ４１は単位時間変化を示している。
【００９５】
以下、図４を参照して図５で示した上下流ラダー工程部間におけるパルス転送動作について説明する。まず、時刻ｔ３１に転送条件Ｃ２が成立すると、時刻ｔ３２で出力中変数ＶＯ２が“Ｈ”に立ち上がる（ＯＮする）。
【００９６】
そして、時刻ｔ３３において、時刻ｔ３１における上流側ラダー工程部１（出力側プログラムブロックＰＯ２）の出力変数ＶＯの値が下流側ラダー工程部２（入力側プログラムブロックＰＩ２）の入力変数ＶＩとして取り込まれると、下流側ラダー工程部２の入力中変数ＶＩ２が“Ｈ”に立ち上がる（ＯＮする）。
【００９７】
その後、下流側ラダー工程部２のラダープログラムに従い、入力変数ＶＩとして出力変数ＶＯが確実に取り込まれたと判断される時刻ｔ３６で入力完了変数ＶＣＩが“Ｈ”に立ち上がる。
【００９８】
次に、時刻ｔ３７において、入力完了変数ＶＣＩの“Ｈ”立ち上がりに応答して、出力完了変数ＶＣＯが“Ｈ”に立ち上がる。
【００９９】
その後、時刻ｔ３８において、出力完了変数ＶＣＯの“Ｈ”立ち上がりに応答して、出力中変数ＶＯ２が“Ｌ”に立ち下がる（ＯＦＦする）。
【０１００】
そして、時刻ｔ３９において、出力中変数ＶＯ２の“Ｌ”立ち下がりに応答して、入力中変数ＶＩ２が“Ｌ”に立ち下がる。
【０１０１】
続いて、時刻ｔ４０において、入力中変数ＶＩ２の“Ｌ”立ち下がりに応答して、入力完了変数ＶＣＩが“Ｌ”に立ち下がる。
【０１０２】
最後に、時刻ｔ４１において、入力完了変数ＶＣＩの“Ｌ”立ち下がりに応答して、出力完了変数ＶＣＯが“Ｌ”に立ち下がり、パルス転送動作が終了する。出力完了変数ＶＣＯが時刻ｔ３７〜時刻ｔ４１の期間“Ｈ”を維持しているため、上流側ラダー工程部１のラダープログラムは出力完了変数ＶＣＯの“Ｈ”（ＯＮ）を確実に認識することができる。
【０１０３】
実施の形態１の制御プログラム開発支援装置１０においては、パルス転送変数生成部１５３により、パルス転送する出力変数側のプログラムブロックに、ビット型の出力完了変数及び出力中変数（図４の出力完了変数ＶＣＯ及び出力中変数ＶＯ２に相当）、入力変数側のプログラムブロックに、ビット型の入力完了変数及び入力中変数（図４の入力完了変数ＶＣＩ及び入力中変数ＶＩ２に相当）が生成され、制御システム管理情報格納部１３２内に制御システム内変数管理情報として保存される。
【０１０４】
すなわち、データ転送条件が成立している状態で、図４に示すように、出力変数ＶＯの値が入力変数ＶＩとして正しく転送されたことを示す、入力側プログラムブロックＰＩ２の入力完了変数ＶＣＩの値をＯＮにすると、パルス転送変数値管理プログラム（図４，図５の例では下流側ラダー工程部２のラダープログラム）により、出力側プログラムブロックＰＯ２の出力完了変数ＶＣＯの値がＯＮとなる。その結果、入力側プログラムブロックＰＩ２から、出力側プログラムブロックＰＯ２に、データ転送が完了したことを通知することが可能となる。また入力完了変数と出力完了変数の値は、入力中変数及び出力中変数を媒介として、ＯＮ（“Ｈ”）から所定期間経過後にＯＦＦ（“Ｌ”）に値が変えられる。なお、パルス転送変数値管理プログラムは後述するパルス転送変数値管理プログラム生成部１５４によって生成されるプログラムを意味する。
【０１０５】
図６〜図８は、工程フロー設定管理部１４によって設定内容が管理され、表示部１２に表示される、工程フロープログラム表示画面の一例を示す説明図である。図６において、ポジション制御ブロックＳＰＡ及びポジション制御ブロックＳＰＢ１からなる全体構成を、図７においてポジション制御ブロックＳＰＡの内部構成を、図８においてポジション制御ブロックＳＰＢ１の内部構成を示している。なお、ポジションとは、ワークを同時に１個だけ処理できる部分を意味する。また、図７及び図８において、プログラムブロック設定管理部１４２よって管理されるプログラムブロック設定情報も示されている。
【０１０６】
これらの図において、上流側加工機器として加工機器ＥＡとし、下流側加工機器をＥＢ１とし、加工機器ＥＡ用の制御機器で実行されるポジション制御ブロックＳＰＡと加工機器ＥＢ１用の制御機器で実行されるポジション制御ブロックＳＰＢ１の詳細を示している。
【０１０７】
これらの図は、上流工程の加工機器（図示せず）より、加工機器ＥＡがワークを受入れ、加工機器ＥＡでワークを加工し、加工終了後、加工機器ＥＢ１にワークを送出し、加工機器ＥＢ１がワークを受入、加工機器ＥＢ１でワークを加工し、加工終了後、下流工程の加工機器（図示せず）にワークを送出する、工程の流れを記述したものである。
【０１０８】
加工機器ＥＡの制御、加工機器ＥＡが上下流工程の加工機器とハンドシェイク処理を行うポジション制御ブロックＳＰＡの記述について説明する。
【０１０９】
まず、図７で示すポジション制御ブロックＳＰＡの詳細について説明する。同図に示すように、加工機器ＥＡ用の制御プログラムブロックＰＡは、加工機器ＥＡを制御するプログラムブロックである。
【０１１０】
制御プログラムブロックＰＡは制御信号用タグＣＴＡに設定された、加工機器ＥＡのセンサ信号、アクチュエータ制御信号を用いて加工機器ＥＡの制御を行う。また、制御プログラムブロックＰＡはハンドシェイク信号用タグＨＴＡに設定された、ハンドシェイク信号により、加工機器ＥＡの上流工程及び下流工程の加工機器用の制御プログラムとワークを受渡するためのハンドシェイク処理を行う。
【０１１１】
なお、ハンドシェイク信号用タグＨＴＡで設定されたハンドシェイク変数としては、上流工程とのハンドシェイク変数として、ワーク受入可信号を示す（Ｒ）Ｒ＿ＲＥＱ＿Ａ、ワーク送出要求信号を示す（Ｒ）Ｓ＿ＲＥＱ＿Ａ、ワーク受入機構駆動中信号を示す（Ｒ）Ｒ＿ＢＵＳＹ＿Ａ、及びワーク受入完了信号を示す（Ｒ）ＣＯＭＰＴ＿Ａがある。また、下流工程とのハンドシェイク変数として、ワーク送出要求信号を示す（Ｓ）Ｓ＿ＲＥＱ＿Ａ、ワーク受入可信号を示す（Ｓ）Ｒ＿ＲＥＱ＿Ａ、ワーク送出駆動中信号を示す（Ｓ）Ｓ＿ＢＵＳＹ＿Ａ、ワーク送出駆動中信号を示す（Ｓ）Ｓ＿ＢＵＳＹ＿Ａ、及びワーク受入完了信号を示す（Ｓ）ＣＯＭＰＴ＿Ａがある。
【０１１２】
ハンドシェイク（プロトコル）管理プログラムブロックＰＨＡは、加工機器ＥＡが、上下流工程の加工機器とワークの受渡を確実に行うために、ハンドシェイク信号用タグＨＴＡに割り付けられたハンドシェイク信号を管理するプログラムブロックである。
【０１１３】
パルス型の入力変数として、上流工程からの、“ワーク送出要求”、“ワーク送出開始”を示すＢＯＯＬ型変数を要素に取る構造体型変数であるハンドシェイクプロトコル制御変数ＶＡＲが設定されている。そして、このパルス型入力変数に対する入力完了変数ＶＣＩＡが設定される。
【０１１４】
またパルス型の出力変数として、下流工程への、“ワーク送出要求”、”ワーク送出開始”を示すＢＯＯＬ型変数を要素に取る構造体型変数であるハンドシェイクプロトコル制御変数ＶＡＳが設定されている。そして、このパルス型入力変数に対する出力完了変数ＶＣＯＡが設定される。
【０１１５】
ハンドシェイクプロトコル管理プログラム生成部１７により、ハンドシェイク信号を示すハンドシェイク信号用タグＨＴＡ、ハンドシェイク信号用タグＨＴＡに割り付けるハンドシェイク信号を要素にもつ構造体型変数、ハンドシェイク管理プログラムブロックＰＨＡに割り付けるプログラム、ハンドシェイクプロトコル制御変数ＶＡＲ、入力完了変数ＶＣＩＡ、ハンドシェイクプロトコル制御変数ＶＡＳ、出力完了変数ＶＣＯＡは、自動生成され、制御システム情報管理部１３に登録される。なお、ハンドシェイクプロトコル管理プログラム生成部１７がハンドシェイク信号用タグＨＴＡ、ハンドシェイク管理プログラムブロックＰＨＡ等を自動生成できるのは、後述するハンドシェイクプロトコルが予め規定されているからである。
【０１１６】
使用者は、入力部１１を用いて、加工機器ＥＡ用の制御プログラムブロックＰＡに割り付けるプログラムと、制御信号用タグＣＴＡに割り付ける加工機器ＥＡを制御するための構造体型変数を設定し、制御システム情報管理部１３に登録する。
【０１１７】
また、使用者は、制御プログラムブロックＰＡ，制御信号用タグＣＴＡ間、制御プログラムブロックＰＡ，ハンドシェイク信号用タグＨＴＡ間、及びハンドシェイク管理プログラムブロックＰＨＡ，ハンドシェイク信号用タグＨＴＡ間それぞれを、入力部１１を操作しデータ共有線Ｌ１を用いて接続する。
【０１１８】
なお、図８に示す、加工機器ＥＢ１の制御、加工機器ＥＢ１が上下流工程の加工機器とハンドシェイク処理を行う部分であるポジション制御ブロックＳＰＢ１の記述については、加工機器ＥＡの場合と同様である。
【０１１９】
すなわち、ポジション制御ブロックＳＰＢ１の制御信号用タグＣＴＢ１、制御プログラムブロックＰＢ１、ハンドシェイク信号用タグＨＴＢ１及びハンドシェイク（プロトコル）管理プログラムブロックＰＨＢ１は、ポジション制御ブロックＳＰＡの制御信号用タグＣＴＡ、制御プログラムブロックＰＡ、ハンドシェイク信号用タグＨＴＡ及びハンドシェイク管理プログラムブロックＰＨＡに対応する。また、ハンドシェイク管理プログラムブロックＰＨＢ１内のハンドシェイクプロトコル制御変数ＶＢＲ１、入力完了変数ＶＣＩＢ１、ハンドシェイクプロトコル制御変数ＶＢＳ１、及び出力完了変数ＶＣＯＢ１は、ハンドシェイク管理プログラムブロックＰＨＡ内のハンドシェイクプロトコル制御変数ＶＡＲ、入力完了変数ＶＣＩＡ、ハンドシェイクプロトコル制御変数ＶＡＳ及び出力完了変数ＶＣＯＡに対応する。
【０１２０】
なお、ハンドシェイク信号用タグＨＴＢ１で設定された上流工程用のハンドシェイク変数として、上流工程とのワーク受入可信号（Ｒ）Ｒ＿ＲＥＱ＿Ｂ１、ワーク送出要求信号（Ｒ）Ｓ＿ＲＥＱ＿Ｂ１、ワーク受入機構駆動中信号（Ｒ）Ｒ＿ＢＵＳＹ＿Ｂ１、及びワーク受入完了信号（Ｒ）ＣＯＭＰＴ＿Ｂ１がある。また、下流工程とのハンドシェイク変数として、ワーク送出要求信号（Ｓ）Ｓ＿ＲＥＱ＿Ｂ１、ワーク受入可信号（Ｓ）Ｒ＿ＲＥＱ＿Ｂ１、ワーク送出駆動中信号（Ｓ）Ｓ＿ＢＵＳＹ＿Ｂ１、ワーク送出駆動中信号（Ｓ）Ｓ＿ＢＵＳＹ＿Ｂ１、及びワーク受入完了信号（Ｓ）ＣＯＭＰＴ＿Ｂ１がある。
【０１２１】
ポジション制御ブロックＳＰＡ内の転送条件ブロック２５Ａでは、加工機器ＥＡのハンドシェイク管理プログラムブロックＰＨＡのパルス転送型の出力変数であるハンドシェイクプロトコル制御変数ＶＡＳを、加工機器ＥＢ１のハンドシェイク管理プログラムブロックＰＨＢ１のパルス転送型の入力変数であるハンドシェイクプロトコル制御変数ＶＢＲ１へのデータ転送条件を設定するものである。
【０１２２】
図７で示す転送条件ブロック２５Ａの転送条件ＣＡは、算術式入力領域６１Ａ、論理式入力領域６２Ａ及び条件判定用制御機器入力領域６３Ａを有している。この転送条件ＣＡは、上流工程側の加工機器の数が１個（制御機器識別情報ＣtrlＡによって指示される加工機器ＥＡ）、下流工程側の加工機器の数が１個（加工機器ＥＢ１）である場合の転送条件を示しており、「上流工程側の加工機器のデバイスに割り付けられた状態遷移変数ＦＶＡがＴＲＵＥであること」であることを示している。なお、転送条件ＣＡの内容については後に詳述する。
【０１２３】
使用者は、ワークの送出する加工機器ＥＡのハンドシェイク管理プログラムブロックＰＨＡと転送条件ブロック２５Ａとの間、及び転送条件ブロック２５Ａとワークを受入るハンドシェイク管理プログラムブロックＰＨＢ１との間を、データ転送線Ｌ２で接続する。このように、データ転送線Ｌ２によって転送条件ブロック２５Ａを介してハンドシェイク管理プログラムブロックＰＨＡとハンドシェイク管理プログラムブロックＰＨＢ１とを結線することにより、ハンドシェイク管理プログラムブロックＰＨＡとハンドシェイク管理プログラムブロックＰＨＢ１との上下流接続関係を設定することができる。
【０１２４】
一方、データ転送プログラム生成部１５２により、転送条件ブロック２５Ａ及び、その転送条件ＣＡが加工機器ＥＡ用の制御機器で実行可能なプログラムが自動生成され、制御システム情報管理部１３に登録される。以下、この点について詳述する。
【０１２５】
転送条件設定部１４３は、各ポジション制御ブロック間のデータの転送条件設定情報を管理する。具体的には、複数のポジション制御ブロック間で受け渡しされるデータの転送条件を設定するための転送条件設定画面を表示部１２に表示させる。そして、この転送条件設定画面に入力部１１を介して使用者によって入力された内容を転送条件設定情報として、工程フロープログラム設定情報格納部１４４に格納し管理する。この場合、工程フロープログラム設定情報格納部１４４は転送条件設定情報格納部として機能する。
【０１２６】
転送条件設定情報には、ポジション制御ブロック間でデータの転送を行うための条件（転送条件）を、制御機器（制御プログラムブロック）で使用される変数を用いた算術式と、この算術式を組み合わせた論理式で表現したものと、この転送条件を判定する制御機器名と、が含まれる。この転送条件設定部１４３によって設定された転送条件設定情報に基づいて、後述する転送制御プログラム生成部１５は、転送制御プログラムを作成する。
【０１２７】
次に、図７で示した転送条件ＣＡについて詳述する。転送条件ＣＡは、デバイス名や変数名を用いた算術式を入力する算術式入力領域６１Ａと、算術式入力領域６１Ａに入力された算術式の結果を用いて転送条件である論理式を入力する論理式入力領域６２Ａと、この転送条件の判定をどの制御機器で行うのかを示す条件判定用制御機器入力領域６３Ａとを有する。
【０１２８】
算術式入力領域６１Ａには、図７に示されるように、算術式に対して一意に付される条件番号と、変数と、その変数がどの制御機器で得られるかを示す制御機器識別情報と、複数の変数間の比較を行う比較演算子と、が含まれる。例えば、図７の条件番号１では、制御機器識別情報が「加工機器ＥＡ用の制御機器（ＣｔｒｌＡ）」である制御機器に割り当てられた変数「状態遷移変数ＦＶＡ」を、制御機器識別情報が定数ある「ＴＲＵＥ」と比較して、両者が等しいか否かを判定するものである。
【０１２９】
論理式入力領域６２Ａでは、算術式入力領域６１Ａで入力された算術式の結果を用いて論理演算を行う条件が示されるが、算術式に一意に付された条件番号を用いて、論理式が使用者によって組み立てられる。例えば、図７に示される例では、条件番号１で示される算術式の結果を用いて、「１」という論理式が転送条件として指定される。すなわち、条件番号１で示される算術式のみによって転送条件が決定されることを示している。
【０１３０】
工程フロープログラム設定情報格納部１４４は、上記の工程フロー設定管理部１４１で管理される工程フロー設定情報と、プログラムブロック設定管理部１４２で管理されるプログラムブロック設定情報と、転送条件設定部１４３で管理される転送条件設定情報と、を関連付けて格納する。
【０１３１】
転送制御プログラム生成部１５は、工程フロープログラム管理部１４で作成された工程フロー設定情報に対応する転送制御プログラムを作成する処理部であり、条件判定プログラム生成部１５１、データ転送プログラム生成部１５２、パルス転送変数生成部１５３及びパルス転送変数値管理プログラム生成部１５４を有する。
【０１３２】
条件判定プログラム生成部１５１は、転送条件設定部１４３で設定された転送条件設定情報に基づいて、転送条件を判定するための条件判定プログラムを生成する。そして、生成した条件判定プログラムを、転送条件設定情報に定められた条件判定制御機器に設定する。
【０１３３】
データ転送プログラム生成部１５２は、条件判定プログラム生成部１５１によって生成された条件判定プログラムを利用して、工程フロー設定管理部１４１で設定された工程フロー設定情報とプログラムブロック設定情報とに基づいてデータ転送プログラムを生成する。そして、生成したデータ転送プログラムを、関連する制御機器に対して設定する。
【０１３４】
パルス転送変数生成部１５３は入力変数及び出力変数等のパルス転送変数を生成し、パルス転送変数値管理プログラム生成部１５４は入力完了変数、出力完了変数を用いて上記パルス転送変数値を管理するによるパルス転送変数値管理プログラムを生成する。パルス転送変数生成部１５３及びパルス転送変数値管理プログラム生成部１５４が、パルス転送変数及びパルス転送変数値管理プログラムを生成できるのは、後述するハンドシェイクプロトコルが予め規定されているからである。したがって、パルス転送変数生成部１５３及びパルス転送変数値管理プログラム生成部１５４によって、入力完了変数生成・管理部を構成することができる。
【０１３５】
なお、転送制御プログラム生成部１５では、転送条件を判定するための条件判定プログラムを条件判定プログラム生成部１５１によって生成し、条件成立時にデータ転送を行うためのデータ転送プログラムをデータ転送プログラム生成部１５２で生成することを、転送線５０３で結線された出力デバイス側のポジション制御ブロックと入力デバイス側のポジション制御ブロックのすべての組に対して繰り返し行う。
【０１３６】
次に、このような構成の制御システム開発支援装置１０を用いた制御システム開発支援方法における転送条件判定プログラムの作成処理手順と、データ転送プログラムの作成処理手順とについて、順に説明する。
【０１３７】
図９は、転送条件判定プログラムの作成処理手順を示すフローチャートである。予め、入力部１１を介して、開発対象となる制御システムのポジション制御ブロック間のデータの受け渡し関係を示す工程フロー設定情報、各ポジション制御ブロックの設定情報を示すプログラムブロック設定情報、およびポジション制御ブロック間のデータの転送条件を示す転送条件設定情報が、使用者によって設定され、工程フロープログラム設定情報格納部１４４に格納されている状態にあるものとする。
【０１３８】
まず、条件判定プログラム生成部１５１は、工程フロープログラム設定情報格納部１４４から転送条件設定情報を抽出し、転送条件を判定する制御機器名を取得する（ステップＳ１１）。例えば、図７に示される転送条件ＣＡをそのまま転送条件設定情報としてみなすと、この中の条件判定用制御機器入力領域６３Ａに入力される値を参照して、転送条件を判定する制御機器名を取得する。
【０１３９】
ついで、転送条件設定情報に含まれるデバイス（変数）の内、抽出していないものが存在するか否かを判定する（ステップＳ１２）。抽出していないものが存在する場合（ステップＳ１２でＹｅｓの場合）には、転送条件判定情報の中から転送条件の判定に用いるデバイス（変数）を１つ抽出する（ステップＳ１３）。この抽出は、例えば図７の算術式入力領域６１Ａに入力された各変数の内の１つの変数を抽出する。
【０１４０】
その後、抽出した転送条件の判定に用いるデバイス（変数）の制御機器と、ステップＳ１１で抽出した転送条件の判定を行う制御機器とが異なるか否かを判定する（ステップＳ１４）。例えば図７の例では、その算術式入力領域６１Ａから、ステップＳ１３で抽出したデバイス（変数）の制御機器識別情報を抽出し、この制御機器識別情報とステップＳ１１で取得した条件判定用の制御機器名とが異なるかを判定する。
【０１４１】
抽出したデバイス（変数）の制御機器と判定を行う制御機器とが異なる場合（ステップＳ１４でＹｅｓの場合）には、条件判定プログラム生成部１５１は、条件を判定する制御機器が異なる制御機器のデバイス（変数）を利用するための変数出力プログラムを生成する（ステップＳ１５）。このとき、条件判定プログラム生成部１５１は、制御システム管理情報格納部１３２の制御システム構成情報を参照し、プログラムを作成する制御システムのネットワーク構成に適した変数出力プログラムを生成する。例えば、イーサネット（登録商標）で接続されたネットワーク構成の場合には、抽出したデバイス（変数）の制御機器が、判定を行う制御機器に対して変数を送信する変数出力プログラムを作成し、共有メモリを有するネットワークで接続された構成の場合には、抽出したデバイス（変数）の制御機器が、判定を行う制御機器との間の共有メモリに変数を書込み、判定を行う制御機器が共有メモリに書き込まれた変数を読込む変数出力プログラムを作成する。
【０１４２】
その後、またはステップＳ１４で抽出したデバイス（変数）の制御機器と判定を行う制御機器とが同じ場合（ステップＳ１４でＮｏの場合）には、ステップＳ１２へと戻り、転送条件設定情報に含まれるデバイス（変数）の内、抽出していないデバイス（変数）がなくなるまで、上述した処理が繰り返し実行される。
【０１４３】
一方、ステップＳ１２で条件に用いるデバイス（変数）の内、抽出していないものが存在しない場合（ステップＳ１２でＮｏの場合）には、転送条件設定情報に含まれる算術式と論理式と、ステップＳ１５で作成した異なる制御機器のデバイス（変数）を利用するための変数出力プログラムとを用いて、条件判定プログラムを作成する（ステップＳ１６）。以上によって、転送条件判定プログラムの作成処理が終了する。
【０１４４】
図１０は、上流工程側である加工機器ＥＡと、下流工程側である加工機器ＥＢ１との間の、ワークの確実な受渡を実現するハンドシェイクプロトコル（上下流間データ転送プロトコル）管理の処理手順を示す説明図である。
【０１４５】
同図に示すように、上流工程の加工機器ＥＡを制御するポジション制御ブロックＳＰＡ側（制御プログラムブロックＰＡ及びハンドシェイク管理プログラムブロックＰＨＡ等）と、下流工程の加工機器ＥＢ１を制御するポジション制御ブロックＳＰＢ１（制御プログラムブロックＰＢ１及びハンドシェイク管理プログラムブロックＰＨＢ１等）との間で時刻ｔ０〜時刻ｔ１４で示す期間にハンドシェイク信号（変数）の授受を行っている。
【０１４６】
なお、制御プログラムブロックＰＡ及びＰＢ１は、サブ装置（加工機器ＥＡ及び加工機器ＥＢ）のメカ制御ラダー工程を実行するプログラムのブロックであり、ハンドシェイク管理プログラムブロックＰＨＡ及びＰＨＢ１は、サブ装置のハンドシェイクプロトコル管理ラダー工程を実行するプログラムのブロックである。
【０１４７】
また、制御プログラムブロックＰＡ及び制御プログラムブロックＰＢ並びにハンドシェイク管理プログラムブロックＰＨＡ及びハンドシェイク管理プログラムブロックＰＨＢは、稼動中に５つの実行状態を持つ。５つの状態とは、(a) ワーク受入待ち状態、(b) ワーク受入中状態、(c) ワーク加工中状態、(d) ワーク送信待ち状態、(e) ワーク送信中状態である。
【０１４８】
また、図１０において、実線細線は外部変数による制御プログラムブロック（ＰＡ，ＰＢ１），ハンドシェイク管理プログラムブロック（ＰＨＡ，ＰＨＢ１）間のデータ受け渡しを示し、外部変数の値の変更側のプログラムブロックからのデータ受け渡しを示している。実線太線はハンドシェイク管理プログラムブロックＰＨＡからハンドシェイク管理プログラムブロックＰＨＢ１へのパルス転送によるデータ送受信を示し、出力変数であるハンドシェイクプロトコル制御変数ＶＡＳの入力変数であるハンドシェイクプロトコル制御変数ＶＢＲ１へのデータ送受信を示している。また、白抜き矢印は、ハンドシェイク管理プログラムブロックＰＨＢ１からハンドシェイク管理プログラムブロックＰＨＡへ向けて行う、パルス転送の入力完了変数ＶＣＩＢ１（受信完了変数）のデータ送受信を示している。
【０１４９】
図１１は図１０におけるハンドシェイク管理プログラムブロックＰＨＡによるラダープログラムの実行内容をラダー言語を用いて示した説明図である。図１２は図１０におけるハンドシェイク管理プログラムブロックＰＨＢ１によるラダープログラムの実行内容ラダー言語を用いて示した説明図である。
【０１５０】
以下、図１０を主として参照し、図１１あるいは図１２を適宜参照しながら、非特許文献１で開示されたハンドシェイクプロトコル（上下流間データ転送プロトコル）におけるハンドシェイク信号（変数）の制御手順を説明する。
【０１５１】
(1) 時刻ｔ１において、ワークの受入側である下流工程側の加工機器ＥＢ１用の制御プログラムブロックＰＢが、ワークを受入可能なワーク受入待ち状態になった時に、加工機器ＥＢ１のハンドシェイク信号用タグＨＴＢ１に割り付けられた構造体変数の要素である、ワーク受入可信号を示す（Ｒ）Ｒ＿ＲＥＱ＿Ｂ１の値をＯＦＦからＯＮにする。また自身の実行状態を、(a) “ワーク受入待ち“状態に遷移させる。
【０１５２】
(2) 時刻ｔ２において、ワークの送出側である上流工程側の加工機器ＥＡ用の制御プログラムブロックＰＡは、送出したいワークが発生し、ワーク送出待ち状態になった時に、加工機器ＥＡのハンドシェイク信号用タグＨＴＡに割り付けられた構造体変数の要素である、ワーク送出要求信号を示す（Ｓ）Ｓ＿ＲＥＱ＿ＡをＯＮにする。また、自身の実行状態を、(d) “ワーク送出待ち“状態に遷移させる。
【０１５３】
また、加工機器ＥＡのハンドシェイク信号用タグＨＴＡに割り付けられた構造体変数の要素である、ワーク受入完了信号を示す（Ｓ）ＣＯＭＰＴ＿ＡをＯＦＦにする（次のサイクルを示すＮＴ(1)参照）。
【０１５４】
なお、搬出要求は順次発生するものではないため、(1)，(2)の処理は、(1)，(2)の順通りに発生するものではない。(2)が発生してから(1)が発生する場合もある。
【０１５５】
(3) 時刻ｔ３において、上流工程側のハンドシェイク管理プログラムブロックＰＨＡは、ワーク送出要求信号を示す（Ｓ）Ｓ＿ＲＥＱ＿ＡがＯＦＦからＯＮになったのを検出した時に、構造体型の出力変数ハンドシェイクプロトコル制御変数ＶＡＳの“（Ｓ）ワーク送出要求”要素の値をＯＮにし、かつ転送条件ブロック２５Ａの転送条件ＣＡに設定された、状態遷移変数ＦＶＡの値をＯＮ(ＴＲＵＥ)にする。その結果、ハンドシェイクプロトコル制御変数ＶＡＳ（出力変数）の値が、下流工程のハンドシェイク管理プログラムブロックＰＨＢ１のハンドシェイクプロトコル制御変数ＶＢＲ１（入力変数）にパルス転送され、ハンドシェイクプロトコル制御変数ＶＢＲ１の“（Ｒ）ワーク送出要求”要素の値がＯＮとなる。また、自身の実行状態を、(d) “ワーク送出待ち“状態に遷移させる。
【０１５６】
上記項目(3)の動作は、図１１の(a) に示すように、「（Ｓ）Ｓ＿ＲＥＱ＿ＡがＯＦＦからＯＮになった状態（↑）に応答して、“（Ｓ）ワーク送出要求”及び状態遷移変数ＦＶＡがＯＮ（ＳＥＴ）され、また自身の実行状態を、(a) “ワーク送出待ち”状態に遷移（ＭＯＶ）させる。」ラダープログラムを実行させることにより実現可能である。
【０１５７】
(4) 時刻ｔ４において、下流工程のハンドシェイク管理プログラムブロックＰＨＢ１は、ハンドシェイク信号用タグＨＴＢ１に割り付けられた構造体型変数で、ワーク受入可信号を示す（Ｒ）Ｒ＿ＲＥＱ＿Ｂ１がＯＮであり、パルス転送指定された上記入力変数に対する入力中変数がＯＮでパルス転送のデータ転送が完了しており、かつ構造体型のハンドシェイクプロトコル制御変数ＶＢＲ１の“（Ｒ）ワーク送出要求”要素の値がＯＮである場合、加工機器ＥＢ１のハンドシェイク信号用タグＨＴＢ１に割り付けられた構造体型変数で、ワーク送出要求信号を示す（Ｒ）Ｓ＿ＲＥＱ＿Ｂ１の値をＯＦＦからＯＮにする。また自身の実行状態を、(a) “ワーク受入待ち”状態に遷移させる。
【０１５８】
上記項目(4)の動作は、図１２の(a) に示すように、「（Ｒ）Ｒ＿ＲＥＱ＿Ｂ１がＯＦＦからＯＮし、かつ“（Ｒ）ワーク送出要求”要素の値がＯＮしたことに応答して、（Ｒ）Ｓ＿ＲＥＱ＿Ｂ１がＯＮ（ＳＥＴ）され、また自身の実行状態を、(a) “ワーク受入待ち”状態に遷移（ＭＯＶ）させる。」ラダープログラムを実行させることにより実現可能である。
【０１５９】
(5) 時刻ｔ５において、下流工程の加工機器ＥＢ１用の制御プログラムブロックＰＢ１は、ハンドシェイク信号用タグＨＴＢ１に割り付けられた構造体型変数で、ワーク送出要求信号（を示す）（Ｒ）Ｓ＿ＲＥＱ＿Ｂ１の値がＯＦＦからＯＮになったのを検知し、加工機器ＥＢ１を制御する変数が割付られた制御信号用タグＣＴＢ１を用いて、加工機器ＥＢ１のワーク受入機構を駆動開始するとともに、ハンドシェイク信号用タグＨＴＢ１に割り付けられた構造体型変数で、ワーク受入駆動中信号を示す（Ｒ）Ｒ＿ＢＵＳＹ＿Ｂ１の値をＯＦＦからＯＮにする。また、自身の実行状態を、(b) “ワーク受入中”状態に遷移させる。
【０１６０】
ハンドシェイク管理プログラムブロックＰＨＢ１は、ハンドシェイク信号を示すタグに割り付けられた構造体型変数の要素“ワーク受入駆動中”を示す信号（Ｒ）＿Ｒ＿ＢＵＳＹ＿Ｂ１の値がＯＦＦからＯＮになったのを検知して、自身の実行状態を”ワーク受入中状態”に遷移させる。
【０１６１】
(6) 時刻ｔ６において、下流工程のハンドシェイク管理プログラムブロックＰＨＢ１は、下流工程のハンドシェイク信号用タグＨＴＢ１に割り付けられた構造体型変数で、ワーク受入駆動中信号（を示す）（Ｒ）Ｒ＿ＢＵＳＹ＿Ｂ１の値がＯＦＦからＯＮになったのを検知して、ハンドシェイクプロトコル制御変数ＶＢＲ１（入力変数）に対する入力完了変数ＶＣＩＢ１をＯＮにする。そして、図２で示したネットワーク上の共有メモリ機構（所定の情報伝達ルート）を通じて、データ転送元である、上流工程のハンドシェイク管理プログラムブロックＰＨＡのハンドシェイクプロトコル制御変数ＶＡＳ（出力変数）に対する出力完了変数ＶＣＯＡの値をＯＦＦからＯＮにする。
【０１６２】
さらに、ハンドシェイク管理プログラムブロックＰＨＢ１は、ワーク送出要求信号（Ｒ）Ｓ＿ＲＥＱ＿Ｂ１の値をＯＮからＯＦＦにする。また、自身の実行状態を、(b) “ワーク受入中”状態に遷移させる。
【０１６３】
上記項目(6)の動作は、図１２の(b) に示すように、「（Ｒ）Ｒ＿ＢＵＳＹ＿Ｂ１がＯＦＦからＯＮした（↑）ことに応答して、入力完了変数ＶＣＩＢ１がＯＮ（ＳＥＴ）され、（Ｒ）Ｓ＿ＲＥＱ＿Ｂ１がＯＦＦ（ＲＳＴ）され、自身の実行状態を、(b) “ワーク受入中”状態に遷移（ＭＯＶ）させる。」ラダープログラムを実行させることにより実現可能である。
【０１６４】
(7) 時刻ｔ７において、上流工程のハンドシェイク管理プログラムブロックＰＨＡは、時刻ｔ６にハンドシェイクプロトコル制御変数ＶＡＳ（出力変数）に対する出力完了変数ＶＣＯＡの値が、ＯＦＦからＯＮになったのを検知して、上流工程のハンドシェイク信号をハンドシェイク信号用タグＨＴＡに割り付けられた構造体型変数で、ワーク受入可信号（を示す）（Ｓ）Ｒ＿ＲＥＱ＿Ａの値をＯＦＦからＯＮにする。また転送条件ブロック２５Ａの転送条件ＣＡに設定された、状態遷移変数ＦＶＡの値をＯＦＦ(ＦＡＬＳＥ（不成立）)にする。さらに、構造体型の出力変数であるハンドシェイクプロトコル制御変数ＶＡＳの“（Ｓ）ワーク送出要求”要素の値をＯＮからＯＦＦにする。
【０１６５】
上記項目(7)の動作は、図１１の(b) に示すように、「ワーク送出待ち状態時において、出力完了変数ＶＣＯＡがＯＦＦからＯＮになった状態（↑）に応答して、（Ｓ）Ｒ＿ＲＥＱ＿ＡがＯＮ（ＳＥＴ）され、状態遷移変数ＦＶＡ及び“（Ｓ）ワーク送出要求”がＯＦＦ（ＲＳＴ）される。」ラダープログラムを実行させることにより実現可能である。
【０１６６】
(8) 時刻ｔ８において、上流工程の加工機器ＥＡ用の制御プログラムブロックＰＡは、ハンドシェイク信号用タグＨＴＡに割り付けられた構造体型変数で、ワーク受入可信号を示す（Ｓ）Ｒ＿ＲＥＱ＿Ａの値が、ＯＦＦからＯＮになったのを検知し、加工機器ＥＡを制御する変数が割付られた制御信号用タグＣＴＡを用いて、加工機器ＥＡのワーク受入機構を駆動開始するとともに、ハンドシェイク信号用タグＨＴＡに割り付けられた構造体型変数で、ワーク送出駆動中信号を示す（Ｓ）Ｓ＿ＢＵＳＹ＿Ａの値をＯＦＦからＯＮにする。そして、自身の実行状態を(e) “ワーク送出中状態”に遷移させる。
【０１６７】
(9) 時刻ｔ９において、上流工程側のハンドシェイク管理プログラムブロックＰＨＡは、ハンドシェイク信号用タグＨＴＡのワーク送出駆動中信号を示す（Ｓ）Ｓ＿ＢＵＳＹ＿Ａの値がＯＦＦからＯＮになったのを検出した時に、構造体型の出力変数ハンドシェイクプロトコル制御変数ＶＡＳの“（Ｓ）ワーク送出開始”要素の値をＯＮにする。また、転送条件ブロック２５Ａの転送条件ＣＡに設定された、状態遷移変数ＦＶＡの値をＯＮ(ＴＲＵＥ)にする。その結果、出力変数であるハンドシェイクプロトコル制御変数ＶＡＳ（出力変数）の値が、下流工程のハンドシェイク管理プログラムブロックＰＨＢ１の入力変数であるハンドシェイクプロトコル制御変数ＶＢＲ１にパルス転送され、ハンドシェイクプロトコル制御変数ＶＢＲ１の“（Ｒ）ワーク送出開始”要素の値がＯＮとなる。また、ワーク送出駆動中信号を示す（Ｓ）Ｓ＿ＢＵＳＹ＿Ａの値をＯＮからＯＦＦにする。
【０１６８】
さらに、ハンドシェイク管理プログラムブロックＰＨＡは、ハンドシェイク信号用タグＨＴＡにおいてワーク受入可信号を示す（Ｓ）Ｒ＿ＲＥＱ＿Ａの値をＯＮからＯＦＦにするとともに、自身の実行状態を(e) “ワーク送出中”状態に遷移させる。
【０１６９】
上記項目(9)の動作は、図１１の(c) に示すように、「（Ｓ）Ｓ＿ＢＵＳＹ＿ＡがＯＦＦからＯＮになった状態（↑）に応答して、状態遷移変数ＦＶＡ及び（Ｓ）ワーク送出開始がＯＮ（ＳＥＴ）され、（Ｓ）Ｓ＿ＢＵＳＹ＿Ａ及び（Ｓ）Ｒ＿ＲＥＱ＿ＡがＯＦＦ（ＲＳＴ）され、また、自身の実行状態を、(b) “ワーク送出中”状態に遷移（ＭＯＶ）させる。」ラダープログラムを実行させることにより実現可能である。
【０１７０】
(10) 時刻ｔ１１において、下流工程の加工機器ＥＢ１用の制御プログラムブロックＰＢ１は、ワークの受入を完了した時に、ハンドシェイク信号用タグＨＴＢ１に割り付けられた構造体型変数で、ワーク受入完了信号を示す（Ｒ）ＣＯＭＰＴ＿Ｂ１の値をＯＦＦからＯＮにする。
【０１７１】
(11) 時刻ｔ１２において、下流工程のハンドシェイク管理プログラムブロックＰＨＢ１は、構造体型の入力変数であるハンドシェイクプロトコル制御変数ＶＢＲ１の“（Ｒ）ワーク送出開始”要素の値がＯＮであり、かつ、ハンドシェイク信号用タグＨＴＢ１に割り付けられた構造体型変数でワーク受入完了信号（を示す）（Ｒ）ＣＯＭＰＴ＿Ｂ１がＯＮである場合、パルス転送されたハンドシェイクプロトコル制御変数ＶＢＲ１（入力変数）に対する入力完了変数ＶＣＩＢ１の値をＯＮにする。
【０１７２】
そして、図２で示したネットワーク上の共有メモリ機構を通じて、データ転送元である、上流工程のハンドシェイク管理プログラムブロックＰＨＡのハンドシェイクプロトコル制御変数ＶＡＳ（出力変数）に対する出力完了変数ＶＣＯＡの値をＯＦＦからＯＮにする。
【０１７３】
また、ハンドシェイク信号用タグＨＴＢ１に割り付けられた構造体型変数で、ワーク受入駆動中信号を示す（Ｒ）Ｒ＿ＢＵＳＹ＿Ｂ１及びワーク受入完了信号を示す（Ｒ）ＣＯＭＰＴ＿Ｂ１の値をＯＦＦにする。
【０１７４】
上記項目(11)の動作は、図１２の(c) に示すように、「（Ｒ）ワーク送出開始がＯＮし、かつ（Ｒ）ＣＯＭＰＴ＿Ｂ１がＯＮしたことに応答して、入力完了変数ＶＣＩＢ１がＯＮ（ＳＥＴ）され、（Ｒ）Ｒ＿ＢＵＳＹ＿Ｂ１及び（Ｒ）ＣＯＭＰＴ＿Ｂ１がＯＦＦ（ＲＳＴ）される。」ラダープログラムを実行させることにより実現可能である。
【０１７５】
(12) 時刻ｔ１３において、上流工程のハンドシェイク管理プログラムブロックＰＨＡは、出力変数であるハンドシェイクプロトコル制御変数ＶＡＳに対する出力完了変数ＶＣＯＡの値が、時刻ｔ１２でＯＦＦからＯＮになったのを検知して、上流工程のハンドシェイク信号用タグＨＴＡに割り付けられた構造体型変数で、“ワーク受入完了”信号（を示す）（Ｓ）ＣＯＭＰＴ＿Ａの値をＯＦＦからＯＮにする。さらに、状態遷移変数ＦＶＡをＯＦＦにする。
【０１７６】
上記項目(12)の動作は、図１１の(d) に示すように、「ワーク送出中状態において、出力完了変数ＶＣＯＡがＯＦＦからＯＮになった状態（↑）に応答して、（Ｓ）ＣＯＭＰＴ＿ＡがＯＮ（ＳＥＴ）され、状態遷移変数ＦＶＡがＯＦＦ（ＲＳＴ）される。」ラダープログラムを実行させることにより実現可能である。
【０１７７】
(1)から(12)の処理にて、一つのワークが、上流工程の加工機器（ＥＡ）から、下流工程の加工機器（ＥＢ１）に渡す処理が制御される。上流工程の加工機器は、ワークを下流工程の加工機器に受渡した後に、自身は下流工程の加工機器となり、自身の上流工程の加工機器よりワークを受取り、加工する処理を行う。
【０１７８】
下流工程となった加工機器ＥＢ１の制御プログラムブロックＰＢロックが、処理(1)のワーク受入可となった時に、ワーク受入可信号を示す（Ｒ）Ｒ＿ＲＥＱ＿Ｂ１の値をＯＮにした時に、前述したように、ハンドシェイク管理プログラムブロックＰＨＡは、自身のワーク受入完了信号を示す（Ｓ）ＣＯＭＰＴ＿Ａの値をＯＦＦにする（ＮＴ(1)で図示）。
【０１７９】
図１３は実施の形態１の制御プログラム開発支援装置１０の入力部１１を用いた加工装置用制御プログラム開発手順を示すフローチャートである。以下、同図を参照して、図６〜図８で示した構成を例に挙げて、加工装置用の制御プログラムの開発手順を説明する。
【０１８０】
まず、ステップＳ１において、ワークの流れにそってハンドシェイク管理プログラムブロックと転送条件ブロックとを並べ結線する。図６〜図８の構成例では、ハンドシェイク管理プログラムブロックＰＨＡ及びＰＨＢ１と転送条件ブロック２５Ａを並べデータ転送線Ｌ２を介して接続する。
【０１８１】
次に、ステップＳ２において、ハンドシェイク管理プログラムブロック毎にハンドシェイク信号用タグを結線する。図６〜図８の構成例では、ハンドシェイク管理プログラムブロックＰＨＡ及びハンドシェイク管理プログラムブロックＰＨＢ１に対し、ハンドシェイク信号を要素に持つ変数が割付けられたハンドシェイク信号用タグＨＴＡ及びハンドシェイク信号用タグＨＴＢ１をデータ共有線Ｌ１を介して接続する。
【０１８２】
そして、ステップＳ３において、各ハンドシェイク信号用タグに加工機器用の制御プログラムブロックを結線する。図６〜図８の構成例では、ハンドシェイク信号用タグＨＴＡ及びＨＴＢ１に対し、制御プログラムブロックＰＡ及びＰＢ１をデータ共有線Ｌ１を介して接続する。
【０１８３】
その後、ステップＳ４において、各制御機器用の制御プログラムブロックに加工機器の制御信号用タグを結線する。図６〜図８の構成例では、制御プログラムブロックＰＡ及びＰＢ１に対し、制御信号用タグＣＴＡ及びＣＴＢ１をデータ共有線Ｌ１を介して接続する。
【０１８４】
次に、ステップＳ５において、各加工機器用の制御プログラムブロックに、使用者が記述した加工機器を制御するプログラムを割り付ける。図６〜図８の構成例では、制御プログラムブロックＰＡ及びＰＢ１それぞれに、使用者が記述した加工機器を制御するプログラムを割り付ける。
【０１８５】
そして、ステップＳ６において、各加工機器を制御する信号を要素として持つ構造体変数を使用者が定義し、加工機器制御信号タグに割り付ける。図６〜図８の構成例では、制御信号用タグＣＴＡ及びＣＴＢ１に使用者が定義した各加工機器を制御する信号を要素として持つ構造体変数を割り付ける。
【０１８６】
最後に、ステップＳ７において、ハンドシェイクプロトコル管理プログラム生成部１７により、ハンドシェイクプロトコル管理プログラム、ハンドシェイク信号用タグ、転送条件ブロックプログラムを自動生成する。図６〜図８の例では、ハンドシェイク管理プログラムブロックＰＨＡ及びハンドシェイク管理プログラムブロックＰＨＢ１、ハンドシェイク信号用タグＨＴＡ及びハンドシェイク信号用タグＨＴＢ１並びに転送条件ブロック２５Ａを自動生成する。
【０１８７】
このように、実施の形態１の制御プログラム開発支援装置１０は、上流側加工機器，下流側加工機器間における双方向の上下流間データ転送プロトコルである（図１０を用いて説明したハンドシェイクプロトコル）が予め規定されている。このため、パルス転送変数値管理プログラム生成部１５４によってパルス転送変数値管理プログラム（入力完了変数値管理プログラム）が自動的に生成され、ハンドシェイクプロトコル管理プログラム生成部１７によって、ハンドシェイクプロトコル管理プログラムブロック（ＰＨＡ，ＰＨＢ１）及びハンドシェイク信号用タグ（ＨＴＡ，ＨＴＢ１）が自動的に生成される。
【０１８８】
その結果、実施の形態１の制御プログラム開発支援装置１０を用いる使用者は、主として複数の加工機器の制御プログラム（ＰＡ，ＰＢ１）等の複数の加工機器固有の情報を設定する処理のみを自身で行うことにより、加工装置用制御システムを開発することができるため、加工装置用制御プログラムの開発工数を削減することができるという効果を有する。
【０１８９】
すなわち、実施の形態１の制御プログラム開発支援装置１０によれば、使用者は、制御信号用タグに対する加工機器を制御するための信号線を要素として持つ構造体の定義と、制御プログラムブロックに対する加工機器の制御プログラムの記述を行えばよい。このため、煩雑な加工機器間のワークの受渡を管理するハンドシェイクプロトコルを実現するプログラムを記述する必要がなくなり、加工装置制御プログラムの開発工数を削減することができるという効果を有する。
【０１９０】
＜実施の形態２＞
実施の形態２では、加工装置の加工機器の構成の変化が生じた場合の、工程フロープログラムの記述方法について説明する。なお、実施の形態２の制御プログラム開発支援装置の構成自体は図１で示した制御プログラム開発支援装置１０と実質同様である。
【０１９１】
図１４〜図１８は、図６〜図８で示した加工装置の構成と比較して、一の加工機器ＥＢ１から互いに上下流関係にない同一種別の２つの加工機器ＥＢ１及びＥＢ２に加工装置の構成が拡張されている。すなわち、一つの加工機器ＥＡから、加工機器ＥＢ１あるいは加工機器ＥＢ２のいずれかに、ワークを渡し、加工機器ＥＢ１、加工機器ＥＢ２から、さらに、加工機器Ｃにワークを渡す場合の工程フロープログラムを、表示部１２で示した場合の説明図である。
【０１９２】
図１４において、加工機器ＥＡ、ＥＢ１，ＥＢ２及びＥＣ用のポジション制御ブロックＳＰＡ、ＳＰＢ１、ＳＰＢ２及びＳＰＣからなる全体構成を、図１５においてポジション制御ブロックＳＰＡの内部構成を、図１６においてポジション制御ブロックＳＰＢ１の内部構成を、図１７においてポジション制御ブロックＳＰＢ２の内部構成を、図１８においてポジション制御ブロックＳＰＣの内容構成をそれぞれ示している。
【０１９３】
図１４に示すように、ポジション制御ブロックＳＰＡより下流にあるポジション制御ブロックＳＰＢ１，ＳＰＢ２は、加工機器ＥＡに対し互いに上下流にない同一種別の２つの下流側加工機器である２つの加工機器ＥＢ１及びＥＢ２用のポジション制御ブロックＳＰＢ１及びＳＰＢ２となる。
【０１９４】
なお、図１５で示すポジション制御ブロックＳＰＡの内部構成は、後述する分岐条件ブロック２６Ａと転送条件ブロック２５Ａ（図７参照）との違いを除き、図７で示すポジション制御ブロックＳＰＡの内部構成と同じであり、同一符号を付し説明を適宜省略する。
【０１９５】
図１６で示すポジション制御ブロックＳＰＢ１の内部構成は、図８で示すポジション制御ブロックＳＰＢ１の内部構成と同じであり、同一符号を付し説明を適宜省略する。
【０１９６】
図１７で示すポジション制御ブロックＳＰＢ２の内部構成は、図８で示すポジション制御ブロックＳＰＢ１の内部構成と等価である。
【０１９７】
すなわち、ポジション制御ブロックＳＰＢ２の制御信号用タグＣＴＢ２、制御プログラムブロックＰＢ２、ハンドシェイク信号用タグＨＴＢ２及びハンドシェイク管理プログラムブロックＰＨＢ２は、ポジション制御ブロックＳＰＢ１の制御信号用タグＣＴＢ１、制御プログラムブロックＰＢ１、ハンドシェイク信号用タグＨＴＢ１及びハンドシェイク管理プログラムブロックＰＨＢ１に対応する。
【０１９８】
また、ハンドシェイク管理プログラムブロックＰＨＢ２内のハンドシェイクプロトコル制御変数ＶＢＲ２、入力完了変数ＶＣＩＢ２、ハンドシェイクプロトコル制御変数ＶＢＳ２、及び出力完了変数ＶＣＯＢ２は、ハンドシェイク管理プログラムブロックＰＨＢ１内のハンドシェイクプロトコル制御変数ＶＢＲ１、入力完了変数ＶＣＩＢ１、ハンドシェイクプロトコル制御変数ＶＢＳ１、及び出力完了変数ＶＣＯＢ１に対応する。
【０１９９】
図１８で示すポジション制御ブロックＳＰＣの内部構成は、後述する選択条件ブロック２７Ｃを除き、図８で示すポジション制御ブロックＳＰＢ１の内部構成と等価である。
【０２００】
すなわち、ポジション制御ブロックＳＰＣの制御信号用タグＣＴＣ、制御プログラムブロックＰＣ、ハンドシェイク信号用タグＨＴＣ及びハンドシェイク管理プログラムブロックＰＨＣは、ポジション制御ブロックＳＰＢ１の制御信号用タグＣＴＢ１、制御プログラムブロックＰＢ１、ハンドシェイク信号用タグＨＴＢ１及びハンドシェイク管理プログラムブロックＰＨＢ１に対応する。
【０２０１】
また、ハンドシェイク管理プログラムブロックＰＨＣ内のハンドシェイクプロトコル制御変数ＶＣＲ、入力完了変数ＶＣＩＣ、ハンドシェイクプロトコル制御変数ＶＣＳ、及び出力完了変数ＶＣＯＣは、ハンドシェイク管理プログラムブロックＰＨＢ１内のハンドシェイクプロトコル制御変数ＶＢＲ１、入力完了変数ＶＣＩＢ１、ハンドシェイクプロトコル制御変数ＶＢＳ１、及び出力完了変数ＶＣＯＢ１に対応する。
【０２０２】
図１５〜図１７に示すように、加工機器ＥＡ用のハンドシェイク管理プログラムブロックＰＨＡと、加工機器ＥＢ１のハンドシェイク管理プログラムブロックＰＨＢ１、加工機器ＥＢ２のハンドシェイク管理プログラムブロックＰＨＢ２との間に、特許文献１に示された分岐条件ブロックと同様な動作を行う、分岐条件ブロック２６Ａを配置している。
【０２０３】
分岐条件ブロック２６Ａは、転送条件ＣＡ１１及び転送条件ＣＡ１２からなる分岐転送条件ＣＡ１０に従い分岐転送動作を行う。分岐転送条件ＣＡ１０の変数として、状態遷移変数ＦＶＡがＴＲＵＥであることに加え、転送先変数ＶＴＯを指定する条件を付け加える。
【０２０４】
転送条件ＣＡ１１は算術式入力領域６１Ａ１、論理式入力領域６２Ａ１から構成される。算術式入力領域６１Ａ１の条件番号１では、制御機器識別情報が「加工機器ＥＡ（ＣｔｒｌＡ）」である制御機器に割り当てられた変数「状態遷移変数ＦＶＡ」を、制御機器識別情報が定数ある「ＴＲＵＥ」と比較して、両者が等しいか否かを判定するものである。
【０２０５】
また、算術式入力領域６１Ａ１の条件番号２では、制御機器識別情報が「加工機器ＥＡ（ＣｔｒｌＡ）」である制御機器に割り当てられた変数「転送先変数ＶＴＯ」と、制御機器識別情報が定数ある「Ｅｑｐ＿Ｂ１」（加工機器ＥＢ１を指示）とを比較して、両者が等しいか否かを判定するものである。
【０２０６】
そして、論理式入力領域６２Ａ１において、条件番号１及び条件番号２でそれぞれ示される算術式の結果を用いて、「１  ＡＮＤ  ２」という論理式が転送条件として指定される。すなわち、条件番号１で示される算術式と条件番号２で示される算術式との論理積によって転送条件ＣＡ１１が決定されることを示している。
【０２０７】
一方、転送条件ＣＡ１２は算術式入力領域６２Ａ２、論理式入力領域６２Ａ２から構成される。算術式入力領域６２Ａ１の条件番号１では、制御機器識別情報が「加工機器ＥＡ（ＣｔｒｌＡ）」である制御機器に割り当てられた変数「状態遷移変数ＦＶＡ」を、制御機器識別情報が定数ある「ＴＲＵＥ」と比較して、両者が等しいか否かを判定するものである。
【０２０８】
また、算術式入力領域６２Ａ１の条件番号２では、制御機器識別情報が「加工機器ＥＡ（ＣｔｒｌＡ）」である制御機器に割り当てられた変数「転送先変数ＶＴＯ」と、制御機器識別情報が定数ある「Ｅｑｐ＿Ｂ２」（加工機器ＥＢ２を指示）とを比較して、両者が等しいか否かを判定するものである。
【０２０９】
そして、論理式入力領域６２Ａ１において、条件番号１及び条件番号２でそれぞれ示される算術式の結果を用いて、「１  ＡＮＤ  ２」という論理式が転送条件として指定される。すなわち、条件番号１で示される算術式と条件番号２で示される算術式との論理積によって転送条件ＣＡ１２が決定されることを示している。
【０２１０】
さらに、条件判定用制御機器入力領域６３Ａの制御機器識別情報ＣtrlＡによって、条件判定用制御機器は加工機器ＥＡであることが指示され、優先度入力領域６４Ａによって、分岐先Ｘ１の転送条件ＣＡ１１の方が分岐先Ｘ２の転送条件ＣＡ１１より優先度が高いことが指示される。
【０２１１】
このような分岐転送条件ＣＡ１０において、例えば、状態遷移変数ＦＶＡがＴＲＵＥで、転送先変数ＶＴＯがＢ１（Ｅｑｐ＿Ｂ１）であれば、転送条件ＣＡ１１を満足し分岐先Ｘ１が決定し、状態遷移変数ＦＶＡがＴＲＵＥで、転送先変数ＶＴＯがＢ２（Ｅｑｐ＿Ｂ２）であれば転送条件ＣＡ１２を満足し分岐先Ｘ２が決定する。また、双方を満足した場合の判定優先度は優先度入力領域６４Ａに従い分岐先Ｘ１、分岐先Ｘ２の順に設定される。
【０２１２】
加工機器ＥＡ用のハンドシェイク管理プログラムブロックＰＨＡが、加工機器ＥＢ１、加工機器ＥＢ２の実行状態を、共有メモリを介して検出し、転送先を、ワーク受入待ち状態にある加工機器ＥＢ１あるいは加工機器ＥＢ２を指定する。なお、加工機器ＥＢ１及びＥＢ２の実行状態は、両者のうち一方の入力完了関数のＯＮ状態により検出することができる。
【０２１３】
そして、図１０に示した(1)〜(12)の処理の実行する間、転送先変数ＶＴＯを変更しないことにより、図１０に示した、上流側工程の加工機器、下流側工程の加工機器が、それぞれ１個の場合のハンドシェイク処理と同様の手順を踏むことにより、ワークを加工機器ＥＡから、加工機器ＥＢ１あるいは加工機器ＥＢ２にハンドシェイクプロトコル制御変数ＶＡＳを送出することができる。
【０２１４】
また、図１６〜図１８に示すように、加工機器ＥＢ１のハンドシェイク管理プログラムブロックＰＨＢ１及びＰＨＢ２と加工機器ＥＣのハンドシェイク管理プログラムブロックＰＨＣとの間に特許文献１に示された選択条件ブロックと同様な動作を行う、選択条件ブロック２７Ｃを配置している。
【０２１５】
選択条件ブロック２７Ｃは、転送条件ＣＣ１１及び転送条件ＣＣ１２からなる転送選択条件ＣＣ１０に従い選択転送動作を行う。転送選択条件ＣＣ１０の変数として、状態遷移変数ＦＶＣがＴＲＵＥであることに加え、転送元変数ＶＦＲを指定する条件を付け加える。なお、当然ではあるが、選択条件ブロック２７Ｃは選択転送動作時に加工機器Ｂ１、加工機器Ｂ２のいずれを選択したのかを自身で直接認識可能であるため、入力完了変数ＶＣＩＣを対応するハンドシェイク管理プログラムブロックＰＨＢ１（あるいはＰＨＢ２）に対して伝達することができる。
【０２１６】
転送条件ＣＣ１１は算術式入力領域６１Ｃ１、論理式入力領域６２Ｃ１から構成される。算術式入力領域６１Ｃ１の条件番号１では、制御機器識別情報が「加工機器ＥＣ（ＣtrlＣ）」である制御機器に割り当てられた変数「状態遷移変数ＦＶＣ」と、制御機器識別情報が定数ある「ＴＲＵＥ」とを比較して、両者が等しいか否かを判定するものである。
【０２１７】
また、算術式入力領域６１Ｃ１の条件番号２では、「転送元変数ＶＦＲ」と、制御機器識別情報が定数ある「Ｅｑｐ＿Ｂ１」とを比較して、両者が等しいか否かを判定するものである。
【０２１８】
そして、論理式入力領域６２Ｃ１において、条件番号１及び条件番号２でそれぞれ示される算術式の結果を用いて、「１  ＡＮＤ  ２」という論理式が転送条件として指定される。すなわち、条件番号１で示される算術式と条件番号２で示される算術式との論理積によって転送条件ＣＣ１１が決定されることを示している。
【０２１９】
一方、転送条件ＣＣ１２は算術式入力領域６１Ｃ２、論理式入力領域６２Ｃ２から構成される。算術式入力領域６１Ｃ２の条件番号１では、変数「状態遷移変数ＦＶＣ」と「ＴＲＵＥ」とを比較して、両者が等しいか否かを判定するものである。
【０２２０】
また、算術式入力領域６２Ｃ１の条件番号２では、変数「転送元変数ＶＦＲ」と、制御機器識別情報が定数ある「Ｅｑｐ＿Ｂ２」とを比較して、両者が等しいか否かを判定するものである。
【０２２１】
そして、論理式入力領域６２Ｃ２において、条件番号１及び条件番号２でそれぞれ示される算術式の結果を用いて、「１  ＡＮＤ  ２」という論理式が転送条件として指定される。すなわち、条件番号１で示される算術式と条件番号２で示される算術式との論理積によって転送条件ＣＣ１２が決定されることを示している。
【０２２２】
さらに、条件判定用制御機器入力領域６３Ｃの制御機器識別情報ＣtrlＣによって、条件判定用制御機器は加工機器ＥＣ用の制御機器であることが指示され、優先度入力領域６４Ｃによって、分岐元Ｙ１の転送条件ＣＣ１１の方が分岐元Ｙ２の転送条件ＣＣ１１より優先度が高いことが指示される。
【０２２３】
このような転送選択条件ＣＣ１０において、例えば、状態遷移変数ＦＶＣがＴＲＵＥで、転送元変数ＶＦＲがＢ１（Ｅｑｐ＿Ｂ１）であれば、転送条件ＣＣ１１を満足し分岐元Ｙ１が決定し、状態遷移変数ＦＶＣがＴＲＵＥで、転送元変数ＶＦＲがＢ２（Ｅｑｐ＿Ｂ２）であれば転送条件ＣＣ１２を満足し分岐元Ｙ２が決定する。また、双方を満足した場合の判定優先度は優先度入力領域６４Ｃに従い分岐元Ｙ１、分岐元Ｙ２の順に設定される。
【０２２４】
加工機器ＥＣ用のハンドシェイク管理プログラムブロックＰＨＣが、加工機器ＥＢ１、加工機器ＥＢ２の実行状態を、共有メモリを介して検出し、転送元変数を、ワーク送出待ち状態にある加工機器ＥＢ１あるいは加工機器ＥＢ２を指定し、図１０に示した(1)〜(12)の処理手順を実行する間、転送元変数ＶＦＲを変更しないする。その結果、図１０に示した、上流側工程の加工機器、下流側工程の加工機器が、それぞれ１個の場合のハンドシェイク処理と同様の手順を踏むことにより、加工機器ＥＢ１あるいは加工機器ＥＢ２から、加工機器ＥＣにハンドシェイクプロトコル制御変数ＶＢＳ１あるいはハンドシェイクプロトコル制御変数ＶＢＳ２を送出することができる。
【０２２５】
そして、使用者は、加工機器ＥＢ２用の制御プログラムブロックＰＢ２に、加工機器ＥＢ１用の制御プログラムブロックＰＢ１と同じプログラムを使用することができる。
【０２２６】
次に、上述した分岐転送条件ＣＡ１０または転送選択条件ＣＣ１０が工程フロー設定情報に設定された場合の条件判定プログラムの生成方法について、分岐転送条件ＣＡ１０及び転送選択条件ＣＣ１０を例に挙げて説明する。
【０２２７】
図１９は、転送条件判定プログラムの作成処理手順を示すフローチャートである。まず、実施の形態１の図９のステップＳ１１〜Ｓ１５の処理と同様に、転送条件設定情報中のデバイス（変数）の制御機器の内、条件判定を行う制御機器と異なる場合に、条件判定を行う制御機器が異なる制御機器のデバイス（変数）を利用するためのプログラムを作成する（ステップＳ２１〜Ｓ２５）。
【０２２８】
その後、ステップＳ２２で条件に用いるデバイス（変数）の内、抽出していないものが存在しない場合（ステップＳ２２でＮｏの場合）には、転送選択条件ＣＣ１０または分岐転送条件ＣＡ１０のまだ選択していない条件から最も優先度の高い接続先に対する転送条件を選択する（ステップＳ２６）。その後、選択した条件より優先度が高い転送条件が成立しておらず、選択した転送条件が成立したときのみ転送条件が成立したとみなすプログラムを生成する（ステップＳ２７）。
【０２２９】
図１５の分岐転送条件ＣＡ１０の例では、優先度入力領域６４Ａによって、分岐先Ｘ１に転送する転送条件ＣＡ１１の方が、分岐先Ｘ２に転送する転送条件ＣＡ１２より優先度が高いことが設定されているため、転送条件ＣＡ１１の方が転送条件ＣＡ１２に優先してステップＳ２６で選択される。
【０２３０】
同様にして、図１８の転送選択条件ＣＣ１０の例では、優先度入力領域６４Ｃによって、分岐元Ｙ１から転送される転送条件ＣＣ１１の方が、分岐元Ｙ２から転送されるＣＣ１２より優先度が高いことが設定されているため、転送条件ＣＣ１１の方がＣＣ１２に優先してステップＳ２６で選択される。
【０２３１】
そして、すべての接続先に対する条件判定プログラムを生成済みか否かを判定する（ステップＳ２８）。すべての接続先に対する条件判定プログラムが生成されていない場合（ステップＳ２８でＮｏの場合）には、ステップＳ２６へと戻り、転送選択条件ＣＣ１０または分岐転送条件ＣＡ１０に設定されている全ての転送条件に対して、上述した処理が繰り返し実行される。また、すべての接続先に対する条件判定プログラムが生成済みの場合（ステップＳ２８でＹｅｓの場合）には、転送条件判定プログラムの作成処理が終了する。
【０２３２】
このように、実施の形態２の制御プログラム開発支援装置１０において、データ転送条件は、分岐条件ブロック２６Ａのように一の上流側加工機器（ＥＡ）から２つの下流側加工機器（ＥＢ１，ＥＢ２）への分岐転送条件を含むため、一の上流側加工機器から複数（２つ）の下流側加工機器への分岐によるデータ転送を可能にすることができる効果を奏する。
【０２３３】
したがって、使用者は、加工装置の構成が変化し、同一種別の下流側加工機器が増加した場合も、増加した下流側加工機器と、同じ種別の下流側加工機器の制御プログラムを変更することなく、増加した下流側加工機器に対しても使用することができ、加工装置用制御プログラムの開発工数を削減することができるという効果を有する。
【０２３４】
さらに、実施の形態１０の制御プログラム開発支援装置１０において、データ転送条件は、選択条件ブロック２７Ｃのように、２つの上流側加工機器（ＥＢ１，ＥＢ２）から一の下流側加工機器（ＥＣ）への選択転送条件を含むため、複数（２つの）の上流側加工機器から一の下流側加工機器への選択的データ転送を可能にすることができる効果を奏する。
【０２３５】
したがって、使用者は、加工装置の構成が変化し、同一種別の上流側加工機器が増加した場合も、増加した上流側加工機器と、同じ種別の上流側加工機器の制御プログラムを変更することなく、増加した上流側加工機器に対しても使用することができ、加工装置用制御プログラムの開発工数を削減することができるという効果を有する。
【０２３６】
このように、実施の形態２によれば、複数のポジション制御ブロックへの分岐先や複数のポジション制御ブロックからの分岐元のうち、１つだけを選択する排他制御を行うプログラムを用いたデータ転送プログラムも自動的に生成することができ、工数の削減を行うことができるという効果を有する。
【０２３７】
＜実施の形態３＞
この実施の形態３では、加工装置の機器構成の変化が生じた場合の、工程フロープログラムの記述方法について説明する。
【０２３８】
例えば、図６〜図８で示した構成から、加工装置において、図１４〜図１８で示すように、加工機器ＥＢ１がひとつ増え、ひとつの加工機器ＥＡから、加工機器ＥＢ１あるいは加工機器ＥＢ２のいずれかに、ワークを渡し、加工機器ＥＢ１、加工機器ＥＢ２から加工機器Ｃにワークを渡す場合の工程フロープログラムを、表示部１２で表示させた場合を考える。
【０２３９】
ワークの流に従い、加工機器用の制御プログラムブロックを、データ転送線Ｌ２で結線し、各加工機器用の制御プログラムブロックＰＡには、加工機器の制御信号を割り付ける制御信号用タグをデータ共有線Ｌ１で結ぶ。すなわち、制御プログラムブロックＰＡと制御プログラムブロックＰＢ１及びＰＢ２とをデータ転送線Ｌ２を介して接続し、制御プログラムブロックＰＢ１及びＰＢ２を制御プログラムブロックＰＣとデータ転送線Ｌ２を介して接続する。そして、制御プログラムブロックＰＡと制御信号用タグＣＴＡとがデータ共有線Ｌ１を介して接続し、制御プログラムブロックＰＢ１及びＰＢ２と制御信号用タグＣＴＢ１及びＣＴＢ２とをデータ共有線Ｌ１を介して接続し、制御プログラムブロックＰＣと制御信号用タグＣＴＣとをデータ共有線Ｌ１を介して接続する。
【０２４０】
なお、新たに追加した制御プログラムブロックＰＢ２には制御プログラムブロックＰＢ１と同内容のプログラムを割り付ければ良く、新たに追加した制御信号用タグＣＴＢ２には制御信号用タグＣＴＢ１と同内容の構造体変数を割り付ければ良い。
【０２４１】
その後、ハンドシェイクプロトコル管理プログラム生成部１７により、ハンドシェイク管理プログラムブロック（ＰＨＡ，ＰＨＢ１，ＰＨＢ２，ＰＨＣ）、ハンドシェイク信号用タグ（ＨＴＡ，ＨＴＢ１，ＨＴＢ２，ＨＴＣ）、ハンドシェイクプロトコルを処理するためのデータ転送条件が設定された、転送条件ブロック、分岐条件ブロック（２６Ａ）、選択条件ブロック（２７Ｃ）が自動生成される。その結果、図１４〜図１８で示したシステム構成が表現される。
【０２４２】
実施の形態３においては、工程フロープログラム設定情報格納部１４４が格納するプログラムブロック設定情報は、複数の加工機器に対応した複数の制御プログラムブロックの内容を指示する。このため、使用者は、ある加工機器と同じ種類が追加された場合、同一種別の加工機器用の制御プログラムブロックの内容を転用するだけで加工装置用制御プログラムを開発することができる。すなわち、ハンドシェイクプロトコル管理プログラム等を変更する必要がなく加工装置用制御プログラムの開発工数を削減することができるという効果を有する。
【０２４３】
＜実施の形態４＞
この実施の形態４では、加工装置のワークの流れは変化しないが、加工装置を構成する加工機器の種別が変化した場合の、工程フロープログラムの記述方法について説明する。なお、実施の形態４の制御プログラム開発支援装置の構成自体は図１で示した制御プログラム開発支援装置１０と実質同様である。
【０２４４】
図１４〜図１８で示した工程フロープログラムにて、加工機器ＥＡの種類を変更した場合、変更後の加工機器ＥＡを制御するプログラムを使用者が作成し、このプログラムを、入力部１１を用いて加工機器ＥＡ用の制御プログラムブロックＰＡに割付ける。また、変更後の加工機器ＥＡの制御信号を示す変数を使用者が定義し、加工機器ＥＡ用の制御信号用タグＣＴＡに割付ける。そして、制御プログラムブロックＰＡ及び制御信号用タグＣＴＡの内容を示す情報がプログラムブロック設定情報として工程フロープログラム設定情報格納部１４４に格納される。
【０２４５】
一方、加工機器ＥＡの上下流工程の加工機器と確実なワークの受渡を行うためのハンドシェイク処理を行う、ハンドシェイク管理プログラムブロックＰＨＡに関しては、プログラムを変更する必要はない。
【０２４６】
実施の形態４においては、工程フロープログラム設定情報格納部１４４が格納するプログラムブロック設定情報情報は、複数の加工機器に対応した複数の制御プログラムブロックの内容を指示する。このため、使用者は、ある加工機器の種類が変更になった場合、対応する加工機器制御プログラムブロックの内容を変更するだけで加工装置用制御プログラムを開発することができる。すなわち、ハンドシェイクプロトコル管理プログラム等を変更する必要がなく加工装置用制御プログラムの開発工数を削減することができるという効果を有する。
【０２４７】
＜実施の形態５＞
この実施の形態５では、実施の形態１及び実施の形態２で示した工程フロープログラムにおいて、ハンドシェイク（プロトコル）管理プログラムブロック、ハンドシェイク信号用タグを省略して記述可能な、入力部１１、表示部１２、工程フロープログラム管理部１４を持つ場合について説明する。なお、実施の形態５の制御プログラム開発支援装置の構成自体は図１で示した制御プログラム開発支援装置１０と実質同様である。
【０２４８】
図２０は、一つの加工機器ＥＡから、加工機器ＥＢ１あるいは加工機器ＥＢ２のいずれかに、ワークを渡し、加工機器ＥＢ１、加工機器ＥＢ２から加工機器ＥＣにワークを渡す場合の工程フロープログラムを、表示部１２で示した図である。
【０２４９】
加工機器ＥＡに対応して制御信号用タグＣＴＡ及び制御プログラムブロックＰＡからなる制御プログラムブロック群ＣＰＡが構成される。加工機器ＥＢ１に対応して制御信号用タグＣＴＢ１及び制御プログラムブロックＰＢ１からなる制御プログラムブロック群ＣＰＢ１が構成される。同様にして、加工機器ＥＢ２に対応して制御信号用タグＣＴＢ２及び制御プログラムブロックＰＢ３からなる制御プログラムブロック群ＣＰＢ２が構成され、加工機器ＥＣに対応して制御信号用タグＣＴＣ及び制御プログラムブロックＰＣからなる制御プログラムブロック群ＣＰＣが構成される。
【０２５０】
そして、制御プログラムブロック群ＣＰＡと制御プログラムブロック群ＣＰＢ１及びＣＰＢ２との間に分岐条件ブロック２６Ａを設け、制御プログラムブロック群ＣＰＢ１及びＣＰＢ２と制御プログラムブロック群ＣＰＣとの間に選択条件ブロック２７Ｃを設けている。
【０２５１】
ワークの流に従い、入力部１１を用いて、制御プログラムブロックＰＡ，分岐条件ブロック２６Ａ間、分岐条件ブロック２６Ａ、制御プログラムブロックＰＢ１及びＰＢ２間、制御プログラムブロックＰＢ１及びＰＢ２，選択条件ブロック２７Ｃ間を、それぞれデータ転送線Ｌ２により結線している。すなわち、データ転送線Ｌ２で結線することにより、制御プログラムブロック群ＣＰＡ，ＣＰＢ１，ＢＰＢ２及びＣＰＣの上下流接続関係を設定することができる。
【０２５２】
また、入力部１１を用いて、制御プログラムブロックＰＡ，制御信号用タグＣＴＡ間、制御プログラムブロックＰＢ１，制御信号用タグＣＴＢ１間、制御プログラムブロックＰＢ３，制御信号用タグＣＴＢ２間、及び制御プログラムブロックＰＣ，制御信号用タグＣＴＣ間を、それぞれデータ共有線Ｌ１により結線している。すなわち、入力部１１を用いて、制御プログラムブロックと制御信号用タグとをデータ共有線を用いた結線内容を設定することができる。
【０２５３】
このように、図２０で示した内容を示す情報が工程フロー設定情報として工程フロープログラム設定情報格納部１４４に格納される。
【０２５４】
その後、図１０、図１４〜図１８で示した動作及び構成のハンドシェイク管理プログラムブロック（ＰＨＡ，ＰＨＢ１，ＰＨＢ２，ＰＤＣ）、ハンドシェイク信号を要素に持つ構造体型の変数を有するハンドシェイク信号用タグ（ＨＴＡ，ＨＴＢ１，ＨＴＢ２，ＨＴＣ）は、ハンドシェイクプロトコル管理プログラム生成部１７により自動生成される。
【０２５５】
このように、実施の形態５において工程フロー設定情報は、入力部１１を介して得られ、データ転送線を用いた上下流接続関係の設定内容及び前記制御プログラムブロックと前記制御信号用タグとをデータ共有線を用いた結線内容を指示する情報を含む。そして、使用者は入力部１１を用いて、データ転送線を用いた上記上下流接続関係の設定内容及び制御プログラムブロックと制御信号用タグとをデータ共有線を用いた結線内容を設定することができる。
【０２５６】
その結果、使用者は、工程フロープログラム段階で、ハンドシェイクプロコルを管理するのに必要な要素を記述する必要なく、最終的に加工装置用制御プログラムを作成することができるため、加工装置制御プログラムの開発工数を削減することができるという効果を有する。
【０２５７】
＜実施の形態６＞
この実施の形態６では、ワークの受渡に加え、ワークに付随したワークデータを、ワークと供に、上流工程の加工機器を制御するプログラムブロックから、下流工程の加工機器を制御するプログラムブロックに送受する方法を実現している。なお、制御プログラム開発支援装置１０の構成自体は図１で示した制御プログラム開発支援装置１０同様である。
【０２５８】
半導体や液晶基板の製造装置においては、ワークの各々に対してワークデータを持つ。ワークデータには、ワークの加工条件、加工時のセンサ値が保存されている。ワークデータは、ワークの加工機器間の移動に伴い、ワークデータは加工機器制御用の制御プログラムブロック間で送受される。
【０２５９】
図２１〜図２３は、工程フロー設定管理部１４によって設定内容が管理され、表示部１２に表示される、実施の形態６における工程フロープログラム表示画面の一例を示す説明図である。
【０２６０】
図２１において、ポジション制御ブロックＳＰＡＷ及びポジション制御ブロックＳＰＢ２１からなる全体構成を、図２２においてポジション制御ブロックＳＰＡＷの内部構成を、図２３においてポジション制御ブロックＳＰＢＷ１の内部構成を示している。
【０２６１】
図２１〜図２３で示す工程フロープログラム表示画面は、加工機器ＥＡから加工機器ＥＢ１に図６〜図８、図１４〜図１８、図２０で示した工程フロープログラム表示画面等と比較して、上流工程のハンドシェイクプログラム管理プログラム要素と、下流工程のハンドシェイク管理プログラム要素間で転送するデータの型として、ハンドシェイクプロトコル制御変数に加え、ワークデータ変数を要素として持たせた点を特徴としている。
【０２６２】
なお、ハンドシェイク信号用タグＨＴＡＷで設定されたハンドシェイク変数としては、図７で示したハンドシェイク信号用タグＨＴＡで設定されたハンドシェイク変数に加えて、以下の４つのワークデータ用変数を有している。すなわち、ハンドシェイク信号用タグＨＴＡＷは、ＢＯＯＬ型変数である、ワークデータ送信信号を示す（Ｓ）Ｓ＿ＳＥＮＤ＿ＷＯＲＫＤＡＴＡ＿Ａ、ワークデータ送信完了信号を示す（Ｓ）Ｓ＿ＣＯＭＰＴ＿ＷＯＲＫＤＡＴＡ＿Ａ、及びワークデータ受信完了信号を示す（Ｒ）Ｓ＿ＲＥＣＶ＿ＷＯＲＫＤＡＴＡ＿Ａ、並びにユーザ定義型のワークデータＷＤ＿Ａを有している。
【０２６３】
また、図２２で示すように、ハンドシェイク管理プログラムブロックＰＨＡＷは、入力変数として、ハンドシェイクプロトコル制御変数ＶＡＲに加えて、ユーザ定義型の受信用のワークデータ変数ＷＴＲＡをさらに有している。同様にして、出力変数としてハンドシェイクプロトコル制御変数ＶＡＳに加えて、ユーザ定義型の送信用のワークデータ変数ＷＴＳＡを有している。
【０２６４】
同様にして、ハンドシェイク信号用タグＨＴＢ１Ｗで設定されたハンドシェイク変数としては、図８で示したハンドシェイク信号用タグＨＴＢ１で設定されたハンドシェイク変数に加えて、以下の４つのワークデータ用変数を有している。すなわち、ハンドシェイク信号用タグＨＴＢ１Ｗは、ＢＯＯＬ型変数である、ワークデータ送信信号を示す（Ｓ）Ｓ＿ＳＥＮＤ＿ＷＯＲＫＤＡＴＡ＿Ｂ１、ワークデータ送信完了信号を示す（Ｓ）Ｓ＿ＣＯＭＰＴ＿ＷＯＲＫＤＡＴＡ＿Ｂ１、及びワークデータ受信完了信号を示す（Ｒ）Ｓ＿ＲＥＣＶ＿ＷＯＲＫＤＡＴＡ＿Ｂ１、並びにユーザ定義型のワークデータＷＤ＿Ｂ１を有している。
【０２６５】
また、図２３で示すように、ハンドシェイク管理プログラムブロックＰＨＢＷ１は、入力変数として、ハンドシェイクプロトコル制御変数ＶＢＲ１に加えて、ユーザ定義型の受信用のワークデータ変数ＷＴＲＢ１をさらに有している。同様にして、出力変数としてハンドシェイクプロトコル制御変数ＶＢＳ１に加えて、ユーザ定義型の送信用のワークデータ変数ＷＴＳＢ１をさらに有している。
【０２６６】
なお、ハンドシェイク管理プログラムブロックＰＨＡＷ及びＰＨＢＷ１は、サブ装置のハンドシェイクプロトコル管理ラダー工程を実行するプログラムのブロックである。また、他の構成は、図６〜図８で示した実施の形態１と同様であるため、同一符号を付して説明を適宜省略する。
【０２６７】
図２４及び図２５は、実施の形態６において、上流工程側である加工機器ＥＡと、下流工程側である加工機器ＥＢ１との間の、ワークの確実な受渡を実現するハンドシェイクプロトコル管理の処理手順を示す説明図である。なお、図２４及び図２５は切断線ＣＬによって上下分断された図面を示しており、上部を図２４、下部を図２５が示している。
【０２６８】
これらの図に示すように、上流工程の加工機器を制御するシステムプログラムブロックＳＰＡＷ側（制御プログラムブロックＰＡ及びハンドシェイク管理プログラムブロックＰＨＡＷ）と、下流工程の加工機器を制御するポジション制御ブロックＳＰＢＷ１側（制御プログラムブロックＰＢ１及びハンドシェイク管理プログラムブロックＰＨＢＷ１）との間で時刻ｔ０〜時刻ｔ２１で示す期間にハンドシェイク信号の授受を行っている。
【０２６９】
加えて、実施の形態６では、上流工程側から下流工程側にかけてワークデータの送信をも行っている。すなわち、加工機器ＥＡがワークとワークデータ変数ＷＴＲＡを受入れ、ワークデータ変数ＷＴＲＡを加工機器ＥＡ用のワークデータＷＤ＿Ａとし、加工機器ＥＡで、ワークデータＷＤ＿Ａに記載された加工条件に従いワークを加工する。そして、加工機器ＥＡは、加工終了後、加工時のセンサデータ値などを書き込んだワークデータＷＤ＿Ａをワークデータ変数ＷＴＳＡとして、加工機器ＥＢ１にワークとワークデータ変数ＷＴＳＡとを送出する。
【０２７０】
一方、加工機器ＥＢ１がワークとワークデータ変数ＷＴＲＢ１（ワークデータ変数ＷＴＳＡ）とを受入れ、ワークデータ変数ＷＴＲＢ１を加工機器ＥＢ１用のワークデータＷＤ＿Ｂ１として、加工機器ＥＢ１で、ワークデータＷＤ＿Ｂ１に記載された加工条件に従いワークを加工する。そして、加工機器ＥＢ１は、加工終了後、加工時のセンサデータ値などを書き込んだワークデータＷＤ＿Ｂ１をワークデータ変数ＷＴＳＢ１とし、下流工程の加工機器にワークとワークデータ変数ＷＴＳＢ１を送出する。
【０２７１】
このように、実施の形態６では、ハンドシェイク管理プログラムブロックＰＨＡＷ，ハンドシェイク管理プログラムブロックＰＨＢＷ１間で送受信するデータが、ＢＯＯＬ型のハンドシェイクプロトコル制御変数（ＶＡＲ，ＶＡＳ，ＶＢＲ１、ＶＢＳ１）と、ユーザ定義型のワークデータ変数（ＷＴＲＡ，ＷＴＳＡ，ＷＴＲＢ１，ＷＴＳＢ１）とからなる構造体型変数に変更されている。
【０２７２】
また、制御プログラムブロックＰＡ及び制御プログラムブロックＰＢ並びにハンドシェイク管理プログラムブロックＰＨＡＷ及びハンドシェイク管理プログラムブロックＰＨＢＷ１は、稼動中に７つの実行状態を持つ。７つの状態とは、図１０で述べた５つの状態「(a) ワーク受入待ち状態、(b) ワーク受入中状態、(c) ワーク加工中状態、(d) ワーク送信待ち状態、(e) ワーク送信中状態 」に、(f) ワークデータ送信中状態、(g) ワークデータ受信中状態の２つの状態を意味する。なお、状態は(a) ，(b) ，(g) ，(c) ，(d) ，(e) ，(f) の順で遷移する。
【０２７３】
また、図２４及び図２５において、図１０とほぼ同様、実線細線は外部変数による制御プログラムブロック，ハンドシェイク管理プログラムブロック間のデータ受け渡しを示し、実線太線はハンドシェイクプロトコル制御変数ＶＡＳ及びワークデータ変数ＷＴＳＡのパルス転送によるデータ送受信を示し、白抜き矢印はパルス転送の入力完了変数ＶＣＩＢ１（受信完了変数）のデータ送受信を示している。
【０２７４】
図２６は図２４及び図２５におけるハンドシェイク管理プログラムブロックＰＨＡＷによるラダープログラムの実行内容をラダー言語を用いて示した説明図である。図２７は図２４及び図２５におけるハンドシェイク管理プログラムブロックＰＨＢＷ１によるラダープログラムの実行内容ラダー言語を用いて示した説明図である。
【０２７５】
以下、図２４及び図２５を主として参照して、図２６あるいは図２７を適宜参照しながら、上流工程側である加工機器ＥＡと、下流工程側である加工機器ＥＢ１の間の、ワークとワークデータの確実な受渡を実現するハンドシェイクプロトコル管理の処理を説明する。
【０２７６】
なお、図２４及び図２５において、処理(1)〜(12)までの処理内容は、実施の形態１の図１０に示した、上流工程の加工機器から、下流工程の加工機器にワークを受渡する処理時における、ハンドシェイク変数及びハンドシェイクプロトコル管理プログラム間のデータのパルス転送処理とほぼ同様である。以下、処理(1)〜(12)について異なる項目(2)，(4)及び(11)における異なる処理内容ついて説明する。
【０２７７】
(2) さらに、ハンドシェイク管理プログラムブロックＰＨＡＷは、ワーク送出要求信号を示す（Ｓ）Ｓ＿ＲＥＱ＿ＡがＯＮになったのを受けて、ハンドシェイク信号用タグＨＴＡＷに割り付けられた構造体変数の要素である、ワークデータ送信完了信号を示す（Ｓ）Ｓ＿ＣＯＭＰＴ＿ＷＯＲＫＤＡＴＡ＿ＡをＯＦＦにする（次のサイクルを示すＮＴ(2)参照）。
【０２７８】
(4) さらに、ハンドシェイク管理プログラムブロックＰＨＢＷ１は、時刻ｔ４において、ハンドシェイク信号用タグＨＴＢＷ１に割り付けられた構造体変数の要素である、ワークデータ受信完了信号（Ｒ）Ｓ＿ＲＥＣＶ＿ＷＯＲＫＤＡＴＡ＿ Ｂ１の値をＯＮからＯＦＦにする（次のサイクルを示すＮＴ(4)参照）。
【０２７９】
上記項目(4)の追加動作は、図２７の(a) に示すように、「Ｒ＿ＲＥＱ＿Ｂ１がＯＦＦからＯＮし、かつ“（Ｒ）ワーク送出要求”要素の値がＯＮしたことに応答して、（Ｒ）Ｓ＿ＲＥＣＶ＿ＷＯＲＫＤＡＴＡ＿ Ｂ１がＯＦＦ（ＲＳＴ）される。」ラダープログラムを追加実行させることにより実現可能である。
【０２８０】
(11) さらに、時刻ｔ１１において、自身の実行状態を(g) “ワークデータ受信中”状態に遷移させる。
【０２８１】
上記項目(11)の追加動作は、図２７の(c) に示すように、「（Ｒ）ワーク送出開始がＯＮし、かつ（Ｒ）ＣＯＭＰＴ＿Ｂ１がＯＮしたことに応答して、自身の実行状態を、(g) “ワークデータ受信中”状態に遷移（ＭＯＶ）させる。」ラダープログラムを実行させることにより実現可能である。
【０２８２】
以下、処理(12)に続いて実行される処理(13)〜(16）について説明する。
【０２８３】
(13) 時刻ｔ１４において、上流工程の加工機器ＥＡ用の制御プログラムブロックＰＡは、ワーク受入完了信号（Ｓ）ＣＯＭＰＴ＿ＡがＯＦＦからＯＮになったのを受け、ハンドシェイク信号を示すハンドシェイク信号用タグＨＴＡＷに割付けられた変数であるワークデータ送信信号を示す（Ｓ）Ｓ＿ＳＥＮＤ＿ＷＯＲＫＤＡＴＡ＿Ａの値をＯＦＦからＯＮにする。そして、自身の実行状態を、(f) “ワークデータ送信中”状態に遷移させる。  (14) 時刻ｔ１５において、上流工程のハンドシェイク管理プログラムブロックＰＨＡは、ワークデータ送信信号を示す（Ｓ）Ｓ＿ＳＥＮＤ＿ＷＯＲＫＤＡＴＡ＿Ａの値がＯＦＦからＯＮになったのを検知して、状態遷移変数ＦＶＡがＯＮにして、転送条件ブロック２５Ａの転送条件ＣＡが成立させることにより、出力変数であるハンドシェイクプロトコル制御変数ＶＡＳ及びワークデータ変数ＷＴＳＡを含む構造体型データを、下流工程のハンドシェイク管理プログラムブロックＰＨＢＷ１の入力変数にパルス型データ転送を行う。その結果、ハンドシェイクプロトコル制御変数ＶＢＲＷ１のワークデータ変数ＷＴＲＢ１の値がワークデータ変数ＷＴＳＡの値に設定される。さらに、（Ｓ）ＣＯＭＰＴ＿Ａの値をＯＦＦにする。そして、自身の実行状態を、 “ワークデータ送信中”状態に遷移させる。
【０２８４】
上記項目(14)の動作は、図２６の(e) に示すように、「（Ｓ）Ｓ＿ＳＥＮＤ＿ＷＯＲＫＤＡＴＡ＿ＡがＯＦＦからＯＮになった状態（↑）に応答して、ワークデータＷＴＳＡが転送され（ＳＥＴ）、（Ｓ）ＣＯＭＰＴ＿ＡがＯＦＦ（ＲＳＴ）され、状態遷移変数ＦＶＡがＯＮ（ＳＥＴ）され、自身の実行状態を(f) “ワークデータ送信中”状態に遷移（ＭＯＶ）させる。」ラダープログラムを実行させることにより実現可能である。
【０２８５】
(15) 時刻ｔ１６において、下流工程のハンドシェイク管理プログラムブロックＰＨＢＷ１では、入力変数のワークデータ変数ＷＴＲＢ１に値が転送されたことを受け、ハンドシェイク信号用タグＨＴＢ１Ｗに割付けられたハンドシェイク変数の、ワークデータ受信完了信号（Ｒ）Ｓ＿ＲＥＣＶ＿ＷＯＲＫＤＡＴＡ＿ Ｂ１の値をＯＦＦからＯＮにする。また、入力完了変数ＶＣＩＢ１の値をＯＦＦからＯＮにする。
【０２８６】
そして、図２で示したネットワーク上の共有メモリ機構を通じて、データ転送元である、上流工程のハンドシェイク管理プログラムブロックＰＨＡＷのハンドシェイクプロトコル制御変数ＶＡＳ（出力変数）に対する出力完了変数ＶＣＯＡの値をＯＦＦからＯＮにする。そして、自身の実行状態を、(c) “ワーク加工中”状態に遷移させる。
【０２８７】
上記項目(15)の動作は、図２７の(d) に示すように、「データ受信中状態において、ワークデータ変数ＷＴＲＢ１がＯＦＦからＯＮになった状態（↑）に応答して、（Ｒ）Ｓ＿ＲＥＣＶ＿ＷＯＲＫＤＡＴＡ＿ Ｂ１及び入力完了変数ＶＣＩＢ１がオンされ（ＳＥＴ）、自身の実行状態を(c) “ワーク加工中”状態に遷移させる。」ラダープログラムを実行させることにより実現可能である。
【０２８８】
さらに、下流工程の加工機器ＥＢ用の制御プログラムブロックＰＢ１は、ワークデータ受信完了信号（Ｒ）Ｓ＿ＲＥＣＶ＿ ＷＯＲＫＤＡＴＡ＿Ｂ１の値がＯＦＦからＯＮになったのを受け、自身の実行状態を、(c) “ワーク加工中”状態に遷移させ、ワークの加工を開始する。
【０２８９】
ワークの加工が終了すると、ハンドシェイク管理プログラムブロックＰＨＢＷ１及び制御プログラムブロックＰＢ１は、自身の下流工程に対する上流工程として振る舞い、(c) ワーク加工中状態、(d) ワーク送出待ち状態、(e) ワーク送出中状態、(f) ワークデータ送信中状態、と状態を遷移する。
【０２９０】
次の周期の処理(2)で、ワーク送出要求信号（Ｓ）Ｒ＿ＲＥＱ＿Ａの値をＯＦＦからＯＮにした時に、ワークデータ送信完了信号を示す（Ｓ）Ｓ＿ＣＯＭＰＴ＿ＷＯＲＫＤＡＴＡ＿Ａの値をＯＮからＯＦＦにする。
【０２９１】
(16）時刻ｔ１７において、上流工程のハンドシェイク管理プログラムブロックＰＨＡＷは、出力完了変数ＶＣＯＡの値がＯＦＦからＯＮになったのを受け、ワークデータ送信完了信号を示す（Ｓ）Ｓ＿ＣＯＭＰＴ＿ＷＯＲＫＤＡＴＡ＿Ａの値をＯＦＦからＯＮに設定し、（Ｓ）Ｓ＿ＳＥＮＤ＿ＷＯＲＫＤＡＴＡ＿Ａの値及び状態遷移変数ＦＶＡの値をＯＮからＯＦＦに設定する。そして、自身の実行状態を、(c) “ワーク受入待ち”状態に遷移させる。
【０２９２】
制御プログラムブロックＰＡは、ハンドシェイク信号を示すタグに割り付けられた構造体型変数の要素である、ワークデータ送信完了信号を示す（Ｓ）Ｓ＿ＣＯＭＰＴ＿ＷＯＲＫＤＡＴＡ＿Ａの値が、ＯＦＦからＯＮになったのを検知して、自身の実行状態を、ワーク受入待ち状態に遷移する。
【０２９３】
そして、ハンドシェイク管理プログラムブロックＰＨＡＷ及び制御プログラムブロックＰＡは、ワークを受け入れる下流工程側として動作し、自身の実行状態を、(b) ワーク受入中状態、(g) ワークデータ受信中状態と遷移する。
【０２９４】
上記項目(16)の動作は、図２６の(f) に示すように、「ワークデータ送信中状態において、出力完了変数ＶＣＯＡがＯＦＦからＯＮになった状態（↑）に応答して、（Ｓ）Ｓ＿ＣＯＭＰＴ＿ＷＯＲＫＤＡＴＡ＿ＡがＯＮされ、（Ｓ）Ｓ＿ＳＥＮＤ＿ＷＯＲＫＤＡＴＡ＿Ａ及び状態遷移変数ＦＶＡがＯＦＦ（ＲＳＴ）され、自身の実行状態を(f) “ワーク受入れ待ち”状態に遷移（ＭＯＶ）させる。」ラダープログラムを実行させることにより実現可能である。
【０２９５】
次の周期の処理(4)で、ワーク送出要求信号（Ｒ）Ｒ＿ＲＥＱ＿Ｂ１の値をＯＦＦからＯＮにした時に、ワークデータ受信完了信号（Ｒ）Ｓ＿ＲＥＣＶ＿ＷＯＲＫＤＡＴＡ＿Ｂ１の値をＯＮからＯＦＦにする。
【０２９６】
上述したように、実施の形態６のプログラム開発支援装置は、上流側加工機器及び下流側加工機器間において、ワークデータ及びその送受信の制御用信号のデータ転送が可能な加工装置用制御プログラムを、開発工数を増加させることなく実現できる。
【０２９７】
したがって、使用者は、加工機器を制御するための信号線を要素として持つ構造体の定義と、加工機器の制御プログラムの記述を行えばよく、煩雑な加工機器間のワークとワークデータの受渡を管理するハンドシェイクプロトコルを実現するプログラムを記述する必要がなくなり、加工装置制御プログラムの開発工数を削減することができるという効果を有する。
【０２９８】
＜実施の形態７＞
実施の形態７では、実施の形態１〜実施の形態６の制御プログラム開発支援装置１０による制御プログラム開発支援方法について説明する。
【０２９９】
制御プログラム開発支援装置１０よる制御プログラム開発支援方法は、各々がワークに対して加工処理を行う複数の加工機器を有する加工装置用制御システム用のプログラム開発を支援する制御プログラム開発支援方法として実行される。複数の加工機器はワークを送出する上流側加工機器と該上流側加工機器よりワークを受ける下流側加工機器とを少なくとも含んでいる。
【０３００】
そして、ハンドシェイク信号を用いて上流側加工機器から下流側加工機器へのワークの受け渡し制御を行うべく、上流側加工機器から出力変数を下流側加工機器の入力変数としてデータ転送し、入力変数としての入力完了を示す入力完了変数を共有メモリ等を用いた所定の情報伝達ルートで上流側加工機器に伝達することにより、上流側加工機器が出力変数の転送完了を認識可能とする上下流間データ転送プロトコル（図１０，図２１及び図２２等で示したハンドシェイクプロトコル）が予め規定される。例えば、図６〜図８で示した構成において、加工機器ＥＡが上流側加工機器に相当し、ＥＢ１が下流側加工機器に相当し、ハンドシェイクプロトコル制御変数ＶＡＳ等が出力変数に相当し、ハンドシェイクプロトコル制御変数ＶＢＲ１等が入力変数に相当し、入力完了変数が入力完了変数ＶＣＩＢ１に相当する。
【０３０１】
そして、制御プログラム開発支援装置１０による制御プログラム開発支援方法は、以下のステップ(a) 〜(d) を実行する。
【０３０２】
ステップ(a) は、上流側加工機器と下流側加工機器との上下流接続関係及び上流側加工機器から下流側加工機器へのデータ転送が実行されるデータ転送条件を含む工程フロー設定情報を格納する（工程フロープログラム設定情報格納部１４４による処理）。
【０３０３】
ステップ(b) は、データ転送条件に基づき、上流側加工機器，下流側加工機器間のデータ転送用のデータ転送プログラムを生成する（データ転送プログラム生成部１５２よる処理）。
【０３０４】
ステップ(c) は、上下流間データ転送プロトコルに基づき記入力完了変数を生成し、入力完了変数の値を管理する入力完了変数値管理プログラム（パルス転送変数値管理プログラム）を生成する（パルス転送変数生成部１５３，パルス転送変数値管理プログラム生成部１５４の処理）。すなわち、パルス転送変数生成部１５３及びパルス転送変数値管理プログラム生成部１５４によって、入力完了変数生成・管理部を構成している。
【０３０５】
ステップ(d)は、上下流間データ転送プロトコルに基づき、入力変数、出力変数及び入力完了変数を用いた上流側加工機器と下流側加工機器との間の送受信を実現するためのハンドシェイクプロトコル管理プログラムブロック（ＰＨＡ，ＰＨＢ１等）及びハンドシェイク信号に関するハンドシェイク信号用タグ（ＨＴＡ，ＨＴＢ１等）を生成する（ハンドシェイクプロトコル管理プログラム生成部１７による処理）。
【０３０６】
そして、実施の形態７においては、上述した制御プログラム開発支援方法のステップ(a) 〜(d) を書込んだプログラムを、ＣＰＵ（中央演算処理装置）を有するパーソナルコンピュータやワークステーションなどのコンピュータで実行することにより実現している。  この場合、コンピュータのＣＰＵ（制御手段）が、プログラムにしたがって、以下で上述したステップ(a) 〜(d) の各処理工程を実行することになる。これらのプログラムは、ハードディスク、フレキシブルディスク、ＣＤ（Compact Disk）−ＲＯＭ（Read Only Memory）、ＭＯ（Magneto-Optical disk）、ＤＶＤ（Digital Versatile  DiskまたはDigital Video  Disk）などのコンピュータで読取可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また、これらのプログラムは、インタネットなどのネットワーク（通信回線）を介して配布することもできる。
【０３０７】
したがって、実施の形態７による制御プログラム開発支援方法をコンピュータに実行させるプログラムは、上流側加工機器，下流側加工機器間における双方向の上下流間データ転送プロトコルが予め規定されているため、ステップ(c) の実行により入力完了変数値管理プログラムを自動的に生成し、ステップ(d) の実行により、ハンドシェイクプロトコル管理プログラムブロック及びハンドシェイク信号用タグを自動的に生成することができる。
【０３０８】
その結果、この発明の使用者は、主として複数の加工機器の制御プログラム等の複数の加工機器固有の情報を設定する処理のみを自身で行うことにより、加工装置用制御システムを開発することができるため、加工装置用制御プログラムの開発工数を削減することができるという効果を有する。
【０３０９】
＜その他＞
実施の形態１〜実施の形態７では、所定の情報伝達ルートとして図２で示したネットワーク上の共有メモリ機構を示したが、これに限定されず、メッセージ通信等、全ての加工機器用の制御機器間で情報の授受が行える機構があれば良い。
【符号の説明】
【０３１０】
１０  制御プログラム開発支援装置、１１  入力部、１２  表示部、１３  制御システム情報管理部、１４  工程フロープログラム管理部、１５  転送制御プログラム生成部、１６  制御部、１７  ハンドシェイクプロトコル管理プログラム生成部、１３１  制御システム管理情報設定部、１３２  制御システム管理情報格納部、１４１  工程フロー設定管理部、１４２  プログラムブロック設定管理部、１４３  転送条件設定部、１４４  工程フロープログラム設定情報格納部、１５１  条件判定プログラム生成部、１５２  データ転送プログラム生成部。
【図１】
2010282306.tif 000003
【図２】
2010282306.tif 000004
【図３】
2010282306.tif 000005
【図４】
2010282306.tif 000006
【図５】
2010282306.tif 000007
【図６】
2010282306.tif 000008
【図７】
2010282306.tif 000009
【図８】
2010282306.tif 000010
【図９】
2010282306.tif 000011
【図１０】
2010282306.tif 000012
【図１１】
2010282306.tif 000013
【図１２】
2010282306.tif 000014
【図１３】
2010282306.tif 000015
【図１４】
2010282306.tif 000016
【図１５】
2010282306.tif 000017
【図１６】
2010282306.tif 000018
【図１７】
2010282306.tif 000019
【図１８】
2010282306.tif 000020
【図１９】
2010282306.tif 000021
【図２０】
2010282306.tif 000022
【図２１】
2010282306.tif 000023
【図２２】
2010282306.tif 000024
【図２３】
2010282306.tif 000025
【図２４】
2010282306.tif 000026
【図２５】
2010282306.tif 000027
【図２６】
2010282306.tif 000028
【図２７】
2010282306.tif 000029
【図２８】
2010282306.tif 000030
【図２９】
2010282306.tif 000031
【図３０】
2010282306.tif 000032
【図３１】
2010282306.tif 000033
【図３２】
2010282306.tif 000034
【図３３】
2010282306.tif 000035
【図３４】
2010282306.tif 000036