(57)【要約】【課題】制御プログラムの生成に係る作業を軽減すること。【解決手段】変換情報取得装置は、制御装置に対して接続される機器を示す識別情報である機器識別情報の入力を受け付ける入力制御部と、前記入力制御部において受け付けられた前記機器識別情報に基づいて、前記機器識別情報が示す機器から前記制御装置に対して出力される値である出力値を工業量に変換するための変換情報を、前記機器識別情報と前記変換情報とを対応付けて記憶する記憶装置から取得する変換情報取得部と、を備える。【選択図】図２
2019096160.tif 000002
【特許請求の範囲】
【請求項１】
制御装置に対して接続される機器を示す識別情報である機器識別情報の入力を受け付ける入力制御部と、
前記入力制御部において受け付けられた前記機器識別情報に基づいて、前記機器識別情報が示す機器から前記制御装置に対して出力される値である出力値を工業量に変換するための変換情報を、前記機器識別情報と前記変換情報とを対応付けて記憶する記憶装置から取得する変換情報取得部と、
を備える変換情報取得装置。
【請求項２】
前記変換情報は、前記出力値を前記工業量に変換するための変換式を示す情報を含む
請求項１に記載の変換情報取得装置。
【請求項３】
前記変換情報は、前記変換式に代入されるパラメータ値を示す情報を含む
請求項２に記載の変換情報取得装置。
【請求項４】
前記変換情報は、アナログ値として表される前記出力値をデジタル値に変換するＡ／Ｄ変換器に応じて予め定義される、前記出力値を前記デジタル値に変換するための第一変換情報と、前記機器に応じて予め定められる、前記デジタル値を前記工業量に変換するための第二変換情報と、を含む請求項１から３のいずれか一項に記載の変換情報取得装置。
【請求項５】
制御装置に対して接続される機器を示す識別情報である機器識別情報の入力を受け付ける入力制御部と、
前記入力制御部において受け付けられた前記機器識別情報に基づいて、前記機器識別情報が示す機器から前記制御装置に対して出力される値である出力値を工業量に変換するための変換情報を、前記機器識別情報と前記変換情報とを対応付けて記憶する記憶装置から取得する変換情報取得部と、
前記変換情報に基づいて、前記制御装置において実行されることによって前記出力値を前記工業量に変換するための制御プログラムのコードを生成するプログラム生成部と、
を備えるプログラム開発支援装置。
【請求項６】
コンピュータによる変換情報取得方法であって、
制御装置に対して接続される機器を示す識別情報である機器識別情報の入力を受け付ける入力制御ステップと、
前記入力制御ステップにおいて受け付けられた前記機器識別情報に基づいて、前記機器識別情報が示す機器から前記制御装置に対して出力される値である出力値を工業量に変換するための変換情報を、前記機器識別情報と前記変換情報とを対応付けて記憶する記憶装置から取得する変換情報取得ステップと、
を有する変換情報取得方法。
【請求項７】
コンピュータに、
制御装置に対して接続される機器を示す識別情報である機器識別情報の入力を受け付ける入力制御ステップと、
前記入力制御ステップにおいて受け付けられた前記機器識別情報に基づいて、前記機器識別情報が示す機器から前記制御装置に対して出力される値である出力値を工業量に変換するための変換情報を、前記機器識別情報と前記変換情報とを対応付けて記憶する記憶装置から取得する変換情報取得ステップと、
を実行させるための変換情報取得プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、変換情報取得装置、プログラム開発支援装置、変換情報取得方法及び変換情報取得プログラムに関する。
【背景技術】
【０００２】
プログラマブルロジックコントローラ（ＰＬＣ）等のコントローラは、センサ等の入力機器やモーター等の出力機器から出力される値を取得し保持する。これらの機器から出力される出力値（以下「機器出力値」という。）は、一般的に、電圧値や電流値等のアナログ値であることが多い。例えば、圧力センサであっても、機器出力値は圧力の値そのものではなく電圧値や電流値等である。そのため、データの集計や解析を行うためには、機器出力値を、圧力や長さ等の意味を持つ値（以下「工業量」という。）へ変換してからデータベースへ蓄積することが好ましい。
【０００３】
コントローラが機器出力値から工業量への変換処理を実行するためには、ユーザがコントローラの制御プログラムを事前に生成しておく必要がある。例えば、特許文献１には、ユーザによる制御プログラムのプログラミング作業を支援する技術が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】再公表ＷＯ２０１３／１９１２７５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
従来、ユーザは、使用するセンサ等の機器のデータシート（例えば仕様書）を機器ベンダ等から取り寄せ、データシートに記載されている仕様を読み解き、機器出力値から工業量へ変換するための変換式を制御プログラムに組み込む必要があった。データシートの入手には手間がかかるという問題や、同じ内容であっても機器ベンダや機器の種別によってデータシートに記載されている語句が異なっているという問題がある。また、データシートに記載されている語句が同一であっても機器ベンダや機器の種別によって異なる意味で用いられている場合もある。そのため、制御プログラムへの変換式の組み込みは煩雑な作業となり、多くの時間を要することがある。
【０００６】
本発明は上記の点に鑑みてなされたものであり、コントローラの制御プログラムの生成に係る作業を軽減することができる変換情報取得装置、プログラム開発支援装置、変換情報取得方法及び変換情報取得プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の一態様は、制御装置に対して接続される機器を示す識別情報である機器識別情報の入力を受け付ける入力制御部と、前記入力制御部において受け付けられた前記機器識別情報に基づいて、前記機器識別情報が示す機器から前記制御装置に対して出力される値である出力値を工業量に変換するための変換情報を、前記機器識別情報と前記変換情報とを対応付けて記憶する記憶装置から取得する変換情報取得部と、を備える変換情報取得装置である。
【０００８】
本発明の一態様は、上記の変換情報取得装置であって、前記変換情報は、前記出力値を前記工業量に変換するための変換式を示す情報を含む。
【０００９】
本発明の一態様は、上記の変換情報取得装置であって、前記変換情報は、前記変換式に代入されるパラメータ値を示す情報を含む。
【００１０】
本発明の一態様は、上記の変換情報取得装置であって、前記変換情報は、アナログ値として表される前記出力値をデジタル値に変換するＡ／Ｄ変換器に応じて予め定義される、前記出力値を前記デジタル値に変換するための第一変換情報と、前記機器に応じて予め定められる、前記デジタル値を前記工業量に変換するための第二変換情報と、を含む。
【００１１】
本発明の一態様は、制御装置に対して接続される機器を示す識別情報である機器識別情報の入力を受け付ける入力制御部と、前記入力制御部において受け付けられた前記機器識別情報に基づいて、前記機器識別情報が示す機器から前記制御装置に対して出力される値である出力値を工業量に変換するための変換情報を、前記機器識別情報と前記変換情報とを対応付けて記憶する記憶装置から取得する変換情報取得部と、前記変換情報に基づいて、前記制御装置において実行されることによって前記出力値を前記工業量に変換するための制御プログラムのコードを生成するプログラム生成部と、を備えるプログラム開発支援装置である。
【００１２】
本発明の一態様は、コンピュータによる変換情報取得方法であって、制御装置に対して接続される機器を示す識別情報である機器識別情報の入力を受け付ける入力制御ステップと、前記入力制御ステップにおいて受け付けられた前記機器識別情報に基づいて、前記機器識別情報が示す機器から前記制御装置に対して出力される値である出力値を工業量に変換、あるいは工業量を前記制御装置から前記機器識別情報が示す機器に対して入力される値である入力値に逆変換するための変換情報を、前記機器識別情報と前記変換情報とを対応付けて記憶する記憶装置から取得する変換情報取得ステップと、を有する。
【００１３】
本発明の一態様は、コンピュータに、制御装置に対して接続される機器を示す識別情報である機器識別情報の入力を受け付ける入力制御ステップと、前記入力制御ステップにおいて受け付けられた前記機器識別情報に基づいて、前記機器識別情報が示す機器から前記制御装置に対して出力される値である出力値を工業量に変換するための変換情報を、前記機器識別情報と前記変換情報とを対応付けて記憶する記憶装置から取得する変換情報取得ステップと、を実行させるための変換情報取得プログラムである。
【発明の効果】
【００１４】
本発明によれば、制御プログラムの生成に係る作業を軽減することができる。
【図面の簡単な説明】
【００１５】
【図１】第１の実施形態に係る制御システム１の全体構成を示すブロック図である。
【図２】第１の実施形態における端末装置３０の機能構成を示すブロック図である。
【図３】工業量ＬＩＢ３０１のテーブル構成の一例を示す図である。
【図４】デバイスＬＩＢ３０２のテーブル構成の一例を示す図である。
【図５】中継デバイスＬＩＢ３０３のテーブル構成の一例を示す図である。
【図６】フォーマッティング設定画面の画面例を示す図である。
【図７】フォーマッティング設定画面の画面例を示す図である。
【図８】端末装置３０の動作を示すフローチャートである。
【図９】第２の実施形態に係る制御システム２の全体構成を示すブロック図である。
【発明を実施するための形態】
【００１６】
＜第１の実施形態＞
以下、第１の実施形態について説明する。
［制御システムの全体構成］
以下、制御システム１の全体構成について、図面を参照しながら説明する。
図１は、第１の実施形態に係る制御システム１の全体構成を示すブロック図である。図１に示すように、制御システム１は、コントローラ１０と、入力機器２０−１〜２０−ｍと、出力機器２１−１〜２１−ｎと、端末装置３０と、ＤＢ（データベース）４０と、を含んで構成される。なお、ｍ及びｎは１以上の整数を示す。コントローラ１０、端末装置３０及びＤＢ４０は、例えばイーサネット（登録商標）等のネットワークを用いて構成される。コントローラ１０と入力機器２０−１〜２０−ｍ及び出力機器２１−１〜２１−ｎは、ケーブルで個別に接続されてもよいし、ＥｔｈｅｒＣＡＴ（登録商標）等のネットワークを用いて接続されてもよい。
【００１７】
コントローラ１０は、例えば、ＰＬＣ等の制御装置である。コントローラ１０は、入力機器２０−１〜２０−ｍ、出力機器２１−１〜２１−ｎ、端末装置３０及びＤＢ４０との間でデータの通信を行うことができる。コントローラ１０は、入力機器２０−１〜２０−ｍから出力された機器出力値と、出力機器２１−１〜２１−ｎから出力された機器出力値と、を示すデータを取得する。
【００１８】
コントローラ１０は、端末装置３０から出力された制御プログラムを取得し、記憶する。制御プログラムには、機器出力値を示すデータから工業量を示すデータへのデータ変換処理（スケーリング処理）、工業量に対して意味付けを行う意味付け処理、工業量に対して単位付けを行う単位付け処理が含まれる。また、制御プログラムには、工業量を示すデータから機器入力値を示すデータへのデータ変換処理（スケーリング処理）が含まれる。
【００１９】
以下、データ変換処理、意味付け処理及び単位付け処理をまとめて「フォーマッティング」という。意味付け処理とは、例えば、「圧力」や「温度」等の、工業量が示す意味を工業量に対して紐づける処理のことである。単位付け処理とは、例えば、「ＭＰａ」や「℃」等の、工業量の単位を工業量に対して紐づける処理のことである。
【００２０】
コントローラ１０は、制御プログラムを実行することによって、入力機器２０−１〜２０−ｍ及び出力機器２１−１〜２１−ｎから取得した機器出力値を示すデータに対してフォーマッティングを行う。コントローラ１０は、工業量への変換、意味付け及び単位付けがなされたデータをＤＢ４０へ出力する。このときコントローラ１０は、出力対象の工業量を、予め定められたデータ型に当て嵌めてＤＢ４０へ出力してもよい。
【００２１】
また、コントローラ１０は、予めインストールされている制御プログラムにしたがって制御処理を行うことによって、出力機器２１−１〜２１−ｎに対する指令値を示す工業量を決定する。コントローラ１０は、決定された工業量に応じて、各出力機器２１−１〜２１−ｎに対して入力するアナログ値（以下「機器入力値」という。）を決定する。そして、コントローラ１０は、機器入力値を示すデータを用いて各出力機器２１−１〜２１−ｎに対し指令する。
【００２２】
入力機器２０−１〜２０−ｍは、例えば、温度センサや圧力センサ等の入力機器である。出力機器２１−１〜２１−ｎは、例えば、サーボモータ等の機器である。以下の説明では、入力機器及び出力機器をまとめて「デバイス」と呼ぶ。
【００２３】
入力機器２０−１〜２０−ｍは、それぞれ対象物に対するセンシングを行う。入力機器２０−１〜２０−ｍは、センシングの結果として得られる機器出力値を示すデータをコントローラ１０へ送信する。例えば、温度センサからは温度に応じた機器出力値が得られ、圧力センサからは圧力に応じた機器出力値が得られる。サーボモータ等の出力機器２１−１〜２１−ｎからは、出力機器２１−１〜２１−ｎの動作に応じた値が機器出力値として得られる。例えば、サーボモータからは回転数や回転位置を示す値が機器出力値として得られる。また、上述したとおり、コントローラ１０は出力機器２１−１〜２１−ｎに対して機器入力値を指令する。機器入力値の具体例として、例えばサーボモータにおける回転数や回転位置を示す値がある。このような機器入力値を用いることによって、サーボモータへの回転数指令や回転位置指令が行われてもよい。
【００２４】
端末装置３０（プログラム開発支援装置）は、例えば、パーソナルコンピュータ等の情報処理装置である。端末装置３０は、ユーザによる操作入力を受け付け、操作入力に基づいてコントローラ１０の制御プログラムを生成する。端末装置３０は、生成した制御プログラムをコントローラ１０へ送信する。
【００２５】
ＤＢ４０は、サーバ装置等の情報処理装置である。ＤＢ４０は、磁気ハードディスク装置や半導体記憶装置等の記憶装置を備える。ＤＢ４０は、コントローラ１０から出力された工業量を示すデータを取得し、取得したデータを記憶する。
【００２６】
［端末装置の機能構成］
以下、端末装置３０の機能構成について、図面を参照しながら更に詳しく説明する。
図２は、第１の実施形態における端末装置３０の機能構成を示すブロック図である。図２に示すように、端末装置３０は、ライブラリ記憶部３００と、制御部３１０と、通信部３２０と、入力部３３０と、出力部３４０と、を含んで構成される。
【００２７】
ライブラリ記憶部３００は、磁気ハードディスク装置や半導体記憶装置等の記憶装置を用いて構成される。ライブラリ記憶部３００は、工業量ＬＩＢ（ライブラリ）３０１と、デバイスＬＩＢ（ライブラリ）３０２と、中継デバイスＬＩＢ（ライブラリ）３０３と、を予め記憶している。工業量ＬＩＢ３０１、デバイスＬＩＢ３０２及び中継デバイスＬＩＢ３０３は、例えば、入力機器２０−１〜２０−ｍや出力機器２１−１〜２１−ｎ等の各デバイスのベンダから提供されるデータシート等に記載された情報に基づいて得られる。
【００２８】
図３は、工業量ＬＩＢ３０１のテーブル構成の一例を示す図である。
工業量ＬＩＢ３０１は、例えば、単位情報と意味情報とが対応付けられたデータのリストである。単位情報は、機器出力値が示す値（工業量）の単位を示す情報である。意味情報は、工業量の意味を示す情報である。工業量ＬＩＢ３０１には、例えば、「Ｐａ（パスカル）」という単位と、「Ｍ（メガ）、ｋ（キロ）」などの単位接頭辞と、「圧力」、「ゲージ圧」及び「絶対圧」という意味とが対応付けられている。工業量ＬＩＢ３０１には、例えば、「℃、°Ｆ」という単位と「温度」という意味とが対応付けられている。
【００２９】
図４は、デバイスＬＩＢ３０２のテーブル構成の一例を示す図である。
デバイスＬＩＢ３０２は、工業量情報と機器入出力値（機器入力値及び機器出力値）に関する情報とスケーリング情報とを対応付けたデータのリストである。機器入出力値に関する情報とは、機器入出力値の値に影響を与える情報である。機器入出力値に関する情報は、例えば機器出力値を出力するデバイス又は機器入力値が入力されるデバイスを示す情報（以下「デバイス識別情報」という。）や、対象とする工業量名、インタフェース種別などである。デバイス識別情報は、例えばデバイスの型番などの値を用いて表されてもよい。
【００３０】
インタフェース種別が、例えば汎用アナログ出力の場合は、例えば機器が取り扱う工業量が圧力の場合でも、機器出力値は電圧値などとなる。この場合、変換方式は例えば一次式となって、スケーリングパラメータとの組合せで機器出力値（例えば電圧値）を圧力値に変換することができる。また、インタフェース種別が汎用アナログ出力であるので、これに対応するＡ／Ｄ変換器などの中継デバイスを経由して機器がコントローラ１０に接続されることがわかる。なお、インタフェース種別が、例えばＥｔｅｈｒＣＡＴ（登録商標）などのネットワーク通信方式（接続方法）を示す値であってもよい。この場合、機器出力値として工業量が出力される場合がある。この場合、変換方式は無変換となる。
【００３１】
図５は、中継デバイスＬＩＢ３０３のテーブル構成の一例を示す図である。
中継デバイスＬＩＢ３０３は、機器入出力値に関する情報とスケーリング情報とを対応付けたデータのリストである。機器入出力値に関する情報とは、機器入出力値に影響を与える情報である。機器入出力値に関する情報は、例えばアナログ信号を入力しデジタル値へと変換出力するデバイスを示す情報（以下「中継デバイス識別情報」という。）や、入力インタフェース種別である。中継デバイス識別情報は、例えばデバイスの型番などの値を用いて表されてもよい。インタフェース種別が、例えば汎用アナログ入力の場合は、機器入力値は電圧値などとなる。この場合、変換方式は例えば一次式となって、スケーリングパラメータとの組合せで機器入力値（例えば電圧値）をデジタル値に変換することができる。一般的にこのアナログ−デジタル変換では、変換機器のデジタルｂｉｔ単位での分解能力（以下「分解能」という。）に応じて値が変換される。そのため、変換機器の分解能によって、同じ機器入力値（例えば電圧値）であっても、異なる変換結果が得られる場合がある。
【００３２】
スケーリング情報とは、例えば機器出力値を、中継デバイスを経由してデジタル値で表される工業量に変換するための情報である。スケーリング情報は、例えば機器出力値を工業量に変換する際に用いられる数式を示す情報であってもよい。より具体的には、スケーリング情報は、式の形を示す情報（以下「変換式」という。）と、変換式に用いられるパラメータの具体的な値を示す情報（以下「スケーリングパラメータ」という。）との組み合わせで表されてもよい。変換式は、例えば「無変換」、「一次式」、「二次式」などの値を持つ。変換式の値が「無変換」である場合、機器出力値が既に工業量になっていることを示す。変換式の値が「一次式」である場合、機器出力値を“ｘ”、工業量を“ｙ”としたときにｙ＝ａｘ＋ｂで表されることを示す。変換式の値が「二次式」である場合、機器出力値を“ｘ”、工業量を“ｙ”としたときにｙ＝ａｘ＾２＋ｂｘ＋ｃで表されることを示す。なお、“ｘ＾ｎ”はｘの冪乗を示す。これらの変換式において用いられているａ、ｂ、ｃの各値が変換パラメータによって表される。なお、変換式が無変換である場合には、スケーリングパラメータは定義されない。このような場合であっても、コントローラ１０は、機器出力値に対して意味付け及び単位付けを行ってもよい。このような処理が行われることによって、たとえデータ変換処理が行われなかったとしても、意味づけ及び単位付けがなされた値を上位装置（例えばＤＢ４０）に出力することが可能となる。
【００３３】
例えば機器出力値を、Ａ／Ｄ変換器などの中継デバイスを経由して得られたデジタル値としてコントローラ１０で工業量に変換する場合、スケーリング処理として２段階の変換が行われる。例えば、コントローラ１０が保持するデジタル値が、汎用アナログ（出力電圧）の圧力センサの値を示す場合、第１段階として中継デバイスＬＩＢ３０３の変換式及びスケーリングパラメータを使用してデジタル値から電圧値を求める。そして第２段階としてデバイスＬＩＢ３０２の変換式及びスケーリングパラメータを使用して電圧値から工業量値を求める。このように構成されることによって、Ａ／Ｄ変換器等の変換機器と、入力機器又は出力機器との組み合わせに応じたより正確なスケーリングを行うことが可能となる。
【００３４】
図２に戻って端末装置３０の説明を続ける。
制御部３１０は、端末装置３０における各種の処理を制御する。制御部３１０は、例えば、ＣＰＵ（Central Processing Unit；中央演算処理装置）等のプロセッサやメモリを含んで構成される。図２に示すように、制御部３１０は、予め定められたプログラムを実行することによって、プログラミング機能部３１１、ライブラリ検索部３１２、データ型定義部３１３及びプログラム生成部３１４として機能する。
【００３５】
プログラミング機能部３１１は、例えばユーザが制御プログラムを作成するためのユーザインタフェースを提供する。プログラミング機能部３１１は、ユーザによって作成された制御プログラムに対し、プログラム生成部３１４によって生成されたコードを組み込む。プログラミング機能部３１１は、制御プログラムをコンパイルし、コントローラ１０に出力する。
【００３６】
ライブラリ検索部３１２（変換情報取得部）は、プログラミング機能部３１１から出力される指示情報に応じて、ライブラリ記憶部３００に記憶された情報からデータを取得する。具体的には、ライブラリ検索部３１２は、工業量ＬＩＢ３０１、デバイスＬＩＢ３０２及び中継デバイスＬＩＢ３０３のいずれか一つ又は複数を検索し、データを取得する。ライブラリ検索部３１２は、取得したデータをプログラミング機能部３１１へ出力する。
【００３７】
データ型定義部３１３は、コントローラ１０がＤＢ４０に対して工業量を含むデータを送信する際に用いられる構造体データを定義する。構造体データとは、意味付けされた複数のデータのかたまりを意味する。
【００３８】
プログラム生成部３１４は、ユーザによって設定された値に基づいて、制御プログラムのコードの一部を自動的に生成する。例えば、プログラム生成部３１４は、ユーザによって設定された値に基づいて、フォーマッティングを行うためのコードを自動的に生成する。プログラム生成部３１４は、生成されたコードをプログラミング機能部３１１に出力する。
【００３９】
通信部３２０は、通信ネットワークを介してコントローラ１０と通信接続するための通信インタフェースである。通信部３２０は、制御部３１０によって生成された制御プログラムを、コントローラ１０へ送信する。
【００４０】
入力部３３０（入力制御部）は、ユーザからの操作入力を受け付ける入力デバイスである。入力部３３０は、キーボード、ポインティングデバイス（マウス、タブレット等）、ボタン、タッチパネル等の既存の入力装置を用いて構成される。入力部３３０は、ユーザの指示を端末装置３０に入力する際にユーザによって操作される。入力部３３０は、入力装置を端末装置３０に接続するためのインタフェースであっても良い。この場合、入力部３３０は、入力装置においてユーザの入力に応じ生成された入力信号を端末装置３０に入力する。
【００４１】
出力部３４０は、ユーザに対して、例えば、フォーマッティング設定画面等の画面を提示するための出力デバイスである。出力部３４０は、例えば、液晶ディスプレイ（ＬＣＤ；Liquid Crystal Display）、有機ＥＬ（Electroluminescence；エレクトロルミネッセンス）ディスプレイ又はＣＲＴ（Cathode Ray Tube；陰極線管）等のディスプレイを含んで構成される。
【００４２】
なお、入力部３３０及び出力部３４０は、タッチパネル等の入出力機能を有する１つのデバイスによって構成されていてもよい。
【００４３】
［フォーマッティング設定画面の画面例］
以下、端末装置３０の出力部３４０に表示されるフォーマッティング設定画面の一例について、図面を参照しながら説明する。図６及び図７は、フォーマッティング設定画面の画面例を示す図である。
【００４４】
ユーザがフォーマッティングの設定を行うことを入力部３３０を介して入力すると、プログラミング機能部３１１は、フォーマッティング設定画面ｓｃｒ１を出力部３４０に表示する。ユーザは、端末装置３０の出力部３４０に表示されたフォーマッティング設定画面ｓｃｒ１を参照する。フォーマッティング設定画面ｓｃｒ１を操作することによって、ユーザは、制御プログラムにおいて用いられる工業量の変数を取得するためのコードを生成することができる。ユーザは、まず、変数の定義の対象となっているデバイス（以下「対象デバイス」という。）について、変数の名称として工業量変数名を定義する。工業量変数名は、デバイスから出力される機器出力値に基づいて得られる工業量を示す変数の名称である。ユーザは、入力部３３０を用いてフォーマッティング設定画面ｓｃｒ１における「工業量変数名」の欄に名称を入力する。
【００４５】
図６に示すように、ユーザは、フォーマッティング設定画面ｓｃｒ１における「工業量変数名」の欄に、例えば、配管Ａに設置された内圧を計測するセンサの出力を示す変数の名前として「配管Ａ−内圧」という文字列を入力し、「工業量名」として「圧力」を選択入力する。
【００４６】
「工業量名」が選択入力されると、ライブラリ検索部３１２は、「工業量名」に対応付けられた単位情報のリストを工業量ＬＩＢ３０１から取得する。ライブラリ検索部３１２は、１又は複数の単位情報を取得する。ライブラリ検索部３１２は、取得した単位情報の値をプログラミング機能部３１１に出力する。プログラミング機能部３１１は、取得された単位情報のリストを、フォーマッティング設定画面ｓｃｒ１における「単位」の欄のプルダウンメニューに登録する。ユーザが入力部３３０を介して「単位」の欄のプルダウンメニューの表示を指示すると、この指示に応じてプログラミング機能部３１１はプルダウンメニューとして１又は複数の「単位」を選択肢として表示する。ユーザは、「単位」の欄のプルダウンメニューの中から、配管Ａの内圧を計測するセンサによって得られる工業量の単位（例えば図６においては「ＭＰａ」）を選択する。
【００４７】
このように、ユーザが「工業量名」を選択入力することにより、対応する単位のリストが自動的に工業量ＬＩＢ３０１から読み出される。そのため、ユーザは容易に単位付けを定義することができる。
【００４８】
次に、ユーザは、フォーマッティング設定画面ｓｃｒ１における「デバイス名」の欄において、対象デバイスのデバイス名をプルダウンメニューの中から選択する。図７は、デバイス名のプルダウンメニューの表示例を示す図である。ライブラリ検索部３１２は、「工業量名」が「圧力」であるデバイスのデバイス名をデバイスＬＩＢ３０２から取得する。ライブラリ検索部３１２は、取得された１又は複数のデバイス名の値をプログラミング機能部３１１に出力する。プログラミング機能部３１１は、ライブラリ検索部３１２によって取得されたデバイス名を、選択候補としてプルダウンメニューに表示する。図７の例では、「工業量変数名」及び「単位」の欄に、それぞれ「配管Ａ−内圧」、「圧力」と入力された場合、「デバイス識別情報」のプルダウンには、「Ａ社圧力センサ１」、「Ｄ社圧力センサ１」及び「Ｄ社圧力センサ２」という３つの選択肢が表示される。ユーザは、表示された選択肢の中から対象デバイスを示すデバイス名の値（文字列）を選択する。選択された値は、「デバイス識別情報」の欄の値として入力される。同様に、ライブラリ検索部３１２はデバイスのインタフェース種別をデバイスＬＩＢ３０２から取得する。ライブラリ検索部３１２は、例えばインタフェース種別が汎用アナログ（電圧）の場合は、対応する中継デバイス識別情報を中継デバイスＬＩＢ３０３から選択し取得する。プログラミング機能部３１１は、ライブラリ検索部３１２によって取得された中継デバイス識別情報を選択候補としてプルダウンメニューに表示し、ユーザによって選択された値を「中継デバイス識別情報」の欄の値として入力する。
【００４９】
フォーマッティング設定画面ｓｃｒ１において、「デバイス識別情報」及び「中継デバイス識別情報」の各欄に値が入力されると、ライブラリ検索部３１２は、「デバイス識別情報」及び「中継デバイス識別情報」の値の組み合わせに対応付けられたスケーリング情報をデバイスＬＩＢ３０２及び中継デバイスＬＩＢ３０３から取得する。本実施形態の例では、ライブラリ検索部３１２は、「デバイス識別情報」及び「中継デバイス識別情報」の値の組み合わせに対応付けられた「変換式」及び「変換パラメータ」の値を取得する。ライブラリ検索部３１２は、取得された「変換式」及び「変換パラメータ」の値をプログラミング機能部３１１に出力する。プログラミング機能部３１１は、取得された「変換式」及び「変換パラメータ」の値を、それぞれの欄に入力された値としてフォーマッティング設定画面ｓｃｒ１に表示する。その後ユーザによってプログラムの自動生成の指示が入力されると、プログラミング機能部３１１は、各欄に入力された値と、コード生成指示をプログラム生成部３１４に出力する。プログラム生成部３１４は、コード生成指示にしたがって、各値に基づいてスケーリングを行うための制御プログラムのコードを生成する。例えば、プログラム生成部３１４は、変換式毎に予め与えられているコードの雛形に対し、工業量変数名、単位、変換パラメータ、デバイス名及びデバイス変数の各値を所定の位置に埋め込むことによってコードを生成してもよい。このとき、第１段階の情報として、中継デバイスＬＩＢ３０３の変換式及びスケーリングパラメータが用いられ、第２段階の情報として、デバイスＬＩＢ３０２の変換式及びスケーリングパラメータが用いられてもよい。このように２つの段階の値が用いられることによって、Ａ／Ｄ変換器等の変換機器と、入力機器又は出力機器との組み合わせに応じたより正確なスケーリングを行うための制御プログラムのコードを自動生成することが可能となる。
【００５０】
このように、ユーザが機器出力値に関する情報を入力することによって、この機器出力値を工業量に変換するためのスケーリング情報がデバイスＬＩＢ３０２及び中継デバイスＬＩＢ３０３から自動的に取得される。そのため、ユーザは使用されるデバイスやＡ／Ｄ変換器に応じた適切なスケーリング情報を容易に設定することが可能となる。
【００５１】
［端末装置の動作］
以下、端末装置３０の動作の一例について、図面を参照しながら説明する。
図８は、端末装置３０の動作を示すフローチャートである。なお、以下に示すフローチャートが示す処理の流れは一例にすぎず、他の処理の流れで端末装置３０が実装されてもよい。
【００５２】
図８に示されるフローチャートが示す処理は、端末装置３０の入力部３３０によって、ユーザによるフォーマッティング設定画面ｓｃｒ１の表示指示を示す操作入力を受け付ける（ステップＳ０１）。プログラミング機能部３１１は、表示指示に応じてフォーマッティング設定画面ｓｃｒ１を出力部３４０に表示する（ステップＳ０２）。プログラミング機能部３１１は、ユーザから工業量変数名及び工業量名の入力を受け付ける（ステップＳ０３）。ライブラリ検索部３１２は、選択入力された工業量名に応じて、工業量ＬＩＢ３０１から単位情報を取得する。さらに、ライブラリ検索部３１２は、選択入力された工業量名に応じて、デバイスＬＩＢ３０２からデバイス識別情報の選択肢を、必要により中継デバイスＬＩＢ３０３から中継デバイス識別情報の選択肢を取得する（ステップＳ０４）。プログラミング機能部３１１は、ユーザによってデバイス識別情報及び中継デバイス識別情報の選択肢の表示指示がなされると、ステップＳ０４において取得されたデバイス識別情報及び中継デバイス識別情報の選択肢をプルダウンメニューとして表示する。
【００５３】
ユーザによってデバイス識別情報及び中継デバイス識別情報の入力がなされると（ステップＳ０５）、ライブラリ検索部３１２は、入力されたデバイス識別情報及び中継デバイス識別情報に応じたスケーリング情報をデバイスＬＩＢ３０２及び中継デバイスＬＩＢ３０３から取得する（ステップＳ０６）。スケーリング情報の具体例として、図８に示されるフローチャートでは、変換式及び変換パラメータの値が取得される。その後、ユーザによってプログラムの自動生成の指示が入力されると、プログラミング機能部３１１は、ユーザによって設定された各値とコード生成指示とに基づいて、機器出力値を工業量に変換する制御プログラムのコードを生成する（ステップＳ０７）。そして、プログラミング機能部３１１は、プログラム生成部３１４によって生成されたコードを含む制御プログラムをコンパイルすることによって機械語コードを生成し、通信部３２０を介してコントローラ１０に出力する（ステップＳ０８）。
【００５４】
＜第２の実施形態＞
以下、第２の実施形態について説明する。図９は、第２の実施形態に係る制御システム２の全体構成を示すブロック図である。
【００５５】
第１の実施形態に係る制御システム１では、各種のライブラリデータ（工業量ＬＩＢ３０１、デバイスＬＩＢ３０２及び中継デバイスＬＩＢ３０３）は、端末装置３０において記憶されていた。第２の実施形態に係る制御システム２では、各種のライブラリデータの一部又は全ては、端末装置３０と通信ネットワーク６０を介して通信可能に接続される他の情報処理装置に記憶されている。具体的には、ライブラリサーバ５０が各種のライブラリデータ（工業量ＬＩＢ３０１、デバイスＬＩＢ３０２及び中継デバイスＬＩＢ３０３）の一部又は全てを記憶する。
【００５６】
ライブラリサーバ５０は、通信可能な情報処理装置である。ライブラリサーバ５０は、例えばパーソナルコンピュータやサーバ装置を用いて構成される。ライブラリサーバ５０は、磁気ハードディスク装置や半導体記憶装置等の記憶装置を備える。ライブラリサーバ５０の記憶装置には、工業量ＬＩＢ３０１、デバイスＬＩＢ３０２及び中継デバイスＬＩＢ３０３の一部又は全部が記録される。
【００５７】
第２の実施形態においては、端末装置３０は予めライブラリ記憶部３００を備えている必要は無い。端末装置３０は、所定のタイミングでライブラリサーバ５０からライブラリデータの一部又は全部を取得してもよい。例えば、端末装置３０は、所定の更新タイミングで、ライブラリサーバ５０からライブラリデータをダウンロードしてもよい。この場合、ダウンロードされたライブラリデータは、端末装置３０が備える記憶装置に記録される。例えば、ライブラリサーバ５０は、ライブラリデータが更新されたタイミングで、端末装置３０に対して更新されたことを通知してもよい。この場合、端末装置３０は、更新されたライブラリデータを、通知に応じてダウンロードしてもよい。端末装置３０は、自装置の記憶装置（ローカルの記憶装置）にライブラリデータを記憶しないように構成されてもよい。この場合、ライブラリ検索部３１２は、ライブラリデータから情報を取得する際にライブラリサーバ５０に対して問い合わせを行う。例えば、ライブラリ検索部３１２は、「デバイス名」及び「デバイス変数」をキーとして「変換式」及び「変換パラメータ」の値を取得する際に、ライブラリサーバ５０に対して問い合わせを行う。ライブラリ検索部３１２は、問い合わせの結果として「変換式」及び「変換パラメータ」を取得してもよい。
なお、ライブラリサーバ５０は、端末装置３０の管理主体やコントローラ１０の管理主体とは異なる主体によって設計や運用がなされてもよい。
【００５８】
通信ネットワーク６０は、例えば、インターネット、各種の閉域網（例えば、専用線、またはＶＰＮ（Virtual Private Network；仮想プライベートネットワーク）等）又はこれらの通信ネットワークの組合せによって構成される。なお、通信ネットワーク６０は、有線の通信ネットワークであってもよいし、一部又は全部が無線の通信ネットワークであってもよい。
【００５９】
以上説明したように、実施形態に係る端末装置３０は、入力機器２０や出力機器２１等のデバイスからコントローラ１０に対して出力される値である機器出力値を工業量に変換するための情報をライブラリから取得する。そのため、フォーマッティング（意味付け、単位付け及び値の変換）に要するユーザの労力を削減することが可能となる。したがって、コントローラ１０の制御プログラムの生成に係るユーザの作業を容易にすることができる。
【００６０】
（変形例）
以上、実施形態について詳しく説明してきたが、具体的な構成は上述のものに限られることはなく、様々な設計変更等をすることが可能である。例えば、端末装置３０の制御部３１０が実行する機能の一部は、他の情報処理装置によって実行されてもよい。例えば、制御部３１０が実行する機能のうち、プログラム生成部３１４の機能が、ネットワークを介して通信可能な他の情報処理装置（例えばクラウド）によって提供されてもよい。この場合、プログラミング機能部３１１は、コードの生成を行う場合に、ネットワークを介して提供されるプログラム生成部３１４に対して値及びコード生成指示を送信してもよい。
【００６１】
上述した端末装置３０は、ユーザに対して図６及び図７に示されるようなユーザインタフェースを提供する機能（プログラミング機能部３１１の一部の機能）と、ライブラリ検索部３１２と、を備える装置（変換情報取得装置）として実装されてもよい。この場合、変換情報取得装置として実装された端末装置３０は、ユーザの操作に応じてライブラリ記憶部３００に記憶される各ライブラリを検索することによって変換式や変換パラメータの各値（変換情報）を取得する。そして、端末装置３０は、取得された変換情報を、変換情報に基づいて制御プログラムを生成するプログラム開発支援装置に対して出力する。このような変換情報取得装置によっても、コントローラの制御プログラムの生成に係るユーザの作業を軽減することが可能となる。
【００６２】
なお、上述した実施形態における端末装置３０の一部又は全部をコンピュータで実現するようにしてもよい。その場合、この制御機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによって実現してもよい。
【００６３】
なお、ここでいう「コンピュータシステム」とは、端末装置３０に内蔵されたコンピュータシステムであって、ＯＳや周辺機器等のハードウェアを含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。
【００６４】
さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信回線のように、短時間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含んでもよい。また上述したプログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであってもよい。
【００６５】
また、上述した実施形態における端末装置３０を、ＬＳＩ（Large Scale Integration）等の集積回路として実現してもよい。端末装置３０の各機能ブロックは個別にプロセッサ化してもよいし、一部、または全部を集積してプロセッサ化してもよい。また、集積回路化の手法はＬＳＩに限らず専用回路、または汎用プロセッサで実現してもよい。また、半導体技術の進歩によりＬＳＩに代替する集積回路化の技術が出現した場合、技術による集積回路を用いてもよい。
【符号の説明】
【００６６】
１，２・・・制御システム、１０・・・コントローラ、２０−１〜２０−ｍ・・・入力機器、２１−１〜２１−ｎ・・・出力機器、３０・・・端末装置、４０・・・ＤＢ、３００・・・ライブラリ記憶部、３０１・・・工業量ＬＩＢ、３０２・・・デバイスＬＩＢ、３０３・・・中継デバイスＬＩＢ、３１１・・・プログラミング機能部、３１２・・・ライブラリ検索部、３１３・・・データ型定義部、３１４・・・プログラム生成部、３２０・・・通信部、３３０・・・入力部、３４０・・・出力部
【図１】
2019096160.tif 000003
【図２】
2019096160.tif 000004
【図３】
2019096160.tif 000005
【図４】
2019096160.tif 000006
【図５】
2019096160.tif 000007
【図６】
2019096160.tif 000008
【図７】
2019096160.tif 000009
【図８】
2019096160.tif 000010
【図９】
2019096160.tif 000011