(57)【要約】【課題】容易にプログラムの不正使用を防止することが可能な認証ファイル作成装置を提供する。【解決手段】認証ファイル作成端末４０は、対象となる装置用コントローラ３０で運転用ユーザプログラムＰ１２を動作可能とする認証ファイルＡＦを作成する認証ファイル作成端末であって、認証ファイル作成部４９を備える。認証ファイル作成部４９は、装置用コントローラ３０から認証用ユーザプログラムＰ１１によって読み出されたＭＡＣアドレスを含む情報に基づいて認証ファイルＡＦを作成する。【選択図】図４
2020181364.tif 000002
【特許請求の範囲】
【請求項１】
運転用プログラムの使用許可の対象であるＰＬＣ（Programmable Logic Controller）で前記運転用プログラムを動作可能とする認証ファイルを作成する認証ファイル作成装置であって、
前記ＰＬＣから認証用プログラムによって読み出されたＭＡＣアドレスを含む情報に基づいて前記認証ファイルを作成する認証ファイル作成部を備えた、認証ファイル作成装置。
【請求項２】
前記ＭＡＣアドレスを含む情報は暗号化されており、
前記ＭＡＣアドレスを含む情報を復号する復号部を更に備えた、
請求項１に記載の認証ファイル作成装置。
【請求項３】
請求項１または２に記載の認証ファイル作成装置と、
前記ＰＬＣのＭＡＣアドレスを読み出す前記認証用プログラムと、前記運転用プログラムを作成可能な入力部を有する、プログラム作成装置と、を備えた、
制御システム。
【請求項４】
記録媒体を接続可能な接続部を有し、復元情報なしで前記認証用プログラムと前記運転用プログラムのバックアップを前記記録媒体に行うバックアップ作成装置を更に備え、
前記プログラム作成装置は、前記認証用プログラムおよび前記運転用プログラムを前記バックアップ作成装置に復元情報なしで転送可能な転送部を有する、
請求項３に記載の制御システム。
【請求項５】
前記記録媒体を接続可能な接続部を有し、前記記録媒体に記録された前記認証用プログラムおよび前記運転用プログラムをリストアする前記ＰＬＣを更に備え、
前記認証用プログラムがリストアされた前記ＰＬＣは、前記ＰＬＣのＭＡＣアドレスと、取得した前記認証ファイルのＭＡＣアドレスを比較して同じ場合に前記運転用プログラムを起動させる認証比較部を有する、
請求項４に記載の制御システム。
【請求項６】
運転用プログラムの使用許可の対象であるＰＬＣに、
前記ＰＬＣのＭＡＣアドレスを読み出す読み出しステップと、
認証ファイルに含まれるＭＡＣアドレスと、読み出したＭＡＣアドレスを比較する比較ステップと、
前記認証ファイルのＭＡＣアドレスと前記読み出したＭＡＣアドレスが同じ場合に運転を実行可能な状態にする起動ステップと、を実行させる、
プログラム。
【請求項７】
前記読み出したＭＡＣアドレスを暗号化する暗号化ファイル作成ステップを更に実行させる、
請求項６に記載のプログラム。
【請求項８】
運転用プログラムの使用許可の対象であるＰＬＣで前記運転用プログラムを動作可能とする制御方法であって、
対象ＰＬＣからＭＡＣアドレスを読み出す読み出しステップと、
前記読み出したＭＡＣアドレスと、取得した認証ファイルに含まれるＭＡＣアドレスを比較して同じ場合に前記運転用プログラムを起動する比較ステップと、を備えた、
制御方法。
【請求項９】
前記読み出したＭＡＣアドレスを暗号化する暗号化ステップを更に備えた、
請求項８に記載の制御方法。
【請求項１０】
前記読み出したＭＡＣアドレスを用いて前記認証ファイルを作成する認証ファイル作成ステップを更に備えた、
請求項８または９に記載の制御方法。
【請求項１１】
前記運転用プログラムと前記読み出しステップを実行する認証用プログラムとを作成するプログラム作成ステップと、
前記運転用プログラムと前記認証用プログラムを復元情報なしでバックアップを作成するバックアップ作成ステップと、
バックアップされた前記運転用プログラムと前記認証用プログラムを前記対象ＰＬＣにリストアするリストアステップと、を更に備えた、
請求項８に記載の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、認証ファイル作成装置、制御システム、プログラム、および制御方法に関する。
【背景技術】
【０００２】
従来、ＦＡ（Factory Automation）システムにおいて、ＰＬＣ（Programmable Logic Controller）が用いられている。ＰＬＣは、支援ツール等によって作成されたプログラムに基づいて対象装置の制御を行う。対象装置のセンサやスイッチ等の検出機器がＰＬＣの入力端子に接続され、対象装置のモータ等の動作機器がＰＬＣの出力端子に接続される。ＰＬＣは、作成されたプログラムに基づいて、入力端子への入力信号に応じた出力信号を出力端子から出力し、対象装置の制御を行う。
【０００３】
このようなＰＬＣの制御に用いられるプログラムの不正使用を防止する技術が、例えば特許文献１に開示されている。
特許文献１の制御システムでは、ユーザプログラムに埋め込んだセキュリティコードと、ライセンスファイルから取得したセキュリティコードが一致した場合にプログラムが実行可能となる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許第５９００１４３号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、引用文献１の制御システムでは、プログラムの使用を許可する客先ごとに異なるセキュリティコードを埋め込む必要があるため手間がかかる。また、複数の客先に対してセキュリティコードを設定するため、誤って同じセキュリティコードを埋め込むことも考えられる。
本発明は、容易にプログラムの不正使用を防止することが可能な認証ファイル作成装置、制御システム、プログラム、および制御方法を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記目的を達成するために、第１の発明にかかる認証ファイル作成装置は、運転用プログラムの使用許可の対象であるＰＬＣで運転用プログラムを動作可能とする認証ファイルを作成する認証ファイル作成装置であって、認証ファイル作成部を備える。認証ファイル作成部は、ＰＬＣから認証用プログラムによって読み出されたＭＡＣアドレスを含む情報に基づいて認証ファイルを作成する。
【０００７】
このように、運転用プログラムの使用許可の対象となるＰＬＣから読み出されたＭＡＣアドレスを自動的に読み出して、ＭＡＣアドレスに基づいて運転用プログラムを動作可能とする認証ファイルが作成される。このため、客先ごとにプログラムに異なるセキュリティコードを埋め込む必要がなく、容易に運転用プログラムの不正使用を防ぐことが可能となる。
【０００８】
第２の発明にかかる認証ファイル作成装置は、第１の発明にかかる認証ファイル作成装置であって、ＭＡＣアドレスを含む情報は暗号化されている。認証ファイル作成装置は、ＭＡＣアドレスを含む情報を復号する復号部を更に備える。
これにより、運転用プログラムの使用許可の対象となるＰＬＣを使用するユーザに対して認証ファイルがＭＡＣアドレスに基づいて作成されることを秘密にすることができる。
【０００９】
第３の発明にかかる制御システムは、第１または第２の発明の認証ファイル作成装置と、プログラム作成装置と、を備える。プログラム作成装置は、ＰＬＣのＭＡＣアドレスを読み出す認証用プログラムと、運転用プログラムを作成可能な入力部を有する。
これにより、運転用プログラムの使用許可の対象となるＰＬＣから自動的にＭＡＣアドレスを読み出すことが可能な認証用プログラムを作成することができる。
【００１０】
第４の発明にかかる制御システムは、第３の発明にかかる制御システムであって、バックアップ作成装置を更に備える。バックアップ作成装置は、記録媒体を接続可能な接続部を有し、復元情報なしで認証用プログラムと運転用プログラムのバックアップを記録媒体に行う。プログラム作成装置は、認証用プログラムおよび運転用プログラムをバックアップ作成装置に復元情報なしで転送可能な転送部を有する。
このように、復元情報なしでバックアップを記録媒体に行うことによって、認証用プログラムと運転用プログラムのソースが外部に開示されないようにすることができる。
【００１１】
第５の発明にかかる制御システムは、第４の発明にかかる制御システムであって、ＰＬＣを更に備える。ＰＬＣは、記録媒体を接続可能な接続部を有し、記録媒体に記録された認証用プログラムおよび運転用プログラムをリストアする。認証用プログラムがリストアされたＰＬＣは、ＰＬＣのＭＡＣアドレスと、取得した認証ファイルのＭＡＣアドレスを比較して同じ場合に運転用プログラムを起動させる認証比較部を有する。
このように、記録媒体を介して認証用プログラムと運転用プログラムをＰＬＣにリストアするため、認証用プログラムと運転用プログラムの転送を他のツールを用いる必要なく行うことができる。
【００１２】
第６の発明にかかるプログラムは、運転用プログラムの使用許可の対象であるＰＬＣに、読み出しステップと、比較ステップと、起動ステップと、を実行させる。読み出しステップは、ＰＬＣのＭＡＣアドレスを読み出す。比較ステップは、認証ファイルに含まれるＭＡＣアドレスと、読み出したＭＡＣアドレスを比較する。起動ステップは、認証ファイルのＭＡＣアドレスと読み出したＭＡＣアドレスが同じ場合に運転を実行可能な状態にする。
このように、運転用プログラムの使用許可の対象となるＰＬＣのＭＡＣアドレスを自動的に読み出して、ＭＡＣアドレスに基づいて運転用プログラムを動作可能とする認証ファイルが作成される。このため、客先ごとにプログラムに異なるセキュリティコードを埋め込む必要がなく、容易に運転用プログラムの不正使用を防ぐことが可能となる。
【００１３】
第７の発明にかかるプログラムは、第６の発明にかかるプログラムであって、読み出したＭＡＣアドレスを暗号化する暗号化ファイル作成ステップを更に実行させる。
これにより、運転用プログラムの使用許可の対象となるＰＬＣを使用するユーザに対して認証ファイルがＭＡＣアドレスに基づいて作成されることを秘密にすることができる。
【００１４】
第８の発明にかかる制御方法は、運転用プログラムの使用許可の対象であるＰＬＣで運転用プログラムを動作可能とする制御方法であって、読み出しステップと、比較ステップとを備える。読み出しステップは、対象ＰＬＣからＭＡＣアドレスを読み出す。比較ステップは、読み出したＭＡＣアドレスと、取得した認証ファイルに含まれるＭＡＣアドレスを比較して同じ場合に運転用プログラムを起動する。
このように、運転用プログラムの使用許可の対象となるＰＬＣのＭＡＣアドレスを読み出して、ＭＡＣアドレスに基づいて運転用プログラムを動作可能とする認証ファイルが作成される。このため、客先ごとにプログラムにセキュリティコードを埋め込む必要がなく、容易に運転用プログラムの不正使用を防ぐことが可能となる。
【００１５】
第９の発明にかかる制御方法は、第８の発明にかかる制御方法であって、読み出したＭＡＣアドレスを暗号化する暗号化ステップを更に備える。
これにより、運転用プログラムの使用許可の対象となるＰＬＣを使用するユーザに対して認証ファイルがＭＡＣアドレスに基づいて作成されることを秘密にすることができる。
【００１６】
第１０の発明にかかる制御方法は、第８または９の発明にかかる制御方法であって、読み出したＭＡＣアドレスを用いて認証ファイルを作成する認証ファイル作成ステップを更に備える。
これにより、運転用プログラムの使用許可の対象となるＰＬＣを動作させるための認証ファイルを作成することができる。
【００１７】
第１１の発明にかかる制御方法は、第８の発明にかかる制御方法であって、プログラム作成ステップと、バックアップ作成ステップと、リストアステップと、を備える。プログラム作成ステップは、運転用プログラムと読み出しステップを実行する認証用プログラムとを作成する。バックアップ作成ステップは、運転用プログラムと認証用プログラムを復元情報なしでバックアップを作成する。リストアステップは、バックアップされた運転用プログラムと認証用プログラムを対象ＰＬＣにリストアする。
【００１８】
このように、復元情報なしで認証用プログラムと運転用プログラムのバックアップを行い、そのプログラムを対象のＰＬＣにおいてリストアすることによって認証用プログラムと運転用プログラムのソースが外部に開示されないようにすることができる。
【発明の効果】
【００１９】
本発明によれば、容易にプログラムの不正使用を防止することが可能な認証ファイル作成装置、制御システム、プログラム、および制御方法を提供することができる。
【図面の簡単な説明】
【００２０】
【図１】本発明にかかる実施の形態における制御システムのハード構成を示すブロック図。
【図２】（ａ）図１の開発ツールのストレージに保存されるプログラムを示すブロック図、（ｂ）図１の開発用コントローラのカードスロットに収納された記録媒体にバックアップファイルが保存された状態を示すブロック図、（ｃ）図１の装置用コントローラのカードスロットに収納された記録媒体にバックアップファイルが保存された状態を示すブロック図、（ｄ）図１の装置用コントローラのストレージに保存されたプログラムを示すブロック図。
【図３】（ａ）図１の装置用コントローラの機能的構成を示すブロック図、（ｂ）図１の装置用コントローラのカードスロットに収納された記録媒体に装置情報ファイルが保存された状態を示すブロック図、（ｃ）図１の装置用コントローラの機能的構成を示すブロック図、（ｄ）図１の装置用コントローラのカードスロットに収納された記録媒体に認証ファイルが保存された状態を示すブロック図。
【図４】本発明にかかる実施の形態における制御システムの動作の流れを示すシーケンス図。
【図５】本実施の形態の制御システム１の動作の流れを示すフロー図。
【図６】本実施の形態の制御システム１の動作の流れを示すフロー図。
【図７】（ａ）図１の装置用コントローラの操作部の操作画面に表示される装置情報ファイル作成画面を示す図、（ｂ）図１の装置用コントローラの操作部の操作画面に表示される認証画面を示す図。
【発明を実施するための形態】
【００２１】
以下に、本発明の実施の形態に係る制御システムについて図面に基づいて説明する。
＜構成＞
（制御システム１の概要）
図１は、本発明にかかる実施の形態の制御システム１のハードウェア構成を示す図である。制御システム１は、開発した運転用ユーザプログラムの使用許可の対象である装置用コントローラに運転用ユーザプログラムの使用を許可し、使用許可の対象としない装置用コントローラによる運転用プログラムの不正使用を防止する。
【００２２】
制御システム１は、開発ツール１０（プログラム作成装置の一例）と、開発用コントローラ２０（バックアップ作成装置の一例）と、装置用コントローラ３０（ＰＬＣの一例）と、認証ファイル作成端末４０（認証ファイル作成装置の一例）と、を備える。
制御システム１は、一例として、開発ツール１０と、開発用コントローラ２０と、認証ファイル作成端末４０を備えた開発メーカが、装置用コントローラ３０を有するユーザに、開発ツール１０および開発用コントローラ２０で開発した運転用ユーザプログラムを使用させる際に認証を行うシステムである。
【００２３】
（開発ツール）
開発ツール１０は、例えばＰＣ（personal Computer）であり、開発者が、ＰＬＣ（Programmable Logic Controller）である開発用コントローラ２０で運転するプログラムを開発するツールである。開発ツール１０では、ラダー言語（ラダーロジック）で開発用コントローラ２０のプログラムを作成する。
【００２４】
開発ツール１０は、プロセッサ１１と、メモリ１２と、ストレージ１３と、入力部１４と、表示部１５と、送信部１６（転送部の一例）と、を有する。プロセッサ１１は、ストレージ１３に保存されている開発支援プログラムをメモリ１２上に展開して実行する。
入力部１４は、例えばキーボードなどであり、ラダー言語でユーザプログラムＰ１０を作成する際に作業者によって入力が行われる。表示部１５は、例えばディスプレイであって、ラダー言語でユーザプログラムＰ１０を作成する際に表示を行う。
【００２５】
ストレージ１３には、作成したユーザプログラムＰ１０が保存される。送信部１６は、作成したユーザプログラムＰ１０を復元情報なしで開発用コントローラ２０に送信する。復元情報なしで送信するとは、コンパイルされたユーザプログラムＰ１０をデコンパイル情報なしで送信することである。デコンパイル情報を送信しないことによって、ユーザプログラムＰ１０をデコンパイルできずラダー言語での表示を行うことができなくなるため、開発ツール１０を使用する開発メーカ以外がユーザプログラムＰ１０のプログラムソースを見ることが出来ない。
【００２６】
ここで、ストレージ１３に保存されるユーザプログラムＰ１０には、図２（ａ）に示すように、認証用ユーザプログラムＰ１１（認証用プログラムの一例）と、運転用ユーザプログラムＰ１２（運転用プログラムの一例）と、設定情報Ｐ１３とが含まれる。認証用ユーザプログラムＰ１１は、後述するようにＰＬＣである装置用コントローラ３０のEthernet/IPポート３５のＭＡＣアドレス（Media Access Control address）を取得する動作を実行するプログラムである。運転用ユーザプログラムＰ１２は、装置用コントローラ３０を動作させてＦＡ機器の制御を行うプログラムである。運転用ユーザプログラムＰ１２は、例えばセンサやスイッチ等の検出機器の検出値を取得し、検出値に応じてモータ等の動作機器を動作させるといった制御を行う。
【００２７】
設定情報Ｐ１３は、検出機器と動作機器のコントローラ（開発用コントローラ２０および装置用コントローラ３０）における接続位置などの情報を含む。
【００２８】
（開発用コントローラ）
開発用コントローラ２０は、開発ツール１０とともにＦＡ機器の制御に用いられるプログラムを開発するために用いられる。
開発用コントローラ２０は、上述したようにＰＬＣであり、開発ツール１０で作成されたプログラムがコンパイルされて送信される。なお、開発用コントローラ２０は、ＦＡ機器に接続することにより開発ツール１０によって作成されたプログラムを実行してＦＡ機器を制御することができる。
これにより、例えば、開発用コントローラ２０にＦＡ機器を接続し、開発ツール１０で作成されたプログラムを開発用コントローラ２０で実行してＦＡ機器の制御を実際に行いながらプログラムの開発を行うことができる。
【００２９】
開発用コントローラ２０は、プロセッサ２１と、メモリ２２と、ストレージ２３と、受信部２４と、カードスロット２５（接続部の一例）と、を備える。
受信部２４は、開発ツール１０の送信部１６から送信されたユーザプログラムＰ１０（認証用ユーザプログラムＰ１１、運転用ユーザプログラムＰ１２および設定情報Ｐ１３）を受信する。
【００３０】
ストレージ２３は、受信したユーザプログラムＰ１０（認証用ユーザプログラムＰ１１、運転用ユーザプログラムＰ１２および設定情報Ｐ１３）を保存する。
プロセッサ２１は、ストレージ２３に保存されたユーザプログラムＰ１０（認証用ユーザプログラムＰ１１、運転用ユーザプログラムＰ１２および設定情報Ｐ１３）をメモリ２２に展開して実行する。
【００３１】
カードスロット２５には、ＳＤカード等の記録媒体５１が収納可能である。カードスロット２５に収納された記録媒体５１に、図２（ｂ）に示すように、ストレージ２３に保存されたユーザプログラムＰ１０のバックアップファイルＢＦを保存することができる。なお、記録媒体５１はＳＤカードに限らなくても良く、ＣＤ、ＤＶＤ、MicroSD、ＵＳＢ等であってもよく、ファイルを保存できさえすればよい。
【００３２】
バックアップの記録媒体５１への保存は、ディップスイッチを設定することによって行ってもよいし、記録媒体５１をカードスロット２５に挿入することによって自動で行われてもよい。また、開発ツール１０によって記録媒体５１にプラグラムのバックアップを保存する操作を行ってもよいし、別途タッチパネルなどの操作部を開発用コントローラ２０に接続して操作部からバックアップファイルＢＦの記録媒体５１への保存を行ってもよい。
【００３３】
記録媒体５１に保存されたバックアップファイルＢＦは、装置用コントローラ３０を所有または所有する予定のユーザに送付される。送付の方法としては、記録媒体５１に保存されているバックアップファイルＢＦを、ＰＣ等からインターネット経由でユーザに送付してもよい。
装置用コントローラ３０のユーザは、ＰＣ等によって受信した上記バックアップファイルＢＦを記録媒体５２に保存する。
【００３４】
（装置用コントローラ）
装置用コントローラ３０は、ＰＬＣであり、ＦＡ機器の制御に用いられる。装置用コントローラ３０は開発用コントローラ２０と同機種であるほうが好ましい。
装置用コントローラ３０は、プロセッサ３１と、メモリ３２と、ストレージ３３と、カードスロット３４と、Ethernet/IPポート３５と、操作部３６と、を備える。
【００３５】
ストレージ３３には、図２（ｄ）に示すようにリストア用プログラムＰ２０が保存されている。
カードスロット３４には、例えばＳＤカードである記録媒体５２が収納される。図２（ｃ）に示すように、記録媒体５２には、バックアップファイルＢＦが保存されている。記録媒体５２に保存されているバックアップファイルＢＦが、リストア用プログラムＰ２０によって装置用コントローラ３０にリストアされる。バックアップファイルＢＦがリストアされた認証用ユーザプログラムＰ１１、運転用ユーザプログラムＰ１２および設定情報Ｐ１３は、図２（ｄ）に示すように、ストレージ３３に保存される。
【００３６】
プロセッサ３１は、ストレージ３３に保存されたリストア用プログラムＰ２０およびユーザプログラムＰ１０をメモリ３２に展開して実行する。
Ethernet/IPポート３５は、他の機器を接続する場合等に用いられる。
操作部３６は、開発用コントローラ２０において述べたように、タッチパネルなどであって、後述する操作情報ファイルを作成する際および認証の際の操作が行われる。なお、操作部３６は、特に設けられていなくても良く、ディップスイッチを設定することによって行ってもよいし、記録媒体５２をカードスロット３４に挿入することによって自動で行われてもよい。
【００３７】
図３（ａ）は、装置用コントローラ３０の機能的構成を示すブロック図である。図３（ａ）に示すように、ユーザプログラムＰ１０およびリストア用プログラムＰ２０をメモリ３２に展開することによって、プロセッサ３１は、リストア部６０と、ＭＡＣアドレス読み出し部６１と、暗号化ファイル作成部６２と、認証ファイル比較部６３（認証比較部の一例）と、運転部６４と、を有する。
【００３８】
リストア部６０は、カードスロット３４に収納された記録媒体５２に保存されたユーザプログラムＰ１０を装置用コントローラ３０にリストアする。
ＭＡＣアドレス読み出し部６１は、リストアされた装置用コントローラ３０のEthernet/IPポート３５のＭＡＣアドレスを読み出す。ＭＡＣアドレス読み出し部６１は、読み込んだＭＡＣアドレスを変数に格納する。
【００３９】
暗号化ファイル作成部６２は、読み出したＭＡＣアドレスを暗号化して装置情報ファイルＭＦを作成し、記録媒体５２に保存する。より詳しくは、暗号化ファイル作成部６２は、ＭＡＣアドレスを格納した変数を読み込み、ＭＡＣアドレスと認識できないようにした暗号文を作成し変数に格納する。作成された暗号文の変数は装置情報ファイルＭＦとして、記録媒体５２にファイル保存される。図３（ｂ）に示すように、装置情報ファイルＭＦはカードスロット３４に収納されている記録媒体５２に保存される。記録媒体５２は、バックアップファイルＢＦが保存されている記録媒体と同じものであってもよいし、異なるものであってもよい。
【００４０】
記録媒体５２に保存された装置情報ファイルＭＦは、認証ファイル作成端末４０に送付される。送付の方法としては、記録媒体５２に保存されている装置情報ファイルＭＦを、ＰＣ等からインターネット経由で認証ファイル作成端末４０の受信部４６に送付してもよい。
詳しくは後述するが、認証ファイル作成端末４０において装置情報ファイルＭＦから認証ファイルＡＦ（アクティベーションファイルともいう）が作成され、認証ファイルＡＦがユーザに送付され、ユーザによって装置情報ファイルＭＦが記録媒体５２に保存される。
【００４１】
認証ファイル比較部６３は、認証ファイルＡＦに含まれるＭＡＣアドレスと、ＭＡＣアドレス読み出し部６１から読み出したＭＡＣアドレスが同じか否かを比較し、同じ場合に運転用ユーザプログラムＰ１２を起動し、運転部６４として機能させてＦＡ機器の制御を行う。より詳しくは、認証ファイル比較部６３は、記録媒体５２に格納された認証ファイルＡＦを読み出して認証情報として変数に格納する。次に、認証ファイル比較部６３は、認証情報の変数を復号してＭＡＣアドレスを取り出し、認証ＭＡＣアドレスとして変数に格納する。次に、認証ファイル比較部６３は、認証ＭＡＣアドレスとＭＡＣアドレス読み出し部６１で読み込んだＭＡＣアドレスが一致しているか比較して、一致していたら運転用ユーザプログラムＰ１２を起動する。
【００４２】
プロセッサ３１は、運転用ユーザプログラムＰ１２をメモリ３２に展開して、運転部６４として機能する。運転部６４は、作成された運転用ユーザプログラムＰ１２に従って装置用コントローラ３０に接続されているＦＡ機器を制御する。
【００４３】
（認証ファイル作成端末）
認証ファイル作成端末４０は、例えばＰＣ等であって、プロセッサ４１と、メモリ４２と、ストレージ４３と、入力部４４（入力部の一例）と、表示部４５と、受信部４６と、送信部４７と、を有する。
ストレージ４３には、認証ファイルＡＦを作成するための認証ファイル作成プログラム、および暗号鍵などが保存されている。
プロセッサ４１は、ストレージ４３に記憶されている認証ファイル作成プログラムをメモリ４２上に展開して実行する。
入力部４４は、例えばキーボードなどであり、認証ファイルＡＦの作成の操作が入力される。表示部１５は、例えばディスプレイであって、認証ファイルＡＦの作成の際に表示を行う。
【００４４】
受信部４６は、装置用コントローラ３０で作成された装置情報ファイルＭＦを受信する。送信部４７は、装置情報ファイルＭＦに基づいて作成した認証ファイルＡＦを装置用コントローラ３０のユーザに送信する。たとえば、送信部４７は、装置用コントローラ３０のユーザが所有するＰＣにインターネット経由で送信することができる。
図３（ｃ）は、認証ファイル作成端末４０の機能的構成を示すブロック図である。認証ファイル作成端末４０は、暗号化ファイル復号部４８（復号部の一例）と、認証ファイル作成部４９と、を有する。認証ファイル作成プログラムをメモリ４２に展開することによって、プロセッサ４１は、暗号化ファイル復号部４８、および認証ファイル作成部４９として機能する。
【００４５】
暗号化ファイル復号部４８は、装置用コントローラ３０において暗号化が施されて作成された装置情報ファイルＭＦの復号処理を行い、ＭＡＣアドレスを取得する。認証ファイル作成部４９は、取得したＭＡＣアドレスを暗号化して認証ファイルを作成する。
作成された認証ファイルＡＦは、送信部４７から装置用コントローラ３０のユーザに送信される。
【００４６】
なお、送信された認証ファイルＡＦは、ユーザによって、図３（ｄ）に示すように記録媒体５１に保存されて装置用コントローラ３０に読み込まれる。そして、認証ファイル比較部６３は、認証ファイルＡＦを復号し認証ファイルＡＦに含まれているＭＡＣアドレスとＭＡＣアドレス読み出し部６１によって読み出された自身のＭＡＣアドレスを比較し、同じ場合には運転部６４を動作可能とする。
【００４７】
なお、認証ファイルの送付に伴って課金等を行うことにより、装置用コントローラごとにライセンス料を取得することができる。
また、例えば、装置用コントローラを所有する他のユーザがプログラムを取得した場合であっても運転用プログラムを起動することができないため不正使用を防止することができる。
【００４８】
なお、認証ファイルＡＦを復号する際の暗号鍵は、ユーザプログラムＰ１０に組み込まれており、装置情報ファイルＭＦを作成する際の暗号化もユーザプログラムＰ１０に組み込まれており、ユーザプログラムＰ１０は、開発メーカによって作成される。さらに、認証ファイル作成端末４０において装置情報ファイルＭＦの復号処理、および認証ファイルＡＦの暗号化が行われる。このように、開発メーカ側に設定により暗号化および復号処理が行われる。
【００４９】
＜動作＞
次に、本実施の形態の制御システム１の動作について説明するとともに、本発明の制御方法の一例についても同時に述べる。
図４は、本実施の形態の制御システム１の動作の流れを示すシーケンス図である。図５および図６は、本実施の形態の制御システム１の動作の流れを示すフロー図である。
【００５０】
はじめに、ステップＳ１０（プログラム作成ステップの一例）において、開発ツール１０を用いて認証用ユーザプログラムＰ１１と運転用ユーザプログラムＰ１２と設定情報Ｐ１３を含むユーザプログラムＰ１０がラダー言語で作成される。
次に、ステップＳ１１において、開発ツール１０から開発用コントローラ２０に、ユーザプログラムＰ１０が復元情報なしで転送される。
【００５１】
次に、ステップＳ１２において、転送された復元情報なしのユーザプログラムＰ１０が開発用コントローラ２０にインストールされる。
次に、ステップＳ１３において、ユーザプログラムＰ１０のバックアップファイルを作成する操作が、開発ツール１０を用いて実施される。
次に、ステップＳ１４（バックアップ作成ステップの一例）において、ステップＳ１３の操作によって開発用コントローラ２０のカードスロット２５に保存された記録媒体５１にバックアップファイルＢＦが作成されて保存される。
【００５２】
次に、ステップＳ１５において、メール等によるインターネット経由でユーザに送付されたバックアップファイルＢＦがユーザによって記録媒体５２に保存され、バックアップファイルＢＦを格納した記録媒体５２は、装置用コントローラ３０のカードスロット３４に格納される。
次に、ステップＳ１６（リストアステップの一例）において、装置用コントローラ３０のリストア部６０によるリストア機能を用いて、バックアップファイルＢＦから装置用コントローラ３０にユーザプログラムＰ１０が復元される。
【００５３】
次に、ステップＳ１７（読み出しステップの一例）において、ＭＡＣアドレス読み出し部６１が自身のEthernet/IPポート３５のＭＡＣアドレスを取得する。
次に、ステップＳ１８（暗号化ステップの一例）において、暗号化ファイル作成部６２が、取得したＭＡＣアドレスを暗号化して装置情報ファイルＭＦとして記録媒体５２に保存する。図７（ａ）は、操作部３６の操作画面３６ａに表示される一例である装置情報ファイル作成画面を示す図である。図７（ａ）に示すように、“File Create”スイッチ３６ｂを押下することによって、記録媒体５２の一例であるＳＤカードに装置情報ファイルＭＦ（Machine.datファイル）を作成することができる。
【００５４】
また、作成された装置情報ファイルＭＦが、装置用コントローラ３０のユーザから、メール等によってインターネット経由で開発メーカの認証ファイル作成端末４０に送付される。
次に、ステップＳ１９において、認証ファイル作成端末４０の暗号化ファイル復号部４８は、受信した装置情報ファイルＭＦからＭＡＣアドレスの復号処理を行う。
【００５５】
次に、ステップＳ２０（認証ファイル作成ステップの一例）において、認証ファイル作成端末４０の認証ファイル作成部４９は、複合処理したＭＡＣアドレスを暗号化し、認証ファイルＡＦを作成する。なお、図４では、ステップＳ２０は、ステップＳ２０１における暗号化処理と、ステップＳ２０２における認証ファイル作成処理に分けて記載されている。
【００５６】
また、作成された認証ファイルＡＦは、認証ファイル作成端末４０からメール等によってインターネット経由で、装置用コントローラ３０のユーザに送付される。ユーザは、送付された認証ファイルＡＦを記録媒体５２に保存する。
次に、ステップＳ２１において、装置用コントローラ３０のユーザによって記録媒体５２に保存された認証ファイルＡＦが、認証ファイル比較部６３によって読み出される。
【００５７】
次に、ステップＳ２２（比較ステップの一例）において、装置用コントローラ３０の認証ファイル比較部６３が、認証ファイルＡＦを復号処理しＭＡＣアドレスを取得する。
次に、ステップＳ２３において、認証ファイル比較部６３は、認証ファイルＡＦから取得したＭＡＣアドレスと、ステップＳ１７で取得した自身のＭＡＣアドレスを比較する。
次に、ステップＳ２４において、認証ファイルＡＦから取得したＭＡＣアドレスと、ステップＳ１７で取得した自身のＭＡＣアドレスが一致する場合には、制御はステップＳ２５に進む。
【００５８】
ステップＳ２５（起動ステップの一例）において、認証ファイル比較部６３が運転部６４の実行を許可して、装置用コントローラ３０を運転できる状態となる。なお、図４では、ステップＳ２３、Ｓ２４、Ｓ２５をまとめて、運転プログラム起動処理として示す。
一方、ステップＳ２４において、一致しない場合には、運転部６４の実行を許可せずに制御が終了する。
【００５９】
図７（ｂ）は、操作部３６の操作画面３６ａに表示される認証画面を示す図である。図７（ｂ）に示すように、ステップＳ２１において、認証ファイルＡＦを記録媒体５２の一例であるＳＤカードに保存し、続いて、ＳＤカードをカードスロット３４に挿入して、“Activation”スイッチ３６ｃが押下されると、ステップＳ２１〜Ｓ２５が実行される。
なお、図７（ｂ）に示すように、装置用コントローラ３０の電源投入時に毎回、ＭＡＣアドレスの比較による認証が行われる。
【００６０】
以上のように、装置用コントローラ３０のＭＡＣアドレスを自動的に読み出して、ＭＡＣアドレスに基づいて運転用ユーザプログラムＰ１２を動作可能とする認証ファイルＡＦが作成される。このため、客先ごとにプログラムに異なるセキュリティコードを埋め込む必要がなく、容易に運転用プログラムの不正使用を防ぐことが可能となる。
また、認証ファイル作成端末４０に送付されるＭＡＣアドレスを含む情報は暗号化されているため、装置用コントローラ３０を動作させる作業者に対して認証ファイルＡＦがＭＡＣアドレスに基づいて作成されることを秘密にすることができる。
【００６１】
また、開発ツール１０において、装置用コントローラ３０のＭＡＣアドレスを読み出す認証用ユーザプログラムＰ１１と、運転用ユーザプログラムＰ１２を作成することにより、対象となる装置用コントローラ３０から自動的にＭＡＣアドレスを読み出すことが可能となる。
また、復元情報なしでユーザプログラムＰ１０のバックアップを記録媒体５１に行うことによって、ユーザプログラムＰ１０のソースが外部に開示されないようにすることができる。
【００６２】
また、記録媒体５２を介してユーザプログラムＰ１０を装置用コントローラ３０にリストアするため、ユーザプログラムＰ１０の転送を他のツールを用いる必要なく行うことができる。
【００６３】
［他の実施形態］
以上、本発明の一実施形態について説明したが、本発明は上記実施形態に限定されるものではなく、発明の要旨を逸脱しない範囲で種々の変更が可能である。
（Ａ）
上記実施の形態では、記録媒体５１に保存されたバックアップファイルＢＦを、ＰＣ等からインターネット経由でユーザに送付してもよいと記載したが、これに限られるものではない。
例えば、バックアップファイルＢＦが保存された記録媒体５１を郵送で送付してもよいし、持ち運んでユーザに届けても良い。なお、開発ツール１０にＰＣを使用している場合には開発ツール１０からインターネット経由でユーザに送付してもよい。
【００６４】
（Ｂ）
上記実施の形態では、記録媒体５２に保存されている装置情報ファイルＭＦを、ＰＣ等からインターネット経由で認証ファイル作成端末５０の受信部４６に送付してもよいと記載したが、これに限られるものではない。
例えば、記録媒体５２を郵送で送付してもよいし、持ち運んで開発メーカに届けても良い。その場合、認証ファイル作成端末４０がカードスロットを備えてもよい。また、認証ファイル作成端末５０がカードスロットのみを備え、受信部４６を備えていなくても良い。要するに、認証ファイル作成端末４０のストレージ４３に装置情報ファイルＭＦを保存できさえすればよい。
【００６５】
また、上記実施の形態では、認証ファイル作成端末４０から装置用コントローラ３０のユーザに認証ファイルＡＦをメール等によってインターネットを経由して送信すると記載したが、これに限られるものではなく、認証ファイルＡＦを記録媒体に保存して記録媒体を郵送してもよいし、持ち運んでも良い。要するに、装置用コントローラ３０のカードスロット３４に接続される記録媒体５２に認証ファイルＡＦを保存できさえすればよい。
【００６６】
（Ｃ）
上記実施の形態では、開発ツール１０と認証ファイル作成端末４０は別々のＰＣとして設けられているが、同じＰＣであってもよい。例えば、開発ツール１０で用いられる開発支援プログラムが認証ファイル作成端末４０として使用されているＰＣで用いられてもよい。その場合、認証ファイル作成端末４０は開発支援プログラムを使用しなくてもよい。
また、逆に、認証ファイル作成端末４０で用いられている認証ファイル作成プログラムが、開発ツール１０として使用されているＰＣで用いられてもよい。その場合、開発ツール１０は、認証ファイル作成プログラムを使用しなくてもよい。
【００６７】
（Ｄ）
上記実施の形態では、開発メーカが、開発ツール１０と開発用コントローラ２０と認証ファイル作成端末４０を備えると記載したが、これに限られるものではなく、例えば、認証ファイル作成端末４０が開発メーカと異なる他の会社や個人が所有してもよい。また、認証ファイル作成端末４０を所有するものが、ライセンス料をユーザより取得してもよい。
【００６８】
（Ｅ）
上記実施の形態では、装置情報ファイルＭＦに、装置用コントローラ３０に固有の情報としてＭＡＣアドレスのみを用いているが、これに限られるものではなく、装置用コントローラ３０のシリアル番号がＭＡＣアドレスと組み合わされて装置情報ファイルＭＦが作成されてもよい。
【００６９】
（Ｆ）
上記実施の形態では、装置用コントローラ３０は記録媒体５２を介して認証ファイルＡＦを取得しているが、これに限られるものではない。例えば、ＭＡＣアドレスの情報が含まれ暗号化された数列を操作部３６から打ち込んでもよい。要するに、装置用コントローラ３０が暗号化されたＭＡＣアドレスを取得できさえすればよい。
【００７０】
（Ｇ）
また、本実施の形態では、ＦＡ機器の制御を行う制御システムを例として説明したが、これに限られるものではなく、プラントやビルディングオートメーションシステム等に用いても良い。
【００７１】
（Ｈ）
上記実施の形態では、開発用コントローラ２０と装置用コントローラ３０を同じ機種が望ましいと記載しているが、これに限られるものではなく、開発用コントローラ２０は少なくともユーザプログラムＰ１０のバックアップが出来ればよい。
【００７２】
（Ｉ）
また、プログラムの一つの利用形態は、コンピュータにより読取可能な、ＲＯＭ等の記録媒体に記録され、コンピュータと協働して動作する態様であってもよく、プログラムの一つの利用形態は、インターネット等の伝送媒体、光・電波・音波などの伝送媒体中を伝送し、コンピュータにより読みとられ、コンピュータと協働して動作する態様であってもよい。
また、上述したコンピュータは、ＣＰＵ（Central Processing Unit）等のハードウェアに限らずファームウェアや、ＯＳ、更に周辺機器を含むものであってもよい。
なお、以上説明したように、電力消費体の制御方法はソフトウェア的に実現してもよいし、ハードウェア的に実現しても良い。
【産業上の利用可能性】
【００７３】
本発明の認証ファイル作成装置は、容易にプログラムの不正使用を防止することが可能な効果を有し、例えばＰＬＣを用いた制御システム等として有用である。
【符号の説明】
【００７４】
３０        ：装置用コントローラ
４０        ：認証ファイル作成端末
４９        ：認証ファイル作成部
Ｐ１１      ：認証用ユーザプログラム
Ｐ１２      ：運転用ユーザプログラム
ＡＦ        ：認証ファイル
【図１】
2020181364.tif 000003
【図２】
2020181364.tif 000004
【図３】
2020181364.tif 000005
【図４】
2020181364.tif 000006
【図５】
2020181364.tif 000007
【図６】
2020181364.tif 000008
【図７】
2020181364.tif 000009
【手続補正書】
【提出日】令和2年5月20日(2020.5.20)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
運転用プログラムおよび認証用プログラムを含むユーザプログラムを作成可能な入力部、および、コンパイルされた前記ユーザプログラムをデコンパイル情報なしで転送する転送部を有するプログラム作成装置と、
前記転送部から転送された前記ユーザプログラムのバックアップファイルをデコンパイル情報なしで保存するバックアップ作成装置と、
記録媒体を接続する接続部を有し、前記運転用プログラムの使用によって機器の動作を制御するように構成されたＰＬＣ（Programmable Logic Controller）と、
前記ＰＬＣで前記運転用プログラムを動作可能にするための認証ファイルを作成する認証ファイル作成装置と、を備え、
前記ＰＬＣは、前記記録媒体に記録された前記バックアップファイルをリストアし、前記認証用プログラムを実行することによって、自身のＭＡＣアドレスを読み出し、読み出されたＭＡＣアドレスを含む情報に基づいて装置情報ファイルを作成するように構成され、
前記認証ファイル作成装置は、前記ＰＬＣのユーザから電子的に送付された前記装置情報ファイルに含まれていたＭＡＣアドレスに基づいて前記認証ファイルを作成するように構成され、
前記認証ファイル作成装置から前記ＰＬＣのユーザに電子的に送付された前記認証ファイルが、前記接続部に接続された前記記録媒体に保存される、制御システム。
【請求項２】
前記ＰＬＣは、前記ＭＡＣアドレスを含む情報を暗号化することによって前記装置情報ファイルを作成するように構成されており、
前記認証ファイル作成装置は、前記装置情報ファイルを復号するように構成されている、
請求項１に記載の制御システム。
【請求項３】
前記認証ファイル作成装置は、前記装置情報ファイルに含まれていたＭＡＣアドレスを暗号化することによって前記認証ファイルを作成するように構成されており、
前記ＰＬＣは、前記ユーザプログラムに組み込まれている暗号鍵で前記認証ファイルを復号するように構成されている、
請求項１または２に記載の制御システム。
【請求項４】
前記バックアップ作成装置は、記録媒体を接続可能な接続部を有し、前記バックアップファイルを前記記録媒体に保存する、
請求項１〜３のいずれか１項に記載の制御システム。
【請求項５】
前記ＰＬＣは、前記認証プログラムを実行することによって読み出した前記ＰＬＣのＭＡＣアドレスと、前記認証ファイルのＭＡＣアドレスとを比較し，２つのＭＡＣアドレスが同じ場合に前記運転用プログラムを起動させるように構成されている、
請求項４に記載の制御システム。
【請求項６】
運転用プログラムの使用許可の対象であるＰＬＣで前記運転用プログラムを動作可能とする制御方法であって、
前記運転用プログラムおよび認証用プログラムを含むユーザプログラムを作成するプログラム作成ステップと、
コンパイルされた前記ユーザプログラムのバックアップファイルをデコンパイル情報なしで保存するバックアップ作成ステップと、
前記バックアップファイルを前記ＰＬＣでリストアするリストアステップと、
リストアされた認証用プログラムを前記ＰＬＣで実行することによって、当該ＰＬＣのＭＡＣアドレスを読み出し、読み出されたＭＡＣアドレスを含む情報に基づいて装置情報ファイルを作成する読み出しステップと、
前記装置情報ファイルに含まれていたＭＡＣアドレスに基づいて認証ファイルを作成する認証ファイル作成ステップと、
前記読み出したＭＡＣアドレスと、前記認証ファイルに含まれるＭＡＣアドレスとを比較し、２つのＭＡＣアドレスが同じ場合に前記運転用プログラムを起動する比較ステップと、を備えた、
制御方法。
【請求項７】
前記読み出したＭＡＣアドレスを暗号化する暗号化ステップを更に備えた、
請求項６に記載の制御方法。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００２０
【補正方法】変更
【補正の内容】
【００２０】
【図１】本発明にかかる実施の形態における制御システムのハード構成を示すブロック図。
【図２】（ａ）図１の開発ツールのストレージに保存されるプログラムを示すブロック図、（ｂ）図１の開発用コントローラのカードスロットに収納された記録媒体にバックアップファイルが保存された状態を示すブロック図、（ｃ）図１の装置用コントローラのカードスロットに収納された記録媒体にバックアップファイルが保存された状態を示すブロック図、（ｄ）図１の装置用コントローラのストレージに保存されたプログラムを示すブロック図。
【図３】（ａ）図１の装置用コントローラの機能的構成を示すブロック図、（ｂ）図１の装置用コントローラのカードスロットに収納された記録媒体に装置情報ファイルが保存された状態を示すブロック図、（ｃ）図１の認証ファイル作成端末の機能的構成を示すブロック図、（ｄ）図１の装置用コントローラのカードスロットに収納された記録媒体に認証ファイルが保存された状態を示すブロック図。
【図４】本発明にかかる実施の形態における制御システムの動作の流れを示すシーケンス図。
【図５】本実施の形態の制御システムの動作の流れを示すフロー図。
【図６】本実施の形態の制御システムの動作の流れを示すフロー図。
【図７】（ａ）図１の装置用コントローラの操作部の操作画面に表示される装置情報ファイル作成画面を示す図、（ｂ）図１の装置用コントローラの操作部の操作画面に表示される認証画面を示す図。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００４０
【補正方法】変更
【補正の内容】
【００４０】
記録媒体５２に保存された装置情報ファイルＭＦは、認証ファイル作成端末４０に送付される。送付の方法としては、記録媒体５２に保存されている装置情報ファイルＭＦを、ＰＣ等からインターネット経由で認証ファイル作成端末４０の受信部４６に送付してもよい。
詳しくは後述するが、認証ファイル作成端末４０において装置情報ファイルＭＤから認証ファイルＡＦ（アクティベーションファイルともいう）が作成され、認証ファイルＡＦがユーザに送付され、ユーザによって認証ファイルＡＦが記録媒体５２に保存される。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００５５
【補正方法】変更
【補正の内容】
【００５５】
次に、ステップＳ２０（認証ファイル作成ステップの一例）において、認証ファイル作成端末４０の認証ファイル作成部４９は、復号処理したＭＡＣアドレスを暗号化し、認証ファイルＡＦを作成する。なお、図４では、ステップＳ２０は、ステップＳ２０１における暗号化処理と、ステップＳ２０２における認証ファイル作成処理に分けて記載されている。