説明

コントローラ、ローラコンベア装置、ローラコンベア装置の制御方法、ならびにプログラム作成支援プログラム

【課題】構成部品の削減が可能であり、制御方法の自由度を向上可能なコントローラ、ローラコンベア装置、ローラコンベア装置の制御方法、ならびにプログラム作成支援プログラムを提供する。
【解決手段】モータを有したローラコンベア装置を、制御可能なコントローラであって、モータ制御基板を有し、モータ制御基板は、ロジック内蔵ドライバ14と、書き換え可能なメモリ16と、CPU16とを有する。CPU16と、書き換え可能なメモリ16とを有したモータ制御基板は、略コンピュータである。よって、PLC等の外部の制御装置、ならびにPLCを収納する制御盤を削減できる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明はコントローラ、ローラコンベア装置、ローラコンベア装置の制御方法、ならびにプログラム作成支援プログラムに関し、さらに詳細には、構成部品の削減が可能であり、制御方法の自由度を向上可能なコントローラ、ローラコンベア装置、ローラコンベア装置の制御方法、ならびにプログラム作成支援プログラムに関する。
【背景技術】
【0002】
工場や物流倉庫では、容易に荷物を搬送するため、ローラコンベア装置が利用されている。ローラコンベア装置には、複数のローラが設けられており、その内のいくつかには、モータを内蔵したローラ(以下、モータ内蔵ローラと称する)が設けられることもある。特許文献1には、複数の制御ゾーンに区分されたローラコンベア装置が開示されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2005−231745号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
特許文献1に開示されたローラコンベア装置は、PLC(プログラマブル・ロジック・コントローラ)とコントローラで制御されている。
PLCは、複数のコントローラの統括制御が可能である。また、PLCは、ローラコンベア装置において、分岐点等での複雑な搬送制御に用いられている。PLCは、制御盤に組み込んで使用されることが多く、ローラコンベア装置の近傍に配置すると、邪魔になることがある。さらに、前記制御盤と、ローラコンベア装置とは、配線で接続する必要があり、配線工事が手間である。
また、特許文献1に開示されたローラコンベア装置では、各制御ゾーンにコントローラが設けられている。コントローラは、数種類の搬送ロジック(定型の搬送プログラム)を内蔵している。例えば、各コントローラ同士を数珠つなぎに接続することにより、連携制御が可能である。このことにより、ゼロプレッシャ蓄積制御(ZPA制御)と呼ばれる、搬送物同士の衝突を回避可能な制御もできる。ところが、従来技術のコントローラは、数種類の搬送ロジックしか内蔵していないため、制御方法の自由度に制限があった。
【0005】
上記した現状に鑑み、本発明は、構成部品の削減が可能であり、制御方法の自由度を向上可能なコントローラ、ローラコンベア装置、ローラコンベア装置の制御方法、ならびにプログラム作成支援プログラムの提供を目的とする。
【課題を解決するための手段】
【0006】
上記課題を解決するための請求項1に記載の発明は、モータを有したローラコンベア装置を、制御可能なコントローラであって、モータ制御基板を有し、モータ制御基板は、モータ駆動回路と、書き換え可能なメモリと、CPUとを有することを特徴とするコントローラである。
【0007】
CPUと、書き換え可能なメモリとを有したモータ制御基板は、略コンピュータである。よって、PLC等の外部の制御装置、ならびにPLCを収納する制御盤を削減できる。また、書き換え可能なメモリを用いて、プログラムの変更が可能である。本発明のコントローラによれば、構成部品の削減が可能であり、制御方法の自由度を向上できる。
【0008】
請求項2に記載の発明は、モータ制御基板は、複数のモータ駆動回路を有することを特徴とする請求項1に記載のコントローラである。
【0009】
1枚のモータ制御基板に、複数のモータ駆動回路を備えることで、モータ制御基板の数量を減らすことができる。本発明のコントローラによれば、構成部品の削減が可能である。
【0010】
請求項3に記載の発明は、プログラマブル・ロジックを有することを特徴とする請求項1又は2に記載のコントローラである。
【0011】
プログラマブル・ロジックは、任意の論理回路の作成および消去が可能である。本発明のコントローラによれば、制御方法の自由度を向上できる。
【0012】
請求項4に記載の発明は、複数の検知手段からの信号を受信可能な入出力回路を有することを特徴とする請求項1乃至3のいずれかに記載のコントローラである。
【0013】
複数の検知手段は、搬送物を検知可能なセンサであることが望ましい。本発明のコントローラによれば、制御方法の自由度をより向上できる。
【0014】
請求項5に記載の発明は、通信回路を有することを特徴とする請求項1乃至4のいずれかに記載のコントローラである。
【0015】
通信回路は、他のコントローラ等と通信可能な回路であることが望ましい。本発明のコントローラによれば、制御方法の自由度をさらに向上できる。
【0016】
請求項6に記載の発明は、請求項1乃至5のいずれかに記載のコントローラを有し、対象物を搬送可能なローラコンベア装置であって、対象物を電子符号で識別可能な識別手段を有することを特徴とするローラコンベア装置である。
【0017】
対象物を電子符号で識別可能な識別手段とは、例えばバーコードリーダを備えたコンピュータであることが望ましい。電子符号化された対象物の情報は、様々な制御に活用できる。本発明のローラコンベア装置によれば、制御方法の自由度を向上できる。
【0018】
請求項7に記載の発明は、前記コントローラを複数有し、コントローラ同士は通信線で接続されていることを特徴とする請求項6に記載のローラコンベア装置である。
【0019】
コントローラ同士で制御情報を送受信できる。本発明のローラコンベア装置によれば、制御方法の自由度を高度に向上できる。
【0020】
請求項8に記載の発明は、請求項6又は7に記載のローラコンベア装置の制御方法であって、前記識別手段で対象物に電子符号を付し、電子符号を、対象物が到着するよりも前にコントローラで受信することを特徴とするローラコンベア装置の制御方法である。
【0021】
電子符号を、対象物が到着するよりも前にコントローラで受信することにより、対象物を止めることなく、順次搬送することができる。本発明のローラコンベア装置の制御方法によれば、遅延の少ない搬送ラインを構築できる。
【0022】
請求項9に記載の発明は、受信した電子符号を、他のコントローラに発信し、電子符号を複数のコントローラで共有することを特徴とする請求項8に記載のローラコンベア装置の制御方法である。
【0023】
電子符号を複数のコントローラで共有することにより、複雑な搬送ラインを構築できる。また、例えば、通信線で接続されたコンピュータで搬送物の流れを監視することも可能である。本発明のローラコンベア装置の制御方法によれば、制御方法の自由度をより高度に向上できる。
【0024】
請求項10に記載の発明は、請求項1乃至5のいずれかに記載のコントローラに内蔵されるプログラムを、コンピュータで作成するためのプログラム作成支援プログラムにおいて、一連の動作の名称を入力する名称項目と、動作が実行される条件を入力する条件項目と、動作の内容を入力する動作項目と、一連の動作に続く動作の名称を入力する次工程項目とを入力可能であり、一つの条件項目と一つの動作項目とが一対の条件動作対として処理されると共に、前記条件動作対が1又は複数の次工程項目と一つの名称項目とに関連付けてプログラムテーブルを構成することを特徴とするプログラム作成支援プログラムである。
【0025】
プログラムテーブルに、名称項目と、条件項目と、動作項目と、次工程項目とを入力すると、コントローラに内蔵されるプログラムが、コンピュータによって自動作成される。すなわち、一般的なプログラム言語を用いることなく、コントローラに内蔵されるプログラムを自動作成可能である。本発明のプログラム作成支援プログラムによれば、ユーザの利用に好適である。
【0026】
請求項11に記載の発明は、一つの前記名称項目に対して、複数の条件動作対を関連付けることが可能であることを特徴とする請求項10に記載のプログラム作成支援プログラムである。
【0027】
複数の条件動作対が一つの前記名称項目に関連付けられることにより、複数の条件動作対を、一つの名称のプログラムとして、条件分けを行うことが可能である。本発明のプログラム作成支援プログラムによれば、ユーザの利用により好適である。
【0028】
請求項12に記載の発明は、プログラムテーブルには、前記名称項目に対応する主番号列と、条件動作対に対応する副番号列とがあることを特徴とする請求項10又は11に記載のプログラム作成支援プログラムである。
【0029】
前記名称項目に対応する主番号列は、一つの名称のプログラムに一つの主番号を付けるものである。条件動作対に対応する副番号列は、一つの主番号のプログラム内に格納されている条件動作対に番号を付けるものである。このことにより、一つの名称のプログラム内に、複数のプログラムを設けることができる。本発明のプログラム作成支援プログラムによれば、ユーザの利用にさらに好適である。
【0030】
請求項13に記載の発明は、プログラムテーブルを、コンピュータの表示画面に表状又は表の一部として表示する表示プログラムを有することを特徴とする請求項10乃至12のいずれかに記載のプログラム作成支援プログラムである。
【0031】
プログラムテーブルを、表状又は表の一部として、コンピュータの表示画面で見ることができるので、プログラムの修正や見直しが容易である。本発明のプログラム作成支援プログラムによれば、デバッグが容易である。また、制御動作を把握し易い。
【0032】
請求項14に記載の発明は、複数の条件項目とそれに対応するそれぞれのプログラムが関連付けられた条件項目データテーブルと、複数の動作項目とそれに対応するそれぞれのプログラムが関連付けられた動作項目データテーブルとを有し、前記条件項目データテーブルと動作項目データテーブルから所望の項目を選択して入力し、プログラムテーブルを構成することが可能であることを特徴とする請求項10乃至13のいずれかに記載のプログラム作成支援プログラムである。
【0033】
条件項目データテーブルとは、例えば、センサやタイマーのON/OFF確認、モータのエラー確認等、確認や判断内容を決める条件命令が格納されたものである。また、動作項目データテーブルとは、例えば、モータやタイマーのON/OFF等、制御動作の実行命令が格納されたものである。すなわち、前記データテーブルから、任意の項目をユーザが選択するだけで、所望のプログラムを自動作成可能である。本発明のプログラム作成支援プログラムによれば、制御方法の自由度を向上できる。
【発明の効果】
【0034】
本発明のコントローラによれば、構成部品の削減が可能であり、制御方法の自由度を向上できる。また、本発明のローラコンベア装置、ローラコンベア装置の制御方法、ならびにプログラム作成支援プログラムによれば、制御方法の自由度を向上できる。
【図面の簡単な説明】
【0035】
【図1】本発明の実施形態に係るコントローラを示す正面図である。
【図2】図1のコントローラの回路構成を示すブロック図である。
【図3】本発明の実施形態に係るローラコンベア装置を示す平面図である。
【図4】図3の直線搬送装置を示す平面図である。
【図5】図3の直角移載装置を示す平面図である。
【図6】直角移載装置の一部を示す正面図である。
【図7】本発明の実施形態に係るプログラム作成支援プログラムの動作環境を示す概念図である。
【図8】図7のプログラム作成支援プログラムのプログラムテーブルが表示された表示装置の一部を示す正面図である。
【図9】プログラムテーブルを用いた直線搬送装置のプログラム(No.0〜7)が表示された表示装置の一部を示す正面図である。
【図10】プログラムテーブルを用いた直線搬送装置のプログラム(No.8〜14)が表示された表示装置の一部を示す正面図である。
【図11】プログラムテーブルを用いた直線搬送装置のプログラム(No.15〜19)が表示された表示装置の一部を示す正面図である。
【図12】図9〜11の直線搬送装置の直線主搬送プログラムの動作を示すフローチャートである。
【図13】直角移載装置の直角主搬送プログラムの動作を示すフローチャートである。
【図14】直角移載装置の直角分岐搬送プログラムの動作を示すフローチャートである。
【図15】本発明の実施形態に係るローラコンベア装置の動作を示す概念図であり、(a)〜(d)は搬送物の直線搬送状態を示す。
【図16】本発明の実施形態に係るローラコンベア装置の動作を示す概念図であり、(a)〜(c)は直角移載装置の搬送状態を示す。
【図17】本発明の実施形態に係るプログラム作成支援プログラムの条件項目データテーブル、動作項目データテーブル等を示す表(第1表)である。
【図18】本発明の実施形態に係るプログラム作成支援プログラムの条件項目データテーブル、動作項目データテーブル等を示す表(第1表のつづき)である。
【図19】本発明の実施形態に係るプログラム作成支援プログラムの条件項目データテーブル、動作項目データテーブル等を示す表(第1表のつづき)である。
【図20】本発明の実施形態に係るプログラム作成支援プログラムの条件項目データテーブル、動作項目データテーブル等を示す表(第1表のつづき)である。
【発明を実施するための形態】
【0036】
以下は、本発明のコントローラ、ローラコンベア装置、ローラコンベア装置の制御方法、ならびにプログラム作成支援プログラムの実施形態について、図面を参照しながら詳細に説明する。なお、以下の説明は、実施形態の理解を容易にするためのものであり、これによって、本発明が制限して理解されるべきではない。また、公知のものについては、説明を省略する。
【0037】
図3において、ローラコンベア装置20の左右方向を「主搬送方向」とし、ローラコンベア装置20の左右方向に直交する方向を「分岐方向」とする。
【0038】
コントローラ1は、後述するローラコンベア装置20を制御するための制御機器である。コントローラ1は、複数の電子部品を有している。
図1に示すように、コントローラ1は、長方形のプリント基板2(モータ制御基板)を有している。プリント基板2の両面の略全体は、絶縁材料で覆われており、保護されている。プリント基板2は、モータコネクタ3a〜3dと、センサコネクタ4a〜4eと、通信コネクタ5a,5bと、電源コネクタ6とを有している。
モータコネクタ3a〜3dは、基板2とモータを接続するための端子である。
センサコネクタ4a〜4eは、基板2とセンサを接続するための端子である。
通信コネクタ5a,5bは、複数のコントローラ1同士を接続するための端子である。
電源コネクタ6は、基板2に電源を供給するための端子である。
【0039】
図2のブロック図に示すように、コントローラ1は、I/O回路11と、通信回路12と、ロジック内蔵ドライバ14(モータ駆動回路)と、マイクロコンピュータ15(CPU)と、メモリ16(書き換え可能なメモリ)とを有している。
I/O回路11は、外部装置と入出力信号をやり取りするための回路である。I/O回路11は、センサコネクタ4a〜4eに接続されている。
通信回路12は、他のコントローラと通信が可能な回路である。通信回路12は、CANopen規格に準拠している。通信回路12は、通信コネクタ5a,5bに接続されている。
【0040】
モータドライバ14は、モータ駆動回路である。モータドライバ14は、図示しないプログラマブル・ロジック17を有している。モータドライバ14は、各々モータコネクタ3a〜3dに接続されている。なお、モータドライバ14は、PWM(パルス幅変調)制御が可能であることが望ましい。
マイクロコンピュータ15(CPU)は、プログラムの演算処理が可能な装置である。マイクロコンピュータ15(CPU)は、図示しないRAM(メインメモリ)を有している。
メモリ16は、書き換え可能な記憶装置であり、プログラムやデータの格納が可能である。メモリ16は、電気型消去メモリ(EEPROM)や、フラッシュメモリで構成されることが望ましい。
【0041】
ローラコンベア装置20は、図3に示すように、コントローラ1(1a〜1d)と、直線搬送装置21(21a〜21c)と、直角移載装置22と、ID装置50(識別手段)と、搬送物70(対象物)とを有している。
コントローラ1は、複数配置されている。各コントローラ1は、CAN通信線53で相互に接続されており、CAN通信によるバス60(バス型ネットワーク)が構築されている。
バス60の一方の端部は、ゲートウェイ基板55に接続されている。バス60の他方の端部は、終端抵抗56に接続されている。
【0042】
ゲートウェイ基板55は、プロトコルコンバータと呼ばれる変換装置である。ゲートウェイ基板55は、通信プロトコルが相違するネットワーク同士を接続可能である。ゲートウェイ基板55は、通信線53でID装置50(識別手段)に接続されている。なお、ゲートウェイ基板55とID装置50(識別手段)とは、イーサネット(富士ゼロックス株式会社の登録商標)規格で通信が行われる。
ID装置50(識別手段)は、コンピュータ51と、バーコードリーダ52とを有している。
バーコードリーダ52は、搬送物70(対象物)に貼付されたバーコードを読み取り可能な装置である。バーコードリーダ52は、コンピュータ51に接続されている。
コンピュータ51は、バーコードリーダ52から読み込んだ情報を、電子符号化するための装置である。コンピュータ51によって、「TrayID」と呼ばれるID(電子符号)を、搬送物70に付すことが可能である。
【0043】
直線搬送装置21(21a〜21c)は、直線方向の搬送が可能な装置である。図4に示すように、直線搬送装置21aは、ローラ23と、フレーム25a,25bと、センサ27a〜27d(検知手段)を有している。ローラ23は、モータ24a〜24d(モータ内蔵ローラ)と、フリーローラ26とを有している。
モータ24a〜24d(モータ内蔵ローラ)は公知のそれと同様に、ローラの内部にモータを備えている。なお、モータをローラに内蔵しないタイプのものでも構わない。
また、モータ24a〜24dは、モータの回転数を検出可能な、回転数検出手段31を有している。回転数検出手段31は、ホールICや、エンコーダで構成されることが望ましい。また、モータ24a〜24d以外のその他のモータについても、回転数検出手段31を有していることとする。なお、モータは、DC24Vで駆動するブラシレスモータであることが望ましい。
フリーローラ26は、モータ等の動力機構を持たないローラである。
フレーム25a,25bは、モータ24a〜24d(モータ内蔵ローラ)およびフリーローラ26を、回動可能に支持するための枠組みである。
センサ27a〜27d(検知手段)は、在荷状態(搬送物の有無)を検知する検知装置である。センサ27a〜27dは、搬送物に光を照射し、反射した光で搬送物の有無を検知できる反射型センサから成る。
また、直線搬送装置21bは、ローラ23と、フレーム25a,25bと、センサ27e〜27h(検知手段)を有している。ローラ23は、モータ24e〜24h(モータ内蔵ローラ)と、フリーローラ26とを有している。
直線搬送装置21cは、ローラ23と、フレーム25a,25bと、センサ27i〜27l(検知手段)を有している。ローラ23は、モータ24i〜24l(モータ内蔵ローラ)と、フリーローラ26とを有している。
【0044】
直線搬送装置21aは、ゾーンA〜Dの4つの制御ゾーンに区分されている。ゾーンA〜Dの各ゾーンは、モータ24a〜24d(モータ内蔵ローラ)の両側にフリーローラ26が位置している。例えば、ゾーンAは、1本のモータ24a(モータ内蔵ローラ)の両側に、フリーローラ26が位置している。つまり、ゾーンAは、5本のローラ23から構成されている。隣接するローラ23同士にはベルト28が懸架されている。このことにより、モータ24a(モータ内蔵ローラ)の回転に応じて、5本のローラが同方向に回転する。ゾーンB〜DについてもゾーンAと同様の構成を有している。
ゾーンA〜Dには、センサ27a〜27dが各々配置されており、各ゾーンの在荷状態が検知される。
なお、直線搬送装置21b,21cについても同様である。
【0045】
直角移載装置22は、搬送方向を90度変更可能な装置である。図5に示すように、直角移載装置22は、ローラ23と、フレーム30a〜30dと、センサ32(検知手段)と、付勢路33とを有している。ローラ23は、モータ29(モータ内蔵ローラ)と、フリーローラ26から構成されている。
4本のローラ23は平行に並んで位置し、ローラ23同士の間に付勢路33が平行に位置している。すなわち、付勢路33の長手方向が、ローラ23の長手方向に沿っている。
図6に示すように、付勢路33は、板状部材35と、プーリ36a〜36hと、モータ37(モータ内蔵ローラ)と、昇降用モータ38a,38b(モータ内蔵ローラ)と、ベルト39とを有している。板状部材35は、プーリ36a〜36hを、回動可能に片持ち支持するための土台である。
【0046】
プーリ36g,36hの間には、モータ37(モータ内蔵ローラ)が位置している。プーリ36a〜36hとモータ37(モータ内蔵ローラ)には、ベルト39が懸架されている。
昇降用モータ38a,38b(モータ内蔵ローラ)は、図示しない昇降用カムに連結されている。このことにより、昇降用モータ38a,38b(モータ内蔵ローラ)を一体的に回転させると、板状部材35の昇降が可能である。
なお、図6に示すように、付勢路33は通常、ローラ23の天面よりも、やや下がった位置にある。また、モータ37(モータ内蔵ローラ)と、昇降用モータ38a,38b(モータ内蔵ローラ)は、3台の付勢路33に渡って配置されている。このことにより、3台の付勢路33は、同期運転する。
【0047】
図5において、ローラ23上に搬送物があると仮定する。搬送物を分岐方向であるフレーム30a又は30bの方向に搬送したい場合には、モータ29(モータ内蔵ローラ)を回転させる。このことにより、搬送物をフレーム30a又は30bの方向に搬送可能である。
一方、搬送物を主搬送方向であるフレーム30c又は30dの方向に搬送したい場合には、昇降用モータ内蔵ローラ38a,38bを回転させて、板状部材35をローラ23の天面よりも上側に位置させる。そして、モータ37(モータ内蔵ローラ)を回転させると、ベルト39がプーリ36a〜36hに沿って回転する。この回転するベルト39で、搬送物をフレーム30c又は30dの方向に搬送可能である。
【0048】
ローラコンベア装置20は、コントローラ1にプログラムを内蔵することにより、制御可能である。コントローラ1へのプログラムの転送は、図7に示すコンピュータ80をコントローラ1に接続し、プログラム作成支援プログラム75を用いることで可能である。プログラム作成支援プログラム75は、コンピュータ上で動作可能なソフトウェアである。
図7に示すように、コンピュータ80は、表示装置81と、入力装置82と、CPU83と、RAM84と、メモリ85,86とを有している。プログラム作成支援プログラム75は、コンピュータ80のメモリ85にインストールされている。
【0049】
プログラム作成支援プログラム75は、プログラムテーブル76と、条件項目データテーブル77と、動作項目データテーブル78と、定型命令プログラム79とを有している。条件項目データテーブル77と、動作項目データテーブル78と、定型命令プログラム79とは、メモリ86に格納されている。
【0050】
プログラムテーブル76は、命令等を入力するための表である。プログラムテーブル76は、図8に示すように、表示装置81に表示される。
プログラムテーブル76は、図8に示すように、主番号列90(No)と、名称項目91(State)と、副番号列92(Block)と、条件項目93(Condition)と、動作項目94(Action)と、次工程項目95(Blanch)とを有している。
プログラム作成支援プログラム75では、一つの条件項目93(Condition)と、一つの動作項目94(Action)とが、一つの条件動作対として処理される。
条件動作対は、1又は複数の次工程項目95(Blanch)と、一つの名称項目91(State)とに関連付けられて、プログラムテーブル76を構成する。なお、一つの名称項目91(State)に対して、複数の条件動作対を関連付けることも可能である。
【0051】
主番号列90(No)は、プログラムの主番号を示すものである。
名称項目91(State)は、一連の動作の名称を入力する名称項目である。名称項目91(State)は、プログラム名を示すものであり、ユーザが任意の名称を入力できる。
【0052】
副番号列92(Block)は、主番号列90(No)内における副番号を示すものである。すなわち、一つの主番号列90(No)のプログラム内において、副番号列92(Block)を有するプログラムを、ブロック単位でまとめることが可能である。ブロックは複数を用意可能であり、複数のブロックの優先順位は、副番号の番号順である。ただし、優先順位の高いブロックにおいて、命令が実行できない場合には、下位のブロックが実行される。
なお、一つのブロック内では、複数の条件動作対を用意可能であり、その場合には、上段の条件動作対から実行され、下段の条件動作対が順次実行される。
【0053】
次工程項目95(Blanch)とは、一連の動作に続く動作の名称を入力する次工程項目である。次工程項目95(Blanch)は、その行のプログラムを終えた後に、移動予定のプログラムの名称項目91(State)を入力するものである。
【0054】
条件項目93(Condition)は、動作が実行される条件を入力する条件項目である。条件項目93に入力する命令は、条件項目データテーブル77から選択可能である。
条件項目データテーブル77は、複数の条件命令が格納されたデータベースである。例えば、センサやタイマーのON/OFF確認、モータのエラー確認等、確認や判断内容を決める条件命令の集まりである。
条件項目データテーブル77に格納されている条件命令は、図17〜20に示す第1表の「Condition」と記載された行の「コマンド名」に示す通りである。
【0055】
動作項目94(Action)は、動作の内容を入力する動作項目である。動作項目94に入力する実行命令は、動作項目データテーブル78から選択可能である。
動作項目データテーブル78は、複数の実行命令が格納されたデータベースである。例えば、モータやタイマーのON/OFF等、制御動作の実行命令の集まりである。
動作項目データテーブル78に格納されている条件命令は、図17〜20に示す第1表の「Action」と記載された行の「コマンド名」に示す通りである。
【0056】
ここで、図17〜20に示す第1表の「コマンド名」について、カテゴリ毎に解説する。
第1表内で用いている「自軸」とは、制御の対象となるモータを指す。「他軸」とは、制御の対象となるモータ以外のモータを指す。モータの回転方向において、「CW方向」とは、時計回りを指し、「CCW方向」とは、反時計回りを指す。
また、「モータパルス」とは、回転数検出手段31で検出したモータからのパルス数である。
さらに、「カウンタ」、「タイマー」とは、プログラム上で動作可能な「カウンタ」、「タイマー」である。
【0057】
[ General ]
< Condition >
「C_chk」は、自軸モータのカウンタ値と、任意に設定された確認値とを比較し、一致した場合に条件成立となる命令である。なお、確認値は、0〜254の間の整数で設定可能である。「C_clr」又は「C_incr」命令と合わせて使用できる。
< Action >
「C_clr」は、自軸モータのカウンタ値をクリアする命令である。
「ERR_initialize」は、自軸モータのエラーの初期化を行う命令である。
「C_incr」は、自軸モータのカウンタ値に「1」を加算する命令である。
< Branch >
「RETRY_chk」は、ジャンプする名称項目91(State)を2箇所設定する命令である。
【0058】
[ Error Operation ]
< Condition >
「ERR_OFF_chk」は、指定する他軸モータのエラー状態を確認する命令である。エラーが無い場合、条件成立となる。
「ERR_ON_chk」は、指定する他軸モータのエラー状態を確認する命令である。エラーがある場合、条件成立となる。
「Host_clr_chk」は、同一コントローラ内のモータにクリア命令が書き込まれた場合に、条件が成立する命令である。
< Action >
「JamERR_clr」は、JAMエラーを解除する命令である。なお、JAMエラーとは、自軸モータが駆動しているにも関わらず、一定時間の間、搬送物が移動しない(自センサがONからOFFにならない)場合に、搬送が妨げられたと判断するエラーである。
「SensorERR_clr」は、センサタイマーエラーを解除する命令である。
「BUS_OFF_CLR」は、バスオフエラーを解除する命令である。
「JamERR_set」は、JAMエラーをセットする命令である。
「SensorERR_set」は、センサタイマーエラーをセットする命令である。
「BUS_OFF_SET」は、バスオフエラーをセットする命令である。
【0059】
[ Sensor / Motor Check ]
< Condition >
「MotorOFF_chk」は、指定する他軸モータの動作状態を確認する命令である。他軸モータがOFFの場合、条件成立となる。
「MotorON_chk」は、指定する他軸モータの動作状態を確認する命令である。他軸モータがONの場合、条件成立となる。
「SensorOFF_chk」は、指定するセンサの動作状態を確認する命令である。センサがOFFの場合、条件成立となる。
「SensorON_chk」は、指定するセンサの動作状態を確認する命令である。センサがONの場合、条件成立となる。
【0060】
[ Motor Synchrinization ]
< Condition >
「AXIS_STATE_F」は、同一コントローラ内の他軸モータが「SELF_STATE_S」でセットした値と、任意に設定された確認値とを比較し、不一致の場合に条件成立となる命令である。なお、確認値は、0〜254の間の整数で設定可能である。「SELF_STATE_S」命令と合わせて使用できる。
「AXIS_STATE_T」は、他軸モータが「SELF_STATE_S」でセットした値と、任意に設定された確認値とを比較し、一致の場合に条件成立となる命令である。なお、確認値は、0〜254の間の整数で設定可能である。「SELF_STATE_S」命令と合わせて使用できる。
「GET_REQUEST」は、他軸モータが「AXIS_REQUEST」でセットした値と、任意に設定された確認値とを比較し、一致の場合に条件成立となる命令である。なお、確認値は、0〜254の間の整数で設定可能である。「AXIS_REQUEST」命令と合わせて使用できる。
「SELF_VALID」は、自軸モータが「SELF_STATE_S」でセットした値と、任意に設定された確認値とを比較し、一致の場合に条件成立となる命令である。なお、確認値は、0〜254の間の整数で設定可能である。
【0061】
< Action >
「AXIS_REQUEST」は、他軸モータに対して、任意の値をセットする命令である。なお、任意の値は、0〜254の間の整数で設定可能である。
「SELF_STATE_C」は、自軸モータが「SELF_STATE_S」でセットした値をクリアする命令である。
「SELF_STATE_S」は、他軸モータに対して、任意の値をセットする命令である。なお、任意の値は、0〜254の間の整数で設定可能である。「AXIS_STATE_F」又は「AXIS_STATE_T」命令と合わせて使用できる。
【0062】
[ Motor Run / Stop ]
< Action >
「MotorSTOP_all」は、同一のコントローラで制御する全てのモータを停止する命令である。
「MotorANGLE_CCW」は、自軸モータをCCW方向に指定角度だけ回転させる命令である。指定角度は、0〜12,000度の範囲で、5度刻みで設定可能である。
「MotorANGLE_CW」は、自軸モータをCW方向に指定角度だけ回転させる命令である。指定角度は、0〜12,000度の範囲で、5度刻みで設定可能である。
【0063】
「MotorRUN_spd1」は、設定した方向に、第一速度でモータを駆動する命令である。なお、モータ駆動と同時に、タイマーをスタートさせることも可能である。以下の「MotorRUN_spd*」も同様である。
「MotorRUN_spd1_CCW」は、CCW方向に、第一速度でモータを駆動する命令である。
「MotorRUN_spd1_CW」は、CW方向に、第一速度でモータを駆動する命令である。
「MotorRUN_spd1_rev」は、設定した方向と逆方向に、第一速度でモータを駆動する命令である。
【0064】
「MotorRUN_spd2」は、設定した方向に、第二速度でモータを駆動する命令である。
「MotorRUN_spd2_CCW」は、CCW方向に、第二速度でモータを駆動する命令である。
「MotorRUN_spd2_CW」は、CW方向に、第二速度でモータを駆動する命令である。
「MotorRUN_spd2_rev」は、設定した方向と逆方向に、第二速度でモータを駆動する命令である。
【0065】
「MotorRUN_spd3」は、設定した方向に、第三速度でモータを駆動する命令である。
「MotorRUN_spd3_CCW」は、CCW方向に、第三速度でモータを駆動する命令である。
「MotorRUN_spd3_CW」は、CW方向に、第三速度でモータを駆動する命令である。
「MotorRUN_spd3_rev」は、設定した方向と逆方向に、第三速度でモータを駆動する命令である。
「MotorSTOP」は、自軸モータを停止する命令である。
【0066】
[ Start Timer ]
< Action >
「TMR1_start」は、タイマー1をスタートする命令である。なお、タイマーの値は、1〜254の間の整数で設定可能である。時間の換算は、設定値1が100ミリ秒(msec)である。以下の「TMR*_start」も同様である。
「TMR2_start」は、タイマー2をスタートする命令である。
「TMR3_start」は、タイマー3をスタートする命令である。
「TMR4_start」は、タイマー4をスタートする命令である。
「TMR5_start」は、タイマー5をスタートする命令である。
「TMR6_start」は、タイマー6をスタートする命令である。
「TMR7_start」は、タイマー7をスタートする命令である。
「TMR8_start」は、タイマー8をスタートする命令である。
【0067】
[ Check Timer ]
< Condition >
「TMR1_chk」は、タイマー1が時間切れとなった場合、条件成立となる命令である。なお、「TMR1_start」命令が未実行の場合は、タイムアップとみなし条件成立となる。以下の「TMR*_chk」も同様である。
「TMR2_chk」は、タイマー2が時間切れとなった場合、条件成立となる命令である。
「TMR3_chk」は、タイマー3が時間切れとなった場合、条件成立となる命令である。
「TMR4_chk」は、タイマー4が時間切れとなった場合、条件成立となる命令である。
「TMR5_chk」は、タイマー5が時間切れとなった場合、条件成立となる命令である。
「TMR6_chk」は、タイマー6が時間切れとなった場合、条件成立となる命令である。
「TMR7_chk」は、タイマー7が時間切れとなった場合、条件成立となる命令である。
「TMR8_chk」は、タイマー8が時間切れとなった場合、条件成立となる命令である。
【0068】
[ Stop Timer ]
< Action >
「TMR1_stop」は、「TMR1_start」にてスタートしたタイマー1を停止する命令である。
「TMR2_stop」は、「TMR2_start」にてスタートしたタイマー2を停止する命令である。
「TMR3_stop」は、「TMR3_start」にてスタートしたタイマー3を停止する命令である。
「TMR4_stop」は、「TMR4_start」にてスタートしたタイマー4を停止する命令である。
「TMR5_stop」は、「TMR5_start」にてスタートしたタイマー5を停止する命令である。
「TMR6_stop」は、「TMR6_start」にてスタートしたタイマー6を停止する命令である。
「TMR7_stop」は、「TMR7_start」にてスタートしたタイマー7を停止する命令である。
「TMR8_stop」は、「TMR8_start」にてスタートしたタイマー8を停止する命令である。
【0069】
[ Remote IN / OOT ]
< Action >
「RemoteOUT_clr」は、リモートOUT端子の出力をOFFする命令である。なお、リモートOUT端子とは、外部装置への電圧供給をON/OFF可能な端子である。
「RemoteOUT_set」は、リモートOUT端子の出力をONする命令である。
「MotorPORT_clr」は、リモートポートの出力をOFFする命令である。なお、リモートポートとは、リモートOUT端子と同様の機能を有した端子である。リモートポートでは、1つのモータコネクタを最大3つの端子として制御することも可能である。
「MotorPORT_set」は、リモートポートの出力をONする命令である。
【0070】
[ Tray ID ]
< Condition >
「ValidTrayID」は、自軸モータの「TrayID」に格納されている値が、「0x00000000」,「0xffffffff」以外の場合、条件成立となる命令である。
< Action >
「Tray_bit」は、自軸モータの「TrayID」に格納されている値の上位4ビットを変更する命令である。
「Tray_get」は、他軸モータの「TrayID」に格納されている値の内、上位4ビットの値以外の値を、自軸モータの「TrayID」に取得する命令である。
「TrayID_clr」は、自軸モータの「TrayID」に格納されている値をクリアする命令である。
「TrayID_get」は、他軸モータの「TrayID」に格納されている値を、自軸モータの「TrayID」に取得する命令である。
「TrayID_put」は、自軸モータの「TrayID」に格納されている値を、バス60(CAN通信)上に送信する命令である。
【0071】
[ RAT status ]
< Condition >
「RAT_STATE_CHK」は、他軸モータが「RAT_STATE_S」命令でセットした値と、任意の設定された確認値とを比較し、一致していれば条件成立となる命令である。なお、確認値は、0,1000,2000,3000から選択可能である。
「RAT_STATE_R」は、他軸モータが「RAT_STATE_S」命令でセットした値を確認し、値が0又は2でれば条件成立となる命令である。
「RAT_STATE_V」は、他軸モータが「RAT_STATE_S」命令でセットした値を確認し、値が0又は1でれば条件成立となる命令である。
「RTAG_NUMCHK」は、自軸モータの「TrayID」に格納されている値の上位4ビットが、任意の確認値と比較し、一致していれば条件成立となる命令である。
< Action >
「RAT_STATE_S」は、他軸モータに対して、任意の値をセットする命令である。
「RTAG_NUMSET」は、自軸モータの「TrayID」に格納されている値の上位4ビットの値を変更する命令である。
【0072】
[ External Machine ]
< Condition >
「RX_FLAG_CHK」は、「RX_FLAG」値と、任意の確認値を比較し、一致していれば条件成立とする命令である。なお、確認値は、1〜254の間の整数で設定可能である。なお、「RX_FLAG」とは、コンピュータ80等の外部通信機器との通信用データの内、受信用データを指す。
「TX_FLAG_CHK」は、「TX_FLAG」値と、任意の確認値を比較し、一致していれば条件成立とする命令である。なお、確認値は、1〜254の間の整数で設定可能である。なお、「TX_FLAG」とは、コンピュータ80等の外部通信機器との通信用データの内、送信用データを指す。
「COMP_RX_BYTE_USER」は、自軸モータの「RX_FLAG」値と、「Byte_User」の値を比較し、任意に設定する比較条件が成立すれば、条件成立とする命令である。
「COMP_TX_BYTE_USER」は、自軸モータの「TX_FLAG」値と、「Byte_User」の値を比較し、任意に設定する比較条件が成立すれば、条件成立とする命令である。なお、「Byte_User」とは、コントローラ1同士で送受信可能な通信用データである。
「COMP_TX_RX」は、自軸モータの「TX_FLAG」値と、「RX_FLAG」値を比較し、任意に設定する比較条件が成立すれば、条件成立とする命令である。
「BYTE_USER_CHK」は、指定する他軸モータの「Byte_User」の値と、任意の確認値を比較し、一致していれば条件成立とする命令である。
【0073】
< Action >
「RX_FLAG_SET」は、自軸モータの「RX_FLAG」値を設定する命令である。
「TX_FLAG_SET」は、自軸モータの「TX_FLAG」値を設定する命令である。
「VERSION_SET」は、プログラムのバージョン番号をコントローラへ書き込む命令である。
「BYTE_USER_GET」は、指定する他軸モータの「Byte_User」の値を、自軸モータの「Byte_User」の値として取得する命令である。
「BYTE_USER_SET」は、自軸モータの「Byte_User」の値を設定する命令である。
「PLS_CNT_START」は、自軸モータのモータパルスのカウントをスタートする命令である。指定パルス数のカウントアップで、自軸モータを第二速度へ切り替える。
「PLS_CNT_START_R」は、自軸モータのモータパルスのカウントをスタートする命令である。指定パルス数のカウントアップで、自軸モータを第二速度へ切り替える。
「PLS_CNT_STOP」は、「PLS_CNT_START」又は「PLS_CNT_START_R」でスタートさせた自軸モータのモータパルスのカウントを停止する命令である。
【0074】
図17〜20に示す第1表の「コマンド名」である「Condition」および「Action」において、各コマンドに入力する数値や指定機器名等は、「Argument」と呼んでいる。「Argument」は、「I CAN Designer」と呼ぶソフトウェア(プログラム)で入力および選択が可能である。ちなみに、「I CAN Designer」は、プログラム作成支援プログラム75とは別のソフトウェアであるが、プログラム作成支援プログラム75と同様に、コンピュータ80を用いて動作するものである。
「I CAN Designer」では、コントローラ1の動作設定、コントローラ1とモータとの接続設定、各種ノードプロパティ(タイマー値、モータ速度、センサ等)の設定が可能である。その他、通信ネットワーク設定、搬送ラインのレイアウトデザインの作成、モータのJOG運転や各エラー等のモニタリング機能、ゲートウェイ基板55tの通信設定等を行うことが可能である。
【0075】
「I CAN Designer」で用いる指定機器名は次の通りである。
[ Argument TRAY ]
「Tray_1st」は、自軸モータが管理する1つ目のTrayIDを指す。
「Tray_2nd」は、自軸モータが管理する2つ目のTrayIDを指す。
「Tray_3rd」は、自軸モータが管理する3つ目のTrayIDを指す。
「Tray_4th」は、自軸モータが管理する4つ目のTrayIDを指す。
「Tray_5th」は、自軸モータが管理する5つ目のTrayIDを指す。
「Tray_6th」は、自軸モータが管理する6つ目のTrayIDを指す。
【0076】
[ Argument COIL ]
「ROUTPORT_U」は、1つのモータコネクタに備えるリモート出力の内のUをを指す。
「ROUTPORT_UV」は、1つのモータコネクタに備えるリモート出力の内のU,Vを指す。
「ROUTPORT_UVW」は、1つのモータコネクタに備えるリモート出力の内のU,V,Wを指す。
「ROUTPORT_UW」は、1つのモータコネクタに備えるリモート出力の内のU,Wを指す。
「ROUTPORT_V」は、1つのモータコネクタに備えるリモート出力の内のVを指す。
【0077】
[ Argument SENSOR / MOTOR ]
「SELFS_1」は、自ゾーンセンサ1を指す。
「SELFS_2」は、自ゾーンセンサ2を指す。
「UPSTM_1」は、上流モータ1を指す。
「UPSTM_2」は、上流モータ2を指す。
「UPSTM_3」は、上流モータ3を指す。
「UPSTM_4」は、上流モータ4を指す。
「DWSTM_1」は、下流モータ1を指す。
「DWSTM_2」は、下流モータ2を指す。
「DWSTM_3」は、下流モータ3を指す。
「DWSTM_4」は、下流モータ4を指す。
「DWSTS_1」は、下流センサ1を指す。
【0078】
つぎに、定型命令プログラム79は、ローラコンベア装置20の制御の基本となるプログラムを、ひな型として用意したものである。
例えば、直線搬送装置21は、直線主搬送プログラムに基づいて制御される。直線主搬送プログラムは、コンピュータ80の表示装置81に表示すると、図9〜11に示すプログラムテーブル101(直線主搬送プログラム)の通りとなる。
プログラムテーブル101(直線主搬送プログラム)は、主番号列90(No)が「0」、名称項目91(State)が「INIT」のプログラムからスタートする。名称項目91(State)が「INIT」のプログラムでは、2行の命令の対が、1つのブロックに格納されている。すなわち、1行目の「ERR_initialize(0)」にて自軸モータのエラーの初期化を行う。次に、「TMR6_start(10)」にてタイマー6をスタートさせた後、「VERSION_SET(1401)」でバージョン番号を取得する。そして、主番号列90(No)が「1」、名称項目91(State)が「POWER_ON」のプログラムへ移行する。以降、順次、プログラムが展開される。
なお、各命令において、「(0)」というように、デフォルト(出荷状態)では“0”が格納されており、ユーザにて所望の値が入力されることとする。
【0079】
プログラム作成支援プログラム75では、一つの条件項目93(Condition)と、一つの動作項目94(Action)とが、一つの条件動作対として扱われる。例えば、主番号列90(No)が「2」、名称項目91(State)が「STOP_IDLE」のプログラムにおいて、1つ目のブロック1には、2行の条件動作対が格納されている。
1行目では、「SensorON_chk(UPSTS_1)」という条件項目93(Condition)と、「MotorRUN_spd1(0)」という動作項目94(Action)とが、一つの条件動作対を成している。
2行目では、「SensorOFF_chk(SELFS_1)」という条件項目93(Condition)と、「TMR6_start(25)」という動作項目94(Action)とが、一つの条件動作対を成している。
そして、このブロック1は、次工程項目95(Blanch)が「TRAY_IN」に関連付けられている。なお、一つの名称項目91(State)に対して、複数のブロックを関連付けることが可能である。
【0080】
その他のブロックについても前述と同様である。なお、条件動作対において、条件項目93(Condition)又は動作項目94(Action)のどちらかが「空白」の場合でも、「項目なし」と判断して、一つの条件動作対として扱われる。
以上のように、ユーザは、入力装置82を用いて、プログラムテーブル76に入力を行うだけで、ローラコンベア装置20を制御可能なプログラムを、コンピュータ80で自動作成できる。
【0081】
直線主搬送プログラムの動作は、図12のフローチャートに示す通りである。直線主搬送プログラムは、ステップ1〜ステップ14で構成されている。フローチャートについて、直線搬送装置21のゾーンBを例にすると、モータとはモータ27bを指す。上流センサ1とはセンサ27aを指し、自センサとはセンサ27bを指し、下流センサ1とはセンサ27cを指す。他のゾーンA,C,Dについても同様である。
図12のフローチャートの動作は、図9〜11に示したプログラムテーブル101(直線主搬送プログラム)によって、実現することができる。
以下、具体的に説明する。
【0082】
図12のフローチャートの「運転開始」の動作は、次のプログラムに基づく。
プログラムテーブル101において、主番号列90(No)「0」、名称項目91(State)「INIT」では、1行目の「ERR_initialize(0)」と、2行目の「TMR6_start(10)」と、3行目の「VERSION_SET(1401)」とが動作して、次の名称項目91(State)「POWER_ON」に進む。
すなわち、最初に、自軸モータのエラーが初期化される。続いて、タイマー6で1秒のカウントダウンが開始される。そして、プログラムのバージョン番号をコントローラ1に書き込んだ後、「POWER_ON」に進む。
【0083】
主番号列90(No)「1」、名称項目91(State)「POWER_ON」では、条件項目93(Condition)「TMR6_chk(0)」の条件が成立すると、次の名称項目91(State)「STOP_IDLE」に進む。
すなわち、タイマー6が時間切れになったかどうかを確認し、条件が成立していると、「STOP_IDLE」に進む。
以上が、図12のフローチャートの「運転開始」の動作である。
【0084】
続いて、図12のフローチャートの「ステップ1」〜「ステップ2」の動作は、次のプログラムに基づく。
主番号列90(No)「2」、名称項目91(State)「STOP_IDLE」において、副番号列92(Block)「Block1」が動作する。
副番号列92(Block)「Block1」の1行目では、条件項目93(Condition)「SensorON_chk(UPSTS_1)」の条件が成立すると、動作項目94(Action)「MotorRUN_spd1(0)」が動作する。
すなわち、上流センサ1がONしているかどうかを確認し、条件が成立していると、自軸モータを速度1でRUN(回転)する。
つぎに、2行目では、条件項目93(Condition)「SensorOFF_chk(SELFS_1)」の条件が成立すると、動作項目94(Action)「TMR6_start(25)」が動作する。そして、次の名称項目91(State)「TRAY_IN」に進む。
すなわち、自センサがOFFしているかどうかを確認し、条件が成立していると、タイマー6で2.5秒のカウントダウンが開始される。そして、「TRAY_IN」に進む。
以上が、図12のフローチャートの「ステップ1」〜「ステップ2」の動作である。
【0085】
なお、主番号列90(No)「2」、名称項目91(State)「STOP_IDLE」において、副番号列92(Block)「Block1」の条件が不成立の場合には、副番号列92(Block)「Block2」が動作する。
副番号列92(Block)「Block2」では、条件項目93(Condition)「SensorON_chk(SELFS_1)」の条件が成立すると、動作項目94(Action)「TrayID_put(Tray_1st)」が動作する。そして、次の名称項目91(State)「CHK_DWST」に進む。
すなわち、自センサがONしているかどうかを確認し、条件が成立していると、自軸モータが管理する1つ目の「TrayID_」の値を、CAN通信(バス60)上に送信する。そして、「CHK_DWST」に進む。
【0086】
続いて、図12のフローチャートの「ステップ3」の動作は、次のプログラムに基づく。
主番号列90(No)「3」、名称項目91(State)「TRAY_IN」において、副番号列92(Block)「Block1」が動作する。
副番号列92(Block)「Block1」の1行目では、条件項目93(Condition)「SensorOFF_chk(UPSTS_1)」の条件が成立すると、動作項目94(Action)「TMR4_start(0)」が動作する。
すなわち、上流センサ1がOFFしているかどうかを確認し、条件が成立していると、タイマー4をスタートする。
つぎに、2行目では、動作項目94(Action)「TrayID_get(Tray_1st+UPSTS_1)」が動作する。
すなわち、上流センサ1の「TrayID」を取得し、自軸モータが管理する1つ目の「TrayID」に格納する。
つぎに、3行目では、動作項目94(Action)「TMR6_stop(0)」が動作して、そして、次の名称項目91(State)「SENS_TIM」に進む。
すなわち、タイマー6を停止させる。そして、「SENS_TIM」に進む。
以上が、図12のフローチャートの「ステップ3」の動作である。
【0087】
なお、主番号列90(No)「2」、名称項目91(State)「TRAY_IN」において、副番号列92(Block)「Block1」の条件が不成立の場合には、副番号列92(Block)「Block2」が動作する。
副番号列92(Block)「Block2」では、条件項目93(Condition)「SensorON_chk(SELFS_1)」の条件が成立すると、動作項目94(Action)「TMR6_stop(0)」が動作する。そして、次の名称項目91(State)「CHK_DWST2」に進む。
すなわち、自センサがONしているかどうかを確認し、条件が成立していると、タイマー6を停止させる。そして、「CHK_DWST2」に進む。
【0088】
さらに、副番号列92(Block)「Block2」の条件が不成立の場合には、副番号列92(Block)「Block3」が動作する。
副番号列92(Block)「Block3」では、条件項目93(Condition)「TMR6_chk(0)」の条件が成立すると、動作項目94(Action)「MotorSTOP(0)」が動作する。そして、次の名称項目91(State)「TARY_IN_WAIT」に進む。
【0089】
続いて、図12のフローチャートの「ステップ4」の動作は、次のプログラムに基づく。
主番号列90(No)「5」、名称項目91(State)「SENS_TIM」において、副番号列92(Block)「Block1」が動作する。
副番号列92(Block)「Block1」の1行目では、条件項目93(Condition)「SensorON_chk(SELFS_1)」の条件が成立すると、動作項目94(Action)「TMR4_stop(0)」が動作する。
すなわち、自ゾーンセンサ1がONしているかどうかを確認し、条件が成立していると、タイマー4を停止させる。
つぎに、2行目では、動作項目94(Action)「TrayID_put(Tray_1st)」が動作する。そして、次の名称項目91(State)「CHK_DWST2」に進む。
すなわち、自軸モータが管理する1つ目の「TrayID」の値をCAN通信上(バス60)に送信する。そして、「CHK_DWST2」に進む。
以上が、図12のフローチャートの「ステップ4」の動作である。
【0090】
続いて、図12のフローチャートの「ステップ5」の動作は、次のプログラムに基づく。
主番号列90(No)「8」、名称項目91(State)「CHK_DWST2」において、副番号列92(Block)「Block1」が動作する。
副番号列92(Block)「Block1」の1行目では、条件項目93(Condition)「SensorOFF_chk(DWSTS_1)」の条件が成立すると、動作項目94(Action)「TMR1_start(0)」が動作する。
すなわち、下流センサ1がOFFしているかどうかを確認し、条件が成立していると、タイマー1をスタートさせる。
つぎに、2行目では、条件項目93(Condition)「MotorON_chk(DWSTM_1)」の条件が成立すると、次の名称項目91(State)「TRAY_OUT」に進む。
すなわち、下流モータ1がONしているかどうか確認し、条件が成立すると、「TRAY_OUT」に進む。
以上が、図12のフローチャートの「ステップ5」の動作である。
【0091】
なお、副番号列92(Block)「Block1」の条件が不成立の場合には、副番号列92(Block)「Block2」が動作する。図12のフローチャートにおいて、「ステップ12」に移る動作である。
主番号列90(No)「8」、名称項目91(State)「CHK_DWST2」において、副番号列92(Block)「Block2」の1行目では、条件項目93(Condition)「SensorON_chk(DWSTS_1)」の条件が成立すると、動作項目94(Action)「MotorSTOP(0)」が動作する。そして、次の名称項目91(State)「CHK_DWST」に進む。
すなわち、下流センサ1がONしているかどうか確認し、条件が成立の場合には、自軸モータを停止させる。そして、「CHK_DWST」に進む。
主番号列90(No)「7」、名称項目91(State)「CHK_DWST」において、副番号列92(Block)「Block2」の1行目では、条件項目93(Condition)「SensorOFF_chk(DWSTS_1)」の条件が成立すると、動作項目94(Action)「TMR1_start(0)」が動作する。
すなわち、下流センサ1がOFFかどうか確認し、条件が成立すると、タイマー1をスタートする。
つぎに、2行目では、動作項目94(Action)「MotorRUN_spd1(0)」が動作し、次の名称項目91(State)「TRAY_OUT」に進む。
すなわち、自軸モータを速度1で運転させ、「TRAY_OUT」に進む。
以上が、図12のフローチャートの「ステップ12」〜「ステップ14」の動作である。
【0092】
続いて、図12のフローチャートの「ステップ6」、「ステップ7」の動作は、次のプログラムに基づく。
主番号列90(No)「9」、名称項目91(State)「TRAY_OUT」において、副番号列92(Block)「Block1」が動作する。
副番号列92(Block)「Block1」の1行目では、条件項目93(Condition)「SensorOFF_chk(SELFS_1)」の条件が成立すると、動作項目94(Action)「TMR1_stop(0)」が動作する。
すなわち、自ゾーンセンサ1がOFFしているかどうかを確認し、条件が成立していると、タイマー1を停止させる。
つぎに、2行目では、動作項目94(Action)「TMR3_start(0)」が動作する。
すなわち、タイマー3(RUN保持タイマー)をスタートさせる。
つぎに、3行目では、動作項目94(Action)「ERR_initialize(0)」が動作する。そして、次の名称項目91(State)「LOST_CHK」に進む。
すなわち、自軸モータのエラーを初期化させる。そして、「LOST_CHK」に進む。
【0093】
続いて、図12のフローチャートの「ステップ8」〜「ステップ11」の動作は、次のプログラムに基づく。
主番号列90(No)「11」、名称項目91(State)「LOST_CHK」において、副番号列92(Block)「Block1」が動作する。
副番号列92(Block)「Block1」の1行目では、条件項目93(Condition)「SensorON_chk(DWSTS_1)」の条件が成立すると、動作項目94(Action)「TrayID_clr(Tray_1st)」が動作する。そして、次の名称項目91(State)「TR_AFTER」に進む。
すなわち、下流センサ1がONかどうか確認し、条件が成立すると、自軸モータが管理する1つ目の「TrayID」の値をクリアする。そして、「TR_AFTER」に進む。
【0094】
副番号列92(Block)「Block1」の条件が不成立の場合には、副番号列92(Block)「Block2」が動作する。
副番号列92(Block)「Block2」の1行目では、条件項目93(Condition)「TMR3_chk(0)」の条件が成立すると、動作項目94(Action)「MotorSTOP(0)」が動作する。
すなわち、タイマー3(RUN保持タイマー)が時間切れかどうか確認し、条件が成立すると、自軸モータを停止させる。
つぎに、2行目では、動作項目94(Action)「TrayID_clr(Tray_1st)」が動作する。そして、次の名称項目91(State)「STOP_IDLE」に進む。
すなわち、自軸モータが管理する1つ目の「TrayID」の値をクリアする。そして、「STOP_IDLE」に進む。つまり、「ステップ2」に戻る。
以上が、図12に示すフローチャートに基いたプログラムテーブル101(直線主搬送プログラム)の動作の主な説明である。
【0095】
一方、直角移載装置22は、直角主搬送プログラムおよび直角分岐搬送プログラムに基づいて制御される。
直角主搬送プログラムの動作は、図13のフローチャートに示す通りである。直角主搬送プログラムは、ステップ1〜ステップ19で構成されている。フローチャートにおいて、モータとはモータ37を指す。上流センサ1とは27dを指し、自センサとはセンサ32を指し、下流センサ1とはセンサ27eを指す。なお、直角主搬送プログラムの主な動作内容は、従来公知の直線搬送プログラムと略同様であり、詳細は後述する。
【0096】
直角分岐搬送プログラムの動作は、図14のフローチャートに示す通りである。直角分岐搬送プログラムは、ステップ1〜ステップ6で構成されている。フローチャートにおいて、モータとはモータ29を指す。自センサとはセンサ32を指し、下流センサ2とは27iを指している。なお、直角分岐搬送プログラムの主な動作内容は、従来公知の直線搬送プログラムと略同様であり、詳細は後述する。
【0097】
つぎに、図9〜12に示した直線主搬送プログラム、図13,14に示した直角主搬送プログラムおよび直角分岐搬送プログラムについて、ローラコンベア装置20の動作に基づいて説明する。なお、説明では、図15(a)〜(d)および図16(a)〜(c)を用いることとする。
図15(a)に示すように、直線搬送装置21aのゾーンAから搬送されて来た搬送物70(対象物)は、ゾーンBに位置している。この時、ゾーンAのTrayIDには「2」が格納され、ゾーンBのTrayIDには「1」が格納され、ゾーンBのモータ24bはRUN(運転)しており、センサ27bはONである。
ゾーンCにおいて、上流センサ1(センサ27b)がONであるため、ゾーンCのモータ24cがRUN(運転)する。
上流(ゾーンB)のTrayIDである「1」を、ゾーンCのTrayIDに格納する。
そして、図15(b)に示すように、搬送物70がゾーンCに到着したため、自センサ(センサ27c)がONする。
ここで、下流センサ1(センサ27d)がOFFかどうかを確認する。下流センサ1(センサ27d)がOFFであるため、モータ24cは停止せず、そのままRUNし続ける。
搬送物70(対象物)がセンサ27cの前から離れるため、自センサ(センサ27c)がOFFとなる。
モータ24cのRUN保持タイマーがスタートする。
モータ24cはRUN保持タイマーが切れるまでRUNし続ける。この間に搬送物70はゾーンCからゾーンDに搬送される。
RUN保持タイマーのOFFに伴い、モータ24cがOFFとなる。
ゾーンCのTrayIDに格納された「1」をクリアする。
ここまでが1つのゾーンにおけるTrayIDの伝達フローとなる。
【0098】
搬送物70および搬送物100は、前述のTrayIDの伝達フローと同様の動きを行い、図15(b)から図15(c)へと進んでいく。
図15(c)に示すように、搬送物70は、ゾーンDに位置している。ゾーンDのセンサ27dは、ONしている。
直角移載装置22であるゾーンEにおいて、指定IDに「2」が格納されている。ゾーンEでは、上流センサ(センサ27d)がONであるため、ゾーンEのモータ37がRUN(運転)する。
上流(ゾーンD)のTrayIDである「1」を、ゾーンEのTrayIDに格納する。
ゾーンEのTrayIDである「1」と、指定IDである「2」とを比較し、一致しないので、直角主搬送プログラムを続行する。
そして、図15(d)に示すように、搬送物70がゾーンEに到着したため、自センサ(センサ32)がONする。
ここで、ゾーンFの下流センサ1(センサ27e)がOFFかどうか確認する。下流センサ1(センサ27e)がOFFであるため、モータ37は停止せず、そのままRUNし続ける。
搬送物70(対象物)が自センサ(センサ32)の前から離れるため、自センサ(センサ32)がOFFとなる。
モータ37のRUN保持タイマーがスタートする。
モータ37はRUN保持タイマーが切れるまでRUNし続ける。この間に搬送物70はゾーンEからゾーンFに搬送される。
RUN保持タイマーのOFFに伴い、モータ37はOFFとなる。
ゾーンEのTrayIDに格納された「1」をクリアする。
【0099】
図16(a)に示すように、搬送物100は、ゾーンDに位置している。搬送物100は、前述のTrayIDの伝達フローと同様の動きを行い、図16(a)から図16(b)へと進んでいく。
図16(b)に示すように、搬送物100は、ゾーンEに位置している。ゾーンEに位置するセンサ32はONである。ゾーンEにおいて、指定IDと、TrayIDには、「2」が格納されている。
ゾーンEのTrayIDである「2」と、指定IDである「2」とを比較し、一致するため、「分岐要求送信」となり、直角分岐搬送プログラムへと移る。
ゾーンGの下流センサ2(センサ27i)がOFFであるため、モータ29がRUNとなる。
図16(c)に示すように、モータ29のRUNに伴い、搬送物100はゾーンEからゾーンGに搬送される。
以上が、ローラコンベア装置20に基づいた直線主搬送プログラム、直角主搬送プログラムおよび直角分岐搬送プログラムの動きである。
【0100】
前述のように、本実施形態のコントローラ1において、マイクロコンピュータ15(CPU)と、メモリ16(書き換え可能なメモリ)とを有したプリント基板2(モータ制御基板)は、略コンピュータである。よって、PLC等の外部の制御装置、ならびにPLCを収納する制御盤を削減できた。また、メモリ16(書き換え可能なメモリ)を用いて、プログラムの変更が可能である。
【0101】
1枚のプリント基板2(モータ制御基板)に、複数のロジック内蔵ドライバ14(モータ駆動回路)を備えることで、プリント基板2(モータ制御基板)の数量を減らすことができた。すなわち、コントローラ1の数量を削減できた。
【0102】
本実施形態のローラコンベア装置20において、ID装置50(識別手段)で搬送物70,100(対象物)に「TrayID」と呼ばれるID(電子符号)を付し、「TrayID」を搬送物70,100(対象物)到着するよりも前にコントローラ1で受信することができた。このことにより、搬送物70,100(対象物)を止めることなく、順次搬送することができた。
【0103】
本実施形態のローラコンベア装置の制御方法において、「TrayID」を搬送物70,100(対象物)到着するよりも前にコントローラ1で受信することにより、搬送物70,100(対象物)を止めることなく、順次搬送することができた。
【0104】
本実施形態のプログラム作成支援プログラム75において、プログラムテーブル76に、名称項目91と、条件項目93と、動作項目94と、次工程項目95とを入力するだけで、コントローラ1に内蔵されるプログラムが、コンピュータ80によって自動作成された。すなわち、一般的なプログラム言語を用いることなく、コントローラ1に内蔵されるプログラムを作成できた。
【0105】
本実施形態のプログラム作成支援プログラム75では、一つの名称項目91に、複数の条件動作対を、関連付けることができた。このことにより、複数の条件動作対を、一つの名称のプログラムとして、条件分けを行うことができた。
【0106】
本実施形態のプログラム作成支援プログラム75では、プログラムテーブル76を、表状又は表の一部として、コンピュータ80の表示画面91で見ることができた。このことにより、プログラムの修正や見直しが容易となった。
また、条件項目データテーブル77と、動作項目データテーブル78から、任意の項目を選択するだけで、所望のプログラムを作成できた。
【0107】
以上のように、本実施形態のコントローラ1によれば、構成部品の削減ができ、制御方法の自由度を向上できた。
また、本発明のローラコンベア装置20、ローラコンベア装置の制御方法、ならびにプログラム作成支援プログラム75によれば、制御方法の自由度を向上できた。
【0108】
上記した実施形態では、搬送物70に「TrayID」と呼ばれるID(電子符号)を付す例を示した。コンピュータ51が、ゲートウェイ基板55を介してコントローラ1に接続されていることにより、「TrayID」を用いて、コンピュータ51で搬送物70のモニタリングを行うことも可能である。
【0109】
上記した実施形態では、ID装置50(識別手段)は、コンピュータ51と、バーコードリーダ52とを有する例を示したが、本発明はこれに限定されるものではない。例えば、バーコードリーダ52の代わりに、RFID(無線ID)技術を用いた装置でも構わない。すなわち、バーコードの代わりに、RFタグやICタグ等を用いても構わない。
【符号の説明】
【0110】
1,1a〜1d コントローラ
2 プリント基板(モータ制御基板)
12 通信回路
14 ロジック内蔵ドライバ(モータ駆動回路)
15 マイクロコンピュータ(CPU)
16 メモリ(書き換え可能なメモリ)
17 プログラマブル・ロジック
20 ローラコンベア装置
24a〜24l,34a,34b,37 モータ(モータ内蔵ローラ)
27,27a〜27l,32 センサ(検知手段)
50 ID装置(識別手段)
53 通信線
54 CAN通信線
70,100 搬送物(対象物)
75 プログラム作成支援プログラム
76,101 プログラムテーブル
77 条件項目データテーブル
78 動作項目データテーブル
80 コンピュータ
90 主番号列(No)
91 名称項目(State)
92 副番号列(Block)
93 条件項目(Condition)
94 動作項目(Action)
95 次工程項目(Blanch)

