(57)【特許請求の範囲】
【請求項１】
制御対象機器を制御するためのデバイス値を記憶する複数のデバイスを有するインターフェースデバイスと、
前記制御対象機器を第１の機能と第２の機能により制御するための制御プログラムを、前記第１の機能を実行するための第１のプロジェクトと、前記第２の機能を実行するための第２のプロジェクトと、に分割して格納するプロジェクト格納領域と、
前記第１のプロジェクト及び前記第２のプロジェクトに対応付けて、予め設定された使用可能な前記複数のデバイスの情報を記憶するデバイス情報記憶部と、
前記制御対象機器を制御する制御部と、
前記制御プログラムの作成機能を備える情報処理装置との通信を制御する通信制御部と、
を備え、
前記複数のデバイスは、
前記情報に基づいて設定された、前記第１のプロジェクトにより書き込み可能な第１デバイスと、前記第２のプロジェクトが書き込み可能な第２デバイスと、を含み、
前記第２のプロジェクトは、前記第１デバイスへの書き込みが制限され、
前記制御部は、
前記制御プログラムの作成機能からの要求に応じて、前記第２デバイスの一覧情報を前記情報処理装置に提供する表示処理部を有し、
前記第２のプロジェクトから前記第１デバイスへ書き込みが行われる際には、前記第２のプロジェクトが前記第２デバイスへの書き込みを実行し、前記第１のプロジェクトが前記第２デバイスに書き込まれたデータを前記第１デバイスに書き込むことを特徴とする制御装置。
【請求項２】
前記デバイス情報記憶部は、
前記インターフェースデバイスの情報として、前記情報に対応付けてデバイス点数を記憶することを特徴とする請求項１に記載の制御装置。
【請求項３】
前記第１のプロジェクトは、
前記第２デバイスに書き込まれたデータを、前記第１デバイスに書き込み可能か否かを判定する機能を有するインターフェースプログラムを備えることを特徴とする請求項１又は２に記載の制御装置。
【請求項４】
前記表示処理部は、
前記制御プログラムの作成機能からの要求に応じて、前記第１デバイスの一覧情報を前記情報処理装置に提供することを特徴とする請求項１から３のいずれか１項に記載の制御装置。
【請求項５】
制御対象機器を制御するためのデバイス値を記憶する複数のデバイスを有するインターフェースデバイスと、
前記制御対象機器を第１の機能と第２の機能により制御するための制御プログラムを、前記第１の機能を実行するための第１のプロジェクトと、前記第２の機能を実行するための第２のプロジェクトと、に分割して格納するプロジェクト格納領域と、
前記第１のプロジェクト及び前記第２のプロジェクトに対応付けて、予め設定された使用可能な前記複数のデバイスの情報を記憶するデバイス情報記憶部と、
前記制御対象機器を制御する制御部と、
を備え、
前記複数のデバイスは、
前記情報に基づいて設定された、前記第１のプロジェクトにより書き込み可能な第１デバイスと、前記第２のプロジェクトが書き込み可能な第２デバイスと、を含み、
前記第２のプロジェクトは、前記第１デバイスへの書き込みが制限され、
前記第１のプロジェクトは、前記第２デバイスに書き込まれたデータを、前記第１デバイスに書き込み可能か否かを判定する機能を有するインターフェースプログラムを備えることを特徴とする制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は、制御装置に関する。
【背景技術】
【０００２】
産業用の工作機械等を制御する制御装置としてＰＬＣ（Programmable  Logic  Controller）が用いられている。ＰＬＣは、いわゆるシーケンスプログラムであるＰＬＣプログラムによる演算処理を実行することにより、工作機械等のシーケンス制御を実現する。ＰＬＣプログラムは、工作機械等の製造メーカであるプログラム開発者により作成される。工作機械の誤作動の防止並びに技術流出の防止の観点から、ＰＬＣプログラムはパスワードなどにより保護されており、ＰＬＣプログラムを見たり、編集したりすることができない仕組みとなっている。【０００３】
下記特許文献１には、一群のプログラムブロック毎にパスワード等を割り当てることにより、プログラム保護のためのセキュリティをプログラムブロック単位で設定または解除可能としたプログラマブルコントローラシステムが開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００２−３２８７０６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
工作機械の製造メーカは、工作機械を購入したエンドユーザから、工作機械の構成の変更に伴って、ＰＬＣプログラムを変更したいという要請を受ける場合がある。この場合、工作機械の製造メーカは、センサの追加などの簡単な構成の変更であっても、エンドユーザからの要望に応じて、ＰＬＣプログラムの変更の対応を行う。このため、工作機械の製造メーカの作業負担が大きい。【０００６】
特許文献１に開示の技術を適用して、エンドユーザに対してＰＬＣプログラムの変更を許可する方法も考えられる。しかし、工作機械の誤作動の防止並びに技術流出の防止を図りつつ、ＰＬＣプログラムの変更を許可する必要があり、少なからず、工作機械の製造メーカに作業負担が発生するおそれがある。【０００７】
本発明は上記に鑑みてなされたものであって、ＰＬＣプログラムの変更における製造メーカの作業負担を軽減しつつ、制御対象機器の誤作動を防止できる制御装置を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上述した課題を解決し、目的を達成するために、本発明にかかる制御装置は、制御対象機器を制御するためのデバイス値を記憶する複数のデバイスを有するインターフェースデバイスと、制御対象機器を第１の機能と第２の機能により制御するための制御プログラムを、第１の機能を実行するための第１のプロジェクトと、第２の機能を実行するための第２のプロジェクトと、に分割して格納するプロジェクト格納領域と、第１のプロジェクト及び第２のプロジェクトに対応付けて、予め設定された使用可能な複数のデバイスの情報を記憶するデバイス情報記憶部と、制御対象機器を制御する制御部と、制御プログラムの作成機能を備える情報処理装置との通信を制御する通信制御部と、を備える。複数のデバイスは、前記情報に基づいて設定された、第１のプロジェクトにより書き込み可能な第１デバイスと、第２のプロジェクトが書き込み可能な第２デバイスと、を含み、第２のプロジェクトは、第１デバイスへの書き込みが制限される。制御部は、制御プログラムの作成機能からの要求に応じて、第２デバイスの一覧情報を情報処理装置に提供する表示処理部を有し、第２のプロジェクトから第１デバイスへ書き込みが行われる際には、第２のプロジェクトが第２デバイスへの書き込みを実行し、第１のプロジェクトが第２デバイスに書き込まれたデータを第１デバイスに書き込む。
【発明の効果】
【０００９】
本発明によれば、ＰＬＣプログラムの変更における製造メーカの作業負担を軽減しつつ、制御対象機器の誤作動を防止できるという効果を奏する。
【図面の簡単な説明】
【００１０】
【図１】実施の形態１に係る制御システムの一例を示す図
【図２】実施の形態１に係るプログラム作成装置の機能構成の一例を示すブロック図
【図３】比較例に係る制御装置の機能構成の一例を示すブロック図
【図４】比較例に係るＰＬＣ開発ツールの操作ウィンドウの一例を示す図
【図５】比較例に係るパスワード管理部で管理されるパスワード情報の一例を示す図
【図６】実施の形態１に係る制御装置の機能構成の一例を示すブロック図
【図７】実施の形態１に係るインターフェースデバイスの設定の一例を示す図
【図８】実施の形態１に係るデバイス判断部による処理の手順の一例を示すフローチャート
【図９】実施の形態１に係る制御装置の制御部及びデバイス判断部がプロセッサで実現される場合のハードウェア構成例を示す図
【図１０】実施の形態１に係る制御装置の制御部及びデバイス判断部が処理回路で実現される場合のハードウェア構成例を示す図
【図１１】変形例に係る制御装置の機能構成の一例を示すブロック図
【図１２】実施の形態２に係る制御装置の機能構成の一例を示すブロック図
【図１３】実施の形態２に係るプロジェクト開発者向けの共通デバイスの一覧情報の表示例を示す図
【図１４】実施の形態２に係るデバイス情報の表示処理の流れを示す図
【図１５】実施の形態２に係るエンドユーザ向けの共通デバイスの一覧情報の表示例を示す図
【図１６】変形例に係るエンドユーザ向けの共通デバイスの一覧情報の表示例を示す図
【発明を実施するための形態】
【００１１】
以下、本発明に係る制御装置の複数の実施の形態について、図面を参照して説明する。以下に説明する複数の実施の形態により、本発明が限定されるものではない。
【００１２】
実施の形態１．
図１は、実施の形態１に係る制御システム１の一例を示す図である。制御システム１は、プログラム作成装置１０、通信回線、制御対象機器２０、入力機器３０、出力機器４０、及び制御装置１００を含んで構成される。制御システム１は、工場及び各種のインフラ設備において、これらを構成する制御対象機器２０、入力機器３０、及び出力機器４０を制御するために用いられる。
【００１３】
実施の形態１において、制御装置１００は、プログラマブルコントローラ（ＰＬＣ：Programmable  Logic  Controllers）である。プログラマブルコントローラは、ＪＩＳ（日本工業規格）  Ｂ  ３５０２：２０１１により規定されたものである。制御装置１００は、周辺機器である制御対象機器２０、入力機器３０、出力機器４０を制御する装置であればよく、プログラマブルコントローラに限定されるものではない。以下、周辺機器である制御対象機器２０、入力機器３０、及び出力機器４０を機器と総称する場合がある。
【００１４】
制御装置１００は、通信回線を介して、制御対象機器２０、入力機器３０、及び出力機器４０に接続される。制御対象機器２０として、産業用ロボット、工作機械、組立装置、搬送装置、仕分装置、室外機、室内機、ポンプ、バルブ及びファンなどが例示されるが、特にこれらに限定されない。入力機器３０として、制御対象機器２０に接続された切り換えスイッチ、押しボタン、リレー、タッチパネルなどが例示される。出力機器４０として、制御対象機器２０に接続されたランプ、コンダクタ、電磁弁、タッチパネル式のモニタなどが例示される。実施の形態１において、制御装置１００が複数の機器を制御するが、この例に特に限定される必要はない。１台の制御装置１００が１台の機器を制御してもよい。この場合、制御装置１００と機器とがそれぞれ１台のみであってもよいし、制御装置１００と機器とがそれぞれ複数かつ同数であってもよい。
【００１５】
プログラム作成装置１０は、制御装置１００が機器を制御するために実行するコンピュータプログラムを作成する。実施の形態１において、プログラム作成装置１０は、パーソナルコンピュータのような汎用のコンピュータである。
【００１６】
図２は、実施の形態１に係るプログラム作成装置１０の機能構成の一例を示すブロック図である。プログラム作成装置１０は、入力部１１と、通信制御部１２と、記憶部１３と、演算処理部１４と、表示部１５とを備え、以下に説明するプログラム作成装置１０の処理の機能又は作用を実行又は実現する。プログラム作成装置１０は、情報処理装置の一例である。
【００１７】
入力部１１は、たとえばキーボードおよびポインティングデバイス等により構成され、プログラム作成装置１０に対する各種入力を処理する。
【００１８】
通信制御部１２は、通信インターフェースにより構成され、通信回線を介して接続された制御装置１００との間で行われる通信を制御する。
【００１９】
記憶部１３は、図示しない不揮発性記憶装置及び揮発性記憶装置で構成され、演算処理部１４により実行される各種プログラム及び各種データを記憶する。記憶部１３は、ラダー図などのプログラミング言語を用いて、いわゆるシーケンスプログラムであるＰＬＣプログラムを作成及び編集する機能を備えたアプリケーションプログラムであるＰＬＣ開発ツール１３Ａを記憶する。
【００２０】
演算処理部１４は、ＣＰＵ（Central  Processing  Unit）などのプロセッサにより構成され、記憶部１３に記憶されたプログラムを実行することによって、プログラム作成装置１０の各種処理を実現する。演算処理部１４は、ＰＬＣ開発ツール１３Ａを用いてＰＬＣプロジェクトの開発者又はエンドユーザがプログラミング言語を用いて行うＰＬＣプログラムの作成処理を実行する。演算処理部１４は、プログラミング言語を用いて作成されたＰＬＣプログラムを機械語に変換し、変換したＰＬＣプログラムを、通信制御部１２を介して、制御装置１００に格納する。
【００２１】
表示部１５は、ＬＣＤ（Liquid  Crystal  Display）等により構成され、各種情報を表示する。表示部１５は、たとえば以下に説明するＰＬＣプロジェクトを作成する際に実行されるＰＬＣ開発ツール１３Ａの各種操作ウィンドウを表示できる。
【００２２】
ここで、図３〜図５を参照しつつ、比較例に係る制御装置１００ＥＸに対するＰＬＣプロジェクト及びＰＬＣプログラムの作成の概要について説明する。図３は、比較例に係る制御装置１００ＥＸの機能構成の一例を示すブロック図である。比較例に係る制御装置１００ＥＸは、プロジェクトごとにパスワードを設定して、ＰＬＣプログラムの改変を防止する装置である。
【００２３】
制御装置１００ＥＸは、通信制御部１１０ＥＸと、制御部１２０ＥＸと、パスワード管理部１３０ＥＸと、プロジェクト格納領域１４０ＥＸと、デバイス１５０ＥＸとを備える。
【００２４】
通信制御部１１０ＥＸは、通信回線を介して接続されたプログラム作成装置１０との間で行われる通信を制御する。制御部１２０ＥＸは、いわゆるシーケンスプログラムであるＰＬＣプログラムによる演算処理を実行して、制御対象機器２０のシーケンス制御を実行する。パスワード管理部１３０ＥＸは、ＰＬＣプロジェクトに設定されたパスワードを管理する。ここで、ＰＬＣプロジェクトとは、ＰＬＣプログラムを機能ごとに分割したものを指す。プロジェクト格納領域１４０ＥＸは、機能ごとに分割されたＰＬＣプログラムをＰＬＣプロジェクトとして格納する。
【００２５】
デバイス１５０ＥＸは、ＰＬＣプログラムのラダー回路で用いられるデバイス値を記憶しておくメモリ領域であり、制御装置１００ＥＸと機器との間でやり取りされるデバイス値であるデータを保管する。デバイス１５０ＥＸは、各ＰＬＣプロジェクトで利用されるプロジェクト間で共通のインターフェースデバイスである共通デバイス１５１ＥＸを備える。
【００２６】
制御装置１００ＥＸは、プログラム作成装置１０によって作成されたＰＬＣプログラムを実行することにより、制御対象機器２０及び出力機器４０のシーケンス制御を実行する。すなわち、制御装置１００ＥＸは、プロジェクト格納領域１４０ＥＸに書き込まれたＰＬＣプログラムを読み出し、ＰＬＣプログラムの解析を実行する。そして、制御装置１００ＥＸは、制御対象機器２０又は入力機器３０から入力されたデータに対し、解析結果のシーケンス処理を実行し、処理結果をデバイス１５０ＥＸに出力することにより、制御対象機器２０及び出力機器４０のシーケンス制御を実行する。
【００２７】
ＰＬＣプロジェクトの開発者（以下、「プロジェクト開発者」と記載する）は、プログラム作成装置１０においてＰＬＣ開発ツール１３Ａを立ち上げ、ＰＬＣ開発ツール１３Ａにより制御装置１００ＥＸの制御部１２０ＥＸにアクセスする。そして、プロジェクト開発者は、ＰＬＣプロジェクトを作成する。
【００２８】
図４を用いて、ＰＬＣ開発ツール１３ＡによるＰＬＣプロジェクトの作成の詳細について説明する。図４は、比較例に係るＰＬＣ開発ツール１３Ａの操作ウィンドウの一例を示す図である。プロジェクト開発者は、プロジェクト格納領域１４０ＥＸの構造を作成する際に、図４に示す操作ウィンドウＷ１を表示部１５に表示させる。そして、プロジェクト開発者は、かかる操作ウィンドウＷ１上でプロジェクトの動作に関するパラメータを設定する際、プロジェクト格納領域１４０ＥＸに対して、プロジェクト編集用のパスワードを設定する（たとえば、図３に示すパスワード：「１２３４」）。これにより、プロジェクト格納領域１４０ＥＸにアクセスするためにはパスワードの入力が必要となる。
【００２９】
プロジェクト開発者は、任意の数のＰＬＣプロジェクトを作成できる。図３及び図４に示す例では、３つのＰＬＣプロジェクトが作成される例を示している。作成可能なＰＬＣプロジェクトの数は、制御装置１００ＥＸに搭載されるメモリの容量に応じて最大数が決定される。図４に示す例では、作成可能なＰＬＣプロジェクトの最大数が「６つ」である。
【００３０】
最大プロジェクトＮｏ．の表示領域Ａ１には、「０１」から自動的に採番されたプロジェクト番号が表示される。プロジェクト番号は、ＰＬＣプロジェクトのプロジェクト名として管理され、ＰＬＣプロジェクトを特定する情報としても機能する。
【００３１】
また、操作ウィンドウＷ１におけるプロジェクト表示領域Ａ２には、各ＰＬＣプロジェクトに対してそれぞれ設定されたパラメータが表示される。プロジェクト表示領域Ａ２は、「プロジェクトＮＯ．」の項目と、「プロジェクト割合（％）」の項目と、「実行プロジェクト」の項目と、「実行順序」の項目と、「パスワード」の項目とを備える。「プロジェクトＮＯ．」の項目には、プロジェクト番号が設定される。「プロジェクト割合（％）」の項目には、データ格納領域のサイズが設定される。「実行プロジェクト」の項目には、実行するＰＬＣプロジェクトのＯＮ又はＯＦＦが設定される。「実行順序」の項目には、プロジェクトの実行順序が設定される。「パスワード」の項目には、パスワードが設定される。
【００３２】
プロジェクト表示領域Ａ２の「パスワード」の項目にパスワードが設定されている場合、該当の入力エリアに「＊＊＊＊」が表示される（図４のＰ１参照）。また、他のプロジェクトと同一のパスワードが設定されている場合、該当の入力エリアに対応するプロジェクト番号が表示される（図４のＰ２参照）。パスワードを設定しない場合、プロジェクト表示領域Ａ２の「パスワード」の項目は空欄となる。なお、パスワードを設定しない場合、パスワードが設定されてないことを示す値が表示されてもよい。
【００３３】
プロジェクト開発者により操作ウィンドウＷ１上で設定されたＰＬＣプロジェクトの詳細は、制御部１２０ＥＸを介して、プロジェクト格納領域１４０ＥＸに書き込まれる。また、プロジェクト開発者により、ＰＬＣプロジェクトごとに設定されたパスワードは、パスワード管理部１３０ＥＸで管理される。
【００３４】
図５は、比較例に係るパスワード管理部１３０ＥＸで管理されるパスワード情報の一例を示す図である。パスワード管理部１３０ＥＸにより管理されるパスワード情報は、プロジェクト情報の項目と、パスワードの項目とを含み、これらの項目が対応付けられている。プロジェクト情報の項目には、プロジェクト格納領域番号およびプロジェクト番号が記憶される。ファイルには、対象ＰＬＣプログラムが記憶される。パスワードの項目には、プロジェクトごとに設定されたパスワードが記憶される。
【００３５】
ＰＬＣ開発ツール１３Ａを用いてＰＬＣプロジェクト格納領域１４０ＥＸの構造を編集する際には、プロジェクト格納領域１４０ＥＸに設定されたパスワードが必要になる。ＰＬＣプロジェクト格納領域１４０ＥＸの構造の編集としては、プロジェクトの数を増やす、データ格納領域のサイズを変更する、実行順序を変更するなどが例示される。また、ＰＬＣ開発ツール１３Ａを用いてＰＬＣプロジェクトを編集する際には、ＰＬＣプロジェクトごとに設定されたパスワードがそれぞれ必要となる。
【００３６】
プロジェクト格納領域１４０ＥＸの構造を編集する場合の例を示すと、制御部１２０ＥＸは、ＰＬＣ開発ツール１３Ａを用いて、プロジェクト格納領域１４０ＥＸに対するアクセスを受け付けると、パスワードの入力を要求する。そして、制御部１２０は、パスワードの入力を受け付けると、パスワード管理部１３０ＥＸにパスワードの確認依頼を送る。パスワード管理部１３０ＥＸは、入力されたパスワードと、管理しているパスワード情報とを照合し、編集の可否を制御部１２０ＥＸに返す。制御部１２０ＥＸは、パスワード管理部１３０ＥＸから受け取った編集の可否に基づいて、ＰＬＣプロジェクトの編集を許可する。
【００３７】
上述してきた比較例では、パスワードが掛けられていないプロジェクトをエンドユーザが編集すれば、自由にＰＬＣプログラムを作り、センサの追加も可能となる。しかし、エンドユーザがインターフェースを自由に使用すると、制御対象機器２０を誤作動させてしまうおそれがある。
【００３８】
このような事態を鑑み、実施の形態１に係る制御装置１００は、プロジェクトごとに制御対象機器２０にアクセスするインターフェースデバイスを制限する。これにより、プロジェクト開発者の作業負担を軽減しつつ、制御対象機器２０の誤作動を防止できる制御装置１００を提供できる。
【００３９】
図６は、実施の形態１に係る制御装置１００の機能構成の一例を示すブロック図である。実施の形態１に係る制御装置１００は、通信制御部１１０と、制御部１２０と、パスワード管理部１３０と、プロジェクト格納領域１４０と、デバイス１５０と、デバイス情報記憶部１６０と、デバイス判断部１７０とを備える。実施の形態１に係る制御装置１００は、比較例に係る制御装置１００ＥＸと以下に説明する点が相違する。
【００４０】
図６に示す例において、プロジェクト格納領域１４０は、制御対象機器２０を第１の機能と第２の機能により制御するための制御プログラムを、第１の機能を実行するための開発者プロジェクト１４０ａ，１４０ｂと、第２の機能を実行するためのユーザプロジェクト１４０ｃと、に分割して格納する。たとえば開発者プロジェクト１４０ａ，１４０ｂはプロジェクト開発者により作成され、ユーザプロジェクト１４０ｃはエンドユーザにより作成される。開発者プロジェクト１４０ａ，１４０ｂには、それぞれ、制御対象機器２０を第１の機能により制御するＰＬＣプログラムが格納される。ユーザプロジェクト１４０ｃには、制御対象機器２０を第２の機能により制御するＰＬＣプログラムが格納される。開発者プロジェクト１４０ａ，１４０ｂは第１の機能を実行するための第１のプロジェクトの一例であり、ユーザプロジェクト１４０ｃは第２の機能を実行するための第２のプロジェクトの一例である。
【００４１】
デバイス１５０は、制御対象機器２０を制御するためのデバイス値を記憶する複数のデバイスを有するインターフェースデバイスであり、共通デバイス１５１とユーザ用デバイス１５２とを備える。共通デバイス１５１及びユーザ用デバイス１５２は、ＰＬＣ開発ツール１３Ａを利用して、プロジェクト開発者により事前に設定される。デバイス１５０には、割当したプロジェクトが独立して利用可能な（他のプロジェクトが利用できない）デバイスと、各プロジェクトによる共通利用が可能なデバイスと、独立又は共通利用のいずれかを選択して使用するデバイスが設定される。共通デバイス１５１は、プロジェクトによる共通利用が可能なデバイス、及び独立又は共通利用のいずれかを選択して使用するデバイスの中から割り当てられる。
【００４２】
共通デバイス１５１は、デバイス情報記憶部１６０に記憶される複数のデバイスの情報に基づいて設定された、開発者プロジェクト１４０ａ，１４０ｂにより書き込み可能なデバイスである。共通デバイス１５１は、制御対象機器２０とのデータ通信に用いられるインターフェースデバイスが共通デバイス１５１として割り当てられる。共通デバイス１５１は、開発者プロジェクト１４０ａ，１４０ｂに格納されるＰＬＣプログラムにより利用される。共通デバイス１５１は、開発者プロジェクト１４０ａ，１４０ｂによる書き込みが可能である。すなわち、開発者プロジェクト１４０ａ，１４０ｂに格納されるＰＬＣプログラムは、共通デバイス１５１に対するデータの出力（書き込み）、及び共通デバイス１５１からのデータの入力（読み出し）を行う。一方で、ユーザプロジェクト１４０ｃは、共通デバイス１５１への書き込みが制限される。すなわち、共通デバイス１５１に対して、ユーザプロジェクト１４０ｃに格納されるＰＬＣプログラムはデータの出力を行うことができない。なお、共通デバイス１５１から、ユーザプロジェクト１４０ｃに格納されるＰＬＣプログラムはデータの入力（読み出し）を行うことは可能である。共通デバイス１５１は第１のプロジェクトの一例である開発者プロジェクト１４０ａ，１４０ｂにより書き込み可能な第１デバイスの一例である。
【００４３】
また、ユーザ用デバイス１５２は、デバイス情報記憶部１６０に記憶される複数のデバイスの情報に基づいて設定された、ユーザプロジェクト１４０ｃが書き込み可能なデバイスである。ユーザ用デバイス１５２は、プロジェクト開発者がエンドユーザの利用するインターフェースデバイスを共通デバイス１５１の中から割り当てたものである。ユーザ用デバイス１５２は、たとえばエンドユーザが接続可能なＩ／Ｏポートに割り当てられる。ユーザ用デバイス１５２は、ユーザプロジェクト１４０ｃに格納されるＰＬＣプログラムにより利用される。ユーザプロジェクト１４０ｃに格納されるＰＬＣプログラムは、ユーザ用デバイス１５２に対するデータの出力（書き込み）、及びユーザ用デバイス１５２からのデータの入力（読み出し）を行う。ユーザ用デバイス１５２は第２プロジェクトの一例であるユーザプロジェクト１４０ｃが書き込み可能な第２デバイスの一例である。
【００４４】
デバイス情報記憶部１６０は、開発者プロジェクト１４０ａ，１４０ｂ及びユーザプロジェクト１４０ｃに対応付けて、予め設定された使用可能な複数のデバイスの情報を記憶する。デバイス情報記憶部１６０は、たとえば開発者プロジェクト１４０ａ，１４０ｂ及びユーザプロジェクト１４０ｃを特定する情報に対応付けて、複数のデバイスの情報を記憶する。開発者プロジェクト１４０ａ，１４０ｂ及びユーザプロジェクト１４０ｃを特定する情報として、プロジェクトごとに自動的に採番されるプロジェクト番号（プロジェクト名）が例示される。デバイス情報記憶部１６０に記憶される情報は、ＰＬＣ開発ツール１３Ａを利用して、プロジェクト開発者により事前に設定される。これにより共通デバイス１５１の中のユーザ用デバイス１５２の点数が決定される。
【００４５】
図７は、実施の形態１に係るインターフェースデバイスの設定の一例を示す図である。プロジェクト開発者は、プロジェクト作成時に、ＰＬＣ開発ツール１３Ａを用いて、各プロジェクトで使用可能なインターフェースデバイスの点数の設定を行う。
【００４６】
図７に示す操作ウィンドウＷ２は、デバイス点数設定領域Ａ３を有する。デバイス点数設定領域Ａ３には、各プロジェクト番号（プロジェクト名）に対応付けて、それぞれのプロジェクトが使用可能なデバイス点数が設定される。それぞれのプロジェクトが使用できるデバイス点数を予め設定することにより、それぞれのプロジェクトのアクセスを制限できる。
【００４７】
たとえば、図７には、デバイス１５０が有する複数のインターフェースデバイスの名称「Ｍ」，「Ｌ」，「Ｂ」，「Ｆ」，「ＳＢ」，「Ｖ」，「Ｓ」，「Ｔ」，「ＳＴ」，「Ｃ」，「Ｄ」，「Ｗ」，「ＳＷ」が示される。また、図７には、開発者プロジェクト１４０ａ，１４０ｂに対応するプロジェクト番号「０１」，「０２」と、ユーザプロジェクト１４０ｃに対応するプロジェクト番号「０３」が示される。
【００４８】
図７において、プロジェクト番号「０１」で示される開発者プロジェクト１４０ａに対して「Ｍ」，「Ｌ」，「Ｂ」，「ＳＢ」，「Ｖ」，「Ｔ」，「ＳＴ」，「Ｃ」，「Ｄ」，「Ｗ」，「ＳＷ」の各デバイスが割り当てられている。そして、各デバイスにはデバイス点数が設定されている。たとえば、Ｌデバイスに設定された点数は「１０２４」であり、かかるデバイスは、プロジェクト番号「０１」の開発者プロジェクト１４０ａ（ＰＬＣプログラム）の読み書き処理にのみ利用される。
【００４９】
また、図７において、プロジェクト番号「０２」で示される開発者プロジェクト１４０ｂに対して「Ｍ」，「Ｌ」，「Ｂ」，「ＳＢ」，「Ｖ」，「Ｔ」，「ＳＴ」，「Ｃ」，「Ｄ」，「Ｗ」，「ＳＷ」の各デバイスが割り当てられている。そして、各デバイスにはデバイス点数が設定されている。たとえば、Ｂデバイスに設定された点数は「２０４８０」であり、かかるデバイスは、プロジェクト番号「０２」の開発者プロジェクト１４０ｂ（ＰＬＣプログラム）の読み書き処理にのみ利用される。
【００５０】
また、図７において、プロジェクト番号「０３」で示されるユーザプロジェクト１４０ｃに対して、「Ｍ」，「ＳＷ」の各デバイスが割り当てられており、それぞれのデバイスにデバイス点数が設定されている。たとえば、Ｍデバイスに設定された点数は「１６９６０」であり、かかるデバイスは、プロジェクト番号「０３」のユーザプロジェクト１４０ｃ（ＰＬＣプログラム）の読み書き処理にのみ利用される。製造メーカは、ユーザプロジェクト１４０ｃに対応するプロジェクト番号と利用可能なデバイスを仕様説明書等で予め伝達できる。
【００５１】
以上が、各プロジェクトが、それぞれ個別にデータの書き込み及びデータの読み出しが可能なデバイスの設定例である。
【００５２】
また、図７に示す操作ウィンドウＷ２は、共通デバイス点数設定領域Ａ４を有する。図７に示す例では、プロジェクト番号「０１」〜「０３」で示される開発者プロジェクト１４０ａ，１４０ｂ及びユーザプロジェクト１４０ｃが使用可能な共通デバイス１５１としてＭデバイス、及びＦデバイスが割り当てられている。
【００５３】
上述したように、デバイス１５０は、各プロジェクトごとに、プロジェクト開発者がインターフェースデバイスの点数を事前に設定することにより、共通デバイス１５１の中のユーザ用デバイス１５２を区分する。そして、ユーザ用デバイス１５２にはエンドユーザが利用可能なＩ／Ｏポートを予め割り当てておく。このため、ユーザプロジェクト１４０ｃに格納されるＰＬＣプログラムから、エンドユーザが利用可能なＩ／Ｏポートに接続された機器に対するデータの出力が行われ、共通デバイス１５１に対するデータの出力が行われることはない。よって、ユーザプロジェクト１４０ｃの設定の誤りなどを原因として、制御対象機器２０が誤作動を起こすことはない。
【００５４】
デバイス判断部１７０は、エンドユーザにより作成され、制御装置１００に書き込まれるＰＬＣプログラムによる出力が、ユーザプロジェクト１４０ｃにより使用可能なインターフェースデバイスに対して行われるものであるかどうかを判定する。
【００５５】
デバイス判断部１７０は、制御部１２０からデバイス確認依頼を受け取り、デバイス確認依頼に含まれるプロジェクト番号と使用デバイスの情報を取得する。デバイス判断部１７０は、デバイス確認依頼に含まれるプロジェクト番号に基づいて、デバイス確認依頼に含まれる使用デバイスが、デバイス情報記憶部１６０に記憶された使用可能デバイスと一致するか否かを判定する。デバイス判断部１７０は、デバイス確認依頼に含まれる使用デバイスが使用可能デバイスと一致する場合、ユーザプロジェクト１４０ｃが書き込み可能である旨の判断結果を制御部１２０に返す。一方、デバイス判断部１７０は、デバイス確認依頼に含まれる使用デバイスが使用可能デバイスと一致しない場合、ユーザプロジェクト１４０ｃが書き込み不可である旨の判断結果を制御部１２０に返す。
【００５６】
制御部１２０は、ＰＬＣ開発ツール１３Ａにより、プロジェクトの編集（書き込み）要求を受け付けると、開発者プロジェクト１４０ａ，１４０ｂの編集か、ユーザプロジェクト１４０ｃの編集かを判別する。そして、制御部１２０は、ユーザプロジェクト１４０ｃの編集の場合、デバイス確認依頼をデバイス判断部１７０に送る。制御部１２０は、ユーザプロジェクト１４０ｃが書き込み可能である旨の判断結果を受け取ると、エンドユーザにより書き込まれたユーザプロジェクト１４０ｃをプロジェクト格納領域１４０に書き込む。一方、制御部１２０は、ユーザプロジェクト１４０ｃが書き込み不可である旨の判断結果を受け取ると、ＰＬＣ開発ツール１３Ａを介して、エンドユーザに対して、使用できないデバイスが設定されている旨を通知し、ユーザプロジェクト１４０ｃの書き込みを実行しない。
【００５７】
図８は、実施の形態１に係るデバイス判断部１７０による処理の手順の一例を示すフローチャートである。
【００５８】
図８に示すように、デバイス判断部１７０は、制御部１２０からデバイス確認依頼を取得したか否かを判定する（ステップＳ１０１）。
【００５９】
デバイス判断部１７０は、制御部１２０からデバイス確認依頼を取得していないと判定した場合（ステップＳ１０１；Ｎｏ）、図８に示す処理を終了する。
【００６０】
一方、デバイス判断部１７０は、制御部１２０からデバイス確認依頼を取得したと判定した場合（ステップＳ１０１；Ｙｅｓ）、デバイス確認依頼に含まれる使用デバイスを使用可能であるか否かを判定する（ステップＳ１０２）。具体的には、デバイス判断部１７０は、デバイス確認依頼に含まれるプロジェクト番号に対応する使用可能デバイスの情報をデバイス情報記憶部１６０から取得する。そして、デバイス判断部１７０は、デバイス確認依頼に含まれる使用デバイスが使用可能デバイスに一致するか否かを判定する。
【００６１】
デバイス判断部１７０は、使用デバイスが使用可能であると判定した場合（ステップＳ１０２；Ｙｅｓ）、プロジェクトの書き込みが可能である旨の判断結果を制御部１２０に送付して（ステップＳ１０３）、図８に示す処理を終了する。
【００６２】
一方、デバイス判断部１７０は、使用デバイスが使用不可であると判定した場合（ステップＳ１０２；Ｎｏ）、プロジェクトの書き込みが不可である旨の判断結果を制御部１２０に送付して（ステップＳ１０４）、図８に示す処理を終了する。
【００６３】
図９は、実施の形態１に係る制御装置１００の制御部１２０及びデバイス判断部１７０がプロセッサで実現される場合のハードウェア構成例を示す図である。
【００６４】
制御装置１００が備える制御部１２０及びデバイス判断部１７０の機能は、プロセッサ３０１によって実現される。プロセッサ３０１は、ＣＰＵ（Central  Processing  Unit）、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、又はＤＳＰ（Digital  Signal  Processor）ともいう。
【００６５】
この場合、制御部１２０及びデバイス判断部１７０の機能は、ソフトウェア、ファームウェア、又はソフトウェアとファームウェアとの組合せにより実現される。ソフトウェア及びファームウェアはプログラムとして記述され、メモリ３０２に記憶される。プロセッサ３０１は、メモリ３０２に記憶されたプログラムを読み出して実行することにより、制御部１２０及びデバイス判断部１７０の機能を実現する。
【００６６】
メモリ３０２に記憶されたプログラムは、制御部１２０及びデバイス判断部１７０が実行する手順及び実施の形態１に係る方法をコンピュータに実行させるものであるともいえる。
【００６７】
メモリ３０２は、ＲＡＭ（Random  Access  Memory）、ＲＯＭ（Read  Only  Memory）、フラッシュメモリ、ＥＰＲＯＭ（Erasable  Programmable  Read  Only  Memory）、及びＥＥＰＲＯＭ（登録商標）（Electrically  Erasable  Programmable  Read  Only  Memory）といった揮発性又は不揮発性の半導体メモリ、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、及びＤＶＤ（Digital  Versatile  Disc）が該当する。
【００６８】
実施の形態１において、メモリ３０２は、ＲＡＭのような揮発性記憶装置と、ＲＯＭのような不揮発性記憶装置とを有する。不揮発性記憶装置には、制御部１２０及びデバイス判断部１７０の機能を実現するためのプログラムと、プログラムの作成時に用いられる設定データとが記憶される。設定データには、パスワード管理部１３０に格納されるパスワード情報、及びデバイス情報記憶部１６０に記憶される使用可能デバイスの情報が含まれる。プロセッサ３０１が処理を実行する際のワークメモリとして、揮発性記憶装置が適宜使用される。
【００６９】
制御装置１００が備える制御部１２０及びデバイス判断部１７０の機能は、専用のハードウェアである処理回路４０１によって実現されてもよい。図１０は、実施の形態１に係る制御装置１００の制御部１２０及びデバイス判断部１７０が処理回路４０１で実現される場合のハードウェア構成例を示す図である。この場合、処理回路４０１は、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ＡＳＩＣ（Application  Specific  Integrated  Circuit）、ＦＰＧＡ（Field  Programmable  Gate  Array）、又はこれらを組み合わせたものが該当する。制御部１２０及びデバイス判断部１７０の機能が複数ある場合、それぞれの機能を異なる処理回路４０１が実現してもよいし、それぞれの機能をまとめて１つの処理回路４０１が実現してもよい。
【００７０】
制御部１２０及びデバイス判断部１７０の機能は、一部が専用のハードウェアで実現され、一部がソフトウェア又はファームウェアで実現されてもよい。このように、制御装置１００は、ハードウェア、ソフトウェア、ファームウェア又はこれらの組合せによって、制御部１２０及びデバイス判断部１７０の機能を実現することができる。
【００７１】
上述してきたように、実施の形態１に係る制御装置１００は、プロジェクト格納領域１４０と、デバイス１５０と、デバイス情報記憶部１６０と、制御対象機器２０を制御する制御部１２０とを備える。デバイス１５０は、制御対象機器２０を制御するためのデバイス値を記憶する複数のデバイスを有する。プロジェクト格納領域１４０は、制御対象機器２０を第１の機能と第２の機能により制御するための制御プログラムを、第１の機能を実行するための開発者プロジェクト１４０ａ，１４０ｂと、第２の機能を実行するためのユーザプロジェクト１４０ｃと、に分割して格納する。デバイス情報記憶部１６０は、開発者プロジェクト１４０ａ，１４０ｂ及びユーザプロジェクト１４０ｃに対応付けて、予め設定された使用可能な複数のデバイスの情報を記憶する。デバイス１５０は、デバイス情報記憶部１６０に記憶される情報に基づいて設定された、開発者プロジェクト１４０ａ，１４０ｂにより書き込み可能な共通デバイス１５１と、ユーザプロジェクト１４０ｃが書き込み可能なユーザ用デバイス１５２と、を含み、ユーザプロジェクト１４０ｃは、共通デバイス１５１への書き込みが制限される。このため、実施の形態１に係る制御装置１００によれば、ユーザ用デバイス１５２以外の共通デバイス１５１に対して、エンドユーザが作成したユーザプロジェクト１４０ｃに格納されるＰＬＣプログラムからデータの出力（書き込み）が行われることがない。よって、実施形態１に係る制御装置１００によれば、エンドユーザがＰＬＣプログラムを作成しても、デバイスの設定の誤りなどを原因として、制御対象機器２０の動作に影響を与えることを防止できる。また、エンドユーザによるプロジェクトの変更及び追加に伴ってプロジェクト開発者の作業負担が発生することがなく、プロジェクト開発者の作業負担を軽減できる。
【００７２】
例えば、ＮＣ（Numerical  Control）加工制御を行うＰＬＣプログラムを実行する場合、工作機械の製造メーカは第１のプロジェクトとしてＮＣ制御装置のＮＣ加工プログラムを起動する機能を、第３のプロジェクトとしてクーラントがＯＮされる機能をＰＬＣプログラムとして作成しているとする。一方で、ユーザが独自に温度センサを取り付けて温度センサをＯＮとする第２のプロジェクトと、温度異常の際にランプをＯＮとする第４のプロジェクトと、をＰＬＣプログラムに追加したい場合があるとする。このとき、第１のプロジェクトと第３のプロジェクトに使用される第１のデバイスは、ＮＣ加工の誤作動につながる可能性があるデバイスであるため、ユーザには書き込み制限をする必要がある。
【００７３】
そこで、本実施の形態を用いれば、第１のデバイスは第２及び第４のプロジェクトからは書き込み制限を行い、第２及び第４のプロジェクトは第２のデバイスを用いてそれぞれの機能を実行することが可能になるため、ＰＬＣプログラムの変更における製造メーカの作業負担を軽減しつつ、制御対象機器２０の誤作動を防止できるという効果を奏する。
【００７４】
また、上記の実施の形態１では、デバイス情報記憶部１６０が、プロジェクト番号に対応付けて、使用可能なインターフェースデバイスの点数を記憶する。このため、実施の形態１に係る制御装置１００は、インターフェースデバイスに対するアクセスの制限をプロジェクトごとに簡易に設定できる。上記の実施の形態１では、デバイス情報記憶部１６０が、プロジェクト番号に対応付けて、使用可能なインターフェースデバイスの点数を記憶する例を説明したが、この例には特に限定される必要はない。たとえば、インターフェースデバイスの点数の代わりに、開発者プロジェクト１４０ａ，１４０ｂ、及びユーザプロジェクト１４０ｃが使用可能な共通デバイス１５１のデバイス番号を設定してもよい。
【００７５】
上述した実施の形態１に係る制御装置１００の変形例を説明する。制御装置１００の制御部１２０は、ユーザ用デバイス１５２に格納されたデータを取り込み、取り込んだデータに問題がない場合にのみ、共通デバイス１５１に出力するシーケンス制御を実行してもよい。図１１は、変形例に係る制御装置１００の機能構成の一例を示すブロック図である。
【００７６】
図１１に示すように、プロジェクト格納領域１４０に格納された開発者プロジェクト１４０ｄは、ユーザインターフェースプログラムを備える。ユーザインターフェースプログラムは、ユーザ用デバイス１５２からデータを取り込み、取り込んだデータの設定が制御対象機器２０の動作に影響を与えない場合に、共通デバイス１５１に出力するシーケンス制御を実行するための機能を有する。開発者プロジェクト１４０ｄは、第１の機能を実行するための第１のプロジェクトの一例である。ユーザインターフェースプログラムは、判定機能部の一例である。
【００７７】
制御対象機器２０の動作に影響を与えない場合の１つとしてタイミングが挙げられる。例えば加工中には変更すると誤動作する可能性のあるデバイスがあれば、加工停止中のみユーザ用デバイス１５２の値を共通デバイス１５１に反映するような仕組みをユーザインターフェースプログラムに備える。
【００７８】
制御対象機器２０の動作に影響を与えない場合の別の例として、ユーザ用デバイス１５２から取り込んだデータの設定が共通デバイス１５１において自由な設定が行われても問題がない共通デバイス１５１（機械の操作パネル上のスイッチ及びＬＥＤ点灯制御、エンドユーザが追加したセンサ制御で使用する機械に影響を与えない信号の共通デバイス出力等）のみ、出力できるようにユーザインターフェースプログラムを作成すれば良い。プロジェクト開発者は、共通デバイス１５１において自由な設定が行われても問題がないインターフェースデバイスと、ユーザ用デバイス１５２との関係について、仕様説明書等によりエンドユーザに予め伝達できる。
【００７９】
このように、変形例に係る制御装置１００によれば、開発者プロジェクト１４０ｄに格納されたユーザインターフェースプログラムが有する機能を介して、ユーザプロジェクト１４０ｃのＰＬＣプログラムは、共通デバイス１５１にアクセスできる。すなわち、変形例に係る制御装置１００によれば、プロジェクト開発者が共通デバイス１５１への出力を一元管理することができ、制御対象機器２０の安全性を向上できる。
【００８０】
実施の形態２．
上記の実施の形態１において、制御装置１００は、プロジェクト開発者及びエンドユーザによるインターフェースデバイスの設定操作をアシストする機能を備えてもよい。図１２は、実施の形態２に係る制御装置１００の機能構成の一例を示すブロック図である。図１２に示す制御装置１００の機能構成は、以下に説明する点が実施の形態１とは相違する。
【００８１】
実施の形態２に係る制御装置１００の制御部１２０は、表示処理部１２０ａを備える。表示処理部１２０ａは、たとえばプロジェクト開発者からのリクエストに応じて、共通デバイス１５１として設定可能なインターフェースデバイスの情報をプログラム作成装置１０に提供する。
【００８２】
図１３は、実施の形態２に係るプロジェクト開発者向けの共通デバイスの一覧情報の表示例を示す図である。図１３に示す一覧情報Ｊ１は、制御部１２０の表示処理部１２０ａが、図１３に示すプロジェクト開発者Ｕ１が操作するプログラム作成装置１０から送信された表示リクエストに応じて、プログラム作成装置１０に提供される。表示リクエストは、図１３に示すプロジェクト開発者Ｕ１が、プログラム作成装置１０においてＰＬＣ開発ツール１３Ａを実行することにより送信できる。
【００８３】
図１３に示す操作ウィンドウＷ３には、プロジェクトごとのインターフェースデバイスの点数が設定されている。図１３に示す例において、プロジェクト番号「０１」，「０２」で示される各開発者プロジェクト１４０ａ，１４０ｂに対して、それぞれ同一のデバイス点数「１７１２０」が設定されている。また、プロジェクト番号「０３」で示されるユーザプロジェクト１４０ｃには、デバイス点数「１６９６０」が設定されている。
【００８４】
また、図１３に示す操作ウィンドウＷ３には、開発者プロジェクト１４０ａ，１４０ｂ及びユーザプロジェクト１４０ｃ等が共通で利用する共通デバイス１５１の点数として、「１０２４０」が設定されている。図１３に示す操作ウィンドウＷ３は、共通デバイス１５１のうち、各プロジェクトで使用可能なインターフェースデバイスの一覧情報Ｊ１を表示する。一覧情報Ｊ１は、デバイス名と、プロジェクトごとが使用可能なインターフェースデバイスの点数の情報とを対応付けて表示している。たとえば一覧情報Ｊ１は、プロジェクト番号「０１」で示される開発者プロジェクト１４０ａが使用可能なインターフェースデバイスの点数として「０〜９９９９」を表示する。また、一覧情報Ｊ１は、プロジェクト番号「０２」で示される開発者プロジェクト１４０ｂが使用可能なインターフェースデバイスの点数として「０〜９９９９」を表示する。また、一覧情報Ｊ１は、プロジェクト番号「０３」で示されるユーザプロジェクト１４０ｃが使用可能なインターフェースデバイスの点数として「１００００〜１０２３９」を表示する。
【００８５】
プロジェクト開発者Ｕ１、またはエンドユーザは、一覧情報Ｊ１を参照することにより、共通デバイス１５１の点数「１０２４０」のうち、「０〜９９９９」については、開発者プロジェクト１４０ａ，１４０ｂにより利用可能であることを把握できる。すなわち、点数「０〜９９９９」については、プロジェクト番号「０１」又は「０２」の開発者プロジェクト１４０ａ，１４０ｂのＰＬＣプログラムがデータの書き込み及び読み出しが可能である。
【００８６】
また、プロジェクト開発者Ｕ１、又はエンドユーザは、一覧情報Ｊ１を参照することにより、共通デバイス１５１の点数「１０２４０」のうち、「１００００〜１０２３９」については、開発者プロジェクト１４０ａ，１４０ｂ或いはユーザプロジェクト１４０ｃにより利用可能であることを把握できる。すなわち、点数「０〜９９９９」については、プロジェクト番号「０１」又は「０２」の開発者プロジェクト１４０ａ，１４０ｂのＰＬＣプログラムがデータの書き込み及び読み出し、或いはプロジェクト番号「０３」のユーザプロジェクト１４０ｃのＰＬＣプログラムの読み出しが可能である。
【００８７】
また、実施の形態２に係る制御装置１００は、エンドユーザが共通デバイス１５１として設定可能なインターフェースデバイスの情報をプログラム作成装置１０に提供することもできる。図１４は、実施の形態２に係るデバイス情報の表示処理の流れを示す図である。
【００８８】
図１４に示すように、エンドユーザが利用するプログラム作成装置１０は、デバイス表示要求を制御装置１００に送信する（ステップＳ２０１）。
【００８９】
制御装置１００の表示処理部１２０ａは、プログラム作成装置１０からのデバイス表示要求を受けて、デバイス情報を取得する（ステップＳ２０２）。具体的には、表示処理部１２０ａは、デバイス判断部１７０に対して、デバイス情報の問合せを送る。デバイス判断部１７０は、デバイス情報の問合せに含まれるプロジェクト番号に基づいて、デバイス情報記憶部１６０からデバイス情報を取得し、デバイス情報を表示処理部１２０ａに返す。
【００９０】
制御部１２０の表示処理部１２０ａは、デバイス判断部１７０から取得したデバイス情報を取得すると、取得したデバイス情報の表示をプログラム作成装置１０に要求して（ステップＳ２０３）、図１４に示す処理を終了する。
【００９１】
プログラム作成装置１０は、制御装置１００からデバイス情報の表示要求を受けて、制御装置１００から送られるデバイス情報を一覧情報として表示し（ステップＳ２０４）、図１４に示す処理を終了する。
【００９２】
図１５は、実施の形態２に係るエンドユーザ向けのユーザ用デバイスの一覧情報の表示例を示す図である。
【００９３】
図１５に示す操作ウィンドウＷ４には、一覧情報Ｊ４と、ラダー図Ｇ４と、プルダウンメニューＭ４とが表示される。図１５に示す例において、一覧情報Ｊ４は、デバイス名と、ユーザプロジェクト１４０ｃが使用可能なユーザ用デバイス１５２として設定されたデバイス点数とを対応付けて表示している。たとえばＭデバイスには、プロジェクト番号「０３」のユーザプロジェクト１４０ｃが使用可能なインターフェースデバイスの点数として、「１００００〜１０２３９」が設定されている。図１５に示すエンドユーザＵ２は、一覧情報Ｊ４を参照することにより、ユーザ用デバイス１５２として設定されたインターフェースデバイスの割当てを容易に確認できる。
【００９４】
また、図１５に示す操作ウィンドウＷ４において、プルダウンメニューＭ４は、ラダー図Ｇ４に対するエンドユーザＵ２の操作に応じて表示される。プルダウンメニューＭ４には、エンドユーザＵ２が選択可能なデバイスの情報の一覧が表示される。図１５に示すエンドユーザＵ２は、ラダー図Ｇ４の操作に応じて、プルダウンメニューＭ４により選択可能なデバイスの情報の一覧が表示されるので、インターフェースデバイスの設定を容易に実行でき、ＰＬＣプログラム作成が簡易になる。
【００９５】
図１６は、変形例に係るエンドユーザ向けの共通デバイスの一覧情報の表示例を示す図である。図１６に示すように、図１５に示す操作ウィンドウＷ４には、一覧情報Ｊ４において、ユーザ用デバイス１５２と共通デバイス１５１との対応関係を示す情報Ｊ５がさらに表示される。図１６に示すエンドユーザＵ２がユーザプロジェクト１４０ｃのＰＬＣプログラムから共通デバイス１５１へ出力を行いたい場合、直接の出力は出来ず、共通デバイス１５１に対応するユーザ用デバイス１５２に出力を行い、開発者プロジェクト１４０ｄのユーザインターフェースプログラム経由で、開発者プロジェクト１４０ｄのＰＬＣプログラムから出力する必要がある（図１１参照）。また、ＰＬＣ開発ツール１３Ａは、プルダウンメニューＭ４に表示される使用可能なデバイスの一覧から、デバイスの選択を図１６に示すエンドユーザＵ２から受け付けることにより、ラダー図Ｇ４に直接デバイスを設定する機能を提供してもよい。なお、ユーザ用デバイス１５２と共通デバイス１５１との対応関係については、プロジェクト開発者が事前に設定しておく必要がある。
【００９６】
図１６に示す変形例によれば、エンドユーザＵ２は、上記の情報Ｊ５にて出力したい共通デバイス１５１をどのユーザ用デバイス１５２で出力すればよいかを容易に確認できる。
【００９７】
以上の実施の形態に示した構成は、本発明の内容の一例を示すものであり、別の公知の技術と組み合わせることも可能であるし、本発明の要旨を逸脱しない範囲で、構成の一部を省略、変更することも可能である。
【符号の説明】
【００９８】
１０  プログラム作成装置、２０  制御対象機器、３０  入力機器、４０  出力機器、１００  制御装置、１１０  通信制御部、１２０  制御部、１３０  パスワード管理部、１４０  プロジェクト格納領域、１４０ａ，１４０ｂ  開発者プロジェクト、１４０ｃ  ユーザプロジェクト、１５０  デバイス、１５１  共通デバイス、１５２  ユーザ用デバイス、１６０  デバイス情報記憶部、１７０  デバイス判断部。
【要約】
本発明は、制御対象機器を制御するためのデバイス値を記憶する複数のデバイスを有するインターフェースデバイス（１５０）と、制御対象機器を第１の機能と第２の機能により制御するための制御プログラムを、第１の機能を実行するための第１のプロジェクトと、第２の機能を実行するための第２のプロジェクトと、に分割して格納するプロジェクト格納領域（１４０）と、第１のプロジェクト及び第２のプロジェクトに対応付けて、予め設定された使用可能な複数のデバイスの情報を記憶するデバイス情報記憶部（１６０）と、制御対象機器を制御する制御部（１２０）とを備える制御装置（１００）である。複数のデバイスは、前記情報に基づいて設定された、第１のプロジェクトにより書き込み可能な第１デバイス（１５１）と、第２のプロジェクトが書き込み可能な第２デバイス（１５２）と、を含み、第２のプロジェクトは、第１デバイスへの書き込みが制限される。【図１】
0006644209.tif 000002
【図２】
0006644209.tif 000003
【図３】
0006644209.tif 000004
【図４】
0006644209.tif 000005
【図５】
0006644209.tif 000006
【図６】
0006644209.tif 000007
【図７】
0006644209.tif 000008
【図８】
0006644209.tif 000009
【図９】
0006644209.tif 000010
【図１０】
0006644209.tif 000011
【図１１】
0006644209.tif 000012
【図１２】
0006644209.tif 000013
【図１３】
0006644209.tif 000014
【図１４】
0006644209.tif 000015
【図１５】
0006644209.tif 000016
【図１６】
0006644209.tif 000017