JP6215003B2 - プログラマブルコントローラ、拡張ユニット及びプログラム作成支援システム - Google Patents

プログラマブルコントローラ、拡張ユニット及びプログラム作成支援システム Download PDF

Info

Publication number
JP6215003B2
JP6215003B2 JP2013224948A JP2013224948A JP6215003B2 JP 6215003 B2 JP6215003 B2 JP 6215003B2 JP 2013224948 A JP2013224948 A JP 2013224948A JP 2013224948 A JP2013224948 A JP 2013224948A JP 6215003 B2 JP6215003 B2 JP 6215003B2
Authority
JP
Japan
Prior art keywords
command
unit
motor driver
communication
parameter information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2013224948A
Other languages
English (en)
Other versions
JP2015087897A (ja
Inventor
哲也 宮坂
哲也 宮坂
柳 寿一
寿一 柳
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Keyence Corp
Original Assignee
Keyence Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Keyence Corp filed Critical Keyence Corp
Priority to JP2013224948A priority Critical patent/JP6215003B2/ja
Publication of JP2015087897A publication Critical patent/JP2015087897A/ja
Application granted granted Critical
Publication of JP6215003B2 publication Critical patent/JP6215003B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Programmable Controllers (AREA)

Description

本発明は、簡易なラダープログラムによって、モータドライバのパラメータを設定することができるプログラマブルコントローラ、拡張ユニット及びプログラム作成支援システムに関する。
従来、各種のアクチュエータを駆動するモータ等の駆動源に対しては、モータドライバが駆動電流を供給する。製造現場では、モータドライバのパラメータ設定を変更することにより、モータに所望の動作をさせることができる。
モータドライバのパラメータ設定の変更は、様々な手段で行うことができる。例えばモータドライバに直接設定しても良いが、その場合にはすべてのモータドライバにコンピュータ(プログラム作成支援装置)を接続して設定する必要があり、作業が煩雑になるうえ、プログラマブルコントローラからパラメータ設定を動的に変更することもできない。また、パルス列入力によりパラメータ設定を変更する場合には、ラダープログラムの難易度が高くなり、フィールドネットワーク接続を用いる場合には、モータドライバ自体がフィールドネットワーク接続に対応している必要があるという問題があった。
そこで、例えばRS−232C接続のようなシリアル通信を用いてプログラマブルコントローラとデータ通信することにより、モータドライバのパラメータ設定の変更を行うことが多い。例えば特許文献1に開示されたプログラマブルコントローラ(シリアル通信ユニットと接続されたCPUユニット)は、モータドライバにパラメータ設定の変更コマンドを送信することで、モータドライバのパラメータ設定を変更することができる。
特開2006−277733号公報
しかし、プログラマブルコントローラからパラメータ設定の変更コマンドを送信する場合、パラメータを送受信するためのシリアル通信プログラムを含むラダープログラムを作成する必要がある。シリアル通信プログラムを含むラダープログラムの作成には、シリアル通信プロトコルについてある程度の熟練を要し、またラダープログラムの作成にも相当の時間を要するという問題点があった。
本発明は斯かる事情に鑑みてなされたものであり、シリアル通信プロトコルについて熟練を要することなく、簡易なラダープログラムによってモータに所望の動作をさせることができるプログラマブルコントローラ、拡張ユニット及びプログラム作成支援システムを提供することを目的とする。
上記目的を達成するために第1発明に係るプログラマブルコントローラは、ネットワークに接続された少なくとも一のモータドライバの機能又は動作を設定するパラメータ情報を変更するプログラマブルコントローラにおいて、前記プログラマブルコントローラを制御するために所定の周期で繰り返し実行される制御プログラム、及び前記モータドライバが駆動するモータに所望の動作をさせるパラメータ情報の入力を受け付ける入力受付部と、入力を受け付けた制御プログラム及びパラメータ情報、並びに前記制御プログラムで認識することが可能なメモリ領域に割り当てられた領域であるデバイスに記憶される、前記モータドライバに対して指令を実行するか否かを示す指令デバイスのオンオフに関する情報を含むデバイス情報を記憶する情報記憶部と、記憶された制御プログラムを実行する制御プログラム実行部と、前記制御プログラムの実行中に前記デバイス情報が記憶されているデバイスを監視し、前記指令デバイスがオン状態であることを検出する指令検出部と、前記指令デバイスがオン状態であることが検出された場合、記憶されているパラメータ情報に基づいて、少なくとも前記モータドライバに対するパラメータ設定指令を含む、前記指令デバイスに対応する指令を実行する通信コマンドを生成する通信コマンド生成部と、生成された通信コマンドを前記モータドライバへ送信する通信コマンド送信部とを備えることを特徴とする。
また、第2発明に係るプログラマブルコントローラは、第1発明において、CPUユニットと、該CPUユニットとデータ通信することが可能に接続された一又は複数の拡張ユニットとで構成されており、前記CPUユニットは、前記入力受付部、前記情報記憶部及び前記制御プログラム実行部を備え、前記拡張ユニットは、前記指令検出部、前記通信コマンド生成部及び前記通信コマンド送信部を備えることを特徴とする。
また、第3発明に係るプログラマブルコントローラは、第2発明において、前記CPUユニットの前記情報記憶部は、所定の前記デバイスに記憶されている前記パラメータ情報を記憶し、前記拡張ユニットの前記通信コマンド生成部は、所定の前記デバイスに記憶されているパラメータ情報を読み出し、読み出したパラメータ情報に基づいて前記通信コマンドを生成することを特徴とする。
また、第4発明に係るプログラマブルコントローラは、第2又は第3発明において、前記指令検出部は、さらに、前記モータドライバに対する動作開始指令の指令デバイスがオン状態であることを検出し、前記通信コマンド生成部は、前記パラメータ情報の前記モータドライバへの書込指令を実行させる第1の通信コマンド、及び前記モータの動作指令を実行させる第2の通信コマンドを生成することを特徴とする。
また、第5発明に係るプログラマブルコントローラは、第4発明において、前記通信コマンド生成部は、前記拡張ユニットが前記モータドライバの現在の状態に関する情報を読み出す第3の通信コマンドを生成し、前記通信コマンド送信部は、前記第1の通信コマンド又は前記第2の通信コマンドを前記第3の通信コマンドよりも優先して送信することを特徴とする。
また、第6発明に係るプログラマブルコントローラは、第乃至第5発明のいずれか1つにおいて、前記CPUユニットのデバイスから読み出したパラメータ情報と、前記拡張ユニットに読み出して記憶されている前記モータドライバのパラメータ情報との間に差分が存在するか否かを判断し、差分が存在すると判断した場合、前記拡張ユニットは、差分のみを前記モータドライバに書き込み、前記CPUユニットのデバイスから読み出したパラメータ情報を記憶することを特徴とする。
次に、上記目的を達成するために第7発明に係るプログラム作成支援システムは、モータを駆動するモータドライバが接続されるプログラマブルコントローラと、該プログラマブルコントローラとデータ通信することが可能に接続されたプログラム作成支援装置とを有するプログラム作成支援システムにおいて、前記プログラム作成支援装置は、ユーザ操作に基づいて、前記プログラマブルコントローラを制御するために所定の周期で繰り返し実行される制御プログラム及び前記モータドライバが駆動するモータに所望の動作をさせるパラメータ情報の入力を受け付ける手段と、前記制御プログラムで認識することが可能なメモリ領域に割り当てられた領域であるデバイスであって、前記モータドライバに対して指令を実行するか否かを示す指令デバイスの指定を受け付ける手段と、入力を受け付けた前記制御プログラム及び前記パラメータ情報を前記プログラマブルコントローラへ送信する手段とを備え、前記プログラマブルコントローラは、前記制御プログラム及び前記パラメータ情報の入力を受け付ける入力受付部と、入力を受け付けた制御プログラム及びパラメータ情報、並びに前記指令デバイスのオンオフに関する情報を含むデバイス情報を記憶する情報記憶部と、記憶された制御プログラムを実行する制御プログラム実行部と、前記制御プログラムの実行中に前記デバイス情報が記憶されているデバイスを監視し、前記指令デバイスがオン状態であることを検出する指令検出部と、前記指令デバイスがオン状態であることが検出された場合、記憶されているパラメータ情報に基づいて、少なくとも前記モータドライバに対するパラメータ設定指令を含む、前記指令デバイスに対応する指令を実行する通信コマンドを生成する通信コマンド生成部と、生成された通信コマンドを前記モータドライバへ送信する通信コマンド送信部とを備えることを特徴とする。
次に、上記目的を達成するために第8発明に係る拡張ユニットは、ネットワークに接続された少なくとも一のモータドライバの機能又は動作を設定するパラメータ情報を変更するプログラマブルコントローラに含まれており、所定の周期で制御プログラムを繰り返し実行するCPUユニットとデータ通信することが可能に接続された一又は複数の拡張ユニットにおいて、前記CPUユニットには、前記制御プログラムで認識することが可能なメモリ領域に割り当てられた領域であるデバイスに記憶される、前記モータドライバに対して指令を実行するか否かを示す指令デバイスのオンオフに関する情報を含むデバイス情報が記憶されており、前記CPUユニットによる前記制御プログラムの実行中に前記デバイス情報が記憶されているデバイスを監視し、前記指令デバイスがオン状態であることを検出する指令検出部と、前記指令デバイスがオン状態であることが検出された場合、前記CPUユニットの前記メモリ領域に記憶されているパラメータ情報に基づいて、少なくとも前記モータドライバに対するパラメータ設定指令を含む、前記指令デバイスに対応する指令を実行する通信コマンドを生成する通信コマンド生成部と、生成された通信コマンドを前記モータドライバへ送信する通信コマンド送信部とを備えることを特徴とする。
第1発明では、プログラマブルコントローラは、ネットワークに接続された少なくとも一のモータドライバの機能又は動作を設定するパラメータ情報を変更する。プログラマブルコントローラは、プログラマブルコントローラを制御するために所定の周期で繰り返し実行される制御プログラム、及びモータドライバが駆動するモータに所望の動作をさせるパラメータ情報の入力を受け付け、入力を受け付けた制御プログラム及びパラメータ情報、並びに制御プログラムで認識することが可能なメモリ領域に割り当てられた領域であるデバイスに記憶される、モータドライバに対して指令を実行するか否かを示す指令デバイスのオンオフに関する情報を含むデバイス情報を記憶する。プログラマブルコントローラは、記憶された制御プログラムを実行し、制御プログラムの実行中にデバイス情報が記憶されているデバイスを監視し、指令デバイスがオン状態であることを検出する。指令デバイスがオン状態であることが検出された場合、記憶されているパラメータ情報に基づいて、少なくともモータドライバに対するパラメータ設定指令を含む、指令デバイスに対応する指令を実行する通信コマンドを生成し、生成された通信コマンドをモータドライバへ送信する。これにより、記憶されているデバイス情報から指令デバイスがオン状態であることを検出した時点で、記憶されているパラメータ情報に基づいて指令デバイスに対応する指令を実行する通信コマンドを生成してモータドライバへ送信するので、指令デバイスをオン/オフする簡易なラダープログラムで、モータドライバのパラメータ情報を変更することができ、シリアル通信プロトコルについて熟練を要することなく、容易にモータに所望の動作をさせることが可能となる。また、簡易なラダープログラムでパラメータ情報を変更することができるので、プログラマブルコントローラの使い勝手を向上させることも可能となる。
第2発明では、プログラマブルコントローラは、CPUユニットと、該CPUユニットとデータ通信することが可能に接続された一又は複数の拡張ユニットとで構成されており、CPUユニットは、入力受付部、情報記憶部及び制御プログラム実行部を備え、拡張ユニットは、指令検出部、通信コマンド生成部及び通信コマンド送信部を備えるので、CPUユニットで実行されるラダープログラムは、CPUユニットの指令デバイスをオン/オフする簡易なプログラムで良く、拡張ユニットが、CPUユニットに記憶されているパラメータ情報を取得してモータドライバに書き込むことでモータドライバのパラメータ情報を変更することができ、モータに所望の動作をさせることが可能となる。また、既存のCPUユニットに本発明に係る拡張ユニットを接続することで本発明の効果を奏することができ、既存のCPUユニットを汎用的に用いることが可能となる。
第3発明では、CPUユニットの情報記憶部は、所定のデバイスに記憶されているパラメータ情報を記憶し、拡張ユニットの通信コマンド生成部は、所定のデバイスに記憶されているパラメータ情報を読み出し、読み出したパラメータ情報に基づいて指令を実行する通信コマンドを生成するので、拡張ユニットは、CPUユニットのデバイス情報の読み出しを通じてモータドライバのパラメータ情報を容易に取得することができ、ラダープログラムによりモータドライバのパラメータ情報を容易に変更することが可能となる。また、拡張ユニットが主体的に、CPUユニットのデバイス情報を読み出すようにすることで、プログラマブルロジックコントローラ(PLC)のシステム設計が複雑化するのを未然に防止することも可能となる。
第4発明では、さらに、モータドライバに対する動作開始指令の指令デバイスがオン状態であることを検出し、パラメータ情報のモータドライバへの書込指令を実行させる第1の通信コマンド、及びモータの動作指令を実行させる第2の通信コマンドを生成するので、パラメータ情報の設定と、モータの動作の開始とを同時に行うことが可能となる。特に、ユーザはモータの動作を開始させる通信コマンドの生成を意識することなく、所望のパラメータ情報にてモータを動作させることが可能となる。
第5発明では、拡張ユニットは、モータドライバの現在の状態に関する情報を読み出す第3の通信コマンドを生成し、第1の通信コマンド又は第2の通信コマンドを第3の通信コマンドよりも優先して送信するので、モータドライバの現在の状態に関する情報(例えば設定されているパラメータ情報)を読み出す第3の通信コマンドよりも、モータの動作に関する第1又は第2の通信コマンドを優先して実行することができ、モータの動作待ち状態の発生を未然に回避することが可能となる。また、ネットワーク上における通信コマンドのコリジョン(衝突)を未然に防止することができ、プログラマブルコントローラの動作が不安定になることを回避することが可能となる。
第6発明では、CPUユニットのデバイスから読み出したパラメータ情報と、拡張ユニットに読み出して記憶されているモータドライバのパラメータ情報との間に差分が存在するか否かを判断し、差分が存在すると判断した場合、拡張ユニットは、差分のみをモータドライバに書き込み、CPUユニットのデバイスから読み出したパラメータ情報を記憶する。これにより、差分に関する情報のみを拡張ユニットとモータドライバとの間でデータ通信すれば足りるので、全体としてデータ通信量を減らすことができ、ひいては通信効率を向上させることが可能となる。
第7発明では、モータを駆動するモータドライバが接続されるプログラマブルコントローラと、該プログラマブルコントローラとデータ通信することが可能に接続されたプログラム作成支援装置とを有する。プログラム作成支援装置は、ユーザ操作に基づいて、プログラマブルコントローラを制御するために所定の周期で繰り返し実行される制御プログラム及びモータドライバが駆動するモータに所望の動作をさせるパラメータ情報の入力を受け付け、制御プログラムで認識することが可能なメモリ領域に割り当てられた領域であるデバイスであって、モータドライバに対して指令を実行するか否かを示す指令デバイスの指定を受け付ける。入力を受け付けた制御プログラム及びパラメータ情報をプログラマブルコントローラへ送信する。プログラマブルコントローラは、制御プログラム及び前記パラメータ情報の入力を受け付け、入力を受け付けた制御プログラム及びパラメータ情報、並びに指令デバイスのオンオフに関する情報を含むデバイス情報を記憶しておく。記憶された制御プログラムを実行し、制御プログラムの実行中にデバイス情報が記憶されているデバイスを監視し、指令デバイスがオン状態であることを検出する。指令デバイスがオン状態であることが検出された場合、記憶されているパラメータ情報に基づいて、少なくともモータドライバに対するパラメータ設定指令を含む、指令デバイスに対応する指令を実行する通信コマンドを生成し、生成された通信コマンドをモータドライバへ送信する。これにより、プログラム作成支援装置で入力を受け付けたパラメータ情報をプログラマブルコントローラへ送信することができ、プログラム作成支援装置からモータの動作を制御することが可能となる。
第8発明では、拡張ユニットは、ネットワークに接続された少なくとも一のモータドライバの機能又は動作を設定するパラメータ情報を変更するプログラマブルコントローラに含まれており、所定の周期で制御プログラムを繰り返し実行するCPUユニットとデータ通信することが可能に接続される。CPUユニットには、制御プログラムで認識することが可能なメモリ領域に割り当てられた領域であるデバイスに記憶される、モータドライバに対して指令を実行するか否かを示す指令デバイスのオンオフに関する情報を含むデバイス情報が記憶されており、拡張ユニットは、CPUユニットによる制御プログラムの実行中にデバイス情報が記憶されているデバイスを監視し、指令デバイスがオン状態であることを検出する。指令デバイスがオン状態であることが検出された場合、CPUユニットのメモリ領域に記憶されているパラメータ情報に基づいて、少なくともモータドライバに対するパラメータ設定指令を含む、指令デバイスに対応する指令を実行する通信コマンドを生成し、生成された通信コマンドをモータドライバへ送信するので、指令デバイスをオン/オフする簡易なラダープログラムで、モータドライバのパラメータ情報を変更することができ、シリアル通信プロトコルについて熟練を要することなく、容易にモータに所望の動作をさせることが可能となる。
本発明によれば、記憶されているデバイス情報から指令デバイスがオン状態であることを検出した時点で、記憶されているパラメータ情報に基づいて指令デバイスに対応する指令を実行する通信コマンドを生成してモータドライバへ送信するので、指令デバイスをオン/オフする簡易なラダープログラムで、モータドライバのパラメータ情報を変更することができ、シリアル通信プロトコルについて熟練を要することなく、容易にモータに所望の動作をさせることが可能となる。また、簡易なラダープログラムでパラメータ情報を変更することができるので、プログラマブルコントローラの使い勝手を向上させることも可能となる。
本発明の実施の形態に係るプログラム作成支援システムの構成を示す模式図である。 本発明の実施の形態に係るプログラマブルコントローラのCPUユニットの構成を示すブロック図である。 本発明の実施の形態に係るプログラマブルコントローラの拡張ユニットの構成を示すブロック図である。 本発明の実施の形態に係るモータドライバの構成を示すブロック図である。 本発明の実施の形態に係るモータドライバのポイントパラメータの説明図である。 本発明の実施の形態に係るプログラム作成支援システムのプログラム作成支援装置の構成を示すブロック図である。 本発明の実施の形態に係るプログラム作成支援システムのプログラム作成支援装置のパラメータ情報設定画面の例示図である。 本発明の実施の形態に係るプログラム作成支援システムのプログラム作成支援装置の制御部の処理手順を示すフローチャートである。 位置決め開始指令のラダープログラムの部分例示図である。 本発明の実施の形態に係るプログラム作成支援システムの拡張ユニットの制御部の処理手順を示すフローチャートである。 本発明の実施の形態に係るプログラム作成支援システムの拡張ユニットの制御部のパラメータ情報の書込処理の手順を示すフローチャートである。 通信コマンドの種類及びその優先度の例示図である。 本発明の実施の形態に係るプログラム作成支援システムの拡張ユニットの制御部のパラメータ書込指令のスケジューリング処理の手順を示すフローチャートである。 本発明の実施の形態に係るプログラム作成支援システムの拡張ユニットの制御部の位置決め開始指令のスケジューリング処理の手順を示すフローチャートである。
以下、本発明の実施の形態に係るプログラマブルコントローラ(プログラマブルロジックコントローラ)、拡張ユニット及びプログラマブルコントローラを用いるプログラム作成支援システムについて、図面に基づいて具体的に説明する。本実施の形態では、プログラマブルコントローラが、CPUユニットと拡張ユニットとで構成された例について説明するが、CPUユニットと拡張ユニットとが一体化されたプログラマブルコントローラであっても良いことは言うまでもない。
図1は、本発明の実施の形態に係るプログラム作成支援システムの構成を示す模式図である。図1に示すように、プログラム作成支援システム10は、プログラマブルコントローラ1と、プログラム作成支援装置4とで構成されている。
プログラマブルコントローラ1は、詳細は後述するが、制御プログラムを実行するCPUユニット2と、例えばI/Oユニット、電源ユニット、イーサネット(登録商標)通信ユニット、位置決めユニット等、機能ごとに独立した一又は複数の拡張ユニット3、3、・・・(図1では一の拡張ユニット3)とで構成されている。また、プログラマブルコントローラ1は、ネットワーク網7を介してデータ通信することが可能なモータドライバ5、5、・・・と接続してある。本実施の形態では、ネットワーク網7は、RS−485シリアル通信網であるが、特にこれに限定されるものではなく、指令を実行する通信コマンド及びパラメータ情報をデータ通信できれば良い。また、プログラマブルコントローラ1は、複数のモータドライバ5、5、・・・からの通信線を集約する中継装置を介して各モータドライバ5に接続されていても良い。
そして、各モータドライバ5は、制御対象(駆動対象)となるモータ6にそれぞれ接続されており、指令に応じてモータ6の動作を制御する。CPUユニット2は、プログラム作成支援装置4で作成されたラダープログラム等のシーケンシャルプログラム(以下、制御プログラム)を実行する。本実施の形態では、位置決めユニットとして機能する一の拡張ユニット3が、複数のモータドライバ5、5、・・・に対して指令を実行する通信コマンドを送信する機能を有している。
なお、CPUユニット2は、センサ等の入力機器から入力データを取り込む入力リフレッシュ処理、取り込んだ入力データを用いて制御プログラムを実行(演算)する演算処理、演算処理した結果である出力データをモータ等の出力機器に出力する出力リフレッシュ処理、エラーチェック等のEND処理、の各処理を所定の周期で繰り返し実行する(1周期を1スキャンと呼ぶ)。したがって、制御プログラムは、CPUユニット2によって、所定の周期で繰り返し実行されることになる。
CPUユニット2は、内蔵するメモリ20(後述)に記憶してある制御プログラムに従って、接続してある拡張ユニット3に対して指令を送出するCPU(プロセッサ)を備えている。CPUユニット2のメモリ20には、制御プログラムだけでなく、制御プログラムで認識することが可能なメモリ領域に割り当てられた領域(デバイス)に記憶される、各モータドライバ5に対して指令を実行するか否かを示す指令デバイスのオンオフに関する情報を含むデバイス情報、モータドライバ5に設定するパラメータ値の集合であるパラメータ情報も記憶される。
なお、詳細は後述するが、デバイスにはビットデバイスとワードデバイスとがあり、本実施の形態では、ビットデバイスの一種であるリレーデバイスのオンオフに関する情報を用いて、モータドライバ5に対して指令を実行するか否かを決定している。ただし、例えばワードデバイスの数値データに関する情報を用いて、モータドライバ5に対して指令を実行するか否かを決定しても良いことは言うまでもない。
図2は、本発明の実施の形態に係るプログラマブルコントローラ1のCPUユニット2の構成を示すブロック図である。図2に示すように、CPUユニット2は、少なくとも制御プログラムを実行するCPU等の制御部21、記憶部(メモリ)20、拡張ユニットインタフェース22、プログラム作成支援装置インタフェース23を備えている。
制御部21は、入力受付部211、情報記憶部212、及び制御プログラム実行部213を備えている。入力受付部211は、プログラム作成支援装置4から受信した制御プログラム201、及びモータドライバ5、5、・・・に設定するパラメータ情報203の入力を受け付ける。
情報記憶部212は、入力を受け付けた制御プログラム201、パラメータ情報203、及び制御プログラムで認識することが可能なメモリ領域に割り当てられた領域であるデバイスに記憶される、モータドライバ5に対して指令を実行するか否かを示す指令デバイスのオンオフに関する情報を含むデバイス情報202を記憶する。制御プログラム実行部213は、記憶された制御プログラム201を実行する。
なお、本実施の形態では、記憶部20はEEPROM等の不揮発性メモリで構成されているが、別途SRAM等のキャッシュメモリを設けても良い。例えば、プログラマブルコントローラ1の通常運転に先立って、必要に応じて記憶部20の記憶内容をキャッシュメモリに展開する。そして、プログラマブルコントローラ1の通常運転(ラダープログラムの繰り返し実行)時には、キャッシュメモリに対して制御プログラム201、デバイス情報202等のデータを読み書きするので、高速なデータ処理を実現することができる。なお、通常運転時、制御部21の情報記憶部212が記憶部(メモリ)20に対してデータを読み書きする構成であっても良いし、設けられたキャッシュメモリに対してデータを読み書きする構成であっても良い。また、情報記憶部212は、記憶部20やキャッシュメモリに対してデータを読み書きする処理を実行するものであり、情報記憶処理部と言っても良い。
なお、デバイスとは、リレー、タイマ、カウンタ、データメモリなど、プログラマブルコントローラ1に接続される各入出力機器の監視や制御のために制御プログラム201で用いられる要素(仮想的なメモリ領域)であり、命令で使用するデータを与えたり、命令の実行結果を記憶したりするために用いられる。デバイスには、入力機器からの入力信号に基づいてオン/オフされるビットデバイス(入力ビットデバイス)や、出力機器の動作を制御するためにオン/オフされるビットデバイス(出力ビットデバイス)、オン/オフされるのではなく数値データが記憶されるワードデバイスなどがある。また、デバイスは、ビットデバイスであるかワードデバイスであるかを示すデバイス種別と、同一のデバイス種別を有する複数のデータを管理するためのデバイス番号とを有している。例えば、“DM0000”というデバイスは、デバイス種別が“DM”であり、デバイス番号が“0000”であることを示している。また、デバイスは、制御プログラム201上(制御プログラム201内)で認識することが可能である。
プログラム作成支援装置インタフェース23は、プログラム作成支援装置4とデータ通信することが可能に接続され、プログラム作成支援装置4上で作成されたラダープログラム(制御プログラム)201及び入力を受け付けたパラメータ情報の転送、読み出しを行う。拡張ユニットインタフェース22は、拡張ユニット3とデータ通信することが可能に接続され、拡張ユニット3との間でデバイス情報202及びパラメータ情報203をデータ送受信する。プログラム作成支援装置インタフェース23、拡張ユニットインタフェース22等は、例えばASIC、FPGA等として別個に実装されていても良いし、制御部21と一体的に実装されていても良い。
拡張ユニット3は、制御プログラム201の実行中に、CPUユニット2のメモリ20に記憶されているデバイス情報202を監視、例えば一定時間間隔(例えば上述した1スキャンごと)で読み出し、パラメータ書込指令(パラメータ設定指令)、位置決め開始指令(動作開始指令)等の指令デバイスがオン状態であることを検出する。各指令に対応する指令デバイスがオン状態であることを検出した場合、CPUユニット2のメモリ20に記憶されているパラメータ情報203を読み出して、パラメータ情報203のモータドライバ5への書込指令を実行させる通信コマンド(第1の通信コマンド)、又はモータ6の動作指令を実行させる通信コマンド(第2の通信コマンド)を生成し、モータドライバ5へ送信する。もちろん、通信コマンドはこれらに限定されるものではなく、例えばモータドライバ5の現在の状態に関する情報(例えば、記憶されているパラメータ情報203、モータの現在位置、速度、アラーム発生状態等)を定期的に読み出す通信コマンド(第3の通信コマンド)を生成しても良い。なお、本実施の形態では、指令デバイスとしてリレーデバイス(指令リレーデバイス)を用いており、指令リレーデバイスのデバイス値が‘0’から‘1’に変わった場合、すなわち指令フラグが立った場合にオン状態であると検出するようにしているが、指令リレーデバイスの代わりにワードデバイス(指令ワードデバイス)を用いる場合には、例えばデバイス値が所定の値に到達したか否かを監視しておき、到達した時点でオン状態であることを検出するようにしても良い。
図3は、本発明の実施の形態に係るプログラマブルコントローラ1の拡張ユニット3の構成を示すブロック図である。図3に示すように、本実施の形態に係る拡張ユニット3は、少なくともCPU等で構成された制御部31、メモリ30、CPUユニットインタフェース32、及びシリアル通信部33を備えている。
制御部31は、指令検出部311、通信コマンド生成部312、通信コマンド送信部313、通信スケジューリング部314、及び通信レスポンス処理部315を備えている。指令検出部311は、CPUユニット2のメモリ20に記憶されているデバイス情報202を監視し、パラメータ書込指令(パラメータ設定指令)、位置決め開始指令(動作開始指令)等の指令デバイスがオン状態であることを検出する。各指令に対応する指令デバイスがオン状態であることを検出した場合、オン状態であることが検出された指令を実行する通信コマンドの生成を通信コマンド生成部312へ要求する。
通信コマンド生成部312は、オン状態であることが検出された指令デバイスに対応する指令を実行する通信コマンドを生成し、通信コマンド送信部313は、生成された通信コマンドを、シリアル通信部33を介してモータドライバ5へ送信する。なお、「オン状態であることを検出した指令」としては、上述したように、パラメータ書込指令(パラメータ設定指令)及び位置決め開始指令(動作開始指令)等が挙げられるが、少なくともパラメータ設定指令を含んでいる。通信スケジューリング部314は、通信コマンドの優先度に応じて、どのモータドライバ5にどのタイミングで、どの通信コマンドを送信するかを決定する。スケジューリング方法の詳細については後述する。
通信レスポンス処理部315は、シリアル通信部33を介して受信した、モータドライバ5に設定されているパラメータ情報203を読み出して、パラメータ情報301としてメモリ30へ記憶するとともに、CPUユニットインタフェース32を介してCPUユニット2へ送信する。
CPUユニットインタフェース32は、CPUユニット2との間でデバイス情報、パラメータ情報等をデータ送受信する。シリアル通信部33は、モータドライバ5との間でパラメータ情報301をデータ送受信する。メモリ30は、送受信するパラメータ情報301を記憶する。
図4は、本発明の実施の形態に係るモータドライバ5の構成を示すブロック図である。図4に示すように、モータドライバ5は、少なくとも制御部51、パラメータ情報記憶部(メモリ)50、シリアル通信部53、指令情報生成部52、駆動信号出力部54、操作部55、及び表示部56を備える。モータドライバ5の制御部51は、モータドライバ5の各部の動作を制御し、指令情報生成部52と協働して、制御対象となるモータ6に所望の動作をさせるよう演算処理を実行する。
指令情報生成部52は、パラメータ情報記憶部(メモリ)50に記憶されているパラメータ情報を読み出し、読み出したパラメータ情報に基づいて、モータ6に所望の動作をさせる指令情報を生成する。生成された指令情報は、駆動信号出力部54へ送信される。
パラメータ情報記憶部(メモリ)50は、各種のパラメータ情報を記憶する。具体的にはポイントパラメータ及びシステムパラメータという後述する2種類のパラメータを記憶する。なお、パラメータ情報記憶部(メモリ)50は、EEPROMのような不揮発性メモリであっても良いし、RAMのような揮発性メモリであっても良い。モータドライバ5にポイントパラメータが1ポイント分しかない場合(直値移動指令の場合)、モータ6を動作させる都度、拡張ユニット3からモータドライバ5へパラメータ情報が送信される。したがって、ポイント番号によりパラメータ情報を特定する必要がないので、パラメータ番号を送信することなくモータ6に所望の動作をさせることができる。
ポイントパラメータとは、一連の動作ごとにポイント番号を付しておき、制御プログラム(ラダープログラム)でポイント番号を指定することによりモータ6に所望の動作をさせるためのパラメータである。図5は、本発明の実施の形態に係るモータドライバ5のポイントパラメータの説明図である。
図5では、縦軸がモータ6の移動速度V(パルス/秒)を、横軸が経過時間t(秒)を、それぞれ示しており、モータ6の一連の動作を例示している。したがって、ハッチング部分が、モータ6の総移動距離(パルス)となる。図5の例では、まずモータ6は頂点T1から動作を開始する。したがって、ハッチング部分の頂点T1では、モータ6の初速、例えば50パルス/秒等の値がポイントパラメータとしてポイント番号に対応付けられて記憶されている。
同様に頂点T2では、モータ6の初速、モータ6の目標速度V0、例えば100パルス/秒等の値、及びモータ6の加速レート、例えば10パルス/秒2 等の値がポイントパラメータとしてポイント番号に対応付けられて記憶されている。頂点T3では、移動距離、例えば500パルス等の値がポイントパラメータとしてポイント番号に対応付けられて記憶されている。
頂点T4では、モータ6の減速レート、例えば10パルス/秒2 等の値がポイントパラメータとしてポイント番号に対応付けられて記憶されている。頂点T5では、モータ6の終速、例えば100パルス/秒等の値がポイントパラメータとしてポイント番号に対応付けられて記憶されている。頂点T6では、モータ6が完全に停止、すなわち速度、加速度ともに0(ゼロ)等の値がポイントパラメータとしてポイント番号に対応付けられて記憶されている。
これらのポイントパラメータを一のポイント番号に対応付けて記憶しておき、ポイント番号の指定を受け付けることにより、図5に示すような六角形の面積データ(ハッチング部分)に沿って移動するようにモータ6を動作させることができる。したがって、ユーザは、ポイント番号の指定を変更することにより、容易にモータ6の動作を変更することができる。
一方、システムパラメータとは、モータ6のハードウェア仕様等に基づく限界値等を指定するパラメータを意味している。例えばモータ6の運転時の電流の上限値として、最大電流値の80%を設定する。そのほか、停止電流値として、モータ6の停止状態において、不用意に動作することがないようにするための電流値を設定しても良いし、分解能としてモータ6を一回転させるのに必要なパルス数を設定しても良い。
図4に戻って、シリアル通信部53は、拡張ユニット3から、生成された通信コマンドをシリアル通信にて受信し、制御部51に転送する。操作部55は、方向キー、実行キー、ストップキー等で構成される。モータドライバ5単体でも、操作部55を介してパラメータ情報を変更することができる。表示部56は、現在設定されているパラメータ情報を表示する。
駆動信号出力部54は、指令情報生成部52で生成された指令情報を受信し、モータ6に対して駆動信号(パルス列等)又は駆動電流を供給する。モータ6は、特に形式が問われるものではなく、サーボモータであっても良いし、ステッピングモータであっても良い。
プログラム作成支援装置4は、必要に応じてプログラマブルコントローラ1とデータ通信することが可能に接続され、作成した制御プログラムをプログラマブルコントローラ1へ出力する。また、プログラム作成支援装置4は、モータドライバ5ごとに設定するパラメータ情報の入力を受け付けて、プログラマブルコントローラ1へ出力する。
図6は、本発明の実施の形態に係るプログラム作成支援システム10のプログラム作成支援装置4の構成を示すブロック図である。図6に示すように、プログラム作成支援装置4は、少なくとも制御部(CPU)41、メモリ42、ハードディスク等の記憶装置43、I/Oインタフェース44、通信インタフェース45、可搬型ディスクドライブ46及び上述したハードウェアを接続する内部バス49で構成されている。
制御部41は、内部バス49を介してプログラム作成支援装置4の上述したようなハードウェア各部と接続されており、上述したハードウェア各部の動作を制御するとともに、記憶装置43に記憶しているコンピュータプログラムに従って、種々のソフトウェア的機能を実行する。メモリ42は、SRAM、SDRAM等の揮発性メモリで構成され、コンピュータプログラムの実行時にロードモジュールが展開され、コンピュータプログラムの実行時に発生する一時的なデータ等を記憶する。
記憶装置43は、内蔵される固定型記憶装置(ハードディスク)、ROM等で構成されている。記憶装置43に記憶しているコンピュータプログラムは、例えばプログラム及びデータ等の情報を記録したDVD、CD−ROM等の可搬型記録媒体から、可搬型ディスクドライブ46によりダウンロードされ、実行時には記憶装置43からメモリ42へ展開して実行される。もちろん、通信インタフェース45を介してネットワークに接続されている外部のコンピュータからダウンロードされたコンピュータプログラムであっても良い。
I/Oインタフェース44は、キーボード47、マウス48等の入力装置と接続され、データの入力を受け付ける。また、CRTモニタ、LCD等の表示装置40と接続することにより、モータドライバ5に設定されているパラメータ情報等を表示することができ、目視で確認することができる。ユーザは、表示装置40上にて、マウス48等を操作することにより、命令語を示すシンボルとデバイスを示すシンボルとを組み合わせ、これらを梯子状に配置し、ラダー図を作成することができる。そして、制御部41が、ラダー図をプログラマブルコントローラ1が実行することが可能な形式にプログラム変換することで、制御プログラムを生成することができる。なお、プログラム変換は、プログラム作成支援装置4側で行っても良いし、プログラマブルコントローラ1側で行っても良い。
通信インタフェース45は内部バス49に接続されており、インターネット、LAN、WAN等の外部のネットワークに接続されることにより、外部のコンピュータ等とデータ送受信することが可能となっている。また、通信線を介してプログラマブルコントローラ1のCPUユニット2とデータ送受信することが可能となっている。
図7は、本発明の実施の形態に係るプログラム作成支援システム10のプログラム作成支援装置4のパラメータ情報設定画面の例示図である。図7では、ポイントパラメータの設定入力を受け付ける画面の一例を示しており、3つの軸(モータドライバ5)についてポイントパラメータの入力を、それぞれ受け付けている。
ポイント番号表示領域71に表示されているポイント番号(No.)ごとに、各軸の動作モードの入力を動作モード設定領域72にて受け付け、位置指定領域73にて目標位置(パルス)の入力を、速度指定領域74にて移動速度(Hz)の入力を、それぞれ受け付ける。
例えば軸1に着目した場合、ポイント番号「1」において、動作モードが「位置決めINC」、位置が「−1000(パルス)」、速度が「2000(Hz)」と入力を受け付けている。つまり、ポイント番号「1」については、現在の位置から相対的に1000パルス分だけ、2000Hzの速度で逆方向(マイナス方向)に動作させるためのパラメータとなっている。
同様に、ポイント番号「2」において、動作モードが「位置決めABS」、位置が「2000(パルス)」、速度が「2000(Hz)」と入力を受け付けている。つまり、ポイント番号「2」については、現在の位置から絶対位置である2000パルスの位置まで、2000Hzの速度で動作させるためのパラメータとなっている。以下、ポイント番号「3」についても同様である。また、他の軸2、3についても同様に、ユーザは位置及び速度を設定することができるようになっている。
このように、プログラム作成支援装置4においてパラメータ情報の設定入力を受け付け、パラメータ情報に従ってモータ6の動作を制御する制御プログラムを作成することにより、モータ6に所望の動作をさせることが可能となる。
図8は、本発明の実施の形態に係るプログラム作成支援システム10のプログラム作成支援装置4の制御部41の処理手順を示すフローチャートである。図8において、プログラム作成支援装置4の制御部41は、パラメータ情報の設定入力を受け付ける(ステップS801)。入力を受け付けるパラメータ情報は、上述したポイントパラメータ及びシステムパラメータである。ポイントパラメータは、図7に示すパラメータ情報設定画面から設定入力を受け付ける。
制御部41は、入力を受け付けたパラメータ情報に従って作成された、制御プログラム(ラダープログラム)の入力を受け付ける(ステップS802)。図9は、位置決め開始指令のラダープログラムの部分例示図である。
まず図9に示すラダープログラムをCPUユニット2が実行することにより、デバイスの割り当て情報が拡張ユニット3に伝達される。例えば図9の例では、デバイスDM0は、位置決め開始ポイント番号が記憶されるデバイスであること、デバイスDM10000は、ポイントパラメータが記憶されるデバイスであること、及び指令デバイスR30000は、位置決め開始指令の指令デバイスであることが、拡張ユニット3へ伝達される。
ラダープログラムに従ってデバイスDM0にポイント番号を記憶することにより、モータドライバ5が位置決め制御を行うポイント番号及びポイントパラメータを指定することができる。また、デバイスDM10000に記憶されるポイントパラメータは、図9に示すラダープログラムによって指定されても良いし、図7に示すプログラム作成支援装置4のパラメータ情報設定画面で受け付けた設定入力により指定されても良い。
指令デバイスR30000は、拡張ユニット3により常時監視されており、オン状態になったことを拡張ユニット3が検出した場合、拡張ユニット3は、デバイスDM0及びデバイスDM10000からポイント番号、ポイントパラメータを読み出して、位置決め開始指令を実行する通信コマンドを生成する。また、モータ6を動作させるタイミングで指令デバイスR1000がオン状態となるよう、ラダープログラムを作成する。
図9に示すラダープログラムの1行目は、指令デバイスR1000がオン状態となった場合に、デバイスDM0にポイント番号「1」を記憶する旨を示している。2行目は、デバイスDM10000にポイントパラメータ‘1000’を記憶する、すなわち移動先の目標位置として1000パルスを設定する旨を示している。3行目は、指令デバイスR1000がオン状態となった場合だけ、指令デバイスR30000をオン状態にする旨を示している。
なお、図9に例示したようなラダープログラムは、CPUユニット2において繰り返し実行される。
図8に戻って、プログラム作成支援装置4の制御部41は、パラメータ情報及び制御プログラム(ラダープログラム)をCPUユニット2へ送信し(ステップS803)、CPUユニット2の動作モードを「設定モード」から「実行モード(通常運転モード、RUNモード)」に変更する(ステップS804)。CPUユニット2の制御部21は、受信したパラメータ情報及び制御プログラムを記憶するとともに(情報記憶部212)、制御プログラムを実行する(制御プログラム実行部213)。つまり、プログラマブルコントローラ1は、制御プログラムやパラメータ情報をプログラム作成支援装置4から入力を受け付けるための「設定モード」と、CPUユニット2において制御プログラムが所定の周期で繰り返し実行される「運転モード」とを切り換えるモード切替手段を備えている。
例えば図9に示す制御プログラムを実行した場合、ポイント番号及びポイントパラメータのデバイス値が変更され、位置決め開始指令の指令デバイスがオン状態となる。もちろん、ポイント番号及びポイントパラメータを変更する必要がない場合には、位置決め開始指令の指令デバイスをオン状態にするだけで良い。拡張ユニット3は、CPUユニット2の位置決め開始指令の指令デバイスがオン状態であることを検出した時点でモータドライバ5へのパラメータ情報の書き込みを開始する。パラメータ書込指令の処理手順については後述する。
以下、図9に示す制御プログラムのように、モータドライバ5に対する指令として位置決め開始指令が出される場合を一例として、処理手順について詳細に説明する。図10は、本発明の実施の形態に係るプログラム作成支援システム10の拡張ユニット3の制御部31の処理手順を示すフローチャートである。
図10において、拡張ユニット3の制御部31は、CPUユニット2のデバイスを常時監視し(ステップS1001)、位置決め開始指令の指令デバイス(以下、位置決め開始指令デバイス)がオン状態であるか否かを判断する(ステップS1002)。制御部31が、位置決め開始指令デバイスがオフ状態であると判断した場合(ステップS1002:NO)、制御部31は、処理待ち状態となる。
制御部31が、位置決め開始指令デバイスがオン状態であると判断した場合(ステップS1002:YES)、制御部31は、ポイント番号及びポイントパラメータ(パラメータ情報)をCPUユニット2から取得し(ステップS1003)、取得したパラメータ情報をモータドライバ5へ書き込む(ステップS1004)。
パラメータ情報のモータドライバ5への書き込みは、取得したパラメータ情報全体を書き込むことで更新しても良いし、変更された部分のみ(差分)を抽出して書き込むことで更新するようにしても良い。差分を抽出する場合、モータドライバ5のメモリ50に記憶されているパラメータ情報と拡張ユニット3のメモリ30に記憶されているパラメータ情報とを同期させた後、変更された部分を差分パラメータとして抽出する。
モータドライバ5のメモリ50に記憶されているパラメータ情報と拡張ユニット3のメモリ30に記憶されているパラメータ情報とを同期させる方法は、特に限定されるものではない。例えば、拡張ユニット3のメモリ30に記憶されているパラメータ情報のすべてをモータドライバ5のメモリ50へ書き込んでも良いし、モータドライバ5のメモリ50に記憶されているパラメータ情報のすべてを拡張ユニット3が読み出しても良い。
また、同期するタイミングとしては、電源投入後、拡張ユニット3とモータドライバ5とが最初に通信するタイミング、通信異常が発生したタイミング、パラメータ値が許容範囲外等であったことによりモータドライバ5から異常応答が返ってきたタイミング、モータドライバ5が再起動されたタイミング等が考えられる。以下、同期された後の処理手順として、パラメータ情報の差分のみを書き込む手順について説明する。
図11は、本発明の実施の形態に係るプログラム作成支援システム10の拡張ユニット3の制御部31のパラメータ情報の書込処理の手順を示すフローチャートである。拡張ユニット3の制御部31は、パラメータ情報をCPUユニット2のデバイスから読み出し(取得し)(ステップS1003)、読み出した(取得した)パラメータ情報が、メモリ30に記憶されているパラメータ情報と同一であるか否かを判断する(ステップS1101)。なお、同一であるか否かは、全てのパラメータ情報を総当たりで比較しても良いし、カテゴリごとにパラメータ情報を比較しても良い。
制御部31が、CPUユニット2から読み出した(取得した)パラメータ情報が、メモリ30に記憶されているパラメータ情報と同一であると判断した場合(ステップS1101:YES)、制御部31は、以下の処理をスキップして図10のステップS1005へ処理を進ませる。制御部31が、CPUユニット2から読み出したパラメータ情報が、メモリ30に記憶されているパラメータ情報と同一ではないと判断した場合(ステップS1101:NO)、制御部31は、CPUユニット2から読み出したパラメータ情報と、メモリ30に記憶されているモータドライバ5のパラメータ情報との間の差分パラメータ(差分)を抽出する(ステップS1102)。
制御部31は、抽出した差分パラメータをモータドライバ5へ書き込むパラメータ書込指令(通信コマンド)を生成し(ステップS1103)、生成したパラメータ書込指令をモータドライバ5へ送信する(ステップS1104)。制御部31は、CPUユニット2から読み出したパラメータ情報を、新たなパラメータ情報として拡張ユニット3のメモリ30に記憶する(ステップS1105)。
なお、CPUユニット2から読み出したパラメータ情報を、新たなパラメータ情報として拡張ユニット3のメモリ30に記憶するタイミングは、CPUユニット2から読み出した後であれば、特に限定されるものではなく、差分パラメータを抽出する前であっても良い。CPUユニット2から読み出したパラメータ情報を、新たなパラメータ情報として拡張ユニット3のメモリ30に記憶することにより、モータドライバ5のメモリ50に記憶されているパラメータ情報と拡張ユニット3のメモリ30に記憶されているパラメータ情報とを確実に同期させることができ、差分パラメータ送信時にモータドライバ5のメモリ50に記憶されているパラメータ情報を読み出す必要がなくなる。
図10に戻って、拡張ユニット3の制御部31は、位置決め開始指令(通信コマンド)を生成して(ステップS1005)、生成した位置決め開始指令をモータドライバ5へ送信する(ステップS1006)。位置決め開始指令を受信したモータドライバ5は、メモリ50に記憶されているパラメータ情報に従って、モータ6の動作制御を開始する。
なお、拡張ユニット3とモータドライバ5との間には様々な種類の通信コマンドが用いられるが、実行されるそれぞれの通信コマンドに優先度を設定しておくことが好ましい。同時に複数の通信コマンドが送信される場合も生じ得るからである。
図12は、通信コマンドの種類及びその優先度の例示図である。図12の例に示すように、拡張ユニット3で生成される通信コマンドの種類別に、通信の優先度が設定されている。例えば、モータドライバ5のメモリ50に記憶されているパラメータ情報を拡張ユニット3へ読み出すモニタ指令は、他の通信コマンドのいずれよりも優先度を低く設定してある。また、モータ6を停止する指令である停止指令は、他の通信コマンドのいずれよりも優先度を高く設定してある。
以下、パラメータ書込指令及び位置決め開始指令を例に挙げて、通信コマンドのスケジューリング処理の手順を説明する。図13は、本発明の実施の形態に係るプログラム作成支援システム10の拡張ユニット3の制御部31のパラメータ書込指令のスケジューリング処理の手順を示すフローチャートである。
拡張ユニット3の制御部31は、通信中の通信コマンドが存在するか否かを判断する(ステップS1301)。制御部31が、通信中の通信コマンドが存在すると判断した場合(ステップS1301:YES)、制御部31は、処理待ち状態となる。制御部31が、通信中のコマンドが存在しないと判断した場合(ステップS1301:NO)、制御部31は、通信を保留中の通信コマンドが存在するか否かを判断する(ステップS1302)。
制御部31が、保留中の通信コマンドが存在しないと判断した場合(ステップS1302:NO)、制御部31は、処理をステップS1301に戻して上述した処理を繰り返す。制御部31が、保留中の通信コマンドが存在すると判断した場合(ステップS1302:YES)、制御部31は、保留中の通信コマンドはパラメータ書込指令より優先度が低いか否かを判断する(ステップS1303)。
制御部31が、保留中の通信コマンドがパラメータ書込指令より優先度が高いと判断した場合(ステップS1303:NO)、制御部31は、処理をステップS1301に戻して上述した処理を繰り返す。制御部31が、保留中の通信コマンドがパラメータ書込指令より優先度が低いと判断した場合(ステップS1303:YES)、制御部31は、モータドライバ5にパラメータ書込指令を送信する(ステップS1304)。
図14は、本発明の実施の形態に係るプログラム作成支援システム10の拡張ユニット3の制御部31の位置決め開始指令のスケジューリング処理の手順を示すフローチャートである。
拡張ユニット3の制御部31は、通信中のコマンドが存在するか否かを判断する(ステップS1401)。制御部31が、通信中のコマンドが存在すると判断した場合(ステップS1401:YES)、制御部31は、処理待ち状態となる。制御部31が、通信中のコマンドが存在しないと判断した場合(ステップS1401:NO)、制御部31は、実行を保留中の通信コマンドが存在するか否かを判断する(ステップS1402)。
制御部31が、保留中の通信コマンドが存在しないと判断した場合(ステップS1402:NO)、制御部31は、処理をステップS1401に戻して上述した処理を繰り返す。制御部31が、保留中の通信コマンドが存在すると判断した場合(ステップS1402:YES)、制御部31は、保留中の通信コマンドが位置決め開始指令より優先度が低いか否かを判断する(ステップS1403)。
制御部31が、保留中の通信コマンドが位置決め開始指令より優先度が高いと判断した場合(ステップS1403:NO)、制御部31は、処理をステップS1401に戻して上述した処理を繰り返す。制御部31が、保留中の通信コマンドが位置決め開始指令より優先度が低いと判断した場合(ステップS1403:YES)、制御部31は、モータドライバ5に位置決め開始指令を送信する(ステップS1404)。
以上のように、本実施の形態によれば、CPUユニット2に記憶されているデバイス情報202から指令デバイスがオン状態であることを検出した時点で、記憶されているパラメータ情報に基づいて指令を実行する通信コマンドを生成してモータドライバ5に対して送信するので、指令デバイスをオン/オフする簡易なラダープログラムで、モータドライバ5のパラメータ情報を変更することができ、シリアル通信プロトコルについて熟練を要することなく、容易にモータ6に所望の動作をさせることが可能となる。
なお、本発明は上記実施例に限定されるものではなく、本発明の趣旨の範囲内であれば多種の変更、改良等が可能である。例えば上述した実施例では、通信コマンドとしてパラメータ書込指令、位置決め開始指令等について詳述しているが、特にこれらに限定されるものではなく、また動作の制御対象もモータ6に限定されるものではなく、プログラマブルコントローラ1を用いるあらゆるシステムに適用することが可能であることは言うまでもない。
1 プログラマブルコントローラ
2 CPUユニット
3 拡張ユニット
4 プログラム作成支援装置
5 モータドライバ
6 モータ
10 プログラム作成支援システム
20、30、42、50 メモリ
21、31、41、51 制御部

Claims (8)

  1. ネットワークに接続された少なくとも一のモータドライバの機能又は動作を設定するパラメータ情報を変更するプログラマブルコントローラにおいて、
    前記プログラマブルコントローラを制御するために所定の周期で繰り返し実行される制御プログラム、及び前記モータドライバが駆動するモータに所望の動作をさせるパラメータ情報の入力を受け付ける入力受付部と、
    入力を受け付けた制御プログラム及びパラメータ情報、並びに前記制御プログラムで認識することが可能なメモリ領域に割り当てられた領域であるデバイスに記憶される、前記モータドライバに対して指令を実行するか否かを示す指令デバイスのオンオフに関する情報を含むデバイス情報を記憶する情報記憶部と、
    記憶された制御プログラムを実行する制御プログラム実行部と、
    前記制御プログラムの実行中に前記デバイス情報が記憶されているデバイスを監視し、前記指令デバイスがオン状態であることを検出する指令検出部と、
    前記指令デバイスがオン状態であることが検出された場合、記憶されているパラメータ情報に基づいて、少なくとも前記モータドライバに対するパラメータ設定指令を含む、前記指令デバイスに対応する指令を実行する通信コマンドを生成する通信コマンド生成部と、
    生成された通信コマンドを前記モータドライバへ送信する通信コマンド送信部と
    を備えることを特徴とするプログラマブルコントローラ。
  2. CPUユニットと、
    該CPUユニットとデータ通信することが可能に接続された一又は複数の拡張ユニットと
    で構成されており、
    前記CPUユニットは、前記入力受付部、前記情報記憶部及び前記制御プログラム実行部を備え、
    前記拡張ユニットは、前記指令検出部、前記通信コマンド生成部及び前記通信コマンド送信部を備えることを特徴とする請求項1に記載のプログラマブルコントローラ。
  3. 前記CPUユニットの前記情報記憶部は、所定の前記デバイスに記憶されている前記パラメータ情報を記憶し、
    前記拡張ユニットの前記通信コマンド生成部は、所定の前記デバイスに記憶されているパラメータ情報を読み出し、読み出したパラメータ情報に基づいて前記通信コマンドを生成することを特徴とする請求項2に記載のプログラマブルコントローラ。
  4. 前記指令検出部は、さらに、前記モータドライバに対する動作開始指令の指令デバイスがオン状態であることを検出し、
    前記通信コマンド生成部は、前記パラメータ情報の前記モータドライバへの書込指令を実行させる第1の通信コマンド、及び前記モータの動作指令を実行させる第2の通信コマンドを生成することを特徴とする請求項2又は3に記載のプログラマブルコントローラ。
  5. 前記通信コマンド生成部は、前記拡張ユニットが前記モータドライバの現在の状態に関する情報を読み出す第3の通信コマンドを生成し、
    前記通信コマンド送信部は、前記第1の通信コマンド又は前記第2の通信コマンドを前記第3の通信コマンドよりも優先して送信することを特徴とする請求項4に記載のプログラマブルコントローラ。
  6. 前記CPUユニットのデバイスから読み出したパラメータ情報と、前記拡張ユニットに読み出して記憶されている前記モータドライバのパラメータ情報との間に差分が存在するか否かを判断し、
    差分が存在すると判断した場合、前記拡張ユニットは、差分のみを前記モータドライバに書き込み、前記CPUユニットのデバイスから読み出したパラメータ情報を記憶することを特徴とする請求項乃至5のいずれか一項に記載のプログラマブルコントローラ。
  7. モータを駆動するモータドライバが接続されるプログラマブルコントローラと、
    該プログラマブルコントローラとデータ通信することが可能に接続されたプログラム作成支援装置と
    を有するプログラム作成支援システムにおいて、
    前記プログラム作成支援装置は、
    ユーザ操作に基づいて、前記プログラマブルコントローラを制御するために所定の周期で繰り返し実行される制御プログラム及び前記モータドライバが駆動するモータに所望の動作をさせるパラメータ情報の入力を受け付ける手段と、
    前記制御プログラムで認識することが可能なメモリ領域に割り当てられた領域であるデバイスであって、前記モータドライバに対して指令を実行するか否かを示す指令デバイスの指定を受け付ける手段と、
    入力を受け付けた前記制御プログラム及び前記パラメータ情報を前記プログラマブルコントローラへ送信する手段と
    を備え、
    前記プログラマブルコントローラは、
    前記制御プログラム及び前記パラメータ情報の入力を受け付ける入力受付部と、
    入力を受け付けた制御プログラム及びパラメータ情報、並びに前記指令デバイスのオンオフに関する情報を含むデバイス情報を記憶する情報記憶部と、
    記憶された制御プログラムを実行する制御プログラム実行部と、
    前記制御プログラムの実行中に前記デバイス情報が記憶されているデバイスを監視し、前記指令デバイスがオン状態であることを検出する指令検出部と、
    前記指令デバイスがオン状態であることが検出された場合、記憶されているパラメータ情報に基づいて、少なくとも前記モータドライバに対するパラメータ設定指令を含む、前記指令デバイスに対応する指令を実行する通信コマンドを生成する通信コマンド生成部と、
    生成された通信コマンドを前記モータドライバへ送信する通信コマンド送信部と
    を備えることを特徴とするプログラム作成支援システム。
  8. ネットワークに接続された少なくとも一のモータドライバの機能又は動作を設定するパラメータ情報を変更するプログラマブルコントローラに含まれており、所定の周期で制御プログラムを繰り返し実行するCPUユニットとデータ通信することが可能に接続された一又は複数の拡張ユニットにおいて、
    前記CPUユニットには、前記制御プログラムで認識することが可能なメモリ領域に割り当てられた領域であるデバイスに記憶される、前記モータドライバに対して指令を実行するか否かを示す指令デバイスのオンオフに関する情報を含むデバイス情報が記憶されており、
    前記CPUユニットによる前記制御プログラムの実行中に前記デバイス情報が記憶されているデバイスを監視し、前記指令デバイスがオン状態であることを検出する指令検出部と、
    前記指令デバイスがオン状態であることが検出された場合、前記CPUユニットの前記メモリ領域に記憶されているパラメータ情報に基づいて、少なくとも前記モータドライバに対するパラメータ設定指令を含む、前記指令デバイスに対応する指令を実行する通信コマンドを生成する通信コマンド生成部と、
    生成された通信コマンドを前記モータドライバへ送信する通信コマンド送信部と
    を備えることを特徴とする拡張ユニット。
JP2013224948A 2013-10-30 2013-10-30 プログラマブルコントローラ、拡張ユニット及びプログラム作成支援システム Active JP6215003B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013224948A JP6215003B2 (ja) 2013-10-30 2013-10-30 プログラマブルコントローラ、拡張ユニット及びプログラム作成支援システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013224948A JP6215003B2 (ja) 2013-10-30 2013-10-30 プログラマブルコントローラ、拡張ユニット及びプログラム作成支援システム

Publications (2)

Publication Number Publication Date
JP2015087897A JP2015087897A (ja) 2015-05-07
JP6215003B2 true JP6215003B2 (ja) 2017-10-18

Family

ID=53050641

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013224948A Active JP6215003B2 (ja) 2013-10-30 2013-10-30 プログラマブルコントローラ、拡張ユニット及びプログラム作成支援システム

Country Status (1)

Country Link
JP (1) JP6215003B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102132857B1 (ko) * 2018-05-03 2020-07-10 엘에스일렉트릭(주) Plc의 모터 구동 제어 방법
JP7172397B2 (ja) * 2018-10-02 2022-11-16 オムロン株式会社 制御システム、サポート装置およびプログラム
JPWO2020166004A1 (ja) * 2019-02-14 2021-02-18 三菱電機株式会社 制御システム、プログラマブルロジックコントローラ、方法、及びプログラム
TW202139584A (zh) * 2020-03-31 2021-10-16 日商住友重機械工業股份有限公司 操作面板、控制機器及操作面板之更換方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002014707A (ja) * 2000-06-28 2002-01-18 Omron Corp I/oユニット及びプログラマブルコントローラ
JP3852572B2 (ja) * 2001-11-12 2006-11-29 松下電工株式会社 プログラマブルコントローラ
JP2004265060A (ja) * 2003-02-28 2004-09-24 Denso Corp プログラマブル・ロジック制御装置及び制御方法
TWI325031B (en) * 2007-04-20 2010-05-21 All Fine Technology Co Ltd Servo motor conntrol method and apparatus using the same

Also Published As

Publication number Publication date
JP2015087897A (ja) 2015-05-07

Similar Documents

Publication Publication Date Title
JP6215003B2 (ja) プログラマブルコントローラ、拡張ユニット及びプログラム作成支援システム
US11301294B2 (en) Control device, control method, and control program
JP6406466B1 (ja) 制御装置、制御方法および制御プログラム
JP2016117148A (ja) ロボット保守支援装置および方法
CN106547252B (zh) 能够在注释中追加显示cnc运行状况的梯形图监控装置
JP7310465B2 (ja) 同期制御装置、同期制御システム、同期制御方法、及びシミュレーション装置
JP2016110458A (ja) プログラマブル・ロジック・コントローラ、基本ユニット、制御方法およびプログラム
TWI465868B (zh) 次序程式設計支援裝置
JP2018055583A (ja) 制御装置、制御方法およびプログラム
JP5994848B2 (ja) タイムチャート作成装置、コントローラ、機械要素制御システム、タイムチャート作成方法、プログラム及び情報記憶媒体
JP2009122852A (ja) パステーブル運転時の運転履歴を記憶する数値制御装置
US11855907B2 (en) Robot control system and control method
WO2018070041A1 (ja) シミュレーション装置
JP5962839B2 (ja) コントローラ、タイムチャート作成装置、コンピュータプログラム及びコンピュータ可読情報記憶媒体
JPWO2014118918A1 (ja) 数値制御装置
JP7077848B2 (ja) 制御装置
JP5148021B1 (ja) 変換装置、周辺装置およびプログラマブルコントローラ
JP2017164833A (ja) マニピュレータ装置の制御装置、マニピュレータ装置の制御方法及びマニピュレータ装置の制御プログラム
JP5466902B2 (ja) プログラマブル表示器
JP2021002113A (ja) 制御装置
JP6173645B1 (ja) デジタルアナログ変換装置、制御装置、及び制御システム
JP2020086831A (ja) 制御システム、制御方法、ドライブ装置
JP2012208932A (ja) Plcシステム、状態表示方法、plc、およびプログラマブル表示器
JP4379711B2 (ja) プログラマブルコントローラ用機器
JP7375632B2 (ja) 制御システムおよびサポート装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160909

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170613

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170718

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170823

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20170905

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170920

R150 Certificate of patent or registration of utility model

Ref document number: 6215003

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250