(57)【要約】【課題】ＨＭＩの開発に極力制限を掛けることなくＨＭＩの開発の自由度を確保する。【解決手段】サポート装置２００は、制御対象３００を制御するコントローラ１００に接続されたＨＭＩ４で実行されるＨＭＩプログラム４７０の開発を支援するものであって、コントローラ１００で保持されるコントローラ側データ１６０に関連するオブジェクト５０１を規定する規定部２２１を備え、オブジェクト５０１は、コントローラ側データ１６０の設定とは独立して当該コントローラ側データ１６０を参照するための参照情報２６０に対応付けることが可能であり、オブジェクト５０１と参照情報２６０との対応関係を設定するための入力を受け付ける第１受付部２２２と、コントローラ側データ１６０と参照情報２６０との対応関係を設定するための入力を受け付ける第２受付部２２３とを備える。【選択図】図２
2020042710.tif 000002
【特許請求の範囲】
【請求項１】
制御対象を制御するコントローラに接続されたＨＭＩ（ヒューマンマシンインターフェース）で実行されるプログラムの開発を支援するサポート装置であって、
前記コントローラで保持されるコントローラ側データに関連するオブジェクトを規定する規定部を備え、
前記オブジェクトは、前記コントローラ側データの設定とは独立して当該コントローラ側データを参照するための参照情報に対応付けることが可能であり、
前記オブジェクトと前記参照情報との対応関係を設定するための入力を受け付ける第１受付部と、
前記コントローラ側データと前記参照情報との対応関係を設定するための入力を受け付ける第２受付部とを備える、サポート装置。
【請求項２】
前記参照情報は、前記コントローラ側データに対応付けられた変数を含む、請求項１に記載のサポート装置。
【請求項３】
前記参照情報に含まれる変数は、構造体型または配列型であってインデックスを含み、
前記オブジェクトの複製時において、当該オブジェクトの複製に基づく規則に従って当該オブジェクトに対応付けられた変数に含まれる前記インデックスが更新された新たな変数を、複製された新たなオブジェクトに前記参照情報として対応付けるユーザインターフェースを提供する、請求項２に記載のサポート装置。
【請求項４】
指定された条件に基づいて、前記コントローラ側データに含まれるデータのうちの１または複数の特定データに対して前記参照情報を対応付けるユーザインターフェースを提供する、請求項１〜請求項３のいずれか１項に記載のサポート装置。
【請求項５】
前記コントローラ側データに含まれるデータのうち、変数名の少なくとも一部が同じである特定データに対して同じ種類の前記参照情報を対応付けるユーザインターフェースを提供する、請求項２〜請求項４のいずれか１項に記載のサポート装置。
【請求項６】
前記オブジェクトと前記参照情報との対応関係を設定するときに、当該参照情報に対応付けられた前記コントローラ側データを一覧表示する、請求項１〜請求項４のいずれか１項に記載のサポート装置。
【請求項７】
前記オブジェクトを指定したときに、当該オブジェクトに対応付けられた前記参照情報および前記コントローラ側データを表示する、請求項１〜請求項４のいずれか１項に記載のサポート装置。
【請求項８】
制御対象を制御するコントローラに接続されたＨＭＩ（ヒューマンマシンインターフェース）で実行されるプログラムの開発を支援するサポートプログラムであって、
前記サポートプログラムは、コンピュータに、
前記コントローラで保持されるコントローラ側データに関連するオブジェクトを規定するステップを実行させ、
前記オブジェクトは、前記コントローラ側データの設定とは独立して当該コントローラ側データを参照するための参照情報に対応付けることが可能であり、
前記オブジェクトと前記参照情報との対応関係を設定するための入力を受け付けるステップと、
前記コントローラ側データと前記参照情報との対応関係を設定するための入力を受け付けるステップとを実行させる、サポートプログラム。
【請求項９】
制御対象を制御するコントローラに接続されたＨＭＩ（ヒューマンマシンインターフェース）で実行されるプログラムの生成方法であって、
前記コントローラで保持されるコントローラ側データに関連するオブジェクトを規定するステップを含み、
前記オブジェクトは、前記コントローラ側データの設定とは独立して当該コントローラ側データを参照するための参照情報に対応付けることが可能であり、
前記オブジェクトと前記参照情報との対応関係を設定するための入力を受け付けるステップと、
前記コントローラ側データと前記参照情報との対応関係を設定するための入力を受け付けるステップと、
前記オブジェクトと前記参照情報との対応関係、および前記コントローラ側データと前記参照情報との対応関係に基づいて、前記ＨＭＩで実行されるプログラムを生成するステップとを含む、プログラムの生成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御対象を制御するコントローラに接続されたＨＭＩ（ヒューマンマシンインターフェース：Human Machine Interface）で実行されるプログラムの開発を支援するサポート装置、制御対象を制御するコントローラに接続されたＨＭＩで実行されるプログラムの開発を支援するサポートプログラム、および制御対象を制御するコントローラに接続されたＨＭＩで実行されるプログラムの生成方法に関する。
【背景技術】
【０００２】
近年、様々な生産現場において、生産工程を自動化するＦＡ（Factory  Automation）システムが普及している。ＦＡシステムにおいては、製造装置や製造設備などのＦＡ機器が、ＰＬＣ（Programmable Logic Controller）やロボットコントローラなどの産業用の制御装置（以下、「コントローラ」ともいう。）によって制御される。ＦＡの分野に適用されるＨＭＩは、ＨＭＩプログラムを実行することにより、コントローラから得られるＦＡ機器などの制御対象に関する情報をディスプレイに表示する。また、ＨＭＩでは、生産管理者などのオペレータがディスプレイの画面をタッチ操作するなどして、制御対象を制御することもできる。
【０００３】
ＨＭＩで実行されるプログラムの開発環境の例として、特開２０１１−１５９１５１号公報（特許文献１）において、プログラマブル表示器の画面設計を行う機能を有する画面設計装置が開示されている。特許文献１に開示された画面設計装置によれば、ユーザは、ディスプレイの画面上に部品（オブジェクト）を規定することができ、さらに、規定したオブジェクトを設定したり、その設定内容とともにオブジェクトを複製したりすることもできる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１１−１５９１５１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上述したように、ＨＭＩでは、開発環境を利用してオブジェクトを規定することができるが、さらにオブジェクトの参照先としてコントローラ側のデータを対応付けることで、オブジェクトによってＦＡ機器などの制御対象に関する情報を表示したり、制御対象を制御するためのスイッチとしてオブジェクトを利用したりすることができる。しかしながら、ＨＭＩの開発時において、必ずしもＰＬＣなどのコントローラ側の開発が既に完了していることはなく、従来においては、コントローラ側の開発が完了しない限りは、ＨＭＩの開発を進めることができないという実情があった。このため、ＨＭＩの開発に制限が掛かり、開発の自由度が低いという問題があった。
【０００６】
本発明は、ＨＭＩの開発に極力制限を掛けることなくＨＭＩの開発の自由度を確保することを目的とする。
【課題を解決するための手段】
【０００７】
本開示の一例に従えば、制御対象を制御するコントローラに接続されたＨＭＩ（ヒューマンマシンインターフェース）で実行されるプログラムの開発を支援するサポート装置が提供される。サポート装置は、コントローラで保持されるコントローラ側データに関連するオブジェクトを規定する規定部を備え、オブジェクトは、コントローラ側データの設定とは独立して当該コントローラ側データを参照するための参照情報に対応付けることが可能であり、オブジェクトと参照情報との対応関係を設定するための入力を受け付ける第１受付部と、コントローラ側データと参照情報との対応関係を設定するための入力を受け付ける第２受付部とを備える。
【０００８】
この開示によれば、ユーザは、コントローラ側データの設定とは独立して、オブジェクトとコントローラ側データを参照するための参照情報との対応関係を設定することができ、またその一方で、コントローラ側データと参照情報との対応関係を設定することができる。このように、ユーザは、コントローラ側データの設定が完了することを待つことなく、オブジェクトの参照先を設定することができるため、ＨＭＩの開発に極力制限を掛けることなくＨＭＩの開発の自由度を確保することができる。
【０００９】
上述の開示において、参照情報は、コントローラ側データに対応付けられた変数を含む。
【００１０】
この開示によれば、ユーザは、参照情報として、変数によってコントローラ側データを対応付けることができる。
【００１１】
上述の開示において、参照情報に含まれる変数は、構造体型または配列型であってインデックスを含み、サポート装置は、オブジェクトの複製時において、当該オブジェクトの複製に基づく規則に従って当該オブジェクトに対応付けられた変数に含まれるインデックスが更新された新たな変数を、複製された新たなオブジェクトに参照情報として対応付けるユーザインターフェースを提供する。
【００１２】
この開示によれば、ユーザは、オブジェクトの複製時において、インデックスが更新された新たな変数を、複製した新たなオブジェクトに参照情報として対応付けることができるため、オブジェクトの複製と参照情報との対応付けとを同時に行うことができ、ＨＭＩの開発工数を削減することができる。
【００１３】
上述の開示において、サポート装置は、指定された条件に基づいて、コントローラ側データに含まれるデータのうちの１または複数の特定データに対して参照情報を対応付けるユーザインターフェースを提供する。
【００１４】
この開示によれば、ユーザは、指定した条件に基づいて、コントローラ側データと参照情報とを対応付けることができるため、利便性が向上する。
【００１５】
上述の開示において、サポート装置は、コントローラ側データに含まれるデータのうち、変数名の少なくとも一部が同じである特定データに対して同じ種類の参照情報を対応付けるユーザインターフェースを提供する。
【００１６】
この開示によれば、ユーザは、変数名の少なくとも一部が同じであるコントローラ側データに対して同じ種類の参照情報を対応付けることができるため、利便性が向上する。
【００１７】
上述の開示において、オブジェクトと参照情報との対応関係を設定するときに、当該参照情報に対応付けられたコントローラ側データを一覧表示する。
【００１８】
この開示によれば、ユーザは、オブジェクトと参照情報との対応関係を設定するときに、当該参照情報に対応付けられたコントローラ側データを容易に把握することができる。
【００１９】
上述の開示において、オブジェクトを指定したときに、当該オブジェクトに対応付けられた参照情報およびコントローラ側データを表示する。
【００２０】
この開示によれば、ユーザは、オブジェクトに対応付けられた参照情報およびコントローラ側データを容易に把握することができる。
【００２１】
本開示の別の一例に従えば、制御対象を制御するコントローラに接続されたＨＭＩ（ヒューマンマシンインターフェース）で実行されるプログラムの開発を支援するサポートプログラムが提供される。サポートプログラムは、コンピュータに、コントローラで保持されるコントローラ側データに関連するオブジェクトを規定するステップを実行させ、オブジェクトは、コントローラ側データの設定とは独立して当該コントローラ側データを参照するための参照情報に対応付けることが可能であり、オブジェクトと参照情報との対応関係を設定するための入力を受け付けるステップと、コントローラ側データと参照情報との対応関係を設定するための入力を受け付けるステップとを実行させる。
【００２２】
この開示によれば、ユーザは、コントローラ側データの設定とは独立して、オブジェクトとコントローラ側データを参照するための参照情報との対応関係を設定することができ、またその一方で、コントローラ側データと参照情報との対応関係を設定することができる。このように、ユーザは、コントローラ側データの設定が完了することを待つことなく、オブジェクトの参照先を設定することができるため、ＨＭＩの開発に極力制限を掛けることなくＨＭＩの開発の自由度を確保することができる。
【００２３】
本開示の別の一例に従えば、制御対象を制御するコントローラに接続されたＨＭＩ（ヒューマンマシンインターフェース）で実行されるプログラムの生成方法が提供される。プログラムの生成方法は、コントローラで保持されるコントローラ側データに関連するオブジェクトを規定するステップを含み、オブジェクトは、コントローラ側データの設定とは独立して当該コントローラ側データを参照するための参照情報に対応付けることが可能であり、オブジェクトと参照情報との対応関係を設定するための入力を受け付けるステップと、コントローラ側データと参照情報との対応関係を設定するための入力を受け付けるステップと、オブジェクトと参照情報との対応関係、およびコントローラ側データと参照情報との対応関係に基づいて、ＨＭＩで実行されるプログラムを生成するステップとを含む。
【００２４】
この開示によれば、ユーザは、コントローラ側データの設定とは独立して、オブジェクトとコントローラ側データを参照するための参照情報との対応関係を設定することができ、またその一方で、コントローラ側データと参照情報との対応関係を設定することができる。このように、ユーザは、コントローラ側データの設定が完了することを待つことなく、オブジェクトの参照先を設定することができるため、ＨＭＩの開発に極力制限を掛けることなくＨＭＩの開発の自由度を確保することができる。
【発明の効果】
【００２５】
本発明によれば、ＨＭＩの開発に極力制限を掛けることなくＨＭＩの開発の自由度を確保することができる。
【図面の簡単な説明】
【００２６】
【図１】本実施の形態に係るサポート装置の構成、サポートプログラムおよびＨＭＩプログラムの生成方法の適用例を説明するための模式図である。
【図２】本実施の形態に係るサポート装置の構成、サポートプログラムおよびＨＭＩプログラムの生成方法の適用例を説明するための模式図である。
【図３】比較例を説明するための模式図である。
【図４】ＨＭＩ開発およびＰＬＣ開発の進行を説明するための模式図である。
【図５】本実施の形態においてＨＭＩ開発時に既にＰＬＣ開発が完了しているパターンにおけるＨＭＩ開発の例を説明するための模式図である。
【図６】本実施の形態においてＨＭＩ開発時に既にＰＬＣ開発が完了しているパターンにおけるＨＭＩ開発の例を説明するための模式図である。
【図７】本実施の形態においてＨＭＩ開発時に既にＰＬＣ開発が完了しているパターンにおけるＨＭＩ開発の例を説明するための模式図である。
【図８】本実施の形態においてＨＭＩ開発時に未だＰＬＣ開発が完了していないパターンにおけるＨＭＩ開発の例を説明するための模式図である。
【図９】本実施の形態においてＨＭＩ開発時に未だＰＬＣ開発が完了していないパターンにおけるＨＭＩ開発の例を説明するための模式図である。
【図１０】本実施の形態においてＨＭＩ開発時に未だＰＬＣ開発が完了していないパターンにおけるＨＭＩ開発の例を説明するための模式図である。
【図１１】本実施の形態に係るＰＬＣのハードウェア構成の例を説明するための模式図である。
【図１２】本実施の形態に係るサポート装置のハードウェア構成の例を説明するための模式図である。
【図１３】本実施の形態に係るＨＭＩのハードウェア構成の例を説明するための模式図である。
【図１４】比較例に係るサポート装置の処理を示すフローチャートである。
【図１５】ＨＭＩ開発時に既にＰＬＣ開発が完了しているパターンにおける本実施の形態に係るサポート装置の処理を示すフローチャートである。
【図１６】ＨＭＩ開発時に未だＰＬＣ開発が完了していないパターンにおける本実施の形態に係るサポート装置の処理を示すフローチャートである。
【図１７】コントローラ側データに参照情報を対応付けるユーザインターフェースの例を示す図である。
【図１８】ＨＭＩ開発時に未だＰＬＣ開発が完了していないパターンにおける変形例に係るサポート装置の処理を示すフローチャートである。
【図１９】オブジェクトの複製および参照情報への対応付けをするユーザインターフェースの例を示す図である。
【図２０】参照情報の対応関係の表示例を示す図である。
【発明を実施するための形態】
【００２７】
本発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰り返さない。
【００２８】
＜Ａ．適用例＞
図１および図２を参照して、本発明が適用される場面の一例について説明する。図１および図２は、本実施の形態に係るサポート装置２００の構成、サポートプログラム２７０およびＨＭＩプログラム４７０の生成方法の適用例を説明するための模式図である。
【００２９】
図１に示すように、本実施の形態に係るサポート装置２００は、生産工程を自動化するＦＡシステム１などにおいて適用される。ＦＡシステム１は、制御対象となる１または複数のデバイス３００と、デバイス３００を制御するＰＬＣ１００と、ＨＭＩ４と、サポート装置２００とを備える。
【００３０】
ＰＬＣ１００、ＨＭＩ４、およびサポート装置２００は、ネットワークを介して接続されている。このネットワークには、たとえば、ベンダやＯＳ（Operating System）の種類などに依存することなくデータ交換を実現することができる予め定められた規格に従ったネットワークを採用することが好ましい。当該予め定められた規格は、標準規格であってもよいし、ベンダ独自の規格または仕様であってもよい。標準規格としては、たとえば、ＯＰＣ−ＵＡなどが知られている。ＯＰＣ−ＵＡに対応したＰＬＣ１００が用いられることで、ＨＭＩ４は、ＰＬＣ１００で保持されているデータ（以下、「コントローラ側データ」ともいう。）に容易にアクセスすることができる。
【００３１】
「コントローラ側データ」とは、ＰＬＣ１００で保持されているデータであり、主にデバイス３００の状態を表すデータである。本実施の形態においては、コントローラ側データは、変数で表される。
【００３２】
「変数」とは、データそのもの、および当該データが格納される入れ物や記憶領域などである。たとえば、コントローラ側データにおける変数とは、デバイス３００の状態を表すデータそのもの、および当該データが格納される入れ物や記憶領域などである。コントローラ側データにおける変数は、デバイス３００の状態に連動して値が変化する。典型的には、変数は、デバイス３００を制御するためにＰＬＣ１００の制御プログラム１７０によって利用されるデータであり、一つの値を表すデータだけでなく、構造体として表されるデータや、配列として表されるデータも含む。
【００３３】
変数について仕様（たとえば、変数名や変数の型など）が定められている標準規格としてＰａｃｋＭＬがある。ＰａｃｋＭＬで定義されている機能（たとえば、Ｃｏｍｍａｎｄ、Ｓｔａｔｕｓ、Ａｄｍｉｎなど）は、ＯＰＣ−ＵＡの情報モデルに従って表現される。ＰａｃｋＭＬは、ＩＳＡ（The International Society of Automation）−８８において規定されており、包装機械に特化して定められた標準規格である。このような標準規格に従うことで、装置間で遣り取りするデータについて仕様を決める必要が無くなる。
【００３４】
コントローラ１００およびデバイス３００は、ネットワークを介して接続されている。このネットワークには、たとえば、データの到達時間が保証される、定周期通信を行うフィールドネットワークを採用することが好ましい。このような定周期通信を行うフィールドネットワークとしては、ＥｔｈｅｒＣＡＴ（登録商標）、ＥｔｈｅｒＮｅｔ／ＩＰ（登録商標）、ＣｏｍｐｏＮｅｔ（登録商標）などが知られている。
【００３５】
デバイス３００は、「制御対象」の一実施形態である。デバイス３００は、生産工程を自動化するための種々の産業用機器を含む。一例として、デバイス３００は、アームロボットを制御するロボットコントローラ、サーボモータを制御するサーボドライバ、ワークを撮影するための視覚センサ、圧力センサ、温度センサ、および生産工程で利用されるその他の機器などを含む。
【００３６】
ＰＬＣ１００は、「コントローラ」の一実施形態である。ＰＬＣ１００は、一種のコンピュータであり、製造装置や製造設備などの各デバイス３００を制御するための制御プログラム１７０を実行する。
【００３７】
制御プログラム１７０は、所謂シーケンスプログラムであり、実行ごとに全体がスキャンされて、実行ごとに１または複数の指令値が算出されるプログラムを包含する概念である。シーケンスプログラムは、たとえば国際電気標準会議（International Electrotechnical Commission：ＩＥＣ）によって規定された国際規格ＩＥＣ６１１３１−３に従って記述された１または複数の命令からなるプログラムを包含する。シーケンスプログラムには、シーケンス命令および／またはモーション命令を含み得る。なお、シーケンスプログラムとしては、国際規格ＩＥＣ６１１３１−３に従って記述された命令に限らず、ＰＬＣの製造メーカまたはベンダなどが独自に規定した命令を含むようにしてもよい。
【００３８】
ＨＭＩ４は、一種のコンピュータであり、ＨＭＩプログラム４７０を実行する。なお、「ＨＭＩ」という用語は、一般的には、人間と機械との間の伝達を行う、機器やコンピュータプログラムなどといったインターフェースの総称で用いられることが多いが、ここでは、このようなインターフェースを備えた装置自体を「ＨＭＩ」と称する。ＨＭＩプログラム４７０は、プログラムの開発環境を提供するサポート装置２００において、サポートプログラム２７０が実行されてオブジェクト５０１などが規定されることにより開発される。
【００３９】
サポート装置２００は、たとえば汎用のコンピュータであり、ＦＡシステム１の各種プログラムを統合して開発する環境を提供する。サポート装置２００には、開発環境を構築して提供するためのサポートプログラム２７０がインストールされる。
【００４０】
ユーザは、サポート装置２００においてサポートプログラム２７０を実行することで、ＨＭＩ４用の画面を設計し、その設計内容に対してビルドを施すことでＨＭＩプログラム４７０を生成する。生成されたＨＭＩプログラム４７０は、ＨＭＩ４に転送される。
【００４１】
図２に示すように、サポート装置２００は、ディスプレイ２１４にオブジェクトを規定する規定部２２１を有する。「オブジェクト」とは、ユーザに対してＰＬＣ１００で保持されるコントローラ側データ１６０に関連するアイコンであり、ユーザによって操作可能にしたり、ユーザに対してコントローラ側データ１６０の状態をその表示態様によって示したりする。
【００４２】
図２に示す例では、異常の有無を示すエラーオブジェクト５０１ａ、エラーオブジェクト５０１ｂ、およびエラーオブジェクト５０１ｃと、圧力を示す圧力オブジェクト５０１ｄおよび圧力オブジェクト５０１ｅと、温度を示す温度オブジェクト５０１ｆとが、ディスプレイ２１４に規定されている。なお、これらのオブジェクトのうちのいずれかまたは全部をまとめて「オブジェクト５０１」と称することもある。
【００４３】
また、図２に示す例では、ＰＬＣ１００は、デバイスＡに対応するコントローラ側データ１６０ａと、デバイスＢに対応するコントローラ側データ１６０ｂと、デバイスＣに対応するコントローラ側データ１６０ｃとを保持する。
【００４４】
デバイスＡにおいては、“True”または“False”によってエラー状態であるか否かを示すブール型の「Err_Sensor_A0」、「Err_Sensor_A1」、および「Err_Sensor_A2」と、圧力センサで検出された圧力値を１０進数で示す１０進数型の「Pressure_A0」と、２つの温度センサのそれぞれで検出された温度を１０進数で示す１０進数型の「Thermo_A0」および「Thermo_A1」とを、コントローラ側データ１６０ａとして保持する。「Err_Sensor_A0」は、「Pressure_A0」の値に基づき圧力値の異常の有無を示し、「Err_Sensor_A1」は、「Thermo_A0」の値に基づき温度の異常の有無を示し、「Err_Sensor_A2」は、「Thermo_A1」の値に基づき温度の異常の有無を示す。
【００４５】
デバイスＢにおいては、“True”または“False”によってエラー状態であるか否かを示すブール型の「Err_Sensor_B0」および「Err_Sensor_B1」と、圧力センサで検出された圧力値を１０進数で示す１０進数型の「Pressure_B0」と、温度センサで検出された温度を１０進数で示す１０進数型の「Thermo_B0」とを、コントローラ側データ１６０ｂとして保持する。「Err_Sensor_B0」は、「Pressure_B0」の値に基づき圧力値の異常の有無を示し、「Err_Sensor_B1」は、「Thermo_B0」の値に基づき温度の異常の有無を示す。
【００４６】
デバイスＣにおいては、“True”または“False”によってエラー状態であるか否かを示すブール型の「Err_Sensor_C0」、「Err_Sensor_C1」、および「Err_Sensor_C2」と、２つの圧力センサのそれぞれで検出された圧力値を１０進数で示す１０進数型の「Pressure_C0」および「Pressure_C1」と、温度センサで検出された温度を１０進数で示す１０進数型の「Thermo_C0」とを、コントローラ側データ１６０ｃとして保持する。「Err_Sensor_C0」は、「Pressure_C0」の値に基づき圧力値の異常の有無を示し、「Err_Sensor_C1」は、「Pressure_C1」の値に基づき圧力値の異常の有無を示し、「Err_Sensor_C2」は、「Thermo_C0」の値に基づき温度の異常の有無を示す。
【００４７】
上述したコントローラ側データ１６０に含まれる各データは、サポート装置２００で保持される参照情報２６０に含まれる変数に対応付けることが可能である。「参照情報」とは、各オブジェクト５０１がコントローラ側データ１６０を参照するために仲介する中間データであり、変数で表される。本実施の形態においては、参照情報に含まれる変数は、構造体として表されるが、一つの値を表すデータや配列として表されるデータであってもよい。また、構造体型または配列型である参照情報２６０に含まれる変数は、各変数を識別するためのインデックス（添え字）を含んでいてもよい。
【００４８】
図２に示す例では、サポート装置２００は、参照情報２６０として、エラーオブジェクト５０１ａ、エラーオブジェクト５０１ｂ、およびエラーオブジェクト５０１ｃなどの異常の有無を示すオブジェクト５０１に対応付けられる参照情報２６０ａと、圧力オブジェクト５０１ｄ、圧力オブジェクト５０１ｅ、および温度オブジェクト５０１ｆなどのデバイスによる検出値を示すオブジェクト５０１に対応付けられる参照情報２６０ｂとを有する。なお、参照情報２６０ａと参照情報２６０ｂとは、必ずしも分けられる必要はなく、まとめられていてもよい。
【００４９】
参照情報２６０ａに含まれる変数には、「Err_Arr[0]」、「Err_Arr[1]」、および「Err_Arr[2]」が含まれる。参照情報２６０ｂに含まれる変数には、「Device_Arr[0]」、「Device_Arr[1]」、および「Device_Arr[2]」が含まれる。
【００５０】
サポート装置２００は、オブジェクト５０１と参照情報２６０との対応関係を設定するための入力を受け付ける第１受付部２２２を有する。第１受付部２２２は、オブジェクト５０１と参照情報２６０との対応関係を設定するためのユーザによる入力を受け付けるユーザインターフェースである。たとえば、ユーザは、タッチ操作、キーボード操作、またはマウス操作によって、ディスプレイ２１４に規定された１または複数のオブジェクト５０１のうちから少なくとも１以上のオブジェクト５０１を指定し、参照情報２６０に含まれる１または複数の変数のうちから少なくとも１以上の変数を参照先として対応付ける。
【００５１】
図２に示す例では、第１受付部２２２によって、エラーオブジェクト５０１ａが「Err_Arr[0]」に対応付けられ、エラーオブジェクト５０１ｂが「Err_Arr[1]」に対応付けられ、エラーオブジェクト５０１ｃが「Err_Arr[2]」に対応付けられている。また、第１受付部２２２によって、圧力オブジェクト５０１ｄが「Device_Arr[0]」に対応付けられ、圧力オブジェクト５０１ｅが「Device_Arr[1]」に対応付けられ、温度オブジェクト５０１ｆが「Device_Arr[2]」に対応付けられている。
【００５２】
サポート装置２００は、コントローラ側データ１６０と参照情報２６０との対応関係を設定するための入力を受け付ける第２受付部２２３を有する。第２受付部２２３は、コントローラ側データ１６０と参照情報２６０との対応関係を設定するためのユーザによる入力を受け付けるユーザインターフェースである。たとえば、ユーザは、ディスプレイ２１４に表示された変数マッピングの設定画面を介して、タッチ操作、キーボード操作、またはマウス操作によって、コントローラ側データ１６０に含まれる１または複数の変数のうちから少なくとも１以上の変数を指定し、参照情報に含まれる１または複数の変数のうちから少なくとも１以上の変数を対応付ける。
【００５３】
図２に示す例では、第２受付部２２３によって、デバイスＡのコントローラ側データ１６０ａに含まれる変数のうち、「Err_Sensor_A0」が参照情報２６０ａに含まれる「Err_Arr[0]」に対応付けられ、「Pressure_A0」が参照情報２６０ｂに含まれる「Device_Arr[0]」に対応付けられている。また、第２受付部２２３によって、デバイスＢのコントローラ側データ１６０ｂに含まれる変数のうち、「Err_Sensor_B1」が参照情報２６０ａに含まれる「Err_Arr[2]」に対応付けられ、「Thermo_B0」が参照情報２６０ｂに含まれる「Device_Arr[2]」に対応付けられている。また、第２受付部２２３によって、デバイスＣのコントローラ側データ１６０ｃに含まれる変数のうち、「Err_Sensor_C0」が参照情報２６０ａに含まれる「Err_Arr[1]」に対応付けられ、「Pressure_C0」が参照情報２６０ｂに含まれる「Device_Arr[1]」に対応付けられている。
【００５４】
上述したように、サポート装置２００においては、規定部２２１によって、１または複数のオブジェクト５０１が規定され、第１受付部２２２によって、オブジェクト５０１と参照情報２６０との対応関係を設定するための入力が受け付けられ、第２受付部２２３によって、コントローラ側データ１６０と参照情報２６０との対応関係を設定するための入力が受け付けられる。このようにして、ユーザは、サポート装置２００を用いて、参照情報２６０を介して、オブジェクト５０１にコントローラ側データ１６０を対応付けることができる。
【００５５】
たとえば、図２に示す例では、エラーオブジェクト５０１ａが参照情報２６０（「Err_Arr[0]」）を介してデバイスＡの「Err_Sensor_A0」に対応付けられ、圧力オブジェクト５０１ｄが参照情報２６０（「Device_Arr[0]」）を介してデバイスＡの「Pressure_A0」に対応付けられている。これにより、デバイスＡの「Pressure_A0」の値を圧力オブジェクト５０１ｄによって表すとともに、「Pressure_A0」の値が異常である場合に「Err_Sensor_A0」の値に基づきエラーオブジェクト５０１ａによって異常を報知することができる。
【００５６】
また、エラーオブジェクト５０１ｂが参照情報２６０（「Err_Arr[1]」）を介してデバイスＣの「Err_Sensor_C0」に対応付けられ、圧力オブジェクト５０１ｅが参照情報２６０（「Device_Arr[1]」）を介してデバイスＣの「Pressure_C0」に対応付けられている。これにより、デバイスＣの「Pressure_C0」の値を圧力オブジェクト５０１ｅによって表すとともに、「Pressure_C0」の値が異常である場合に「Err_Sensor_C0」の値に基づきエラーオブジェクト５０１ｂによって異常を報知することができる。
【００５７】
また、エラーオブジェクト５０１ｃが参照情報２６０（「Err_Arr[2]」）を介してデバイスＢの「Err_Sensor_B1」に対応付けられ、温度オブジェクト５０１ｆが参照情報２６０（「Device_Arr[2]」）を介してデバイスＢの「Thermo_B0」に対応付けられている。これにより、デバイスＢの「Thermo_B0」の値を温度オブジェクト５０１ｆによって表すとともに、「Thermo_B0」の値が異常である場合に「Err_Sensor_B1」の値に基づきエラーオブジェクト５０１ｃによって異常を報知することができる。
【００５８】
このように、参照情報２６０は、オブジェクト５０１とコントローラ側データ１６０との間に位置する中間データである。このため、第１受付部２２２によるオブジェクト５０１と参照情報２６０との対応関係の設定は、第２受付部２２３によるコントローラ側データ１６０と参照情報２６０との対応関係の設定に依存することなく独立している。つまり、オブジェクト５０１の対応付けは、コントローラ側データ１６０に依存することなく独立している。よって、ユーザは、コントローラ側データ１６０の開発が完了することを待つことなく、オブジェクト５０１の参照先を設定することができるため、ＨＭＩ４の開発に極力制限を掛けることなくＨＭＩ４の開発の自由度を確保することができる。
【００５９】
＜Ｂ．比較例＞
図３を参照して、比較例について説明する。図３は、比較例を説明するための模式図である。
【００６０】
図３に示すように、比較例に係るサポート装置２００ａにおいては、ユーザは、ディスプレイ２１４にオブジェクト５０１を規定し、規定したオブジェクト５０１とコントローラ側データ１６０との対応関係を設定することができる。但し、図２に示した本実施の形態の適用例とは異なり、サポート装置２００ａにおいては、ユーザは、参照情報２６０を用いることなく、オブジェクト５０１から直接的にコントローラ側データ１６０を指定することで参照先を対応付ける。
【００６１】
たとえば、図３に示す例では、エラーオブジェクト５０１ａがデバイスＡの「Err_Sensor_A0」に直接的に対応付けられ、エラーオブジェクト５０１ｂがデバイスＣの「Err_Sensor_C0」に直接的に対応付けられ、エラーオブジェクト５０１ｃがデバイスＢの「Err_Sensor_B1」に直接的に対応付けられ、圧力オブジェクト５０１ｄがデバイスＡの「Pressure_A0」に直接的に対応付けられ、圧力オブジェクト５０１ｅがデバイスＣの「Pressure_C0」に直接的に対応付けられ、温度オブジェクト５０１ｆがデバイスＢの「Thermo_B0」に直接的に対応付けられている。
【００６２】
このように、比較例の場合、オブジェクト５０１の対応付けは、コントローラ側データ１６０に直接的に依存している。よって、ユーザは、コントローラ側データ１６０の開発が未完了の場合、コントローラ側データ１６０の開発が完了するまで、オブジェクト５０１の対応付けを待機するしかなく、ＨＭＩの開発に制限が掛かることになる。これに対して、図２の適用例で示したように、本実施の形態に係るサポート装置２００においては、オブジェクト５０１の対応付けが、コントローラ側データ１６０に依存することなく独立しているため、ユーザは、コントローラ側データ１６０の開発が完了することを待つことなく、オブジェクト５０１の参照先を設定することができる。したがって、ＨＭＩ４の開発に極力制限を掛けることなくＨＭＩ４の開発の自由度を確保することができる。
【００６３】
また、図３の比較例においては、ユーザは、オブジェクト５０１とコントローラ側データ１６０との対応関係を変更したい場合に、オブジェクト５０１の１つ１つに対して参照先であるコントローラ側データ１６０を指定しなければならず、手間が掛かる。これに対して、図２の適用例で示したように、本実施の形態に係るサポート装置２００においては、オブジェクト５０１の対応付けが、コントローラ側データ１６０に依存することなく独立しているため、オブジェクト５０１とコントローラ側データ１６０との対応関係を変更したい場合に、ユーザは、オブジェクト５０１と参照情報２６０との対応関係を変更してもよいし、あるいはコントローラ側データ１６０と参照情報２６０との対応関係を変更よい。このため、ユーザは、やり易い方法によって、効率よくオブジェクト５０１とコントローラ側データ１６０との対応関係の変更することができる。したがって、ＨＭＩ４の開発の自由度を高めることができる。
【００６４】
＜Ｃ．ＨＭＩ開発およびＰＬＣ開発の進行＞
図４を参照して、ＨＭＩ開発およびＰＬＣ開発の進行のパターンについて説明する。図４は、ＨＭＩ開発およびＰＬＣ開発の進行を説明するための模式図である。本実施の形態において、ＨＭＩ開発は、規定部２２１によるオブジェクト５０１の規定（以下、「オブジェクト規定」ともいう。）、第１受付部２２２によるオブジェクト５０１と参照情報２６０との対応関係の設定（以下、「第１受付」ともいう。）、および第２受付部２２３によるコントローラ側データ１６０と参照情報２６０との対応関係の設定（以下、「第２受付」ともいう。）などを含む。ＰＬＣ開発は、各デバイス３００におけるコントローラ側データ１６０の設定などを含む。
【００６５】
図４（Ａ）には、ＨＭＩ開発時に既にＰＬＣ開発が完了しているパターンについて、ＰＬＣ開発およびＨＭＩ開発におけるタイミングチャートが示されている。図４（Ａ）に示すパターンでは、ＰＬＣ開発が先行しており、ＰＬＣ開発が完了した後に、ＨＭＩ開発として、オブジェクト規定、第１受付、および第２受付が行われる。
【００６６】
このように、ＨＭＩ開発時に既にＰＬＣ開発が完了している場合、ＨＭＩ開発の全工程を続けて行うことができる。
【００６７】
図４（Ｂ），（Ｃ）には、ＨＭＩ開発時に未だＰＬＣ開発が完了していないパターンについて、ＰＬＣ開発およびＨＭＩ開発におけるタイミングチャートが示されている。まず、図４（Ｂ）に示すパターンでは、ＰＬＣ開発とＨＭＩ開発とが同時進行しており、ＰＬＣ開発と同時に、ＨＭＩ開発として、オブジェクト規定および第１受付が行われる。そして、ＰＬＣ開発が完了した後に、ＨＭＩ開発として、残りの第２受付が行われる。
【００６８】
また、図４（Ｃ）に示すパターンでは、ＨＭＩ開発のうちのオブジェクト規定および第１受付が先行して行われ、その後にＰＬＣ開発が行われる。そして、ＰＬＣ開発が完了した後に、ＨＭＩ開発として、残りの第２受付が行われる。
【００６９】
このように、ＨＭＩ開発時に未だＰＬＣ開発が完了していない場合、第２受付についてはＰＬＣ開発の完了を待たなければならないが、オブジェクト規定および第１受付についてはＰＬＣ開発が未完了の場合でもＰＬＣ開発とは独立して行うことができる。
【００７０】
＜Ｄ．ＨＭＩ開発時に既にＰＬＣ開発が完了しているパターン＞
図５〜図７を参照して、ＨＭＩ開発時に既にＰＬＣ開発が完了しているパターンについて、ＨＭＩ開発の例を説明する。図５〜図７は、本実施の形態においてＨＭＩ開発時に既にＰＬＣ開発が完了しているパターンにおけるＨＭＩ開発の例を説明するための模式図である。
【００７１】
まず、図５に示すように、サポート装置２００においては、規定部２２１によってオブジェクト５０１の規定が行われる。次に、図６に示すように、第１受付部２２２によってオブジェクト５０１と参照情報２６０との対応関係を設定するための入力が受け付けられる。次に、図７に示すように、第２受付部２２３によってコントローラ側データ１６０と参照情報２６０との対応関係を設定するための入力が受け付けられる。
【００７２】
このように、ＨＭＩ開発時に既にＰＬＣ開発が完了している場合、ＨＭＩ開発の全工程を続けて行うことができる。
【００７３】
＜Ｅ．ＨＭＩ開発時に未だＰＬＣ開発が完了していないパターン＞
図８〜図１０を参照して、ＨＭＩ開発時に未だＰＬＣ開発が完了していないパターンについて、ＨＭＩ開発の例を説明する。図８〜図１０は、本実施の形態においてＨＭＩ開発時に未だＰＬＣ開発が完了していないパターンにおけるＨＭＩ開発の例を説明するための模式図である。
【００７４】
まず、図８に示すように、サポート装置２００においては、規定部２２１によってオブジェクト５０１の規定が行われる。次に、図９に示すように、第１受付部２２２によってオブジェクト５０１と参照情報２６０との対応関係を設定するための入力が受け付けられる。なお、本実施の形態に係るサポート装置２００では、参照情報２６０を用いることによって、オブジェクト５０１の対応付けがコントローラ側データ１６０に依存することなく独立しているため、ユーザは、ＰＬＣ開発が未完了の場合でもＰＬＣ開発に先行してオブジェクト５０１の対応付けを行うことができる。次に、図１０に示すように、ＰＬＣ開発が完了して、各デバイス３００におけるコントローラ側データ１６０が定まった後に、第２受付部２２３によってコントローラ側データ１６０と参照情報２６０との対応関係を設定するための入力が受け付けられる。
【００７５】
このように、ＨＭＩ開発時に未だＰＬＣ開発が完了していない場合、第２受付についてはＰＬＣ開発の完了を待たなければならないが、オブジェクト規定および第１受付についてはＰＬＣ開発が未完了の場合でもＰＬＣ開発とは独立して行うことができる。
【００７６】
＜Ｆ．ＰＬＣ１００のハードウェア構成例＞
図１１は、本実施の形態に係るＰＬＣ１００のハードウェア構成の例を説明するための模式図である。図１１に示すように、ＰＬＣ１００は、ＣＰＵ（Central Processing Unit）やＭＰＵ（Micro-Processing Unit）などのプロセッサ１０２と、チップセット１０４と、メインメモリ１０６と、フラッシュメモリ１０８と、外部ネットワークコントローラ１１６と、メモリカードインターフェース１１８と、内部バスコントローラ１２２と、フィールドバスコントローラ１２４とを備える。
【００７７】
メインメモリ１０６には、各デバイス３００から収集された各デバイス３００の状態を表すデータが、コントローラ側データ１６０として格納されている。フラッシュメモリ１０８には、システムプログラム１１０および制御プログラム１７０が格納されている。システムプログラム１１０は、データの入出力処理や実行タイミング制御など、ＰＬＣ１００の基本的な機能を提供するための命令コードを含む。制御プログラム１７０は、デバイス３００を制御するための命令コードを含む。
【００７８】
プロセッサ１０２は、フラッシュメモリ１０８に格納されたシステムプログラム１１０および制御プログラム１７０を読み出して、メインメモリ１０６に展開して実行することで、デバイス３００またはフィールド機器などの制御対象に対する制御処理を実現する。
【００７９】
チップセット１０４は、各コンポーネントを制御することで、ＰＬＣ１００全体としての処理を実現する。
【００８０】
内部バスコントローラ１２２は、ＰＬＣ１００と内部バスを通じて連結されるＩ／Ｏユニット１４との間でデータを遣り取りするインターフェースである。フィールドバスコントローラ１２４は、ＰＬＣ１００と図示しないフィールドバスを通じて連結されるＩ／Ｏユニット１６との間でデータを遣り取りするインターフェースである。内部バスコントローラ１２２およびフィールドバスコントローラ１２４は、対応するＩ／Ｏユニット１４およびＩ／Ｏユニット１６にそれぞれ入力される状態値を取得するとともに、プロセッサ１０２での演算結果を対応するＩ／Ｏユニット１４および１６のそれぞれから指令値として出力する。
【００８１】
外部ネットワークコントローラ１１６は、各種の有線／無線ネットワークを通じたデータの遣り取りを制御する。メモリカードインターフェース１１８は、メモリカード１２０を着脱可能に構成されており、メモリカード１２０に対してデータを書き込み、メモリカード１２０からデータを読み出すことを可能にする。ＰＬＣ１００は、外部ネットワークコントローラ１１６またはメモリカードインターフェース１１８を介してサポート装置２００とデータを遣り取りする。また、ＰＬＣ１００は、外部ネットワークコントローラ１１６を介してＨＭＩ４とデータを遣り取りする。
【００８２】
なお、ＰＬＣ１００がプログラムを実行することで提供される機能の一部または全部を専用のハードウェア回路として実装してもよい。
【００８３】
＜Ｇ．サポート装置２００のハードウェア構成例＞
図１２は、本実施の形態に係るサポート装置２００のハードウェア構成の例を説明するための模式図である。サポート装置２００は、据え置き型でもよいし、ＰＬＣ１００が配置される製造現場では可搬性に優れたノート型のパーソナルコンピュータの形態で提供されてもよい。
【００８４】
図１２に示すように、サポート装置２００は、ＯＳ（Operating System）を含む各種プログラムを実行するＣＰＵ２０２と、ＢＩＯＳや各種データを格納するＲＯＭ（Read Only Memory）２０４と、ＣＰＵ２０２でのプログラムの実行に必要なデータを格納するための作業領域を提供するＲＡＭ（Random Access Memory）２０６と、ＣＰＵ２０２で実行されるサポートプログラム２７０などを含む各種プログラムを不揮発的に格納するＨＤＤ（ハードディスク）２０８とを備える。
【００８５】
サポート装置２００は、さらに、ユーザの操作を受付けるキーボード２１０およびマウス２１２を含む入力部２１１と、情報をユーザに提示するためのディスプレイ２１４とを含む。サポート装置２００は、ＰＬＣ１００およびＨＭＩ４を含む外部装置と通信するための通信インターフェース２１８を備える。入力部２１１は、ディスプレイ２１４と一体的に構成されるタッチパネルとして提供されてもよい。サポート装置２００の各部は内部バス２２０により相互に通信する。
【００８６】
ＲＡＭ２０６には、参照情報２６０が格納されている。参照情報２６０は、キーボード２１０やマウス２１２、タッチパネルなどからのユーザ操作による入力に基づき生成される。
【００８７】
サポート装置２００は、記録媒体２５０が脱着自在に装着されて、装着された記録媒体２５０からそこに格納されているサポートプログラム２７０を読み取るための記録媒体読取装置２１７を含む。読み取られたサポートプログラム２７０は、ＨＤＤ２０８に格納される。
【００８８】
サポートプログラム２７０は、実行されることにより、サポート装置２００におけるＨＭＩプログラム４７０の開発環境を実現して、ＨＭＩプログラム４７０の開発を支援する機能を提供する。サポートプログラム２７０は、プログラムの開発環境を実現するプログラムを含み得る。記録媒体２５０は、サポート装置２００で実行されるサポートプログラム２７０などが格納された状態で流通し得る。なお、記録媒体２５０は、ＣＦ（Compact Flash）、ＳＤ（Secure Digital）などの汎用的な半導体記憶デバイスや、フレキシブルディスク（Flexible Disk）などの磁気記憶媒体や、ＣＤ−ＲＯＭ（Compact Disk Read Only Memory）などの光学記憶媒体などからなる。
【００８９】
＜Ｈ．ＨＭＩ４のハードウェア構成例＞
図１３は、本実施の形態に係るＨＭＩ４のハードウェア構成の例を説明するための模式図である。ＨＭＩ４は、据え置き型でもよいし、ＰＬＣ１００が配置される製造現場では可搬性に優れたノート型のパーソナルコンピュータの形態で提供されてもよい。
【００９０】
図１３に示すように、ＨＭＩ４は、ＣＰＵ４１１と、ＲＯＭ４１２と、ＲＡＭ４１３と、各種のプログラムおよびデータを不揮発的に格納するためのフラッシュＲＯＭ４１４と、ユーザの操作を受付けるための操作キー４１６と、データリーダ/ライタ４１７と、タッチスクリーン４１８と、通信インターフェース４１９とを備える。これらの各部は、内部バスを介して互いに接続される。
【００９１】
フラッシュＲＯＭ４１４は、たとえば、ＨＭＩプログラム４７０と、ＨＭＩプログラム４７０を構成する１または複数のオブジェクト５０１を含むライブラリ４５０とを格納する。ＨＭＩプログラム４７０およびオブジェクト５０１は、ＨＭＩ４で実行可能なコードからなる。ＨＭＩプログラム４７０が実行されて画面が表示されるとき、オブジェクト５０１によって、絵や文字列などが表示されるとともに、プログラムコードが実行されることによる機能が提供される。提供される機能は、制御プログラム１７０が用いる変数の値に基づく画像表示、当該変数に値を設定するユーザ操作受付などを含み得る。
【００９２】
タッチスクリーン４１８は、表示部として機能するディスプレイ４８１と、ユーザの入力を受付けるためのタッチパネル４８２とを含む。通信インターフェース４１９は、ＰＬＣ１００およびサポート装置２００を含む外部装置と通信する。
【００９３】
データリーダ／ライタ４１７は、ＣＰＵ４１１と外部記憶媒体の一例であるメモリカード４２０との間のデータ伝送を仲介する。また、ＨＭＩ４には、必要に応じてプリンタなどの他の出力装置が接続されてもよい。
【００９４】
＜Ｉ．サポート装置の処理フロー＞
次に、サポート装置によって実行される処理のフローについて説明する。
【００９５】
（ａ．比較例に係るサポート装置２００ａの処理フロー）
まず、比較例に係るサポート装置２００ａによって実行される処理のフローについて説明する。図１４は、比較例に係るサポート装置２００ａの処理を示すフローチャートである。
【００９６】
図１４に示すように、サポート装置２００ａは、１つのオブジェクト５０１を規定する（Ｓ２ａ）。次に、サポート装置２００ａは、１つのオブジェクトにコントローラ側データを対応付ける（Ｓ４ａ）。
【００９７】
次に、サポート装置２００ａは、ウィザードでオブジェクト５０１を複製する（Ｓ６ａ）。この処理では、サポート装置２００ａは、Ｓ４ａの処理においてコントローラ側データ１６０が対応付けられた１つのオブジェクトを複製元として、新たなオブジェクト５０１を生成する。そして、サポート装置２００ａは、複製された新たなオブジェクト５０１にコントローラ側データ１６０を対応付ける（Ｓ８ａ）。
【００９８】
サポート装置２００ａは、全てのオブジェクト５０１にコントローラ側データ１６０を対応付けたか否かを判定する（Ｓ１０ａ）。サポート装置２００ａは、全てのオブジェクト５０１にコントローラ側データ１６０を対応付けていない場合（Ｓ１０ａでＮＯ）、Ｓ８ａに戻る。
【００９９】
一方、サポート装置２００ａは、全てのオブジェクト５０１にコントローラ側データ１６０を対応付けた場合（Ｓ１０ａでＹＥＳ）、ビルドを実行することでＨＭＩプログラム４７０を生成し、生成したＨＭＩプログラム４７０をＨＭＩ４に転送する（Ｓ１２ａ）。その後、サポート装置２００ａは、本処理を終了する。
【０１００】
ここで、図３の比較例で示したように、Ｓ４ａの処理においては、サポート装置２００ａは、オブジェクト５０１から直接的にコントローラ側データ１６０を指定して対応付ける。このため、コントローラ側データ１６０の開発が未完了の場合、コントローラ側データ１６０の開発が完了するまで、オブジェクト５０１の対応付けを待機するしかない。
【０１０１】
また、比較例に係るサポート装置２００ａにおいては、各オブジェクト５０１に対して、コントローラ側データ１６０を順次対応付けるため、全てのオブジェクト５０１にコントローラ側データ１６０を対応付けるまで、Ｓ８ａおよびＳ１０ａの処理を繰り返すようになっている。
【０１０２】
（ｂ．本実施の形態に係るサポート装置２００の処理フロー）
次に、本実施の形態に係るサポート装置２００によって実行される処理のフローについて説明する。まず、図１５を参照して、ＨＭＩ開発時に既にＰＬＣ開発が完了しているパターン（図４（Ａ）に示すパターン）について説明する。図１５は、ＨＭＩ開発時に既にＰＬＣ開発が完了しているパターンにおける本実施の形態に係るサポート装置２００の処理を示すフローチャートである。
【０１０３】
図１５に示すように、サポート装置２００は、１つのオブジェクト５０１を規定する（Ｓ２）。次に、サポート装置２００は、１つのオブジェクトに参照情報２６０を対応付ける（Ｓ４）。
【０１０４】
次に、サポート装置２００は、ウィザードでオブジェクト５０１を複製する（Ｓ６）。この処理では、サポート装置２００は、Ｓ４の処理において参照情報２６０が対応付けられた１つのオブジェクトを複製元として、新たなオブジェクト５０１を生成する。そして、サポート装置２００は、複製された新たなオブジェクト５０１に参照情報２６０を対応付ける（Ｓ８）。
【０１０５】
サポート装置２００は、全てのオブジェクト５０１に参照情報２６０を対応付けたか否かを判定する（Ｓ１０）。サポート装置２００は、全てのオブジェクト５０１に参照情報２６０を対応付けていない場合（Ｓ１０でＮＯ）、Ｓ８に戻る。
【０１０６】
一方、サポート装置２００は、全てのオブジェクト５０１に参照情報２６０を対応付けた場合（Ｓ１０でＹＥＳ）、コントローラ側データ１６０に参照情報２６０を対応付ける（Ｓ１２）。
【０１０７】
次に、サポート装置２００は、ビルドを実行することでＨＭＩプログラム４７０を生成し、生成したＨＭＩプログラム４７０をＨＭＩ４に転送する（Ｓ１４）。その後、サポート装置２００は、本処理を終了する。
【０１０８】
ここで、上述した処理のうち、Ｓ４〜Ｓ１０は、第１受付部２２２による第１受付の処理に対応し、Ｓ１２は、第２受付部２２３による第２受付の処理に対応する。図１５に示す例は、ＨＭＩ開発時に既にＰＬＣ開発が完了しているパターンであるため、サポート装置２００は、ＨＭＩ開発の全工程を続けて行うことができる。
【０１０９】
次に、図１６を参照して、ＨＭＩ開発時に未だＰＬＣ開発が完了していないパターン（図４（Ｂ），（Ｃ）に示すパターン）について説明する。図１６は、ＨＭＩ開発時に未だＰＬＣ開発が完了していないパターンにおける本実施の形態に係るサポート装置２００の処理を示すフローチャートである。
【０１１０】
図１６に示すように、サポート装置２００は、１つのオブジェクト５０１を規定する（Ｓ２２）。次に、サポート装置２００は、１つのオブジェクトに参照情報２６０を対応付ける（Ｓ２４）。
【０１１１】
次に、サポート装置２００は、ウィザードでオブジェクト５０１を複製する（Ｓ２６）。この処理では、サポート装置２００は、Ｓ２４の処理において参照情報２６０が対応付けられた１つのオブジェクトを複製元として、新たなオブジェクト５０１を生成する。そして、サポート装置２００は、複製された新たなオブジェクト５０１に参照情報２６０を対応付ける（Ｓ２８）。
【０１１２】
サポート装置２００は、全てのオブジェクト５０１に参照情報２６０を対応付けたか否かを判定する（Ｓ３０）。サポート装置２００は、全てのオブジェクト５０１に参照情報２６０を対応付けていない場合（Ｓ３０でＮＯ）、Ｓ２８に戻る。
【０１１３】
一方、サポート装置２００は、全てのオブジェクト５０１に参照情報２６０を対応付けた場合（Ｓ３０でＹＥＳ）、ＰＬＣ開発が完了したか否かを判定する（Ｓ３２）。サポート装置２００は、ＰＬＣ開発が完了していない場合（Ｓ３２でＮＯ）、Ｓ３２の処理を繰り返す。一方、サポート装置２００は、ＰＬＣ開発が完了した場合（Ｓ３２でＹＥＳ）、コントローラ側データ１６０に参照情報２６０を対応付ける（Ｓ３４）。
【０１１４】
次に、サポート装置２００は、ビルドを実行することでＨＭＩプログラム４７０を生成し、生成したＨＭＩプログラム４７０をＨＭＩ４に転送する（Ｓ３６）。その後、サポート装置２００は、本処理を終了する。
【０１１５】
ここで、上述した処理のうち、Ｓ２４〜Ｓ３０は、第１受付部２２２による第１受付の処理に対応し、Ｓ３４は、第２受付部２２３による第２受付の処理に対応する。図１６に示す例は、ＨＭＩ開発時に未だＰＬＣ開発が完了していないパターンであるため、サポート装置２００は、第２受付についてはＰＬＣ開発の完了を待たなければならないが、オブジェクト規定および第１受付についてはＰＬＣ開発が未完了の場合でもＰＬＣ開発とは独立して行うことができる。
【０１１６】
＜Ｊ．コントローラ側データ１６０に参照情報２６０を対応付けるためのＵＩの例＞
次に、図１５に示すＳ１２における第２受付の処理、および図１６に示すＳ３４における第２受付の処理について、ユーザに提供されるユーザインターフェースの一例を説明する。図１７は、コントローラ側データ１６０に参照情報２６０を対応付けるユーザインターフェースの例を示す図である。
【０１１７】
図１７に示すように、サポート装置２００のディスプレイ２１４に表示された変数マッピングの設定画面には、ポートを示すポート欄２１４ｍと、データ型を示すデータ型欄２１４ｎと、変数を示す変数欄２１４ｏとが含まれる。
【０１１８】
ポート欄２１４ｍには、サポート装置２００に接続されているデバイス３００の状態を表すデータの変数名が表される。たとえば、図１７に示す例では、デバイスＡの変数として、「Err_Sensor_A0」、「Err_Sensor_A1」、「Err_Sensor_A2」、「Pressure_A0」、「Thermo_A0」、および「Thermo_A1」がディスプレイ２１４に表示されている。
【０１１９】
データ型欄２１４ｎには、デバイス３００における各変数のデータ型が表される。たとえば、図１７に示す例では、「Err_Sensor_A0」、「Err_Sensor_A1」、および「Err_Sensor_A2」に対してブール型を示す「BOOL」がディスプレイ２１４に表示され、「Pressure_A0」、「Thermo_A0」、および「Thermo_A1」に対して１０進数型を示す「Decimal」がディスプレイ２１４に表示されている。
【０１２０】
変数欄２１４ｏには、コントローラ側データ１６０の各変数に対応する参照情報２６０の変数が表される。
【０１２１】
図１７（Ａ）に示すユーザインターフェースにおいては、ユーザは、表示された１または複数のコントローラ側データ１６０に含まれる変数のうち、少なくとも１以上の変数を指定し、指定したコントローラ側データ１６０の変数に対して、参照情報２６０を対応付けることができる。より好ましくは、ユーザは、指定したコントローラ側データ１６０の変数に対して、同じ種類の参照情報２６０を対応付けることができる。
【０１２２】
たとえば、図１７（Ａ）に示す例では、ユーザによって「Err_Sensor_A0」、「Err_Sensor_A2」、および「Thermo_A0」が指定され、これらの変数に対して、それぞれ「Arr[0]」、「Arr[1]」、および「Arr[2]」といったように、インデックス（添え字）以外の部分の変数名が同じである参照情報２６０が対応付けられてディスプレイ２１４に表示される。
【０１２３】
このように、ユーザは、指定した条件に基づいて、コントローラ側データ１６０と参照情報２６０とを対応付けることができるため、利便性が向上する。
【０１２４】
また、サポート装置２００は、図１７（Ｂ）に示すようなユーザインターフェースを提供してもよい。図１７（Ｂ）に示すユーザインターフェースにおいては、表示された複数のコントローラ側データ１６０に含まれる変数のうち、変数名の少なくとも一部が同じであるコントローラ側データ１６０に対して同じ種類の参照情報２６０を対応付けることができる。
【０１２５】
たとえば、図１７（Ｂ）に示す例では、「Err_Sensor_A0」、「Err_Sensor_A1」、および「Err_Sensor_A2」といったように、prefix（プレフィックス）が同一であるコントローラ側データ１６０に対して、それぞれ「Err_Arr[0]」、「Err_Arr[1]」、および「Err_Arr[2]」といったように、インデックス（添え字）以外の部分の変数名が同じである参照情報２６０が対応付けられてディスプレイ２１４に表示される。
【０１２６】
このように、ユーザは、変数名の少なくとも一部が同じであるコントローラ側データ１６０に対して同じ種類の参照情報２６０を対応付けることができるため、利便性が向上する。
【０１２７】
＜Ｋ．本実施の形態に係るサポート装置２００の処理フロー（変形例）＞
図１５および図１６に示した処理フローでは、オブジェクト５０１の複製処理と、複製されたオブジェクトに参照情報を対応付ける処理とが別の処理であったが、これらの処理は同じ処理で行われてもよい。
【０１２８】
図１８は、ＨＭＩ開発時に未だＰＬＣ開発が完了していないパターンにおける変形例に係るサポート装置２００の処理を示すフローチャートである。図１８に示す処理フローでは、図１６のＳ２６〜Ｓ３０における処理の代わりに、Ｓ２６０の処理を行っている。
【０１２９】
具体的には、サポート装置２００は、１つのオブジェクトに参照情報２６０を対応付けるＳ２４の処理後、ウィザードでオブジェクト５０１を複製するとともに、複製された新たなオブジェクト５０１に参照情報２６０を対応付けるＳ２６０の処理を実行する。その後、サポート装置２００は、Ｓ３２の処理に移行する。
【０１３０】
＜Ｌ．オブジェクト５０１の複製および参照情報２６０への対応付けをするＵＩの例＞
上述した図１８に示すＳ２６０の処理について、ユーザに提供されるユーザインターフェースの一例を説明する。図１９は、オブジェクト５０１の複製および参照情報２６０への対応付けをするユーザインターフェースの例を示す図である。
【０１３１】
図１９（Ａ）に示すように、ユーザが、サポート装置２００のディスプレイ２１４に表示されたオブジェクト５０１ｐを１つ指定し、オブジェクト５０１の複製の項目を選択すると、図１９（Ｂ）に示すように、オブジェクト５０１の複製の設定画面がディスプレイ２１４に表示される。
【０１３２】
サポート装置２００のディスプレイ２１４に表示されたオブジェクト５０１の複製の設定画面には、オブジェクト複製オプションとして、オブジェクト５０１の配置方法を設定するための配置設定欄２１４ａと、オブジェクト５０１の水平方向の数を設定するための水平方向欄２１４ｂと、水平方向のスペーシングを設定するための水平スペーシング欄２１４ｃと、オブジェクト５０１の垂直方向の数を設定するための垂直方向欄２１４ｄと、垂直方向のスペーシングを設定するための垂直スペーシング欄２１４ｅとが含まれる。
【０１３３】
また、サポート装置２００のディスプレイ２１４に表示されたオブジェクト５０１の複製の設定画面には、配列の要素番号設定として、参照情報２６０の変数を示す変数欄２１４ｆと、オブジェクトの種類を示すオブジェクト欄２１４ｇと、格納場所を示す場所欄２１４ｈと、水平方向におけるインデックスの増分を示す水平増分欄２１４ｉと、垂直方向におけるインデックスの増分を示す垂直増分欄２１４ｊとが含まれる。
【０１３４】
また、サポート装置２００のディスプレイ２１４に表示されたオブジェクト５０１の複製の設定画面には、オブジェクト５０１の複製の設定を確定するためのＯＫアイコン２１４ｋが含まれる。
【０１３５】
図１９（Ｂ）に示すユーザインターフェースにおいては、ユーザは、オブジェクト５０１を複製するとともに参照情報２６０への対応付けも同時に行うことができる。たとえば、図１９（Ｂ）に示す例では、配置設定欄２１４ａにおいて、オブジェクト５０１の配置について、行では左から右に、列では上から下に配置されるように設定されている。水平方向欄２１４ｂにおいて、オブジェクト５０１の水平方向の数が「３」に設定されている。水平スペーシング欄２１４ｃにおいて、複数のオブジェクト５０１が水平方向に１ピクセル間隔でスペースを設けるように設定されている。垂直方向欄２１４ｄにおいて、オブジェクト５０１の垂直方向の数が「２」に設定されている。垂直スペーシング欄２１４ｅにおいて、複数のオブジェクト５０１が垂直方向に１ピクセル間隔でスペースを設けるように設定されている。
【０１３６】
また、変数欄２１４ｆにおいて、対応付ける参照情報２６０の変数として「Err_Arr[0]」（[0]はインデックス（添え字）部分）に設定されている。オブジェクト欄２１４ｇにおいて、オブジェクト５０１の種類として「ErrSwich」に設定されている。水平増分欄２１４ｉにおいて、水平方向におけるインデックスのインクリメント（増分）が「１」に設定されている。垂直増分欄２１４ｊにおいて、垂直方向におけるインデックスのインクリメント（増分）が「１」に設定されている。
【０１３７】
このような設定状態でユーザがＯＫアイコン２１４ｋを操作すると、図１９（Ｃ）に示すように、オブジェクト５０１ｐの複製として、オブジェクト５０１ｑ〜５０１ｕの５つのオブジェクトが新たに規定される。さらに、複製と同時に、各オブジェクト５０１に対して、インデックスがインクリメントされた状態で参照情報２６０が対応付けられる。
【０１３８】
このように、ユーザは、オブジェクト５０１の複製時において、インデックスが更新された新たな変数を、複製した新たなオブジェクト５０１に参照情報２６０として対応付けることができるため、オブジェクト５０１の複製と参照情報２６０との対応付けとを同時に行うことができ、ＨＭＩ４の開発工数を削減することができる。
【０１３９】
＜Ｍ．参照情報２６０の対応関係の表示の例＞
上述したように、本実施の形態においては、オブジェクト５０１と参照情報２６０との対応関係の設定と、コントローラ側データ１６０と参照情報２６０との対応関係の設定とが独立しているため、ユーザは、コントローラ側データ１６０に依存することなく、オブジェクト５０１の対応付けを先行して行うことができる。ここで、図３に示す比較例の場合、オブジェクト５０１から直接的にコントローラ側データ１６０を指定して対応付けるため、ユーザは、オブジェクト５０１の参照先である変数名からコントローラ側データ１６０を特定することができた。しかし、本実施の形態においては、上述したように、オブジェクト５０１が、参照情報２６０を介して間接的にコントローラ側データ１６０に対応付けられているため、オブジェクト５０１の参照先としてコントローラ側データ１６０の変数を特定することは難しくなる。特に、図１７（Ａ）に示すように、ユーザによって選択されたコントローラ側データ１６０に対して同じ種類の参照情報２６０が対応付けられる場合、ユーザは、参照情報２６０の変数名からコントローラ側データ１６０を特定することが難しくなる。そこで、本実施の形態においては、ユーザが参照情報２６０の対応関係を一目で分かるように工夫がされている。
【０１４０】
図２０は、参照情報２６０の対応関係の表示例を示す図である。図２０（Ａ）に示すように、オブジェクト５０１に対して参照先を指定するときにおいては、ユーザが選択欄２１４ｐにおいてオブジェクト５０１に対応付ける参照情報２６０を選択する際に、参照情報２６０に対応付けられているコントローラ側データ１６０の情報が表示される。
【０１４１】
たとえば、図２０（Ａ）に示す例では、参照情報２６０の「Err_Arr[0]」に対してコントローラ側データ１６０の「Err_Sensor_A0」が対応付けられ、参照情報２６０の「Err_Arr[1]」に対してコントローラ側データ１６０の「Err_Sensor_A1」が対応付けられ、参照情報２６０の「Err_Arr[2]」に対してコントローラ側データ１６０の「Err_Sensor_A2」が対応付けられていることがディスプレイ２１４で示される。
【０１４２】
このように、ユーザがオブジェクト５０１と参照情報２６０との対応関係を設定するときに、当該参照情報２６０に対応付けられたコントローラ側データ１６０が一覧表示されるため、ユーザは、オブジェクト５０１と参照情報２６０との対応関係を設定するときに、当該参照情報２６０に対応付けられたコントローラ側データ１６０を容易に把握することができる。
【０１４３】
また、図２０（Ｂ）に示すように、オブジェクト５０１に参照先が指定された後においては、ユーザがオブジェクト５０１をポインタ２１４ｑでマウスオーバーした際に、マウスオーバーしたオブジェクト５０１の参照先である参照情報２６０およびコントローラ側データ１６０の情報が表示される。
【０１４４】
たとえば、図２０（Ｂ）に示す例では、マウスオーバーしたオブジェクト５０１に対して、参照情報２６０の「Err_Arr[0]」およびコントローラ側データ１６０の「Err_Sensor_A0」が対応付けられていることがディスプレイ２１４で示される。
【０１４５】
このように、ユーザがオブジェクト５０１を指定したときに、当該オブジェクト５０１に対応付けられた参照情報２６０およびコントローラ側データ１６０が表示されるため、ユーザは、オブジェクト５０１に対応付けられた参照情報２６０およびコントローラ側データ１６０を容易に把握することができる。
【０１４６】
＜Ｎ．作用効果＞
以上のように、本実施の形態に係るサポート装置２００において、ユーザは、コントローラ側データ１６０の設定とは独立して、オブジェクト５０１とコントローラ側データ１６０を参照するための参照情報２６０との対応関係を設定することができ、またその一方で、コントローラ側データ１６０と参照情報２６０との対応関係を設定することができる。このように、ユーザは、コントローラ側データ１６０の設定が完了することを待つことなく、オブジェクト５０１の参照先を設定することができるため、ＨＭＩ４の開発に極力制限を掛けることなくＨＭＩ４の開発の自由度を確保することができる。
【０１４７】
参照情報２６０は、コントローラ側データ１６０に対応付けられた変数を含むため、ユーザは、参照情報２６０として、変数によってコントローラ側データ１６０を対応付けることができる。
【０１４８】
図１９に示すように、ユーザは、オブジェクト５０１の複製時において、インデックスが更新された新たな変数を、複製した新たなオブジェクト５０１に参照情報として対応付けることができるため、オブジェクト５０１の複製と参照情報２６０との対応付けとを同時に行うことができ、ＨＭＩ４の開発工数を削減することができる。
【０１４９】
図１７（Ａ）に示すように、ユーザは、指定した条件に基づいて、コントローラ側データと参照情報とを対応付けることができるため、利便性が向上する。
【０１５０】
図１７（Ｂ）に示すように、ユーザは、変数名の少なくとも一部が同じであるコントローラ側データ１６０に対して同じ種類の参照情報２６０を対応付けることができるため、利便性が向上する。
【０１５１】
図２０（Ａ）に示すように、ユーザがオブジェクト５０１と参照情報２６０との対応関係を設定するときに、当該参照情報２６０に対応付けられたコントローラ側データ１６０が一覧表示されるため、ユーザは、オブジェクト５０１と参照情報２６０との対応関係を設定するときに、当該参照情報２６０に対応付けられたコントローラ側データを容易に把握することができる。
【０１５２】
図２０（Ｂ）に示すように、ユーザがオブジェクト５０１を指定したときに、当該オブジェクト５０１に対応付けられた参照情報２６０およびコントローラ側データ１６０が表示されるため、ユーザは、オブジェクト５０１に対応付けられた参照情報２６０およびコントローラ側データ１６０を容易に把握することができる。
【０１５３】
＜Ｏ．付記＞
以上のように、本実施の形態では以下のような開示を含む。
【０１５４】
（構成１）
制御対象（３００）を制御するコントローラ（１００）に接続されたＨＭＩ（ヒューマンマシンインターフェース）（４）で実行されるプログラム（４７０）の開発を支援するサポート装置（２００）であって、
前記コントローラ（１００）で保持されるコントローラ側データ（１６０）に関連するオブジェクト（５０１）を規定する規定部（２２１）を備え、
前記オブジェクト（５０１）は、前記コントローラ側データ（１６０）の設定とは独立して当該コントローラ側データ（１６０）を参照するための参照情報（２６０）に対応付けることが可能であり、
前記オブジェクト（５０１）と前記参照情報（２６０）との対応関係を設定するための入力を受け付ける第１受付部（２２２）と、
前記コントローラ側データ（１６０）と前記参照情報（２６０）との対応関係を設定するための入力を受け付ける第２受付部（２２３）とを備える、サポート装置（２００）。
【０１５５】
（構成２）
前記参照情報（２６０）は、前記コントローラ側データ（１６０）に対応付けられた変数を含む、構成１に記載のサポート装置（２００）。
【０１５６】
（構成３）
前記参照情報（２６０）に含まれる変数は、構造体型または配列型であってインデックスを含み、
前記オブジェクト（５０１）の複製時において、当該オブジェクト（５０１）の複製に基づく規則に従って当該オブジェクト（５０１）に対応付けられた変数に含まれる前記インデックスが更新された新たな変数を、複製された新たなオブジェクト（５０１）に前記参照情報（２６０）として対応付けるユーザインターフェースを提供する、構成２に記載のサポート装置（２００）。
【０１５７】
（構成４）
指定された条件に基づいて、前記コントローラ側データ（１６０）に含まれるデータのうちの１または複数の特定データに対して前記参照情報（２６０）を対応付けるユーザインターフェースを提供する、構成１〜構成３のいずれかのサポート装置（２００）。
【０１５８】
（構成５）
前記コントローラ側データ（１６０）に含まれるデータのうち、変数名の少なくとも一部が同じである特定データに対して同じ種類の前記参照情報（２６０）を対応付けるユーザインターフェースを提供する、構成２〜構成４のいずれかのサポート装置（２００）。
【０１５９】
（構成６）
前記オブジェクト（５０１）と前記参照情報（２６０）との対応関係を設定するときに、当該参照情報（２６０）に対応付けられた前記コントローラ側データ（１６０）を一覧表示する、構成１〜構成４のいずれかのサポート装置（２００）。
【０１６０】
（構成７）
前記オブジェクト（５０１）を指定したときに、当該オブジェクト（５０１）に対応付けられた前記参照情報（２６０）および前記コントローラ側データ（１６０）を表示する、構成１〜構成４のいずれかのサポート装置（２００）。
【０１６１】
（構成８）
制御対象（３００）を制御するコントローラ（１００）に接続されたＨＭＩ（ヒューマンマシンインターフェース）（４）で実行されるプログラム（４７０）の開発を支援するサポートプログラム（２７０）であって、
前記サポートプログラム（２７０）は、コンピュータ（２０２）に、
前記コントローラ（１００）で保持されるコントローラ側データ（１６０）に関連するオブジェクト（５０１）を規定するステップ（Ｓ２）を実行させ、
前記オブジェクト（５０１）は、前記コントローラ側データ（１６０）の設定とは独立して当該コントローラ側データ（１６０）を参照するための参照情報（２６０）に対応付けることが可能であり、
前記オブジェクト（５０１）と前記参照情報（２６０）との対応関係を設定するための入力を受け付けるステップ（Ｓ４〜Ｓ１０）と、
前記コントローラ側データ（１６０）と前記参照情報（２６０）との対応関係を設定するための入力を受け付けるステップ（Ｓ１２）とを実行させる、サポートプログラム（２７０）。
【０１６２】
（構成９）
制御対象（３００）を制御するコントローラ（１００）に接続されたＨＭＩ（ヒューマンマシンインターフェース）（４）で実行されるプログラム（４７０）の生成方法であって、
前記コントローラ（１００）で保持されるコントローラ側データ（１６０）に関連するオブジェクト（５０１）を規定するステップ（Ｓ２）を含み、
前記オブジェクト（５０１）は、前記コントローラ側データ（１６０）の設定とは独立して当該コントローラ側データ（１６０）を参照するための参照情報（２６０）に対応付けることが可能であり、
前記オブジェクト（５０１）と前記参照情報（２６０）との対応関係を設定するための入力を受け付けるステップ（Ｓ４〜Ｓ１０）と、
前記コントローラ側データ（１６０）と前記参照情報（２６０）との対応関係を設定するための入力を受け付けるステップ（Ｓ１２）と、
前記オブジェクト（５０１）と前記参照情報（２６０）との対応関係、および前記コントローラ側データ（１６０）と前記参照情報（２６０）との対応関係に基づいて、前記ＨＭＩ（４）で実行されるプログラム（４７０）を生成するステップ（Ｓ１４）とを含む、プログラムの生成方法。
【０１６３】
今回開示された各実施の形態は全ての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内での全ての変更が含まれることが意図される。また、実施の形態および各変形例において説明された発明は、可能な限り、単独でも、組み合わせても、実施することが意図される。
【符号の説明】
【０１６４】
１  ＦＡシステム、４  ＨＭＩ、１４，１６  Ｉ／Ｏユニット、１００  ＰＬＣ、１０２  プロセッサ、１０４  チップセット、１０６  メインメモリ、１０８  フラッシュメモリ、１１０  システムプログラム、１１６  外部ネットワークコントローラ、１１８  メモリカードインターフェース、１２０，４２０  メモリカード、１２２  内部バスコントローラ、１２４  フィールドバスコントローラ、１６０，１６０ａ，１６０ｂ，１６０ｃ  コントローラ側データ、１７０  制御プログラム、２００，２００ａ  サポート装置
２０６，４１３  ＲＡＭ、２１０  キーボード、２１１  入力部、２１２  マウス、２１４，４８１  ディスプレイ、２１７  記録媒体読取装置、２１８，４１９  通信インターフェース、２２０  内部バス、２２１  規定部、２２２  第１受付部、２２３  第２受付部、２５０  記録媒体、２６０，２６０ａ，２６０ｂ  参照情報、２７０  サポートプログラム、３００  デバイス、４１２，４１４  ＲＯＭ、４１６  操作キー、４１７  データリーダ/ライタ、４１８  タッチスクリーン、４５０  ライブラリ、４７０  ＨＭＩプログラム、４８２  タッチパネル、５０１  オブジェクト。
【図１】
2020042710.tif 000003
【図２】
2020042710.tif 000004
【図３】
2020042710.tif 000005
【図４】
2020042710.tif 000006
【図５】
2020042710.tif 000007
【図６】
2020042710.tif 000008
【図７】
2020042710.tif 000009
【図８】
2020042710.tif 000010
【図９】
2020042710.tif 000011
【図１０】
2020042710.tif 000012
【図１１】
2020042710.tif 000013
【図１２】
2020042710.tif 000014
【図１３】
2020042710.tif 000015
【図１４】
2020042710.tif 000016
【図１５】
2020042710.tif 000017
【図１６】
2020042710.tif 000018
【図１７】
2020042710.tif 000019
【図１８】
2020042710.tif 000020
【図１９】
2020042710.tif 000021
【図２０】
2020042710.tif 000022