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

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

▶ DMG森精機株式会社の特許一覧

特許7579994搬送システム、制御方法、および制御プログラム
<>
  • 特許-搬送システム、制御方法、および制御プログラム 図1
  • 特許-搬送システム、制御方法、および制御プログラム 図2
  • 特許-搬送システム、制御方法、および制御プログラム 図3
  • 特許-搬送システム、制御方法、および制御プログラム 図4
  • 特許-搬送システム、制御方法、および制御プログラム 図5
  • 特許-搬送システム、制御方法、および制御プログラム 図6
  • 特許-搬送システム、制御方法、および制御プログラム 図7
  • 特許-搬送システム、制御方法、および制御プログラム 図8
  • 特許-搬送システム、制御方法、および制御プログラム 図9
  • 特許-搬送システム、制御方法、および制御プログラム 図10
  • 特許-搬送システム、制御方法、および制御プログラム 図11
  • 特許-搬送システム、制御方法、および制御プログラム 図12
  • 特許-搬送システム、制御方法、および制御プログラム 図13
  • 特許-搬送システム、制御方法、および制御プログラム 図14
  • 特許-搬送システム、制御方法、および制御プログラム 図15
  • 特許-搬送システム、制御方法、および制御プログラム 図16
  • 特許-搬送システム、制御方法、および制御プログラム 図17
  • 特許-搬送システム、制御方法、および制御プログラム 図18
  • 特許-搬送システム、制御方法、および制御プログラム 図19
  • 特許-搬送システム、制御方法、および制御プログラム 図20
  • 特許-搬送システム、制御方法、および制御プログラム 図21
  • 特許-搬送システム、制御方法、および制御プログラム 図22
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-10-30
(45)【発行日】2024-11-08
(54)【発明の名称】搬送システム、制御方法、および制御プログラム
(51)【国際特許分類】
   B65G 1/00 20060101AFI20241031BHJP
   B23Q 41/02 20060101ALI20241031BHJP
   B23Q 7/00 20060101ALI20241031BHJP
