(57)【要約】  システム開発装置（５００）は、ファクトリーオートメーション機器（５０２）の固体識別情報と前記ファクトリーオートメーション機器の１つ以上の手続き情報とを含んだプロファイルデータ（５６１，５６２，...，５６ｍ）を保持するプロファイル記憶部（５６０）と、ユーザによって選択された前記手続き情報を受け付ける手続き選択部（５１３）と、選択された前記手続き情報に基づいてプログラム部品（５５１，５５２，...，５５ｎ）を生成するプロファイル変換部（５４０）と、前記プログラム部品を格納するプログラム部品記憶部（５５０）と、を備える。
2016157482.tif 000002
【特許請求の範囲】
【請求項１】
ファクトリーオートメーション機器の固体識別情報と前記ファクトリーオートメーション機器の１つ以上の手続き情報とを含んだプロファイルデータを保持するプロファイル記憶部と、
ユーザによって選択された前記手続き情報を受け付ける手続き選択部と、
選択された前記手続き情報に基づいてプログラム部品を生成するプロファイル変換部と、
前記プログラム部品を格納するプログラム部品記憶部と、
を備えることを特徴とするシステム開発装置。
【請求項２】
前記プログラム部品は、プログラマブルロジックコントローラのプログラムで流用可能な機能ブロックである
ことを特徴とする請求項１に記載のシステム開発装置。
【請求項３】
前記プロファイルデータは、前記プログラム部品を含まない
ことを特徴とする請求項１または２に記載のシステム開発装置。
【請求項４】
前記プログラム部品記憶部において前記プログラム部品は既存のプログラム部品のリストに追加して格納される
ことを特徴とする請求項１または２に記載のシステム開発装置。
【請求項５】
ファクトリーオートメーション機器の固体識別情報と前記ファクトリーオートメーション機器の１つ以上の手続き情報とを含んだプロファイルデータを保持するステップと、
ユーザによって選択された前記手続き情報を受け付けるステップと、
選択された前記手続き情報に基づいてプログラム部品を生成するステップと、
前記プログラム部品を格納するステップと、
を備えることを特徴とするプログラム開発方法。
【請求項６】
前記プログラム部品は、プログラマブルロジックコントローラのプログラムで流用可能な機能ブロックである
ことを特徴とする請求項５に記載のプログラム開発方法。
【請求項７】
前記プロファイルデータは、前記プログラム部品を含まない
ことを特徴とする請求項５または６に記載のプログラム開発方法。
【請求項８】
前記格納するステップにおいて前記プログラム部品は既存のプログラム部品のリストに追加して格納される
ことを特徴とする請求項５または６に記載のプログラム開発方法。
【請求項９】
ファクトリーオートメーション機器の固体識別情報と前記ファクトリーオートメーション機器の１つ以上の手続き情報とを含んだプロファイルデータを保持するステップと、
ユーザによって選択された前記手続き情報を受け付けるステップと、
選択された前記手続き情報に基づいてプログラム部品を生成するステップと、
前記プログラム部品を格納するステップと、
をコンピュータに実行させることを特徴とする開発プログラム。
【請求項１０】
前記プログラム部品は、プログラマブルロジックコントローラのプログラムで流用可能な機能ブロックである
ことを特徴とする請求項９に記載の開発プログラム。
【請求項１１】
前記プロファイルデータは、前記プログラム部品を含まない
ことを特徴とする請求項９または１０に記載の開発プログラム。
【請求項１２】
前記格納するステップにおいて前記プログラム部品は既存のプログラム部品のリストに追加して格納される
ことを特徴とする請求項９または１０に記載の開発プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ファクトリーオートメーション（Ｆａｃｔｏｒｙ  Ａｕｔｏｍａｔｉｏｎ：以下、ＦＡと称する）の分野で用いられるシステム開発装置、プログラム開発方法および開発プログラムに関する。
【背景技術】
【０００２】
ＦＡシステムは、多種多様の機器が接続されて成り立っている。それぞれの機器にはパラメータの設定が必要で、パラメータの設定の範囲は機器ごとに異なっている。そのため、ユーザは機器ごとの設定を行う必要がある。機器ごとのパラメータの設定範囲を定義する仕組みとして、プロファイルを用いた技術が提案されている（特許文献１、２）。プロファイルは、機器メーカが作成しユーザに提供される。プロファイルには、機器の動作仕様および通信設定情報に加えて機器に対して行う処理の手続き情報が記載されている。システム開発装置はプロファイルを用いてシステム開発装置上の当該機器を表現し、当該機器に応じた処理を実現している。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１３−２５７６８５号公報
【特許文献２】特開２０１４−１６７５３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
従来、機器に対して処理を実行するためには、ユーザはマニュアル類を参照しながらプログラムを作成しており、プログラミングに長けていないユーザにおいては、プログラムの作成が困難であった。【０００５】
また、プロファイルを使用した場合、プロファイルに記載されている処理を機器に対して実行するためには、ユーザによる操作が必要であり、機器に対して同じ処理を繰り返し実行したい場合、上記操作をユーザが何度も行うこととなり手間が多く、ユーザにとって煩わしさが発生していた。【０００６】
本発明は、上記に鑑みてなされたものであって、ユーザの手間を省いて同じ処理を繰り返し機器に実行させることを可能にするシステム開発装置を得ることを目的とする。
【課題を解決するための手段】
【０００７】
上述した課題を解決し、目的を達成するために、本発明は、ファクトリーオートメーション機器の固体識別情報とファクトリーオートメーション機器の１つ以上の手続き情報とを含んだプロファイルデータを保持するプロファイル記憶部と、ユーザによって選択された手続き情報を受け付ける手続き選択部と、を備える。さらに本発明は、選択された手続き情報に基づいてプログラム部品を生成するプロファイル変換部と、プログラム部品を格納するプログラム部品記憶部と、を備える。
【発明の効果】
【０００８】
本発明にかかるシステム開発装置は、ユーザの手間を省いて同じ処理を繰り返し機器に実行させることを可能にするという効果を奏する。
【図面の簡単な説明】
【０００９】
【図１】実施の形態にかかるプロファイルを使用しないシステム開発装置の構成概要の一例を示す図
【図２】実施の形態にかかるシステム開発装置および表示部のハードウェア構成を示す図
【図３】実施の形態にかかるプロファイルを使用しないシステム開発装置におけるプログラムの部品化処理の手順の一例を示すフローチャート
【図４】実施の形態にかかるプロファイルを使用するシステム開発装置の構成概要の一例を示す図
【図５】実施の形態にかかるプロファイルの構成の一例を模式的に示した図
【図６】実施の形態にかかるシステム開発装置におけるプロファイルを使用した手続き処理の手順の一例を示すフローチャート
【図７】実施の形態にかかる機器指定画面を示す図
【図８】実施の形態にかかる処理の実行選択画面の一例を示す図
【図９】実施の形態にかかるプロファイルに基づいてプログラム部品を生成するシステム開発装置の構成概要の一例を示す図
【図１０】実施の形態にかかるシステム開発装置におけるプログラム部品化処理の手順の一例を示すフローチャート
【図１１】実施の形態にかかるプログラム部品化のオプションウィンドウを示す図
【図１２】実施の形態にかかる処理の実行選択画面の一例を示す図
【図１３】実施の形態にかかるプログラム部品化処理における変換処理結果確認画面の一例を示す図
【図１４】実施の形態にかかるシステム開発装置におけるプログラム部品の使用処理の手順の一例を示すフローチャート
【図１５】実施の形態にかかるプログラムエディタ機能部が表示する画面の一例を示す図
【発明を実施するための形態】
【００１０】
以下に、本発明の実施の形態にかかるシステム開発装置、プログラム開発方法および開発プログラムを図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
【００１１】
実施の形態．
図１は、プロファイルを使用しないシステム開発装置１００の構成概要の一例を示す図である。図１には、システム開発装置１００を含んだＦＡシステム１が示されている。ＦＡシステム１は、ＦＡエンジニアリング装置であるシステム開発装置１００と、プログラマブルロジックコントローラ(Ｐｒｏｇｒａｍｍａｂｌｅ  Ｌｏｇｉｃ  Ｃｏｎｔｒｏｌｌｅｒ：ＰＬＣ)であるＰＬＣ１０１と、ＦＡ機器である機器Ａ１０２と、モニタを有する表示器である表示部１０３と、を備える。システム開発装置１００は、ネットワークを介してＰＬＣ１０１および機器Ａ１０２との通信を行う。また、システム開発装置１００には、情報を表示する表示部１０３が接続されている。
【００１２】
システム開発装置１００は、表示部１０３の画面表示を管理する画面管理部１１０と、システム開発装置１００の通信処理を行うシステム通信部１２０と、プログラムデータからプログラム部品１４１，１４２，...，１４ｎを生成するプログラム変換部１３０と、プログラム部品１４１，１４２，...，１４ｎを格納するプログラム部品記憶部１４０を備える。
【００１３】
図２は、システム開発装置１００および表示部１０３のハードウェア構成を示す図である。システム開発装置１００および表示部１０３は、図２の情報処理装置１０のハードウェア構成により実現される。情報処理装置１０は、パーソナルコンピュータまたは汎用コンピュータといった情報処理端末であってよいが、これに限定されない。情報処理装置１０は、演算処理を行うＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）といった演算装置１１と、演算装置１１がワークエリアに用いるメモリ１２と、開発プログラムを記憶する記憶装置１３と、ユーザとの間の入力インタフェースである入力装置１４と、ユーザに情報を表示する表示装置１５と、ＰＬＣ１０１との通信機能を有する通信装置１６と、を備える。開発プログラムは、コンピュータが実行可能なプログラムであって、システム開発装置１００が実施するプログラム開発方法を情報処理装置１０に実行させるためのプログラムである。
【００１４】
画面管理部１１０およびプログラム変換部１３０の機能は、演算装置１１が記憶装置１３に保持されている開発プログラムを実行することにより実現される。プログラム部品記憶部１４０の機能はメモリ１２または記憶装置１３により実現される。システム通信部１２０の機能は通信装置１６により実現される。表示部１０３の機能は表示装置１５により実現される。
【００１５】
画面管理部１１０は、表示部１０３を制御して画面を表示させる機能を有する画面表示部であり、表示部１０３にシステム全体の構成図を表示させる機器指定部１１１と、ユーザによるプログラムの編集を受け付けるプログラムエディタ機能部１１２と、を有する。
【００１６】
機器指定部１１１は、システム全体を構成図として表示部１０３にグラフィカルに表示させる機能と、構成図内にユーザが指定した機器構成を作成する機能と、機器に対してユーザが指定した設定値を設定する機能と、機器指定画面を表示部１０３に表示させる機能と、を有する。
【００１７】
プログラムエディタ機能部１１２は、システム開発装置１００においてユーザがプログラムを編集可能にする機能と、プログラム部品を作成する機能と、表示部１０３にプログラムを表示させる機能を有する。また、プログラムエディタ機能部１１２は、ユーザの指示に基づいてプログラム部品記憶部１４０に格納されているプログラム部品１４１，１４２，...，１４ｎをプログラム上に挿入する機能を有する。
【００１８】
システム通信部１２０は、システム開発装置１００の通信処理を実行する。具体的には、システム通信部１２０は、設定値といったデータを機器Ａ１０２と通信する。
【００１９】
プログラム変換部１３０は、プログラムエディタ機能部１１２の機能を用いてユーザが作成したプログラムのデータを取得し、当該データをプログラム部品に変換する機能を有する。
【００２０】
プログラム部品記憶部１４０は、プログラム部品１４１，１４２，...，１４ｎを格納する機能を有する。
【００２１】
プロファイルを使用しないシステム開発装置１００におけるプログラムの部品化について以下に具体的に説明する。
【００２２】
機器メーカは、機器Ａ１０２を製造する。ソフトウェアの開発メーカは、システム開発装置１００に搭載される開発プログラムを製造する。そして、機器Ａ１０２及びシステム開発装置１００を購入したユーザは、機器Ａ１０２に対して処理を実行させるために、システム開発装置１００のマニュアルを見ながら、機器Ａ１０２に対する手続きを調査し、プログラム部品１４１，１４２，...，１４ｎを作成する。プログラム部品１４１，１４２，...，１４ｎは、機器メーカが作成してユーザに提供する場合もある。システム開発装置１００は、作成されたプログラム部品１４１，１４２，...，１４ｎを使用することで、機器Ａ１０２に処理を実行させることができる。
【００２３】
図３は、プロファイルを使用しないシステム開発装置１００におけるプログラムの部品化処理の手順の一例を示すフローチャートである。図３のフローチャートの右側の処理はユーザによる処理であり、左側の処理はシステム開発装置１００による処理を示している。システム開発装置１００による処理は、演算装置１１が記憶装置１３に保持されている開発プログラムを実行することにより実施されるプログラム開発方法によりなされる。
【００２４】
まず、ユーザは、システム開発装置１００のマニュアルを参照して、機器Ａ１０２に対する手続きを調査する（ステップＳ１１）。
【００２５】
ユーザは、ステップＳ１１で調査した結果に基づいて画面管理部１１０のプログラムエディタ機能部１１２の機能を用いてプログラムを作成し、さらに、プログラム変換部１３０の機能を用いてプログラム部品１４１，１４２，...，１４ｎを作成する（ステップＳ１２）。プログラム部品１４１，１４２，...，１４ｎの作成後、ユーザは、システム開発装置１００にプログラム部品１４１，１４２，...，１４ｎの保存を指示する（ステップＳ１３）。
【００２６】
システム開発装置１００は、ステップＳ１３のユーザによる指示を受けて、プログラム部品１４１，１４２，...，１４ｎをプログラム部品記憶部１４０に格納する（ステップＳ１４）。これにより、プログラム部品化処理が終了する。
【００２７】
ユーザが作成したプログラム部品１４１，１４２，...，１４ｎ或いは機器メーカから提供されたプログラム部品１４１，１４２，...，１４ｎを用いて作成されたプログラムは、システム開発装置１００によりＰＬＣ１０１に書き込まれる。ＰＬＣ１０１にプログラム部品１４１，１４２，...，１４ｎの処理を機器Ａ１０２に対して繰り返し実行させるためには、プログラム内でプログラム部品１４１，１４２，...，１４ｎを繰り返し実行することをユーザが記述する。
【００２８】
機器Ａ１０２にプログラム部品１４１，１４２，...，１４ｎの処理を繰り返し実行させたい場合、プロファイルを使用しないシステム開発装置１００においては、プログラム部品１４１，１４２，...，１４ｎをユーザ自身が作成すること、または、機器メーカがプログラム部品１４１，１４２，...，１４ｎを作成してユーザに提供することが必要となる。
【００２９】
図４は、プロファイルを使用するシステム開発装置２００の構成概要の一例を示す図である。図４には、システム開発装置２００を含んだＦＡシステム２が示されている。ＦＡシステム２は、ＦＡエンジニアリング装置であるシステム開発装置２００と、プログラマブルロジックコントローラであるＰＬＣ２０１と、ＦＡ機器である機器Ａ２０２と、モニタを有する表示器である表示部２０３と、を備える。システム開発装置２００は、ネットワークを介してＰＬＣ２０１および機器Ａ２０２との通信を行う。また、システム開発装置２００には、情報を表示する表示部２０３が接続されている。
【００３０】
システム開発装置２００は、表示部２０３の画面表示を管理する画面管理部２１０と、システム開発装置２００の通信処理を行うシステム通信部２２０と、プロファイルの手続き情報を取得し、手続き情報の処理が実行できるように解析するプロファイル解析部２３０と、プロファイルデータ２４１，２４２，...，２４ｍを格納するプロファイル記憶部２４０を備える。
【００３１】
システム開発装置２００および表示部２０３のハードウェア構成も図２の情報処理装置１０のハードウェア構成により実現される。画面管理部２１０およびプロファイル解析部２３０の機能は、演算装置１１が記憶装置１３に保持されている開発プログラムを実行することにより実現される。プロファイル記憶部２４０の機能はメモリ１２あるいは記憶装置１３により実現される。システム通信部２２０の機能は通信装置１６により実現される。表示部２０３の機能は表示装置１５により実現される。
【００３２】
プロファイルデータ２４１，２４２，...，２４ｍは、ＦＡ機器の固体識別情報、ＦＡ機器のパラメータの設定の定義およびパラメータの設定範囲を含んでいる。プロファイルデータ２４１，２４２，...，２４ｍの集まりがプロファイルであり、プロファイルは各機器に対応している。ある機器のプロファイルデータを含んだプロファイルは当該機器のメーカが提供する。図４では、機器は機器Ａ２０２のみ示してあるので、プロファイルデータ２４１，２４２，...，２４ｍの集まりであるプロファイルは、機器Ａ２０２に対応するプロファイルであるとして説明する。
【００３３】
図５は、実施の形態にかかるプロファイルの構成の一例を模式的に示した図である。図５のプロファイルは、プロファイルデータ２４１，２４２，...，２４ｍとして、機器を特定し表示するための情報３００および手続き情報３１０を備える。即ち、機器を特定し表示するための情報３００および手続き情報３１０のそれぞれがプロファイルデータである。機器を特定し表示するための情報３００は、機器の固体識別情報であり、図５のプロファイルが機器Ａ２０２に対応するものであることを示す「機器Ａ」という情報である。
【００３４】
プロファイルにおける手続き情報３１０の具体例を以下に示す。手続き情報３１０は、機器Ａ２０２に対する手続きについての情報のまとまりであり、１つ以上の手続き情報を含んでいる。手続き情報３１０は、手続き情報として図５のデータａ３３０、データｂ３３１およびデータｃ３３２を含んでいる。データａ３３０、データｂ３３１およびデータｃ３３２のそれぞれは別々の手続き情報である。各手続き情報は、以下の（１）から（９）の全てもしくは何れかについての構成要素３２０のまとまりである。
（１）「当該処理を特定する情報」
（２）「当該処理を表示するための情報」
（３）「当該処理が対象とする機器の情報」
（４）「対象とする機器への書き込み値の情報」
（５）「対象とする機器への読み出し値の情報」
（６）「処理の実行条件となる、機器に設定された情報」
（７）「処理の正常完了条件となる、機器に設定された情報」
（８）「処理の異常完了条件となる、機器に設定された情報」
（９）「処理の異常完了時の詳細情報取得元となる機器の情報」
【００３５】
画面管理部２１０は、表示部２０３を制御して画面を表示させる機能を有する画面表示部であり、表示部２０３にシステム全体の構成図を表示させる機器指定部２１１と、ユーザによる選択を受け付ける手続き選択部２１２と、を有する。
【００３６】
機器指定部２１１は、システム全体を構成図として表示部２０３にグラフィカルに表示させる機能と、構成図内にユーザが指定した機器構成を作成する機能と、機器に対してユーザが指定した設定値を設定する機能と、機器指定画面を表示部２０３に表示させる機能と、を有する。
【００３７】
手続き選択部２１２は、プロファイルの手続き情報３１０の（１）「当該処理を特定する情報」のユーザによる選択を受け付けることで、処理の対象となる手続き情報を取得して、表示部２０３に表示させる機能を有する。
【００３８】
システム通信部２２０は、システム開発装置２００の通信処理を実行する。具体的には、システム通信部２２０は、設定値といったデータを機器Ａ２０２と通信する。
【００３９】
プロファイル解析部２３０は、手続き選択部２１２が受け付けた選択されたプロファイルの手続き情報３１０を取得し、手続き情報３１０の処理が実行できるように解析する機能を有する。
【００４０】
プロファイル記憶部２４０は、インストールされているプロファイルデータ２４１，２４２，...，２４ｍ、またはシステム開発装置２００のインポート機能によって追加されたプロファイルデータ２４１，２４２，...，２４ｍを格納する機能を有する。
【００４１】
システム開発装置２００において、機器に対するプロファイルを使用して処理を実行させる具体的な流れを以下に説明する。
【００４２】
まず、機器メーカは機器Ａ２０２を製造して、機器Ａ２０２に対するプロファイルデータ２４１，２４２，...，２４ｍを作成する。ソフトウェアの開発メーカは、システム開発装置２００に搭載される開発プログラムを製造する。そして、機器Ａ２０２及びシステム開発装置２００を購入したユーザは、機器Ａ２０２に処理を実行させるために、機器Ａ２０２に対するプロファイル２４１，２４２，...，２４ｍの中から実行したい手続き情報３１０としてデータａ３３０を指定する。これにより、簡単に機器Ａ２０２に対象となる処理を実行させることができる。しかし、機器Ａ２０２に対して、同じ処理を繰り返し実行させるためには、ユーザの手で実行処理を何度も開始させる必要がある。以下では、プロファイルを使用した手続き処理について説明する。
【００４３】
図６は、システム開発装置２００におけるプロファイルを使用した手続き処理の手順の一例を示すフローチャートである。図６のフローチャートの右側の処理はユーザによる処理であり、左側の処理はシステム開発装置２００による処理を示している。システム開発装置２００による処理は、演算装置１１が記憶装置１３に保持されている開発プログラムを実行することにより実施されるプログラム開発方法によりなされる。
【００４４】
まず、機器指定部２１１が機器指定画面を表示部２０３に表示させる（ステップＳ２１）。図７は、実施の形態にかかる機器指定画面７０を示す図である。機器指定画面７０には、図４のＦＡシステム２の構成に対応して「ＰＬＣ」ボタン７１および「機器Ａ」ボタン７２が示されている。
【００４５】
ユーザは、表示された機器指定画面７０にて、「機器Ａ」ボタン７２を押下またはクリックするなどして機器Ａ２０２を指定する（ステップＳ２２）。
【００４６】
プロファイル解析部２３０は、ユーザがステップＳ２２で指定した機器Ａ２０２に対応するプロファイルデータ２４１，２４２，...，２４ｍを、プロファイル記憶部２４０から取得する。そして、プロファイル解析部２３０は、取得したプロファイルデータ２４１，２４２，...，２４ｍから手続き情報３１０を解析し、プロファイルの手続き情報３１０の一覧をユーザが選択可能な表示部２０３の選択画面として、画面管理部２１０に画面表示させる（ステップＳ２３）。ステップＳ２３では、図８の処理の実行選択画面４００が表示部２０３に表示される。
【００４７】
図８は、処理の実行選択画面４００の一例を示す図である。処理の実行選択画面４００には、手続き情報３１０をユーザが選択することができる手続き選択ウィンドウ４１０、手続きに付随するパラメータを表示してユーザが設定することができる手続きに付随するパラメータのウィンドウ４２０、ユーザが指定した手続き情報に従った処理を機器に実行させる「送信」ボタン４３０および処理の実行選択画面４００を閉じる「キャンセル」ボタン４４０が設けられている。
【００４８】
手続き選択ウィンドウ４１０には、機器に対して実行可能な手続き情報の処理を特定する情報が示され、ユーザが指定することができるようになっている。具体的には、図５の手続き情報３１０として列挙されたデータａ３３０、データｂ３３１およびデータｃ３３２のそれぞれの（１）当該処理を特定する情報が「データａの（１）」、「データｂの（１）」および「データｃの（１）」と列挙され、ユーザがいずれかを選択することができるようになっている。
【００４９】
手続きに付随するパラメータのウィンドウ４２０には、手続きに付随するパラメータ情報の一覧が示される。具体的には、図５に示した手続き情報であるデータａ３３０、データｂ３３１およびデータｃ３３２のいずれかの（２）から（９）の内容が示される。図８では、データｂ３３１の（２）から（９）の内容が示されている。また、パラメータ情報は、チェックボックス形式で設けられており、ユーザが機器Ａ２０２に対する処理の対象としたいパラメータを指定することができる。また、（４）「対象とする機器への書き込み値の情報」に対しては、設定したい値を入力することができる。
【００５０】
ユーザが「送信」ボタン４３０を押下またはクリックすることで、ユーザが指定した機器Ａ２０２に対する処理が、設定した値で実行される。一方、ユーザが「キャンセル」ボタン４４０を押下することで、処理の実行選択画面４００は閉じられ、機器Ａ２０２に対する処理は実施されない。
【００５１】
ユーザは、図８の手続き選択ウィンドウ４１０から、手続き情報の（１）「当該処理を特定する情報」を指定することにより機器Ａ２０２に対して実行させたい手続き情報を選択する（ステップＳ２４）。具体的には、ユーザは、「データａの（１）」、「データｂの（１）」および「データｃの（１）」のいずれかを選択し、手続き選択部２１２がこれを受け付ける。
【００５２】
プロファイル解析部２３０は、手続き選択部２１２が受け付けた、ユーザによって選択された機器Ａ２０２に対する手続き情報であるデータｂ３３１を取得して解析し、画面管理部２１０に図８の手続きに付随するパラメータのウィンドウ４２０を表示部２０３に表示させる（ステップＳ２５）。手続きに付随するパラメータのウィンドウ４２０の初期表示がデータａ３３０の（２）から（９）の内容が示された状態だった場合に、ステップＳ２４でユーザが「データｂの（１）」を選択したときは、データｂ３３１の（２）から（９）の内容がステップＳ２５で表示されることになる。
【００５３】
ユーザは、手続きに付随するパラメータのウィンドウ４２０の上で、手続きに付随するパラメータである（４）「対象とする機器への書き込み値の情報」に対しては、設定したい値を入力して設定することができる（ステップＳ２６）。ただし、ステップＳ２６はオプションであり省いてもかまわない。
【００５４】
ユーザは、以上の選択および設定が完了したら、「送信」ボタン４３０を押下する（ステップＳ２７）。「送信」ボタン４３０が押下されることで、ユーザが選択した手続き情報に従った処理を機器Ａ２０２が実行する（ステップＳ２８）。手続き情報に従った処理が完了（ステップＳ２９）することで、プロファイルを使用した手続き処理が終了する。
【００５５】
このように、プロファイルデータ２４１，２４２，...，２４ｍを使用するシステム開発装置２００によれば、機器Ａ２０２に対してユーザが指定した処理を実行させることができる。しかし、同じ処理を何度も機器Ａ２０２に実行させたい場合、ユーザは何度も「送信」ボタン４３０を押下することが必要となる。
【００５６】
図９は、実施の形態にかかるプロファイルに基づいてプログラム部品を生成するシステム開発装置５００の構成概要の一例を示す図である。図９には、システム開発装置５００を含んだＦＡシステム３が示されている。ＦＡシステム３は、ＦＡエンジニアリング装置であるシステム開発装置５００と、プログラマブルロジックコントローラであるＰＬＣ５０１と、ＦＡ機器である機器Ａ５０２と、モニタを有する表示器である表示部５０３と、を備える。システム開発装置５００は、ネットワークを介してＰＬＣ５０１および機器Ａ５０２との通信を行う。また、システム開発装置５００には、情報を表示する表示部５０３が接続されている。ここでは、機器は機器Ａ５０２のみ示してあるので、以下のプロファイルは機器Ａ５０２のプロファイルとして説明する。システム開発装置５００で使用するプロファイルの構成も図５と同様である。
【００５７】
システム開発装置５００は、表示部５０３の画面表示を管理する画面管理部５１０と、システム開発装置５００の通信処理を行うシステム通信部５２０と、プロファイルの手続き情報を取得し、手続き情報の処理が実行できるように解析するプロファイル解析部５３０と、手続き情報に基づいてプログラム部品５５１，５５２，...，５５ｎを生成するプロファイル変換部５４０と、プログラム部品５５１，５５２，...，５５ｎを格納するプログラム部品記憶部５５０と、プロファイルデータ５６１，５６２，...，５６ｍを格納するプロファイル記憶部５６０を備える。
【００５８】
実施の形態にかかるシステム開発装置５００および表示部５０３のハードウェア構成も図２の情報処理装置１０のハードウェア構成により実現される。画面管理部５１０、プロファイル解析部５３０およびプロファイル変換部５４０の機能は、演算装置１１が記憶装置１３に保持されている開発プログラムを実行することにより実現される。プログラム部品記憶部５５０およびプロファイル記憶部５６０の機能はメモリ１２あるいは記憶装置１３により実現される。システム通信部５２０の機能は通信装置１６により実現される。表示部５０３の機能は表示装置１５により実現される。
【００５９】
画面管理部５１０は、表示部５０３を制御して画面を表示させる機能を有する画面表示部であり、表示部５０３にシステム全体の構成図を表示させる機器指定部５１１と、ユーザによるプログラムの編集を受け付けるプログラムエディタ機能部５１２と、ユーザによる選択を受け付ける手続き選択部５１３を有する。
【００６０】
機器指定部５１１は、システム全体を構成図として表示部５０３にグラフィカルに表示させる機能と、構成図内にユーザが指定した機器構成を作成することができる機能と、機器に対してユーザが指定した設定値を設定することができる機能と、機器指定画面を表示部５０３に表示させる機能と、を有する。
【００６１】
プログラムエディタ機能部５１２は、システム開発装置５００においてユーザがプログラムを編集可能にする機能と、プログラム部品を作成する機能と、表示部５０３にプログラムを表示させる機能を有する。また、プログラムエディタ機能部５１２は、ユーザの指示に基づいてプログラム部品記憶部５５０に格納されているプログラム部品５５１，５５２，...，５５ｎをプログラム上に挿入する機能を有する。
【００６２】
手続き選択部５１３は、プロファイルの手続き情報３１０の（１）「当該処理を特定する情報」のユーザによる選択を受け付けることで、処理の対象となる手続き情報を取得して、表示部５０３に表示させる機能を有する。
【００６３】
システム通信部５２０は、システム開発装置５００の通信処理を実行する。具体的には、システム通信部５２０は、設定値といったデータを機器Ａ５０２と通信する。
【００６４】
プロファイル解析部５３０は、手続き選択部５１３が受け付けた選択されたプロファイルの手続き情報３１０を取得し、手続き情報３１０の処理が実行できるように解析する機能を有する。
【００６５】
プロファイル変換部５４０は、プロファイル解析部５３０で解析された抽出結果に基づいてプログラム部品５５１，５５２，...，５５ｎを生成する機能を有する。プログラム部品５５１，５５２，...，５５ｎは、プログラマブルロジックコントローラのプログラムで流用可能な機能ブロックである。機能ブロックは、プログラマブルロジックコントローラのプログラム内において繰り返し使用する部分を部品化して、プログラムの中で再利用可能にしたものである。機能ブロックとしては、ＦＢ（Ｆｕｎｃｔｉｏｎ  Ｂｌｏｃｋ）またはＣ言語のサブルーチンのような再利用性の高いプログラム部品がある。
【００６６】
プログラム部品記憶部５５０は、プログラム部品５５１，５５２，...，５５ｎを格納する機能を有する。
【００６７】
プロファイル記憶部５６０は、インストールされているプロファイルデータ５６１，５６２，...，５６ｍ、またはシステム開発装置５００のインポート機能によって追加されたプロファイルデータ５６１，５６２，...，５６ｍを格納する機能を有する。プロファイルデータ５６１，５６２，...，５６ｍは、図５に示した機器を特定し表示するための情報３００および手続き情報３１０を含んでいる。
【００６８】
システム開発装置５００において、機器に対するプロファイルを使用して処理を実行させる具体的な流れを以下に説明する。
【００６９】
まず、機器メーカは機器Ａ５０２を製造して、機器Ａ５０２に対するプロファイルデータ５６１，５６２，...，５６ｍを作成する。ソフトウェアの開発メーカは、システム開発装置５００に搭載される開発プログラムを製造する。そして、機器Ａ５０２及びシステム開発装置５００を購入したユーザは、機器Ａ５０２に処理を実行させるために、機器Ａ５０２に対するプロファイルデータ５６１，５６２，...，５６ｍの中から実行したい手続き情報３１０を指定し、指定した手続き情報３１０をシステム開発装置５００の機能によってプログラム部品５５１，５５２，...，５５ｎとして生成する。プログラム部品化された手続き情報をプログラムに挿入および使用することで、機器Ａ５０２に対して、同じ処理を繰り返し実行させることができる。また、プログラム部品を自動的に作成することができるので、ユーザおよび機器メーカはプログラム部品を作成する必要がなくなる。
【００７０】
実施の形態にかかるシステム開発装置５００においては、自動的なプログラム生成および機器Ａ５０２に対する同じ処理の繰り返し実行を実現させるために、プログラム部品化処理およびプログラム部品の使用処理が行われる。以下では、プログラム部品化処理およびプログラム部品の使用処理について説明する。
【００７１】
図１０は、実施の形態にかかるシステム開発装置５００におけるプログラム部品化処理の手順の一例を示すフローチャートである。図１０のフローチャートの右側の処理はユーザによる処理であり、左側の処理はシステム開発装置５００による処理を示している。システム開発装置５００による処理は、演算装置１１が記憶装置１３に保持されている開発プログラムを実行することにより実施されるプログラム開発方法によりなされる。
【００７２】
まず、機器指定部５１１が図７の機器指定画面７０を表示部５０３に表示させる（ステップＳ３１）。機器指定画面７０には、図９のＦＡシステム３の構成に対応して「ＰＬＣ」ボタン７１および「機器Ａ」ボタン７２が示されている。
【００７３】
ユーザは、表示された機器指定画面７０にて、「機器Ａ」ボタン７２を押下またはクリックするなどして機器Ａ５０２を指定する（ステップＳ３２）。機器Ａ５０２が指定されると、図１１に示すオプションウィンドウ８０が表示部５０３に表示される。
【００７４】
図１１は、実施の形態にかかるプログラム部品化のオプションウィンドウ８０を示す図である。オプションウィンドウ８０は、プログラム部品化の指示を受け付ける「プログラム部品化」ボタン８１を表示する。ユーザは、「プログラム部品化」ボタン８１を押下またはクリックすることにより、プログラム部品化を指示する（ステップＳ３３）。
【００７５】
システム開発装置５００がプログラム部品化の指示を受け付けると、プロファイル解析部５３０は、ユーザがステップＳ３２で指定した機器Ａ５０２に対応するプロファイルデータ５６１，５６２，...，５６ｍを、プロファイル記憶部５６０から取得する。そして、プロファイル解析部５３０は、取得したプロファイルデータ５６１，５６２，...，５６ｍから手続き情報３１０を解析し、プロファイルの手続き情報３１０の一覧をユーザが選択可能な表示部５０３の選択画面として、画面管理部５１０に画面表示させる（ステップＳ３４）。ステップＳ３４では、図１２の処理の実行選択画面６００が表示部５０３に表示される。
【００７６】
図１２は、実施の形態にかかる処理の実行選択画面６００の一例を示す図である。処理の実行選択画面６００には、手続き情報３１０をユーザが選択することができる手続き選択ウィンドウ６１０、手続き選択ウィンドウ６１０でユーザが選択した手続き情報のプログラム部品化を実行させる「送信」ボタン６２０および処理の実行選択画面６００を閉じることができる「キャンセル」ボタン６３０が設けられている。
【００７７】
手続き選択ウィンドウ６１０には、機器に対して実行可能な手続き情報の処理を特定する情報が示され、ユーザが指定することができるようになっている。具体的には、図５の手続き情報３１０として列挙されたデータａ３３０、データｂ３３１およびデータｃ３３２のそれぞれの（１）当該処理を特定する情報が「データａの（１）」、「データｂの（１）」および「データｃの（１）」と列挙され、ユーザがいずれかを選択することができるようになっている。
【００７８】
ユーザが「送信」ボタン６２０を押下することで、ユーザが選択したプロファイルの手続き情報のプログラム部品化が実行される。一方、ユーザが「キャンセル」ボタン６３０を押下することで、処理の実行選択画面６００は閉じられ、プログラム部品化処理は実行されない。
【００７９】
ユーザは、図１２の手続き選択ウィンドウ６１０から、手続き情報の（１）当該処理を特定する情報を指定することによりプログラム部品化したい手続き情報を選択する（ステップＳ３５）。具体的には、ユーザは、「データａの（１）」、「データｂの（１）」および「データｃの（１）」のいずれかを選択し、手続き選択部５１３がこれを受け付ける。
【００８０】
プロファイル解析部５３０は、手続き選択部５１３が受け付けた、ユーザによって選択された機器Ａ５０２に対する手続き情報を取得して解析する（ステップＳ３６）。具体的には、ステップＳ３５でユーザが選択した「データａの（１）」、「データｂの（１）」および「データｃの（１）」のいずれかの手続き情報の（１）から（９）の内容から機器Ａ５０２の処理の流れおよび処理の条件を抽出して抽出結果として出力する。
【００８１】
プロファイル変換部５４０は、プロファイル解析部５３０が出力した手続き情報の抽出結果に基づいてプログラムを作成し、当該プログラムに基づいてファンクションブロックあるいはＣ言語のサブルーチンといったプログラム部品５５１，５５２，...，５５ｎを生成する（ステップＳ３７）。
【００８２】
プロファイル変換部５４０は、ステップＳ３７で生成されたプログラム部品５５１，５５２，...，５５ｎをプログラム部品記憶部５５０に格納する（ステップＳ３８）。このとき、プログラム部品記憶部５５０が保持している既存のプログラム部品のリストにステップＳ３７で生成されたプログラム部品５５１，５５２，...，５５ｎを追加して格納しても構わない。
【００８３】
プログラム部品５５１，５５２，...，５５ｎがプログラム部品記憶部５５０に格納された後、画面管理部５１０は、図１３の、変換処理結果確認画面６４０を表示部５０３に表示させる（ステップＳ３９）。図１３は、実施の形態にかかるプログラム部品化処理における変換処理結果確認画面６４０の一例を示す図である。変換処理結果確認画面６４０は、「プログラム部品化が完了しました。」とのメッセージ表示６５０と、メッセージ表示６５０に対するユーザの応答を画面管理部５１０が受け付けるための「ＯＫ」ボタン６６０と、を備える。ユーザにより「ＯＫ」ボタン６６０が押下されると、画面管理部５１０による変換処理結果確認画面６４０の表示処理が終わって、プログラム部品化処理が終了する。
【００８４】
プログラム部品化処理によれば、プロファイルに定義されている手続き情報３１０をプログラム部品化したプログラム部品５５１，５５２，...，５５ｎに変換することで、プログラム内に挿入し使用することが出来るため、ユーザの手間を省いて機器に対して同じ処理を繰り返し実行することができる。
【００８５】
また、プログラム部品５５１，５５２，...，５５ｎは、機器メーカが提供するプロファイルデータ５６１，５６２，...，５６ｍから自動的に生成できるため、ユーザがプログラム部品を作成する必要がない。
【００８６】
さらに、プロファイルデータ５６１，５６２，...，５６ｍに基づいてプログラム部品５５１，５５２，...，５５ｎを生成しているため、プロファイルデータ５６１，５６２，...，５６ｍと共にプログラム部品５５１，５５２，...，５５ｎが提供される必要がない。すなわち、プロファイルデータ５６１，５６２，...，５６ｍはプログラム部品５５１，５５２，...，５５ｎを含まなくてかまわない。したがって、機器メーカは、ユーザに提供するプログラム部品５５１，５５２，...，５５ｎを作成する必要が無い。
【００８７】
図１４は、実施の形態にかかるシステム開発装置５００におけるプログラム部品の使用処理の手順の一例を示すフローチャートである。図１４のフローチャートの右側の処理はユーザによる処理であり、左側の処理はシステム開発装置５００による処理を示している。システム開発装置５００による処理は、演算装置１１が記憶装置１３に保持されている開発プログラムを実行することにより実施されるプログラム開発方法によりなされる。
【００８８】
まず、プログラムエディタ機能部５１２は、ユーザが指定したプログラムを表示部５０３に表示させる。ユーザは、さらに、プログラム部品５５１，５５２，...，５５ｎの部品名のリストであるプログラム部品リストをプログラムエディタ機能部５１２にプログラム部品記憶部５５０から呼び出させて、表示部５０３に表示させる。このとき表示部５０３に表示される画面が図１５である。
【００８９】
図１５は、実施の形態にかかるプログラムエディタ機能部５１２が表示する画面の一例を示す図である。図１５には、ユーザが指定したプログラムを示すプログラム画面７１０と、呼び出されたプログラム部品リスト７００とが表示されている。図１５は、プログラムエディタ機能部５１２がプログラム部品記憶部５５０からプログラム部品リスト７００を呼び出して表示部５０３に表示させたときの様子が示されており、プログラム部品リスト７００にはプログラム部品記憶部５５０に格納されているプログラム部品５５１，５５２，...，５５ｎの部品名がリスト表示で示される。
【００９０】
ユーザは、プログラム部品リスト７００のリスト表示内の使用したいプログラム部品名をプログラム画面７１０内にドラッグアンドドロップすることで、プログラム上の指定した箇所にプログラム部品５５１，５５２，...，５５ｎを挿入する（ステップＳ４１）。ここで、プログラム部品５５１，５５２，...，５５ｎを繰り返し実行させたい場合は、プログラム上に繰り返し処理を実行する記述をしておいて、繰り返しの対象となる箇所にプログラム部品５５１，５５２，...，５５ｎを挿入すればよい。図１５の矢印では、部品名（３）がプログラム画面７１０内にドラッグアンドドロップにより挿入されていることが示されている。
【００９１】
その後、プログラムエディタ機能部５１２がＰＬＣ５０１の図示せぬ記憶手段にプログラム部品５５１，５５２，...，５５ｎが挿入されたプログラムを書込む（ステップＳ４２）。以上により、プログラム部品の使用処理が終了し、プログラム部品５５１，５５２，...，５５ｎが使用できるようになる。
【００９２】
以上説明したように、実施の形態にかかるシステム開発装置５００によれば、機器に対するプロファイルに記載されている手続き情報に基づいてプログラム部品が作成されるので、ユーザが作成せずともプログラム部品を自動的に作成できる。さらに、プログラム部品リストから、ユーザはいつでもプログラム部品を読み出して選択し、プログラム内に挿入して組込むことができるので、プログラム作成にかかる時間を短縮することができる。その結果、ユーザの手間を省いて同じ処理を繰り返し機器に実行させることが可能となる。
【００９３】
以上の実施の形態に示した構成は、本発明の内容の一例を示すものであり、別の公知の技術と組み合わせることも可能であるし、本発明の要旨を逸脱しない範囲で、構成の一部を省略、変更することも可能である。
【符号の説明】
【００９４】
１，２，３  ＦＡシステム、１０  情報処理装置、１１  演算装置、１２  メモリ、１３  記憶装置、１４  入力装置、１５  表示装置、１６  通信装置、７０  機器指定画面、７１  「ＰＬＣ」ボタン、７２  「機器Ａ」ボタン、８０  オプションウィンドウ、８１  「プログラム部品化」ボタン、１００，２００，５００  システム開発装置、１０１，２０１，５０１  ＰＬＣ、１０２，２０２，５０２  機器Ａ、１０３，２０３，５０３  表示部、１１０，２１０，５１０  画面管理部、１１１，２１１，５１１  機器指定部、１１２，５１２  プログラムエディタ機能部、１２０，２２０，５２０  システム通信部、１３０  プログラム変換部、１４０，５５０  プログラム部品記憶部、１４１，１４２，...，１４ｎ，５５１，５５２，...，５５ｎ  プログラム部品、２１２，５１３  手続き選択部、２３０，５３０  プロファイル解析部、２４０，５６０  プロファイル記憶部、２４１，２４２，...，２４ｍ，５６１，５６２，...，５６ｍ  プロファイルデータ、３００  機器を特定し表示するための情報、３１０  手続き情報、３２０  構成要素、３３０  データａ、３３１  データｂ、３３２  データｃ、４００，６００  処理の実行選択画面、４１０，６１０  手続き選択ウィンドウ、４２０  手続きに付随するパラメータのウィンドウ、４３０，６２０  「送信」ボタン、４４０，６３０  「キャンセル」ボタン、５４０  プロファイル変換部、６４０  変換処理結果確認画面、６５０  メッセージ表示、６６０  「ＯＫ」ボタン、７００  プログラム部品リスト、７１０  プログラム画面。
【図１】
2016157482.tif 000003
【図２】
2016157482.tif 000004
【図３】
2016157482.tif 000005
【図４】
2016157482.tif 000006
【図５】
2016157482.tif 000007
【図６】
2016157482.tif 000008
【図７】
2016157482.tif 000009
【図８】
2016157482.tif 000010
【図９】
2016157482.tif 000011
【図１０】
2016157482.tif 000012
【図１１】
2016157482.tif 000013
【図１２】
2016157482.tif 000014
【図１３】
2016157482.tif 000015
【図１４】
2016157482.tif 000016
【図１５】
2016157482.tif 000017
【手続補正書】
【提出日】平成29年2月24日(2017.2.24)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ファクトリーオートメーション機器の固体識別情報と前記ファクトリーオートメーション機器の１つ以上の手続き情報とを含んだプロファイルデータを保持するプロファイル記憶部と、
ユーザによって選択された前記手続き情報を受け付ける手続き選択部と、
選択された前記手続き情報に基づいてプログラム部品を生成するプロファイル変換部と、
前記プログラム部品を格納するプログラム部品記憶部と、
前記ユーザの指示に基づいて、繰り返し処理を実行する記述がされたプログラムに前記プログラム部品を挿入する機能を有するプログラムエディタ機能部と、
を備えることを特徴とするシステム開発装置。
【請求項２】
前記プログラム部品は、プログラマブルロジックコントローラの前記プログラムで流用可能な機能ブロックである
ことを特徴とする請求項１に記載のシステム開発装置。
【請求項３】
前記プロファイルデータは、前記プログラム部品を含まない
ことを特徴とする請求項１または２に記載のシステム開発装置。
【請求項４】
前記プログラム部品記憶部において前記プログラム部品は既存のプログラム部品のリストに追加して格納される
ことを特徴とする請求項１または２に記載のシステム開発装置。
【請求項５】
ファクトリーオートメーション機器の固体識別情報と前記ファクトリーオートメーション機器の１つ以上の手続き情報とを含んだプロファイルデータを保持するステップと、
ユーザによって選択された前記手続き情報を受け付けるステップと、
選択された前記手続き情報に基づいてプログラム部品を生成するステップと、
前記プログラム部品を格納するステップと、
前記ユーザの指示に基づいて、繰り返し処理を実行する記述がされたプログラムに前記プログラム部品を挿入するステップと、
を備えることを特徴とするプログラム開発方法。
【請求項６】
前記プログラム部品は、プログラマブルロジックコントローラの前記プログラムで流用可能な機能ブロックである
ことを特徴とする請求項５に記載のプログラム開発方法。
【請求項７】
前記プロファイルデータは、前記プログラム部品を含まない
ことを特徴とする請求項５または６に記載のプログラム開発方法。
【請求項８】
前記格納するステップにおいて前記プログラム部品は既存のプログラム部品のリストに追加して格納される
ことを特徴とする請求項５または６に記載のプログラム開発方法。
【請求項９】
ファクトリーオートメーション機器の固体識別情報と前記ファクトリーオートメーション機器の１つ以上の手続き情報とを含んだプロファイルデータを保持するステップと、
ユーザによって選択された前記手続き情報を受け付けるステップと、
選択された前記手続き情報に基づいてプログラム部品を生成するステップと、
前記プログラム部品を格納するステップと、
前記ユーザの指示に基づいて、繰り返し処理を実行する記述がされたプログラムに前記プログラム部品を挿入するステップと、
をコンピュータに実行させることを特徴とする開発プログラム。
【請求項１０】
前記プログラム部品は、プログラマブルロジックコントローラの前記プログラムで流用可能な機能ブロックである
ことを特徴とする請求項９に記載の開発プログラム。
【請求項１１】
前記プロファイルデータは、前記プログラム部品を含まない
ことを特徴とする請求項９または１０に記載の開発プログラム。
【請求項１２】
前記格納するステップにおいて前記プログラム部品は既存のプログラム部品のリストに追加して格納される
ことを特徴とする請求項９または１０に記載の開発プログラム。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０００７
【補正方法】変更
【補正の内容】
【０００７】
上述した課題を解決し、目的を達成するために、本発明は、ファクトリーオートメーション機器の固体識別情報とファクトリーオートメーション機器の１つ以上の手続き情報とを含んだプロファイルデータを保持するプロファイル記憶部と、ユーザによって選択された手続き情報を受け付ける手続き選択部と、を備える。さらに本発明は、選択された手続き情報に基づいてプログラム部品を生成するプロファイル変換部と、プログラム部品を格納するプログラム部品記憶部と、ユーザの指示に基づいて、繰り返し処理を実行する記述がされたプログラムにプログラム部品を挿入する機能を有するプログラムエディタ機能部と、を備える。
【国際調査報告】
2016157482.tif 000018
2016157482.tif 000019