IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社キーエンスの特許一覧

特開2024-167876設定支援装置、制御方法、およびプログラム
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024167876
(43)【公開日】2024-12-04
(54)【発明の名称】設定支援装置、制御方法、およびプログラム
(51)【国際特許分類】
   G05B 19/05 20060101AFI20241127BHJP
【FI】
G05B19/05 Z
【審査請求】未請求
【請求項の数】10
【出願形態】OL
(21)【出願番号】P 2024005190
(22)【出願日】2024-01-17
(31)【優先権主張番号】P 2023084145
(32)【優先日】2023-05-22
(33)【優先権主張国・地域又は機関】JP
(71)【出願人】
【識別番号】000129253
【氏名又は名称】株式会社キーエンス
(74)【代理人】
【識別番号】110003281
【氏名又は名称】弁理士法人大塚国際特許事務所
(72)【発明者】
【氏名】丸山 大介
【テーマコード(参考)】
5H220
【Fターム(参考)】
5H220BB07
5H220CC08
5H220JJ12
5H220JJ26
5H220JJ53
(57)【要約】
【課題】PLCとモータドライバとの設定を従来よりも容易にする。
【解決手段】設定支援装置は、プログラマブルロジックコントローラに対して設定されたモータ駆動装置のベンダ特定情報と製品特定情報との組み合わせに対応する割付情報に含まれるマッピング情報に基づいてマスタがサイクリック通信により伝送するデータオブジェクトのマッピングを設定する。さらに、設定支援装置は、当該モータ駆動装置に対する割付情報に含まれる設定パラメータの推奨値をマスタがメッセージ通信を介してモータ駆動装置に対して書き込む。
【選択図】図39
【特許請求の範囲】
【請求項1】
サイクリック通信のマスタとして機能するプログラマブルロジックコントローラと、
前記サイクリック通信のスレーブとして機能し、当該サイクリック通信により当該マスタから伝送されるモータ制御データに基づいてモータを駆動するモータ駆動装置と、
を有するPLCシステムに対する設定を支援する設定支援装置であって、
それぞれベンダ特定情報と製品特定情報とにより特定される複数のモータ駆動装置の中からいずれかのモータ駆動装置を選択し、当該選択されたモータ駆動装置を前記スレーブとして、前記マスタとして機能する前記プログラマブルロジックコントローラに対して、設定する構成編集部と、
それぞれベンダ特定情報と複数の製品特定情報とに関連付けられた割付情報を記憶する記憶部であって、前記割付情報は、前記モータ駆動装置が取り扱うデータオブジェクトを前記サイクリック通信の通信対象としてマッピングするマッピング情報と、当該モータ駆動装置に対する設定パラメータの推奨値とを含む、記憶部と、
前記構成編集部により前記プログラマブルロジックコントローラに対して設定された前記モータ駆動装置のベンダ特定情報と製品特定情報との組み合わせに対応する前記割付情報に含まれる前記マッピング情報に基づいて前記マスタが前記サイクリック通信により伝送するデータオブジェクトのマッピングを設定するとともに、当該モータ駆動装置に対する前記割付情報に含まれる前記設定パラメータの推奨値を前記マスタがメッセージ通信を介して前記モータ駆動装置に対して書き込むよう設定する構成設定部と、
を備えることを特徴とする設定支援装置。
【請求項2】
前記記憶部は、さらに、ベンダ特定情報と製品特定情報との組み合わせに対応して、前記マッピング情報、前記設定パラメータの推奨値、および、モーション機能設定を対応付けて記憶するように構成されており、
前記モーション機能設定は、前記モータ駆動装置が備える機能を制御するための制御データが、前記サイクリック通信により伝送されるデータオブジェクトのどのビットに割り当てられるかを示す、請求項1に記載の設定支援装置。
【請求項3】
前記設定パラメータの推奨値は、前記マスタを通じて前記モータ駆動装置の試運転を可能にする推奨値からなる、請求項1に記載の設定支援装置。
【請求項4】
前記試運転は、
回転指示ボタンを押した回数または押している間だけ前記モータ駆動装置を動作させるJOG運転と、
予め指定された複数のポイントに負荷が移動するよう前記モータ駆動装置を動作させるポイント運転と、
前記負荷を原点に復帰させる減点復帰動作と、
のうちのいずれか一つである、請求項3に記載の設定支援装置。
【請求項5】
前記設定パラメータは、少なくとも、リミットスイッチを有効化または無効化する値と、位置制御または速度制御に関する接点の種類を示す情報と、のいずれか一つを含む、請求項1に記載の設定支援装置。
【請求項6】
前記選択されたモータ駆動装置に対応する電子ファイルを読み出し、当該電子ファイルに基づき前記マッピング情報を生成する生成部をさらに有する、請求項1に記載の設定支援装置。
【請求項7】
前記生成部は、前記選択されたモータ駆動装置に対応する電子ファイルを読み出し、当該電子ファイルに基づき前記選択されたモータ駆動装置が前記設定パラメータの推奨値を必要とするモータ駆動装置であるかどうかを判定し、前記選択されたモータ駆動装置が前記設定パラメータの推奨値を必要とするモータ駆動装置である場合には前記割付情報から前記設定パラメータの推奨値を読み出して前記選択されたモータ駆動装置に書き込む、請求項6に記載の設定支援装置。
【請求項8】
前記サイクリック通信は、ETHERCAT通信、ETHERNET/IP通信、PROFINET通信、およびMODBUS通信のいずれか一つからなる、請求項1に記載の設定支援装置。
【請求項9】
サイクリック通信のマスタとして機能するプログラマブルロジックコントローラと、
前記サイクリック通信のスレーブとして機能し、当該サイクリック通信により当該マスタから伝送されるモータ制御データに基づいてモータを駆動するモータ駆動装置と、
を有するPLCシステムに対する設定を支援する設定支援装置の制御方法であって、
それぞれベンダ特定情報と製品特定情報とにより特定される複数のモータ駆動装置の中からいずれかのモータ駆動装置を選択し、当該選択されたモータ駆動装置を前記スレーブとして、前記マスタとして機能する前記プログラマブルロジックコントローラに対して、設定することと、
それぞれベンダ特定情報と複数の製品特定情報とに関連付けられた割付情報を記憶部に記憶することであって、前記割付情報は、前記モータ駆動装置が取り扱うデータオブジェクトを前記サイクリック通信の通信対象としてマッピングするマッピング情報と、当該モータ駆動装置に対する設定パラメータの推奨値とを含む、ことと、
前記プログラマブルロジックコントローラに対して設定された前記モータ駆動装置のベンダ特定情報と製品特定情報との組み合わせに対応する前記割付情報に含まれる前記マッピング情報に基づいて前記マスタが前記サイクリック通信により伝送するデータオブジェクトのマッピングを設定するとともに、当該モータ駆動装置に対する前記割付情報に含まれる前記設定パラメータの推奨値を前記マスタがメッセージ通信を介して前記モータ駆動装置に対して書き込むよう設定することと、
を有することを特徴とする設定支援装置の制御方法。
【請求項10】
請求項9に記載の設定支援装置の制御方法をプロセッサに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、設定支援装置、制御方法、およびプログラムに関する。
【背景技術】
【0002】
ファクトリーオートメーションにおいてプログラマブルロジックコントローラ(PLC)は、産業機械を制御する中核的なコントローラである。産業機械のほとんどはモータを駆動源として様々な負荷を駆動する。特許文献1が記載するように、PLCは、モータ駆動装置(以下、モータドライバと称す。)と通信し、モータドライバに接続されているモータを駆動する。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2015-012025号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
一般に、PLCの製造メーカと、モータドライバの製造メーカとは一致することが推奨されるが、ユーザは、別の製造メーカにより製造されたモータドライバを所有しており、それをPLCに接続することを希望することがある。この場合、それぞれ異なる製造メーカにより製造されたPLCと複数のモータドライバとが混在することになる。PLCはモータドライバと通信することで、モータを制御するが、その際の通信プロトコルおよび通信信号のフォーマットを知っている必要がある。たとえば、通信信号の何ビット目にどのような情報が搭載されるかをPLCは知っていなければならない。しかし、モータドライバの製造メーカとPLCの製造メーカとが異なる場合、これは困難となる。たとえば、ユーザは、PLCのマニュアルとモータドライバのマニュアルを参照して、モータドライバがPLCの仕様に合うようにモータドライバを適切に設定しなければならい。とりわけ、モータドライバを通じてモータを試運転するためには、設定しなければならない最低限度の制御パラメータとその推奨値がモータドライバごと、または、製造メーカごとに異なるため、ユーザは、製造メーカの異なるPLCとモータドライバとを混在させることが困難であった。
【0005】
そこで、本発明は、PLCとモータドライバとの設定を従来よりも容易にすることを目的とする。
【課題を解決するための手段】
【0006】
本発明は、たとえば、
サイクリック通信のマスタとして機能するプログラマブルロジックコントローラと、
前記サイクリック通信のスレーブとして機能し、当該サイクリック通信により当該マスタから伝送されるモータ制御データに基づいてモータを駆動するモータ駆動装置と、
を有するPLCシステムに対する設定を支援する設定支援装置であって、
それぞれベンダ特定情報と製品特定情報とにより特定される複数のモータ駆動装置の中からいずれかのモータ駆動装置を選択し、当該選択されたモータ駆動装置を前記スレーブとして、前記マスタとして機能する前記プログラマブルロジックコントローラに対して、設定する構成編集部と、
それぞれベンダ特定情報と複数の製品特定情報とに関連付けられた割付情報を記憶する記憶部であって、前記割付情報は、前記モータ駆動装置が取り扱うデータオブジェクトを前記サイクリック通信の通信対象としてマッピングするマッピング情報と、当該モータ駆動装置に対する設定パラメータの推奨値(リミット無効化ON、a接点、b接点など)とを含む、記憶部と、
前記構成編集部により前記プログラマブルロジックコントローラに対して設定された前記モータ駆動装置のベンダ特定情報と製品特定情報との組み合わせに対応する前記割付情報に含まれる前記マッピング情報に基づいて前記マスタが前記サイクリック通信により伝送するデータオブジェクトのマッピングを設定するとともに、当該モータ駆動装置に対する前記割付情報に含まれる前記設定パラメータの推奨値を前記マスタがメッセージ通信を介して前記モータ駆動装置に対して書き込むよう設定する構成設定部と、
を備えることを特徴とする設定支援装置を提供する。
【発明の効果】
【0007】
本発明によれば、PLCとモータドライバとの設定が従来よりも容易になる。
【図面の簡単な説明】
【0008】
図1】PLCシステムを説明する図。
図2】設定支援装置を説明する図。
図3】基本ユニットを説明する図。
図4】モータドライバを説明する図。
図5】CPUの機能を説明する図。
図6】パラメータ設定画面を説明する図。
図7】スレーブ機器情報を形成するパラメータ一覧を説明する図。
図8】スレーブ機器情報を形成する選択肢一覧を説明する図。
図9】スレーブ機器情報を形成する操作シーケンス一覧を説明する図。
図10】パラメータ編集処理を説明するフローチャート。
図11】パラメータ転送に伴う付随処理を説明する図。
図12】付随処理に伴うUIを説明する図。
図13】パラメータ設定画面を説明する図。
図14】パラメータ設定画面を説明する図。
図15】パラメータ設定画面を説明する図。
図16】パラメータ設定画面を説明する図。
図17】スレーブ機器情報を形成するパラメータ一覧を説明する図。
図18】パラメータ設定画面を説明する図。
図19】単独で実行される操作のUIを説明する図。
図20】チューニング画面を説明する図。
図21】チューニング用のパラメータ一覧を説明する図。
図22】パラメータ設定画面を説明する図。
図23】アラーム一覧を説明する図。
図24】試運転画面(アラーム表示画面)を説明する図。
図25】試運転画面(アラーム表示画面)を説明する図。
図26】アラーム表示処理を説明するフローチャート。
図27】構成設定画面を説明する図。
図28】構成設定画面を説明する図。
図29】構成設定画面を説明する図。
図30】通信フォーマットを説明する図。
図31】詳細設定画面を説明する図。
図32】詳細設定画面を説明する図。
図33】詳細設定画面を説明する図。
図34】詳細設定画面を説明する図。
図35】割付情報を説明する図。
図36】推奨値書込画面を説明する図。
図37】CPUの機能を説明する図。
図38】通信設定方法を示すフローチャート。
図39】推奨値の書込方法を示すフローチャート。
【発明を実施するための形態】
【0009】
以下、添付図面を参照して実施形態を詳しく説明する。なお、以下の実施形態は特許請求の範囲に係る発明を限定するものではなく、また実施形態で説明されている特徴の組み合わせの全てが発明に必須のものとは限らない。実施形態で説明されている複数の特徴のうち二つ以上の特徴が任意に組み合わされてもよい。また、同一若しくは同様の構成には同一の参照番号を付し、重複した説明は省略する。
【0010】
<PLCシステム>
図1は、本発明の実施の形態によるプログラマブル・ロジック・コントローラシステム(以下、PLCシステム1と称す。)の一構成例を示す。図1が示すように、このPLCシステム1は、ラダープログラムなどのユーザプログラムの編集を行うための設定支援装置であるPCと、工場等に設置される各種制御装置を統括的に制御するためのPLC(プログラマブルロジックコントローラ)である基本ユニット3と、複数のモータドライバ4a~4cと、を備えている。複数のモータドライバ4a~4cは、それぞれモータ10a、10b、10cを駆動する。
【0011】
設定支援装置であるPC2により作成されるユーザプログラムは、ラダー言語やフローチャート形式のモーションプログラムなどのグラフィカルプログラミング言語を用いて作成されてもよいし、C言語などの高級プログラミング言語を用いて作成されてもよい。
【0012】
PLCシステム1において、基本ユニット3には、1つないし複数の拡張ユニット(例:I/Oユニット、アナログ入力ユニット、アナログ出力ユニット、通信ユニット等)が接続される。基本ユニット3はCPUユニットと呼ばれることもある。
【0013】
基本ユニット3は、表示部5と、操作部6とを有している。表示部5は、モータドライバ4a~4cの動作状況などを表示することができる。操作部6の操作内容に応じて表示部5は表示内容を切り替えてもよい。表示部5は、通常、PLCシステム1内のデバイスの現在値(デバイス値)やPLCシステム1内で生じたエラー情報(アラームやウォーニングの有無)などを表示する。デバイスとは、デバイス値(デバイスデータ)を格納するために設けられたメモリ上の領域を指す名称であり、デバイスメモリと呼ばれてもよい。デバイス値とは、入力機器からの入力状態、出力機器への出力状態およびユーザプログラム上で設定される内部リレー(補助リレー)、タイマー、カウンタ、データメモリ等の状態を示す情報である。デバイス値の型にはビット型とワード型がある。ビットデバイスは1ビットのデバイス値を記憶する。ワードデバイスは1ワードのデバイス値を記憶する。
【0014】
モータドライバ4a~4cは、PLCシステム1の機能を拡張するために用意されている。モータ10a~10cは、それぞれモータドライバ4a~4cにより制御される。モータドライバ4a~4cは、モータ10a~10cに電力を供給するとともに、基本ユニット3からの命令にしたがって回転量などを制御する。モータ10a~10cは、たとえば、サーボモータやステッピングモータなどである。
【0015】
PC2は、PLCシステム1の開発環境を提供するコンピュータである。PC2は、たとえば、携帯可能なノートタイプやタブレットタイプのパーソナルコンピュータであって、表示部7および操作部8を備えている。PLCシステム1を制御するためのユーザプログラムの一例であるラダープログラムは、PC2を用いて作成される。その作成されたラダープログラムは、PC2内でニモニックコードに変換される。PC2は、ユニバーサルシリアルバス(USB)などの通信ケーブル9aを介してPLCシステム1の基本ユニット3に接続され、ニモニックコードに変換されたラダープログラムを基本ユニット3に送る。基本ユニット3はラダープログラムをマシンコードに変換し、基本ユニット3に備えられたメモリ内に記憶する。なお、ここではニモニックコードが基本ユニット3に送信されているが、本発明はこれに限られない。たとえば、PC2は、ニモニックコードを中間コードに変換し、中間コードを基本ユニット3に送信してもよい。
【0016】
なお、図1は示していないが、PC2の操作部8には、PC2に接続されたマウスなどのポインティングデバイスが含まれていてもよい。また、PC2は、USB以外の他の通信ケーブル9aを介して、基本ユニット3に対して着脱可能に接続されるような構成であってもよい。また、PC2は、通信ケーブル9aを介さず、基本ユニット3に対して無線によって接続されてもよい。この場合、通信ケーブル9aは、無線リンクを表現しているものと理解されてもよい。
【0017】
基本ユニット3とモータドライバ4aとは、通信ケーブル9bにより接続されており、通信ケーブル9bを介して相互に通信(例:サイクリック通信、メッセージ通信)できる。モータドライバ4aとモータドライバ4bは、通信ケーブル9cにより接続されており、通信ケーブル9cを介して相互に通信できる。モータドライバ4bは、通信ケーブル9b、9cを介して基本ユニット3と通信できる。モータドライバ4bとモータドライバ4cは、通信ケーブル9dにより接続されており、通信ケーブル9dを介して相互に通信できる。また、モータドライバ4cは、通信ケーブル9b、9c、9dを介して基本ユニット3と通信できる。
【0018】
この例では、モータドライバ4a~4bが接続されているが、モータドライバ4の個数は1台以上であればよい。モータドライバ4a~4cのそれぞれの製造メーカは異なっていてもよいし、同じであってもよい。ここでは、説明の便宜上、モータドライバ4a~4cのそれぞれの製造メーカは異なっているものとする。
【0019】
以下において、モータドライバ4a~4cについて共通の事項が説明される場合、モータドライバ4と表記される。同様に、モータ10a~10cについて共通の事項が説明される場合、モータ10と表記される。
【0020】
<設定支援装置>
図2はPC2の電気的構成について説明するためのブロック図である。図2が示すように、PC2は、CPU11、表示部7、操作部8、記憶装置12および通信部13を備えている。表示部7、操作部8、記憶装置12および通信部13は、それぞれCPU11に対して電気的に接続されている。記憶装置12はRAMやROM、HDD、SSDを含み、さらに着脱可能なメモリカードを含んでもよい。CPUは中央演算処理装置の略称である。ROMはリードオンリーメモリの略称である。RAMはランダムアクセスメモリの略称である。HDDはハードディスクドライブの略称である。SSDはソリッドステートドライブの略称である。
【0021】
PC2のユーザは記憶装置12に記憶されている設定支援プログラム21をCPU11に実行させて、操作部8を通じてプロジェクトデータを編集したり、各モータドライバ4の設定を実行したり、各モータドライバ4からアラーム情報を取得して表示部7に表示したりする。PC2は、エンジニアリングツールと呼ばれてもよい。プロジェクトデータは、一つ以上のユーザープログラム(例:ラダープログラム)と、基本ユニット3やモータドライバ4、モータ10の構成情報などを含む。構成情報は、基本ユニット3に対する複数のモータドライバ4の接続位置や、基本ユニット3に備えられた機能(例:通信機能や位置決め機能)を示す情報、モータドライバ4の機能などを示す情報、および、デバイスの割り当て情報などである。ここで、プロジェクトデータの編集には、プロジェクトデータの作成および変更(再編集)が含まれる。ユーザは、必要に応じて記憶装置12に記憶されているプロジェクトデータを読み出し、そのプロジェクトデータを、設定支援プログラム21を用いて変更する。通信部13は、通信ケーブル9aを介して基本ユニット3と通信する。CPU11は通信部13を介してプロジェクトデータを基本ユニット3に転送する。通信部13は、USB規格に準拠した通信を実行可能な通信回路、有線LAN通信を行う通信回路、および、無線LAN通信を行う通信回路などを含む。通信部13は、通信ケーブルを介してモータドライバ4と通信してもよい。通信部13は、たとえば、パラメータの読出要求もしくは読み書き要求、アラーム詳細の取得要求などを基本ユニット3に送信する。なお、PC2と基本ユニット3との間の通信プロトコルは、汎用のプロトコルであってもよいし、独自のプロトコルであってもよい。たたし、フレームフォーマットは、基本ユニット3がモータドライバ4に対して産業用イーサネットを介して各種の要求を行うための情報を含んでいる。また、通信部13は、サイクリック通信およびメッセージ通信を実行可能である。
【0022】
ところで、基本ユニット3はマスタ機器と呼ばれる。モータドライバ4はスレーブ機器の一例である。製品データベース22は、基本ユニット3に接続されているスレーブ機器を識別するための識別情報(ベンダID、製品コード、リビジョン番号)などを含む。ベンダIDは、スレーブ機器を製造しているメーカ(ベンダ)の固有識別情報(ベンダ特定情報)である。製品コードは、同一のベンダにより提供されている異なるスレーブ機器を区別するために割り当てられている、そのベンダ内で固有の識別情報(製品特定情報または製品識別情報)である。リビジョン番号は、同一のスレーブ機器のリビジョンを区別するために割り当てられている識別情報である。製品データベース22は、操作部8を通じてユーザにより入力されてもよいし、基本ユニット3を介してスレーブ機器と通信することで、スレーブ機器から取得されて、記憶装置12に記憶されてもよい。
【0023】
また、CPU11は、操作部8を通じて指定されたスレーブ機器の接続位置に関連付けて、そのスレーブ機器の製品データベース22を記憶装置12に保存してもよい。これは、プロジェクトデータの一部である構成情報(その他の情報24)として管理されてもよい。
【0024】
スレーブ機器情報23は、スレーブ機器(例:モータドライバ4)に関する様々な情報を含む。スレーブ機器情報23は、スレーブ機器固有情報、パラメータ情報、およびアラーム情報を含みうる。スレーブ機器固有情報は、製品データベース22に登録されている製品特定情報(ベンダID、製品コード、リビジョン番号)、パラメータ反映後に明示的に不揮発メモリへの書込操作が必要な機器かどうかを示す情報、および、アラーム詳細コードをどのように取得するかを示す情報などを含みうる。パラメータ情報は、パラメータ一覧、選択肢一覧、および、操作シーケンス一覧を含みうるが、これらの詳細は後述される。アラーム情報は、アラーム一覧を含みうるが、その詳細はそれぞれ後述される。
【0025】
スレーブ機器情報23は、開発環境(設定支援プログラム21)の一部として提供されてもよい。スレーブ機器情報23は、ベンダのWebサイトからダウンロードされてもよい。スレーブ機器情報23は、搬送可能な記録媒体を通じて提供されてもよい。
【0026】
このように記憶装置12は、割付情報であるスレーブ機器情報23をスレーブ機器に対応付けて記憶する割付情報記憶部として機能する。ベンダID、製品コードおよびリビジョン番号(製品特定情報/製品識別情報)に基づきスレーブ機器(モータドライバ4)は特定される。そのようなスレーブ機器には、複数の設定パラメータが存在する。複数の設定パラメータには、スレーブ機器をマスタ機器(基本ユニット3)に適合させて動作させるために調整が推奨される複数の調整推奨パラメータが存在する。よって、スレーブ機器情報23は、スレーブ機器の製品特定情報(製品識別情報)と複数の調整推奨パラメータとを割り付ける情報である。
【0027】
<基本ユニット(マスタ機器)>
図3は、基本ユニット3のハードウエア構成を示す。CPU31は、メモリ32に対して情報を書き込んだり、メモリ32から情報を読み出したりする。メモリ32は、RAMやROM、HDD、SSDを含み、さらに着脱可能なメモリカードを含んでもよい。プロジェクト記憶部35は、PC2により作成されて転送されてきたプロジェクトデータを記憶するROM領域である。プロジェクトデータは、ユーザプログラムや構成情報などを含む。さらに、CPU31は、操作部6から情報の入力を受け付けたりする。CPU31は、表示部5に様々な情報を表示したりする。
【0028】
CPU31は、通信部33aを介してPC2と接続する一方で、通信部33bを介してモータドライバ4と接続し、通信を行う。通信部33aは、たとえば、USBに対応した通信回路である。通信部33bは、産業用イーサネットプロトコル(例:EtherCAT、EtherNet/IP、PROFINET、MECHATROLINK-III)に対応した通信を実行可能な通信回路である。また、通信部33a、33bは、サイクリック通信およびメッセージ通信を実行可能である。通信変換部34は、CPU31により実現される機能であり、PC2とモータドライバ4との間の通信信号を変換して中継する。たとえば、通信変換部34は、PC2からのモータドライバ4に対する要求を、産業用イーサネットのプロトコルに合うように変換し、PC2の代理として、モータドライバ4に送信する。通信変換部34は、モータドライバ4からのレスポンスを、PC2と基本ユニット3との間の通信プロトコルに準拠するように変換し、PC2へ転送する。
【0029】
<モータドライバ(スレーブ機器)>
図4はモータドライバ4のハードウエア構成を示している。CPU41は、メモリ42に対して情報を書き込んだり、メモリ42から情報を読み出したりする。メモリ42は、RAMやROM、HDD、SSDを含み、さらに着脱可能なメモリカードを含んでもよい。メモリ42は、RAM領域46とROM領域47とを含む。
【0030】
CPU41は、通信部43を介して基本ユニット3や他のモータドライバ4と通信する。通信部43は、産業用イーサネットプロトコル(例:EtherCAT、EtherNet/IP、PROFINET、MECHATROLINK-III)に対応した通信を実行可能な通信回路である。通信部43は、サイクリック通信およびメッセージ通信を実行可能である。モータ制御データはサイクリック通信により基本ユニット3から送信されてくる。
【0031】
入出力部44は、リミットスイッチ等が接続される入力端子および入力回路と、外部に情報を出力する出力回路および出力端子とを含む。モータ駆動回路45は、モータ10を駆動するための電力と制御信号をモータ10に供給する。なお、モータ10への電力は、外部電源から供給されてもよい。
【0032】
CPU41は、パラメータ管理部48とアラーム管理部49とを有している。パラメータ管理部48は、モータ10の制御に必要となる様々なパラメータをパラメータ保存領域51に保存して管理する。パラメータ管理部48は、RAM領域46とROM領域47とのうちいずれか一方または両方に確保されてもよい。アラーム管理部49は、モータドライバ4におけるアラーム状態をアラーム状態保存領域52に保存して管理する。アラーム状態保存領域52は、RAM領域46に確保される。
【0033】
<PC2におけるCPU11の機能>
図5は、CPU11が設定支援プログラム21を実行することで実現する機能を示している。
【0034】
ユーザプログラム編集部501は、基本ユニット3で実行されるユーザプログラムを編集するためのUIを表示部7に表示し、当該UIを通じてユーザプログラムの編集を受け付け、ユーザプログラムを作成する。構成設定部502は、PLCシステム1を構成する基本ユニット3、モータドライバ4およびモータ10の製品情報、および接続位置などを示す構成情報を作成する。たとえば、構成設定部502は、製品リストを表示部7に表示し、製品リストから選択された製品をUI上にドロップすることで、ドロップされた位置に製品を配置する。たとえば、UIに基本ユニット3を模したアイコンが表示されており、基本ユニット3のアイコンの隣に、モータドライバ4aのアイコンをドロップすることで、基本ユニット3の隣にモータドライバ4aが接続されることを示す構成情報が作成される。また、モータドライバ4aのアイコンの隣にモータドライバ4bのアイコンをドロップすることで、モータドライバ4aの隣にモータドライバ4bが接続されることを示す構成情報が作成される。このように、マスタ機器と複数のスレーブ機器の種類、および接続位置は、構成設定部502において特定され、構成情報により管理される。
【0035】
パラメータ設定部503は、基本ユニット3やモータドライバ4を制御するために使用される複数のパラメータを設定する。アラーム管理部504は、基本ユニット3またはモータドライバ4において生成されたアラーム情報を取得して、表示部7に表示する。
【0036】
構成管理部505は、製品データベース22を管理する。機器情報管理部506は、スレーブ機器情報23を管理する。
【0037】
パラメータ設定部503は、ユーザインタフェース(UI)の表示処理を担当する表示処理部521、UIを通じてユーザ入力を受け付ける受付処理部522、パラメータ値の編集を担当する編集部523、編集されたパラメータをスレーブ機器に転送して書き込む書込処理部525を有している。編集部523は、読出処理部527を通じてスレーブ機器にその時点で書き込まれているパラメータの現在値を読み出すことができる。照合部524は、パラメータ設定画面に表示されているパラメータ値と、現在値とを照合し、照合結果を表示部7に表示してもよい。リセット部526は、リモートでスレーブ機器を電源再投入(再起動)したり、リモートでスレーブ機器の設定を工場出荷時の設定に初期化したりする。書込処理部525は、揮発メモリに保持されているパラメータを不揮発メモリへ書き込むことをスレーブ機器に指示してもよい。
【0038】
<パラメータ設定画面>
図6はパラメータ設定部503が表示部7に表示するUI600を示している。UI600は、PLCシステム1の立ち上げに必要となるパラメータを設定して転送するためのユーザインタフェースである。構成表示部601は、構成設定部502を通じて設定されたPLCシステム1の構成を示す。機器選択部602は、設定対象となる機器を選択するためのリスト(プルダウンメニュー)を表示し、機器の選択を受け付ける。機器選択部602を通じて機器が選択されると、構成表示部601は、選択された機器のアイコンを強調表示する。この例では、選択された機器のアイコンが破線上の枠線で囲まれている。チェックボックス603は、予め用意された推奨パラメータを転送するときにチェックされるボタンである。値設定部604は、選択された機器に対して転送されるパラメータの選択と、そのパラメータの値とを設定するためのUIである。なお、プルダウンメニューは、ドロップダウンリストやコンボボックスと呼ばれてもよい。
【0039】
現在値読出ボタン605は、選択された機器に対してその時点で設定されているパラメータの値を、PLCシステム1を通じて、選択された機器から読み出して、値設定部604に反映するためのボタンである。推奨値リセットボタン606は、パラメータに設定されている値を推奨値で上書きするためのボタンである。各パラメータの推奨値は予め記憶装置12に記憶されている。たとえば、推奨値は、スレーブ機器情報23の一部であってもよい。
【0040】
転送実行ボタン607は、機器選択部602により選択された機器に対して、値設定部604により選択されたパラメータを、転送することを指示するボタンである。これにより、パラメータがスレーブ機器に書き込まれる。
【0041】
ところで、パラメータ情報は、パラメータ一覧、選択肢一覧、および、操作シーケンス一覧を含む。パラメータ一覧は、転送対象となるスレーブ機器に対してパラメータ設定画面(UI600)を通じて設定可能なパラメータの一覧である。スレーブ機器に設定可能なパラメータの個数は、多いケースでは、数百個である。ただし、多くのユーザにより一般的に利用されるパラメータの個数は、十個から数十個程度である。そのため、パラメータ一覧は、設定することが必須のパラメータや、多くのユーザにより一般的に利用されるパラメータに絞られている。これにより、パラメータ設定画面における煩雑さが低減されている。パラメータ一覧に含まれるパラメータは、たとえば、以下のとおりである。
(a)マスタ機器側の推奨設定に合わせて必ず事前に設定されることが必要なパラメータ(例:入力割付、極性)
(b)PLCシステム1により制御される、ユーザのメカ構成(モータ10により駆動される負荷)に合わせて設定することが必要なパラメータ(例:モータ10の回転方向)
(c)・PLCシステム1により制御される、ユーザのメカ構成(モータ10により駆動される負荷)に合わせて調整(チューニング)することが必要なパラメータ(例:機械剛性、イナーシャ比)
ところで、値設定部604における値の設定方法としては、たとえば、直接値を入力する方法と、プルダウンメニュー610から値を選択する方法とがある。値の表示形式としては、2進数、10進数、および、16進数のいずれであってもよい。
【0042】
(1)パラメータ一覧
図7はパラメータ一覧の一例を示している。表示順とは、値設定部604に表示される一覧におけるパラメータの表示順を示す。カテゴリとは、パラメータのカテゴリ(例:初期設定用、チューニング用)を示す。カテゴリは、様々なスレーブ機器間で統一されたカテゴリである。よって、ユーザがベンダの異なる複数のスレーブ機器を使用している場合でも、ユーザは、どのタイミングで、どのパラメータを設定および調整すべきかを容易に理解できるようになる。パラメータ番号名は、各スレーブ機器のパラメータ番号の表示形式に合わせた名称である。パラメータ番号名としては、スレーブ機器ごとに異なる表記(「xx.xx」、「(xx-xx)」、「Pxx.xx」など)が用いられ、一般には、これはベンダが用意した名称である。そこで、パラメータ設定画面上でもパラメータ番号名をそのまま使用することで、ユーザの混乱を低減することが可能となる。パラメータ名とは、各スレーブ機器のパラメータの名称である。パラメータ名は多言語に対応していてもよい。この場合、パラメータ名は、パラメータ設定画面において、PLC開発環境の表示言語に合わせた言語で表示される。インデックス/サブインデックスとは、各パラメータを書込・読出をする際に、スレーブ機器側に指定されるインデックスである。インデックスは、通常、どの通信プロトコルでも存在するが、サブインデックスが存在するかどうかは、産業用イーサネットのプロトコルに依存する。
【0043】
データ型とは、そのパラメータのデータ型を示す。データ型は、書込・読出要求の通信で指定される情報(データサイズ)として必要である。設定最小値/設定最大値とは、そのパラメータに対して設定可能な値の範囲を示す。設定最小値/設定最大値は、必ずしもデータ型の範囲とは一致しない。設定最小値/設定最大値は、ユーザが設定範囲外の値を入力しないように設けられている。また、設定最小値/設定最大値は、設定範囲外の値が入力された場合のエラー処理で用いられてもよい。デフォルト値は、スレーブ機器のベンダが定めている、工場出荷時に設定された値(初期値)である。「反映に電源再投入が必要か」とは、パラメータ設定画面での注意喚起表示用に用いられる。これが、TRUEであれば、そのスレーブ機器では、電源が再投入されないと変更値が反映されない。FALSEは、変更が即時反映されることを意味する。値の表示形式/選択肢IDとは、パラメータ設定画面上でのその値の表示形式を示す。この表示形式は、スレーブ機器のベンダが指定する形式であってもよいし、ユーザにとって分かりやすい形式であってもよい(例:2進数表示、10進数表示、16進数表示、選択肢表示など)。選択肢表示の場合、後述され「選択肢一覧」のどの選択肢リストを用いるかどうかを示すID(選択肢ID)が存在する。
【0044】
(2)選択肢一覧
図8は選択肢一覧の一例を示す。選択肢一覧は、パラメータ一覧に含まれる複数のパラメータのうち、「値の表示形式」が選択肢表示に設定されているパラメータの値のための選択肢の一覧である。選択肢一覧内のパラメータと、パラメータ一覧内のパラメータとは、選択肢IDを介して紐付けられている。
【0045】
表示順とは、パラメータ設定画面においてパラメータの値を編集する際に操作されるプルダウンメニューにおける選択肢の表示順を示す。値とは、各選択肢に対応する値である。この値を書き込むようスレーブ機器は要求される。表示文言とは、各選択肢の文言である。表示文言も多言語に対応していてもよい。パラメータ設定画面で、表示文言は、PLC開発環境の表示言語に合わせた言語で表示される。
【0046】
(3)操作シーケンス一覧
図9は操作シーケンス一覧の一例を示す。操作シーケンス一覧とは、スレーブ機器に所定の操作を実行する際に、パラメータの書込や読出をどのようなシーケンスで実行すればよいかを示す。所定の操作には、例えば、以下のようなものがある。
(a)不揮発メモリへの書込実行
(b)ソフトウェアリセット(電源を再投入すること)
(c)アブソリュートエンコーダリセット
(d)全パラメータ初期化(工場出荷時の状態にパラメータをリセットすること)
図9において操作種別IDとは、操作種別を特定するための番号や文言である。「対応しているスレーブ機器か」とは、そのスレーブ機器が、その操作種別に対応しているかどうかを示す。実行条件とは、そのスレーブ機器において、その操作の実行が可能なタイミングを示す。たとえば、実行条件としては、たとえば、「常時」、「モータ制御中以外」、「サーボOFF中」などが採用される。実行条件は、実行不可能なタイミングで操作が実行された際のエラー通知に用いられるデータとして使用されることもある。シーケンスとは、該当操作に対応しているスレーブ機器の場合に存在するパラメータであり、「書込」または「待機」のどちらかを設定される。「書込」はインデックス/サブインデックスに対して、値をデータサイズ分だけ書き込むことを言う。「待機」とは、インデックス/サブインデックスに対して、値をデータサイズ分だけ読み出すこと言う。たとえば、読出された値が指定された値と一致するまで、読出しが繰り返される。条件には、「指定値になるまで待つ」または「指定値以外になるまで待つ」などが設定される。
【0047】
図9によれば、不揮発メモリへの書込(#EEPROM_WRITE)は、0x1010:00のパラメータに0x12345678の値をデータサイズが4バイトで書き込んだ後、0x1010:00のパラメータの値の読出し(データサイズが4バイト)を繰り返し、その値が0x00000001になることが確認できたら完了、というシーケンスで実行される。
【0048】
(4)フローチャート
図10は、CPU11により実行されるパラメータ設定方法を示すフローチャートである。CPU11は設定支援プログラム21にしたがって以下の処理を実行する。(パラメータ設定部503)は、たとえば、基本ユニット3の隣に接続されているスレーブ機器のスレーブ機器情報23を参照し、UI600を作成し、表示部7に表示される。UI600において各パラメータには、たとえば、スレーブ機器情報23に含まれる初期値が設定されてもよい。
【0049】
S1でCPU11(パラメータ設定部503)は操作部8を通じてUI600の起動指示またはスレーブ機器の切り替えを指示されたかどうかを判定する。UI600の起動指示が入力されるか、または、機器選択部602により別のスレーブ機器が選択されると、CPU11はS1からS2に進む。
【0050】
S2でCPU11(パラメータ設定部503)は、機器選択部602により選択されているスレーブ機器の特定情報を取得する。たとえば、パラメータ設定部503は、構成管理部505にn番目のスレーブ機器の製品特定情報(ベンダID、製品コード、リビジョンコード)の取得要求を送信する。構成管理部505は取得要求により特定されるn番目のスレーブ機器の製品特定情報を記憶装置12から読み出して、製品特定情報をパラメータ設定部503に送信する。
【0051】
S3でCPU11(パラメータ設定部503)は、製品特定情報に対応するスレーブ機器情報を取得する。たとえば、パラメータ設定部503は、製品特定情報に対応するスレーブ機器情報23の取得要求を機器情報管理部506に送信する。機器情報管理部506は、取得要求により示される製品特定情報に対するスレーブ機器情報23を記憶装置12から読み出し、パラメータ設定部503に送信する。
【0052】
S4でCPU11(パラメータ設定部503)は、スレーブ機器情報23に基づきUI600を更新する。UI600の値設定部604には、スレーブ機器情報23の内容が反映される。
【0053】
S5でCPU11(パラメータ設定部503)は、現在値の読出要求が入力されたかどうかを判定する。たとえば、パラメータ設定部503は、UI600に設けられた現在値読出ボタン605が操作されたかどうかを判定する。現在値読出ボタン605が押されていなければ、CPU11は、S5からS8に進む。一方、現在値読出ボタン605が押されると、CPU11は、S5からS6に進む。
【0054】
S6でCPU11(パラメータ設定部503)は、機器選択部602により選択されているスレーブ機器から現在値を読み出す。たとえば、パラメータ設定部503は、機器選択部602により選択されているスレーブ機器を示す現在値の読出要求を作成し、通信部13を通じて基本ユニット3に送信する。基本ユニット3のCPU31は、読出要求を受信すると、読出要求を、機器選択部602により選択されているスレーブ機器に転送する。機器選択部602により選択されているスレーブ機器(例:モータドライバ4)のCPU41は、パラメータ保存領域51に保持されている現在値を読み出して、基本ユニット3に送信する。基本ユニット3のCPU31は、現在値を含むレスポンスをPC2へ送信する。これにより、CPU11は、所望のスレーブ機器のパラメータの現在値を取得することができる。
【0055】
S7でCPU11(パラメータ設定部503)は、現在値に基づきUI600を更新する。UI600の値設定部604において、各パラメータには取得された現在値が反映される。
【0056】
S8でCPU11(パラメータ設定部503)は、操作部8を通じて推奨値リセットが指示されたかどうかを判定する。たとえば、パラメータ設定部503は、UI600に設けられた推奨値リセットボタン606が押されたかどうかを判定する。推奨値リセットボタン606が押されていなければ、CPU11は、S8からS11に進む。推奨値リセットボタン606が押されていれば、CPU11は、S8からS9に進む。
【0057】
S9でCPU11(パラメータ設定部503)は、パラメータを推奨値にリセットする。各パラメータの推奨値は、スレーブ機器情報23に含まれていてもよい。
【0058】
S10でCPU11(パラメータ設定部503)は、推奨値に基づきUI600を更新する。UI600の値設定部604において、各パラメータには取得された推奨値が反映される。
【0059】
S11でCPU11(パラメータ設定部503)は、操作部8を通じて入力される指示に基づき値設定部604のパラメータを編集する。
【0060】
S12でCPU11(パラメータ設定部503)は、転送実行ボタン607が押されたかどうかを判定する。転送実行ボタン607が押されていなければ、CPU11は、S12からS5に戻る。転送実行ボタン607が押されると、CPU11は、S12からS13に進む。
【0061】
S13でCPU11(パラメータ設定部503)は、スレーブ機器に、UI600を通じて設定されたパラメータを転送する。パラメータ設定部503は、パラメータの書込要求を作成し、通信部13を通じて基本ユニット3に送信する。書込要求は、たとえば、書込対象となっているパラメータのインデックス、書き込みサイズ、書き込まれる値を含む。基本ユニット3は、書込要求を、書込対象として指定されているスレーブ機器(モータドライバ4)に送信する。モータドライバ4のCPU41(パラメータ管理部48)は、書込要求にしたがって、パラメータ保存領域51に保存されているパラメータに値を書き込む。
【0062】
(5)不揮発メモリへの書き込み
図11は、不揮発メモリ(ROM領域47)への書き込みを示すフローチャートである。図12は、書込画面として機能するUI1200a~1200eを示す。パラメータ設定部503は、転送実行ボタン607が押されると、表示部7にUI1200aを表示する。UI1200aは、転送の進行度を示すドーナツグラフ1201を含む。パラメータの転送が完了すると、CPU11は、以下の処理を実行する。
【0063】
S21でCPU11(パラメータ設定部503)は、UI600を通じて値を変更されたパラメータが不揮発メモリへの書き込みが必要なパラメータであるかどうかを判定する。スレーブ機器情報23には、パラメータごとに、不揮発メモリへの書き込みが必要かどうかを示す情報が含まれている。パラメータ設定部503は、スレーブ機器情報23に基づき、判定を実行する。不揮発メモリへの書き込みが必要なパラメータが変更されている場合、CPU11は、S21からS22に進む。不揮発メモリへの書き込みが必要なパラメータが変更されていない場合、CPU11は、S21からS25に進む。
【0064】
S22でCPU11(パラメータ設定部503)は、不揮発メモリへの書込画面を表示する。
【0065】
図12においてUI1200bは、不揮発メモリへの書込画面の一例を示す。メッセージ1202は、モータドライバ4が電源OFFされたとしてもパラメータをモータドライバ4が保持するためには、パラメータを不揮発メモリに書き込むことが必要であることをユーザに伝えるメッセージである。書込ボタン1203は、不揮発メモリへの書き込みをモータドライバ4に指示するためのボタンである。ボタン1204は、不揮発メモリへの書き込みをせずに、UI1200bを閉じるためのボタンである。
【0066】
S23でCPU11(パラメータ設定部503)は、UI1200bの書込ボタン1203を介して書き込み指示が入力されたかどうかを判定する。書き込み指示が入力されていなければ、CPU11はS23からS25に進む。書き込み指示が入力された場合、CPU11は、S23からS24に進む。
【0067】
S24でCPU11(パラメータ設定部503)は、不揮発メモリへのパラメータの書き込みを実行する。たとえば、パラメータ設定部503は、不揮発メモリへの書込要求を作成し、基本ユニット3を介して、スレーブ機器(モータドライバ4)に書込要求を送信する。CPU41(パラメータ管理部48)は、RAM領域46に一時的に書き込まれたパラメータをROM領域47に書き込む。この場合、パラメータ保存領域51は、RAM領域46とROM領域47との両方に存在することになる。
【0068】
S25でCPU11(パラメータ設定部503)は、値を変更されたパラメータをスレーブ機器に反映させるためには、スレーブ機器の電源再投入が必要かを判定する。パラメータ設定部503は、図7に示されたスレーブ機器情報23のうち「反映に電源再投入が必要か」という項目を参照し、判定を実行する。電源再投入が必要なければ、CPU11は、S25からS31に進み、書き込み完了メッセージを表示する。
【0069】
図12において、UI1200eは書き込み完了メッセージを表示するUIである。OKボタン1206が押されると、CPU11は、UI1200eを閉じる。
【0070】
一方で、電源再投入が必要であれば、CPU11は、S25からS26に進む。
【0071】
S26でCPU11(パラメータ設定部503)は、電源再投入を遠隔から指示可能かどうかを判定する。遠隔から指示可能とは、PC2から基本ユニット3を介してスレーブ機器(モータドライバ4)に対して電源再投入を指示できることを言う。
【0072】
電源再投入を遠隔から指示可能でなければ、CPU11はS26からS30に進み、手動で電源再投入をするようユーザを誘導するためのメッセージを表示部7に表示する。図12において、UI1200dは、手動で電源再投入をするようユーザを誘導するためのメッセージ1202を含んでいる。このメッセージ1202を見たユーザは、OKボタン1206を押して、UI1200dを閉じて、手動でスレーブ機器の電源を再投入する。
【0073】
電源再投入を遠隔から指示可能であれば、CPU11はS26からS27に進む。S27でCPU11(パラメータ設定部503)は、遠隔再投入画面を表示部7に表示する。図12においてUI1200cは、遠隔再投入画面の一例である。メッセージ1207は、ソフトウエアリセットボタン1205を押すことで、遠隔からスレーブ機器の電源を再投入するようユーザを誘導するためのメッセージである。
【0074】
S28でCPU11(パラメータ設定部503)は、遠隔再投入の実行指示が入力されたかどうかを判定する。たとえば、パラメータ設定部503は、ソフトウエアリセットボタン1205が押されたかどうかを判定する。ソフトウエアリセットボタン1205が押されると、CPU11は、S28からS29に進む。ソフトウエアリセットボタン1205が押されなければ、CPU11は、S29をスキップする。
【0075】
S29でCPU11(パラメータ設定部503)は、電源の遠隔再投入を実行する。たとえば、パラメータ設定部503は、電源再投入要求を作成し、基本ユニット3を介して、スレーブ機器(モータドライバ4)に電源再投入要求を送信する。モータドライバ4のCPU41は、電源再投入要求を受信すると、モータドライバ4の電源再投入を実行する。なお、CPU41は、再起動が完了すると、完了通知を作成し、基本ユニット3を介して、PC2へ完了通知を送信してもよい。
【0076】
(6)パラメータ設定画面の他の例
(6-1)同種別である複数のスレーブ機器への一括設定画面
図13は、同種別(同一機種)である複数のスレーブ機器への一括設定画面の一例であるUI1300を示す。UI1300においてUI600と共通する部分には同一の参照符号が付与されており、その説明は省略される。
【0077】
機種選択部1301は、スレーブ機器の機種を選択するためのプルダウンメニューである。CPU11(パラメータ設定部503)は、PLCシステム1の構成情報を参照し、機種選択部1301により選択された同種別の複数のスレーブ機器を抽出し、UI1300を作成し、表示部7に表示する。
【0078】
転送先選択部1302は、機種選択部1301により選択された同種別の複数のスレーブ機器を選択可能に表示する。この例では、チェックボックスにチェックが付与された番号のスレーブ機器(モータドライバ4)に、値設定部604において値を設定されたパラメータが転送される。この例では、機種選択部1301により選択された同種別の複数のスレーブ機器には、同一の値のパラメータが設定されることになる。
【0079】
一般に、同種別の複数のスレーブ機器には、同一の値のパラメータが設定されることが多い。よって、UI1300はどのようなユースケースにおいても、ユーザの利便性を向上させることができる。
【0080】
仮に、一部のパラメータを微調整する場合、CPU11は、UI1300を介して複数のスレーブ機器に同一の値のパラメータを転送し、その後、UI600を通じて現在値を読み出し、各パラメータを個別のスレーブ機器ごとに微調整してもよい。これにより、作業時間が大幅に短縮されるであろう。
【0081】
(6-2)異種別である複数のスレーブ機器への一括設定画面
図14は、異種別(異機種)である複数のスレーブ機器への一括設定画面の一例であるUI1400を示す。一覧部1401は、PLCシステム1の構成情報に登録されている複数のスレーブ機器を種別ごとにリスト化して表示する。この例では、二種類のスレーブ機器が存在し、一つ目の種類のスレーブ機器が二台存在し、二つ目の種類のスレーブ機器が一台存在することが、例示されている。一覧部1401において、チェックを付与されたスレーブ機器はパラメータの編集および転送として選択される。CPU11は、一覧部1401において選択中のスレーブ機器のスレーブ機器情報23を参照し、値設定部604に反映する。値設定部604に設けられる値編集部の個数は、一覧部1401において、チェックを付与されたスレーブ機器の個数と同数である。つまり、値設定部604は、スレーブ機種ごとに、個別に値を設定できる。
【0082】
パラメータ読出ボタン1402は、一覧部1401においてチェックを付与されたすべてのスレーブ機器から個別にパラメータの現在値を読み出すボタンである。転送実行ボタン607は、一覧部1401においてチェックを付与されたすべてのスレーブ機器に対して値設定部604で個別に値を設定されたパラメータを一括転送するボタンである。
【0083】
UI600やUI1300と比較すると、UI1400は、異種別の複数のスレーブ機器に対して単一のUIで値を編集および転送できる点がメリットとなる。
【0084】
(7)設定値と現在値との照合
図15は、値設定部604において設定されている設定値と、スレーブ機器にその時点で設定されている現在値とを照合する機能を含むUI1500を示す。照合ボタン1501が押されると、CPU11(読出処理部527、照合部524)は、パラメータごとに、各スレーブ機器から現在値を取得し、値設定部604において設定されている設定値と一致するか否かを判定する。CPU11(照合部524、表示処理部521)は、照合結果をパラメータごとに照合結果表示部1502に表示する。照合結果表示部1502は、設定値と現在値とを隣り合わせで表示するため、ユーザは、これらの差異を明確に理解することができるであろう。
【0085】
(8)スレーブ機器とモーション軸番号との関係
モータを用いて負荷の位置決めを行うことはモーション制御と呼ばれることがある。この場合、各スレーブ機器にはスレーブ名だけでなく、モーション軸番号が付与される。
【0086】
軸番号0001:スレーブ機器001
軸番号0002:スレーブ機器003
軸番号0003:スレーブ機器004
軸番号0004:スレーブ機器002
図16は、軸番号でスレーブ機器を識別するUI1600を示す。UI600では、機器選択部602は、スレーブ番号を列挙したプルダウンメニューであった。一方で、UI1600では、機器選択部602が軸選択部1602に置換されている。軸選択部1602も軸番号を選択可能に列挙したプルダウンメニューである。UI1600におけるその他の部分は、UI1600と共通である。
【0087】
CPU11は、記憶装置12に軸番号とスレーブ番号とを対応付けたテーブルを有している。CPU11は、このテーブルを参照し、軸番号をスレーブ番号に置換して、上述の各種の処理を実行する。
【0088】
ところで、単一のスレーブ機器が多軸のモータ10を制御できる場合がある。この場合、一つのスレーブ番号に複数の軸番号が紐づけられる。そのようなスレーブ機器では、全軸に共通のパラメータと、軸ごとの個別のパラメータとが存在しうる。
【0089】
UI1600は、軸選択部1602により選択された軸のパラメータを値設定部604に表示する。複数の軸間で共通のパラメータについて、ある一つの軸でユーザが編集を実行すると、CPU11(編集部523)は、他の軸に編集結果を反映させる。つまり、ユーザは、軸選択部1602により他の軸を選択してパラメータを編集することなく、バックグラウンドで他の軸に編集結果が反映される。これにより、ユーザの編集作業が効率化する。ただし、軸ごとに個別のパラメータについては、CPU11(編集部523)は、個別に値の編集を受け付ける。
【0090】
(9)パラメータのサイズが書き換え可能単位未満の場合
スレーブ機器に対して送信可能な通信フレームのペイロードサイズと比較して、書込対象のパラメータのサイズが小さいことがある。この場合、一つのペイロードに対して複数のパラメータが搭載されることがある。たとえば、あるパラメータは符号なしで2バイトの範囲の値を取ることがある(0000H~0FFFH)。しかし、この2バイトのうち1ニブル(=4ビット)ごとに意味の異なるパラメータが割り付けられていることがある。つまり、2バイトに対して4つのパラメータが割り付けられていることがある。この場合は、4つのパラメータを常に一括して読み出しおよび書き込みを実行する必要があった。
【0091】
そこで、このような複数のパラメータを一括で転送対象として指定可能なUIが必要である。また、このような複数のパラメータを個別に編集可能なUIも必要となる。
【0092】
図17は、開始ビット位置とビット幅とを示す情報が追加されたパラメータ一覧を示す。このように、各パラメータの開始ビット位置とビット幅を明示することで、ユーザは、簡単に、かつ、ミスなく、パラメータを読み書きすることが可能となる。
【0093】
図18は、パラメータ設定画面の一例であるUI1800を示している。これまでに説明された部分には同一の参照符号が付与されており、その説明は省略される。値設定部1804は、値設定部604と同様に転送対象を指定するためのチェックボックス1820を有しているが、値設定部1804のチェックボックス1820は、複数のパラメータに対して共通に設けられている。つまり、一緒に読み出し/書き込みされる必要がある複数のパラメータには、単一のチェックボックス1820が設けられる。その一方で、値設定部1804は、これまで通り、複数のパラメータの値の編集を個別に受付可能である。
【0094】
パラメータ設定部503は、図17に示されたパラメータ一覧から開始ビット位置とビット幅を取得し、これに基づいて同じインデックス/サブインデックスを割り付けられている複数のパラメータの値を組み立てて転送用データを作成する。パラメータ設定部503は、転送対象のパラメータのインデックス/サブインデックスに対して転送データを書き込むための要求を、基本ユニット3を介して、スレーブ機器に送信する。
【0095】
スレーブ機器から現在値を読み出す場合も同様である。CPU11は、読出対象のパラメータのインデックス/サブインデックスについての読出要求を、基本ユニット3を介して、スレーブ機器に送信する。CPU11は、図17に示されたパラメータ一覧から開始ビット位置とビット幅を取得し、これに基づいて、スレーブ機器から受信されたデータを複数のパラメータに分解し、UI1800に反映する。
【0096】
(10)操作実行画面
上述されたパラメータ設定画面(UI600など)では、パラメータ設定画面を通じて一連の操作の流れの中で、不揮発メモリへのパラメータの書き込みやソフトウェアリセットをユーザが実行できるようになっている。図12に示したように、スレーブ機器へのパラメータの転送が完了すると、書込ボタン1203を押すことで、揮発メモリに保持されているパラメータが不揮発メモリに書き込まれている。また、図12によれば、スレーブ機器へのパラメータの転送が完了すると、ソフトウエアリセットボタン1205が表示され、それを押すことでスレーブ機器の電源が再投入される。しかし、ユーザは、パラメータの転送から独立して、これらの操作を実行したいと希望することがある。同様に、アブソリュートエンコーダリセットや工場出荷状態へのリセット(ファクトリーリセット)といった操作も、ユーザは、単発で実行することを希望することがある。
【0097】
図19は、メニュー画面のUI1900を示す。UI1900は、複数のタブ1901~1904を有している。タブ1901は、上述されたUI600などの、立ち上げパラメータ転送画面(パラメータ設定画面)を呼び出すためのタブである。タブ1902は、単独で様々な操作を実行するためのUIを呼び出すためのタブである。タブ1903は、パラメータのオートチューニングを指示するためのタブである。タブ1904は、パラメータを1点ずつ読み出したり、書き込んだりするためのタブである。
【0098】
図19では、タブ1902がアクティブにされている。タブ1902には、上述された不揮発メモリへパラメータを書き込むことを指示するボタン1203やPLCシステム1をソフトウェアリセットするためのソフトウエアリセットボタン1205が含まれている。さらに、アブソリュートエンコーダリセットを指示するためのボタン1905や、PLCシステム1を工場出荷時の設定に初期化することを指示するボタン1906が含まれている。
【0099】
UI1900では四つのボタンが操作可能な状態で表示されている。しかし、一部のスレーブ機器はリモートからの操作をサポートしていないことがある。その場合、表示処理部521は、サポートされていない操作のボタンを、非表示にするか、グレーアウトするなどして、ユーザがそれを操作できないようにする。CPU11は、記憶装置12に記憶されている操作シーケンス一覧を参照し、リモート操作に「対応しているスレーブ機器か」の値に従って、これらのボタンの表示/非表示(グレーアウト)を制御する。
【0100】
ユーザがボタンを押下したときに、UI1900を通じて発行される要求のシーケンスは、スレーブ機器によって異なってもよい。この場合、CPU11は、記憶装置12に記憶されている操作シーケンス一覧における「シーケンス」に従ったシーケンスを要求の送信と、レスポンスの受信とを実行する。
【0101】
UI1900は、構成情報に含まれるいずれか一つのスレーブ機器をユーザが選択したうえで、表示される。ただし、CPU11は、複数のスレーブ機器の選択を受け付け、選択された複数のスレーブ機器に対して一括で同じ操作を実行してもよい。
【0102】
(11)チューニング画面
スレーブ機器のパラメータには、機械剛性やイナーシャ比など、サーボシステムの応答性を調整するためのパラメータが存在する。これらのパラメータについては微妙な調整を求められるため、専用のUIが存在したほうがユーザにとって便利である。
【0103】
図20は、パラメータのチューニング用のUI2000を示す。このUI2000はタブ1903を通じて表示されてもよい。機器選択部602は、PLCシステム1に含まれる複数のスレーブ機器のうち一つのスレーブ機器を選択するためのプルダウンメニューである。
【0104】
オートチューニング設定部2001は、複数あるオートチューニングモードのうちのいずれか一つを選択するためのプルダウンメニューである。反映ボタン2002は、オートチューニング設定部2001により選択されたオートチューニングモードをスレーブ機器に反映させるためのボタンである。つまり、反映ボタン2002が押されなければ、オートチューニング設定部2001により選択されたオートチューニングモードはスレーブ機器に反映されない。
【0105】
機械剛性設定部2003は、スレーブ機器に接続される負荷の機械剛性を設定するためのスライドバーである。設定値表示部2004は、機械剛性設定部2003により設定された機械剛性の設定値を表示する。なお、機械剛性は即座にスレーブ機器に対して設定される。
【0106】
イナーシャ比設定部2005は、スレーブ機器の負荷のイナーシャ比を設定するための、プラスボタン、マイナスボタンおよび設定値表示部を含む。イナーシャ比も即時にスレーブ機器に反映される。
【0107】
図20に示されたUI2000は一例にすぎない。CPU11は、機器選択部602により選択されたスレーブ機器に応じて、チューニング対象のパラメータ名、インデックス、パラメータの個数、および、選択肢を変更する。つまり、CPU11は、機器選択部602により選択されたスレーブ機器に対応するパラメータ情報を参照、UI2000を作成する。
【0108】
図21は、パラメータ情報の一部であるチューニング用パラメータ一覧である。パラメータ名は、英語表記用と日本語表記用とでそれぞれ用意されてもよい。さらに、上述された、インデックス/サブインデックス、データ型、設定最小値/設定最大値、値の表示形式、選択肢IDが含まれてもよい。パラメータ種別とは、そのパラメータが、「モード選択用パラメータ」なのか「ゲイン調整用パラメータ」なのかを表す。コントロール種別は、パラメータを調整するためのコントロール(オブジェクト)の種別を表す。ComboBoxとは、プルダウンメニュータイプのUIを示す。TrackBarとは、スライダータイプのUIを示す。NumericUpDownとは、数値入力タイプのUIを示す。
【0109】
チューニング不可能値とは、「モード選択用パラメータ」のみが持つデータであり、複数のスレーブ機器に対して共通に用意されたUI2000からは設定不可能な値である。この場合、CPU11は、ユーザに対して、そのスレーブ機器に対して専用に設けられたソフトウエアまたはUIを起動して、そのパラメータを調整することを促すメッセージを表示する。CPU11は、「ゲイン調整用パラメータ」もUI2000においてユーザが調整できるように、UI2000を提供してもよい。
【0110】
(12)パラメータのバックアップ・リストア機能
CPU11は、パラメータ設定画面を通じて設定されたパラメータの値をファイル等にエクスポートしてバックアップしてもよい。また、CPU11は、バックアップファイルからパラメータの値をインポートしてパラメータにリストアしてもよい。
【0111】
図22は、他の例のパラメータ設定画面のUI2200を示す。UI2200は、UI600と比較すると、エクスポートボタン2201とインポートボタン2202とを有している。
【0112】
エクスポートボタン2201が押されると、CPU11は、UI2200において表示されているパラメータの値を、スレーブ機器ごとの個別のバックアップファイルまたはプロジェクトデータへ書き込む。これらのファイルは記憶装置12に保持される。
【0113】
インポートボタン2202が押されると、CPU11は、機器選択部602により選択されているスレーブ機器に紐づけられて記憶装置12に記憶されているバックアップファイルからパラメータの値を読み出して、UI2200に反映させる。
【0114】
なお、バックアップは、PLCシステム1に含まれる複数のスレーブ機器について一括で実行されてもよい。あるいは、CPU11は、複数のスレーブ機器のうち、バックアップ対象のスレーブ機器の選択画面を表示し、ユーザにスレーブ機器を選択させてもよい。CPU11は、選択されたスレーブ機器からパラメータの現在値を読み出してバックアップしてもよい。
【0115】
同様に、CPU11は、バックアップファイルにパラメータがバックアップされている複数のスレーブ機器を、バックアップファイルを参照して特定し、特定された複数のスレーブ機器のうち、一つ以上のスレーブ機器をユーザに選択させ、選択されたスレーブ機器のパラメータをバックアップファイルから読み出し、選択されたスレーブ機器に書き込んでもよい。このようなリストアでは、スレーブ機器のRAM領域にパラメータが保持されることが多い。よって、リストアが完了すると、CPU11は、パラメータを不揮発メモリへ書き込むかどうかを問い合わせてもよい。ユーザが不揮発メモリへの書き込みを希望する場合、CPU11は、パラメータを不揮発メモリへ書き込む。同様に、ソフトウェアリセットが必要な場合、CPU11は、ソフトウェアリセットを促すメッセージを表示したり、遠隔からソフトウェアリセットを実行したりしてもよい。CPU11は、遠隔からソフトウェアリセットを実行するかどうかをユーザに問い合わせ、問い合わせ結果に応じて、ソフトウェアリセットを実行してもよい。
【0116】
<アラーム表示>
上述されたようにPLCシステム1は、それぞれ異なるベンダにより提供された複数のスレーブ機器を含みうる。従来は、各ベンダが用意したモニタリングツールをそれぞれのスレーブ機器に接続しなければ、アラームの詳細を確認することが出来なかった。そこで、本実施例は、複数のスレーブ機器に対して共通のアラーム表示UIを実現する。
【0117】
図23はスレーブ機器情報23の一部であるアラーム情報のアラーム一覧を示す。メイン番号/サブ番号は、個々のアラームを識別するアラーム詳細コードである。アラーム詳細コードは、メイン番号だけで構成されるケースと、メイン番号とサブ番号とで構成されるケースとがある。アラームメッセージとは、アラーム内容を説明する文言である。アラームメッセージが多言語に対応している場合、各言語ごとのアラームメッセージが格納される。表示部7には、PLC開発環境の表示言語に合わせた言語でアラームメッセージが表示される。アラーム番号表示文字列とは、スレーブ機器のベンダが定めた生の文字列である。上述されたアラーム詳細コードの表記手法は、ベンダごと、またはスレーブ機器ごとに異なることがある。たとえば、表記手法が、10進数であったり、16進数であったりすることがある。また、メイン番号とサブ番号をハイフンでつないだり、サブ番号は存在しなかったりすることがある。そこで、アラーム番号表示文字列を共通UIにも表示するために、アラーム番号表示文字列が設けられてもよい。
【0118】
図24は、アラームを表示するための共通UI2400を示す。共通UI2400は、複数のスレーブ機器を試運転する際に表示部7に表示される。動作内容表示部2401は、動作中のスレーブ機器の情報を示す表示領域である。アラーム表示部2402は、「スレーブ機器のシリーズ名」、「アラーム詳細コード」、および、「アラームメッセージ」を表示する。詳細ボタン2403は、アラームの詳細内容を表示するためのボタンである。詳細ボタン2403が押されると、CPU11は、詳細ボタン2403に紐づけられたマニュアルのリンク先にアクセスし、アラームの詳細情報が記載されたページを表示部7に表示する。アラーム詳細情報には、たとえば、アラームの発生条件や解消方法などが含まれてもよい。試運転操作部2420は、スレーブ機器の試運転を操作するための複数のコントロールオブジェクトを有する。JOG運転とは、モーションユニットやモータを連続動作させる運転手法を言う。インチングとは、モーションユニットやモータを短時間だけ所定方向に移動させることをいう。原点復帰とは、モーションユニットやモータなどを原点に復帰させることをいう。ポイント運転とは、予め設定された複数のポイントのうち指定されたポイント番号にモーションユニットやモータを動かすことをいう。ポイント運転を行うために必要となるポイントパラメータは、ポイント番号、軸番号、動作モード、目標座標、速度、次ポイント番号などを含む。とりわけ、次ポイント番号は、一種のポインタであり、あるポイント番号の次のポイント番号を示している。たとえば、ポイント番号が、1->2->3->4->5->6->7->8->1・・・・と設定されると、複数のポイントパラメータが順番に繰り返し適用される。ティーチングとは、指定されたポイント番号に対応する機械座標を学習させることをいう。連続運転とは、ユーザプログラムまたは複数のポイント番号等にしたがってモーションユニットやモータを連続的に運転させることをいう。
【0119】
図25は、アラームを表示するための別の共通UI2500を示す。この例では、各スレーブ機器は軸番号に紐づけられている。情報表示部2501は、軸番号ごとに、動作状態などを表示する。アラーム表示部2520は、「スレーブ機器のシリーズ名」、「アラーム詳細コード」、「アラームメッセージ」を表示する。ここでは、詳細ボタン2403が図示されていないが、共通UI2500にも詳細ボタン2403が設けられてもよい。
【0120】
図26は、共通UI2400,2500におけるアラーム情報の表示方法を示すフローチャートである。ここでは、表示部7はすでに共通UI2400,2500を取得しているものとする。
【0121】
S41でCPU11(アラーム管理部504)は、基本ユニット3を通じて、複数のスレーブ機器(モータドライバ4)のそれぞれからアラームの検知を試行する。
【0122】
S42でCPU11(アラーム管理部504)は、いずれかスレーブ機器についてアラームが検知されたかどうかを判定する。アラームが発生していなければ、CPU11は、S42からS41に戻る。アラームが発生していれば、CPU11は、S42からS43へ進む。
【0123】
S43でCPU11(アラーム管理部504)は、アラームが検知されたスレーブ機器についてのアラーム詳細コードの取得方法を特定するCPU11は、アラームが検知されたスレーブ機器のスレーブ機器情報のスレーブ機器固有情報からアラーム詳細コードの取得方法を取得する。取得方法は、ベンダやスレーブ機器ごとに異なることがある。スレーブ機器から取得されるアラームコードがそのままアラーム詳細コードであることがある。スレーブ機器とマスタ機器との間で実行されているサイクリック通信において、アラームコードが格納されているフィールドとは異なるフィールドにアラーム詳細コードが格納されていることがある。また、スレーブ機器がマスタ機器に対してメッセージ通信によりアラーム詳細コードを送信してくることもある。
【0124】
S44でCPU11(アラーム管理部504)は、アラーム詳細コードの取得方法に従ってアラーム詳細コードを取得する。
【0125】
S45でCPU11(アラーム管理部504)は、アラーム詳細コードに対応するアラーム情報を記憶装置12などから取得する。図23が例示するように、アラーム情報のアラーム一覧には、アラームをより詳細に説明するための情報が含まれている。
【0126】
S46でCPU11(アラーム管理部504)は、アラーム情報を共通UI2400、2500に反映する。
【0127】
<推奨値の書き込み>
スレーブ機器に設定される各パラメータには、マスタ機器にとって最適または適切な値(推奨値)が決まっていることがある。そのため、推奨値はマスタ機器に依存して変わるが、スレーブ機器のマニュアルからマスタ機器にとって適切となる推奨値を、ユーザが、読み解くことは難しい。そこで、記憶装置12に記憶されるパラメータ情報のパラメータ一覧が、各パラメータの「推奨値」も保持する。CPU11は、基本ユニット3に接続されているスレーブ機器(モータドライバ4)を構成情報から特定し、記憶装置12に記憶されている、そのスレーブ機器のパラメータ情報のパラメータ一覧から、スレーブ機器を立ち上げるために必要となる各パラメータの推奨値を読み出し、パラメータ設定画面で推奨値を表示し、各スレーブ機器に推奨値を転送して書き込む。
【0128】
これにより、マスタ機器とって適切となる推奨値が各スレーブ機器に設定されるため、マスタ機器からスレーブ機器を立ち上げることが可能となる。これにより、ユーザの手間が大幅に削減される。
【0129】
(1)推奨値の自動設定
マスタ機器(基本ユニット3)のベンダとスレーブ機器(モータドライバ4)のベンダとが異なる場合、マスタ機器(基本ユニット3)の仕様に合うようにスレーブ機器(モータドライバ4)の通信設定と制御パラメータとが設定されなければならない。従来、ユーザは、モータドライバ4に専用の設定支援装置を接続し、基本ユニット3のマニュアルとモータドライバ4のマニュアルを見比べ、基本ユニット3からモータドライバ4を制御できるように、設定を行っていたが、これは非常に困難な作業であった。
【0130】
そこで、本実施例では、マスタ機器のベンダが、他のベンダのスレーブ機器の仕様を調べて自社のマスタ機器の仕様に合うような他社のスレーブ機器のパラメータの推奨値を決定し、割付情報を作成し、設定支援装置であるPC2に提供する。割付情報は、個々のスレーブ機器を特定するためのベンダ特定情報と製品特定情報とに関連付けられている。なお、ベンダ特定情報は製品特定情報の一部であってもよい。さらに、割付情報は、ベンダ特定情報と製品特定情報とに関連付けられた推奨値を有している。よって、PC2は、ユーザにより選択されたスレーブ機器に対応する割付情報を記憶装置12から読み出して、推奨値を取得し、マスタ機器を介してスレーブ機器に推奨値を転送して書き込む。これにより、マスタ機器のベンダとスレーブ機器のベンダとが異なっていても、マスタ機器からスレーブ機器を制御することが可能となる。
【0131】
(2)ユーザインタフェース
図27は構成設定部502により表示部7に表示される構成設定画面(通信設定画面)の一例であるUI2700を示している。構成設定領域2701は、PLCシステム1を構成するPLC(基本ユニット3)のアイコンと複数の拡張ユニット(モータドライバ4であるが、ここではサーボと表記されている。)のアイコンと、が表示されている。また、この例では、各スレーブ機器には軸番号が付与されて、管理されている。機器リスト2702は、PC2により設定可能なマスタ機器とスレーブ機器との一覧であり、マスタ機器とスレーブ機器とはベンダごとに区分されている。ユーザは、各スレーブ機器についてそのスレーブ機器を製造販売しているベンダから提供されている電子ファイル2710(例:EDSファイル、ESIファイル)を機器リスト2702にドラッグアンドドロップまたはインポートすることで、機器リスト2702にマスタ機器やスレーブ機器を追加することができる。
【0132】
機器情報表示部2703は、ユーザにより選択されているスレーブ機器(例:軸2)の軸番号、製品名(または製品コード)、ベンダ名、および、性能情報(エンコーダ分解能、モータ最高速度、モータ最大トルクなど)を表示する。詳細設定ボタン2704は、選択されているスレーブ機器について詳細設定UIを呼び出すためのボタンである。推奨値書込ボタン2705は、選択されている機器が推奨値の書き込みをサポートしている場合に有効化され、推奨値書込UI(パラメータ設定画面)を呼び出すためのボタンである。
【0133】
図28は、電子ファイル2710のドラッグアンドドロップによりスレーブ機器が機器リスト2702に追加された様子を示している。この状態で、さらに、追加されたスレーブ機器を構成設定領域2701にドラッグアンドドロップすると、構成設定領域2701に、スレーブ機器のアイコンが追加される。
【0134】
図29は、構成設定領域2701に、スレーブ機器のアイコンが追加された様子を示している。追加されたスレーブ機器は選択状態に変更されてもよい。この場合、機器情報表示部2703は、選択されているスレーブ機器の軸番号(軸3)、製品名(または製品コード)、ベンダ名、性能情報(エンコーダ分解能、モータ最高速度、モータ最大トルクなど)を表示する。この例では、スレーブ機器(軸3)は、推奨値の書き込みをサポートしているため、推奨値書込ボタン2705が無効状態から有効状態に変更されている。
【0135】
(3)通信フォーマット(パケットフォーマット)
図30は、産業用イーサネットにおいてマスタ機器とスレーブ機器とが実行するサイクリック通信で使用される通信フォーマットを示す。一例として、産業用イーサネットとしてEtherCATが採用されている。EtherCATの物理層の通信フォーマットは、IEEE802.3で規定されている通信フォーマットに準拠している。一つのパケットは、イーサネットヘッダ(22バイト)、EtherCATデータ(46バイト~150バイト)、FCS(フレームチェックシーケンス):CRC(巡回冗長検査符号)(4バイト)、およびパケット間隔(IPG)(12バイト)から構成されている。EtherCATデータは、フレームヘッダ、および、各スレーブ機器(軸)ごとのデータ部を含む。各スレーブ機器(軸)ごとのデータ部は、EtherCATヘッダ、軸データ、および、ワーキングカウンタ(不正処理の検出用)からなる。さらに、軸データは、その軸番号のスレーブ機器からの出力データと入力データとを含む。図30からわかるように、マスタ機器は、一つのパケットによって、すべてのスレーブ機器とデータを交換できるため、超高速通信が実現されている。そのため、マスタ機器がスレーブ機器と制御するための制御データは、サイクリック通信により送受信される。
【0136】
(4)詳細設定画面(手動設定画面)
図31は、詳細設定ボタン2704を押すことで表示部7に表示される詳細設定画面の一例であるUI3100を示している。CPU11は、電子ファイル2710に基づき、UI3100を生成して表示する。タブ3101は、選択されているスレーブ機器の基本情報を表示する。基本情報は、種別情報、軸番号、占有軸数(多軸をサポートをしている場合の軸数)、ベンダ名、ベンダID、製品コード、リビジョン番号などを含む。通信開始時チェックとは、マスタ機器とスレーブ機器とがサイクリック通信を開始する際に、スレーブ機器から送信される情報のうち、どの項目を用いてスレーブを識別するかの項目一覧である。図31において「する」とは通信対象スレーブの識別に該当項目が含まれることを意味する。「しない」とは通信対象スレーブの識別に該当項目が含まれないことを意味する。
【0137】
図32は、タブ3102の詳細を示している。タブ3102はPDOマッピングを設定するタブである。PDOマッピングにより生成される情報はマッピング情報と呼ばれてもよい。この例では、サイクリック通信(PDO通信)において送受信されるパラメータ(オブジェクト)の名称(PDOエントリ名)と、オブジェクトインデックスと、パラメータ(オブジェクト)のデータサイズとが設定される。ユーザは、オブジェクト単位で、追加と削除を実行することができる。ユーザは、マスタ機器の仕様に合わせて、オブジェクトの追加と削除、PDOエントリ名、インデックスおよびデータサイズを設定しなければならない。よって、この手動による設定はユーザにとって難易度が高い。
【0138】
図33は、他のスレーブ機器についてのタブ3102の詳細を示している。図33が示すように、スレーブ機器ごとに各オブジェクトの初期値が異なっているため、マスタ機器の仕様に合わせて、オブジェクトの追加と削除、PDOエントリ名、インデックスおよびデータサイズを設定しなければならない。
【0139】
図34は、モーション機能を設定するためのタブ3103の詳細を示している。タブ3103では、モーション機能の要素とPDO通信のオブジェクトとが紐づけられる。この例では、モーション演算の結果(目標位置(Target Position))が格納されるオブジェクト(オブジェクトインデックス)が、PDOに関連して設定された607A:00のオブジェクトに割り付けられている。マスタ機器のモーション機能が正方向リミットとみなす信号が、PDOに関連して設定された60FD:00の0ビット目に割り付けられている。
【0140】
このようにマスタ機器のモーション機能を使用してスレーブ機器を制御するためには、さらに、スレーブ機器に専用の設定支援装置を接続して、スレーブ機器のどの入力ピンに何の機能(リミット、原点センサなど)を割り付けるか、および、モータ回転方向を逆転させるかなどが必要となる。
【0141】
また、ユーザは、図24に例示されたUI2400を用いてユーザプログラムの試運転を実行する。その際に、ユーザは、モータ10を負荷に接続し、モータ回転方向がユーザの想定通りであるか、正側リミットセンサ、負側リミットセンサ、および、原点センサが正常に動作するか、並びに、座標変換が正しいか(10mmの移動指示に対して、実際に負荷が10mm移動しているか)を調べる。そのため、手動設定のみでは、設定と試運転を繰り返すことになり、ユーザにとっては非常に大変な作業であった。
【0142】
なお、マスタ機器のモーション機能を使用してスレーブ機器を制御するために必要となる設定対象としては、次のようなものがある。
【0143】
・リミットの制御をマスタ機器に任せるための、入力割付と極性の設定
・原点復帰で使用される信号の入力割付と極性の設定
・センサがオンしたときの座標キャプチャを実行するための入力割付と極性の設定
・機種固有の事情で、所定の制御モードにしないとすべての制御モード(位置制御、速度制御、トルク制御)が使用不可能
ユーザが手動設定を実行する場合、ユーザは、マスタ機器からスレーブ機器への要求仕様とスレーブ機器のパラメータの仕様とをマニュアルで確認する必要があった。
【0144】
そこで、本実施例の自動設定機能では、PDO設定、モーション機能設定の自動化と、パラメータの推奨値の書き込みとをサポートする。これにより、ユーザの負担が大幅に軽減される。
【0145】
(5)自動設定
図35は、自動設定で必要となる割付情報3500の一例を示している。割付情報3500は、各スレーブ機器を特定するためのベンダID、製品コードおよびリビジョン番号を有している。さらに、割付情報3500は、これらの識別情報に紐づけられたPDO設定、モーション機能設定および推奨値を有している。PDO設定は、PDO通信(サイクリック通信)で通信されるオブジェクトのインデックスを示す。モーション機能設定は、モーション機能がどのオブジェクト(インデックス)に割り付けされるかを示す。推奨値は、上述されたモーション機能のパラメータの推奨値である。
【0146】
図36は、推奨値書込ボタン2705が押されると表示される推奨値書込画面の一例であるUI1600を示している。上述されたようにUI1600は、パラメータの推奨値の転送を実行するかどうかを選択するためのチェックボックス603を有している。推奨値書込ボタン2705が押された場合、チェックボックス603にチェックが付与された状態では、UI1600が表示部7に表示される。UI1600は一例にすぎず、UI600などの他のパラメータ設定画面が表示されてもよい。
【0147】
(6)設定支援装置のCPUの機能
図37は、CPU11が設定支援プログラム21を実行することで実現される機能を示している。すでに説明された機能に加え、さらに以下のような機能が追加される。
【0148】
構成設定部502は、表示処理部531、受付処理部532、構成編集部533、インポート部535、判定部536、手動設定部537、および、自動設定部540などを有する。表示処理部531は、UI2700を表示部7に表示する。受付処理部532は、操作部8を通じてユーザ入力を受け付ける。構成編集部533は、UI2700に表示されたマスタ機器およびスレーブ機器の追加および削除を処理する。インポート部535は、電子ファイル2710のインポートを担当し、電子ファイル2710に応じて機器リスト2702を更新する。判定部536は、電子ファイル2710と割付情報3500に基づき、スレーブ機器が通信設定を自動で実行できるか否かを判定したり、推奨値の自動書き込みをサポートしているかどうかを判定したりする。手動設定部537は、UI3100を通じたユーザ入力に基づきPDO設定やモーション機能設定について手動で実行する。自動設定部540は、PDO自動設定部541とモーション機能自動設定部542とを有している。PDO自動設定部541は、割付情報3500を参照し、選択されたスレーブ機器の製品特定情報(ベンダID、製品コード、リビジョン番号)に紐づけられているPDO設定を取得し、PLCシステム1の構成情報に反映させる。モーション機能自動設定部542は、割付情報3500を参照し、選択されたスレーブ機器の製品特定情報(ベンダID、製品コード、リビジョン番号)に紐づけられているモーション機能設定を取得し、PLCシステム1の構成情報に反映させる。
【0149】
パラメータ設定部503は、さらに、推奨値設定部543を有している。推奨値設定部543は、選択されたスレーブ機器の製品特定情報(ベンダID、製品コード、リビジョン番号)に紐づけられているパラメータの推奨値を取得し、選択されたスレーブ機器に推奨値を転送して書き込む。
【0150】
モータアクセス部550は、上述されたアラーム管理部504と、モータ制御指令部551とを有している。モータ制御指令部551は、たとえば、図24に例示されたUI2400を用いてユーザプログラムの試運転を実行する。試運転は、JOG運転、ポイント運転および原点復帰のうちのいずれかを含んでもよい。
【0151】
(7)フローチャート
図38はCPU11が設定支援プログラム21にしたがって実行するサイクリック通信の設定方法を示す。なお、表示部7にはUI2700がすでに表示されているものとする。
【0152】
S51でCPU11(インポート部535)は、ユーザ操作に応じて電子ファイル2710をインポートする。
【0153】
S52でCPU11(インポート部535)は、電子ファイル2710の内容に応じてスレーブ機器の情報を追加した機器リスト2702を表示する。
【0154】
S53でCPU11(構成編集部533)は、ユーザ操作にしたがって機器リスト2702において選択されたスレーブ機器を構成設定領域2701に配置する。
【0155】
S54でCPU11(判定部536)は、ユーザにより選択されたスレーブ機器が推奨値の設定対象であるかどうかを判定する。たとえば、判定部536は、ユーザにより選択されたスレーブ機器の製品特定情報(ベンダID、製品コード、リビジョン番号)により紐づけられているエントリが、割付情報3500に含まれているかどうかを判定してもよい。ユーザにより選択されたスレーブ機器の製品特定情報により紐づけられているエントリが割付情報3500に含まれている場合、CPU11は、当該スレーブ機器は推奨値の設定対象である、と判定する。そして、CPU11は、S54からS55に進む。ユーザにより選択されたスレーブ機器の製品特定情報により紐づけられているエントリが割付情報3500に含まれていない場合、CPU11は、当該スレーブ機器は推奨値の設定対象でない、と判定する。そして、CPU11は、S54からS57に進む。
【0156】
S55でCPU11(PDO自動設定部541)は、割付情報3500から当該スレーブ機器に関連付けられているPDO設定を読み出し、PDO設定を自動で行う。たとえば、割付情報3500から読み出されたPDO設定にしたがって通信対象のオブジェクトが追加される。これにより、通信対象の制御指令(例:制御ワード、目標位置、状態ワード)と、オブジェクトインデックス(例:0x6040:00、0x607A:00、0x60FF:00)とが紐づけられる。これにより、サイクリック通信における通信内容が特定される。
【0157】
S56でCPU11(モーション機能自動設定部542)は、割付情報3500から当該スレーブ機器に関連付けられているモーション機能設定を読み出し、モーション機能設定を自動で行う。たとえば、割付情報3500から読み出されたモーション機能設定にしたがってモーション機能(例:制御ワード、目標位置)とオブジェクトインデックス(例:0x6040:00、0x607A:00)とが紐づけられる。これにより、モーション機能を実現するために、どのオブジェクトインデックスが使用されるかが特定される。
【0158】
S57でCPU11(手動設定部537)は、ユーザ操作にしたがってPDO設定を手動で行う。たとえば、タブ3102を通じて手動でPDO設定が実行される。
【0159】
S58でCPU11(手動設定部537)は、ユーザ操作にしたがってモーション機能設定を手動で行う。たとえば、タブ3103を通じて手動でモーション機能設定が実行される。
【0160】
図39はCPU11が設定支援プログラム21にしたがって実行する推奨値の書込方法を示す。なお、表示部7にはUI2700がすでに表示されているものとする。
【0161】
S61でCPU11(推奨値設定部543)は、スレーブ機器の選択を受け付ける。たとえば、推奨値設定部543は、機器リスト2702を介してスレーブ機器の選択を受け付ける。
【0162】
S62でCPU11(推奨値設定部543)は、ユーザにより選択されたスレーブ機器が推奨値の設定対象であるかどうかを判定する。たとえば、推奨値設定部543は、ユーザにより選択されたスレーブ機器の製品特定情報(ベンダID、製品コード、リビジョン番号)により紐づけられている推奨値が、割付情報3500に含まれているかどうかを判定してもよい。ユーザにより選択されたスレーブ機器が推奨値の設定対象ある場合、CPU11は、S62からS63に進む。一方、ユーザにより選択されたスレーブ機器が推奨値の設定対象でない場合、CPU11は、S62からS69に進み、推奨値の書き込みを無効化する。たとえば、CPU11は、推奨値書込ボタン2705を非表示またはグレーアウトする。
【0163】
S63でCPU11(推奨値設定部543)は、推奨値の書き込みを有効化する。たとえば、CPU11は、ユーザにとって操作可能となるように推奨値書込ボタン2705を表示する。
【0164】
S64でCPU11(推奨値設定部543)は、ユーザによりUI1600の起動指示が入力されたかどうかを判定する。UI1600の起動指示が入力されると、CPU11は、S64からS65に進む。
【0165】
S65でCPU11(推奨値設定部543)は、ユーザにより選択されたスレーブ機器の推奨値を割付情報3500から読み込む。上述されたように、ユーザにより選択されたスレーブ機器の製品特定情報と推奨値とが紐付けられている。よって、製品特定情報に基づき推奨値は容易に特定される。
【0166】
S66でCPU11(推奨値設定部543)は、推奨値を反映させたUI1600を作成し、UI1600を起動する。これにより、UI1600は、表示部7に表示される。
【0167】
S67でCPU11(推奨値設定部543)は、転送実行ボタン607により転送指示が入力されたかどうかを判定する。転送指示が入力されると、CPU11は、S67からS68に進む。
【0168】
S68でCPU11(推奨値設定部543)は、ユーザにより選択されたスレーブ機器に対してパラメータの推奨値を転送して書き込む。このパラメータの推奨値の転送は、メッセージ通信(SDO通信)により実行される。つまり、PC2は、メッセージ通信により推奨値をスレーブ機器に転送して書き込むよう、基本ユニット3を設定する。基本ユニット3は、PC2からの書込要求にしたがって、推奨値をスレーブ機器に転送する。スレーブ機器は、書込要求にしたがってパラメータに対して推奨値を書き込む。本実施例でいう推奨値について補足する。通常、スレーブ機器のパラメータは、各社の設計思想に従って、最適な初期値(デフォルト値)が設定されている。例えば、会社Aのスレーブ機器は、特定のパラメータに、より高い安心感を得るべく勝手に動作しにくい初期値Aが設定されている一方、会社Bのスレーブ機器は、特定のパラメータに、多少の安心感を犠牲にしてでも容易に動作しやすい初期値Bが設定されている、と仮定する。PLCに接続される複数のスレーブ機器として、会社Aのスレーブ機器と会社Bのスレーブ機器が混在している場合、システム全体として思い通りに動かない場合(なぜかモータが動かない等)がある。なぜなら、スレーブ機器の設計思想が揃っていないからである。換言すれば、初期値Aは、会社Aのスレーブ機器のために最適化され、初期値Bは、会社Bのスレーブ機器のために最適化されているに過ぎないからである。会社Aのスレーブ機器と会社Bのスレーブ機器が混在するPLCシステムにおいて、各スレーブ機器には、初期値Aに相当する値が設定されているべきなのか、或いは、初期値Bに相当する値が設定されているべきなのか、ユーザはマニュアルを見ながら試行錯誤する必要がある。そこで、本実施例に係る設定支援装置では、各スレーブ機器に、PLCシステムの仕様に最適な推奨値を書き込むことによって、PLCシステム全体のスレーブ機器の設計思想を揃えることができる。これにより、スレーブ機器の設定を容易に行うことができる。
【0169】
<その他>
PC2は、基本ユニット3や拡張ユニット(例:モータドライバ4)からデバイス値やバッファ値、変数値、カメラ画像などをリアルタイムで読み出してグラフを作成し、表示部7に表示してもよい。これにより、ユーザは、PLCシステム1の現在の状態をモニタすることができる。
【0170】
その一方で、基本ユニット3や拡張ユニットは、エラーやアラームなどのイベントが発生すると、発生時刻の前後にけるデバイス値やバッファ値、変数値、カメラ画像を記録して履歴データを作成してもよい。PC2は、通信により、または、メモリカードを介して、履歴データを取得して、必要に応じてグラフを作成し、表示部7に表示してもよい。
【0171】
このようにPC2は二種類のモニタ機能を有している。この二つのモニタ機能は独立した機能であるため、それぞれのモニタ機能における表示対象も無関係である。そのため、ユーザは、二つのモニタ機能のうち一方を起動すると、起動されたモニタ機能のモニタ対象となるデバイス等を設定しなければならない。また、ユーザが、一方のモニタ機能から他方のモニタ機能に切り替えたときに、ユーザは、他方のモニタ機能についてモニタ対象となるデバイス等を改めて設定しなければならない。
【0172】
そこで、本実施例では、一方のモニタ機能のモニタ対象を他方のモニタ機能に引き継ぐことができるPC2(エンジニアリングツール)を提供する。
【0173】
(1)基本ユニット
CPU31は、メモリ32に確保されるデバイスメモリに記憶されているデバイスの現在値や変数メモリに記憶されている変数の現在値を読み出し、通信部33aを通じて、PC2に表示する。CPU31は、基本ユニット3や拡張ユニット4から履歴データ(例:デバイス値、バッファ値、画像データ、エラー情報)を取得し、メモリ32に保存したり、メモリカードに保存したり、通信部33aを介してPC2に送信したりする。CPU31は、所定のイベント(例:エラーやアラームの発生)をトリガーとして履歴データの取得を実行してもよい。CPU31は、履歴データを取得した時刻を示す時刻情報を各履歴データに付与する。
【0174】
(2)拡張ユニット
(2-1)モーションユニットなどの拡張ユニット
CPU41は、メモリ42に対して情報を書き込んだり、メモリ42から情報を読み出したりする。メモリ42はバッファメモリを有してもよい。バッファメモリには、たとえば、モータ10により制御される負荷の座標が格納されたり、モータドライバ4の内部で実行される演算に使用されるデータが格納されたりする。
【0175】
CPU41は、バッファメモリ46に記憶されている現在のバッファ値(現在データ)を取得し、通信部43を通じてPC2に送信する。また、CPU41は、カメラにより取得された画像データを、通信部43を通じてPC2に送信してもよい。
【0176】
(2-2)データ収集ユニットとしての拡張ユニット
CPU41は、基本ユニット3の代わりに履歴データ提供部や履歴取得部として機能してもよい。CPU41(履歴取得部)は、通信部43を通じて基本ユニット3や他の拡張ユニットと通信し、デバイス値や変数値、バッファ値、画像データなどを取得して、メモリ42に保存したり、メモリカードに書き込んだりする。CPU41(履歴データ提供部)は、通信部43を介してPC2と通信し、メモリ42から履歴データを読み出して、PC2へ送信する。CPU41は、カメラにより取得された画像データを履歴データに含めてもよい。
【0177】
(3)<PCのCPUの機能>
CPU11(受付部)は、操作部8を通じてユーザにより入力される、モニタ対象となる入出力データの指定を受け付ける。CPU11(現在データ取得部)はPLCシステム1における現在の入出力データ(例:デバイス値、バッファ値、画像データ)を逐次取得する。この入出力データは、たとえば、基本ユニット3や拡張ユニットから取得される。CPU11(履歴データ取得部)は、所定のイベントの発生に基づいて時刻情報とともに時系列に記録された入出力データを履歴データとして取得する。この履歴データは、たとえば、基本ユニット3やデータ収集ユニット、メモリカードから取得される。CPU11(UI部)は、現在データや履歴データからグラフを生成して、表示部7にグラフを表示する。UIはユーザインタフェースの略称である。CPU11(UI部)は、複数の表示モードを有していてもよい。たとえば、CPU11(UI部)は、第一モード(例:現在値モード)において、CPU11(受付部)を通じて指定された入出力データをCPU11(現在データ取得部)により逐次取得して、当該入出力データを時系列にグラフ表示するCPU11(現在グラフ生成部)を有している。CPU11(UI部)は、第二モード(例:履歴モード)において、CPU11(履歴データ取得部)により取得された履歴データを時系列にグラフ表示するグラフ画面を生成するCPU11(履歴グラフ生成部)を有してもよい。CPU11(履歴グラフ生成部)は、第二モード(例:履歴モード)において、履歴データのうち、CPU11(受付部)を通じて指定された入出力データを時系列にグラフ表示するグラフ画面を生成してもよい。第一モードは、通常モードや現在値モードと呼ばれてもよい。第二モードは履歴モードやリプレイモードと呼ばれてもよい。
【0178】
ユーザは、操作部8を通じて、第一モードと第二モードとのうち一方のモードから他方のモードへの切替を指示する。その際に、CPU11(管理部)は、一方のモードにおけるモニタ対象を指定する情報を他方のモードに引き継ぐとともに、当該情報に基づき、一方のモードと他方のモードとの間で当該モニタ対象を一致させてもよい。一般に、ユーザは、複数のモードから所望のモードを選択し、所望のモードの表示画面においてモニタ対象となるデータを指定することで、当該表示画面に所望のデータのグラフを表示することができる。そのため、一方のモードから他方のモードへの切替が実行されると、ユーザは、他方のモードの表示画面においてモニタ対象となるデータを再び指定しなければならなかった。モードを切り替えるたびにユーザに対して多数のモニタ対象の指定を要求することは、ユーザビリティに欠けるであろう。そこで、CPU11(管理部)がモニタ対象の引き継ぎ処理を実行することで、ユーザビリティが改善される。つまり、モード切替の際のモニタ対象の再指定に伴うユーザの負担が軽減される。
【0179】
CPU11(管理部)は、一方のモードについてのモニタ対象を指定する情報に基づき、他方のモードにおけるモニタ対象となる入出力データを特定してもよい。CPU11(管理部)は、当該特定された入出力データを他方のモードにおいて取得可能かどうかを判定してもよい。たとえば、あるデバイスの現在値は取得可能であるが、そのデバイスの履歴データは記録されていないことがありうる。履歴データに関する履歴対象の設定は過去に実行されているためである。このように、当該特定された入出力データを他方のモードにおいて取得可能でない場合、CPU11(管理部)は、当該特定された入出力データを他方のモードにおけるモニタ対象から除外すべく、他方のモードのためのモニタ対象を指定する情報を修正または作成してもよい。
【0180】
このように、一方のモードは第一モード(現在値モード)であり、他方のモードは第二モード(履歴モード)である場合、他方のモードにおいて取得可能でない入出力データは、履歴データに含まれていない入出力データである。
【0181】
CPU11(管理部)は、CPU11(UI部)を通じて様々な画面を表示部7に表示する。CPU11(管理部)は、一方のモードについてのモニタ対象を指定する情報に基づき、他方のモードにおけるモニタ対象となる複数の入出力データを特定し当該複数の入出力データのそれぞれについてモニタ対象とするかどうかをユーザに確認するための確認画面を表示してもよい。CPU11(管理部)およびCPU11(受付部)は、当該確認画面を通じて、モニタ対象とすべき入出力データ、または、モニタ対象から削除すべき入出力データの指定を受け付けてもよい。ユーザによっては、切替前のモードと切替後のモードで一部のモニタ対象を変更したいことがあろう。そのため、確認画面を通じて、ユーザにモニタ対象の選択の機会が与えられてもよいだろう。
【0182】
CPU11(UI部)は、一方のモードについてのグラフ画面を表示した後に、他方のモードについてのグラフ画面を表示してもよい。つまり、CPU11(UI部)は、一方のモードについてのグラフ画面の表示を継続したまま、他方のモードについてのグラフ画面を表示部7に表示してもよい。これにより、ユーザは、現在データと履歴データとを容易に比較することができるであろう。
【0183】
CPU11(UI部)は、一方のモードについてのモニタ対象となる入出力データに対して、他方のモードについてモニタ対象となる同一の入出力データが重ねて表示されるよう、グラフ画面を生成してもよい。これにより、ユーザは、現在データと履歴データとを容易に比較することができるであろう。
【0184】
デバイス値やバッファ値のうち、CPU11(現在データ取得部)から取得可能なものと、CPU11(現在データ取得部)から取得可能でないものとが存在することがある。この場合、CPU11(現在データ取得部)から取得可能な現在データを表示するモードは通常モードと呼ばれてもよい。また、CPU11(現在データ取得部)から取得可能でないものの、CPU11(特殊データ取得部)によって取得可能な現在データを表示するモードは特殊モードとよばれてもよい。CPU11(特殊データ取得部)は、PLCシステム1における現在の入出力データのうち、CPU11(現在データ取得部)が取得することを制限されている入出力データを逐次取得する制限データ取得部として機能してもよい。CPU11(UI部)のCPU11(現在グラフ生成部)は、第三モード(例:特殊モード)において、CPU11(特殊データ取得部)により取得される入出力データのうち、CPU11(受付部)を通じて指定された入出力データを時系列にグラフ表示するグラフ画面を生成するように構成されている。CPU11(管理部)は、現在値モードと履歴モードと特殊モードとのうち一のモードから他のモードへの切替に際し、一のモードにおけるモニタ対象を指定する情報を他のモードに引き継ぐとともに、当該情報に基づき、一のモードと他のモードとの間で当該モニタ対象を一致させてもよい。これにより、三つの表示モード間で切替が実行される際のユーザによるモニタ対象の指定の負担が軽減される。なお、現在値モードによりアクセス可能なデータの範囲は、特殊モードよりアクセス可能なデータの範囲の一部であってもよい。この場合、特殊モードは、現在値モードによりアクセス可能なデータのすべてにアクセスできる。一方で、特殊モードによりアクセス可能なデータの範囲は、現在値モードよりアクセス可能なデータの範囲の一部であってもよい。あるいは、現在値モードと特殊モードとが共通のアクセス可能範囲を有しているが、各モードそれぞれのみがアクセスできる独自の範囲を有していてもよい。たとえば、一方のモードはデバイスメモリとバッファメモリとの両方にアクセスできるが、他方のモードはデバイスメモリにアクセスできるが、バッファメモリにはアクセスできなくてもよい。あるいは、データメモリが第一グループ、第二グループおよび第三グループに分かれており、一方のモードは第一グループと第二グループにのみアクセスでき、他方のモードは、第二グループと第三グループにのみアクセスできてもよい。
【0185】
モニタ対象を指定する情報は、グラフ画面におけるモニタ対象のグラフの表示形式、モニタ対象の表示色、モニタ対象の表示レンジ、モニタ対象のグラフの表示位置、および、モニタ対象のグラフの目盛りのうち、少なくとも一つを示す表示設定を含む。表示設定は、設定データの一部として、記憶装置12に記憶されてもよい。CPU11(管理部)は、一方のモードにおけるモニタ対象の表示設定を他方のモードの表示設定へ引き継いでもよい。
【0186】
<実施例から導き出される技術思想>
[観点A]
[観点A1]
基本ユニット3はネットワーク通信のマスタとして機能するプログラマブルロジックコントローラの一例である。モータドライバ4は、ネットワーク通信のスレーブとして機能し、サイクリック通信により当該マスタから伝送されるモータ制御データに基づいてモータを駆動するモータ駆動装置の一例である。PC2はPLCシステム1の設定を支援する設定支援装置の一例である。記憶装置12は、ベンダ特定情報(例:ベンダID)と製品特定情報(例:製品コード・リビジョン番号)とに基づき特定されるモータ駆動装置に対する複数の設定パラメータのうち、当該モータ駆動装置をマスタに適合させて動作させるために調整が推奨される複数の調整推奨パラメータを、割付情報として当該モータ駆動装置に対応付けて記憶する割付情報記憶部として機能する。表示部7および表示処理部521は、それぞれベンダ特定情報と製品特定情報に関連付けられた複数のモータ駆動装置のリスト(例:機器選択部602のプルダウンメニュー)を表示する表示部の一例である。受付処理部522および機器選択部602は、表示部に表示されたリストから一つのモータ駆動装置の選択を受け付ける受付部の一例である。編集部523は、割付情報記憶部に記憶された割付情報(例:スレーブ機器情報23)に基づいて、受付部により選択されたモータ駆動装置に対応する調整推奨パラメータの編集ユーザインタフェースであって、ベンダ特定情報と製品特定情報との組み合わせが異なる複数のモータ駆動装置に対して共通化された編集ユーザインタフェース(例:UI600)を、表示部に表示させ、当該編集ユーザインタフェースを通じて、ユーザ操作を受け付け、当該ユーザ操作に従って当該調整推奨パラメータのパラメータ値を編集するパラメータ値編集部として機能する。書込処理部525が、パラメータ値編集部により編集されたパラメータ値を、受付部により選択されたモータ駆動装置に書き込む書込処理部の一例である。
【0187】
このように、それぞれ製造メーカが異なる複数のモータドライバに対して共通のパラメータ編集ユーザインタフェースが提供される。これにより、複数のモータドライバの設定が従来よりも容易になる。ここでは、モータドライバが一例として採用されているが、PLCをマスタとして動作するスレーブ機器にも本実施例は適用される。
【0188】
[観点A2]
パラメータ値編集部(例:パラメータ設定部503)は、受付部(例:受付処理部522、機器選択部602)により選択されたモータ駆動装置に対応する調整推奨パラメータのみを編集ユーザインタフェースに一覧表示させてもよい。図6などが示すようにCPU11(パラメータ設定部503の表示処理部521)は、選択されたモータ駆動装置に対応する調整推奨パラメータのみをUI600に一覧表示させる。これにより、編集ユーザインタフェースに表示されるパラメータの個数が少なくなり、ユーザにとって見やすくて、編集しやすいUIが実現される。
【0189】
[観点A3]
編集ユーザインタフェース(例:UI600)は、受付部(例:受付処理部522、機器選択部602)により選択されたモータ駆動装置に対応する調整推奨パラメータとして初期値(例:工場出荷時の設定値(デフォルト値)、あるいは前回設定に使用された値)を表示してもよい。パラメータ値編集部(例:パラメータ設定部503の編集部523)は、ユーザ操作に従って調整推奨パラメータを当該初期値から変更してもよい。これにより、ユーザは、パラメータの設定において基準となる初期値を知ることができるため、パラメータの変更が容易になろう。
【0190】
[観点A4]
調整推奨パラメータは、少なくとも、モータ駆動装置の入力端子に対する機能の割付と、入力端子の極性と、入力端子にリミットスイッチが接続されることを有効化するか否かと、位置制御又は速度制御に関する接点の種類と、のうちのいずれか一つを含む。これらのパラメータは、モータドライバ4を試運転するためにほぼ必須のパラメータであるため、ユーザには調整することが推奨される。
【0191】
[観点A5]
調整推奨パラメータは、さらに、モータ駆動装置におけるエンコーダ方式の種類(例:インクリメンタル、アブソリュート)を含んでもよい。エンコーダ方式が不明である場合、エンコーダにより得られる値の解釈が誤ってしまい、正しくモータドライバ4を制御できなくなる。よって、エンコーダ方式の種類を設定することで、モータドライバ4を正しく制御することが可能となる。
【0192】
[観点A6]
受付部により選択されたモータ駆動装置から、その時点で当該モータ駆動装置に設定されている調整推奨パラメータのパラメータ値(例:現在値)を読み出すパラメータ値読出部(例:読出処理部527)がさらに設けられてもよい。パラメータ値編集部(例:編集部523、表示処理部521)は、パラメータ値読出部により読み出されたパラメータ値を編集ユーザインタフェース(例:UI600)に表示してもよい。ユーザは、パラメータの現在値を知ることで、現在値を基準としてパラメータを正しく調整することが可能となろう。
【0193】
[観点A7]
パラメータ値編集部(例:照合部524)は、パラメータ値編集部により編集されたパラメータ値と、パラメータ値読出部により読み出されたパラメータ値とを照合し、照合結果を表示部7に表示してもよい。これにより、ユーザは、自己が設定しようとしているパラメータ値と現在値との違いを比較することが可能となろう。
【0194】
[観点A8]
表示部7および表示処理部521は、編集ユーザインタフェースを通じて編集された調整推奨パラメータをモータ駆動装置において有効化するためにモータ駆動装置の再起動が必要な場合、モータ駆動装置の再起動を誘導するメッセージ(例:図12)を表示してもよい。上述されたように、モータドライバ4を再起動しなければ、パラメータ値がモータドライバ4に反映されないことがある。このよう場合に、ユーザに対して再起動を促すことで、パラメータ値をモータドライバ4に反映させることが可能となる。
【0195】
[観点A9]
表示部7および表示処理部521は、編集ユーザインタフェースを通じて編集された調整推奨パラメータをモータ駆動装置において有効化するためにモータ駆動装置の再起動が必要な場合、モータ駆動装置を遠隔から再起動を指示するためのコントロールオブジェクト(例:ソフトウエアリセットボタン1205)を表示してもよい。これにより、ユーザは、リモートでモータドライバ4を再起動することが可能となる。
【0196】
[観点A10]
書込処理部525は、受付部により選択されたモータ駆動装置の不揮発メモリに対するパラメータ値編集部により編集されたパラメータ値の書き込むことを明示的に指示するユーザ操作(例:書込ボタン1203の押し下げ)が入力されると、当該不揮発メモリに対するパラメータ値の書き込みを実行してもよい。これにより、モータドライバ4が電源オフにされたとしても、編集されたパラメータ値が引き続きモータドライバ4に保持されるようになる。明示的な指示なく、パラメータ値が不揮発メモリに書き込まれるスレーブ機器と、明示的な指示に基づき、パラメータ値が不揮発メモリに書き込まれるスレーブ機器と、が存在する。後者の場合、ユーザに書き込みを促すことで、編集結果が電源OFF後もモータドライバ4に保持されるようになろう。
【0197】
[観点A11]
調整推奨パラメータは、モータ駆動装置の試運転に必要となるパラメータを含む。ユーザは、基本ユニット3に対して、製造メーカが異なる複数のスレーブ機器を接続し、それらの挙動を試運転により確認することが多い。そのためには、複数のスレーブ機器を試運転可能な状態に設定することが必要となる。本実施例では、共通のパラメータ設定画面を通じて、試運転に必要となるパラメータが設定可能であるため、ユーザにとって非常に便利であろう。
【0198】
[観点A12]
試運転は、JOG運転、ポイント運転および原点復帰のうちのいずれかを含んでもよい。図24に関連して説明されたように、JOG運転、ポイント運転および原点復帰は試運転の一部である。よって、JOG運転、ポイント運転および原点復帰を実行するために必要なパラメータがパラメータ設定画面を通じて設定される。
【0199】
[観点A13]
パラメータ値編集部(例:編集部523、受付処理部522)は、編集ユーザインタフェースを通じて、調整推奨パラメータとともに、調整推奨パラメータとは異なる他のパラメータの編集を受け付けてもよい。上述された説明では、調整推奨パラメータが共通のパラメータ設定画面で調整されているが、これとは異なる他のパラメータも共通のパラメータ設定画面で調整されてもよい。たとえば、試運転には必要とされない他のパラメータがUI600等で編集されてもよい。なお、処理単位の問題で調整推奨パラメータと他のパラメータとが同時に書き込まれなければならないことがある。この場合、調整推奨パラメータとともに、調整推奨パラメータとは異なる他のパラメータとが一緒に転送されて、書き込まれることになる。
【0200】
[観点A14]
アラーム管理部504は、モータ駆動装置からアラームコードを取得し、アラームコードに対応するアラーム情報を表示部7に表示するアラーム処理部の一例である。アラームコードは、モータドライバ4からサイクリック通信またはメッセージ通信により送信される、そのモータドライバ4において発生しているアラームを識別可能な識別情報(例:アラーム詳細コード)であればよい。
【0201】
[観点A15]
図24図25が例示するように、アラーム情報は、アラームコードに紐づけられている、モータ駆動装置の名称(例:ABC XXXシリーズ)と、インデックスのみもしくはインデックスとサブインデクスを含むアラーム詳細コード(例:14-0)と、および、テキスト情報であるアラームメッセージ(例:過電流保護)とのうちの少なくとも一つを含む。従来は、アラームの発生の有無程度しか表示されていなかったが、本実施例では、より詳細な情報が表示されるためユーザは、マニュアル等を調べずに、アラームの内容を即座に理解できるようになろう。
【0202】
[観点A16]
表示部7およびアラーム管理部504は、アラームメッセージの表示言語が多言語に対応している場合、設定支援装置の表示言語でアラームメッセージを表示する。これにより、ユーザは、アラームメッセージをどの言語で表示するかを指定する手間を省けるであろう。
【0203】
[観点A17]
ネットワーク通信のマスタとして機能するプログラマブルロジックコントローラと、
ネットワーク通信のスレーブとして機能し、サイクリック通信により当該マスタから伝送されるモータ制御データに基づいてモータを駆動するモータ駆動装置と、
を有するシステムに対する設定を支援する設定支援装置の制御方法が提供される。制御方法は、
ベンダ特定情報と製品特定情報とに基づき特定されるモータ駆動装置に対する複数の設定パラメータのうち、当該モータ駆動装置をマスタに適合させて動作させるために調整が推奨される複数の調整推奨パラメータを、割付情報として当該モータ駆動装置に対応付けて割付情報記憶部に記憶することと、
それぞれベンダ特定情報と製品特定情報に関連付けられた複数のモータ駆動装置のリストを表示部に表示することと、
表示部に表示されたリストから一つのモータ駆動装置の選択を受け付けることと、
割付情報記憶部に記憶された割付情報に基づいて、選択されたモータ駆動装置に対応する調整推奨パラメータの編集ユーザインタフェースであって、ベンダ特定情報と製品特定情報との組み合わせが異なる複数のモータ駆動装置に対して共通化された編集ユーザインタフェースを、表示部に表示させ、当該編集ユーザインタフェースを通じて、ユーザ操作を受け付け、当該ユーザ操作に従って当該調整推奨パラメータのパラメータ値を編集することと、
編集されたパラメータ値を、選択されたモータ駆動装置に書き込むことと、
を含みうる。
【0204】
[観点A18]
観点17に記載の設定支援装置の制御方法をプロセッサ(例:CPU11)に実行させるプログラム(例:設定支援プログラム21)が提供される。
【0205】
[観点B]
[観点B1]
基本ユニット3はネットワーク通信のマスタとして機能するプログラマブルロジックコントローラの一例である。モータドライバ4は、ネットワーク通信のスレーブとして機能し、サイクリック通信により当該マスタから伝送されるモータ制御データに基づいてモータを駆動するモータ駆動装置の一例である。PC2はPLCシステム1の設定を支援する設定支援装置の一例である。CPU11、構成設定部502および構成編集部533は、それぞれベンダ特定情報(例:ベンダID)と製品特定情報(例:製品コード、リビジョン番号)とにより特定される複数のモータ駆動装置の中からいずれかのモータ駆動装置を選択し、当該選択されたモータ駆動装置をスレーブとして、マスタとして機能するプログラマブルロジックコントローラに対して、設定する構成編集部の一例である。記憶装置12は、それぞれベンダ特定情報と複数の製品特定情報とに関連付けられた割付情報(例:割付情報3500)を記憶する記憶部の一例である。割付情報は、モータ駆動装置が取り扱うデータオブジェクトをサイクリック通信の通信対象としてマッピングするマッピング情報(例:PDO設定)と、当該モータ駆動装置に対する設定パラメータの推奨値と、を含みうる。構成設定部502は、構成編集部によりプログラマブルロジックコントローラに対して設定されたモータ駆動装置のベンダ特定情報と製品特定情報との組み合わせに対応する割付情報に含まれるマッピング情報に基づいてマスタがサイクリック通信により伝送するデータオブジェクトのマッピングを設定する。さらに、構成設定部502は、当該モータ駆動装置に対する割付情報に含まれる設定パラメータの推奨値をマスタがメッセージ通信を介してモータ駆動装置に対して書き込むよう設定する。これにより、サイクリック通信の設定と推奨値の書き込みが容易になる。つまり、PLCとモータドライバとの設定が従来よりも容易になる。推奨値は、たとえば、基本ユニット3にリミットスイッチを接続し、モータドライバ4におけるリミット入力端子を無効化すること、接点種別がa接点であるか、b接点であるかなどである。
【0206】
[観点B2]
記憶部(記憶装置12)は、さらに、ベンダ特定情報と製品特定情報との組み合わせに対応して、マッピング情報、設定パラメータの推奨値、および、モーション機能設定を対応付けて記憶するように構成されていてもよい。図35が例示するように、モーション機能設定は、モータ駆動装置が備える機能を制御するための制御データが、サイクリック通信により伝送されるデータオブジェクトのどのビットに割り当てられるかを示す。これにより、モーション機能を実現するためのデータオブジェクトが特定されることになる。
【0207】
[観点B3]
設定パラメータの推奨値は、マスタ(基本ユニット3)を通じてモータ駆動装置の試運転を可能にする推奨値を含む。これにより、ユーザは、容易に試運転を開始できるようになる。
【0208】
[観点B4]
図24に関連して説明されたように、試運転は、回転指示ボタン(例:図24の-方向ボタン/+方向ボタン)を押した回数または押している間だけモータ駆動装置を動作させるJOG運転を含んでもよい。試運転は、予め指定された複数のポイントに負荷が移動するようモータ駆動装置を動作させるポイント運転を含んでもよい。試運転は、負荷を原点に復帰させる減点復帰動作を含んでもよい。
【0209】
[観点B5]
設定パラメータは、少なくとも、リミットスイッチを有効化または無効化する値と、位置制御または速度制御に関する接点の種類(例:a接点、b接点)を示す情報と、のいずれか一つを含んでもよい。
【0210】
[観点B6]
CPU11(インポート部535)は、選択されたモータ駆動装置に対応する電子ファイル2710を読み出し、当該電子ファイルに基づきマッピング情報(PDO設定)を生成する生成部として機能してもよい。これにより、ユーザが手動でマッピング情報を作成する手間が省けるようになる。
【0211】
[観点B7]
生成部(CPU11、インポート部535)は、選択されたモータ駆動装置に対応する電子ファイルを読み出し、当該電子ファイルに基づき選択されたモータ駆動装置が設定パラメータの推奨値を必要とするモータ駆動装置であるかどうかを判定してもよい。生成部(CPU11、インポート部535)は、選択されたモータ駆動装置が設定パラメータの推奨値を必要とするモータ駆動装置である場合には電子ファイルまたは割付情報3500から設定パラメータの推奨値を読み出して選択されたモータ駆動装置に書き込む。このように、ベンダから提供される電子ファイルを解析して、マッピング情報が作成されてもよい。これにより、ユーザの手間がさらに省けるようになろう。
【0212】
[観点B8]
サイクリック通信は、ETHERCAT通信、ETHERNET/IP通信、PROFINET通信、およびMODBUS通信のいずれか一つからなる。なお、これらはサイクリック通信の一例であり、他の形式のサイクリック通信が採用されてもよい。
【0213】
[観点B9]
サイクリック通信のマスタとして機能するプログラマブルロジックコントローラと、
サイクリック通信のスレーブとして機能し、当該サイクリック通信により当該マスタから伝送されるモータ制御データに基づいてモータを駆動するモータ駆動装置と、
を有するPLCシステムに対する設定を支援する設定支援装置の制御方法も提供される。制御方法は、
それぞれベンダ特定情報と製品特定情報とにより特定される複数のモータ駆動装置の中からいずれかのモータ駆動装置を選択し、当該選択されたモータ駆動装置をスレーブとして、マスタとして機能するプログラマブルロジックコントローラに対して、設定することと、
それぞれベンダ特定情報と複数の製品特定情報とに関連付けられた割付情報を記憶部に記憶することであって、割付情報は、モータ駆動装置が取り扱うデータオブジェクトをサイクリック通信の通信対象としてマッピングするマッピング情報と、当該モータ駆動装置に対する設定パラメータの推奨値とを含む、ことと、
プログラマブルロジックコントローラに対して設定されたモータ駆動装置のベンダ特定情報と製品特定情報との組み合わせに対応する割付情報に含まれるマッピング情報に基づいてマスタがサイクリック通信により伝送するデータオブジェクトのマッピングを設定するとともに、当該モータ駆動装置に対する割付情報に含まれる設定パラメータの推奨値をマスタがメッセージ通信を介してモータ駆動装置に対して書き込むよう設定することと、
を有する。
【0214】
[観点B10]
設定支援プログラム21は、観点B9に記載の設定支援装置の制御方法をプロセッサに実行させるプログラムの一例である。
【0215】
発明は上記の実施形態に制限されるものではなく、発明の要旨の範囲内で、種々の変形・変更が可能である。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19
図20
図21
図22
図23
図24
図25
図26
図27
図28
図29
図30
図31
図32
図33
図34
図35
図36
図37
図38
図39