【FI】
B65G1/00 501C
B23Q41/02 A
B23Q7/00 E
【請求項の数】 5
(21)【出願番号】P 2023573516
(86)(22)【出願日】2022-01-11
(86)【国際出願番号】 JP2022000550
(87)【国際公開番号】W WO2023135644
(87)【国際公開日】2023-07-20
【審査請求日】2024-05-16
【早期審査対象出願】
(73)【特許権者】
【識別番号】000146847
【氏名又は名称】DMG森精機株式会社
(74)【代理人】
【識別番号】100185719
【弁理士】
【氏名又は名称】北原 悠樹
(72)【発明者】
【氏名】孫 信偉
(72)【発明者】
【氏名】中村 隆之
【審査官】八板 直人
(56)【参考文献】
【文献】特開2006-256815(JP,A)
【文献】特開2012-213815(JP,A)
【文献】米国特許出願公開第2018/0074477(US,A1)
【文献】特開平06-079593(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
B65G 1/00- 1/20
B23Q 37/00-41/08
B23Q 7/00- 7/18
(57)【特許請求の範囲】
【請求項1】
ワークの搬送システムであって、
搬送路と、
前記搬送路上を走行可能に構成されており、ワークを搬送するための第1搬送装置と、
前記搬送路上を走行可能に構成されており、ワークを搬送するための第2搬送装置と、
前記第1搬送装置または前記第2搬送装置によって搬送されたワークを加工するための工作機械と、
複数のワークを収納することが可能な収納部と、
前記搬送システムを制御するための制御部とを備え、
前記制御部は、
前記第1搬送装置が加工対象のワークを前記工作機械に搬送する際に前記第1搬送装置と前記第2搬送装置との衝突が生じるか否かを判断する処理と、
前記衝突が生じると判断した場合に、当該衝突が生じないように前記第1搬送装置と前記第2搬送装置との駆動を制御し、前記加工対象のワークを前記工作機械に搬送する処理とを実行
前記搬送する処理は、
前記第2搬送装置よりも前記第1搬送装置側にある前記収納部内の空き領域の内で、前記工作機械により近い空き領域を一時置き領域として決定する処理と、
前記加工対象のワークを前記一時置き領域に収納するように前記第1搬送装置を駆動する処理と、
前記一時置き領域に収納された前記加工対象のワークを当該一時置き領域から前記第2搬送装置に移す処理とを含む、搬送システム。
【請求項2】
前記制御部は、さらに、
前記決定する処理を実行する前に、前記第1搬送装置から遠ざけるように前記第2搬送装置の駆動を制御する処理を実行する、請求項に記載の搬送システム。
【請求項3】
前記判断する処理では、前記第1搬送装置が前記加工対象のワークを前記工作機械に搬送する際における走行経路上に前記第2搬送装置が存在する場合に、前記衝突が生じると判断される、請求項1または2に記載の搬送システム。
【請求項4】
ワークの搬送システムにおける制御方法であって、
前記搬送システムは、
搬送路と、
前記搬送路上を走行可能に構成されており、ワークを搬送するための第1搬送装置と、
前記搬送路上を走行可能に構成されており、ワークを搬送するための第2搬送装置と、
前記第1搬送装置または前記第2搬送装置によって搬送されたワークを加工するための工作機械と、
複数のワークを収納することが可能な収納部とを備え、
前記制御方法は、
前記第1搬送装置が加工対象のワークを前記工作機械に搬送する際に前記第1搬送装置と前記第2搬送装置との衝突が生じるか否かを判断するステップと、
前記衝突が生じると判断した場合に、当該衝突が生じないように前記第1搬送装置と前記第2搬送装置との駆動を制御し、前記加工対象のワークを前記工作機械に搬送するステップとを備え、
前記搬送するステップは、
前記第2搬送装置よりも前記第1搬送装置側にある前記収納部内の空き領域の内で、前記工作機械により近い空き領域を一時置き領域として決定するステップと、
前記加工対象のワークを前記一時置き領域に収納するように前記第1搬送装置を駆動するステップと、
前記一時置き領域に収納された前記加工対象のワークを当該一時置き領域から前記第2搬送装置に移すステップとを含む、制御方法。
【請求項5】
ワークの搬送システムにおける制御プログラムであって、
前記搬送システムは、
搬送路と、
前記搬送路上を走行可能に構成されており、ワークを搬送するための第1搬送装置と、
前記搬送路上を走行可能に構成されており、ワークを搬送するための第2搬送装置と、
前記第1搬送装置または前記第2搬送装置によって搬送されたワークを加工するための工作機械と、
複数のワークを収納することが可能な収納部とを備え、
前記制御プログラムは、前記搬送システムに、
前記第1搬送装置が加工対象のワークを前記工作機械に搬送する際に前記第1搬送装置と前記第2搬送装置との衝突が生じるか否かを判断するステップと、
前記衝突が生じると判断した場合に、当該衝突が生じないように前記第1搬送装置と前記第2搬送装置との駆動を制御し、前記加工対象のワークを前記工作機械に搬送するステップとを実行させ、
前記搬送するステップは、
前記第2搬送装置よりも前記第1搬送装置側にある前記収納部内の空き領域の内で、前記工作機械により近い空き領域を一時置き領域として決定するステップと、
前記加工対象のワークを前記一時置き領域に収納するように前記第1搬送装置を駆動するステップと、
前記一時置き領域に収納された前記加工対象のワークを当該一時置き領域から前記第2搬送装置に移すステップとを含む、制御プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、搬送システム、制御方法、および制御プログラムに関する。
【背景技術】
【0002】
特許文献1(特許第6918259号公報)は、ワークを自動で搬送することが可能な搬送システムを開示している。当該搬送システムは、ワークの収納部、ワークの搬送装置、工作機械、および作業ステーションなどで構成されている。
【0003】
作業者は、作業ステーションにおいて、加工対象のワークをセットする。その後、搬送装置は、当該ワークを収納部にする。当該ワークの加工タイミングが到来すると、搬送装置は、当該ワークを収納部から工作機械に搬送する。当該ワークの加工が完了すると、搬送装置は、当該ワークを収納部または作業ステーションに搬送する。
【先行技術文献】
【特許文献】
【0004】
【文献】特許第6918259号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
特許文献1に開示される搬送システムは、1つの搬送装置を備えている。ワークの搬送を効率化するためには、複数の搬送装置が必要となる。複数の搬送装置が搬送路を共有する場合、搬送装置が互いに衝突する可能性がある。したがって、搬送装置の衝突を避けつつワークの搬送を効率化することが望まれている。
【課題を解決するための手段】
【0006】
本開示の一例では、ワークの搬送システムは、搬送路と、上記搬送路上を走行可能に構成されおり、ワークを搬送するための第1搬送装置と、上記搬送路上を走行可能に構成されおり、ワークを搬送するための第2搬送装置と、上記第1搬送装置または上記第2搬送装置によって搬送されたワークを加工するための工作機械と、上記搬送システムを制御するための制御部とを備える。上記制御部は、上記第1搬送装置が加工対象のワークを上記工作機械に搬送する際に上記第1搬送装置と上記第2搬送装置との衝突が生じるか否かを判断する処理と、上記衝突が生じると判断した場合に、当該衝突が生じないように上記第1搬送装置と上記第2搬送装置との駆動を制御し、上記加工対象のワークを上記工作機械に搬送する処理とを実行する。
【0007】
本開示の一例では、上記搬送する処理は、上記加工対象のワークを上記第1搬送装置から上記第2搬送装置に移す処理と、上記第2搬送装置に移された加工対象のワークを上記工作機械に搬送するように当該第2搬送装置の駆動を制御する処理とを含む。
【0008】
本開示の一例では、上記搬送システムは、さらに、複数のワークを収納することが可能な収納部を備える。上記移す処理は、上記加工対象のワークを上記収納部内の一時置き領域に収納するように上記第1搬送装置を駆動する処理と、上記一時置き領域に収納された上記加工対象のワークを当該一時置き領域から上記第2搬送装置に移す処理とを含む。
【0009】
本開示の一例では、上記制御部は、さらに、上記第2搬送装置よりも上記第1搬送装置側にある上記収納部内の空き領域の内で、上記工作機械により近い空き領域を上記一時置き領域として決定する処理を実行する。
【0010】
本開示の一例では、上記制御部は、さらに、上記決定する処理を実行する前に、上記第1搬送装置から遠ざけるように上記第2搬送装置の駆動を制御する処理を実行する。
【0011】
本開示の一例では、上記判断する処理では、上記第1搬送装置が上記加工対象のワークを上記工作機械に搬送する際における走行経路上に上記第2搬送装置が存在する場合に、上記衝突が生じると判断される。
【0012】
本開示の他の例では、ワークの搬送システムにおける制御方法が提供される。上記搬送システムは、搬送路と、上記搬送路上を走行可能に構成されおり、ワークを搬送するための第1搬送装置と、上記搬送路上を走行可能に構成されおり、ワークを搬送するための第2搬送装置と、上記第1搬送装置または上記第2搬送装置によって搬送されたワークを加工するための工作機械とを備える。上記制御方法は、上記第1搬送装置が加工対象のワークを上記工作機械に搬送する際に上記第1搬送装置と上記第2搬送装置との衝突が生じるか否かを判断するステップと、上記衝突が生じると判断した場合に、当該衝突が生じないように上記第1搬送装置と上記第2搬送装置との駆動を制御し、上記加工対象のワークを上記工作機械に搬送するステップとを備える。
【0013】
本開示の他の例では、ワークの搬送システムにおける制御プログラムが提供される。上記搬送システムは、搬送路と、上記搬送路上を走行可能に構成されおり、ワークを搬送するための第1搬送装置と、上記搬送路上を走行可能に構成されおり、ワークを搬送するための第2搬送装置と、上記第1搬送装置または上記第2搬送装置によって搬送されたワークを加工するための工作機械とを備える。上記制御プログラムは、上記搬送システムに、上記第1搬送装置が加工対象のワークを上記工作機械に搬送する際に上記第1搬送装置と上記第2搬送装置との衝突が生じるか否かを判断するステップと、上記衝突が生じると判断した場合に、当該衝突が生じないように上記第1搬送装置と上記第2搬送装置との駆動を制御し、上記加工対象のワークを上記工作機械に搬送するステップとを実行させる。
【0014】
本発明の上記および他の目的、特徴、局面および利点は、添付の図面と関連して理解される本発明に関する次の詳細な説明から明らかとなるであろう。
【図面の簡単な説明】
【0015】
図1】搬送システムの構成を概略的に示す概念図である。
図2】搬送システムの装置構成の一例を示す図である。
図3】ワークの搬送過程の一例を示す図である。
図4】搬送システムの機能構成の一例を示す図である。
図5】加工設定のデータ構造の一例を示す図である。
図6】ワーク情報のデータ構造の一例を示す図である。
図7】搬送スケジュールのデータ構造の一例を示す図である。
図8】搬送装置の駆動過程の一例を示す図である。
図9図8に続く搬送装置の駆動過程を示す図である。
図10図9に続く搬送装置の駆動過程を示す図である。
図11図10に続く搬送装置の駆動過程を示す図である。
図12】搬送装置の駆動過程の一例を示す図である。
図13図12に続く搬送装置の駆動過程を示す図である。
図14】コントロールシステムのハードウェア構成の一例を示す模式図である。
図15】PLC(Programmable Logic Controller)の主要なハードウェア構成を示すブロック図である。
図16】工作機械の主要なハードウェア構成を示すブロック図である。
図17】操作端末のハードウェア構成の一例を示す模式図である。
図18】搬送システムによる搬送制御処理の流れを表すフローチャートである。
図19】搬送装置の駆動過程の一例を示す図である。
図20図19に続く搬送装置の駆動過程を示す図である。
図21図20に続く搬送装置の駆動過程を示す図である。
図22図21に続く搬送装置の駆動過程を示す図である。
【発明を実施するための形態】
【0016】
以下、図面を参照しつつ、本発明に従う各実施の形態について説明する。以下の説明では、同一の部品および構成要素には同一の符号を付してある。それらの名称および機能も同じである。したがって、これらについての詳細な説明は繰り返さない。なお、以下で説明される各実施の形態および各変形例は、適宜選択的に組み合わされてもよい。
【0017】
<A.搬送システム10の外観>
図1を参照して、搬送システム10について説明する。図1は、搬送システム10の構成を概略的に示す概念図である。
【0018】
図1に示されるように、搬送システム10は、収納部200と、搬送部300と、工作機械400と、作業ステーション500とを含む。
【0019】
収納部200は、搬送部300によるワークの搬送先の1つである。収納部200は、複数のパレットPLを収納可能に構成される。図1の例では、収納部200は、収納領域AR1~AR6を有している。パレットPLは、ワークWを取り付け可能に構成される。収納部200には、ワークWが取り付けられていない空のパレットPLや、加工前のワークWが取り付けられているパレットPLや、加工途中のワークWが取り付けられているパレットPLや、加工済みのワークWが取り付けられているパレットPLなどが収納され得る。なお、収納部200の収納領域AR1~AR6は、1段で構成されてもよいし、複数段で構成されてもよい。
【0020】
搬送部300は、搬送路330と、複数の搬送装置340とを含む。図1の例では、搬送部300が2つの搬送装置340A,340Bで構成されている。以下では、搬送装置340A,340Bを特に区別しない場合には、搬送装置340A,340Bを搬送装置340とも称する。搬送部300は、3つ以上の搬送装置340で構成されてもよい。
【0021】
搬送装置340は、搬送路330上を走行可能に構成され、指定されたパレットPLを指定された場所に搬送する。搬送装置340は、たとえば、後述のサーボモータ335(図2参照)によって搬送路330に沿って駆動される。
【0022】
一例として、搬送路330は直線状のレールであり、搬送装置340は当該レール上を走行する台車である。当該台車は、搬送路330の直交方向(すなわち、当該台車の走行方向に直交する方向)に駆動可能に構成されるフォーク部を有する。当該台車は、搬送路330に沿って搬送対象のパレットPLの位置まで移動し、フォーク部を用いて搬送対象のパレットPLを当該台車上に載せる。その後、当該台車は、搬送路330に沿って指定された搬送先まで移動し、フォーク部を用いて搬送対象のパレットPLを搬送先に搬入する。なお、搬送装置340は、フォーク部の代わりに、アームロボットを備えていてもよい。
【0023】
工作機械400は、搬送部300によるパレットPLの搬送先の1つである。図1の例では、搬送システム10が2つの工作機械400A,400Bで構成されている。以下では、工作機械400A,400Bを特に区別しない場合には、工作機械400A,400Bを工作機械400とも称する。搬送システム10は、1つの工作機械400で構成されてもよいし、2つ以上の工作機械400で構成されてもよい。また、工作機械400は、マシニングセンタであってもよいし、旋盤であってもよいし、付加加工機であってもよいし、切削機械や研削機械などのその他の加工機であってもよい。
【0024】
工作機械400は、予め設計された加工プログラムに従って、搬入されたパレットPLに取り付けられているワークWを加工する。ワークWの加工が完了すると、工作機械400内のパレットPLは、搬送装置340によって収納部200または作業ステーション500に搬送される。
【0025】
作業ステーション500は、搬送部300によるパレットPLの搬送先の1つである。図1の例では、搬送システム10が1つの作業ステーション500で構成されている例が示されているが、搬送システム10は、2つ以上の作業ステーション500で構成されてもよい。
【0026】
作業ステーション500において、作業者は、搬入されたパレットPLに対して種々の作業を行う。一例として、作業者は、作業ステーション500において、搬入されたパレットPLに対して加工対象のワークWを取り付ける作業や、加工済みのワークWをパレットPLから取り外す作業などを行う。作業者は、パレットPLに対する作業が完了すると、作業完了を指示するための操作を行う。このことに基づいて、作業ステーション500内のパレットPLは、搬送装置340によって収納部200または工作機械400に搬送される。
【0027】
<B.搬送システム10の装置構成>
図2は、搬送システム10の装置構成の一例を示す図である。図2を参照して、搬送システム10の装置構成の一例について説明する。
【0028】
図2に示されるように、搬送システム10は、制御部50と、リモートI/O(Input/Output)ユニット61~63と、搬送装置340と、工作機械400と、作業ステーション500とを含む。
【0029】
本明細書でいう「制御部50」とは、搬送システム10を制御する装置を意味する。制御部50の装置構成は、任意である。制御部50は、単体の制御ユニットで構成されてもよいし、複数の制御ユニットで構成されてもよい。図2の例では、制御部50は、コントロールシステム100と、制御盤150とで構成されている。制御部50は、工作機械400を制御するCNC401、または作業ステーション500内の操作端末550などを含んでもよい。
【0030】
コントロールシステム100は、搬送システム10を制御するメインコンピュータである。制御盤150は、加工工程を自動化するための種々の産業用機器を制御する。制御盤150は、PLC151を含む。
【0031】
コントロールシステム100およびPLC151は、ネットワークNW1に接続される。コントロールシステム100およびPLC151は、有線で通信接続されてもよいし、無線で通信接続されてもよい。ネットワークNW1には、EtherNET(登録商標)などが採用される。コントロールシステム100は、ネットワークNW1を介して、PLC151に制御指令を送る。当該制御指令によって、搬送対象のパレットPL、当該パレットPLの搬送先、当該パレットPLの搬送開始/停止などが指定される。
【0032】
リモートI/Oユニット61~63およびPLC151は、ネットワークNW2に接続されている。ネットワークNW2には、データの到達時間が保証される、定周期通信を行うフィールドネットワークを採用することが好ましい。このような定周期通信を行うフィールドネットワークとして、EtherCAT(登録商標)、EtherNet/IP(登録商標)、CC-Link(登録商標)、またはCompoNet(登録商標)などが採用される。
【0033】
搬送装置340は、1つ以上のサーボドライバ334と、1つ以上のサーボモータ335とを含む。搬送部300内または搬送部300周辺には、リモートI/Oユニット61が設置される。リモートI/Oユニット61は、サーボドライバ334と、PLC151との間のデータのやり取りを仲介する。サーボドライバ334は、リモートI/Oユニット61を介してPLC151からの制御指令を一定周期ごとに受け、当該制御指令に従って、サーボモータ335を駆動制御する。一例として、一のサーボモータ335は、搬送装置340(図1参照)の台車の走行を制御し、他のサーボモータ335は、搬送装置340(図1参照)のフォーク部の駆動を制御する。
【0034】
サーボドライバ334は、PLC151から目標回転速度(または目標位置)の入力を逐次的に受け、サーボモータ335が目標回転速度で回転するようにサーボモータ335を制御する。より具体的には、サーボドライバ334は、サーボモータ335用のエンコーダ(図示しない)のフィードバック信号からサーボモータ335の実回転速度(または実位置)を算出する。サーボドライバ334は、当該実回転速度が目標回転速度よりも小さい場合にはサーボモータ335の回転速度を上げ、当該実回転速度が目標回転速度よりも大きい場合にはサーボモータ335の回転速度を下げる。このように、サーボドライバ334は、サーボモータ335の回転速度のフィードバックを逐次的に受けながらサーボモータ335の回転速度を目標回転速度に近付ける。これにより、搬送装置340は、パレットPLを任意の搬送先に移動することができる。
【0035】
工作機械400は、CNC(Computer Numerical Control)401と、サーボドライバ411と、サーボモータ412とを含む。工作機械400内または工作機械400周辺には、リモートI/Oユニット62が設置される。リモートI/Oユニット62は、工作機械400内の各種駆動ユニット(たとえば、CNC401)と、PLC151との間のデータのやり取りを仲介する。サーボドライバ411は、サーボドライバ334と同様に、リモートI/Oユニット62を介してPLC151からの制御指令を一定周期ごとに受け、当該制御指令に従って、サーボモータ412を駆動制御する。サーボモータ412は、後述の主軸415(図16参照)などを駆動する。
【0036】
作業ステーション500は、作業者による操作を受け付ける操作端末550を含む。作業ステーション500内または作業ステーション500周辺には、リモートI/Oユニット63が設置される。リモートI/Oユニット63は、操作端末550とPLC151との間のデータのやり取りを仲介する。操作端末550に対する作業者の操作内容は、リモートI/Oユニット63介してPLC151に一定周期ごとに送られる。
【0037】
<C.概要>
次に、図3を参照して、搬送システム10によるワークの搬送制御について説明する。図3は、ワークの搬送過程の一例を示す図である。
【0038】
本実施の形態に従う搬送システム10においては、複数の搬送装置340A,340Bが1つの搬送路330を共有している。搬送システム10の制御部50が加工対象のワークを最短ルートで工作機械400に搬送するように搬送装置340A,340Bを駆動した場合、搬送装置340A,340Bが衝突する可能性がある。
【0039】
一例として、作業ステーション500において、パレットPL1へのワークW1の取り付け作業が完了したとする。工作機械400Aが他のワークを加工中であったり、工作機械400AがワークW1の加工に対応していない場合には、ワークW1は、工作機械400Aではなく工作機械400Bに搬送される。このとき、搬送装置340Aが作業ステーション500から工作機械400BにワークW1を搬送すると、搬送ルートが最短となる。しかしながら、搬送装置340Aの搬送ルート上には、別の搬送装置340Bがある。
【0040】
そこで、制御部50は、搬送装置340Aが加工対象のワークW1を工作機械400Bに搬送する際に搬送装置340Aと搬送装置340Bとの衝突が生じるか否かを判断する。当該判断のタイミングは、搬送装置340AによるワークW1の搬送が開始されるタイミングであってもよいし、搬送装置340AによるワークW1の搬送が開始される前であってもよい。
【0041】
制御部50は、搬送装置340Aと搬送装置340Bとの衝突が生じると判断した場合、当該衝突が生じないように搬送装置340Aと搬送装置340Bとの駆動を制御し、加工対象のワークW1を工作機械400Bに搬送する。
【0042】
搬送装置340Aと搬送装置340Bとの衝突は、種々の方法で回避される。図3の例では、まず、制御部50は、加工対象のワークW1を搬送装置340Aから搬送装置340Bに移す。ワークW1は、搬送装置340Aから搬送装置340Bに直接的に移されてもよいし、収納部200などの一時置き領域を介して搬送装置340Aから搬送装置340Bに間接的に移されてもよい。その後、制御部50は、当該ワークW1を工作機械400Bに搬送するように搬送装置340Bの駆動を制御する。
【0043】
これにより、制御部50は、搬送装置340Aと搬送装置340Bとの衝突を回避しつつ、ワークW1を工作機械400Bに搬送することができる。また、搬送システム10は、複数の搬送装置340A,340Bを備えているので、ワークの搬送効率は、1つの搬送装置340でワークを搬送するよりも高くなる。
【0044】
<D.制御部50の機能構成>
図4図11を参照して、搬送システム10の制御部50(図2参照)の機能構成について説明する。図4は、制御部50の機能構成の一例を示す図である。
【0045】
図4に示されるように、制御部50は、機能構成として、スケジュール生成部152と、衝突判断部154と、搬送制御部156とを含む。これらの機能構成は、コントロールシステム100(図2参照)またはPLC151(図2参照)に実装される。あるいは、これらの機能構成は、操作端末550(図2参照)に実装されてもよい。
【0046】
ある局面において、スケジュール生成部152、衝突判断部154、および搬送制御部156の一部の機能構成がコントロールシステム100に実装され、残りの機能構成がPLC151に実装される。他の局面において、スケジュール生成部152、衝突判断部154、および搬送制御部156の全部がコントロールシステム100に実装される。他の局面において、スケジュール生成部152、衝突判断部154、および搬送制御部156の全部がPLC151に実装される。
【0047】
(D1.スケジュール生成部152)
まず、図5図7を参照して、図4に示されるスケジュール生成部152の機能について説明する。
【0048】
スケジュール生成部152は、図5に示される加工設定123と、図6に示されるワーク情報124とに基づいて、図7に示される搬送スケジュール125を生成する。
【0049】
図5は、加工設定123のデータ構造の一例を示す図である。作業者は、加工設定123を登録することにより加工対象のワークを予め登録しておく。加工設定123は、たとえば、上述のコントロールシステム100または上述の操作端末550などにおいて作業者によって登録される。作業者によって登録される内容は、たとえば、加工対象のワークの識別情報(ワーク名やワークIDなど)、加工対象のワークの個数、およびワークの加工順などを含む。
【0050】
図5の例では、加工設定123は、2つのワークW1の加工タスクと、2つのワークW2の加工タスクと、4つのワークW3の加工タスクと、6つのワークW4の加工タスクとを含んでいる。
【0051】
図6は、ワーク情報124のデータ構造の一例を示す図である。一例として、ワーク情報124には、ワークの加工を実現するための加工プログラムと、ワークの重量と、ワークの加工に要する加工時間と、ワークの加工に関するその他の情報とが、ワークの識別情報別に規定されている。
【0052】
ワーク情報124に規定される加工プログラムは、たとえば、上述のコントロールシステム100、上述の工作機械400、または上述の操作端末550などにおいて作業者によって登録される。当該加工プログラムの生成方法は、任意である。一例として、工作機械400の中には、オペレータが対話形式での質問に応えることにより自動で加工プログラムを生成する機能を有するものがある。加工プログラムは、たとえば、当該機能により生成される。あるいは、加工プログラムは、作業者がプログラムコードを記述することにより設計されてもよい。
【0053】
ワーク情報124に規定される重量は、たとえば、ユーザによって予め設定されてもよいし、加工プログラムの設計時などに登録されてもよい。一例として、当該重量は、操作端末550において入力される。当該重量は、加工開始前のワークの重さを示す。
【0054】
ワーク情報124に規定される加工時間は、たとえば、作業者によって予め入力される。あるいは、当該加工時間は、各ワークの過去の加工実績から算出されてもよい。
【0055】
スケジュール生成部152は、ワーク情報124を参照して、加工設定123に規定される各ワークについて加工時間を特定する。次に、スケジュール生成部152は、当該特定した加工時間と、加工設定123に規定される各ワークの個数と、加工設定123に規定される各ワークの加工順序とに基づいて、図7に示される搬送スケジュール125を生成する。
【0056】
図7は、搬送スケジュール125のデータ構造の一例を示す図である。搬送スケジュール125には、搬送装置340によるワークの搬送タスクが規定される。スケジュール生成部152によって生成された搬送スケジュール125は、たとえば、搬送システム10内の記憶装置に格納される。
【0057】
一例として、搬送スケジュール125において、搬送日時と、搬送主体と、搬送元と、搬送先と、搬送対象とが時系列に対応付けられている。
【0058】
搬送スケジュール125に示される日時は、ワークまたはパレットの搬送開始タイミングを規定する情報である。当該日時は、たとえば、日にちと、時刻とで規定される。なお、搬送スケジュール125には、ワークまたはパレットの搬送終了タイミングがさらに規定されてもよい。
【0059】
搬送スケジュール125に示される搬送主体は、搬送装置340を一意に特定するための情報である。当該搬送主体は、たとえば、搬送装置340の識別情報で規定される。搬送主体としては、たとえば、搬送装置340A,340Bなどが挙げられる。
【0060】
搬送スケジュール125に示される搬送元は、パレットまたはワークの収納場所を一意に特定するための情報である。当該収納場所としては、たとえば、収納部200内の収納領域AR1~AR6、工作機械400A,400B、および作業ステーション500などが挙げられる。
【0061】
搬送スケジュール125に示される搬送先は、パレットまたはワークの搬送目的地を一意に特定するための情報である。当該搬送目的地としては、たとえば、収納部200内の収納領域AR1~AR6、工作機械400A,400B、および作業ステーション500などが挙げられる。
【0062】
搬送スケジュール125に示される搬送対象は、搬送する物体を一意に特定するための情報である。当該搬送対象は、たとえば、ワークの識別情報と、パレットの識別情報との少なくとも一方で規定される。
【0063】
(D2.衝突判断部154)
次に、引き続き図7を参照して、図4に示される衝突判断部154の機能について説明する。
【0064】
衝突判断部154は、搬送スケジュール125に基づいて、搬送装置340A,340Bの衝突が生じるか否かを判断する。
【0065】
より具体的な処理として、衝突判断部154は、搬送スケジュール125に規定されている日時を監視し、ワークの搬送タスクを実行するタイミングが到来したか否かを判断する。ワークの搬送タスクを実行するタイミングが到来したと判断した場合、衝突判断部154は、実行対象の搬送タスクを搬送スケジュール125から取得する。当該搬送タスクは、ワークの搬送主体と、当該ワークの搬送元と、当該ワークの搬送先とを少なくとも含む。
【0066】
次に、衝突判断部154は、当該搬送主体以外の他の搬送装置が当該搬送元と当該搬送先との間の搬送経路上に存在するか否かを判断する。他の搬送装置の位置は、たとえば、搬送スケジュール125から特定されてもよいし、上述のサーボモータ335(図2参照)のフィードバック信号から算出されてもよい。
【0067】
衝突判断部154は、他の搬送装置が搬送経路上に存在すると判断した場合、搬送装置340同士の衝突が生じると判断する。一方で、衝突判断部154は、他の搬送装置が搬送経路上に存在しないと判断した場合、搬送装置340同士の衝突が生じないと判断する。衝突判断部154による判断結果は、搬送制御部156に出力される。
【0068】
なお、搬送装置340同士の衝突が生じるか否かを判断する方法は、上述の方法に限定されず、様々な方法が採用され得る。
【0069】
一例として、障害物を検出することが可能なセンサ(以下、「障害物センサ」ともいう。)が搬送装置340に設けられており、衝突判断部154は、当該障害物センサの出力値に基づいて、搬送装置340同士の衝突が生じるか否かを判断してもよい。障害物センサとしては、たとえば、超音波センサまたはレーザセンサなどの距離センサが採用される。
【0070】
距離センサは、搬送装置340Aと搬送装置340Bとの間の距離を検出可能なように、搬送装置340Aと搬送装置340Bとの少なくとも一方に設けられる。衝突判断部154は、当該距離センサによって検出された距離が所定値未満になったことに基づいて、搬送装置340A,340Bの衝突が生じると判断する。一方で、衝突判断部154は、当該距離センサによって検出される距離が所定値以上である間、搬送装置340A,340Bの衝突が生じないと判断する。
【0071】
(D3.搬送制御部156)
次に、引き続き図7を参照して、図4に示される搬送制御部156の機能について説明する。
【0072】
搬送制御部156は、搬送スケジュール125に規定されている搬送タスクに従って、搬送装置340の搬送を制御する。一例として、現在日時が「T1」になった場合には、搬送制御部156は、搬送主体「搬送装置340A」の駆動を制御し、搬送元「収納領域AR1」にある搬送対象「パレットPL1」を搬送先「工作機械400B」まで搬送する。現在日時が「T2」になった場合には、搬送制御部156は、搬送主体「搬送装置340B」の駆動を制御し、搬送元「収納領域AR6」にある搬送対象「パレットPL6」を搬送先「作業ステーション500」まで搬送する。
【0073】
一方で、衝突判断部154によって搬送装置340の衝突が生じると判断された場合、搬送制御部156は、搬送装置340の衝突回避処理を実行する。以下では、図8図11を参照して、搬送装置340の衝突回避処理の一例について説明する。
【0074】
図8は、搬送装置340A,340Bの駆動過程の一例を示す図である。上述のように、日時「T1」が到来すると、搬送装置340AがワークW1を工作機械400Bに搬送する処理を開始する。このとき、搬送装置340Aが加工対象のワークW1を工作機械400Bに搬送する際の走行経路上には搬送装置340Bが存在するので、上述の衝突判断部154は、搬送装置340A,340Bの衝突が生じると判断する。
【0075】
このことに基づいて、搬送制御部156は、収納部200の収納領域AR1~AR6の内からワークW1の一時置き領域を決定する。好ましくは、搬送制御部156は、搬送装置340Bよりも搬送装置340A側にある収納部200内の空き領域の内で、搬送先の工作機械400Bにより近い空き領域を一時置き領域として決定する。
【0076】
図8の例では、搬送制御部156は、搬送装置340Bよりも搬送装置340A側にある収納領域AR1~AR5の内から一時置き領域を決定する。一例として、搬送制御部156は、空き領域である収納領域AR1~AR5の内で工作機械400Bに最も近い収納領域AR5を一時置き領域として決定する。
【0077】
次に、搬送制御部156は、収納領域AR1に収納されているワークW1を、一時置き領域として決定された収納領域AR5に収納するように、搬送装置340Aの駆動を制御する。
【0078】
図9は、図8に続く搬送装置340A,340Bの駆動過程を示す図である。図9を参照して、ワークW1が一時置き領域としての収納領域AR5に収納されたことに基づいて、搬送制御部156は、搬送装置340Bから遠ざけるように搬送装置340Aの駆動を制御する。これにより、搬送装置340Aが退避し、搬送装置340Bの走行経路が確保される。
【0079】
図10は、図9に続く搬送装置340A,340Bの駆動過程を示す図である。図10を参照して、搬送装置340Aが退避したことに基づいて、搬送制御部156は、一時置き領域である収納領域AR5の前に搬送装置340Bを移動する。
【0080】
図11は、図10に続く搬送装置340A,340Bの駆動過程を示す図である。図11を参照して、搬送装置340Bが一時置き領域である収納領域AR5の前に移動したことに基づいて、搬送制御部156は、収納領域AR5に収納されているワークW1を搬送装置340Bに載せる。その後、搬送制御部156は、ワークW1を工作機械400Bに搬送するように搬送装置340Bの駆動を制御する。
【0081】
以上のように、搬送制御部156は、加工対象のワークW1を収納部200内の一時置き領域に収納するように搬送装置340Aを駆動し、当該一時置き領域に収納されたワークW1を工作機械400Bに搬送するように搬送装置340Bを駆動する。これにより、搬送装置340A,340Bの衝突が回避される。
【0082】
なお、上述では、搬送装置340Aから搬送装置340BにワークW1を移す際に一時置き領域を介する例について説明を行ったが、ワークW1は、搬送装置340Aから搬送装置340Bに移されてもよい。
【0083】
<E.退避領域を用いた衝突回避処理>
次に、図12および図13を参照して、退避領域を用いた衝突回避処理について説明する。
【0084】
上述の例では、搬送制御部156は、収納部200内の一時置き領域を利用して加工対象のワークを工作機械400に搬送していた。すなわち、搬送装置340Aが一時置き領域にワークを搬送し、別の搬送装置340Bが一時置き領域から工作機械400にワークを搬送していた。これに対して、本例では、搬送制御部156は、搬送装置340Bを退避領域に退避させることで、一時置き領域を利用せずに、加工対象のワークを工作機械400に搬送する。
【0085】
図12は、搬送装置340A,340Bの駆動過程の一例を示す図である。図12に示されるように、本例では、退避領域EVBが設けられている。退避領域EVBは、たとえば、搬送装置340Aからより遠い場所(たとえば、搬送路330の端)に設けられ、搬送装置340Aには利用されない領域である。典型的には、搬送装置340Aから退避領域EVBまでの搬送路330上の距離は、搬送装置340Aから工作機械400Bまでの搬送路330上の距離よりも長い。
【0086】
搬送装置340A,340Bの衝突が生じると上述の衝突判断部154によって判断された場合、搬送制御部156は、搬送装置340Aから遠ざけるように搬送装置340Bの駆動を制御する。これにより、搬送装置340Bは、退避領域EVBに移動する。その結果、搬送装置340Aの走行経路が確保される。
【0087】
図13は、図12に続く搬送装置340A,340Bの駆動過程を示す図である。図13を参照して、搬送装置340Bが退避領域EVBに移動したことに基づいて、搬送制御部156は、搬送対象のワークW1を収納している収納領域AR1の前に搬送装置340Aを移動する。その後、搬送制御部156は、収納領域AR1に収納されているワークW1を工作機械400Bまで搬送するように搬送装置340Aの駆動を制御する。
【0088】
以上のように、本例では、搬送制御部156は、搬送装置340Bを退避領域EVBに退避させることで、搬送装置340Aと搬送装置340Bとの衝突を回避する。
【0089】
なお、上述では、搬送装置340B用の退避領域EVBが搬送部300に設けられている例について説明を行ったが、搬送装置340A用の退避領域(以下、「退避領域EVA」ともいう。)が搬送部300に設けられてもよい。退避領域EVAは、たとえば、搬送装置340Bからより遠い場所(たとえば、搬送路330の端)に設けられる。典型的には、搬送装置340Bから退避領域EVAまでの搬送路330上の距離は、搬送装置340Bから工作機械400Aまでの搬送路330上の距離よりも長い。一例として、搬送装置340A用の退避領域EVAは、搬送装置340B用の退避領域EVBの対極に位置する。
【0090】
搬送装置340Aが退避領域EVAに移動することで、搬送装置340Bの走行経路が確保される。結果として、搬送装置340Aと搬送装置340Bとの衝突を回避することができる。
【0091】
<F.コントロールシステム100のハードウェア構成>
図14を参照して、コントロールシステム100のハードウェア構成について説明する。図14は、コントロールシステム100のハードウェア構成の一例を示す模式図である。
【0092】
コントロールシステム100は、プロセッサ101と、ROM(Read Only Memory)102と、RAM(Random Access Memory)103と、通信インターフェイス104と、表示インターフェイス105と、入力インターフェイス107と、補助記憶装置120とを含む。これらのコンポーネントは、バス110に接続される。
【0093】
プロセッサ101は、たとえば、少なくとも1つの集積回路によって構成される。集積回路は、たとえば、少なくとも1つのCPU(Central Processing Unit)、少なくとも1つのGPU(Graphics Processing Unit)、少なくとも1つのASIC(Application Specific Integrated Circuit)、少なくとも1つのFPGA(Field Programmable Gate Array)、またはそれらの組み合わせなどによって構成され得る。
【0094】
プロセッサ101は、制御プログラム122やオペレーティングシステムなどの各種プログラムを実行することでコントロールシステム100の動作を制御する。制御プログラム122は、ワークの搬送制御に係るプログラムである。プロセッサ101は、制御プログラム122の実行命令を受け付けたことに基づいて、補助記憶装置120またはROM102からRAM103に制御プログラム122を読み出す。RAM103は、ワーキングメモリとして機能し、制御プログラム122の実行に必要な各種データを一時的に格納する。
【0095】
通信インターフェイス104には、LAN(Local Area Network)やアンテナなどが接続される。コントロールシステム100は、通信インターフェイス104を介してネットワークNW1に接続される。これにより、コントロールシステム100は、ネットワークNW1に接続される外部機器とデータをやり取りする。当該外部機器は、たとえば、制御盤150やサーバー(図示しない)などを含む。コントロールシステム100は、当該外部機器から制御プログラム122をダウンロードできるように構成されてもよい。
【0096】
表示インターフェイス105には、ディスプレイ106が接続される。表示インターフェイス105は、プロセッサ101などからの指令に従って、ディスプレイ106に対して、画像を表示するための画像信号を送出する。ディスプレイ106は、たとえば、液晶ディスプレイ、有機EL(Electro Luminescence)ディスプレイ、またはその他の表示機器である。なお、ディスプレイ106は、コントロールシステム100と一体的に構成されてもよいし、コントロールシステム100とは別に構成されてもよい。
【0097】
入力インターフェイス107には、入力デバイス108が接続される。入力デバイス108は、たとえば、マウス、キーボード、タッチパネル、またはユーザの操作を受け付けることが可能なその他の装置である。なお、入力デバイス108は、コントロールシステム100と一体的に構成されてもよいし、コントロールシステム100とは別に構成されてもよい。
【0098】
補助記憶装置120は、たとえば、ハードディスクやフラッシュメモリなどの記憶媒体である。補助記憶装置120は、制御プログラム122、上述の加工設定123、上述のワーク情報124、および上述の搬送スケジュール125などを格納する。補助記憶装置120に記憶される各種データの格納場所は、補助記憶装置120に限定されない。当該各種データは、プロセッサ101の記憶領域(たとえば、キャッシュメモリなど)、ROM102、RAM103、外部機器(たとえば、PLC151や外部サーバー)などに格納されていてもよい。
【0099】
なお、制御プログラム122は、単体のプログラムとしてではなく、任意のプログラムの一部に組み込まれて提供されてもよい。この場合、制御プログラム122による搬送制御処理は、任意のプログラムと協働して実現される。このような一部のモジュールを含まないプログラムであっても、本実施の形態に従う制御プログラム122の趣旨を逸脱するものではない。さらに、制御プログラム122によって提供される機能の一部または全部は、専用のハードウェアによって実現されてもよい。さらに、少なくとも1つのサーバーが制御プログラム122の処理の一部を実行する所謂クラウドサービスのような形態でコントロールシステム100が構成されてもよい。
【0100】
<G.PLC151のハードウェア構成>
図15を参照して、PLC151のハードウェア構成の一例について説明する。図15は、PLC151の主要なハードウェア構成を示すブロック図である。
【0101】
PLC151は、プロセッサ161と、ROM(Read Only Memory)162と、RAM(Random Access Memory)163と、通信インターフェイス164,165と、補助記憶装置170とを含む。
【0102】
プロセッサ161は、少なくとも1つの集積回路によって構成される。集積回路は、たとえば、少なくとも1つのCPU、少なくとも1つのMPU(Micro Processing Unit)、少なくとも1つのASIC、少なくとも1つのFPGAまたはそれらの組み合わせなどによって構成される。
【0103】
プロセッサ161は、制御プログラム172など各種プログラムを実行することで搬送装置340や工作機械400の動作を制御する。プロセッサ161は、制御プログラム172の実行命令を受け付けたことに基づいて、補助記憶装置170からROM162に制御プログラム172を読み出す。RAM163は、ワーキングメモリとして機能し、制御プログラム172の実行に必要な各種データを一時的に格納する。
【0104】
通信インターフェイス164には、LANやアンテナなどが接続される。PLC151は、通信インターフェイス164を介してネットワークNW1に接続される。これにより、PLC151は、ネットワークNW1に接続される外部機器とデータをやり取りする。当該外部機器は、たとえば、コントロールシステム100やサーバー(図示しない)などを含む。
【0105】
通信インターフェイス165は、フィールドネットワークであるネットワークNW2に接続するためのインターフェイスである。PLC151は、通信インターフェイス165を介してネットワークNW2に接続される外部機器とデータをやり取りする。当該外部機器は、たとえば、リモートI/Oユニット61~63などを含む。
【0106】
補助記憶装置170は、たとえば、ハードディスクやフラッシュメモリなどの記憶媒体である。補助記憶装置170は、制御プログラム172、ワーク情報174、および搬送スケジュール175などを格納する。ワーク情報174は、上述のコントロールシステム100から受信したワーク情報124に相当する。搬送スケジュール175は、上述のコントロールシステム100から受信した搬送スケジュール125に相当する。補助記憶装置170に記憶される各種データの格納場所は、補助記憶装置170に限定されず、プロセッサ161の記憶領域(たとえば、キャッシュ領域など)、ROM162、RAM163、外部機器(たとえば、サーバー)などに格納されていてもよい。
【0107】
制御プログラム172は、単体のプログラムとしてではなく、任意のプログラムの一部に組み込まれて提供されてもよい。この場合、本実施の形態に従う制御処理は、任意のプログラムと協働して実現される。このような一部のモジュールを含まないプログラムであっても、本実施の形態に従う制御プログラム172の趣旨を逸脱するものではない。さらに、制御プログラム172によって提供される機能の一部または全部は、専用のハードウェアによって実現されてもよい。さらに、少なくとも1つのサーバーが制御プログラム172の処理の一部を実行する所謂クラウドサービスのような形態でPLC151が構成されてもよい。
【0108】
<H.工作機械400のハードウェア構成>
図16を参照して、工作機械400のハードウェア構成の一例について説明する。図16は、工作機械400の主要なハードウェア構成を示すブロック図である。
【0109】
工作機械400は、CNC401と、ROM402と、RAM403と、フィールドバスコントローラ404と、表示インターフェイス405と、入力インターフェイス409と、サーボドライバ411A~411Dと、サーボモータ412A~412Dと、エンコーダ413A~413Dと、ボールねじ414A,414Bと、工具を取り付けるための主軸415とを含む。これらの機器は、バス(図示しない)を介して接続されている。
【0110】
CNC401は、少なくとも1つの集積回路によって構成される。集積回路は、たとえば、少なくとも1つのCPU、少なくとも1つのMPU、少なくとも1つのASIC、少なくとも1つのFPGA、またはそれらの組み合わせなどによって構成される。
【0111】
CNC401は、加工プログラム422など各種プログラムを実行することでCNC400の動作を制御する。CNC401は、加工プログラム422の実行命令を受け付けたことに基づいて、補助記憶装置420からROM402に加工プログラム422を読み出す。RAM403は、ワーキングメモリとして機能し、加工プログラム422の実行に必要な各種データを一時的に格納する。
【0112】
フィールドバスコントローラ404は、リモートI/Oユニット62を介してPLC151との通信を実現するためのインターフェイスである。CNC400は、フィールドバスコントローラ404を介してPLC151との間でデータをやり取りする。
【0113】
表示インターフェイス405は、ディスプレイ430などの表示機器と接続され、CNC401などからの指令に従ってディスプレイ430に対して画像を表示するための画像信号を送出する。ディスプレイ430は、たとえば、液晶ディスプレイ、有機ELディスプレイ、またはその他の表示機器である。
【0114】
入力インターフェイス409は、入力デバイス431に接続され得る。入力デバイス431は、たとえば、マウス、キーボード、タッチパネル、またはユーザ操作を受け付けることが可能なその他の入力機器である。
【0115】
CNC400は、加工プログラム422に従ってサーボドライバ411Aを制御する。サーボドライバ411Aは、CNC401から目標回転数(または目標位置)の入力を逐次的に受け、サーボモータ412Aが目標回転数で回転するようにサーボモータ412Aを制御し、ワーク設置台(図示しない)をX軸方向に駆動する。より具体的には、サーボドライバ411Aは、エンコーダ413Aのフィードバック信号からサーボモータ412Aの実回転数(または実位置)を算出する。サーボドライバ411Aは、当該実回転数が目標回転数よりも小さい場合にはサーボモータ412Aの回転数を上げ、当該実回転数が目標回転数よりも大きい場合にはサーボモータ412Aの回転数を下げる。このように、サーボドライバ411Aは、サーボモータ412Aの回転数のフィードバックを逐次的に受けながらサーボモータ412Aの回転数を目標回転数に近付ける。サーボドライバ411Aは、ボールねじ414Aに接続されるワーク設置台をX軸方向に移動し、ワーク設置台をX軸方向の任意の位置に移動する。
【0116】
同様のモータ制御により、サーボドライバ411Bは、ボールねじ414Bに接続されるワーク設置台をCNC400からの制御指令に従ってY軸方向に移動し、ワーク設置台をY軸方向の任意の位置に移動する。同様のモータ制御を行うことにより、サーボドライバ411Cは、CNC400からの制御指令に従って主軸415をZ軸方向に移動し、主軸415をZ軸方向の任意の位置に移動する。同様のモータ制御を行うことにより、サーボドライバ411Dは、CNC400からの制御指令に従って、主軸415の軸方向を回転中心とする主軸415の回転速度を制御する。
【0117】
補助記憶装置420は、たとえば、ハードディスクやフラッシュメモリなどの記憶媒体である。補助記憶装置420は、加工プログラム422などを格納する。加工プログラム422の格納場所は、補助記憶装置420に限定されず、CNC401の記憶領域(たとえば、キャッシュ領域など)、ROM402、RAM403、外部機器(たとえば、サーバー)などに格納されていてもよい。
【0118】
<I.操作端末550のハードウェア構成>
図17を参照して、作業ステーション500に設置されている操作端末550のハードウェア構成について説明する。図17は、操作端末550のハードウェア構成の一例を示す模式図である。
【0119】
操作端末550は、プロセッサ501と、ROM502と、RAM503と、通信インターフェイス504と、表示インターフェイス505と、入力インターフェイス507と、補助記憶装置520とを含む。これらのコンポーネントは、バス510に接続される。
【0120】
プロセッサ501は、たとえば、少なくとも1つの集積回路によって構成される。集積回路は、たとえば、少なくとも1つのCPU、少なくとも1つのGPU、少なくとも1つのASIC、少なくとも1つのFPGA、またはそれらの組み合わせなどによって構成され得る。
【0121】
プロセッサ501は、制御プログラム522やオペレーティングシステムなどの各種プログラムを実行することで操作端末550の動作を制御する。プロセッサ501は、制御プログラム522の実行命令を受け付けたことに基づいて、補助記憶装置520またはROM502からRAM503に制御プログラム522を読み出す。RAM503は、ワーキングメモリとして機能し、制御プログラム522の実行に必要な各種データを一時的に格納する。
【0122】
通信インターフェイス504には、LANやアンテナなどが接続される。操作端末550は、通信インターフェイス504を介してネットワークNW1,NW2に接続される。これにより、操作端末550は、ネットワークNW1,NW2に接続される外部機器とデータをやり取りする。当該外部機器は、たとえば、制御盤150やサーバー(図示しない)などを含む。操作端末550は、当該外部機器から制御プログラム522をダウンロードできるように構成されてもよい。
【0123】
表示インターフェイス505には、ディスプレイ506が接続される。表示インターフェイス505は、プロセッサ501などからの指令に従って、ディスプレイ506に対して、画像を表示するための画像信号を送出する。ディスプレイ506には、作業ステーション500にある作業中のパレットの強制搬送を許可または拒否を受け付ける選択画面などが表示される。ディスプレイ506は、たとえば、液晶ディスプレイ、有機ELディスプレイ、またはその他の表示機器である。なお、ディスプレイ506は、操作端末550と一体的に構成されてもよいし、操作端末550とは別に構成されてもよい。
【0124】
入力インターフェイス507には、入力デバイス508が接続される。入力デバイス508は、たとえば、マウス、キーボード、タッチパネル、またはユーザの操作を受け付けることが可能なその他の装置である。なお、入力デバイス508は、操作端末550と一体的に構成されてもよいし、操作端末550とは別に構成されてもよい。
【0125】
補助記憶装置520は、たとえば、ハードディスクやフラッシュメモリなどの記憶媒体である。補助記憶装置520は、制御プログラム522などを格納する。制御プログラム522などの格納場所は、補助記憶装置520に限定されず、プロセッサ501の記憶領域(たとえば、キャッシュメモリなど)、ROM502、RAM503、外部機器(たとえば、サーバー)などに格納されていてもよい。
【0126】
制御プログラム522は、単体のプログラムとしてではなく、任意のプログラムの一部に組み込まれて提供されてもよい。この場合、制御プログラム522による制御処理は、任意のプログラムと協働して実現される。このような一部のモジュールを含まないプログラムであっても、本実施の形態に従う制御プログラム522の趣旨を逸脱するものではない。さらに、制御プログラム522によって提供される機能の一部または全部は、専用のハードウェアによって実現されてもよい。さらに、少なくとも1つのサーバーが制御プログラム522の処理の一部を実行する所謂クラウドサービスのような形態で操作端末550が構成されてもよい。
【0127】
<J.フローチャート>
次に、図18を参照して、搬送システム10の制御構造について説明する。図18は、搬送システム10による搬送制御処理の流れを表すフローチャートである。
【0128】
図18に示される処理は、制御部50が上述の制御プログラム122または上述の制御プログラム172を実行することにより実現される。他の局面において、処理の一部または全部が、回路素子またはその他のハードウェアによって実行されてもよい。
【0129】
ステップS110において、制御部50は、上述の搬送制御部156として機能し、搬送スケジュール125(図7参照)を参照して、実行タイミングが到来した搬送タスクを取得する。当該搬送タスクには、ワークの搬送日時、当該ワークの搬送主体、当該ワークの搬送元、および当該ワークの搬送先などが規定される。以下では、搬送主体の搬送装置340を主搬送装置とも称し、搬送主体ではない搬送装置340を副搬送装置とも称する。
【0130】
ステップS120において、制御部50は、搬送タスクが存在するか否かを判断する。一例として、制御部50は、ステップS110で搬送タスクを取得した場合に搬送タスクが存在すると判断し、ステップS110で搬送タスクを取得できなかった場合に搬送タスクが存在しないと判断する。制御部50は、搬送タスクが存在すると判断した場合(ステップS120においてYES)、制御をステップS130に切り替える。そうでない場合には(ステップS120においてNO)、制御部50は、図18に示される処理を終了する。
【0131】
ステップS130において、制御部50は、上述の衝突判断部154として機能し、主搬送装置と副搬送装置との衝突が生じるか否かを判断する。当該判断方法については上述の通りであるので、その説明については繰り返さない。制御部50は、主搬送装置と副搬送装置との衝突が生じると判断した場合(ステップS130においてYES)、制御をステップS134に切り替える。そうでない場合には(ステップS130においてNO)、制御部50は、制御をステップS132に切り替える。
【0132】
ステップS132において、制御部50は、上述の搬送制御部156として機能し、ステップS110で取得した搬送タスクに従って、主搬送装置の駆動を制御する。制御部50は、ステップS132の処理が完了したことに基づいて、ステップS110で取得した搬送タスクが完了済みとなるように搬送スケジュール125を書き換える。
【0133】
ステップS134において、制御部50は、上述の搬送制御部156として機能し、収納部200の空き領域の内からワークの一時置き領域を取得する。このとき、制御部50は、副搬送装置よりも主搬送装置側にある収納部200内の空き領域の内で、搬送先の工作機械400により近い空き領域を一時置き領域として決定する。
【0134】
収納部200におけるパレットの収納状況は、たとえば、収納場所情報(図示しない)などにおいて管理される。当該収納場所情報は、収納部200内の各収納領域について、パレット(またはワーク)を収納しているか否かや、収納されているパレット(またはワーク)の識別番号などを規定している。制御部50は、パレットまたはワークを搬送する度に当該収納場所情報を更新する。
【0135】
ステップS140において、制御部50は、収納部200内に一時置き領域があるか否かを判断する。制御部50は、収納部200内に一時置き領域があると判断した場合(ステップS140においてYES)、制御をステップS142に切り替える。そうでない場合には(ステップS140においてNO)、制御部50は、制御をステップS152に切り替える。
【0136】
ステップS142において、制御部50は、複数の搬送パターンについて搬送コストを算出する。搬送コストは、たとえば、主搬送装置の移動距離と、副搬送装置の移動距離とに基づいて算出される。一例として、主搬送装置の移動距離と副搬送装置の移動距離との合計値が大きいほど搬送コストが高くなり、当該合計値が小さいほど搬送コストが小さくなる。一例として、制御部50は、第1の搬送パターンの搬送コストと、第2の搬送パターンの搬送コストとを算出する。
【0137】
第1の搬送パターンは、上述の図8図11に示される搬送パターンに相当し、一時置き領域を利用して加工対象のワークを工作機械400に搬送するパターンである。すなわち、第1の搬送パターンでは、主搬送装置が一時置き領域にワークを搬送し、副搬送装置が一時置き領域から工作機械400にワークを搬送する。
【0138】
第2の搬送パターンは、上述の図12および図13に示される搬送パターンに相当し、一時置き領域を利用せずに加工対象のワークを工作機械400に搬送するパターンである。すなわち、第2の搬送パターンでは、副搬送装置が上述の退避領域EVBに移動し、主搬送装置が加工対象のワークを工作機械400に直接搬送する。
【0139】
ステップS150において、制御部50は、上記第1の搬送パターンの搬送コストが上記第2の搬送パターンの搬送コストよりも低いか否かを判断する。制御部50は、上記第1の搬送パターンの搬送コストが上記第2の搬送パターンの搬送コストよりも低いと判断した場合(ステップS150においてYES)、制御をステップS154に切り替える。そうでない場合には(ステップS150においてNO)、制御部50は、制御をステップS152に切り替える。
【0140】
ステップS152において、制御部50は、副搬送装置を上述の退避領域EVBに移動する。その後、制御がステップS130に戻され、主搬送装置と副搬送装置との衝突が生じないと判断された場合には(ステップS130においてYES)、主搬送装置が加工対象のワークを工作機械400に直接搬送する(ステップS132)。
【0141】
ステップS154において、制御部50は、主搬送装置の駆動を制御し、ステップS134で取得した一時置き領域に加工対象のワークを収納する。
【0142】
ステップS156において、制御部50は、ステップS110で取得した搬送タスクを書き換え、搬送スケジュール125を更新する。より具体的には、制御部50は、搬送元の情報を一時置き領域に書き換えるとともに、搬送主体の情報を主搬送装置から副搬送装置に書き換える。これにより、更新後の搬送タスクが実行された際には、一時置き領域に収納されているワークは、副搬送装置によって搬送先の工作機械400に搬送される。
【0143】
<K.衝突回避処理の別例>
次に、図19図22を参照して、衝突回避処理の別例について説明する。
【0144】
上述の図8図11では、搬送装置340Aがワークを工作機械400Bに搬送する際に生じ得る衝突を回避する方法について説明を行った。これに対して、本例では、搬送装置340Aが工作機械400Bにワークを搬送するとともに、搬送装置340Bが工作機械400Aにワークを搬送する際に生じ得る衝突を回避する方法について説明する。
【0145】
図19は、搬送装置340A,340Bの駆動過程の一例を示す図である。図19を参照して、あるタイミングにおいて、搬送制御部156は、ワークW1を工作機械400Bまで搬送装置340Aに搬送させる搬送タスクと、ワークW6を工作機械400Aまで搬送装置340Bに搬送させる搬送タスクとを同時または略同時に受けたとする。この場合、搬送装置340A,340Bが搬送路330上で交差するので、搬送装置340A,340Bが衝突してしまう。
【0146】
このような衝突を避けるために、まず、搬送制御部156は、搬送対象のワークW1を収納している収納領域AR1の前に搬送装置340Aを移動する。その後、搬送制御部156は、収納領域AR1に収納されているワークW1を搬送装置340Aに載せる。
【0147】
次に、搬送制御部156は、搬送装置340Bよりも搬送装置340A側にある収納部200内の空き領域の内から、ワークW1の一時置き領域を決定する。図19の例では、搬送制御部156は、搬送装置340Bよりも搬送装置340A側にある収納領域AR1~AR5の内から一時置き領域を決定する。一例として、搬送制御部156は、収納領域AR3を一時置き領域として決定する。
【0148】
次に、搬送制御部156は、一時置き領域として決定された収納領域AR3の前に搬送装置340Aを移動し、収納領域AR3にワークW1を収納する。その後、ワークW1が収納領域AR3に収納されたことに基づいて、搬送制御部156は、搬送装置340Bから遠ざけるように搬送装置340Aを駆動する。これにより、搬送装置340Aが退避し、搬送装置340Bの走行経路が確保される。
【0149】
図20は、図19に続く搬送装置340A,340Bの駆動過程を示す図である。図20を参照して、搬送装置340Aが退避したことに基づいて、搬送制御部156は、搬送対象のワークW6を収納している収納領域AR6の前に搬送装置340Bを移動する。その後、搬送制御部156は、収納領域AR6に収納されているワークW6を搬送装置340Bに載せる。
【0150】
次に、搬送制御部156は、ワークW1の一時置き領域(すなわち、収納領域AR3)よりも搬送装置340B側にある収納部200内の空き領域の内から、ワークW6の一時置き領域を決定する。図20の例では、搬送制御部156は、収納領域AR3よりも搬送装置340B側にある収納領域AR4,AR5の内から一時置き領域を決定する。一例として、搬送制御部156は、空き領域である収納領域AR4,AR5の内で収納領域AR3に最も近い収納領域AR4を一時置き領域として決定する。
【0151】
次に、搬送制御部156は、一時置き領域として決定された収納領域AR4の前に搬送装置340Bを移動し、当該一時置き領域にワークW6を収納する。
【0152】
図21は、図20に続く搬送装置340A,340Bの駆動過程を示す図である。図21を参照して、ワークW6が一時置き領域としての収納領域AR4に収納されたことに基づいて、搬送制御部156は、収納領域AR3の前に搬送装置340Bを移動する。その後、搬送制御部156は、収納領域AR3に収納されているワークW1を搬送装置340Bに載せ、当該ワークW1を工作機械400Bに搬送する。これにより、工作機械400BへのワークW1の搬送が完了する。
【0153】
図22は、図21に続く搬送装置340A,340Bの駆動過程を示す図である。図22を参照して、工作機械400BへのワークW1の搬送が完了したことに基づいて、搬送制御部156は、収納領域AR4の前に搬送装置340Aを移動する。その後、搬送制御部156は、収納領域AR4に収納されているワークW6を搬送装置340Aに載せ、当該ワークW6を工作機械400Aに搬送する。これにより、工作機械400AへのワークW6の搬送が完了する。
【0154】
<L.変形例>
なお、上述では、両端を有する直線状の搬送路330を前提とした搬送装置340の搬送制御について説明を行ったが、搬送路330の形状は特に限定されない。
【0155】
一例として、搬送路330の形状は、無端状であってもよい。無端状の搬送路330としては、たとえば、円形の搬送路330が挙げられる。上述で説明した各種搬送処理は、このような無端状の搬送路330に対しても適用され得る。
【0156】
今回開示された実施の形態は全ての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて請求の範囲によって示され、請求の範囲と均等の意味および範囲内での全ての変更が含まれることが意図される。
【符号の説明】
【0157】
10 搬送システム、50 制御部、61 リモートI/Oユニット、62 リモートI/Oユニット、63 リモートI/Oユニット、100 コントロールシステム、101 プロセッサ、102 ROM、103 RAM、104 通信インターフェイス、105 表示インターフェイス、106 ディスプレイ、107 入力インターフェイス、108 入力デバイス、110 バス、120 補助記憶装置、122 制御プログラム、123 加工設定、124 ワーク情報、125 搬送スケジュール、150 制御盤、152 スケジュール生成部、154 衝突判断部、156 搬送制御部、161 プロセッサ、162 ROM、163 RAM、164 通信インターフェイス、165 通信インターフェイス、170 補助記憶装置、172 制御プログラム、174 ワーク情報、175 搬送スケジュール、200 収納部、300 搬送部、330 搬送路、334 サーボドライバ、335 サーボモータ、340 搬送装置、340A 搬送装置、340B 搬送装置、400 工作機械、400A 工作機械、400B 工作機械、402 ROM、403 RAM、404 フィールドバスコントローラ、405 表示インターフェイス、409 入力インターフェイス、411 サーボドライバ、411A サーボドライバ、411B サーボドライバ、411C サーボドライバ、411D サーボドライバ、412 サーボモータ、412A サーボモータ、412B サーボモータ、412C サーボモータ、412D サーボモータ、413A エンコーダ、413B エンコーダ、413C エンコーダ、413D エンコーダ、414A ボールねじ、414B ボールねじ、415 主軸、420 補助記憶装置、422 加工プログラム、430 ディスプレイ、431 入力デバイス、500 作業ステーション、501 プロセッサ、502 ROM、503 RAM、504 通信インターフェイス、505 表示インターフェイス、506 ディスプレイ、507 入力インターフェイス、508 入力デバイス、510 バス、520 補助記憶装置、522 制御プログラム、550 操作端末。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19
図20
図21
図22