(57)【特許請求の範囲】
【請求項１】
第１の記憶装置を備え、複数の機能を有する、第１のユニットと、第２の記憶装置を備える第２のユニットと、を備えるプログラマブルロジックコントローラに接続されたエンジニアリングツールであって、
前記第１の記憶装置は、前記複数の機能と紐付けられた複数のデバイスが割り付けられる第１の記憶領域を備え、
前記第２の記憶装置は、前記複数のデバイスが割り付けられる第２の記憶領域を備え、
前記第２のユニットは、前記デバイスを識別する情報と、前記第１の記憶領域において前記デバイスが割り付けられたアドレスと、を含む設定情報を前記エンジニアリングツールから取得して、前記第２の記憶領域において前記デバイスが割り付けられたアドレスと対応付けて、前記第１の記憶領域において前記デバイスが割り付けられたアドレスと前記第２の記憶領域において前記デバイスが割り付けられたアドレスとの対応テーブルを生成し、生成した前記対応テーブルに基づいて、各前記デバイスについて、前記第２の記憶領域に記憶されたデータを前記第１の記憶領域に供給して記憶させる動作と、前記第１の記憶領域に記憶されたデータを取得して前記第２の記憶領域に記憶する動作と、を含むリフレッシュ動作を繰り返し、
前記エンジニアリングツールは、前記機能が有効であるか否かを示す有効無効情報の全ての組合せについて、前記デバイスを識別する情報と、前記機能と紐付けられた全ての前記デバイスを前記第１の記憶領域において連続する領域に割り付けた当該アドレスを含む構成データの群が記憶された第１の対象データ記憶部と、前記第１の対象データ記憶部から、有効である前記機能と紐付けられた全ての前記デバイスが前記第１の記憶領域において割り付けられた前記構成データを取得し、前記デバイスを識別する情報と、前記第１の記憶領域において前記デバイスが割り付けられたアドレスと、を対応付けて前記設定情報を生成する第１の設定部と、を備える、
エンジニアリングツール。
【請求項２】
前記デバイスは、前記第１の記憶領域に割り付けられたときにアドレスが１ワードで表現されるデバイスであるシングルワードデバイスと、前記第１の記憶領域に割り付けられたときにアドレスが２ワードで表現されるデバイスであるダブルワードデバイスのいずれかであり、
前記ダブルワードデバイスは、前記シングルワードデバイスが割り付けられた領域と連続する領域に割り付けられ、かつ、前記シングルワードデバイスの数が偶数である場合には、前記シングルワードデバイスは、前記第１の記憶領域の先頭の領域を示すアドレスから割り付けられ、前記シングルワードデバイスの数が奇数である場合には、前記シングルワードデバイスは、前記第１の記憶領域の先頭の領域を示すアドレスの次の領域を示すアドレスから割り付けられている、
請求項１に記載のエンジニアリングツール。
【請求項３】
前記第１の対象データ記憶部には、前記有効無効情報の全ての組合せについて、各前記組合せを一意に識別する算出規則に基づいて算出された検索用データが前記構成データ毎に記憶され、
前記エンジニアリングツールは、前記算出規則に基づいて前記検索用データを算出する第１の検索用データ算出部と、
前記第１の対象データ記憶部に記憶された前記構成データの群のうち、前記第１の検索用データ算出部によって算出された前記検索用データを含む前記構成データを取得する第１の対象データ取得部と、を備え、
前記第１の設定部は、前記第１の対象データ記憶部から、前記第１の対象データ取得部によって取得された前記構成データを取得する、
請求項１又は２に記載のエンジニアリングツール。
【請求項４】
前記第１のユニットは、前記算出規則に基づいて算出された検索用データが前記構成データ毎に記憶されている第２の対象データ記憶部と、
前記算出規則に基づいて前記検索用データを算出する第２の検索用データ算出部と、
前記第２の対象データ記憶部に記憶された前記構成データの群のうち、前記第２の検索用データ算出部によって算出された前記検索用データを含む前記構成データを取得する第２の対象データ取得部と、を備え、
前記第１のユニットは、前記第２の対象データ取得部によって取得された前記構成データに含まれる前記デバイスを識別する情報に基づいて、前記デバイスと紐付けられた前記機能を実行する、
請求項３に記載のエンジニアリングツール。
【請求項５】
第１の記憶装置を備える第１のユニットと、第２の記憶装置を備える第２のユニットと、第３の記憶装置を備え、複数の機能を有し、前記第１のユニットと通信経路によって接続された第３のユニットと、を備えるプログラマブルロジックコントローラに接続されたエンジニアリングツールであって、
前記第３の記憶装置は、前記複数の機能と紐付けられた複数のデバイスが割り付けられる第３の記憶領域を備え、
前記第１の記憶装置は、前記複数のデバイスが割り付けられる第１の記憶領域を備え、
前記第２の記憶装置は、前記複数のデバイスが割り付けられる第２の記憶領域を備え、
前記第１のユニットは、前記デバイスを識別する情報と、前記第１の記憶領域において前記デバイスが割り付けられたアドレスと、前記第３の記憶領域において前記デバイスが割り付けられたアドレスと、転送方向と、を含むネットワーク情報を前記エンジニアリングツールから取得して、取得した前記ネットワーク情報に基づいて、各前記デバイスについて、前記第１の記憶領域に記憶されたデータを、前記通信経路を介して前記第３の記憶領域に供給して記憶させる動作と、前記第３の記憶領域に記憶されたデータを、前記通信経路を介して取得して、前記第１の記憶領域に記憶する動作と、を含むサイクリック交信動作を繰り返し、
前記第２のユニットは、前記デバイスを識別する情報と、前記第３の記憶領域において前記デバイスが割り付けられたアドレスと、を含む設定情報を前記エンジニアリングツールから取得して、前記デバイスを識別する情報に基づいて、前記第１の記憶領域において前記デバイスが割り付けられたアドレスと前記第２の記憶領域において前記デバイスが割り付けられたアドレスとを対応付けて、前記第１の記憶領域において前記デバイスが割り付けられたアドレスと前記第２の記憶領域において前記デバイスが割り付けられたアドレスとの対応テーブルを生成し、生成した前記対応テーブルに基づいて、各前記デバイスについて、前記第２の記憶領域に記憶されたデータを前記第１の記憶領域に供給して記憶させる動作と、前記第１の記憶領域に記憶されたデータを取得して前記第２の記憶領域に記憶する動作と、を含むリフレッシュ動作を繰り返し、
前記エンジニアリングツールは、前記機能が有効であるか否かを示す有効無効情報の全ての組合せについて、前記デバイスを識別する情報と、前記機能と紐付けられた全ての前記デバイスを前記第３の記憶領域において連続する領域に割り付けた当該アドレスを含む構成データの群が記憶された第１の対象データ記憶部と、
前記第１の対象データ記憶部から、有効である前記機能と紐付けられた全ての前記デバイスが前記第３の記憶領域において割り付けられた前記構成データを取得し、前記デバイスを識別する情報と、前記第３の記憶領域において前記デバイスが割り付けられたアドレスと、を対応付けて前記設定情報を生成する第１の設定部と、
前記デバイスを識別する情報と、前記第１の記憶領域において前記デバイスが割り付けられたアドレスと、前記第３の記憶領域において前記デバイスが割り付けられたアドレスとを対応付けて、前記ネットワーク情報を生成する第２の設定部と、
を備える、
エンジニアリングツール。
【請求項６】
前記デバイスは、前記第３の記憶領域に割り付けられたときにアドレスが１ワードで表現されるデバイスであるシングルワードデバイスと、前記第３の記憶領域に割り付けられたときにアドレスが２ワードで表現されるデバイスであるダブルワードデバイスのいずれかであり、
前記ダブルワードデバイスは、前記シングルワードデバイスが割り付けられた領域と連続する領域に割り付けられ、かつ、前記シングルワードデバイスの数が偶数である場合には、前記シングルワードデバイスは、前記第３の記憶領域の先頭の領域を示すアドレスから割り付けられ、前記シングルワードデバイスの数が奇数である場合には、前記シングルワードデバイスは、前記第３の記憶領域の先頭の領域を示すアドレスの次の領域を示すアドレスから割り付けられている、
請求項５に記載のエンジニアリングツール。
【請求項７】
前記第１の対象データ記憶部には、前記有効無効情報の全ての組合せについて、各前記組合せを一意に識別する算出規則に基づいて算出された検索用データが前記構成データ毎に記憶され、
前記エンジニアリングツールは、前記算出規則に基づいて前記検索用データを算出する第１の検索用データ算出部と、
前記第１の対象データ記憶部に記憶された前記構成データの群のうち、前記第１の検索用データ算出部によって算出された前記検索用データを含む前記構成データを取得する第１の対象データ取得部と、を備え、
前記第１の設定部は、前記第１の対象データ記憶部から、前記第１の対象データ取得部によって取得された前記構成データを取得する、
請求項５又は６に記載のエンジニアリングツール。
【請求項８】
前記第３のユニットは、前記算出規則に基づいて算出された検索用データが前記構成データ毎に記憶されている第２の対象データ記憶部と、
前記算出規則に基づいて前記検索用データを算出する第２の検索用データ算出部と、
前記第２の対象データ記憶部に記憶された前記構成データの群のうち、前記第２の検索用データ算出部によって算出された前記検索用データを含む前記構成データを取得する第２の対象データ取得部と、を備え、
前記第３のユニットは、前記第２の対象データ取得部によって取得された前記構成データに含まれる前記デバイスを識別する情報に基づいて、前記デバイスと紐付けられた前記機能を実行する、
請求項７に記載のエンジニアリングツール。
【請求項９】
第１の記憶装置を備え、複数の機能を有する、第１のユニットと、第２の記憶装置を備える第２のユニットと、を備え、エンジニアリングツールが接続されるプログラマブルロジックコントローラであって、
前記第１の記憶装置は、前記複数の機能と紐付けられた複数のデバイスが割り付けられる第１の記憶領域を備え、
前記第２の記憶装置は、前記複数のデバイスが割り付けられる第２の記憶領域を備え、
前記第２のユニットは、前記デバイスを識別する情報と、前記第１の記憶領域において前記デバイスが割り付けられたアドレスと、を含む設定情報を前記エンジニアリングツールから取得して、前記第２の記憶領域において前記デバイスが割り付けられたアドレスと対応付けて、前記第１の記憶領域において前記デバイスが割り付けられたアドレスと前記第２の記憶領域において前記デバイスが割り付けられたアドレスとの対応テーブルを生成し、生成した前記対応テーブルに基づいて、各前記デバイスについて、前記第２の記憶領域に記憶されたデータを前記第１の記憶領域に供給して記憶させる動作と、前記第１の記憶領域に記憶されたデータを取得して前記第２の記憶領域に記憶する動作と、を含むリフレッシュ動作を繰り返し、
前記エンジニアリングツールは、前記機能が有効であるか否かを示す有効無効情報の全ての組合せについて、前記デバイスを識別する情報と、前記機能と紐付けられた全ての前記デバイスを前記第１の記憶領域において連続する領域に割り付けた当該アドレスを含む構成データの群が記憶された第１の対象データ記憶部と、前記第１の対象データ記憶部から、有効である前記機能と紐付けられた全ての前記デバイスが前記第１の記憶領域において割り付けられた前記構成データを取得し、前記デバイスを識別する情報と、前記第１の記憶領域において前記デバイスが割り付けられたアドレスと、を対応付けて前記設定情報を生成する第１の設定部と、を備える、
プログラマブルロジックコントローラ。
【請求項１０】
第１の記憶装置を備え、複数の機能を有する、第１のユニットと、第２の記憶装置を備える第２のユニットと、を備えるプログラマブルロジックコントローラであって、
前記第１の記憶装置は、前記複数の機能と紐付けられた複数のデバイスが割り付けられる第１の記憶領域を備え、
前記第２の記憶装置は、前記複数のデバイスが割り付けられる第２の記憶領域を備え、
前記第２のユニットは、前記デバイスを識別する情報と、前記第１の記憶領域において前記デバイスが割り付けられたアドレスと、を含む設定情報を前記第２の記憶装置から取得して、前記第２の記憶領域において前記デバイスが割り付けられたアドレスと対応付けて、前記第１の記憶領域において前記デバイスが割り付けられたアドレスと前記第２の記憶領域において前記デバイスが割り付けられたアドレスとの対応テーブルを生成し、生成した前記対応テーブルに基づいて、各前記デバイスについて、前記第２の記憶領域に記憶されたデータを前記第１の記憶領域に供給して記憶させる動作と、前記第１の記憶領域に記憶されたデータを取得して前記第２の記憶領域に記憶する動作と、を含むリフレッシュ動作を繰り返し、
前記第２のユニットは、前記機能が有効であるか否かを示す有効無効情報の全ての組合せについて、前記デバイスを識別する情報と、前記機能と紐付けられた全ての前記デバイスを前記第１の記憶領域において連続する領域に割り付けた当該アドレスを含む構成データの群が記憶された第１の対象データ記憶部と、前記第１の対象データ記憶部から、有効である前記機能と紐付けられた全ての前記デバイスが前記第１の記憶領域において割り付けられた前記構成データを取得し、前記デバイスを識別する情報と、前記第１の記憶領域において前記デバイスが割り付けられたアドレスと、を対応付けて前記設定情報を生成する第１の設定部と、を備える、
プログラマブルロジックコントローラ。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、エンジニアリングツール及びプログラマブルロジックコントローラに関する。
【背景技術】
【０００２】
工場における生産工程を自動化するＦＡ（Factory Automation）機器の制御を行う装置として、プログラマブルロジックコントローラ（ＰＬＣ、Programmable Logic Controller）が使用されている。
ＰＬＣは、予め設定された制御プログラムを実行するＣＰＵユニットと特殊な機能を実行する特殊ユニットを備える。ＣＰＵユニットは、特殊ユニットとの間で、実行した制御プログラムの出力データを供給する動作と入力データを取得する動作を繰り返す。ＣＰＵユニットと特殊ユニットとの間において繰り返し行われる出力データの供給と入力データ取得をリフレッシュと呼ぶ。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１７−０２７５３９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１に記載されたＰＬＣは、連続したアドレスにリフレッシュをすることで、連続しないアドレスにリフレッシュをする場合に比べて、データの供給と取得にかかる時間を短縮しようとするものである。【０００５】
特許文献１に記載されたＰＬＣは、リフレッシュを必要としない記憶領域にもアドレスを割り付ける。このため、リフレッシュを必要としない記憶領域にアクセスがなされたり、将来の仕様変更のために予約された記憶領域にアクセスがなされたりすることがある。【０００６】
このように、特許文献１に記載されたＰＬＣにおいては、不要なアクセスが行われることにより、効率的にデータを送受信することができないという問題がある。また、特許文献１に記載されたＰＬＣに設定されるデータを生成するエンジニアリングツールも、同様の問題を有する。【０００７】
本開示は、上記に鑑みてなされたものであり、効率的なリフレッシュを実現するエンジニアリングツール及びプログラマブルロジックコントローラを提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記目的を達成するため、本開示に係るエンジニアリングツールは、
第１の記憶装置を備え、複数の機能を有する、第１のユニットと、第２の記憶装置を備える第２のユニットと、を備えるプログラマブルロジックコントローラに接続されたエンジニアリングツールであって、
前記第１の記憶装置は、前記複数の機能と紐付けられた複数のデバイスが割り付けられる第１の記憶領域を備え、
前記第２の記憶装置は、前記複数のデバイスが割り付けられる第２の記憶領域を備え、
前記第２のユニットは、前記デバイスを識別する情報と、前記第１の記憶領域において前記デバイスが割り付けられたアドレスと、を含む設定情報を前記エンジニアリングツールから取得して、前記第２の記憶領域において前記デバイスが割り付けられたアドレスと対応付けて、前記第１の記憶領域において前記デバイスが割り付けられたアドレスと前記第２の記憶領域において前記デバイスが割り付けられたアドレスとの対応テーブルを生成し、生成した前記対応テーブルに基づいて、各前記デバイスについて、前記第２の記憶領域に記憶されたデータを前記第１の記憶領域に供給して記憶させる動作と、前記第１の記憶領域に記憶されたデータを取得して前記第２の記憶領域に記憶する動作と、を含むリフレッシュ動作を繰り返し、
前記エンジニアリングツールは、前記機能が有効であるか否かを示す有効無効情報の全ての組合せについて、前記デバイスを識別する情報と、前記機能と紐付けられた全ての前記デバイスを前記第１の記憶領域において連続する領域に割り付けた当該アドレスを含む構成データの群が記憶された第１の対象データ記憶部と、前記第１の対象データ記憶部から、有効である前記機能と紐付けられた全ての前記デバイスが前記第１の記憶領域において割り付けられた前記構成データを取得し、前記デバイスを識別する情報と、前記第１の記憶領域において前記デバイスが割り付けられたアドレスと、を対応付けて前記設定情報を生成する第１の設定部と、を備える。
【発明の効果】
【０００９】
本開示によれば、連続する記憶領域にデバイスが割り付けられていることにより、不要なリフレッシュを回避することができるため、効率的なリフレッシュを行うエンジニアリングツール及びプログラマブルロジックコントローラが提供される。
【図面の簡単な説明】
【００１０】
【図１】実施の形態１に係るエンジニアリングツールを含むシステムの概略説明図
【図２】図１に示すエンジニアリングツールの記憶部に記憶された情報の具体例
【図３】（Ａ）〜（Ｆ）は図１に示すエンジニアリングツールの記憶部に記憶された情報の別の具体例
【図４】図１に示すエンジニアリングツールの検索用データ算出部による検索用データの算出の説明図
【図５】図１に示すエンジニアリングツールの記憶部に記憶された情報の別の具体例
【図６】図１に示すエンジニアリングツールのハードウェア構成図
【図７】図１に示すエンジニアリングツールに接続されたプログラマブルロジックコントローラの概略説明図
【図８】図１に示すシステムに含まれるプログラマブルロジックコントローラの動作タイミングを示す説明図
【図９】図１に示すシステムに含まれるＣＰＵユニットによって生成された情報の具体例
【図１０】図１に示すエンジニアリングツールにおいて情報の送受信に関するデータを生成する処理を説明するフローチャート
【図１１】図１に示すシステムに含まれる特殊ユニットにおいて情報の送受信に関するデータを取得する処理を説明するフローチャート
【図１２】図１に示すシステムに含まれるＣＰＵユニットにおいて情報の送受信に関するデータを生成する処理を説明するフローチャート
【図１３】実施の形態２に係るエンジニアリングツールを含むシステムの概略説明図
【図１４】図１３に示すエンジニアリングツールの記憶部に記憶された情報の具体例を示す図
【図１５】図１３に示すネットワークユニットとリモートユニットの概略説明図
【図１６】実施の形態３に係るＣＰＵユニットを含むシステムの概略説明図
【図１７】図１６に示すＣＰＵユニットの概略説明図
【発明を実施するための形態】
【００１１】
以下、図面を参照しながら、本開示の実施の形態に係るエンジニアリングツール及びプログラマブルロジックコントローラ（ＰＬＣ、Programmable Logic Controller）を説明する。各図面においては、同一又は同等の部分に同一の符号を付す。
【００１２】
（実施の形態１）
図１を参照しながら、実施の形態１に係るエンジニアリングツール１とＰＬＣ２を含む機器情報設定システム全体の概要を説明する。
【００１３】
エンジニアリングツール１は、リフレッシュに関する情報を生成し、記憶し、ＰＬＣ２に設定する機器である。ＰＬＣ２において、リフレッシュとは、ＣＰＵユニット３によって実行された制御プログラムの入出力データのうち、有効である機能に対応するものを、ＣＰＵユニット３が特殊ユニット４に供給し、又はＣＰＵユニット３が特殊ユニット４から取得することをいう。後述するように、ＣＰＵユニット３が特殊ユニット４に供給した出力データ又はＣＰＵユニット３が特殊ユニット４から取得した入力データは、ＣＰＵユニット３又は特殊ユニット４が備える記憶領域に記憶される。入出力データが記憶される各区画をデバイスという。
エンジニアリングツール１は、後述する各部を制御する演算を行う演算部１１と、リフレッシュに関する情報を記憶する記憶部１２と、ＰＬＣ２との通信インタフェースである外部インタフェース１３と、リフレッシュに関する情報を表示する表示装置１４と、リフレッシュに関する情報を入力する入力装置１５と、を備える。
【００１４】
記憶部１２は、特殊ユニット４の備える各機能に関する情報であるユニットパラメータ情報を記憶するユニットパラメータ情報記憶部１２ｂと、リフレッシュの対象となるデバイスに関するデータを記憶するリフレッシュ対象データ記憶部１２ｃと、リフレッシュに関する情報を記憶するリフレッシュ設定データ記憶部１２ｄと、を備える。
リフレッシュ対象データ記憶部１２ｃは、請求項における、第１の対象データ記憶部の一例である。
【００１５】
図２に示すように、ユニットパラメータ情報記憶部１２ｂに記憶されたユニットパラメータ情報は、パラメータ名称と、そのパラメータの種別を示す値であるパラメータ種別と、そのパラメータの設定値と、を含む。
パラメータ種別は、パラメータの役割を示す値である。パラメータが、特殊ユニット４が有する機能のうち、そのパラメータに対応するものを使用するか否かを切り替えるものである場合には、パラメータ種別は「機能使用判定」に設定される。パラメータが、特殊ユニット４が有する機能のうち、そのパラメータに対応するものの動作を設定するものである場合には、パラメータ種別は「ユニット動作」に設定される。なお、パラメータ種別は、パラメータ毎に予め設定されている。
パラメータの設定値は、ＰＬＣ２の動作を変更するときに、ユーザによって入力された値である。ユーザによって入力された値は、後述するように、ユニットパラメータ設定部１１ａによって設定され、ユニットパラメータ情報記憶部１２ｂに記憶される。
パラメータ名称がＰ１であるパラメータとパラメータ名称がＰ３であるパラメータのパラメータ種別は機能使用判定であり、それぞれの設定値は、機能使用及び機能未使用である。パラメータ種別が機能使用判定であるパラメータの設定値は、機能が有効であるか無効であるかを示す機能有効無効情報である。
以下、パラメータ名称がＰ１、Ｐ２、…、Ｐ６であるパラメータを、単にパラメータＰ１、Ｐ２、…、Ｐ６と表す。
【００１６】
前述したように、入出力データの記憶領域をデバイスエリアといい、デバイスエリアのうち、各入出力データに割り付けられた区画をデバイスという。
リフレッシュ対象データ記憶部１２ｃには、以下の割付規則ａ１〜ａ３に従って割り付けられた特殊ユニット４におけるデバイスのアドレスを含むデバイス構成データが記憶されている。
デバイス割付規則ａ１は、「ユニットパラメータ情報に基づいて、リフレッシュ対象のデバイスをデバイスエリアに割り付ける」という規則である。
デバイス割付規則ａ２は、「リフレッシュ対象のデバイスをデバイスエリアの先頭から前詰めで割り付ける」という規則である。
デバイス割付規則ａ３は、「シングルワードデバイスをデバイスエリアの先頭から前詰めで割り付けた領域に連続してダブルワードデバイスを割り付ける。また、シングルワードデバイスの数が奇数である場合は、デバイスエリアの先頭アドレスに１ワード加えたアドレスを先頭として、シングルワードデバイスとダブルワードデバイスを割り付ける」という規則である。なお、アドレスが１ワードで表現されるデバイスをシングルワードデバイス、２ワードで表現されるデバイスをダブルワードデバイスという。
【００１７】
リフレッシュ対象データ記憶部１２ｃには、パラメータ種別が「機能使用判定」であるパラメータの全ての組合せについて、機能に対応するデバイスを識別する情報と、特殊ユニット４においてそのデバイスが割り付けられているアドレスを含む、デバイス構成データが記憶されている。
また、使用しない機能に対応するデバイスにリフレッシュを行う必要はないため、リフレッシュ対象データ記憶部１２ｃに記憶されている各デバイス構成データは、ユニットパラメータ情報においてパラメータ種別が「機能使用判定」であり、かつ、設定値が「機能使用」である機能と紐付けられたデバイスのデバイス構成データのみを含んでいる。
デバイス構成データは、請求項における、構成データの一例である。
【００１８】
図２に示した例では、パラメータ種別が「機能使用判定」であるパラメータは、パラメータＰ１、Ｐ３、Ｐ４、Ｐ６の４つである。
ある機能を使用する場合に、ユーザはその機能に対応するパラメータの設定値を機能使用に設定する。
【００１９】
リフレッシュ対象データ記憶部１２ｃには、パラメータ種別が機能使用判定であるパラメータＰ１、Ｐ３、Ｐ４、Ｐ６の設定値の全ての組合せについて、機能に対応するリフレッシュ対象デバイスとそのアドレスを含むデバイス構成データの群が記憶されている。デバイス構成データの群は予めリフレッシュ対象データ記憶部１２ｃに記憶されており、後述するように、リフレッシュに必要なデバイス構成データが、リフレッシュ対象データとして、リフレッシュ対象データ取得部１１ｄによって取得される。
各デバイス構成データには、後述する検索用データが付加されている。各機能に、それぞれ、デバイスＤ１〜Ｄ４が紐付けられているものとする。
【００２０】
パラメータ種別が機能使用判定であるパラメータはパラメータＰ１、Ｐ３、Ｐ４、Ｐ６の４つであるため、図３（Ａ）〜（Ｆ）に６つの代表例を示すように、リフレッシュ対象データ記憶部１２ｃには、１６通りのデバイス構成データが記憶されている。
例えば、図３（Ａ）はパラメータ種別が機能使用判定であるパラメータＰ１、Ｐ３、Ｐ４、Ｐ６のうち、設定値が「機能使用」であるものがない場合を示す。図３（Ｂ）はパラメータＰ１の設定値のみが「機能使用」である場合を示す。図３（Ｃ）はパラメータＰ３の設定値のみが「機能使用」である場合を示す。図３（Ｄ）はパラメータＰ１、Ｐ３の設定値が「機能使用」であり、パラメータＰ４、Ｐ６の設定値が「機能未使用」である場合を示す。図３（Ｅ）はパラメータＰ１、Ｐ４の設定値が「機能使用」であり、パラメータＰ３、Ｐ６の設定値が「機能未使用」である場合を示す。図３（Ｆ）はパラメータ種別が機能使用判定であるパラメータＰ１、Ｐ３、Ｐ４、Ｐ６のうち、全てのパラメータＰ１、Ｐ３、Ｐ４、Ｐ６設定値が「機能使用」である場合を示す。
【００２１】
図２に示したユニットパラメータ情報に対応するデバイス構成データは、設定値が機能使用に設定されているパラメータＰ１、Ｐ４に対応するものである。このデバイス構成データは、図３（Ｅ）に示したデバイス構成データであり、デバイスＤ１、Ｄ３がアドレス０、１にそれぞれ割り付けられている。
【００２２】
図３（Ｂ）〜（Ｆ）に示したように、デバイスが割り付けられている場合には、全てのデバイスは、アドレス０を先頭とする領域に連続して割り付けられている。例えば、図３（Ｆ）に示した場合には、デバイスＤ１〜Ｄ４がアドレス０〜４に連続して割り付けられている。
【００２３】
図４に示すように、リフレッシュ対象データ記憶部１２ｃに記憶された検索用データは、パラメータ種別が機能使用判定であるパラメータの設定値を０又は１で表したビットを並べるという規則に従って算出される。
この検索用データの値は、後述する検索用データ算出部１１ｃによって算出される値と同一の値である。
【００２４】
具体的には、検索用データは、以下の規則に従って算出される。
図２に示した例では、パラメータ種別が機能使用判定であるパラメータはＰ１、Ｐ３、Ｐ４、Ｐ６の４つであり、パラメータＰ１とＰ４の設定値が機能使用、パラメータＰ３とＰ６の設定値が機能未使用に設定されている。設定値が機能使用であるパラメータＰ１、Ｐ４に対応するビット値を１、設定値が機能未使用であるパラメータＰ３、Ｐ６に対応するビット値を０として、これらのビット値を下位ビットから上位ビットにかけてパラメータＰ１〜Ｐ６の順に並べると２進数のビット列「０１０１」となる。
２進数のビット列「０１０１」をひとまとまりの１０進数の整数値として解釈した値５が検索用データとして算出される。説明した規則によれば、パラメータＰ１、Ｐ３、Ｐ４、Ｐ６の設定値の全ての組合せのデバイス構成データについて、０から１５までの範囲の互いに異なる検索用データが算出される。
検索用データを算出する規則は、請求項における、算出規則の一例である。
【００２５】
図５に示すように、リフレッシュ設定データ記憶部１２ｄには、例えば、特殊ユニット４におけるデバイスのアドレス、特殊ユニット４におけるデバイスを識別する情報、ＣＰＵユニット３におけるデバイスを識別する情報、データの転送方向に関する情報を含むリフレッシュ設定データが記憶されている。また、リフレッシュ設定データには、後述する番号が付加されている。
リフレッシュ設定データは、リフレッシュ対象データ記憶部１２ｃに記憶されたデバイス構成データのうち、機能使用判定が機能使用であるパラメータの組合せに対応するリフレッシュ対象データを含んでいる。
図２に示した例によれば、パラメータ種別が機能使用判定であるパラメータＰ１、Ｐ３、Ｐ４、Ｐ６のうち、設定値が機能使用であるパラメータはＰ１とＰ４であるため、リフレッシュ設定データは、図３（Ｅ）に示したデバイスＤ１、Ｄ３がアドレス０、１に割り付けられたデバイス構成データを含む。
ＣＰＵユニット３におけるデバイスのアドレスは、後述するように、ユーザによって設定された値である。転送方向は、エンジニアリングツール１の記憶部１２に予め記憶されているが、ユーザによって設定されてもよい。
リフレッシュ設定データには、一度のリフレッシュでリフレッシュするデバイスに対して、１つの番号が付加されている。
リフレッシュ設定データは、請求項における、設定情報の一例である。
【００２６】
図１に戻って、演算部１１は、特殊ユニット４が有する機能の動作に関するパラメータを設定するユニットパラメータ設定部１１ａと、パラメータの組に対応する検索用データを算出する検索用データ算出部１１ｃと、検索用データに基づいてリフレッシュ対象データを取得するリフレッシュ対象データ取得部１１ｄと、ＣＰＵユニット３にリフレッシュに関する情報を設定するリフレッシュ設定部１１ｅと、を備える。
検索用データ算出部１１ｃは、請求項における、第１の検索用データ算出部の一例である。
リフレッシュ対象データ取得部１１ｄは、請求項における、第１の対象データ取得部の一例である。
リフレッシュ設定部１１ｅは、請求項における、第１の設定部の一例である。
【００２７】
以上説明した機能的構成を有するエンジニアリングツール１は、例えば、パーソナルコンピュータ、スマートフォン、タブレット等のコンピュータにインストールしたプログラムを実行させることにより実現される。
【００２８】
エンジニアリングツール１を実現するハードウェア構成の一例を、図６を参照しながら説明する。
【００２９】
エンジニアリングツール１は、情報を演算する情報演算装置１０を含む。
情報演算装置１０は、後述する様々な演算処理を行うプロセッサ１０１と、入力部１０５、出力部１０６等の他の装置と通信する通信部１０２と、情報を一時的に記憶するＤＲＡＭ（Dynamic Random Access Memory）、ＳＲＡＭ（Static Random Access Memory）等の主記憶部１０３と、情報を永続的に記憶するハードディスクドライブ（ＨＤＤ）、ソリッドステートドライブ（ＳＳＤ）等の補助記憶部１０４と、プロセッサ１０１、通信部１０２、主記憶部１０３又は補助記憶部１０４の間で交換される情報の経路であるバス１０８と、を備える。
【００３０】
プロセッサ１０１は図１に示した演算部１１を実現するハードウェアの一例であり、通信部１０２は外部インタフェース１３を実現するハードウェアの一例であり、主記憶部１０３、補助記憶部１０４は記憶部１２を実現するハードウェアの一例である。
【００３１】
入力部１０５は図１に示した入力装置１５を実現するハードウェアの一例である。
入力部１０５は、外部からのデータの入力を受け付ける装置である。入力部１０５は、例えば、マウス、キーボード、タッチパネル、マイク等のヒューマン・インタフェース・デバイスを含む。
なお、入力部１０５は、他装置が送信した信号を検知する装置である、パラレルバス、シリアルバス等の受信インタフェースであってもよい。
【００３２】
出力部１０６は図１に示した表示装置１４を実現するハードウェアの一例である。
出力部１０６は、ユーザに各種の情報を表示する情報を出力する装置であり、例えば、液晶ディスプレイ、ＣＲＴディスプレイ、有機ＥＬディスプレイ等を含む。出力部１０６は、情報を文字、画像等の形式で印刷するプリンタ、プロッタ等も含む。
【００３３】
次に、ＰＬＣ２の構成を示す図７を参照して、エンジニアリングツール１が接続されるＰＬＣ２の構成について説明する。
ＰＬＣ２は、ユーザによって作成された制御プログラムであるユーザプログラムを実行する装置であるＣＰＵ（Central Processing Unit）ユニット３と、後述する特殊な機能を提供する装置である特殊ユニット４と、これらのユニットを接続するユニットであるベースユニット５と、を含む。
【００３４】
続いて、ＣＰＵユニット３と特殊ユニット４の詳細について説明する。
ＣＰＵユニット３は、ユーザプログラムの実行を含む演算処理を実行する演算部３１と、各種の情報を記憶する記憶部３２と、他の装置との通信インタフェースである外部インタフェース３３と、を備える。
記憶部３２は、複数のデバイスが割り付けられる記憶領域であるデバイスエリア３２ａを備える。
記憶部３２は、請求項における、第２の記憶装置の一例であり、デバイスエリア３２ａは、請求項における、第２の記憶領域の一例である。
【００３５】
特殊ユニット４は、Ａ／Ｄ変換処理、Ｄ／Ａ変換処理等の特殊な機能を実行する装置である。特殊ユニット４には、特殊な機能の実行を担当する外部機器６が接続されている。
特殊ユニット４は、外部機器６の制御を含む演算処理を実行する演算部４１と、各種の情報を記憶する記憶部４２と、他の装置との通信インタフェースである外部インタフェース４３と、を備える。
演算部４１は、図４に示した規則と同一の規則で検索用データを算出する検索用データ算出部４１ｃ及びリフレッシュ対象データを取得するリフレッシュ対象データ取得部４１ｄを備える。
記憶部４２は、複数のデバイスが割り付けられ記憶領域であるデバイスエリア４２ａを備える。
また、記憶部４２は、リフレッシュ対象データを記憶するリフレッシュ対象データ記憶部４２ｃを備える。リフレッシュ対象データ記憶部４２ｃには、リフレッシュ対象データ記憶部１２ｃに記憶されているデバイス構成データと同一のデータが記憶されている。
検索用データ算出部４１ｃは、請求項における、第２の検索用データ算出部の一例である。リフレッシュ対象データ取得部４１ｄは、請求項における、第２の対象データ取得部の一例である。
記憶部４２は、請求項における、第１の記憶装置の一例であり、デバイスエリア４２ａは、請求項における、第１の記憶領域の一例である。リフレッシュ対象データ記憶部４２ｃは、請求項における、第２の対象データ記憶部の一例である。
【００３６】
特殊ユニット４には、外部インタフェース４３を介して、１つ以上の外部機器６が接続されている。
【００３７】
ＣＰＵユニット３及び特殊ユニット４は、１台のベースユニット５に搭載されている。ＣＰＵユニット３は、外部インタフェース３３によってベースユニット５と接続されている。また、特殊ユニット４は、外部インタフェース４３によってベースユニット５と接続されている。
ベースユニット５は、内部にバス５０を備える。ＣＰＵユニット３と特殊ユニット４は、バス５０によって接続されている。
なお、ＰＬＣ２に含まれるユニット、例えば、ＣＰＵユニット３、特殊ユニット４、ベースユニット５も、エンジニアリングツール１と同様に、図６に示した情報演算装置１０によって実現される。
【００３８】
ＣＰＵユニット３は、請求項における、第２のユニットの一例であり、特殊ユニット４は、請求項における、第１のユニットの一例である。
【００３９】
次に、ＣＰＵユニット３と特殊ユニット４の間で実行されるリフレッシュの詳細を説明する。
なお、リフレッシュは、請求項における、リフレッシュ動作の一例である。
【００４０】
ＰＬＣ２は、動作モードとして、例えば、ユーザプログラムを実行する運転モードと、情報を設定する設定モードと、を含む。
【００４１】
図８に示すように、運転モードにおいて、ＣＰＵユニット３は、ユーザプログラムの実行を繰り返す。また、ＣＰＵユニット３は、ユーザプログラムの実行が終了した後、次にユーザプログラムを実行するまでに、ＥＮＤ処理を実行する。
１回のユーザプログラムの実行とこれに続くＥＮＤ処理を合わせて１スキャンという。
ＥＮＤ処理において、ＣＰＵユニット３は、リフレッシュ対象データに基づき、特殊ユニット４と通信し、デバイスエリア３２ａに記憶されたデバイスデータを読み出し、特殊ユニット４にデバイスデータを供給して、デバイスエリア４２ａに記憶する。また、ＣＰＵユニット３は、デバイスエリア４２ａに記憶されたデバイスデータを読み出し、特殊ユニット４から受信して、デバイスエリア３２ａに記憶する。デバイスエリア３２ａとデバイスエリア４２ａに記憶されるデバイスデータは、リフレッシュ対象デバイスのデバイスデータであり、図２に示したユニットパラメータ情報において、機能を使用するものと設定された機能に対応するデバイスに係るものである。
【００４２】
特殊ユニット４の演算部４１は、デバイスエリア４２ａに記憶されたデバイスデータに基づいて機能を実行し、外部機器６に出力する。また、特殊ユニット４の演算部４１は、外部機器６から情報を取得し、取得したデバイスデータをデバイスエリア４２ａに記憶する。
【００４３】
リフレッシュにおいて、デバイスエリア３２ａ、４２ａはワード単位でアクセスされる。デバイスエリア３２ａ、４２ａに記憶されたデバイスデータは、デバイスエリア３２ａから４２ａへ、又はデバイスエリア４２ａから３２ａへ、異なるスキャンに跨がることなく転送される。
【００４４】
図９に示すように、デバイスエリア３２ａ、４２ａ間のデータ転送は、ＣＰＵユニット３におけるデバイスエリア３２ａの先頭アドレスと、特殊ユニット４におけるデバイスエリア４２ａの先頭アドレスと、転送するワード数であるリフレッシュ数とを含むリフレッシュテーブルに基づいて行われる。リフレッシュテーブルに含まれる番号が同一のアドレスに対しては、異なるスキャンに跨がることなく複数ワードのデータが一括で転送される。
図９に示した例では、例えば、デバイスエリア３２ａのアドレス１０００から２ワードの領域と、デバイスエリア４２ａのアドレス０から２ワードの領域との間で、データ転送が行われる。
リフレッシュテーブルは、記憶部３２に記憶されている。
リフレッシュテーブルは、請求項における、対応テーブルの一例である。
【００４５】
次に、図１０のフローチャートを参照しながら、エンジニアリングツール１においてリフレッシュ設定データを生成する処理を説明する。この処理は、ユーザが、ユニットパラメータ情報を変更するときに実行される。
【００４６】
エンジニアリングツール１のユニットパラメータ設定部１１ａは、ユーザによって入力された情報を取得し、取得した情報からユニットパラメータ情報を抽出し、ユニットパラメータ情報記憶部１２ｂに記憶する（ステップＳ１）。
【００４７】
図２に示した例では、ユーザは、パラメータ名称とパラメータ種別が表示されているエンジニアリングツール１の表示装置１４を見ながら入力装置１５を操作し、空欄又はデフォルト値が設定されているパラメータの設定値を埋める。
次に、ユニットパラメータ設定部１１ａは、入力装置１５に入力されたパラメータの設定値を取得して、パラメータ名称及びパラメータ種別に対応付けてユニットパラメータ情報を生成し、生成したユニットパラメータ情報をユニットパラメータ情報記憶部１２ｂに記憶する。
パラメータ名称は、パラメータを識別する情報の一例である。
【００４８】
検索用データ算出部１１ｃは、ユニットパラメータ情報記憶部１２ｂからパラメータの設定値を取得し、取得した設定値に基づいて、検索用データを算出する（ステップＳ２）。
図２、図４に示した例では、パラメータＰ１、Ｐ４の設定値が機能使用に設定され、パラメータＰ３、Ｐ６の設定値が機能未使用に設定されているため、検索用データ算出部１１ｃは、検索用データとして５を算出する。
【００４９】
リフレッシュ対象データ取得部１１ｄは、リフレッシュ対象データ記憶部１２ｃに記憶されているデバイス構成データのうち、ステップＳ２において検索用データ算出部１１ｃによって算出された検索用データの整数値５を含むデバイス構成データを検索する。
続いて、リフレッシュ対象データ取得部１１ｄは、検索して見つかったデバイス構成データをリフレッシュ対象データとして取得する（ステップＳ３）。
図３（Ｅ）、図４に示した例では、リフレッシュ対象データ記憶部１２ｃは、デバイスＤ１、Ｄ３がそれぞれアドレス０、１に割り付けられているデバイス構成データを取得する。
【００５０】
リフレッシュ設定部１１ｅは、以下のようにして、リフレッシュ設定データを生成し、リフレッシュ設定データ記憶部１２ｄに記憶する（ステップＳ４）。
【００５１】
図３（Ｅ）に示したように、デバイスＤ１、Ｄ３は、特殊ユニット４において、デバイスエリア４２ａのアドレス０、１に割り付けられている。エンジニアリングツール１の表示装置１４には、デバイスエリア４２ａにおけるデバイスＤ１、Ｄ３の割付が表示されている。
このため、ユーザは、エンジニアリングツール１の表示装置１４を見ながら入力装置１５を操作し、空欄又はデフォルト値が設定されている、ＣＰＵユニット３における各デバイスを識別する情報を入力する。
リフレッシュ設定部１１ｅは、リフレッシュ対象データ取得部１１ｄを介してデバイス構成データを取得し、取得したデバイス構成データに含まれる特殊ユニット４におけるデバイスのアドレスと、特殊ユニット４におけるデバイスを識別する情報と、ユーザによって入力されたＣＰＵユニット３におけるデバイスを識別する情報とを対応付けて、リフレッシュ設定データを生成する。
次に、リフレッシュ設定部１１ｅは、特殊ユニット４のデバイスエリア４２ａにおいて、アドレスが連続しているデバイスの各グループに対して一つの番号を付与する。リフレッシュ設定部１１ｅは、アドレスが連続しているデバイスの全てのグループに対して、１から昇順に番号を付与することを繰り返す。
【００５２】
以上説明した例では、全てのデバイスＤ１、Ｄ２が割り付けられている特殊ユニット４におけるアドレスが連続しているため、番号は１のみである。
仮に、アドレスに連続していない領域が含まれ、又は一度に転送可能な上限を超える場合には、連続するアドレスに割り当てられたデバイスのグループ毎に、２以上の異なる番号が付与される。
【００５３】
リフレッシュ設定部１１ｅは、生成したリフレッシュ設定データに番号を対応付けて、リフレッシュ設定データ記憶部１２ｄに記憶する。
以上で、エンジニアリングツール１においてリフレッシュ設定データを生成する処理が完了する。
【００５４】
検索用データ算出部４１ｃ及びリフレッシュ対象データ取得部４１ｄは、エンジニアリングツール１における検索用データ算出部１１ｃ、リフレッシュ対象データ取得部１１ｄと同様の機能を有している。
このため、特殊ユニット４は、ユニットの動作を実行するため、図１１に示すように、リフレッシュ対象データを取得する。以下、検索用データ算出部４１ｃ及びリフレッシュ対象データ取得部４１ｄについて、検索用データ算出部１１ｃ、リフレッシュ対象データ取得部１１ｄと異なる動作について説明する。
【００５５】
検索用データ算出部４１ｃは、ＣＰＵユニット３からユニットパラメータ情報を取得して、検索用データを算出する（ステップＳ５）。
具体的には、検索用データ算出部４１ｃは、ＣＰＵユニット３から、ユニットパラメータ情報記憶部１２ｂに記憶されているユニットパラメータ情報を取得して、図４に示した規則で、検索用データを算出する。
【００５６】
リフレッシュ対象データ取得部４１ｄは、リフレッシュ対象データ記憶部４２ｃから、検索用データ算出部４１ｃによって算出された検索用データを含むデバイス構成データをリフレッシュ対象データとして取得する（ステップＳ６）。
【００５７】
特殊ユニット４は、ステップＳ６で取得したリフレッシュ対象データに基づいて、ユニットの動作を実行する。例えば、特殊ユニット４は、機能を実行して、デバイスエリア４２ａに記憶されたデバイスデータを外部機器６に供給し、又は外部機器６から取得したデバイスデータをデバイスエリア４２ａに記憶する。
【００５８】
次に、ＣＰＵユニット３がリフレッシュテーブルを生成する処理を説明する。
図１２に示すように、ＣＰＵユニット３は、ユニットパラメータ情報とリフレッシュ設定データを記憶する（ステップＳ７）。
具体的には、まず、ＣＰＵユニット３は、外部インタフェース３３を介して、エンジニアリングツール１のユニットパラメータ情報記憶部１２ｂから特殊ユニット４のユニットパラメータ情報を、リフレッシュ設定データ記憶部１２ｄから特殊ユニット４のリフレッシュ設定データを、それぞれ取得する。次に、ＣＰＵユニット３は、取得したユニットパラメータ情報とリフレッシュ設定データを記憶部３２に記憶する。
【００５９】
ＣＰＵユニット３は、ＰＬＣ２の動作モードが運転モードになる前、例えばＰＬＣ２のシステム起動時に、記憶部３２に記憶した特殊ユニット４のユニットパラメータ情報を、外部インタフェース３３を介して特殊ユニット４に供給する。
【００６０】
次に、ＣＰＵユニット３は、記憶部３２に記憶したリフレッシュ設定データに基づいて、ＣＰＵユニット３においてデバイスが割り付けられている領域の先頭アドレスと、特殊ユニット４においてデバイスが割り付けられている領域の先頭アドレスと、転送するワード数であるリフレッシュ数とを含むリフレッシュテーブルを生成する（ステップＳ８）。
【００６１】
具体的には、ＣＰＵユニット３は、図５に示したリフレッシュ設定データから、特殊ユニット４においてデバイスが割り付けられている領域の先頭アドレスと、ＣＰＵユニット３におけるデバイスを識別する情報と、連続するアドレスに割り付けられているデバイスのグループに付与された番号と、を抽出する。
図５に示した例によれば、デバイスＤ１、Ｄ３は、デバイスエリア４２ａの先頭であるアドレス０と、その次のアドレスである１に連続して割り付けられている。また、デバイスＤ１、Ｄ３には、共通の番号１が付与されている。
【００６２】
ユーザによって、予めＣＰＵユニット３のデバイスエリア３２ａのアドレス１０００にデバイスＣＤ１が、アドレス１００１にデバイスＣＤ２がそれぞれ割り付けられているものとする。
【００６３】
ＣＰＵユニット３は、図９に示すように、ＣＰＵユニット３における先頭アドレス１０００と、特殊ユニット４における先頭アドレス０と、番号１が付与されたデバイスが割り付けられている領域のサイズであるリフレッシュ数２と、を対応付けてリフレッシュテーブルを生成する。
【００６４】
以上の説明では、シングルワードデバイスのみが割り付けられていることを前提としたが、ダブルワードデバイスが割り付けられている場合においても、ＣＰＵユニット３は、同様に、リフレッシュテーブルを生成する。すなわち、２つのダブルワードデバイスが割り付けられているアドレスの差が２であれば、それらの２つのデバイスは、連続した領域に割り付けられている。
【００６５】
ＣＰＵユニット３は、動作モードが運転モードであるとき、生成されたリフレッシュテーブルに基づいて、リフレッシュを実行する。
ＣＰＵユニット３は、１スキャン毎に、デバイスエリア４２ａの領域のうち、特殊ユニット４における先頭アドレス０からリフレッシュ数分の領域である２ワード分の領域に記憶されたデバイスデータを取得し、デバイスエリア３２ａの領域のうち、ＣＰＵユニット３における先頭アドレスから１０００リフレッシュ数分の領域である２ワード分の領域に記憶する。
図５に示した例によれば、図９に示すように、ＥＮＤ処理において、デバイスＤ１からＣＤ１、デバイスＤ３からＣＤ２への合計２ワード分のデータの供給が行われる。
【００６６】
以上説明したエンジニアリングツール１は、以下の効果を有する。
リフレッシュ対象データ記憶部１２ｃ、４２ｃに記憶されたリフレッシュ対象データは、リフレッシュ対象でないデバイスに関するデータを含まない。このため、リフレッシュ設定データ及びリフレッシュテーブルも、リフレッシュ対象でないデバイスのアドレスを含まない。
従って、リフレッシュ対象でないデバイスにリフレッシュが行われることがないため、効率的にリフレッシュが行われる。
【００６７】
リフレッシュ設定データ記憶部１２ｄに記憶されるリフレッシュ設定データは、使用しない機能に関するリフレッシュ対象デバイスのアドレスを含まない。このため、リフレッシュテーブルも、使用しない機能に関するリフレッシュ対象デバイスのアドレスを含まない。
従って、使用しない機能に関するリフレッシュ対象デバイスにリフレッシュが行われることがないため、効率的にリフレッシュが行われる。
【００６８】
特殊ユニット４のデバイスエリア４２ａの先頭アドレスから連続した領域にリフレッシュが行われるため、連続しない領域にリフレッシュが行われる場合に比べて、効率的にリフレッシュが行われる。
【００６９】
シングルワードデバイスとダブルワードデバイスが混在する場合でも、これらのデバイスは連続したアドレスに割り付けられている。このため、ダブルワードのデバイスデータに不整合が生じない。
【００７０】
（実施の形態２）
実施の形態１に係るエンジニアリングツール１を含む機器情報設定システムにおいては、ＰＬＣ２は、バス５０によって接続されたＣＰＵユニット３と特殊ユニット４との間でリフレッシュを実行する。
これに対し、実施の形態２に係るエンジニアリングツール１００を含む機器情報設定システムにおいては、ＰＬＣ２００は、ＣＰＵユニット３、ベースユニット５、ネットワークユニット７及び複数の機能を有するリモートユニット８を含む。ネットワークユニット７とリモートユニット８とはネットワークを介して接続され、定期的なデータの送受信、すなわち、サイクリック交信を行っている。また、ＣＰＵユニット３は、ネットワークユニット７との間でリフレッシュを実行する。
以下、実施の形態１と異なる部分を中心に説明する。
【００７１】
図１３に示すように、実施の形態２に係るエンジニアリングツール１００は、ＰＬＣ２００に接続されている。
リモートユニット８とＣＰＵユニット３との間のリフレッシュは、より詳しくは、ネットワークユニット７とリモートユニット８との間で行われるサイクリック交信、及びＣＰＵユニット３とネットワークユニット７との間で行われるリフレッシュによって行われる。
リモートユニット８は、請求項における、第３のユニットの一例である。
【００７２】
エンジニアリングツール１００は、エンジニアリングツール１の構成要素を備える。
これに加え、記憶部１２は、後述するネットワーク範囲割付情報を記憶するネットワーク範囲割付情報記憶部１２ｅを備える。
また、リフレッシュ設定データ記憶部１２ｄには、デバイスを識別する情報と、リモートユニット８においてデバイスが割り付けられたアドレスと、が対応付けて記憶されている。
【００７３】
図１４に示すように、ネットワーク範囲割付情報記憶部１２ｅには、ネットワークユニット７におけるデバイスであるリンクデバイスの先頭デバイスと、リモートユニット８を識別する符号である局番と、リモートユニット８におけるデバイスの先頭デバイス及び先頭アドレスと、サイクリック交信に必要とされるデータ転送数であるサイクリック交信数と、ネットワークユニット７とリモートユニット８との間の転送方向とを含むネットワーク範囲割付情報が記憶されている。
ネットワーク範囲割付情報は、請求項における、ネットワーク情報の一例である。
【００７４】
図１４に示した例では、リンクデバイスＬＤ１を先頭デバイスとするリンクデバイスに係るデバイスデータは、ネットワークユニット７からリモートユニット８に転送される。また、リンクデバイスＬＤ２を先頭デバイスとするリンクデバイスに係るデバイスデータは、リモートユニット８からネットワークユニット７に転送される。
転送方向が異なる場合には、転送方向毎にリンクデバイスのデバイスエリアを分け、分けたデバイスエリア毎に、リンクデバイスＬＤ１を先頭とするリンクデバイスとリンクデバイスＬＤ２を先頭とするリンクデバイスがそれぞれ前詰めで割り付けられてもよい。
【００７５】
演算部１１は、ネットワーク範囲割付情報を設定するネットワーク範囲割付設定部１１ｇを備える。
ネットワーク範囲割付設定部１１ｇは、リモートユニット８のリフレッシュ対象データに基づいて、ネットワーク範囲割付情報を生成する。例えば、ネットワーク範囲割付設定部１１ｇは、転送方向毎に、リモートユニット８におけるリフレッシュ対象デバイスのうちの連続するもの及び連続する数を抽出する。次に、ネットワーク範囲割付設定部１１ｇは、リモートユニット８におけるリフレッシュ対象デバイスをネットワークユニット７におけるリンクデバイスに割り付けた場合のリンクデバイスの先頭とサイクリック交信数を算出してネットワーク範囲割付情報を生成する。最後に、ネットワーク範囲割付設定部１１ｇは、生成したネットワーク範囲割付情報をネットワーク範囲割付情報記憶部１２ｅに記憶する。
ネットワーク範囲割付設定部１１ｇは、請求項における、第２の設定部の一例である。
【００７６】
図１５に示すように、ネットワークユニット７は、ＣＰＵユニット３と同様の構成を備える。
すなわち、ネットワークユニット７は、リモートユニット８との通信を制御する演算部７１と、リフレッシュ及びサイクリック交信に関する情報が記憶されている記憶部７２と、他の装置との通信インタフェースである外部インタフェース７３と、を備える。記憶部７２は、デバイスデータが記憶されるデバイスエリア７２ａを備える。
【００７７】
リモートユニット８は、演算部４１及び記憶部４２と同様の機能を備える演算部８１及び記憶部８２を備える。具体的には、演算部８１は検索用データ算出部８１ｃ及びリフレッシュ対象データ取得部８１ｄを備える。また、記憶部８２はデバイスエリア８２ａ及びリフレッシュ対象データ記憶部８２ｃを備え、デバイスエリア８２ａには、デバイスエリア７２ａに割り付けられたデバイスに対応するデバイスに関するデバイスデータが記憶される。
記憶部８２は、請求項における、第３の記憶装置の一例であり、デバイスエリア８２ａは、請求項における、第３の記憶領域の一例である。
リモートユニット８には、外部インタフェース８３を介して、外部機器６が接続されている。
【００７８】
次に、エンジニアリングツール１００を用いたネットワークユニット７とリモートユニット８との間のリフレッシュについて説明する。
【００７９】
ＣＰＵユニット３は、外部インタフェース１３を介して、ユニットパラメータ情報記憶部１２ｂからユニットパラメータ情報を、リフレッシュ設定データ記憶部１２ｄからリフレッシュ設定データを、ネットワーク範囲割付情報記憶部１２ｅからネットワーク範囲割付情報を、それぞれ取得し、記憶部３２に記憶する。
【００８０】
ＣＰＵユニット３は、ＰＬＣ２００の動作モードが運転モードになる前、例えばＰＬＣ２００のシステム起動時に、記憶部３２に記憶したリモートユニット８のユニットパラメータ情報を、外部インタフェース７３、８３を介してリモートユニット８に供給する。
【００８１】
また、ＣＰＵユニット３は、ネットワーク範囲割付情報を、ネットワークユニット７に供給する。
【００８２】
ＣＰＵユニット３は、記憶部３２に記憶されたリフレッシュ設定データに基づいて、ＣＰＵユニット３における先頭アドレスと、ネットワークユニット７における先頭アドレスと、転送するワード数であるリフレッシュ数とを含むリフレッシュテーブルを生成する。
具体的には、ＣＰＵユニット３は、リフレッシュ設定データから、ネットワークユニット７におけるデバイスの先頭アドレスと、ＣＰＵユニット３における先頭アドレスを抽出する。次に、ＣＰＵユニット３は、ネットワークユニット７におけるアドレスのうち、連続するアドレスの数をワード単位でカウントし、カウントした値をリフレッシュ数とする。この手順を、リフレッシュ設定データに付与されている全ての番号について繰り返す。
【００８３】
動作モードが運転モードであるとき、ＣＰＵユニット３は、リフレッシュテーブルに基づいて、１スキャン毎に、デバイスエリア３２ａの領域のうち、ＣＰＵユニット３における先頭アドレスからリフレッシュ数分の領域に記憶されたデバイスデータをネットワークユニット７に供給し、デバイスエリア７２ａの領域のうち、ネットワークユニット７における先頭アドレスからリフレッシュ数分の領域に記憶させる。
また、ＣＰＵユニット３は、リフレッシュテーブルに基づいて、１スキャン毎に、デバイスエリア７２ａの領域のうち、ネットワークユニット７における先頭アドレスからリフレッシュ数分の領域に記憶されたデバイスデータを取得し、デバイスエリア３２ａの領域のうち、ＣＰＵユニット３における先頭アドレスからリフレッシュ数分の領域に記憶する。
【００８４】
ネットワークユニット７は、ＣＰＵユニット３から取得したネットワーク範囲割付情報に基づいて、すなわち、リンクデバイスの先頭デバイスと、リフレッシュ対象デバイスの先頭アドレスと、サイクリック交信数と、に基づいて、リモートユニット８とサイクリック交信を行う。具体例には、ネットワークユニット７は、通信経路９を介して、デバイスエリア７２ａの先頭アドレスからサイクリック交信数分だけ記憶されたデバイスデータをリモートユニット８に供給し、デバイスエリア８２ａに記憶させる。また、ネットワークユニット７は、通信経路９を介して、デバイスエリア８２ａの先頭アドレスからサイクリック交信数分だけ記憶されたデバイスデータを取得し、デバイスエリア７２ａに記憶する。
サイクリック交信は、請求項における、サイクリック交信動作の一例である。
【００８５】
以上説明したエンジニアリングツール１００及びＰＬＣ２００によれば、ネットワークユニット７とリモートユニット８とが通信経路９によって接続されている場合でも、ＣＰＵユニット３とリモートユニット８との間で効率的にリフレッシュを行うことができる。
【００８６】
（実施の形態３）
実施の形態１に係るエンジニアリングツール１は、ユニットパラメータ情報記憶部１２ｂ、リフレッシュ対象データ生成部１１ｂ及びリフレッシュ設定部１１ｅを備える。
これに対し、図１６に示す実施の形態３に係るＣＰＵユニット３００を含む機器情報設定システムにおいては、ＣＰＵユニット３００は、実施の形態１におけるエンジニアリングツール１の機能を備える。
【００８７】
具体的には、図１７に示すように、ＣＰＵユニット３００は、ユニットパラメータ設定部３１１ａ、検索用データ算出部３１１ｃ、リフレッシュ対象データ取得部３１１ｄ、リフレッシュ設定部３１１ｅ、ユニットパラメータ情報記憶部３１２ｂ及びリフレッシュ対象データ記憶部３１２ｃを備える。
リフレッシュ設定部３１１ｅは、請求項における、第１の設定部の一例である。
【００８８】
ＰＬＣ３０２は、ＣＰＵユニット３００、特殊ユニット４及びベースユニット５を含み、特殊ユニット４及びベースユニット５の構成は、実施の形態１において説明したものと同様である。
また、記憶部３１２、４２に記憶されるデータの構造も実施の形態１において説明したものと同様である。
リフレッシュ対象データ記憶部３１２ｃは、請求項における、第１の対象データ記憶部の一例である。
【００８９】
以下、実施の形態１と異なる部分を中心に説明する。
ユーザは、ＣＰＵユニット３００の表示装置３１４を見ながら入力装置３１５を操作し、パラメータの設定値を入力する。
次に、ユニットパラメータ設定部３１１ａは、入力装置３１５に入力されている情報を取得して、パラメータを識別する情報と、パラメータの設定値と、パラメータ種別と、を含めてユニットパラメータ情報を抽出し、抽出したユニットパラメータ情報をユニットパラメータ情報記憶部３１２ｂに記憶する。
【００９０】
検索用データ算出部３１１ｃは、ユニットパラメータ情報記憶部３１２ｂからパラメータの設定値を取得し、取得した設定値に基づいて、検索用データを算出する。
【００９１】
リフレッシュ対象データ取得部３１１ｄは、リフレッシュ対象データ記憶部３１２ｃに記憶されているデバイス構成データのうち、検索用データ算出部３１１ｃによって算出された値と同一の検索用データを含むデバイス構成データを検索する。
続いて、リフレッシュ対象データ取得部３１１ｄは、検索して見つかったデバイス構成データをリフレッシュ対象データ記憶部３１２ｃから取得する。
【００９２】
リフレッシュ設定部３１１ｅは、以下のようにして、リフレッシュ設定データを生成し、リフレッシュ設定データ記憶部３１２ｄに記憶する。
【００９３】
ユーザは、ＣＰＵユニット３００の表示装置３１４を見ながら入力装置３１５を操作し、特殊ユニット４における各デバイスのリフレッシュ先である、ＣＰＵユニット３００における各デバイスを対応付ける。ユーザは、特殊ユニット４における各デバイスをＣＰＵユニット３００における各デバイスと対応付けたデータを、外部インタフェース３１３を介して入力してもよい。
リフレッシュ設定部３１１ｅは、リフレッシュ対象データ取得部３１１ｄによって取得されたリフレッシュ対象データから特殊ユニット４におけるデバイスのアドレスを抽出し、ＣＰＵユニット３００におけるデバイスと対応付けて、リフレッシュ設定データを生成する。
リフレッシュ設定部３１１ｅは、生成したリフレッシュ設定データをリフレッシュ設定データ記憶部３１２ｄに記憶する。
以上で、ＣＰＵユニット３００においてリフレッシュ設定データを生成する処理が完了する。
【００９４】
次に、ＣＰＵユニット３００がリフレッシュテーブルを生成する処理を説明する。
まず、ＣＰＵユニット３００は、ユニットパラメータ情報記憶部３１２ｂから特殊ユニット４のユニットパラメータ情報を、リフレッシュ設定データ記憶部３１２ｄから特殊ユニット４のリフレッシュ設定データを、それぞれ取得する。次に、ＣＰＵユニット３００は、取得したユニットパラメータ情報とリフレッシュ設定データを記憶部３１２に記憶する。
【００９５】
ＣＰＵユニット３００は、ＰＬＣ３０２の動作モードが運転モードになる前、例えばＰＬＣ３０２のシステム起動時に、記憶部３１２に記憶した特殊ユニット４のユニットパラメータ情報を、外部インタフェース３１３を介して特殊ユニット４に供給する。
【００９６】
ＣＰＵユニット３００は、記憶部３１２に記憶したリフレッシュ設定データに基づいて、ＣＰＵユニット３００における先頭アドレスと、特殊ユニット４における先頭アドレスと、転送するワード数であるリフレッシュ数とを含むリフレッシュテーブルを生成する。
具体的には、ＣＰＵユニット３００は、リフレッシュ設定データから、特殊ユニット４におけるデバイスの先頭アドレスと、ＣＰＵユニット３００における先頭アドレスを抽出して、リフレッシュテーブルを生成する。次に、ＣＰＵユニット３００は、ＣＰＵユニット３００におけるアドレスのうち、連続するアドレスの数をワード単位でカウントし、カウントした値をリフレッシュ数として求める。ＣＰＵユニット３００は、求めたリフレッシュ数をリフレッシュテーブルに付加する。この手順を、全てのデバイスについて繰り返す。
【００９７】
以上の手順で生成したリフレッシュテーブルに従い、ＣＰＵユニット３００は、運転モードにおいて、特殊ユニット４との間でリフレッシュを行う。
【００９８】
特殊ユニット４００によれば、エンジニアリングツール１を必要としないので、装置全体の構成を簡略化することができる。
【００９９】
本開示は、本開示の広義の精神と範囲を逸脱することなく、様々な実施の形態及び変形が可能とされるものである。また、上述した実施の形態は、この開示を説明するためのものであり、本開示の範囲を限定するものではない。すなわち、本開示の範囲は、実施の形態ではなく、特許請求の範囲によって示される。そして、請求の範囲内及びそれと同等の開示の意義の範囲内で施される様々な変形が、本開示の範囲内とみなされる。
【産業上の利用可能性】
【０１００】
本開示に係るエンジニアリングツールは、プログラマブルロジックコントローラによる情報の送受信に好適である。
【符号の説明】
【０１０１】
１、１００  エンジニアリングツール、２、２００、３０２  ＰＬＣ、３、３００  ＣＰＵユニット、４  特殊ユニット、５  ベースユニット、６  外部機器、７  ネットワークユニット、８  リモートユニット、１１、３１、４１、７１、８１、３１１  演算部、１２、３２、４２、７２、８２、３１２  記憶部、１３、３３、４３、７３、８３、３１３  外部インタフェース、３２ａ、４２ａ、７２ａ、８２ａ、３３２ａ  デバイスエリア、１１ａ、３１１ａ  ユニットパラメータ設定部、１１ｃ、４１ｃ、８１ｃ、３１１ｃ  検索用データ算出部、１１ｄ、４１ｄ、８１ｄ、３１１ｄ  リフレッシュ対象データ取得部、１１ｅ、３１１ｅ  リフレッシュ設定部、１１ｇ  ネットワーク範囲割付設定部、１２ｂ、３１２ｂ  ユニットパラメータ情報記憶部、１２ｃ、４２ｃ、８２ｃ、３１２ｃ  リフレッシュ対象データ記憶部、１２ｄ、３１２ｄ  リフレッシュ設定データ記憶部、１２ｅ  ネットワーク範囲割付情報記憶部、１３、３１３  外部インタフェース、１４、３１４  表示装置、１５、３１５  入力装置。
【要約】
エンジニアリングツール（１）は、第１の記憶領域を有する第１の記憶装置を備え、複数の機能を有する、第１のユニット（４）と、第２の記憶領域を有する第２の記憶装置を備える第２のユニット（３）と、を備えるプログラマブルロジックコントローラ（２）に接続される。エンジニアリングツール（１）は、機能が有効であるか否かを示す有効無効情報の全ての組合せについて、機能と紐付けられたデバイスを識別する情報と、全てのデバイスを第１の記憶領域において連続する領域に割り付けたアドレスを含む構成データの群が記憶された第１の対象データ記憶部（１２ｃ）と、第１の対象データ記憶部（１２ｃ）から、有効である機能と紐付けられた全てのデバイスが割り付けられた構成データを取得し、デバイスを識別する情報と、デバイスが割り付けられたアドレスと、を対応付けて設定情報を生成する第１の設定部（１１ｅ）と、を備える。【図１】
0006921363.tif 000002
【図２】
0006921363.tif 000003
【図３】
0006921363.tif 000004
【図４】
0006921363.tif 000005
【図５】
0006921363.tif 000006
【図６】
0006921363.tif 000007
【図７】
0006921363.tif 000008
【図８】
0006921363.tif 000009
【図９】
0006921363.tif 000010
【図１０】
0006921363.tif 000011
【図１１】
0006921363.tif 000012
【図１２】
0006921363.tif 000013
【図１３】
0006921363.tif 000014
【図１４】
0006921363.tif 000015
【図１５】
0006921363.tif 000016
【図１６】
0006921363.tif 000017
【図１７】
0006921363.tif 000018