【特許請求の範囲】
【請求項1】
モータを有したローラコンベア装置を、制御可能なコントローラであって、
モータ制御基板を有し、
モータ制御基板は、モータ駆動回路と、書き換え可能なメモリと、CPUとを有することを特徴とするコントローラ。
【請求項2】
モータ制御基板は、複数のモータ駆動回路を有することを特徴とする請求項1に記載のコントローラ。
【請求項3】
プログラマブル・ロジックを有することを特徴とする請求項1又は2に記載のコントローラ。
【請求項4】
複数の検知手段からの信号を受信可能な入出力回路を有することを特徴とする請求項1乃至3のいずれかに記載のコントローラ。
【請求項5】
通信回路を有することを特徴とする請求項1乃至4のいずれかに記載のコントローラ。
【請求項6】
請求項1乃至5のいずれかに記載のコントローラを有し、対象物を搬送可能なローラコンベア装置であって、
対象物を電子符号で識別可能な識別手段を有することを特徴とするローラコンベア装置。
【請求項7】
前記コントローラを複数有し、
コントローラ同士は通信線で接続されていることを特徴とする請求項6に記載のローラコンベア装置。
【請求項8】
請求項6又は7に記載のローラコンベア装置の制御方法であって、
前記識別手段で対象物に電子符号を付し、
電子符号を、対象物が到着するよりも前にコントローラで受信することを特徴とするローラコンベア装置の制御方法。
【請求項9】
受信した電子符号を、他のコントローラに発信し、
電子符号を複数のコントローラで共有することを特徴とする請求項8に記載のローラコンベア装置の制御方法。
【請求項10】
請求項1乃至5のいずれかに記載のコントローラに内蔵されるプログラムを、コンピュータで作成するためのプログラム作成支援プログラムにおいて、
一連の動作の名称を入力する名称項目と、動作が実行される条件を入力する条件項目と、動作の内容を入力する動作項目と、一連の動作に続く動作の名称を入力する次工程項目とを入力可能であり、
一つの条件項目と一つの動作項目とが一対の条件動作対として処理されると共に、前記条件動作対が1又は複数の次工程項目と一つの名称項目とに関連付けてプログラムテーブルを構成することを特徴とするプログラム作成支援プログラム。
【請求項11】
一つの前記名称項目に対して、複数の条件動作対を関連付けることが可能であることを特徴とする請求項10に記載のプログラム作成支援プログラム。
【請求項12】
プログラムテーブルには、前記名称項目に対応する主番号列と、条件動作対に対応する副番号列とがあることを特徴とする請求項10又は11に記載のプログラム作成支援プログラム。
【請求項13】
プログラムテーブルを、コンピュータの表示画面に表状又は表の一部として表示する表示プログラムを有することを特徴とする請求項10乃至12のいずれかに記載のプログラム作成支援プログラム。
【請求項14】
複数の条件項目とそれに対応するそれぞれのプログラムが関連付けられた条件項目データテーブルと、複数の動作項目とそれに対応するそれぞれのプログラムが関連付けられた動作項目データテーブルとを有し、前記条件項目データテーブルと動作項目データテーブルから所望の項目を選択して入力し、プログラムテーブルを構成することが可能であることを特徴とする請求項10乃至13のいずれかに記載のプログラム作成支援プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate


【公開番号】特開2011−230881(P2011−230881A)
【公開日】平成23年11月17日(2011.11.17)
【国際特許分類】
【出願番号】特願2010−101444(P2010−101444)
【出願日】平成22年4月26日(2010.4.26)
【出願人】(592026819)伊東電機株式会社 (71)
【Fターム(参考)】