(57)【要約】【課題】  サポートソフト毎に利用できる変数のデータ型が異なっているような場合であっても、一方のサポートソフトから他方のサポートソフトへと変数を簡単に流用することができ、しかも流用を相互に繰り返した場合にも、データ型情報が欠落することがないようにしたプログラム開発支援装置を提供すること。【解決手段】  機種判定手段により判定されたプログラマブル機器の機種に応じて、既知の項目削除処理やアドレスプレフィクス変換処理等のフォーマット修正処理を施すことにより、登録要求に係る変数テーブルのフォーマットを自機に相当するプログラム機器の変数テーブルのフォーマットと整合させるフォーマット修正手段と、フォーマット修正手段によりフォーマット整合された変数テーブルに含まれる変数を自機の変数テーブルに書き込むテーブル書き込み手段とを具備する。【選択図】  図１
2008276526.tif 000002
【特許請求の範囲】
【請求項１】
所定フォーマットの変数テーブルにより定義されたデータ型を有する変数をアドレスとして使用可能とされたプログラム言語で記述された動作プログラムに基づいて動作するプログラマブル機器の動作プログラムを開発するために使用されるプログラム開発支援装置であって、
変数テーブルの登録要求を受け付けるための登録要求受付手段と、
登録要求受付手段により変数テーブルの登録要求が受け付けられるのに応答して、その変数テーブルがどの機種のプログラマブル機器のものであるかを既知の特徴に基づいて判定する機種判定手段と、
機種判定手段により判定されたプログラマブル機器の機種に応じて、既知の項目削除処理やアドレスプレフィクス変換処理等のフォーマット修正処理を施すことにより、登録要求に係る変数テーブルのフォーマットを自機に相当するプログラム機器の変数テーブルのフォーマットと整合させるフォーマット修正手段と、
フォーマット修正手段によりフォーマット整合された変数テーブルに含まれる変数を自機の変数テーブルに書き込むテーブル書き込み手段とを具備する、ことを特徴とするプログラム開発支援装置。
【請求項２】
テーブル書き込み手段による書き込みに先立って、その変数と同一の変数が自機の変数テーブルに存在するか否かを判定する変数既存判定手段と、
変数既存判定手段により同一変数が存在しないと判定されるときに限り、フォーマット修正後の変数を変数テーブルに書き込む、ことを特徴とする請求項１に記載のプログラム開発支援装置。
【請求項３】
変数を共用可能とされた１以上の機種のプログラマブル機器のそれぞれ毎に、その機種の変数テーブルで扱うことができるデータ型リストを記憶するデータ型リスト記憶手段と、
データ型リスト記憶手段に記憶されたデータ型リストを参照することにより、その登録要求に係る変数のデータ型が自機の変数テーブル上でも扱うことのできるデータ型か否かを判定する両用データ型判定手段とを有し、
変数既存判定手段により同一変数が存在すると判定されるときには、両用データ型判定手段により自機の変数テーブル上でも扱うことのできるデータ型であると判定されるときに限り、フォーマット修正後の変数を変数テーブルに上書き方式により書き込む、ことを特徴とする請求項２に記載のプログラム開発支援装置。
【請求項４】
変数既存判定手段により同一変数が存在すると判定され、かつ両用データ型判定手段により自機の変数テーブル上では扱うことのできないデータ型であると判定されるときには、当該変数を上書き方式で書き込むか否かをユーザに問い合わせる問い合わせ手段と、
問い合わせ手段による問い合わせの結果、ユーザから上書き方式を希望する旨の回答があったときには、その変数のデータ型を変更することなく、自機の変数テーブルへの上書き方式による書き込みを行うのに対して、ユーザから上書き方式を希望しない旨の回答があったときには、その変数のデータ型を自機の該当する変数のデータ型と同一のデータ型に書き換えたのち、上書き方式による書き込みを行うデータ型選択式の書き込み手段とを具備する、ことを特徴とする請求項３に記載のプログラム開発支援装置。
【請求項５】
自機が対象とするプログラマブル機器がプログラマブル・コントローラであり、登録要求に係る変数テーブルの対象とするプログラマブル機器がプログラマブル表示器である、ことを特徴とする請求項１〜４のいずれかに記載のプログラム開発支援装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、例えばプログラマブル・コントローラ（以下、ＰＬＣと言う）やプログラマブル表示器（以下、ＰＴ（プログラマブル・ターミナルの略）という）等に代表される産業用機器のプログラム開発に供されるプログラム開発支援装置に関する。
【背景技術】
【０００２】
本発明の背景技術を説明する前に、以下の理解を容易とするために、先ず、幾つかの技術用語（「サポートソフト」、「ＰＬＣ用制御プログラム作成ソフト」、「ＰＴ用画面作成ソフト」、「アドレス」、「変数」、「変数テーブル」）についての定義を明らかとする。
【０００３】
「サポートソフト」とは、ＰＬＣやＰＴなど、産業用装置に対してプログラムや画面データの作成や転送、設定の変更などを行なうためのソフトウェアの総称を意味している。
【０００４】
「ＰＬＣ用制御プログラム作成ソフト」とは、ＰＬＣを動作させるための制御プログラムの作成や転送、ＰＬＣの設定の変更などを行なうためのサポートソフトのことを意味している。
【０００５】
「ＰＴ用画面作成ソフト」とは、制御装置のユーザインタフェースを提供するための装置（例えば、ＰＴ等）の上で表示されるべき画面の作成や転送、装置の設定の変更などを行なうためのサポートソフトのことを意味している。
【０００６】
「アドレス」とは、ＰＬＣの内部メモリの物理的な位置を示す文字列（例：  ０．０１，  Ｄ１０，  Ｗ１００．１２）を意味している。
【０００７】
「変数」とは、名称とアドレスの対応付けを定義したデータのことを意味している。変数をあらかじめ定義しておくと、アドレス入力の代わりに変数の名称で制御プログラムや画面の作成を行なうことができ、アドレスを意識することなく、実際の機器のイメージで作成することができる。変数は、「名称」、「データ型」、「アドレス」、及び「コメント」からなる４つの要素を含んで構成されている。
【０００８】
「変数テーブル」とは、定義済みの変数が格納されたリストのことを意味している。
この種のプログラム開発支援装置において、変数を取り扱うことのできるサポートソフトとしては、ＰＬＣ用制御プログラム作成ソフトやＰＴ用画面作成ソフト等が存在する（例えば、特許文献１参照）。ユーザはＰＬＣとＰＴとを用いたシステムを設計するときに、両サポートソフト間で共通の変数を使用することにより、開発工数の削減を図ることができる。
【０００９】
ところが、ＰＬＣ用制御プログラム作成ソフト上で扱うことが可能な変数のデータ型とＰＴ用画面作成ソフト上で扱うことが可能な変数のデータ型とは必ずしも一致しない。現状では、ＰＬＣ用制御プログラム作成ソフトは、ＰＴ用画面作成ソフトで扱うことのできるデータ型のすべてを扱うことができるが、ＰＴ用画面作成ソフトでは取り扱うことができない独自のデータ型も扱うことができるようになっている。
【００１０】
これは、個々のサポートソフト毎の単なる任意の取り決めではなくて、製造ライン上の各種入出力機器の実際の制御に係るＰＬＣ用制御プログラムと精々操作ボタンや表示器の信号を取り扱うに過ぎないＰＴ用画面とでは、取り扱うアドレス空間の規模やデータのビット長が異なる等の装置特有の理由に基づくものである。
【００１１】
そのため、プログラム開発支援装置上において、ＰＴ用画面作成ソフトからＰＬＣ用制御プログラム作成ソフトへと変数をコピーしたい場合には、プログラム開発支援装置を構成するパソコンのＯＳに組み込まれた所謂コピー＆ペースト（またはドラッグ＆ドロップ）機能を利用することで、これを１アクションで簡単に行うことができたが、その反対方向へのコピーについては、これを許すとすれば、取り扱えないデータ型が含まれることで、動作不能なＰＴ用画面が作成されたり、逆に、必要なデータ型が抹消されて、本来とは異なるＰＴ用画面が生成される等を防止するために、そのようなコピーを禁ずるので通例であった。
【００１２】
もっとも、ＰＬＣ用制御プログラム作成ソフト上でのみ扱える独自のデータ型を扱えないことを理由して、ＰＴ用画面作成ソフトでそのような独自のデータ型を有する変数を含む変数テーブルを一切作成できないとすれば、不便極まりない。
【００１３】
そのため、このような場合には、ＰＴ用画面作成ソフト上においては、そのような独自のデータ型を有する変数については、当該ＰＴ用画面作成ソフトで扱うことの可能なデータ型の中で、その独自のデータ型にもっとも近い別のデータ型で仮に記述しておき、その後、ＰＴ用画面作成ソフト上において作成された変数テーブルを、一旦スプレッドシートやテキストエディタにコピー＆ペースト（またはドラッグ＆ドロップ）した上で、ユーザが手作業でＰＬＣ用制御プログラム作成ソフト用のフォーマットに書き換えたのちに、ＰＬＣ用プログラム作成装置へとコピーすることで、ＰＴ用画面作成ソフトからＰＬＣ用制御プログラム作成ソフトへと間接的に流用すると言った操作手順が採用されていた。
上述の技術的背景について、以下に、プログラム開発支援装置における具体的な操作手順例を挙げて、より詳細な説明を行う。
［第１従来例（変数を上書きしない場合）］
ユーザは、ＰＴ用画面作成ソフトで定義した変数をＰＬＣ用制御プログラム作成ソフトでも流用して、制御プログラム内で使用したい場合がある。このような場合、プログラム開発支援装置における以下の操作手順により変数の流用を行なうことができる。
【００１４】
先ず、最初のステップとして、ユーザは、ＰＴ用画面作成ソフトＳＦＴ１の変数テーブルＴＢ１上で変数を定義し、キーボードまたはマウス操作により変数を選択状態にし、コピー操作を行う（図１７矢印Ａ１１）。このコピー操作により、コピーバッファＣＢには、図１７に示されるように、タブ区切りテキストの形式でコピーした変数が格納される。なお、図１７において、変数テーブルＴＢ１内の各行はそれぞれ１つの変数を表し、各列は以下の内容を示している。
１列目：  ホスト（ＰＴやＰＬＣなど、どの機器のアドレスを示す変数か）
２列目：  名称（変数を一意に表す文字列）
３列目：  タイプ（ビット、ワード、整数、実数など、変数のデータ長や用途を表す）
４列目：  アドレス種別（内部メモリの物理的な位置を示す文字列）
５列目：  Ｉ／Ｏコメント（変数のコメント）
次のステップとして、ユーザは、キーボードまたはマウス操作により、スプレッドシート（ＳＳ）上でコピーバッファ（ＣＢ）からのペーストを行なう（図１８矢印Ａ１２参照）。その後、ＰＬＣ用制御プログラム作成ソフトに不必要なホスト（１列目）を削除し、アドレスをＰＬＣ用制御プログラム作成ソフト（ＳＦＴ２）に合わせて変更する（「ＷＲ」→「Ｗ」，「ＤＭ」→「Ｄ」）（図１８矢印Ａ１３参照）。
次のステップとして、ユーザは、キーボードまたはマウス操作により、全体を選択状態にし、コピー操作を行う（図１９矢印Ａ１４参照）。このコピー操作により、コピーバッファ（ＣＢ）には、図１９に示されるように、タブ区切りテキストの形式でコピーした修正済みの変数が格納される。
次のステップとして、ユーザは、キーボードまたはマウス操作により、全体を選択状態にしてＰＬＣ用制御プログラム作成ソフト（ＳＦＴ２）の変数テーブル（ＴＢ２）にコピー＆ペーストする。これにより、ＰＬＣ用制御プログラム作成ソフト（ＳＦＴ２）上に新たに変数が追加される（図２０矢印Ａ１５，１６参照）。
［従来例（変数を上書きする場合）］
ユーザは、ＰＴ用画面作成ソフトとＰＬＣ用制御プログラム作成ソフトの両方で共通に利用している（すでに流用済みの）変数に対して、一方のサポートソフトで行なった変数の修正を他方のサポートソフトの変数へ反映したい場合がある。このような場合、ＰＴ用画面作成ソフトとＰＬＣ用制御プログラム作成ソフトでは、扱うことのできる変数の型（タイプ）が異なるため、同じ変数であっても異なる型で登録している。
例えば、ＰＴ用画面作成ソフトで扱うことのできるデータ型が、
・ＢＯＯＬ  （１ｂｉｔ）
・ＣＨＡＮＮＥＬ  （１６ｂｉｔ）
ＰＬＣ用制御プログラム作成ソフトで扱うことのできるデータ型が、
・ＢＯＯＬ  （１ｂｉｔ）
・ＣＨＡＮＮＥＬ  （１６ｂｉｔ）
・ＤＷＯＲＤ  （３２ｂｉｔ）
である場合のように、上書き元と上書き先とで扱えるデータ型が異なる場合がある。
【００１５】
このような場合、対象となる変数の上書き元及び上書き先のデータ型が、いずれも両方のサポートソフトで扱うことのできるデータ型だった場合には、ユーザが意図した変更であると考えられるから、次のように、上書きをする。
・ＢＯＯＬ型変数をＣＨＡＮＮＥＬ型変数で上書き  →  ＣＨＡＮＮＥＬ型に変更
・ＣＨＡＮＮＥＬ型変数をＢＯＯＬ型変数で上書き  →  ＢＯＯＬ型に変更
また、対象となる変数の上書き元のデータ型が上書き先で扱うことのできないデータ型だった場合には、次のように、最も近い型に変更して上書きする。
・ＢＯＯＬ型変数をＤＷＯＲＤ型変数で上書き  →  ＣＨＡＮＮＥＬ型に変更
また、対象となる変数の上書き先のデータ型が上書き元で扱うことのできないデータ型だった場合には、上書き先のデータ型を残しておきたい可能性が高いので、次のように、上書き先のデータ型のままとする（上書き元のサポートソフトはＤＷＯＲＤを扱うことができず、仕方なくＣＨＡＮＮＥＬで登録している）。
・ＤＷＯＲＤ型変数をＣＨＡＮＮＥＬ型変数で上書き  →  ＤＷＯＲＤ型変数のまま
上述の場合、プログラム開発支援装置における以下の操作手順により変数の流用を行なうことができる。
【００１６】
先ず、最初のステップとして、ユーザは、ＰＴ用画面作成ソフト（ＳＦＴ１）の変数テーブル（ＴＢ１）で変数の内容を修正し、キーボードまたはマウス操作により変数を選択状態にしてコピー操作を行う（図２１矢印Ａ２１参照）。このコピー操作により、コピーバッファ（ＣＢ）には、図２１に示されるように、タブ区切りテキストの形式でコピーした変数が格納される。なお、図２１において、変数テーブル（ＴＢ１）内の各行はそれぞれ１つの変数を表し、各列は以下の内容を示している。
１列目：  ホスト（ＰＴやＰＬＣなど、どの機器のアドレスを示す変数か）
２列目：  名称（変数を一意に表す文字列）
３列目：  タイプ（ビット、ワード、整数、実数など、変数のデータ長や用途を表す）
４列目：  アドレス種別（内部メモリの物理的な位置を示す文字列）
５列目：  Ｉ／Ｏコメント（変数のコメント）
次のステップとして、ユーザは、スプレッドシート（ＳＳ）でコピーバッファ（ＣＢ）からのペーストを行なう（図２２矢印Ａ２２参照）。その後、ＰＬＣ用制御プログラム作成ソフトに不必要なＰＬＣ名（１列目）を削除し、アドレスをＰＬＣ用制御プログラム作成ソフトに合わせて変更する（ＷＲ→Ｗ，  ＤＭ→Ｄ）。また、ＰＬＣ用制御プログラム作成ソフト上で定義されている変数の型が変更されないように、ユーザはＣＨＡＮＮＥＬをＤＷＯＲＤに変更する（図２２矢印Ａ２３参照）。
【００１７】
次のステップとして、ユーザは、キーボードまたはマウス操作により、全体を選択状態にしてコピー操作を行う（図２３矢印Ａ２４参照）。このコピー操作により、コピーバッファ（ＣＢ）には、図２３に示されるように、タブ区切りテキストの形式でコピーした変数が格納される。
【００１８】
次のステップとして、ユーザは、コピーブァッファ（ＣＢ）からＰＬＣ用制御プログラム作成ソフト（ＳＦＴ２）の変数テーブル（ＴＢ２）へとペースト処理を行う（図２４矢印Ａ２５参照）。これにより、変数テーブル上の変数が変更される（図２４矢印Ａ２６参照）。
【００１９】
なお、以上の処理において、ラダーウィンドウ上のラダー記号を作画ウィンドウにドラッグ＆ドロップすることでラダー記号に関する変数名をコピーすることは従来より知られている（例えば、特許を文献１参照）。
【特許文献１】特開２００１−７５６１６号公報
【発明の開示】
【発明が解決しようとする課題】
【００２０】
上述の例からも明らかなように、ＰＬＣ用制御プログラム作成ソフトとＰＴ用画面作成ソフトでは、変数をコピーバッファへ出力するテキストフォーマットが異なる。そのため、ユーザはスプレッドシートやテキストエディタを用いて、手作業で各サポートソフト用の変数に合わせて変換を行なっていた。
【００２１】
ＰＬＣ用制御プログラム作成ソフトには、ＰＴ用画面作成ソフトでは利用できない型が存在する（ここではＤＷＯＲＤ型）。そのため、例えば、３２ｂｉｔ長のデータを扱うための変数を両方のサポートソフトで共通の変数として使用したい場合（ここではＣｕｒｒｅｎｔＶａｌｕｅ）、ＰＬＣ用制御プログラム作成ソフトではＤＷＯＲＤ型、プログラマブル表示器用画面作成ソフトではＣＨＡＮＮＥＬ型で定義しておく必要がある。
【００２２】
この場合、ＰＴ用画面作成ソフトの変数ＣｕｒｒｅｎｔＶａｌｕｅ（ＣＨＡＮＮＥＬ型）をＰＬＣ用制御プログラム作成ソフトの変数ＣｕｒｒｅｎｔＶａｌｕｅ（ＤＷＯＲＤ型）に単純に上書きしてしまうと、ＰＬＣ用制御プログラム作成ソフトの変数ＣｕｒｒｅｎｔＶａｌｕｅはＣＨＡＮＮＥＬ型に変更されてしまう。
【００２３】
この変更は、あくまでサポートソフト間で扱うことのできる型が異なることにより発生した変更であり、ユーザの意図した変更ではない。そのため、このようなサポートソフト間の型の不整合によって生じてしまう変更を防ぐため、ユーザは目視でそれぞれのサポートソフトの変数の型をチェックし、変更が発生しないようにスプレッドシート上で型を変更せねばならないと言う問題点があった。
【００２４】
この発明は、このような従来の問題点に着目してなされたものであり、その目的とするところは、サポートソフト毎に利用できる変数のデータ型が異なっているような場合であっても、一方のサポートソフトから他方のサポートソフトへと変数を簡単に流用することができ、しかも流用を相互に繰り返した場合にも、データ型情報が欠落することがないようにしたプログラム開発支援装置を提供することにある。
【００２５】
この発明のさらに他の目的並びに作用効果については、明細書の以下の記述を参照することにより、当業者であれば容易に理解されるであろう。
【課題を解決するための手段】
【００２６】
上述の技術的課題は、以下の構成を有するプログラム開発支援装置により解決することができる。すなわち、このプログラム開発支援装置は、所定フォーマットの変数テーブルにより定義されたデータ型を有する変数をアドレスとして使用可能とされたプログラム言語で記述された動作プログラムに基づいて動作するプログラマブル機器の動作プログラムを開発するために使用される。
【００２７】
このプログラム開発支援装置は、変数テーブルの登録要求を受け付けるための登録要求受付手段と、登録要求受付手段により変数テーブルの登録要求が受け付けられるのに応答して、その変数テーブルがどの機種のプログラマブル機器のものであるかを既知の特徴に基づいて判定する機種判定手段と、機種判定手段により判定されたプログラマブル機器の機種に応じて、既知の項目削除処理やアドレスプレフィクス変換処理等のフォーマット修正処理を施すことにより、登録要求に係る変数テーブルのフォーマットを自機に相当するプログラム機器の変数テーブルのフォーマットと整合させるフォーマット修正手段と、フォーマット修正手段によりフォーマット整合された変数テーブルに含まれる変数を自機の変数テーブルに書き込むテーブル書き込み手段とを具備して構成される。
【００２８】
このような構成によれば、サポートソフト毎に利用できる変数のデータ型が異なっているような場合であっても、一方のサポートソフトから他方のサポートソフトへと変数を簡単に流用することができる。
【００２９】
好ましい実施の形態にあっては、テーブル書き込み手段による書き込みに先立って、その変数と同一の変数が自機の変数テーブルに存在するか否かを判定する変数既存判定手段と、変数既存判定手段により同一変数が存在しないと判定されるときに限り、フォーマット修正後の変数を変数テーブルに書き込む、ようにしてもよい。
【００３０】
このような構成によれば、変数既存判定手段により同一変数が存在しないと判定されるときに限り、フォーマット修正後の変数を変数テーブルに書き込まれるから、いずれかの変数が不用意に書き換えられる虞を未然に防ぐことができる。
【００３１】
好ましい実施の形態にあっては、変数を共用可能とされた１以上の機種のプログラマブル機器のそれぞれ毎に、その機種の変数テーブルで扱うことができるデータ型リストを記憶するデータ型リスト記憶手段と、データ型リスト記憶手段に記憶されたデータ型リストを参照することにより、その登録要求に係る変数のデータ型が自機の変数テーブル上でも扱うことのできるデータ型か否かを判定する両用データ型判定手段とを有し、変数既存判定手段により同一変数が存在すると判定されるときには、両用データ型判定手段により自機の変数テーブル上でも扱うことのできるデータ型であると判定されるときに限り、フォーマット修正後の変数を変数テーブルに上書き方式により書き込むようにしてもよい。
【００３２】
このような構成によれば、真の変更を意図した変数に限って変数テーブルへの上書き方式による書き込みを無条件で許容することにより、同一変数が存在する場合であっても、安心して自動的に上書きを行わせることができる。
【００３３】
好ましい実施の形態にあっては、変数既存判定手段により同一変数が存在すると判定され、かつ両用データ型判定手段により自機の変数テーブル上では扱うことのできないデータ型であると判定されるときには、当該変数を上書き方式で書き込むか否かをユーザに問い合わせる問い合わせ手段と、問い合わせ手段による問い合わせの結果、ユーザから上書き方式を希望する旨の回答があったときには、その変数のデータ型を変更することなく、自機の変数テーブルへの上書き方式による書き込みを行うのに対して、ユーザから上書き方式を希望しない旨の回答があったときには、その変数のデータ型を自機の該当する変数のデータ型と同一のデータ型に書き換えたのち、上書き方式による書き込みを行うデータ型選択式の書き込み手段とを具備する、ようにしてもよい。
【００３４】
このような構成によれば、両変数テーブル間で通用するデータ型が存在しないために、たまたま、もつとも近いデータ型に仮に決めておいたような場合であっても、上書き処理に先立って、上書きの要否がユーザに問い合わされるため、不用意に上書きが行われて、本来のデータ型が消失する虞を未然に防ぐことができる。
【００３５】
なお、好ましい実施形態においては、自機が対象とするプログラマブル機器がプログラマブル・コントローラであり、登録要求に係る変数テーブルの対象とするプログラマブル機器がプログラマブル表示器である。
【発明の効果】
【００３６】
この発明によれば、サポートソフト毎に利用できる変数のデータ型が異なっているような場合であっても、一方のサポートソフトから他方のサポートソフトへと変数を簡単に流用することができ、しかも流用を相互に繰り返した場合にも、データ型情報が欠落することがないようにしたプログラム開発支援装置を提供することができる。
【発明を実施するための最良の形態】
【００３７】
以下に、本発明に係るプログラム開発支援装置の好適な実施の一形態を添付図面を参照しながら詳細に説明する。
【００３８】
本発明に係るプログラム開発支援装置（以下、単に、「開発支援装置」と称する）のシステム構成図が図１に示されている。図示の開発支援装置１は、ＰＬＣの制御プログラム（ＰＧ１，ＰＧ２，ＰＧ３・・・）とＰＴの画面データ（ＩＤ１，ＩＤ２，ＩＤ３・・・）の作成を支援するように構成したものであるが、本発明の適用はこれに限定されるものではなく、その他変数テーブルを有する２以上の任意のソフト間において広く適用が可能である。
【００３９】
同図に示されるように、この例における開発支援装置１は、所謂パソコンの基本構成を利用して実現されるものであり、そのハードウェアとしては、装置全体を統括制御するＣＰＵ１１と、ワーキングエリアなどとして使用されるＲＡＭ１２と、ヒューマンマシンインタフェースとして機能する表示部１３と、キーボード１４ａやマウス１４ｂ等により構成される入力部１４と、ハードディスク等により構成される記憶装置１５とを含んでいる他、パソコンとしての機能を実現するための汎用オペレーティングシステムが組み込まれ、このオペレーティングシステムにより、ＲＡＭ１２上には、コピーバッファＣＢが提供されている。
【００４０】
また、同図に示されるように、記憶装置１５内には、ＰＴ用画面作成ソフトＳＦＴ１と、ＰＬＣ用制御プログラム作成ソフトＳＦＴ２と、ＰＬＣ用制御プログラム作成ソフトで作成した制御プログラム（ＰＧ１，ＰＧ２，ＰＧ３・・・）と、それらのプログラム内の変数テーブルＴＢ２と、変数テーブルＴＢ２で定義された変数（Ｆ）と、ＰＴ用画面作成ソフトＳＦＴ１で作成した画面データ（ＩＤ１，ＩＤ２，ＩＤ３・・・）と、それらの画像データ内の変数テーブルＴＢ１と、画面データ内の変数テーブルで定義された変数（Ｆ）とが格納されている。
【００４１】
次に、以上の構成よりなるプログラム開発支援装置１を使用して、ＰＴ用画面ソフトとＰＬＣ用制御プログラム作成ソフトとの間において、変数を流用する場合におけるユーザ操作乃至装置の動作を、変数を上書きする場合と変数を上書きしない場合とに分けて詳細に説明する。
［１］変数を上書きしない場合
本発明に係るＰＬＣ用制御プログラム作成ソフトＳＦＴ２には、ユーザがＰＴ用画面作成ソフトＳＦＴ１の変数を直接にＰＬＣ用制御プログラム作成ソフトＳＦＴ２へコピー＆ペースト（またはドラッグ＆ドロップ）できる仕組みが組み込まれている。すなわち、この仕組みは、コピーバッファから受け取ったデータがＰＴ用画面作成ソフトの変数かどうかを解析し、ＰＴ用画面作成ソフトの変数だと判断した場合はフォーマットの変換処理を行ない、変数を上書きしない場合には、変換した結果を変数テーブルにそのまま反映するものである。以下、上述の仕組みを前提として、ユーザ操作と装置側の処理とを互いに関連づけながら詳細に説明する。
【００４２】
先ず、最初のステップとして、ユーザは、ＰＴ用画面作成ソフトＳＦＴ１の変数テーブルＴＢ１上で変数を定義し、キーボードまたはマウス操作により、変数を選択状態にし、コピー操作を行う（図２矢印Ａ３１）。このコピー操作により、コピーバッファＣＢには、図２に示されるように、タブ区切りテキストの形式でコピーした変数が格納される。なお、図２において、変数テーブルＴＢ１内の各行はそれぞれ１つの変数を表し、各列は以下の内容を示している。
１列目：  ホスト（ＰＴやＰＬＣなど、どの機器のアドレスを示す変数か）
２列目：  名称（変数を一意に表す文字列）
３列目：  タイプ（ビット、ワード、整数、実数など、変数のデータ長や用途を表す）
４列目：  アドレス種別（内部メモリの物理的な位置を示す文字列）
５列目：  Ｉ／Ｏコメント（変数のコメント）
次のステップとして、ユーザは、ＰＬＣ用制御プログラム作成ソフトＳＦＴ２の変数テーブルＴＢ２でコピーバッファＣＢからのペースト処理を行なう（図３矢印Ａ３２参照）。
【００４３】
ＰＬＣ用制御プログラム作成ソフトＳＦＴ２は、
ａ）ＰＴ用画面作成ソフトＳＦＴ１のアドレスプレフィクス（ＷＲ，ＤＭなど）のリスト（以下、「画面作成ソフト用アドレスプレフィクスリスト」と言う）ＬＳＴ１と、
ｂ）ＰＴ用画面作成ソフトＳＦＴ１で扱うことのできるデータ型のリスト（以下、「画面作成ソフト用タイプリスト」と言う）ＬＳＴ２と、
ｃ）ＰＴ用画面作成ソフトＳＦＴ１とＰＬＣ用制御プログラム作成ソフトＳＦＴ２との間におけるアドレスプレフィクスのアドレスプレフィクス変換対応表（ＤＭ−Ｄ，  ＷＲ−Ｗ，  など、以下アドレスプレフィクス変換対応表）ＴＢ３と、を保持している。
【００４４】
そして、コピーバッファＣＢから受け取ったデータがＰＴ用画面作成ソフトＳＦＴ１の変数か否かを以下の基準１）〜３）で判断する。
１）１行目が５列存在するかどうか
２）１行目の３列目が画面作成ソフト用タイプリストに存在するかどうか（プログラマブル表示器用画面作成ソフトで扱うことができる型かどうか）
３）１行目の４列目の先頭が画面作成ソフト用アドレスプレフィクスリストに存在するかどうか（プログラマブル表示器用画面作成ソフトで表現されるアドレスかどうか）
コピーバッファＣＢから受け取ったデータがＰＴ用画面作成ソフトＳＦＴ１の変数だと判断した場合、ＰＬＣ用制御プログラム作成ソフトＳＦＴ２は、所定のバッファメモリＢＭにおいて、ＰＬＣ名（１列目）を削除し、アドレスをアドレスプレフィクス変換対応表を用いて変更する（ＷＲ→Ｗ，  ＤＭ→Ｄ）（図３参照）。
【００４５】
次のステップとして、制御プログラム作成ソフトＳＦＴ２は、バッファメモリＢＭ上で変換したデータを１行ずつ取り出し、変数テーブルＴＢ（１）上に同じ変数が存在するかどうかをチェックする。この例の場合には、変数テーブルＴＢ（１）上に同じ変数は存在しないため、変数テーブルＴＢ（２）上には、新たに変数（この例では、ＳｔａｒｔＢｔｈ，ＣｕｒｒｅｎｔＶａｌｕｅ）が追加される（図４参照）。
［１］変数を上書きする場合
ＰＬＣ用制御プログラム作成ソフトＳＦＴ２は、ＰＴ用画面作成ソフトＳＦＴ１で扱うことのできるデータ型をすべて扱うことができ、さらにＰＬＣ用制御プログラム作成ソフトＳＦＴ２独自のデータ型も持っている。したがって、ＰＬＣ用制御プログラム作成ソフトＳＦＴ２独自の型を持つ変数を上書きする場合、ユーザはデータ型の変更を意図していない可能性が高い。そこで、このような場合には、ＰＬＣ用制御プログラム作成ソフトＳＦＴ２は、ユーザにデータ型を変更するかどうかを問い合わせる仕組みが組み込まれている。逆に、ＰＬＣ用制御プログラム作成ソフトＳＦＴ２の変数がＰＴ用画面作成ソフトＳＦＴ１で扱えるデータ型だった場合、データ型が異なっていたらユーザの意図した変更と判断し、データ型の変更を行なう仕組みが組み込まれている。以下、上述の仕組みを前提として、ユーザ操作と装置側の処理とを互いに関連づけながら詳細に説明する。
【００４６】
先ず、最初のステップとして、ユーザは、ＰＴ用画面作成ソフトＳＦＴ１の変数テーブルＴＢ１上で変数を定義し、キーボードまたはマウス操作により、変数を選択状態にし、コピー操作を行う（図５矢印Ａ４１）。このコピー操作により、コピーバッファＣＢには、図５に示されるように、タブ区切りテキストの形式でコピーした変数が格納される。
【００４７】
次のステップとして、ユーザは、ＰＬＣ用制御プログラム作成ソフトＳＦＴ２の変数テーブルＴＢ２上でコピーバッファＣＢからのペースト処理を行なう（図６矢印Ａ４２参照）。
【００４８】
ＰＬＣ用制御プログラム作成ソフトＳＦＴ１は、ａ）画面作成ソフト用アドレスプレフィクスリストＬＳＴ１と、ｂ）ＰＴ用画面作成ソフトＳＦＴ１で扱うことのできる型のリスト（以下、画面作成ソフト用タイプリスト）ＬＳＴ２と、ｃ）アドレスプレフィクス変換対応表ＴＢ３とを保持している。そして、コピーバッファＣＢから受け取ったデータがＰＴ用画面作成ソフトＳＦＴ１の変数かどうかを以下の基準で判断する。
１）１行目が５列存在するかどうか
２）１行目の３列目が画面作成ソフト用タイプリストＬＳＴ２に存在するかどうか（ＰＴ用画面作成ソフトＳＦＴ１で扱うことができる型かどうか）
３）１行目の４列目の先頭が画面作成ソフト用アドレスプレフィクスリストＬＳＴ１に存在するかどうか（ＰＴ用画面作成ソフトＳＦＴ１で表現されるアドレスかどうか）
コピーバッファＣＢから受け取ったデータがＰＴ用画面作成ソフトＳＦＴ１の変数だと判断した場合、ＰＬＣ用制御プログラム作成ソフトＳＦＴ２は、所定のバッファメモリＢＭ上において、ＰＬＣ名（１列目）を削除し、アドレスをアドレスプレフィクス変換対応表を用いて変更する（ＷＲ→Ｗ，  ＤＭ→Ｄ）。つまり、ユーザが、コピーバッファＣＢからＰＬＣ用制御プログラム作成ソフトＳＦＴ２の変数テーブルＴＢ２にペーストすると、ＰＬＣ用制御プログラム作成ソフトＳＦＴ２は、ＰＬＣ名（１列目）を削除し、アドレスをＰＬＣ用制御プログラム作成ソフトＳＦＴ２に合わせて変更する（ＷＲ→Ｗ，ＤＭ→Ｄ）（図６参照）。
【００４９】
次のステップとして、ＰＬＣ用制御プログラム作成ソフトＳＦＴ２は、先のステップでバッファメモリＢＭ上で変換したデータを１行ずつ所定のレジスタＲＧに取り出し、変数テーブルＴＢ２（１）（図８参照）上に同じ変数が存在するかどうかをチェックする（図７参照）。
【００５０】
この例にあっては、１行目の変数はＴＢ２（１）上に同じ変数が既に存在し、しかもＰＬＣ用制御プログラム作成ソフトＳＦＴ２上で定義されている変数のデータ型（ＢＯＯＬ）は、ＰＴ用画面作成ソフトＳＦＴ１で扱うことのできるデータ型のため、ＰＬＣ用制御プログラム作成ソフトＳＦＴ２は通常の上書きダイアログ（案内表示Ｉ）を表示し（図９参照）、ユーザにデータ型を上書きするかどうかを問い合わせる。ここで、ユーザが「はい」を選択した場合には、１行目の変数を変数テーブルＴＢ２へと上書きすることにより反映する（図８ＴＢ２（２）参照）。
【００５１】
この例にあっては、２行目の変数もＴＢ２（１）上に同じ変数が既に存在し、ＰＬＣ用制御プログラム作成ソフトＳＦＴ２上で定義されている変数の型（ＤＷＯＲＤ）は、ＰＴ用画面作成ソフトＳＦＴ１で扱うことのできない型のため、ＰＬＣ用制御プログラム作成ソフトＳＦＴ２はデータ型を上書きするかどうかを確認するダイアログ（案内表示ＩＩ）を表示し（図１０参照）、ユーザにデータ型を上書きするかどうかを問い合わせる。ここで、ユーザがチェックボックスを選択して「はい」を選択した場合には、２行目の変数を変数テーブルＴＢ２へと上書きするが、データ型は変更しない。これに対して、ユーザがチェックボックスを選択せずに「はい」を選択した場合には、変数を上書きし、データ型も変更する。一方、ユーザが「いいえ」を選択した場合には、変数は上書きしない（図８ＴＢ２（３）参照）。
【００５２】
以上説明した変数を流用する場合における動作を実現するためのＰＴ用画面作成ソフトＳＦＴ１及びＰＬＣ用制御プログラム作成ソフトＳＦＴ２の構成を図１１〜図１６を参照しつつ詳細に説明する。
【００５３】
ユーザは、先ず、ＰＴ用画面作成ソフトＳＦＴ１の変数テーブルＴＢ１上において、コピー操作を行う（図１１、図１２、ステップ１０１）。すると、ＰＴ用画面作成ソフトＳＦＴ１は、コピー操作に係る変数をコピーバッファＣＢへと格納する（図１１、図１２、ステップ２０１）。
【００５４】
ユーザが、ＰＬＣ用制御プログラム作成ソフトＳＦＴ２の変数テーブルＴＢ２上において、ペースト操作を行う（図１１、図１２、ステップ１０２）。すると、ＰＬＣ用制御プログラム作成ソフトＳＦＴ２は、コピーバッファＣＢから変数を取り出す（図１１、図１３、ステップ３０１）。
【００５５】
ＰＬＣ用制御プログラム作成ソフトＳＦＴ２は、どのサポートソフト用の変数かを例えば変数テーブルのフォーマット等に基づいて判断する（図１１、図１３、ステップ３０３）。ここで、制御プログラム作成用ソフトＳＦＴ２用の変数であると判定されれば、ステップ３１９へと進んで、変数テーブルＴＢ２への登録が直ちに行われる（図１１、図１５、ステップ３１９）。
【００５６】
ステップ３０３において、画面作成ソフト用の変数であると判定されると、本発明の要部の１つである画面作成ソフト用変数変換処理への移行がなされる。この画面作成ソフト用変数変換処理では、ＰＬＣ名を削除すると共に（図１１、図１３、ステップ３０４）、アドレスをアドレスプレフィクス変換対象表を用いて変換する（図１１、図１３、ステップ３０５）。
【００５７】
ＰＬＣ用制御プログラム作成ソフトＳＦＴ２は、書き込み対象とされている変数テーブルに、先頭の行が存在するかどうかの判定を行う（図１１、図１３、図１４、ステップ３０６）。ここで、先頭の行が存在しないと判定されると（図１１、図１４、ステップ３０７）、ステップ３２０へと進んで、直ちに処理は終了する（図１１、図１５）。先頭の行が存在すると判定されると（図１１、図１４、ステップ３０７）、ステップ３０８へと進んで、その１行目の変数を取り出す（図１１、図１４、ステップ３０８）。
【００５８】
ＰＬＣ用制御プログラム作成ソフトＳＦＴ２は、取り出された変数と同じ変数が変数テーブルＴＢ２内に存在するかどうかを判定する（図１１、図１４、ステップ３０９）。ここで、同じ変数が存在しないと判定されると、ステップ３１７へと進んで、その変数を直ちに変数テーブルＴＢ２へ登録する（図１１、図１５、ステップ３１７）。
【００５９】
同じ変数が存在すると判定されると（ステップ３１０）、ステップ３１１に進んで、画面作成ソフト用タイプリストＬＳＴ２と上書き先変数のデータ型を比較する（図１１、図１４、ステップ３１１）。ここで、上書き先は画面作成ソフトで利用できるデータ型であると判定されると（図１１、図１４、ステップ３１２）、ステップ３１７へと進んで、その変数を直ちに変数テーブルＴＢ２へ登録する（図１１、図１５、ステップ３１７）。
【００６０】
上書き先は画面ソフトで利用できるデータ型ではないと判定されると（ステップ３１２）、本発明の要部の１つであるところの処理、すなわち、互いの変数を上書きして合っても、型情報の欠落が発生しない仕組みを実現するための処理への移行が行われる（図１１、図１５，図１６参照）。
【００６１】
すなわち、ＰＬＣ用制御プログラム作成ソフトＳＦＴ２は、データ型を上書きするかどうかをユーザに問い合わせる画面（案内画面Ｉ、II）を表示する（図１１、図１５、図ステップ３１３、及び図９、図１０参照）。
【００６２】
ユーザは、データ型を上書きするかどうかを決定する（図１１、図１６、ステップ１０３）。ここで、データ型は上書きしないと決定する場合には（ステップ１０４）、チェックボックスをＯＮにする（図１１、図１６、ステップ１０５）。データ型を上書きすると決定する場合には（ステップ１０４）、チェックボックスをＯＦＦにする（図１１、図１６、ステップ１０６）。
【００６３】
すると、ＰＬＣ用制御プログラム作成ソフトＳＦＴ２は、チェックボックスの状態を取得したのち（図１１、図１５、ステップ３１４）、その状態がＯＮかＯＦＦかの判定を行う（図１１、図１５、ステップ３１５）。ここで、チェックボックスの状態がＯＦＦと判定されると（図１１、図１５、ステップ３１５）、ステップ３１７へと進んで、その変数は直ちに変数テーブルへと登録される（図１１、図１５参照）。これに対して、チェックボックスの状態がＯＮと判定されると（図１１、図１５、ステップ３１５）、ステップ３１６へと進んで、ペーストされた変数のデータ型を上書き先と同じ型に変更する（図１１、図１５、ステップ３１６）。しかるのち、ＰＬＣ用制御プログラム作成ソフトＳＦＴ２は、型を変更した変数を変数テーブルＴＢ２へと登録する（図１１、図１５、ステップ３１７）。
【００６４】
このようにして、対象となる１行分の変数の登録が完了する毎に、ステップ３０７へと進んで、次の行が存在するかどうかの判定が行われる（図１１、図１４、ステップ３１８）。そして、次の行が存在しないと判定されるまで（ステップ３０７）、以上の登録に至る一連の処理が繰り返され（ステップ３０８〜３０７）、次の行が存在しなくなると（ステップ３０７）、ステップ３２０へと進んで全ての処理は終了する。
【００６５】
以上の実施形態に係るプログラム開発支援装置１によれば、ＰＬＣ用制御プログラム作成ソフトＳＦＴ２とＰＴ用画面作成ソフトＳＦＴ１は、変数をコピーバッファＣＢへ出力するテキストフォーマットが異なるが、ＰＴ用画面作成ソフトＳＦＴ１でコピー（またはマウス操作でのドラッグ）された変数を、ＰＬＣ用制御プログラム作成ソフトＳＦＴ２へペースト（またはマウス操作でのドロップ）すると、コピーバッファＣＢの内容が解析されて、どのサポートソフト用の変数かが判断され、ＰＬＣ用制御プログラム作成ソフト用のテキストフォーマットへと自動的に変換されるから、今までユーザが手作業でテキストエディタやスプレッドシート上で各サポートソフトに合わせて行なっていた変換が必要なくなり、簡単に変数を流用できるようになる。
【００６６】
また、ＰＬＣ用制御プログラム作成ソフトＳＦＴ２には、ＰＴ用画面作成ソフトＳＦＴ１では利用できない型が存在する（ここではＤＷＯＲＤ型）ため、ＰＬＣ用制御プログラム作成ソフトＳＦＴ２でコピーしたＤＷＯＲＤ型の変数を、ＰＴ用画面作成ソフトＳＦＴ１へコピーすると、ＰＴ用画面作成ソフトＳＦＴ１はデータ型をＤＷＯＲＤからＣＨＡＮＮＥＬ型へ変換して登録するほかはなく、このコピー操作でＰＴ用画面作成ソフトＳＦＴ１は、ＰＬＣ用制御プログラム作成ソフトＳＦＴ２の変数を利用することができるものの、型情報の欠落が発生している。ここで、ＰＴ用画面作成ソフトの変数を編集し、ＰＬＣ用制御プログラム作成ソフトＳＦＴ２へペーストして変数を上書きする場合、ＰＬＣ用制御プログラム作成ソフトＳＦＴ２は、フォーマット変換を行なった後、ユーザに対して問いかけを行うことにより、型を保持してペーストできる機会が与えられるため、ＰＬＣ用制御プログラム作成ソフトＳＦＴ２の変数は型情報の欠落を生ずることなく、ＰＴ用画面作成ソフトで変更した内容を反映することが可能となる。
【産業上の利用可能性】
【００６７】
この発明によれば、サポートソフト毎に利用できる変数のデータ型が異なっているような場合であっても、一方のサポートソフトから他方のサポートソフトへと変数を簡単に流用することができ、しかも流用を相互に繰り返した場合にも、データ型情報が欠落することがないようにしたプログラム開発支援装置を提供することができる。
【図面の簡単な説明】
【００６８】
【図１】本発明に係るプログラム開発支援装置のシステム構成図である。
【図２】本発明（変数を上書きしない場合）における処理手順の説明図（その１）である。
【図３】本発明（変数を上書きしない場合）における処理手順の説明図（その２）である。
【図４】本発明（変数を上書きしない場合）における処理手順の説明図（その３）である。
【図５】本発明（変数を上書きする場合）における処理手順の説明図（その１）である。
【図６】本発明（変数を上書きする場合）における処理手順の説明図（その２）である。
【図７】本発明（変数を上書きする場合）における処理手順の説明図（その３−１）である。
【図８】本発明（変数を上書きする場合）における処理手順の説明図（その３−２）である。
【図９】案内表示Iの具体例を示す説明図である。
【図１０】案内表示IIの具体例を示す説明図である。
【図１１】ユーザ操作と画面作成ソフト（ＳＦＴ１）および制御プログラム作成ソフト（ＳＦＴ２）との関係を示す統合フローチャートである。
【図１２】統合フローチャートの部分拡大図（その１）である。
【図１３】統合フローチャートの部分拡大図（その２）である。
【図１４】統合フローチャートの部分拡大図（その３）である。
【図１５】統合フローチャートの部分拡大図（その４）である。
【図１６】統合フローチャートの部分拡大図（その５）である。
【図１７】第１従来例における操作手順の説明図（その１）である。
【図１８】第１従来例における操作手順の説明図（その２）である。
【図１９】第１従来例における操作手順の説明図（その３）である。
【図２０】第１従来例における操作手順（第４ステップ）の説明図である。
【図２１】第２従来例における操作手順の説明図（その１）である。
【図２２】第２従来例における操作手順の説明図（その２）である。
【図２３】第２従来例における操作手順の説明図（その３）である。
【図２４】第２従来例における操作手順の説明図（その４）である。
【符号の説明】
【００６９】
１  開発支援装置
１１  ＣＰＵ
１２  ＲＡＭ
１３  表示部
１４  入力部
１４ａ  キーボーード
１４ｂ  マウス
１５  記憶装置
ＢＭ  バッファメモリ
ＣＢ  コピーバッファ
ＧＰ１，ＧＰ２，ＧＰ３  制御プログラム
ＩＤ１，ＩＤ２，ＩＤ３  画面データ
ＬＳＴ１  画面作成ソフト用アドレスプレフィクスリスト
ＬＳＴ２  画面作成ソフト用タイプリスト
ＲＧ  レジスタ
ＳＳ  スプレッドシート
ＳＦＴ１  画面作成ソフト
ＳＦＴ２  制御プログラム作成ソフト
ＴＢ１  変数テーブル
ＴＢ２  変数テーブル
ＴＢ３  アドレスプレフィクスリスト変換対応表
【図１】
2008276526.tif 000003
【図２】
2008276526.tif 000004
【図３】
2008276526.tif 000005
【図４】
2008276526.tif 000006
【図５】
2008276526.tif 000007
【図６】
2008276526.tif 000008
【図７】
2008276526.tif 000009
【図８】
2008276526.tif 000010
【図９】
2008276526.tif 000011
【図１０】
2008276526.tif 000012
【図１１】
2008276526.tif 000013
【図１２】
2008276526.tif 000014
【図１３】
2008276526.tif 000015
【図１４】
2008276526.tif 000016
【図１５】
2008276526.tif 000017
【図１６】
2008276526.tif 000018
【図１７】
2008276526.tif 000019
【図１８】
2008276526.tif 000020
【図１９】
2008276526.tif 000021
【図２０】
2008276526.tif 000022
【図２１】
2008276526.tif 000023
【図２２】
2008276526.tif 000024
【図２３】
2008276526.tif 000025
【図２４】
2008276526.tif 000026