Nothing Special   »   [go: up one dir, main page]

JP6761158B1 - プログラム作成装置、プログラム作成方法、及びプログラム - Google Patents

プログラム作成装置、プログラム作成方法、及びプログラム Download PDF

Info

Publication number
JP6761158B1
JP6761158B1 JP2019226121A JP2019226121A JP6761158B1 JP 6761158 B1 JP6761158 B1 JP 6761158B1 JP 2019226121 A JP2019226121 A JP 2019226121A JP 2019226121 A JP2019226121 A JP 2019226121A JP 6761158 B1 JP6761158 B1 JP 6761158B1
Authority
JP
Japan
Prior art keywords
variable
program
execution order
processes
execution
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
JP2019226121A
Other languages
English (en)
Other versions
JP2021096549A (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.)
Yaskawa Electric Corp
Original Assignee
Yaskawa Electric 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 Yaskawa Electric Corp filed Critical Yaskawa Electric Corp
Priority to JP2019226121A priority Critical patent/JP6761158B1/ja
Application granted granted Critical
Publication of JP6761158B1 publication Critical patent/JP6761158B1/ja
Priority to CN202011433505.9A priority patent/CN112987605A/zh
Priority to US17/118,501 priority patent/US11960925B2/en
Priority to EP20213259.3A priority patent/EP3839671A1/en
Publication of JP2021096549A publication Critical patent/JP2021096549A/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • G05B19/0426Programming the control sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • G05B19/0423Input/output
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/32Monitoring with visual or acoustical indication of the functioning of the machine
    • G06F11/324Display of status information
    • G06F11/328Computer systems status display
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/3004Arrangements for executing specific machine instructions to perform operations on memory
    • G06F9/30043LOAD or STORE instructions; Clear instruction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3854Instruction completion, e.g. retiring, committing or graduating
    • G06F9/3856Reordering of instructions, e.g. using queues or age tags
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/23Pc programming
    • G05B2219/23007CAD to develop sequential control system, use data also to test
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/23Pc programming
    • G05B2219/23011Sequence control design using pc, cad of control system CADCS
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/25Pc structure of the system
    • G05B2219/25257Microcontroller

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Quality & Reliability (AREA)
  • Human Computer Interaction (AREA)
  • Programmable Controllers (AREA)

Abstract

【課題】プログラムの作成を簡易化する。【解決手段】プログラム作成装置(10)の表示制御部(104)は、複数の産業装置(30)を備えたシステムにおいて実行される複数の工程それぞれに対して、少なくとも、工程の名称と、1以上の産業装置(30)の動作を表して工程で実行される工程プログラムにおいて参照及び変更の少なくとも一方が行われる変数と、が関連付けられ、工程情報として保存される工程データベースから取得した複数の工程の名称を含み、当該複数の工程の実行順を指定可能なスケジュール画面を表示させる。受付部(105)は、表示制御部(104)が表示させたスケジュール画面において、実行順の指定を受け付ける。システムプログラム作成部(106)は、受付部(105)が受け付けた実行順と、当該実行順に含まれる各工程の変数と、に基づいて、指定された実行順で各産業装置(30)を動作させるシステムプログラムを作成する。【選択図】図10

Description

本発明は、プログラム作成装置、プログラム作成方法、及びプログラムに関する。
従来、例えばPLC(Programmable Logic Controller)のように、外部に接続された複数の産業装置を所定の順序で動作させる技術が知られている。例えば、特許文献1には、PLCの動作をラダーチャートに記述してプログラムを作成する技術が記載されている。
特開2012−194678号公報
本発明が解決しようとする課題は、プログラムの作成を簡易化することである。
本発明の一側面に係るプログラム作成装置は、複数の産業装置を備えたシステムにおいて実行される複数の工程それぞれに対して、少なくとも、工程の名称と、1以上の前記産業装置の動作を表して工程で実行される工程プログラムにおいて参照及び変更の少なくとも一方が行われる変数と、が関連付けられ、工程情報として保存される工程データベースから取得した複数の前記工程の名称を含み、当該複数の工程の実行順を指定可能なスケジュール画面を表示させる表示制御部と、前記表示制御部が表示させた前記スケジュール画面において、前記実行順の指定を受け付ける受付部と、前記受付部が受け付けた実行順と、当該実行順に含まれる各工程の前記変数と、に基づいて、指定された前記実行順で各産業装置を動作させるシステムプログラムを作成するシステムプログラム作成部と、を有する。
本発明の一側面に係るプログラム作成方法は、複数の産業装置を備えたシステムにおいて実行される複数の工程それぞれに対して、少なくとも、工程の名称と、1以上の前記産業装置の動作を表して工程で実行される工程プログラムにおいて参照及び変更の少なくとも一方が行われる変数と、が関連付けられ、工程情報として保存される工程データベースから取得した複数の前記工程の名称を含み、当該複数の工程の実行順を指定可能なスケジュール画面を表示させ、表示された前記スケジュール画面において、前記実行順の指定を受け付け、受け付けた前記実行順と、当該実行順に含まれる各工程の前記変数と、に基づいて、指定された前記実行順で各産業装置を動作させるシステムプログラムを作成する。
本発明の一側面に係るプログラムは、複数の産業装置を備えたシステムにおいて実行される複数の工程それぞれに対して、少なくとも、工程の名称と、1以上の前記産業装置の動作を表して工程で実行される工程プログラムにおいて参照及び変更の少なくとも一方が行われる変数と、が関連付けられ、工程情報として保存される工程データベースから取得した複数の前記工程の名称を含み、当該複数の工程の実行順を指定可能なスケジュール画面を表示させる表示制御部、前記表示制御部が表示させた前記スケジュール画面において、前記実行順の指定を受け付ける受付部、前記受付部が受け付けた実行順と、当該実行順に含まれる各工程の前記変数と、に基づいて、指定された前記実行順で各産業装置を動作させるシステムプログラムを作成するシステムプログラム作成部、としてコンピュータを機能させる。
また、本発明の一側面に係るプログラム作成装置は、前記複数の工程それぞれの変数には、当該工程の実行開始を示す開始変数が含まれており、前記システムプログラム作成部は、前記実行順に従った工程が順次実行されるように、前記実行順において、少なくとも一の工程で変更される変更変数と、前記一の工程に連動して実行される1以上の他の工程の前記開始変数と、を関連付けて前記システムプログラムを作成する。
また、本発明の一側面に係るプログラム作成装置は、前記工程データベースに未登録の新たな工程に対して、前記開始変数及び前記変更変数の少なくとも一方の条件を設定する条件設定部と、前記条件設定部が設定した前記開始変数及び前記変更変数の少なくとも一方を、前記新たな工程の名称に関連付けて、前記工程データベースに前記工程情報として保存する工程登録部と、を更に有する。
また、本発明の一側面に係るプログラム作成装置は、前記開始変数及び前記変更変数の少なくとも一方として、予め定められたデフォルトの変数を設定し、ユーザにより指定された変数を追加可能である。
また、本発明の一側面に係るプログラム作成装置は、前記表示制御部は、既作成の一連プログラムのうち、前記工程プログラムに対応する部分を指定可能な一連プログラム画面を表示させ、前記受付部は、前記表示制御部が表示させた前記一連プログラム画面において、前記工程プログラムに対応する部分の指定を受け付け、前記プログラム作成装置は、前記受付部で指定された前記一連プログラムの部分と、前記条件設定部で設定された前記開始変数及び前記変更変数の少なくとも一方とに基づいて、前記新たな工程に対応する新たな工程プログラムを作成する工程プログラム作成部を更に有する。
また、本発明の一側面に係るプログラム作成装置は、前記表示制御部は、前記受付部が受け付けた実行順と、当該実行順に含まれる各工程の名称及び変数と、に基づいて、タイミングチャートを前記スケジュール画面として表示させ、前記タイミングチャートには、前記実行順に含まれる複数の工程それぞれの名称が工程軸上に並べて配置され、前記タイミングチャートには、前記工程軸と直交するタイミング軸上の長さで前記複数の工程それぞれの実行を示す工程イメージが、各名称の前記工程軸上ほぼ同じ位置、かつ、前記タイミング軸上において前記実行順になるように配置されている。
また、本発明の一側面に係るプログラム作成装置は、前記工程情報は、その工程の想定実行時間を含み、前記表示制御部は、前記工程イメージの前記タイミング軸上の長さを、前記想定実行時間に対応する長さに設定する。
また、本発明の一側面に係るプログラム作成装置は、前記受付部は、前記タイミングチャートにおける前記工程イメージを前記タイミング軸上で移動させるための移動指示を、前記実行順の指定として受け付け、前記表示制御部は、前記移動指示に基づいて、前記タイミングチャートにおける前記工程イメージを移動させ、前記システムプログラム作成部は、前記表示制御部により移動された工程イメージに対応した前記他の工程の前記開始変数と、前記他の工程のタイミング軸上の直前に存在する工程イメージに対応した前記一の工程の前記変更変数と、を関連付けて前記システムプログラムを作成する。
また、本発明の一側面に係るプログラム作成装置は、前記工程データベースには、前記複数の産業装置の名称がその産業装置で実行される複数の工程の工程情報が関連付けられて保存され、前記表示制御部は、前記スケジュール画面に、前記複数の産業装置の名称のリストを表示させ、前記受付部は、前記リストの中から産業装置の名称の選択を受け付け、前記表示制御部は、更に、選択された前記産業装置に関連付けられた前記複数の工程それぞれの前記工程イメージを、前記タイミングチャートの前記工程軸上に並べて配置する。
また、本発明の一側面に係るプログラム作成装置は、前記工程データベースには、前記工程情報として、参照する前記変数が入力され、変更する変数に結果を出力する演算処理に対応する前記工程の名称と、それに関連付けられた前記変数とが保存されており、前記表示制御部は、前記受付部が受け付けた実行順に前記演算処理に対応する工程が含まれる場合、当該演算処理に対応する工程の工程イメージを他の工程イメージとともに表示する。
また、本発明の一側面に係るプログラム作成装置は、前記表示制御部は、前記受付部が受け付けた実行順と、当該実行順に含まれる各工程及び変数とに基づいて、テーブルを前記スケジュール画面として表示させ、前記テーブルには、前記実行順に含まれる複数の工程それぞれの名称及び変数が列方向又は行方向に並べられて配置される。
また、本発明の一側面に係るプログラム作成装置は、前記受付部は、前記スケジュール画面において、前記複数の工程のうちの全部又は一部の工程をグループ化するための操作を受け付け、前記表示制御部は、前記受付部が受け付けた前記操作に基づいて、前記全部又は一部の工程をグループ化して前記スケジュール画面に表示させる。
また、本発明の一側面に係るプログラム作成装置は、前記受付部は、前記スケジュール画面において、前記複数の産業装置それぞれの繰り返し動作の指定を受け付け、前記システムプログラム作成部は、前記受付部が受け付けた繰り返し動作に基づいて、指定された繰り返し動作で各産業装置を動作させる前記システムプログラムを作成する。
また、本発明の一側面に係るプログラム作成装置は、前記システムプログラムの実行結果に基づいて、前記複数の工程それぞれの実際の実行時間を取得する実行時間取得部を更に有し、前記表示制御部は、前記受付部が受け付けた実行順と、当該実行順に含まれる各工程の名称及び変数と、各工程の前記実行時間と、に基づいて、タイミングチャートを表示させ、前記タイミングチャートには、前記実行順に含まれる複数の工程それぞれの名称が工程軸上に並べて表示され、前記タイミングチャートには、前記工程軸と直交するタイミング軸上の長さで前記複数の工程それぞれの前記実行時間を示す工程イメージが、各名称の前記工程軸上ほぼ同じ位置、かつ、前記タイミング軸上において前記実行順になるように配置されている。
また、本発明の一側面に係るプログラム作成装置は、前記工程情報は、その工程の想定実行時間を含み、前記表示制御部は、前記スケジュール画面において、前記複数の工程それぞれの前記想定実行時間を表示させ、前記受付部は、各工程の前記想定実行時間の変更操作を受け付ける。
上記発明によれば、プログラムの作成を簡易化することができる。
実施形態に係るプログラム作成装置を含む生産システムの全体構成を示す図である。 システムプログラムと工程プログラムの関係を示す図である。 工程プログラムの作成手順を示す説明図である。 スケジュール画面の一例を示す図である。 産業装置の名称がドラッグアンドドロップされた場合のタイミングチャートの一例を示す図である。 産業装置の名称がドラッグアンドドロップされた場合のタイミングチャートの一例を示す図である。 工程の実行順が指定された場合のタイミングチャートの一例を示す図である。 2サイクル目の開始タイミングが指定された場合のタイミングチャートの一例を示す図である。 タイミングチャートの別レイアウトを示す図である。 生産システムで実現される機能を示す機能ブロック図である。 工程データベースのデータ格納例を示す図である。 工程プログラムの作成処理の一例を示すフロー図である。 システムプログラムの作成処理の一例を示すフロー図である。 既存のツールによって作成されたプログラムをコンバートする手順を示す図である。 演算プログラムの処理の一例を示す図である。 変形例(2)の工程データベースのデータ格納例を示す図である。 変形例(3)のスケジュール画面の一例を示す図である。 工程がグループ化された場合のタイミングチャートの一例を示す図である。 変形例(5)の機能ブロック図である。 想定実行時間と実際の実行時間が比較される場合の一例を示す図である。
本発明の発明者の見地によれば、外部に接続された複数の産業装置を所定の順序で動作させるためのプログラムは、従来はラダーチャート等を利用して作成する必要があり、プログラムの作成に非常に手間がかかっていた。そこで本発明の発明者は、プログラムの作成を簡易化するために鋭意研究開発を行った結果、新規かつ独創的なプログラム作成装置等に想到した。以降、本実施形態に係るプログラム作成装置等を詳細に説明する。
[1.生産システムの全体構成]
図1は、実施形態に係るプログラム作成装置を含む生産システムの全体構成を示す図である。図1に示すように、生産システム1は、プログラム作成装置10、コントローラ20、産業装置30A,30B、及びサーバ40を含む。を含む。これら各装置は、Ethernet(登録商標)又は産業装置専用の通信規格等の任意のネットワークを利用して通信可能に接続される。なお、以降の説明で産業装置30A,30Bを特に区別する必要のないときは、単に産業装置30と記載する。同様に、CPU31A,31B、記憶部32A,32B、及び通信部33A,33Bを特に区別する必要のないときは、単にCPU31、記憶部32、及び通信部33と記載する。
プログラム作成装置10は、プログラムを作成するコンピュータである。例えば、プログラム作成装置10は、パーソナルコンピュータ、携帯端末(タブレット型端末を含む)、又は携帯電話(スマートフォンを含む)である。プログラム作成装置10は、CPU11、記憶部12、通信部13、操作部14、及び表示部15を含む。なお、図1では線を省略しているが、プログラム作成装置10は、産業装置30及びサーバ40とも接続可能である。
CPU11は、少なくとも1つのプロセッサを含む。記憶部12は、RAMやハードディスクを含み、各種プログラムやデータを記憶する。CPU11は、これらプログラムやデータに基づいて各種処理を実行する。通信部13は、ネットワークカードや各種通信コネクタ等の通信インタフェースを含み、他の装置との通信を行う。操作部14は、マウスやキーボード等の入力デバイスである。表示部15は、液晶ディスプレイ又は有機ELディスプレイ等であり、CPU11の指示により各種画面を表示する。
コントローラ20は、複数の産業装置30を制御するコンピュータである。例えば、コントローラ20は、PLCと呼ばれるコンピュータであってもよいし、PLCと同等の機能を有する他の名称のコンピュータであってもよい。例えば、コントローラ20と産業装置30の全体は、ラインよりも小さな単位であるセルと呼ばれることがあり、この場合には、コントローラ20は、セルコントローラと呼ばれることもある。
コントローラ20は、CPU21、記憶部22、及び通信部23を含む。CPU21、記憶部22、及び通信部23の物理的構成は、それぞれCPU11、記憶部12、及び通信部13と同様であってよい。なお、コントローラ20は、産業装置30の制御だけではなく、自身の直下に接続されたロボットやモータ等の機器を直接的に制御してもよいし、産業装置30の動作結果を示すデータの解析をサーバ40に依頼してもよい。
産業装置30は、工程を実行する装置である。産業装置30は、任意の種類の装置を適用可能であり、例えば、ロボットコントローラ、ロボットコントローラの下位装置、産業用ロボット、モータコントローラ、モータコントローラの下位装置、工作機械、プレス加工機、又は搬送機器などである。PLCも産業装置の一種である。産業装置30は、CPU31、記憶部32、及び通信部33を含む。CPU31、記憶部32、及び通信部33の物理的構成は、それぞれCPU11、記憶部12、及び通信部13と同様であってよい。
なお、産業装置30は、他の物理的構成が含まれもよく、例えば、ASICと呼ばれる特定用途向けの集積回路が含まれてもよい。また、産業装置30には、任意の物理的構成が接続されてよく、例えば、モータ等の制御対象の機器、モータ等の動作を検出するためのセンサ、加工対象となるワークの状態を撮影するカメラ、入出力機器、又は他の産業装置などが接続されていてもよい。また、本実施形態では、コントローラ20が2台の産業装置30を制御する場合を説明するが、コントローラ20が制御する産業装置30の台数は、任意の台数であってよく、例えば、3台以上であってもよい。
サーバ40は、サーバコンピュータである。サーバ40は、CPU41、記憶部42、及び通信部43を含む。CPU41、記憶部42、及び通信部43の物理的構成は、それぞれCPU11、記憶部12、及び通信部13と同様であってよい。サーバ40は、コントローラ20及び産業装置30の動作結果を示すデータを収集したり、収集したデータ基づいて動作解析を行ったりする。なお、データの収集や解析を実行するコンピュータは、サーバ40に限られず、他のコンピュータであってもよい。例えば、プログラム作成装置10、ユーザが操作する他の装置、又は他のサーバコンピュータによってデータが収集されたり解析されたりしてもよい。
なお、記憶部12,22,32,42の各々に記憶されるものとして説明するプログラム及びデータは、ネットワークを介して供給されるようにしてもよい。また、各装置のハードウェア構成は、上記の例に限られず、種々のハードウェアを適用可能である。例えば、コンピュータ読み取り可能な情報記憶媒体を読み取る読取部(例えば、光ディスクドライブやメモリカードスロット)や外部機器と直接的に接続するための入出力部(例えば、USB端子)が含まれていてもよい。この場合、情報記憶媒体に記憶されたプログラムやデータが、読取部又は入出力部を介して供給されるようにしてもよい。
[2.プログラム作成装置の概要]
まず、プログラム作成装置10の概要を説明する。プログラム作成装置10は、コントローラ20が複数の産業装置30を制御するためのシステムプログラムを作成する。コントローラ20と産業装置30の全体をセルと呼ぶ場合には、システムプログラムはセルプログラムと呼ばれることもある。システムプログラムは、変数を利用して工程の実行順を制御するためのプログラムである。実行順とは工程が実行される順序である。
変数は、工程が実行される場合に参照及び変更の少なくとも一方が行われる情報である。本実施形態では、産業装置30の記憶部32に、工程を実行するための工程プログラムが記憶されており、変数は、工程プログラムにおいて参照及び変更の少なくとも一方が行われる。参照は、変数に対応するレジスタが読み出されることである。変更は、変数に対応するレジスタの値を書き換えることである。
変数は、工程の実行条件となり、工程ごとに用意される。変数は、産業装置30の動作を示す情報ということもできる。例えば、変数は、工程の開始条件、中断条件(一時停止条件)、又は、終了条件となる。工程の実行条件となる変数以外にも、任意の変数が存在してよく、例えば、工程の実行結果を示す変数、途中計算を示す変数、産業装置30の設定を示す変数、又はセンサの検出結果を示す変数があってもよい。変数は、入出力変数と呼ばれることもある。変数は、産業装置30のレジスタに対応する。変数は、産業装置30又は他の機器(コントローラ20等)によって参照される。
工程とは、産業装置30が行う作業又は動作である。工程は、1つの作業又は動作だけから構成されてもよいし、複数の作業又は動作の組み合わせから構成されてもよい。産業装置30は、任意の用途に応じた工程を実行可能であり、例えば、ワークの認識、ワークの把持、扉の開閉、ワークのセット、工作機械にワークを固定する動作、又は工作機械を利用した加工などを工程として実行する。産業装置30は、少なくとも1つの工程を実行する。産業装置30は、1つの工程だけを実行してもよいし、複数の工程を実行してもよい。
工程プログラムは、工程における個々の手順が定義されたプログラムである。工程プログラムは、産業装置30の動作を定義したプログラムということもできる。工程プログラムは、任意の言語で作成可能であり、例えば、ラダー言語又はロボット言語によって作成される。産業装置30によって工程プログラムの言語が異なってもよく、例えば、産業装置30Aの工程プログラムがラダー言語であり、産業装置30Bの工程プログラムがロボット言語であってもよい。
本実施形態では、工程ごとに工程プログラムが用意されており、工程と工程プログラムは、1対1の関係にある。このため、ある産業装置30がn個(nは自然数)の工程を行うとすると、当該産業装置30は、少なくともn個の工程プログラムを記憶する。なお、工程と工程プログラムは、1対1の関係になくてもよく、例えば、1つの工程プログラムにより複数の工程が実行されてもよいし、1つの工程を実行するために複数の工程プログラムが用意されていてもよい。
図2は、システムプログラムと工程プログラムの関係を示す図である。本実施形態では、産業装置30Aが工程A1,A2,A3の3つの工程を実行し、その後に、産業装置30Bが工程B1,B2の2つの工程を実行する場合を例に挙げる。図2に示すように、産業装置30Aは、工程A1,A2,A3にそれぞれ対応する工程プログラムPA1,PA2,PA3を記憶する。産業装置30Bは、工程B1,B2にそれぞれ対応する工程プログラムPB1,PB2を記憶する。以降、個々の工程プログラムを区別しないときは、単に工程プログラムPと記載する。
図2の例では、工程プログラムPのデフォルトの変数として、実行開始を示す開始変数「Start」、中断(一時停止)を示す中断変数「Abort」、ビジー状態を示すビジー変数「Busy」、及び実行終了を示す終了変数「End」が用意されている。工程プログラムPには、これらデフォルトの変数以外の変数も設定可能である。例えば、所定の信号の値を示す変数、又は、途中計算を示す変数が設定されてもよい。
本実施形態では、ユーザがプログラム作成装置10を操作して工程プログラムPを作成する場合を説明するが、工程プログラムPは、他のコンピュータにより作成されてもよい。例えば、コントローラ20のユーザと産業装置30のユーザとが異なる場合には、工程プログラムPは、プログラム作成装置10以外の他のコンピュータにより作成される。システムプログラムQは、工程の実行順を制御するためのプログラムなので、システムプログラムQを作成する前に、工程プログラムPが予め作成される。
図3は、工程プログラムPの作成手順を示す説明図である。ここでは、工程プログラムPA2の作成手順を例に挙げて説明する。図3に示すように、ユーザは、プログラム作成装置10にインストールされたエンジニアリングツールを利用して、工程プロジェクトを作成する(図3の手順1)。工程プロジェクトは、工程プログラムPA2の管理単位であり、産業装置30の名称や工程の名称等の任意のプロジェクト名を設定可能である。
ユーザは、工程プロジェクトを作成すると、工程プログラムPA2の初期設定を行う(図3の手順2)。初期設定では、工程プログラムPA2の基本的な情報が設定され、例えば、工程を実行させる産業装置30Aの名称、工程プログラムPA2の種類、及び工程の名称等が指定される。工程の名称は、産業装置30の中で工程を一意に識別する情報である。工程の名称は、ユーザにより入力された任意の文字列であってよく、他の工程とは重複しないように設定される。なお、後述する想定実行時間についても、手順2で指定されるものとする。
図3の手順2において、作成中の工程プログラムPA2に対してデフォルトの変数が設定される。例えば、工程プログラムPA2のデフォルトの変数として、開始変数「Start」、中断変数「Abort」、ビジー変数「Busy」、及び終了変数「End」が設定される。例えば、工程A2の開始変数「Start」が所定の値に変更されると、工程プログラムPA2が実行されて工程A2が開始される。また例えば、工程プログラムPA2に記述された全ての命令が実行されて工程が終了すると、工程A2の終了変数「End」が所定の値に変更される。
本実施形態では、他の工程A1,A3でもデフォルトの変数が用意されている。このため、工程A2の変数であることを識別できるように、工程A2を識別する「A2」の文字列が工程の名称に付与される。例えば、工程A2の開始変数の名称は「A2.Start」となり、工程A2の終了変数の名称は「A2.End」となる。図2及び図3では省略しているが、中断変数「Abort」及びビジー変数「Busy」についても、「A2」の文字列が付与される。
ユーザは、デフォルトの変数以外の他の変数も設定可能である。例えば、ユーザは、他の変数を設定する場合、産業装置30A内の所定の信号の名称を示す「S1」を入力する(図3の手順3)。他の変数の名称は、開始変数等と同様に、工程A2を識別する「A2」の文字列が付与されて「A2.S1」となる。変数の設定が終了すると、工程プログラムPA2のプログラミングを行い(図3の手順4)、工程プログラムPA2の作成が完了する。工程プログラムPA2のプログラミング自体は、公知の種々の手法を適用可能であり、例えば、ラダー言語又はロボット言語を利用可能である。なお、プログラミングや変数設定の際に、ユーザが補足説明のコメントを入力するようにしてもよい。
工程プログラムPA2が作成されると、工程プログラムPA2の実データが、産業装置30Aに記録される。更に、ユーザが指定した工程の名称や変数の名称等が格納された工程情報が、コントローラ20の工程データベースに登録される。工程情報及び工程データベースの詳細については後述する。ユーザは、工程の数だけ上記作成手順を繰り返し、各工程の工程プログラムPと工程情報を作成する。
なお、本実施形態では、工程プログラムPA1,PA2,PA3の作成時に、産業装置30Aの中での実行順が指定され、工程情報に格納されるものとする。工程プログラムPB1,PB2についても同様であり、これらの作成時に産業装置30Bの中での実行順が指定され、工程情報に格納されるものとする。ただし、産業装置30Aが実行する工程と、産業装置30Bが実行する工程と、の何れが先に実行させるかについては、工程プログラムPの作成時点では指定されず、後述するスケジュール画面で指定される。
ユーザは、工程プログラムPの作成及び工程情報の登録を完了すると、システムプログラムQを作成する。本実施形態では、工程A1,A2,A3,B1,B2の順序で実行されるので、ユーザは、この順番で工程プログラムPA1,PA2,PA3,PB1,PB2が実行されるように、システムプログラムQを作成する。
図2の例であれば、工程A1は、所定の入出力信号が入力されると開始する。例えば、入出力信号は、コントローラ20又は産業装置30Aに備えられたボタン等の外部機器から入力される。システムプログラムQは、入出力信号が入力された場合に、工程A1の開始変数「A1.Start」を所定の値に変更する。開始変数「A1.Start」が所定の値になると、工程プログラムPA1が実行されて工程A1が開始する。
工程A1が正常に終了すると、工程A1の終了変数「A1.End」が所定の値になる。システムプログラムQは、終了変数「A1.End」が所定の値になった場合に、次の工程A2の開始変数「A2.Start」を所定の値に変更する。開始変数「A2.Start」が所定の値になると、工程プログラムPA2が実行されて工程A2が開始する。
工程A2が正常に終了すると、工程A2の変数「A2.S1」と終了変数「A2.End」が所定の値になる。システムプログラムQは、これらが所定の値になった場合に、次の工程A3の開始変数「A3.Start」を所定の値に変更する。開始変数「A3.Start」が所定の値になると、工程プログラムPA3が実行されて工程A3が開始する。
工程A3が正常に終了すると、工程A3の終了変数「A3.End」が所定の値になる。システムプログラムQは、終了変数「A3.End」が所定の値になった場合に、次の工程B1の開始変数「B1.Start」を所定の値に変更する。開始変数「B1.Start」が所定の値になると、工程プログラムPB1が実行されて工程B1が開始する。
工程B1が正常に終了すると、工程B1の終了変数「B1.End」が所定の値になる。システムプログラムQは、終了変数「B1.End」が所定の値になった場合に、次の工程B2の開始変数「B2.Start」を所定の値に変更する。開始変数「B2.Start」が所定の値になると、工程プログラムPB2が実行されて工程B2が開始する。
工程B2が正常に終了すると、工程B2の終了変数「B2.End」が所定の値になる。システムプログラムQは、終了変数「B1.End」が所定の値になった場合に、産業装置30Bに所定の出力信号を出力させ、1サイクル目の全工程が終了する。出力信号は、コントローラ20に対する信号であってもよいし、外部のセンサやLEDライト等の機器に対する信号であってもよい。
各工程の開始変数と終了変数は、サイクルの終了時又は各工程の終了後等の任意のタイミングで初期値に変更される。2サイクル目は、1サイクル目の終了後に開始されてもよいし、1サイクル目の途中で開始されてもよい。2サイクル目の開始タイミングが訪れると、システムプログラムQは、工程A1の開始変数「A1.Start」を所定の値に変更させ、2サイクル目の各工程が開始する。以降、1サイクル目と同様にして各工程が周期的に実行される。
プログラム作成装置10には、上記のようなシステムプログラムQの作成を簡易化するためのエンジニアリングツールが用意されている。プログラム作成装置10においてエンジニアリングツールが起動すると、工程の実行順を指定してシステムプログラムQを作成するためのスケジュール画面が表示部15に表示される。
図4は、スケジュール画面の一例を示す図である。図4に示すように、スケジュール画面G1は、ユーザの作業を支援する種々のユーザインタフェースを有する画面である。スケジュール画面G1は、プログラムの作成以外にも変数の設定やシミュレーション等が可能であってもよい。例えば、スケジュール画面G1には、工程の実行順を指定するためのタイミングチャートCが表示される。
例えば、タイミングチャートCには、右方向(横方向)にタイミング軸(時間軸)が設定されている。画面の右に行くほど、時間的に後であることを意味する。また、タイミングチャートCには、一定時間(図4の場合は5秒)ごとに数値が表示されており、単位時間(図4の場合は1秒)を示すマス目が並べられている。図4の例であれば、例えば、0〜5秒の間には、5つのマス目が並べられる。
ユーザは、タイミングチャートCにおいて、産業装置30が実行する工程の実行順を指定し、システムプログラムQを作成する。図4の例では、ユーザがまだ産業装置30を指定しておらず、タイミングチャートCには、工程に関する情報は表示されていない。
例えば、スケジュール画面G1には、コントローラ20の制御対象となる産業装置30の名称を示すリストLが表示される。本実施形態では、産業装置30A,30Bが制御対象となるので、これら2台の名称がリストLに表示される。例えば、ユーザが、リストLからタイミングチャートCに、産業装置30Aの名称をドラッグアンドドロップすると、タイミングチャートCに、産業装置30Aが実行する工程A1,A2,A3の情報が表示される。
図5は、産業装置30Aの名称がドラッグアンドドロップされた場合のタイミングチャートCの一例を示す図である。図5に示すように、タイミングチャートCには、産業装置30Aの名称、工程A1,A2,A3の各々の名称、及び各工程に設定された想定実行時間が表示される。なお、タイミングチャートCには、工程情報に含まれる他の情報(例えば、変数の名称や産業装置30A内における実行順)が表示されてもよい。
想定実行時間は、各工程の実行に要する想定時間である。本実施形態では、想定実行時間が1秒単位で定義される場合を説明するが、2秒単位や0.5秒単位などの他の単位で定義されてもよい。図5の例であれば、工程A1,A2,A3の各々の想定実行時間は、3秒、4秒、3秒となっている。なお、図5の例では、ある工程から次の工程に移行するのに要する時間を考慮していないが、後述する図9のように、工程間の時間が考慮されてもよい。
本実施形態では、産業装置30内での工程A1,A2,A3の実行順が予め指定されているので、タイミングチャートCには、これらの工程の名称が、上から下に向けて実行順に並べて表示される。各工程の名称が実行順に並ぶことにより、ユーザは、これらの実行順を直感的に把握できる。
また、タイミングチャートCでは、工程A1,A2,A3をそれぞれ示す工程イメージI1,I2,I3が、タイミング軸上で実行順に並べて表示される。例えば、工程A1の想定実行時間は3秒であり、工程A1の行における1秒〜3秒の3つのマス目を所定の色で塗りつぶすように、工程イメージI1が表示される。工程A2の想定実行時間は4秒であり、工程A2の行における4秒〜7秒の4つのマス目を塗りつぶすように、工程イメージI2が表示される。工程A3の想定実行時間は3秒であり、工程A3の行における8秒〜10秒の3つのマス目を塗りつぶすように、工程イメージI3が表示される。
図5に示すように、工程イメージI1,I2,I3は、想定実行時間に応じた長さになっており、ユーザは、工程A1,A2,A3の各々の想定実行時間の長さを直感的に把握できる。更に、工程イメージI1,I2,I3がタイミング軸上で実行順に並ぶので、ユーザは、工程A1,A2,A3の実行順を時系列的に把握できる。
図5の状態では、産業装置30Aしか選択されていないので、ユーザは、産業装置30Bの名称も選択する。例えば、ユーザが、リストLからタイミングチャートCに、産業装置30Bの名称をドラッグアンドドロップすると、タイミングチャートCに、産業装置30Bが実行する工程B1,B2の情報が表示される。
図6は、産業装置30Bの名称がドラッグアンドドロップされた場合のタイミングチャートCの一例を示す図である。図6に示すように、タイミングチャートCには、産業装置30Bの名称、工程B1,B2の各々の名称、及び各工程に設定された想定実行時間が新たに表示される。図6の例では、工程イメージI4,I5が示すように、工程B1,B2の各々の想定実行時間は、4秒、2秒となっている。
図6の状態では、産業装置30Bの名称がタイミングチャートC上にドラッグアンドドロップされただけであり、工程A1,A2,A3と、工程B1、B2と、の実行順は、まだ指定されていない。このため、タイミングチャートC上では、工程A1,A2,A3と、工程B1,B2と、の時間的な前後関係は区別されておらず、工程A1も0秒から開始し、工程B1も0秒から開始する状態となっている。
本実施形態では、タイミングチャートCに表示された工程イメージIを、ドラッグアンドドロップして移動させることによって、工程の実行順を指定できるようになっている。先述したように、工程B1は、工程A3の次に実行されるので、ユーザは、工程A3よりも後になるように(工程イメージI3よりも右の11秒以降の位置に)、工程イメージI4をドラッグアンドドロップすることによって、工程の実行順を指定する。
図7は、工程の実行順が指定された場合のタイミングチャートCの一例を示す図である。図7に示すように、工程の実行順が指定されると、工程イメージI4は、工程イメージI3の後に移動し、工程B1の行における11秒〜14秒の位置に移動する。工程イメージI5も同様に移動し、工程B2の行における15秒〜16秒の位置に移動する。このように、ユーザは、工程イメージIをドラッグアンドドロップすることによって、工程の実行順を指定する。
なお、工程の実行順の指定方法は、上記の例に限られず、他の操作を利用してもよい。例えば、図6の状態で、ユーザは、工程イメージI5をドラッグアンドドロップすることによって、工程の実行順を指定してもよい。例えば、ユーザは、工程A3よりも後になるように(工程イメージI3よりも右になるように)、工程イメージI5をドラッグアンドドロップしてもよい。この場合、タイミングチャートCは、図7と同じ状態になる。
また例えば、図6の状態で、ユーザは、工程B1よりも前になるように(工程イメージI4よりも左の0秒よりも前の位置に)、工程イメージI1をドラッグアンドドロップすることによって、工程の実行順を指定してもよい。この場合、ユーザは、工程A1,A2,A3の実行順が工程B1,B2よりも前であることを指定したことになり、タイミングチャートCは、図7と同じ状態になる。また例えば、工程イメージIのドラッグアンドドロップ以外にも、タイミングチャートC内の任意の位置(マス目)をクリック又はタップ等することによって、工程の実行順が指定されてもよい。
以上の操作により、工程の実行順が指定される。本実施形態では、タイミングチャートCにおいて、2サイクル目の開始タイミングを指定できるようになっている。例えば、図7の状態において、ユーザが、2サイクル目の開始タイミングとして工程A1の行における任意の位置を選択すると、2サイクル目以降の工程が時系列的に表示される。
図8は、2サイクル目の開始タイミングが指定された場合のタイミングチャートCの一例を示す図である。例えば、ユーザが2サイクル目の開始タイミングとして、工程A1の行の15秒目のマス目を選択したとすると、図8に示すように、工程A1行における15秒目〜17秒目に、2サイクル目の工程A1を示す工程イメージI6が表示される。
2サイクル目以降においても工程の実行順及び想定実行時間は変わらないので、図8に示すように、2サイクル目以降の各工程は、1サイクル目の実行順を保つように、2サイクル目の工程A2,A3,B1,B2を示す工程イメージI7,I8,I9,I10が表示される。3サイクル目以降も同様に、2サイクル目と同様の開始タイミングで開始されるように、工程イメージI11,I12,I13,I14が表示される。画面に入りきらない工程イメージIについては、スクロール操作によって表示される。
ユーザは、上記のようにして各工程の実行順を指定すると、システムプログラムQを作成するためのビルド操作を行う。ビルド操作が行われると、各工程プログラムPの工程情報と、タイミングチャートC上で指定された実行順と、に基づいてビルド作業が行われ、システムプログラムQが作成される。
なお、ビルド作業を行うプログラム自体は、公知の種々のプログラムを利用可能である。例えば、ラダー言語を利用する場合、ユーザが指定した実行順で各工程の開始変数等の値を変更するように起動スイッチやコイル等が配置され、システムプログラムQが作成される。また例えば、ロボット言語を利用する場合、ユーザが指定した実行順で各工程の開始変数等の値を変更するように条件分岐の命令等が記述され、システムプログラムQが作成される。システムプログラムQが作成されると、コントローラ20に記録される。
以上のように、本実施形態では、タイミングチャートCから工程の実行順を指定すればシステムプログラムQが作成されるので、ラダーチャート等を手作業で作成する必要がなくなり、システムプログラムQを容易に作成することができる。なお、タイミングチャートCは、図4−図8の例に限られず、任意のレイアウトを適用可能である。タイミングチャートCは、産業装置30の動作を時系列的に表示可能なレイアウトであればよい。
図9は、タイミングチャートCの別レイアウトを示す図である。図9に示すように、タイミングチャートCは、単位時間を示すマス目が設けられていなくてもよい。図9の例では、各工程が実行される時間帯が、工程イメージI1〜I11によって示されている。更に、図4−図8のタイミングチャートCでは、ある工程と次の工程との間に時間間隔を設けなかったが、図9に示すように、これらの間に時間間隔(例えば、1秒)を設けてもよい。
図9の例では、各工程の開始条件を視覚的に理解できるように、工程イメージI1〜I11が矢印で繋がれている。図9のようなタイミングチャートCであった場合にも、ユーザは、工程イメージI1〜I11をドラッグアンドドロップする等によって、工程の実行順を指定すればよい。他にも例えば、ユーザは、工程A3と工程B1を矢印でつなぐ等することによって、工程の実行順を指定してもよい。
以上のように、本実施形態のプログラム作成装置10は、システムプログラムQの作成を簡易化する構成を有する。以降、当該構成の詳細を説明する。
[3.生産システムで実現される機能]
図10は、生産システム1で実現される機能を示す機能ブロック図である。本実施形態では、プログラム作成装置10、コントローラ20、及び産業装置30の各々で実現される機能について説明する。なお、産業装置30A,30Bの各々では、同様の機能が実現されるため、図10では、1つの産業装置30として記載する。
[3−1.プログラム作成装置で実現される機能]
図10に示すように、プログラム作成装置10では、データ記憶部100、条件設定部101、工程登録部102、工程プログラム作成部103、表示制御部104、受付部105、及びシステムプログラム作成部106が実現される。
[データ記憶部]
データ記憶部100は、記憶部12を主として実現される。データ記憶部100は、システムプログラムQを作成するために必要なデータを記憶する。例えば、データ記憶部100は、各工程の工程情報が格納された工程データベースDBを記憶する。
図11は、工程データベースDBのデータ格納例を示す図である。図11に示すように、工程データベースDBには、産業装置30の名称と、当該産業装置30が実行する工程の工程情報と、が格納される。例えば、新たな工程の工程プログラムPが作成されると、後述する工程登録部102により、新たな工程の工程情報が工程データベースDBに登録される。工程情報は、工程データベースDBへの登録後に編集可能であってもよい。本実施形態では、コントローラ20の制御対象となる全ての産業装置30の工程情報が工程データベースDBに格納される場合を説明するが、一部の産業装置30の工程情報だけが工程データベースDBに格納されてもよい。
工程情報は、工程の基本的な情報を示し、その内容は後述する条件設定部101によって設定される。工程情報には、スケジュール画面G1からシステムプログラムQを作成するために必要な情報が格納される。例えば、工程情報には、工程の名称、想定実行時間、実行順、変数の名称、実行条件、及びコメントが格納される。
工程の名称は、工程プログラムPの作成時に指定された名称である。工程の名称は、産業装置30の中で工程を一意に識別可能であればよく、他の産業装置30の工程の名称と同じであってもよい。本実施形態では、ユーザが工程の名称を指定する場合を説明するが、工程の名称は、所定のルールに基づいて自動的に付与されてもよい。また、工程の名称は、工程のID等のように工程を一意に特定できるものであってもよい。
本実施形態では、想定実行時間は、工程プログラムPの作成時に指定された数値となる。なお、想定実行時間は、ユーザが指定するのではなく、シミュレーションによって計算された数値であってもよい。想定実行時間は、後述する変形例のように編集可能であってもよい。
実行順は、生産システム1全体の中での工程の実行順である。本実施形態では、工程プログラムPの作成時に、産業装置30内でのローカルな実行順が指定されるので、工程の登録時には、当該指定された実行順が格納される。工程が登録された後に、生産システム1全体における実行順が指定されるので、ローカルな実行順は、生産システム1全体における実行順に変更される。
例えば、工程プログラムPA1,PA2,PA3の作成時に、工程A1,A2,A3の各々の実行順として「1」、「2」、「3」が指定される。また例えば、工程プログラムPB1,PB2の作成時に、工程B1,B2の各々の実行順として「1」、「2」が指定される。この時点では、産業装置30内での実行順が指定されているだけなので、工程A1,A2,A3と、工程B1,B2と、の何れが先に実行されるかについては特定されない。図7を参照して説明したように、ユーザがスケジュール画面G1からこれらの実行順を指定すると、工程B1,B2の実行順が「4」、「5」に変更される。
なお、工程プログラムPの作成時に、産業装置30内でのローカルな実行順が指定されなくてもよい。この場合、工程の登録時には実行順が格納されず、ユーザがスケジュール画面G1から実行順を指定した場合に、当該指定された実行順が工程情報に格納されるようにすればよい。例えば、ユーザは、スケジュール画面G1から、工程A1,A2,A3,B1,B2の各々の実行順として、「1」、「2」、「3」、「4」、「5」を指定し、これらの実行順が工程情報に格納される。
変数の名称は、工程プログラムPの作成時に設定された名称である。本実施形態では、デフォルトの変数だけでなく、ユーザが任意の変数を指定可能なので、ユーザが指定した変数の名称が格納されることもある。先述したように、本実施形態の変数の名称は、工程の名称(「A1」等の文字列)と、変数の種類を示す文字列(「Start」等の文字列)と、を含み、工程間で変数の名称が重複しないようになっている。
なお、変数の名称は、任意のルールで設定可能であり、本実施形態の例に限られない。例えば、変数の名称は、産業装置30の名称(「EquipA」等の文字列)を含み、どの産業装置30の変数であるかを識別可能であってもよい。また例えば、変数の名称は、産業装置30の名称や工程の名称を特に含まずに、生産システム1又は産業装置30内で変数を一意に識別できるような文字列で定められていてもよい。工程の名称と同様、変数の名称についても、変数のID等のように変数を一意に特定できるものであってもよい。
また例えば、コントローラ20が管理する変数の名称と、産業装置30が管理する変数の名称と、が異なってもよい。即ち、コントローラ20が変数を識別する名称と、産業装置30が変数を識別する名称と、が異なってもよい。前者をシステム変数と呼び、後者を装置変数と呼ぶと、データ記憶部100は、システム変数と装置変数を互いに変換するためのテーブル又はデータベースを記憶する。コントローラ20が産業装置30の変数を参照する場合には、システム変数が装置変数に変換されたうえで、当該装置変数に対応するレジスタ読み出しが行われる。コントローラ20が産業装置30の変数を変更する場合も同様に、システム変数が装置変数に変換される。
実行条件は、変数を変更するか否かを示す条件である。開始変数の実行条件としては、工程を開始する条件が設定される。中断変数の実行条件としては、工程を中断する条件が設定される。ビジー変数の実行条件としては、工程をビジー状態とする条件が設定される。終了変数の実行条件としては、工程を終了する条件が設定される。
本実施形態では、工程プログラムPの作成時に、産業装置30内でのローカルな実行順が指定されるので、工程の登録時には、当該指定された実行順となるように、実行条件が格納される。工程が登録された後に、生産システム1全体における実行順が指定されるので、実行条件は、生産システム1全体における実行順となるように変更される。
例えば、工程プログラムPA1の作成時に、入出力信号が入力された場合に工程A1が開始することが指定される。工程A1の実行条件は、入出力信号を示す変数「IO1.Input1」になる。変数「IO1.Input1」が所定の値になった場合に、開始変数「A1.Start」が所定の値になり、工程A1が開始する。
また例えば、工程プログラムPA2の作成時に、工程A1の次に工程A2が実行されることが指定される。工程A2の実行条件は、工程A1の終了変数「A1.End」になる。終了変数「A1.End」が所定の値になった場合に、開始変数「A2.Start」が所定の値になり、工程A2が開始する。
また例えば、工程プログラムPA3の作成時に、工程A2の次に工程A3が実行されることが指定される。更に、工程A2の変数「A2.S1」も工程A3の開始の条件になることが指定される。このため、工程A3の実行条件は、工程A2の終了変数「A2.End」になる。変数「A2.S1」と終了変数「A2.End」の各々が所定の値になった場合に、開始変数「A3.Start」が所定の値になり、工程A3が開始する。
本実施形態では、工程プログラムPB1の作成時には、工程B1を開始する条件については指定されない。工程B1が工程A3の次に実行されることは、スケジュール画面G1から指定されるので、この指定を受け付けた場合に(図6から図7の画面になった場合に)、工程B1の実行条件は、工程A3の終了変数「A3.End」になる。終了変数「A3.End」が所定の値になった場合に、開始変数「B1.Start」が所定の値になり、工程B1が開始する。
例えば、工程プログラムPB2の作成時に、工程B1の次に工程B2が実行されることが指定される。工程B2の実行条件は、工程B1の終了変数「B1.End」になる。終了変数「B1.End」が所定の値になった場合に、開始変数「B2.Start」が所定の値になり、工程B2が開始する。
なお、データ記憶部100が記憶するデータは、上記の例に限られない。例えば、データ記憶部100は、システムプログラムQのビルド作業を実行するためのプログラムを記憶する。また例えば、データ記憶部100は、スケジュール画面G1に表示される画像の画像データを記憶してもよいし、エンジニアリングツールを記憶してもよい。また例えば、データ記憶部100は、作成済みの工程プログラムPとシステムプログラムQとを記憶してもよい。
[条件設定部]
条件設定部101は、CPU11を主として実現される。条件設定部101は、工程データベースDBに未登録の新たな工程に対して、開始変数及び変更変数の少なくとも一方の条件を設定する。本実施形態では、新たな工程に対して、開始変数及び変更変数の両方の条件が設定される場合を説明するが、条件設定部101は、開始変数又は変更変数の何れかの条件だけを設定してもよい。
未登録の新たな工程とは、工程データベースDBに工程情報が登録(格納)されていない工程である。即ち、これから工程情報を登録する工程は、未登録の新たな工程である。別の言い方をすれば、工程プログラムPが新たに作成される工程は、未登録の新たな工程である。
開始変数は、先述した通り、工程の開始条件となる変数である。開始変数が初期値(例えば、0)であることは、工程を開始しないことを意味し、開始変数が所定の値(例えば、1)であることは、工程を開始することを意味する。例えば、工程プログラムPは、自身の開始変数を定期的に関し、開始変数が所定の値になった場合に、最初に記述された命令を実行する。開始変数の条件は、開始変数の値を変更するための条件であり、例えば、他の変数の値である。
変更変数は、工程プログラムPにより変更される変数である。変更変数は、開始変数以外の変数ということもできる。例えば、変更変数は、中断変数、ビジー変数、終了変数、所定の信号を示す数(例えば、工程A2の変数「A2.S1」)、又は計算の途中結果を示す変数である。変更変数の条件は、変更変数の値を変更するための条件である。
条件設定部101は、開始変数及び変更変数の条件として、任意の条件を設定可能である。例えば、条件設定部101は、他の変数が所定の値になること、ボタンやセンサ等の機器から所定の信号を受け付けること、産業装置30の動作状態が所定の状態になること、又は所定の時間が訪れること、を条件として設定する。なお、条件の設定とは、条件の内容を決定又は取得することである。条件は、ユーザによって指定されてもよいし、予め定められたアルゴリズムによって自動的に設定されてもよい。
本実施形態では、新たな工程の工程プログラムPの作成時に産業装置30内のローカルな実行順が指定されるので、条件設定部101は、当該新たな工程に対し、開始変数の条件を設定する。例えば、条件設定部101は、工程A1を新たに登録する場合に、工程A1の開始変数の条件として、入出力信号の変数「IO1.Input1」を設定する。条件設定部101は、工程A2を新たに登録する場合に、工程A2の開始変数の条件として、工程A1の終了変数「A1.End」を設定する。条件設定部101は、工程A3を新たに登録する場合に、工程A3の開始変数の条件として、工程A2の変数「PA2.S1」と終了変数「A2.End」を設定する。
工程B1が新たに登録される場合には、まだ工程A3の次に実行されることは指定されないので、工程B1の開始変数の条件は設定されない。工程B1の開始変数の条件は、スケジュール画面G1から実行順が指定された場合に設定される。例えば、条件設定部101は、スケジュール画面G1において、工程B1が工程A3の次に実行されることが指定されると、工程B1の開始変数の条件として、工程A3の終了変数「A3.End」を設定する。条件設定部101は、工程B2を新たに登録する場合に、工程B−3の開始変数の条件として、工程A2の変数「PA2.S1」と終了変数「A1.End」を設定する。
なお、変更変数の条件についても、工程プログラムPの作成時に指定されるものとする。条件設定部101は、工程プログラムPの作成時に指定された条件を、変更変数の条件として設定する。例えば、条件設定部101は、中断変数の条件として、エラー発生を示す変数が所定の値になることを設定する。また例えば、条件設定部101は、ビジー変数の条件として、工程を開始してから一定時間経過しても終了しないことを設定する。また例えば、条件設定部101は、終了変数の条件として、工程プログラムPに記述された最後の処理が終了することを設定する。
本実施形態では、「Start」や「End」といったデフォルトの変数以外にも、「Input1」といった任意の変数を追加することができるので、条件設定部101は、開始変数及び変更変数の少なくとも一方として、予め定められたデフォルトの変数を設定し、ユーザにより指定された変数を追加可能である。即ち、開始変数及び変更変数の少なくとも一方には、デフォルトの変数だけでなく、ユーザにより指定された変数も含まれることがある。
例えば、デフォルトの変数以外の変数を工程開始の条件としたい場合には、条件設定部101は、開始変数についても、ユーザにより指定された変数を追加可能である。この場合、ユーザは、「Input1」といった任意の信号の変数を開始変数として指定することができる。ユーザが変更変数を指定する場合については、先述した通りである。条件設定部101は、ユーザにより指定された変数を追加しなければならないわけではなく、ユーザが変数を指定しなかった場合には、変数を追加しない。この場合、新たに登録される工程には、デフォルトの変数だけが設定されることになる。
なお、デフォルトの変数は、本実施形態で説明した「Start」、「End」、「Abort」、「Busy」に限られない。デフォルトの変数は、任意の変数を設定可能である。例えば、動作を停止させる「Stop」、動作を待機又は休止させる「Pause」、又は動作を再開させる「Restart」といったように、入力となりうるデフォルトの変数が存在してもよい。また例えば、動作の完了を示す「Complete」、準備の完了を示す「Ready」、エラー発生を示す「Error」、又はタイムアウトを示す「Timeout」といったように、出力となりうるデフォルトの変数が存在してもよい。
また、ユーザにより指定される変数についても、本実施形態で説明した「Input1」のような例に限られない。ユーザにより指定される変数は、任意の変数を設定可能である。例えば、産業装置又は作業対象物(いわゆるワーク)の速度又は位置を示す変数、産業装置が実行するプログラムの名称を示す変数、産業装置が属するライン又はセルの番号を示す変数、又は工程の実行時間を示す変数といったように、入力又は出力となりうる変数がユーザにより指定されてもよい。
[工程登録部]
工程登録部102は、CPU11を主として実現される。工程登録部102は、条件設定部101が設定した開始変数及び変更変数の少なくとも一方を、新たな工程の名称に関連付けて、工程データベースDBに工程情報として保存する。本実施形態では、開始変数及び変更変数の両方が新たな工程の名称に関連付けて保存される場合を説明するが、工程登録部102は、開始変数又は変更変数の何れか一方だけを、新たな工程の名称に関連付けて保存してもよい。工程登録部102は、新たな工程の名称と、開始変数及び変更変数の条件(図11のデータ格納例では実行条件)と、を含む工程情報を工程データベースDBに保存する。本実施形態では、工程プログラムPの作成時に、新たな工程の名称が指定されるので、工程登録部102は、当該指定された新たな工程の名称を工程情報に含める。
[工程プログラム作成部]
工程プログラム作成部103は、CPU11を主として実現される。工程プログラム作成部103は、工程プログラムPを作成する。図3を参照して説明したように、工程プログラムP自体は、公知の言語で作成可能である。例えば、工程プログラム作成部103は、ユーザが記述したラダーチャートに対してビルド作業を施して工程プログラムPを作成する。また例えば、工程プログラム作成部103は、ユーザがロボット言語を利用して記述したコードをコンパイルして工程プログラムPを作成する。
本実施形態では、開始変数が工程プログラムPの実行の開始条件となるので、工程プログラム作成部103は、条件設定部101が設定した開始変数が所定の値になった場合に実行を開始するように、工程プログラムPを作成する。例えば、ラダー言語を利用する場合、工程プログラム作成部103は、ユーザが記述したラダーチャートに対し、開始変数に相当する起動スイッチ又はコイルを挿入してビルド作業を実行する。また例えば、ロボット言語を利用する場合、工程プログラム作成部103は、ユーザが記述したコードに対し、開始変数が所定の値になった場合に実行するような条件分岐を挿入してコンパイルを実行する。
また例えば、工程プログラム作成部103は、工程プログラムPが最後の処理を実行した場合に、終了変数を所定の値に変更するように、工程プログラムPを作成する。例えば、ラダー言語を利用する場合、工程プログラム作成部103は、ユーザが記述したラダーチャートに対し、終了変数に相当する起動スイッチ又はコイルを挿入してビルド作業を実行する。また例えば、ロボット言語を利用する場合、工程プログラム作成部103は、ユーザが記述したコードに対し、最後の処理が終了した場合に終了変数を所定の値に設定する命令を挿入してコンパイルを実行する。中断変数及びビジー変数についても同様に、工程プログラム作成部103は、所定の条件が満たされた場合に、中断変数及びビジー変数を所定の値にするように、工程プログラムPを生成すればよい。
[表示制御部]
表示制御部104は、CPU11を主として実現される。表示制御部104は、複数の産業装置30を備えた生産システム1において実行される複数の工程それぞれに対して、少なくとも、工程の名称と、1以上の産業装置30の動作を表して工程で実行される工程プログラムPにおいて参照及び変更の少なくとも一方が行われる変数と、が関連付けられ、工程情報として保存される工程データベースDBから取得した複数の工程の名称を含み、当該複数の工程の実行順を指定可能なスケジュール画面G1を表示させる。
本実施形態では、変数は、工程プログラムPにより参照及び変更の両方が行われる場合を説明するが、参照又は変更の何れか一方のみが行われてもよい。各工程の変数は、当該工程の工程プログラムPにより参照及び変更が行われてもよいし、他の工程プログラムP又はシステムプログラムQにより参照及び変更が行われてもよい。工程の名称と変数が関連付けられるとは、これらが同じ工程情報の中に含まれること、又は、これらが互いに紐付けられることである。
実行順を指定可能なスケジュール画面G1とは、実行順を指定可能なユーザインタフェースを有する画面である。実行順は、任意の方法によって指定可能であり、スケジュール画面G1のレイアウトは、図4−図8の例に限られない。例えば、スケジュール画面G1は、図9のようなレイアウトであってもよいし、後述する変形例のように、タイミングチャート形式ではなくテーブル形式のレイアウトであってもよい。また例えば、スケジュール画面G1は、フローチャート形式等の他のレイアウトであってもよい。
本実施形態では、表示制御部104は、受付部105が受け付けた実行順と、当該実行順に含まれる各工程の名称及び変数とに基づいて、タイミングチャートCをスケジュール画面G1として表示させる。本実施形態では、実行順、工程の名称、及び変数が工程情報として工程データベースDBに格納されるので、表示制御部104は、工程データベースDBの工程情報に基づいて、タイミングチャートCを表示させる。
タイミングチャートCは、工程の実行順を示すチャートであるである。別の言い方をすれば、タイミングチャートCは、工程の実行タイミングを時系列的に示すチャートである。タイミングチャートCには、工程を識別する情報が時系列的に並べられる。例えば、タイミングチャートCには、工程の名称が時系列的に並べられる。また例えば、タイミングチャートCには、工程の実行タイミングを示す工程イメージIが時系列的に並べられる。なお、工程の名称や工程イメージI以外の画像(アイコン等)が、工程を識別する情報として用いられてもよい。工程の実行順は、工程情報に格納された実行順の数値によって特定されてもよいし、工程情報に格納された変数及び実行条件によって特定されてもよい。
工程を識別する情報が並べられる方向は、任意の方向であってよく、例えば、上から下、左から右、下から上、又は右から左の何れかである。本実施形態では、工程の名称については、上から下に向けて時系列的に並べられる。工程イメージIについては、左から右に向けて時系列的に並べられる。例えば、表示制御部104は、工程データベースDBに格納された工程情報を参照して工程の名称と実行順を特定し、上から下に向けて工程の名称が実行順に並び、かつ、左から右に向けて工程イメージIが実行順に並ぶタイミングチャートCを表示させる。
タイミングチャートCには、実行順に含まれる複数の工程それぞれの名称が工程軸上に並べて配置される。工程軸とは、工程の名称が並ぶ方向である。本実施形態では、工程軸が上から下に向けた方向であるが、工程軸は、予め定められた方向であればよく、例えば、左から右、下から上、又は右から左であってもよい。工程の名称は、工程軸上において時系列的に並ぶように配置される。図7の例であれば、工程A1,A2,A3,B1,B2の順序で実行されるように実行順が指定されるので、工程軸である上から下に向けて、これらの名称が並べられる。
また例えば、タイミングチャートCには、工程軸と直交するタイミング軸上の長さで複数の工程それぞれの実行を示す工程イメージIが、各名称の工程軸上ほぼ同じ位置、かつ、タイミング軸上において実行順になるように配置されている。タイミング軸は、時間軸ということもできる。本実施形態では、タイミング軸が左から右に向けた方向であるが、タイミング軸は、工程軸とのなす角度が90°であればよく、例えば、右から左であってもよい。また例えば、工程軸が左から右であれば、タイミング軸は、上から下であってもよい。
各工程の工程イメージIと名称は、工程軸上のほぼ同じ位置に配置される。工程軸上のほぼ同じ位置とは、工程軸方向のずれが無いこと、又は、ずれが無いとみなせるほど小さいことである。ずれが小さいとは、ずれが所定距離未満であることであり、例えば、1センチメートル未満、又は、10ピクセル未満である。図7に示すように、工程A1,A2,A3,B1,B2の各々の工程イメージIは、これらの工程の名称とほぼ同じ高さとなり、かつ、タイミング軸上において実行順になるように並べられる。表示制御部104は、タイミング軸方向に時系列的に並ぶように、各工程の工程イメージIを配置する。本実施形態のように、同じ工程が繰り返し実行される場合には、同じ工程軸上の異なるタイミング軸上に、工程イメージIが配置される。
本実施形態では、各工程の工程情報は、その工程の想定実行時間を含む。表示制御部104は、工程イメージIのタイミング軸上の長さ(タイミング軸方向の長さ)を、想定実行時間に対応する長さに設定する。想定実行時間に対応する長さとは、想定実行時間に比例する長さであってもよいし、想定実行時間の長短を概念的に捉えられる長さであってもよい。例えば、想定実行時間が長いほど、工程イメージIがタイミング軸方向に長くなる。表示制御部104は、工程ごとに、当該工程の工程情報に含まれる想定実行時間に基づいて、当該工程の工程イメージIの長さを決定する。
なお、想定実行時間と工程イメージIの長さとの関係は、上記の例に限られない。例えば、ある工程の想定実行時間が10秒であり、他の2つの工程がそれぞれ2秒、1秒であったとすると、1秒と2秒の工程の工程イメージIはその長さを比例させ、10秒の工程はその長さを比例させずに短縮して表示させてもよい。これにより、実行順を概念的に捉えやすく、かつ、実行順の一覧性を向上させることができる。更に、工程イメージIは、想定実行時間に応じた長さでなくてもよい。例えば、想定実行時間を省略する場合には、工程イメージIは、固定長であってもよい。他にも例えば、固定長の工程イメージIの中に想定実行時間を示す数値が表示されていてもよい。
例えば、表示制御部104は、移動指示に基づいて、タイミングチャートCにおける工程イメージIを移動させる。移動指示は、工程イメージIを移動させるための指示である。本実施形態では、移動指示の一例としてドラッグアンドドロップを説明するが、移動指示は、他の任意の操作であってよく、例えば、クリック又はタップ等であってもよい。また例えば、移動指示は、工程イメージIに対する操作でなくてもよく、例えば、工程イメージIの移動先の位置をクリック又はタップ等する操作であってもよい。他にも例えば、移動指示は、キーボードの矢印ボタンを押下する操作であってもよい。
本実施形態では、工程イメージIが移動することによって、工程の実行順が指定されるので、移動指示は、実行順を指定するための操作ということができる。表示制御部104は、移動指示により指定された移動先に、工程イメージIを移動させる。工程の実行順も工程イメージIの並び順に応じて変更される。タイミング軸上の工程イメージIの並び順と実行順とが一致するように、各工程の実行順が変更される。実行順は、後述するシステムプログラム作成部106によって変更されてもよいし、表示制御部104によって変更されてもよい。
本実施形態では、工程データベースDBには、複数の産業装置30の名称がその産業装置30で実行される複数の工程の工程情報が関連付けられて保存され、表示制御部104は、スケジュール画面G1に、複数の産業装置30の名称のリストLを表示させる。リストLに載る産業装置30は、コントローラ20の制御対象となる産業装置30の全部又は一部である。本実施形態では、工程データベースDBに制御対象の産業装置30が定義されているので、表示制御部104は、工程データベースDBを参照し、産業装置30のリストLを表示させる。なお、リストLは、産業装置30の名称の一覧であり、その並び順は任意であってよい。例えば、リストLには、産業装置30の名称が語順(例えば、アルファベット順)の通りに並んでもよいし、工程データベースへの登録順に並んでもよい。
ユーザはリストLから産業装置30の名称を選択可能であり、表示制御部104は、更に、選択された産業装置30に関連付けられた複数の工程それぞれの工程イメージIを、タイミングチャートCの工程軸上に並べて配置する。表示制御部104は、工程データベースDBからユーザが選択した産業装置30に関連付けられた工程情報を取得し、当該産業装置30が実行する工程とその実行順を特定する。表示制御部104は、当該特定した工程の工程イメージIが当該特性した実行順で並ぶように、タイミングチャートCの工程軸上に配置する。
例えば、図4の状態からユーザがリストL上の産業装置30Aを選択した場合、表示制御部104は、産業装置30Aの工程情報に基づいて、工程A1,A2,A3の各々の工程イメージI1,I2,I3をタイミングチャートCの工程軸上に並べて配置する。この場合、タイミングチャートCは、図5の状態となり、工程イメージI1,I2,I3の各々は、工程軸上に上から下に向けて並ぶ。その後、ユーザがリストL上の産業装置30Bを選択した場合、表示制御部104は、産業装置30Bの工程情報に基づいて、工程B1,B2の各々の工程イメージI4,I5をタイミングチャートCの工程軸上に並べて配置する。この場合、タイミングチャートCは、図6の状態となり、工程イメージI4,I5の各々は、工程軸上に上から下に向けて並ぶ。
[受付部]
受付部105は、CPU11を主として実現される。受付部105は、表示制御部104が表示させたスケジュール画面G1において、実行順の指定を受け付ける。本実施形態では、受付部105は、タイミングチャートCにおける工程イメージIをタイミング軸上で移動させるための移動指示を、実行順の指定として受け付ける。なお、実行順は、任意の操作によって指定可能であり、移動指示以外の操作によって実行順が指定されてもよい。例えば、入力フォームに実行順を示す数値を入力する操作、又は、プルダウンメニューから実行順を選択する操作によって実行順が指定されてもよい。
受付部105は、リストLの中から産業装置30の名称の選択を受け付ける。受付部105は、リストLの中から選択された産業装置30の工程の実行順の指定を受け付ける。本実施形態では、リストLに産業装置30の名称が表示されていたとしてもユーザが選択しなければ、当該産業装置30については、システムプログラムQの制御対象とはならない。受付部105は、リストL中の全部の産業装置30の名称の選択を受け付けてもよいし、一部の産業装置30についてのみ選択を受け付けてもよい。本実施形態では、ドラッグアンドドロップによってリストL上の名称が選択される場合を説明するが、他の任意の操作で名称が選択されてもよい。例えば、リストL上の名称がクリック又はタップされることによって、産業装置30の名称が選択されてもよい。
受付部105は、スケジュール画面G1において、複数の産業装置30それぞれの繰り返し動作の指定を受け付ける。繰り返し動作とは、産業装置30の周期的な動作である。繰り返し動作の指定とは、繰り返し動作の実行タイミングの指定である。本実施形態では、2サイクル目の開始タイミングの指定が繰り返し動作の指定に相当する場合を説明するが、繰り返し動作の指定は、3サイクル目以降の任意の開始タイミングの指定であってもよい。
また、本実施形態では、タイミングチャートC上の任意の位置を指定することによって繰り返し動作が指定される場合を説明するが、他の任意の操作によって繰り返し動作が指定されてもよい。例えば、2サイクル目の最初の工程の開始条件となる他の工程(図7の例であれば、工程イメージI4が示す工程B1)を指定することによって、繰り返し動作が指定されてもよい。また例えば、2サイクル目の開始タイミングの数値を入力することによって、繰り返し動作が指定されてもよい。
[システムプログラム作成部]
システムプログラム作成部106は、CPU11を主として実現される。システムプログラム作成部106は、受付部105が受け付けた実行順と、当該実行順に含まれる各工程の変数と、に基づいて、指定された実行順で各産業装置30を動作させるシステムプログラムQを作成する。システムプログラム作成部106は、指定された実行順で各工程が実行されるように、各工程の変数を制御するシステムプログラムQを作成する。
本実施形態では、複数の工程それぞれの変数には、当該工程の実行開始を示す開始変数が含まれており、システムプログラム作成部106は、実行順に従った工程が順次実行されるように、実行順において、少なくとも一の工程で変更される変更変数と、一の工程に連動して実行される1以上の他の工程の開始変数と、を関連付けてシステムプログラムQを作成する。変更変数と開始変数を関連付けるとは、変更変数の値が開始変数の値を変更するための条件になることである。例えば、工程A1の終了変数「A1.End」は、工程A2の開始変数「A2.Start」を変更するための条件になるので、システムプログラムQでは、これらの変数が関連付けられていることになる。
例えば、システムプログラム作成部106は、表示制御部104により移動された工程イメージIに対応した他の工程の開始変数と、他の工程のタイミング軸上の直前に存在する工程イメージIに対応した一の工程の変更変数と、を関連付けてシステムプログラムQを作成する。タイミング軸上の直前に存在するとは、時間的に直近の工程イメージIである。図7の例であれば、工程イメージI1,I2,I3,I4は、それぞれ工程イメージI2,I3,I4,I5の直前に存在する。
本実施形態では、工程A1については、1番最初に実行される工程のため、1サイクル目においては、他の工程の終了変数が開始の条件とはならない。例えば、システムプログラム作成部106は、所定の入出力信号を示す変数「IO1.Input1」が所定の値になった場合に、工程A1の開始変数を所定の値とするように、システムプログラムQを作成する。
また例えば、工程A2の工程イメージI2は、工程A1の工程イメージI1の直後に存在するので、システムプログラム作成部106は、工程A1の終了変数「A1.End」が所定の値になった場合に、工程A2の開始変数「A2.Start」を所定の値とするように、システムプログラムQを作成する。また例えば、工程A3の工程イメージI3は、工程A2の工程イメージI2の直後に存在するので、システムプログラム作成部106は、工程A2の変数「A2.S1」が所定の値になり、かつ、工程A2の終了変数「A2.End」が所定の値になった場合に、工程A3「A3.Start」の開始変数を所定の値とするように、システムプログラムQを作成する。
また例えば、工程B1の工程イメージI4は、工程A3の工程イメージI3の直後に存在するので、システムプログラム作成部106は、工程A3の終了変数「A3.End」が所定の値になった場合に、工程B1の開始変数「B1.Start」を所定の値とするように、システムプログラムQを作成する。また例えば、工程B2の工程イメージI5は、工程B1の工程イメージI4の直後に存在するので、システムプログラム作成部106は、工程B1の終了変数「B1.End」が所定の値になった場合に、工程B2の開始変数「B2.Start」を所定の値とするように、システムプログラムQを作成する。
なお、システムプログラムQを生成するためのプログラムは、データ記憶部100に記憶されているものとする。例えば、システムプログラム作成部106は、ビルド作業を実行してシステムプログラムQを作成する。上記の処理を実現するための命令は、例えば、ラダー言語における起動スイッチ又はコイルによって記述されてもよいし、ロボット言語における条件分岐の命令によって記述されてもよい。システムプログラム作成部106は、ビルド以外にも、コンパイラ等を利用してシステムプログラムQを作成してもよい。また、開始変数と関連付けられる変更変数は、終了変数に限られない。例えば、工程A3の開始変数「A3.Start」のように、工程A2の終了変数「A2.End」だけではなく、工程A2の信号の変数「A2.S1」も関連付けられるようにしてもよい。
システムプログラム作成部106は、受付部105が受け付けた繰り返し動作に基づいて、指定された繰り返し動作で各産業装置30を動作させるシステムプログラムQを作成する。例えば、システムプログラム作成部106は、ユーザにより指定された繰り返し動作をするように、2サイクル目以降の開始タイミングを決定する。
図8の例であれば、システムプログラム作成部106は、2サイクル目以降の工程A1の開始変数に、工程B1の終了変数を関連付ける。これにより、2サイクル目以降の工程A1は、1つ前のサイクルの工程B1が終了した場合に開始され、図8のタイミングチャートCのような実行順で各工程が実行される。システムプログラム作成部106は、2サイクル目の工程A1の開始変数「A1.Start」については、入出力信号の変数「IO1.Input1」ではなく、工程B1の終了変数「B1.End」が所定の値になった場合に変化するように、システムプログラムQを作成する。システムプログラム作成部106は、以降の処理については、1サイクル目と同様の処理をするように、システムプログラムQを作成する。
[3−2.コントローラで実現される機能]
図10に示すように、コントローラ20では、データ記憶部200と、システムプログラム実行部201と、が実現される。
[データ記憶部]
データ記憶部200は、記憶部22を主として実現される。データ記憶部200は、工程の実行順を制御するために必要なデータを記憶する。例えば、データ記憶部200は、システムプログラムQを記憶する。データ記憶部200に記憶されたシステムプログラムQは、プログラム作成装置10によって作成される。また例えば、データ記憶部200は、コントローラ20の制御対象となる産業装置30A,30Bの各々の名称やIPアドレス等の情報を記憶してもよい。また例えば、データ記憶部200は、工程データベースDBを記憶してもよい。また例えば、データ記憶部200は、各産業装置30の変数の値を記憶してもよい。この場合、データ記憶部200の変数とデータ記憶部300の変数とは、定期的に整合が取られているものとする。
[システムプログラム実行部]
システムプログラム実行部201は、CPU21を主として実現される。システムプログラム実行部201は、システムプログラムQに基づいて、工程の実行順を制御する。例えば、システムプログラム実行部201は、ユーザにより指定された実行順で産業装置30が動作するように、各産業装置30に対して各工程の開始指示を送る。例えば、システムプログラム実行部201は、各産業装置30の変更変数を周期的に参照し、ある工程の変更変数が所定の値になった場合に、次の工程の開始変数を所定の値に変化させる。システムプログラム実行部201は、当該次の工程が開始した後の任意のタイミングで、当該次の工程の開始変数を初期値に戻す。以降、同様の処理によって、工程の実行順が制御される。
[3−3.産業装置で実現される機能]
図10に示すように、産業装置30では、データ記憶部300と、工程プログラム実行部301と、が実現される。
[データ記憶部]
データ記憶部300は、記憶部32を主として実現される。データ記憶部300は、産業装置30が工程を実行するために必要なデータを記憶する。例えば、データ記憶部300は、工程プログラムPを記憶する。本実施形態では、工程プログラムPごとに工程情報が用意されるので、データ記憶部300は、工程プログラムPと工程情報を互いに関連付けて記憶してもよい。また、データ記憶部300は、各工程の変数の値を記憶する。先述したように、データ記憶部300の変数と、データ記憶部200の変数と、は整合性が取られているものとする。また、データ記憶部300は、モータを制御する際のパラメータやロボットのティーチングデータ等を記憶してもよい。
[工程プログラム実行部]
工程プログラム実行部301は、CPU31を主として実現される。工程プログラム実行部301は、データ記憶部300に記憶された工程プログラムPと変数に基づいて、各工程を実行する。例えば、コントローラ20から受信した指示により各工程の開始変数が所定の値に変化し、工程プログラム実行部301は、その旨を検知した場合に工程を開始する。また例えば、工程プログラム実行部301は、当該工程の工程プログラムPに記述された最後の処理が終了した場合に、当該工程の終了変数を所定の値に変化させる。当該工程の終了変数が所定の値になった旨がシステムプログラムQにより検知されると、次の工程の開始変数が所定の値に変化し、工程プログラム実行部301は、次の工程の工程プログラムPの実行を開始する。以降、同様の処理によって、各工程が順次実行される。
[4.プログラム作成装置で実行される処理]
次に、プログラム作成装置10で実行される処理について説明する。本実施形態では、工程プログラムPの作成処理と、システムプログラムQの作成処理と、について説明する。これらの処理は、CPU11が記憶部12に記憶されたプログラム(例えば、エンジニアリングツール)に従って動作することによって実行される。図12及び図13に示す処理は、図10に示す機能ブロックにより実行される処理の一例である。
[4−1.工程プログラムの作成処理]
図12は、工程プログラムPの作成処理の一例を示すフロー図である。図12に示すように、CPU11は、エンジニアリングツールを起動し(S100)、ユーザの操作に基づいて、新たな工程の工程プロジェクトを作成する(S101)。S101においては、ユーザは、工程を実行する産業装置30の名称や新たな工程の名称を操作部14から入力し、工程プロジェクトを作成する。
CPU11は、ユーザの操作に基づいて、新たな工程の工程プログラムPの初期設定を実行する(S102)。S102においては、CPU11は、新たな工程に対し、デフォルトの変数を設定し、ユーザによる工程の名称や想定実行時間等の入力を受け付ける。
CPU11は、ユーザの操作に基づいて、変数等の詳細設定を実行する(S103)。S103においては、CPU11は、デフォルトの変数以外の他の変数の指定、産業装置30内での実行順の指定等を受け付ける。
CPU11は、ユーザの操作に基づいて、工程プログラミングを実行し、工程プログラムPを作成する(S104)。S104においては、ラダー言語又はロボット言語等の任意の言語を利用した工程プログラミングが実行され、工程プログラムPが作成される。
CPU11は、新たな工程の工程情報を作成し、工程データベースDBに格納する(S105)。S105においては、CPU11は、工程データベースDBに新たなレコードを作成し、新たな工程が作成された産業装置30の名称に関連付けて、新たな工程の工程情報を登録する。
CPU11は、S104で作成した工程プログラムPを産業装置30に記録し(S106)、本処理は終了する。S106においては、CPU11は、新たな工程を実行する産業装置30の記憶部32に、工程プログラムPを記録する。
[4−2.システムプログラムの作成処理]
図13は、システムプログラムQの作成処理の一例を示すフロー図である。図13に示すように、CPU11は、エンジニアリングツールを起動し(S200)、工程データベースDBに基づいて、スケジュール画面G1を表示部15に表示させる(S201)。S201におけるスケジュール画面G1は、図4の状態となり、リストLには、コントローラ20の制御対象となる産業装置30(工程データベースDBに工程情報が登録されている産業装置30)の名称が表示される。
CPU11は、操作部14の検出信号に基づいて、ユーザの操作を特定する(S202)。ここでは、リストLにおける産業装置30の名称の選択、工程イメージIの移動指示、繰り返し動作の指定、又はシステムプログラムQの作成指示が行われる場合について説明する。
S202において、リストLにおける産業装置30の名称が選択された場合(S202;産業装置選択)、CPU11は、ユーザが選択した産業装置30の工程情報に基づいて、タイミングチャートCの表示を更新する(S203)。S203においては、CPU11は、ユーザが選択した産業装置30の名称を表示させ、工程の名称と想定実行時間が工程軸上に並び、かつ、想定実行時間に対応する長さの工程イメージIがタイミング軸上に並ぶように、タイミングチャートCの表示を更新する。S203におけるスケジュール画面G1は、図5の状態となる。複数の産業装置30が選択されていない場合には、再びリストL中の産業装置30の名称が選択され、S103の処理が実行される。
S202において、工程イメージIの移動指示が行われた場合(S202;移動指示)、CPU11は、移動指示に基づいて、工程イメージIを移動させ(S204)、工程の実行順を設定する(S205)。S205においては、CPU11は、移動指示により指定された実行順となるように、工程データベースDBを更新する。例えば、CPU11は、実行順が後の工程の開始変数に、実行順が前の工程の終了変数を関連付ける。タイミングチャートCの表示は、図6の状態から図7の状態に変化する。
S202において、繰り返し動作が指定された場合(S202;繰り返し動作指定)、CPU11は、繰り返し動作の設定を行う(S206)。S206においては、CPU11は、ユーザが指定した開始タイミングで2サイクル目が始まるように、タイミングチャートCを更新する。CPU11は、1サイクル目における任意の工程の終了変数と、2サイクル目の最初の工程の開始変数と、が関連付けられるように、工程データベースDBを更新する。
S202において、システムプログラムQの作成指示が行われた場合(S202;作成指示)、CPU11は、工程データベースDBの工程情報に基づいて、システムプログラムQを作成し(S207)、本処理は終了する。S207においては、CPU11は、先述したビルド作業を実行し、システムプログラムQを作成する。システムプログラムQは、任意のタイミングでコントローラ20に書き込まれる。
実施形態のプログラム作成装置10によれば、スケジュール画面G1において受け付けた複数の工程の実行順と、当該実行順に含まれる各工程の変数と、に基づいて、指定された実行順で各産業装置30を動作させるシステムプログラムQを作成することにより、システムプログラムQの作成を簡易化することができる。例えば、従来の技術では、ユーザがいちいちPLCのラダーチャートなどを作成しなければならなかったが、プログラム作成装置10によれば、ユーザがスケジュール画面G1上で複数の工程の実行順を指定すればよいので、より簡易な操作でプログラムを作成することができる。
また、スケジュール画面G1において指定された実行順に従った工程が順次実行されるように、実行順において、少なくとも一の工程で変更される変更変数と、位置の工程に連動して実行される1以上の他の工程の開始変数と、を関連付けることによって、一の工程と他の工程を連動して実行させるシステムプログラムQを作成することができる。例えば、その前に実行される一の工程で変更される変更変数を、他の工程を開始させる条件とすることができる。
また、工程データベースDBに未登録の新たな工程に対して設定された開始変数及び変更変数の少なくとも一方を、新たな工程に関連付けて工程データベースDBに工程情報として保存することで、新たな工程が追加されたとしても、スケジュール画面G1において新たな工程の実行順を指定可能とし、システムプログラムQの作成をより簡易化することができる。
また、実行順に含まれる複数の工程それぞれの名称が工程軸上に並べて配置されたタイミングチャートCであって、工程軸と直交するタイミング軸上の長差で複数の工程それぞれの実行を示す工程イメージIを、各名称の工程軸上ほぼ同じ位置、かつ、タイミング軸上において実行順になるように配置されたタイミングチャートCをスケジュール画面G1として表示させることで、各工程の実行順を直感的に把握しやすいスケジュール画面G1とすることができる。
また、工程イメージIのタイミング軸上の長さを、想定実行時間に対応する長さに設定することにより、想定実行時間を直感的に把握しやすいスケジュール画面G1とすることができる。
また、タイミングチャートCにおける工程イメージIをタイミング軸上で移動させるための移動指示を実行順の指定として受け付けることで、より直観的な操作によって工程の実行順を指定させることができる。
また、複数の産業装置30の名称のリストLを表示させ、選択された産業装置30に関連付けられた複数の工程それぞれの工程イメージIを、タイミングチャートCの工程軸上に並べて配置することにより、実行順を指定する産業装置30を自由に選択可能とし、システムプログラムQの作成をより簡易化することができる。
また、スケジュール画面G1において、複数の産業装置30それぞれの繰り返し動作の指定を受け付け、指定された繰り返し動作で各産業装置30を動作させるシステムプログラムQを作成することによって、複数の産業装置30それぞれに繰り返しの動作をさせるためのシステムプログラムQの作成を簡易化することができる。
[5.変形例]
なお、本発明は、以上に説明した実施の形態に限定されるものではない。本発明の趣旨を逸脱しない範囲で、適宜変更可能である。
(1)例えば、実施形態で説明したエンジニアリングツール以外の他のツールによって作成されたプログラムを流用し、工程プログラムPが作成されてもよい。本変形例では、他のツールによって作成されたプログラムがコンバートされ、工程プログラムPが作成される場合について説明する。本変形例では、ラダー言語で作成されたプログラムをコンバートして工程プログラムPが作成される場合を説明するが、ロボット言語等の他の言語によって作成されたプログラムをコンバートする場合にも同様の手順で工程プログラムPが作成される。
図14は、既存のツールによって作成されたプログラムをコンバートする手順を示す図である。ここでは、コンバートによって工程プログラムPA1が作成される場合の手順を例に挙げて説明する。図14に示すように、表示制御部104は、既作成の一連プログラムのうち、工程プログラムPに対応する部分を指定可能な一連プログラム画面G2を表示させる(図14の手順1)。
既作成の一連プログラムとは、他のツールによって作成されたプログラムである。既作成の一連プログラムは、データ記憶部100に予め記憶されているものとする。他のツール自体は、公知の種々のツールを適用可能であり、例えば、ラダー言語又はロボット言語によるプログラミングが可能なツールである。ただし、他のツールは、実施形態で説明したエンジニアリングツールのように、変数を指定したプログラミングは行えないものとする。既作成の一連プログラムは、工程を実行するための変数については指定されておらず、工程の開始条件や動作出力等がラダーチャート等によって記述されている。既作成の一連プログラムには、少なくとも1つの工程の命令が記述されている。
工程プログラムPA1に対応する部分とは、既作成の一連プログラムのうち、工程プログラムPA1の対象となる部分である。工程プログラムPに対応する部分は、既作成の一連プログラムのうち、コンバート(流用)する部分、又は、変数によって開始や終了等が制御される部分ということもできる。既作成の一連プログラムのうち、任意の部分が工程プログラムPA1に対応する部分となる。例えば、既作成の一連プログラムのうちの全てが工程プログラムPA1に対応する部分になってもよい。
一連プログラム画面G2は、既作成の一連プログラムの内容を表示させる画面である。例えば、ラダー言語の場合、一連プログラム画面G2には、既作成の一連プログラムのラダーチャートが表示される。また例えば、ロボット言語の場合、一連プログラム画面G2には、既作成の一連プログラムのコードが表示される。なお、一連プログラム画面G2は、これらの例に限られず、既作成の一連プログラムの内容が表示される画面であればよい。例えば、一連プログラム画面G2は、既作成の一連プログラムの個々の処理がフローチャート形式で表示される画面であってもよい。
受付部105は、表示制御部104が表示させた一連プログラム画面G2において、工程プログラムPA1に対応する部分の指定を受け付ける(図14の手順2)。ユーザは、一連プログラム画面G2から、既作成の一連プログラムの任意の部分を指定する。図14の例では、一連プログラム画面G2の中で選択範囲を指定することによって、工程プログラムPA1に対応する部分を指定する場合を説明するが、当該部分は、他の任意の操作によって指定可能である。ユーザは、工程プログラムPの対象となる部分(即ち、変数によって動作を制御する部分)を指定することになる。例えば、ユーザは、既作成の一連プログラムのうち、開始変数に相当する部分と、終了変数に相当する部分と、を指定する。また例えば、ユーザは、既作成の一連プログラムのうち、中断変数に相当する部分と、ビジー変数に相当する部分と、を指定する。
工程プログラム作成部103は、受付部105で指定された一連プログラムの部分と、条件設定部101で設定された開始変数及び変更変数の少なくとも一方とに基づいて、新たな工程に対応する新たな工程プログラムPA1を作成する(図14の手順3)。本変形例では、条件設定部101により、開始変数及び変更変数が事前に設定されているものとする。これらの設定方法は、実施形態で説明した通りである。
工程プログラム作成部103は、ユーザが指定した一連プログラムの部分に対し、開始変数及び変更変数に相当する起動スイッチやコイル等を挿入し、新たな工程プログラムPA1を作成する。起動スイッチやコイル等が挿入されることにより、条件設定部101により設定された開始変数によって動作が開始し、条件設定部101により設定された変更変数によって動作終了や中断等が制御される。新たな工程プログラムPは、コントローラ20のデータ記憶部200に記録されてもよいし、産業装置30のデータ記憶部300に記録されてもよい。ロボット言語を利用して作成された一連プログラムをコンバートする場合には、ユーザが指定した一連プログラムの部分に対し、開始変数及び変更変数を変更するための条件分岐や命令が挿入されることによって、新たな工程プログラムPA1が作成されるようにすればよい。
なお、一連プログラムの部分の指定と、開始変数及び変更変数の少なくとも一方の条件の設定と、は何れが先に行われてもよい。即ち、変数の設定などが行われた後にラダー等が切り取られて対応付けられるだけでなく、ラダー等が切り取られた後に変数の設定などが行われてもよい。例えば、一連プログラムの部分の指定が開始変数及び変更変数の条件の設定よりも先に行われてもよい。この場合、ユーザは、既存の一連プログラムのうち、工程プログラムに対応する部分を指定した後に、開始変数及び変更変数の少なくとも一方の条件の設定を行う。また例えば、開始変数及び変更変数の条件の設定が一連プログラムの部分の指定よりも先に行われてもよい。この場合、ユーザは、開始変数及び変更変数の少なくとも一方の条件の設定をした後に、既存の一連プログラムのうち、工程プログラムに対応する部分を指定する。
変形例(1)によれば、既作成の一連プログラムの部分と、設定された開始変数及び変更変数の少なくとも一方と、に基づいて、新たな工程に対応する新たな工程プログラムPを作成することで、既作成の一連プログラムを流用して新たな工程プログラムPを作成し、新たな工程プログラムPを作成する手間を軽減することができる。
(2)また例えば、コントローラ20は、ある産業装置30の変数に所定の演算を施し、当該演算の結果に基づいて他の産業装置30の工程を制御してもよい。以降、当該演算を行うためのプログラムを演算プログラムと記載する。本変形例では、演算プログラムは、コントローラ20によって実行されるものとするが、サーバ40等の他のコンピュータによって実行されてもよい。例えば、通常の処理の演算については、コントローラ20が演算プログラムを実行し、エラー発生時の動作解析や復旧動作に関する演算については、サーバ40が演算プログラムを実行する、といったように演算プログラムの実行主体を使い分けてもよい。
図15は、演算プログラムの処理の一例を示す図である。図15に示す例では、コントローラ20が演算プログラムPFを実行し、演算工程Fを実行する場合を説明する。なお、演算工程Fは、産業装置30において物理的な動作が行われるわけではなく、コントローラ20内部の計算処理が実行されるだけであるが、本変形例では、産業装置30の工程と同列で扱い演算工程と呼ぶ。
例えば、演算プログラムPFは、工程プログラムPと同様の手順で生成される。このため、演算工程Fについても、開始変数や終了変数が設定される。図15の例であれば、演算工程Fの開始変数「F1.Start」は、工程A2の変数「A2.S1」と工程B1の変数「B1.Result」との各々が所定の値になった場合に変化し、演算工程Fが開始される。なお、演算工程Fについても、中断変数やビジー変数といった他の変数が設定されてもよい。
例えば、演算プログラムPFは、工程A2の変数「A2.S1」と、工程B1の変数「B1.Result」と、に対して所定の演算を施す。演算結果が所定の結果であった場合には、演算工程Fの終了変数「F1.End」が所定の値となる。図15の例では、工程B2の開始変数は、工程B1の終了変数「B1.End」と演算工程Fの終了変数「F1.End」との各々が所定の値になった場合に変化し、工程B2が開始する。なお、演算プログラムPFは、演算結果を工程プログラムPに出力してもよい。図15の例であれば、演算プログラムPFは、演算結果を工程プログラムPB2に出力してもよい。
演算工程Fについても、他の工程と同様の工程情報が用意され、工程データベースDBには、演算工程Fの工程情報が格納される。図16は、変形例(2)の工程データベースDBのデータ格納例を示す図である。図16に示すように、本変形例の工程データベースDBには、工程情報として、参照する変数が入力され、変更する変数に結果を出力する演算処理に対応する工程の名称と、それに関連付けられた変数とが保存されている。
参照する変数とは、演算プログラムPFが参照する変数である。参照する変数は、演算工程Fの変数であってもよいし、演算工程F以外の他の工程の変数であってもよい。図16のデータ格納例であれば、演算プログラムPFは、工程A2の変数「A2.S1」と工程B1の変数「B1.Result」を参照するので、これらの変数が演算工程Fの工程情報に格納される。
変更する変数とは、演算プログラムPFが変更する変数である。変更する変数は、演算工程Fの変数であってもよいし、演算工程F以外の他の工程の変数であってもよい。図16のデータ格納例であれば、演算工程Fの計算結果によって演算工程Fの終了変数「F1.End」が所定の値になり、工程B2が開始することが示されている。例えば、演算工程Fの工程情報には、演算工程Fの開始変数「F1.Start」と終了変数「F1.End」の条件が格納されることになる。演算プログラムPFが演算結果を出力して他の工程の変数を変更する場合には、当該他の工程の変数が、変更する変数に相当する。
本変形例の表示制御部104は、受付部105が受け付けた実行順に演算処理に対応する工程が含まれる場合、当該演算処理に対応する工程の工程イメージIを他の工程イメージIとともに表示する。本変形例のスケジュール画面G1は、実施形態で説明したレイアウトと同様であってよく、その中に演算工程Fの工程イメージIが表示される。
例えば、図7のタイミングチャートCにおいて、産業装置30Aの行の上に演算工程Fの工程イメージIが表示される。演算工程Fは、工程B1と工程B2の間に実行されるので、タイミング軸上における並び順は、工程B1、演算工程F、工程B2の順で並ぶように、これらの工程イメージIが表示される。演算工程Fの工程イメージIについても、他の工程の工程イメージIと同様、想定実行時間に対応する長さであってもよいし、固定長であってもよい。
なお、演算工程Fの工程イメージIは、タイミングチャートC内の任意の位置に表示可能であり、例えば、産業装置30Aと30Bの間に表示されてもよいし、産業装置30Bの下に表示されてもよい。タイミングチャートCには、通常の工程と演算工程Fとの実行順となるように、工程イメージIが表示されるようにすればよい。
変形例(2)によれば、演算処理に対応する演算工程Fが指定された実行順に含まれる場合に、当該演算工程Fの工程イメージIを他の工程イメージIとともに表示することにより、スケジュール画面G1上において、演算工程Fを他の工程と同列に扱い、システムプログラムQの作成をより簡易化することができる。
(3)また例えば、スケジュール画面G1のレイアウトは、タイミングチャート形式に限られず、テーブル形式のユーザインタフェースを表示させて工程の実行順が指定されてもよい。
図17は、変形例(3)のスケジュール画面G1の一例を示す図である。図17に示すように、表示制御部104は、受付部105が受け付けた実行順と、当該実行順に含まれる各工程及び変数とに基づいて、テーブルTをスケジュール画面G1として表示させる。テーブルTには、各工程の工程情報が表形式で表示され、例えば、産業装置30の名称、工程の名称、想定実行時間、実行順、変数の名称、実行条件、及びコメントが表示される。
例えば、テーブルTには、実行順に含まれる複数の工程それぞれの名称及び変数が列方向又は行方向に並べられて配置される。列方向とは、上から下の方向、又は、下から上の方向である。行方向とは、左から右の方向、又は、右から左の方向である。図17の例では、各工程の名称及び変数が列方向に並べられて配置されている。
なお、スケジュール画面G1において、実施形態で説明したタイミングチャートCと、本変形例のテーブルTと、の切り替えが可能であってもよい。例えば、ユーザがタイミングチャートC上でダブルクリックするとテーブルTが表示され、テーブルT上でダブルクリックするとタイミングチャートCが表示されるようにしてもよい。この場合、ユーザがテーブルTから工程の実行順を指定すると、タイミングチャートCにも反映される。
ユーザは、テーブルTの各セルに情報を入力することによって、工程の実行順を指定する。例えば、ユーザは、実行順のセルに数値を入力してもよいし、実行条件のセルに条件となる変数の名称を入力してもよい。システムプログラムQは、実施形態で説明した方法と同様に、ユーザが指定した実行順で各工程が実行されるように作成されるようにすればよい。
変形例(3)によれば、テーブルTをスケジュール画面G1として表示させることで、各工程の実行順を直感的に把握しやすいスケジュール画面G1とすることができる。
(4)また例えば、スケジュール画面G1において、ある産業装置30が行う個々の工程の想定実行時間が区別される場合を説明したが、ユーザによっては、工程をグループ化して管理したいこともある。本変形例の受付部105は、スケジュール画面G1において、複数の工程のうちの全部又は一部の工程をグループ化するための操作を受け付ける。例えば、ユーザは、ある産業装置30が実行する複数の工程を選択することによって、工程をグループ化する。また例えば、産業装置30内の全ての工程をグループ化する場合には、ユーザは、全ての工程をグループ化する産業装置30を選択する。また例えば、ある産業装置30の工程と、他の産業装置30の工程と、をグループ化する場合には、ユーザは、これらの工程を選択する。
図18は、工程がグループ化された場合のタイミングチャートCの一例を示す図である。図18に示すように、表示制御部104は、受付部105が受け付けた操作に基づいて、全部又は一部の工程をグループ化してスケジュール画面G1に表示させる。グループ化された工程は、1つの工程イメージIにまとめられる。
図18の例では、産業装置30A内の工程A1,A2,A3がグルーピングされて1つにまとめられ、工程イメージI20,I22,I24として表示される。産業装置30A内の工程B1,B2がグルーピングされて1つにまとめられ、工程イメージI21,I23として表示されるこのように、ある産業装置30内で行われる工程がブラックボックス化され、グループ全体の想定実行時間が表示されてもよい。
変形例(4)によれば、スケジュール画面G1において、全部又は一部の工程をグループ化して表示させることにより、互いに関連する工程を視覚的に分かりやすく表示させ、システムプログラムQの作成を効果的に支援することができる。
(5)また例えば、想定実行時間と実際の実行時間とが比較されて表示されてもよい。図19は、変形例(5)の機能ブロック図である。図19に示すように、本変形例では、実行時間取得部107が実現される。実行時間取得部107は、CPU11を主として実現される。
実行時間取得部107は、システムプログラムQの実行結果に基づいて、複数の工程それぞれの実際の実行時間を取得する。実際の実行時間とは、実際の開始時間から終了時間までの長さである。例えば、実行時間取得部107は、工程の開始変数を所定の値にしてから計時処理を開始し、工程の終了変数が所定の値になるまでの時間を計測する。なお、実際の実行時間の計測は、産業装置30内で実行させてもよい。この場合、実行時間取得部107は、産業装置30から実際の実行時間を取得する。
図20は、想定実行時間と実際の実行時間が比較される場合の一例を示す図である。図20では、想定実行時間の工程イメージをI1〜I14の符号で示し、実際の実行時間の工程イメージをR1〜R12の符号で示している。表示制御部104は、受付部105が受け付けた実行順と、当該実行順に含まれる各工程の名称及び変数と、各工程の実行時間と、に基づいて、タイミングチャートCを表示させる。図20に示すように、本変形例のタイミングチャートCには、実施形態で説明したように、実行順に含まれる複数の工程それぞれの名称が工程軸上に並べて表示される。
タイミングチャートCには、工程軸と直交するタイミング軸上の長さで複数の工程それぞれの実行時間を示す工程イメージR1〜R12が、各名称の工程軸上ほぼ同じ位置、かつ、タイミング軸上において実行順になるように配置されている。工程イメージR1〜R12は、実際の実行時間を示す点で工程イメージI1〜I14と異なり、表示位置や長さ等の他の点については工程イメージI1〜I14と同様である。
なお、図20の例では、各工程の想定実行時間を示す工程イメージIの下に、実際の実行時間を示す工程イメージRが表示される場合を示すが、工程イメージIの上に工程イメージRが表示されてもよいし、工程イメージIと工程イメージRが重なって表示されてもよい。タイミングチャートCにおいて、想定実行時間と実際の実行時間とが比較可能に表示されるようにすればよい。また、実行順を指定するタイミングチャートと、実行時間を表示するタイミングチャートと、は同じであってもよいし異なっていてもよい。
変形例(5)によれば、各工程の想定実行時間と実際の実行時間とを比較して表示させることによって、プログラミング時の想定と実際の動作がどの程度ずれているかを把握させることができる。
(6)また例えば、各工程の想定実行時間は、ユーザによって変更されてもよい。実施形態で説明したように、表示制御部104は、スケジュール画面G1において、複数の工程それぞれの想定実行時間を表示させる。想定実行時間は、その数値が表示されてもよいし、工程イメージIの長さによって示されてもよい。
受付部105は、各工程の想定実行時間の変更操作を受け付ける。変更操作は、任意の操作であってよく、例えば、入力フォームに想定実行時間の数値を入力する操作、プルダウンメニューから想定実行時間の数値を選択する操作、又は工程イメージIの長さを変更する操作等である。想定実行時間は、変更操作に応じた長さとなるように変更され、スケジュール画面G1における表示及び工程情報の内容も更新される。
変形例(6)によれば、スケジュール画面G1において複数の工程それぞれの想定実行時間の変更操作を受け付けることで、産業装置全体の流れを計画しやすくなる。
(7)また例えば、上記変形例を組み合わせてもよい。
また例えば、コントローラ20は、直下の機器の動作を制御するための工程プログラムPを記憶してもよい。また例えば、タイミングチャートCでは、工程軸を省略し、タイミング軸のみが設定されていてもよい。この場合、横一列に並ぶようにして、各工程の工程イメージIが表示されるようにしてもよい。また例えば、工程データベースは、プログラム作成装置10以外の他のコンピュータ(例えば、サーバ40)に記憶されていてもよい。また例えば、複数の産業装置30は、交互に工程を実行してもよい。また例えば、デフォルトの変数を特に用意しなくてもよく、この場合には、作成者が変数を手動で設定してもよいし、予め用意された複数の変数のリストの中から、作成者が任意の変数を選択してもよい。また例えば、割り込み処理用の変数が用意されていてもよい。また例えば、リストLから産業装置30を選択するのではなく、自動的に全ての産業装置30の工程の情報がタイミングチャートCに表示されてもよい。
また例えば、2サイクル目の開始が1サイクル目の全ての工程の終了よりも後であれば、2サイクル目の開始タイミングを指定しなくても、2サイクル目の開始タイミングが自動的に決定されてもよい。図7の例であれば、2サイクル目の開始タイミング(2回目の工程A1の開始タイミング)が、17秒目以降の任意のタイミングとなるように、自動的に決定されてもよい。また例えば、複数の工程を実行するための1つの工程プログラムPがあってもよい。また例えば、産業装置30が周期的に動作する場合を説明したが、特に周期的な動作が行われなくてもよい。この場合、繰り返し動作については設定されない。また例えば、プログラム作成装置10がパーソナルコンピュータ等である場合を説明したが、プログラム作成装置10は、サーバコンピュータ等の他の種類のコンピュータによって実現されてもよい。
また例えば、以上説明した実施形態は具体例として示したものであり、本明細書にて開示される発明をこれら具体例の構成やデータ格納例そのものに限定するものではない。当業者はこれら開示された実施形態に種々の変形、例えば、物理的構成の形状や数、データ構造、処理の実行順を変更したりしてもよい。本明細書にて開示される発明の技術的範囲は、そのようになされた変形をも含むものと理解すべきである。
1 生産システム、C タイミングチャート、F 演算工程、I 工程イメージ、L リスト、P 工程プログラム、Q システムプログラム、T テーブル、10 プログラム作成装置、11,21,31,41 CPU、12,22,32,42 記憶部、13,23,33,43 通信部、14 操作部、15 表示部、20 コントローラ、30 産業装置、40 サーバ、DB 工程データベース、G1 スケジュール画面、G2 一連プログラム画面、I 工程イメージ、100 データ記憶部、101 条件設定部、102 工程登録部、103 工程プログラム作成部、104 表示制御部、105 受付部、106 システムプログラム作成部、106 工程プログラム作成部、107 実行時間取得部、200 データ記憶部、201 システムプログラム実行部、300 データ記憶部、301 工程プログラム実行部。

Claims (16)

  1. 複数の産業装置を備えたシステムにおいて実行される複数の工程それぞれに対して、少なくとも、工程の名称と、1以上の前記産業装置の動作を表して工程で実行される工程プログラムにおいて参照及び変更の少なくとも一方が行われる変数であって当該工程の実行開始を示す開始変数が含まれる変数と、が関連付けられ、工程情報として保存される工程データベースから取得した複数の前記工程の名称を含み、当該複数の工程の実行順を指定可能なスケジュール画面を表示させる表示制御部と、
    前記表示制御部が表示させた前記スケジュール画面において、前記実行順の指定を受け付ける受付部と、
    前記受付部が受け付けた実行順に従った工程が順次実行されるように、前記実行順において、少なくとも一の工程で変更される変更変数と、前記一の工程に連動して実行される1以上の他の工程の前記開始変数と、を関連付けて、指定された前記実行順で各産業装置を動作させるシステムプログラムを作成するシステムプログラム作成部と、
    を有するプログラム作成装置。
  2. 前記工程データベースに未登録の新たな工程に対して、前記開始変数及び前記変更変数の少なくとも一方の条件を設定する条件設定部と、
    前記条件設定部が設定した前記開始変数及び前記変更変数の少なくとも一方を、前記新たな工程の名称に関連付けて、前記工程データベースに前記工程情報として保存する工程登録部と、
    を更に有する請求項に記載のプログラム作成装置。
  3. 前記条件設定部は、前記開始変数及び前記変更変数の少なくとも一方として、予め定められたデフォルトの変数を設定し、ユーザにより指定された変数を追加可能である、
    請求項に記載のプログラム作成装置。
  4. 前記表示制御部は、既作成の一連プログラムのうち、前記工程プログラムに対応する部分を指定可能な一連プログラム画面を表示させ、
    前記受付部は、前記表示制御部が表示させた前記一連プログラム画面において、前記工程プログラムに対応する部分の指定を受け付け、
    前記プログラム作成装置は、前記受付部で指定された前記一連プログラムの部分と、前記条件設定部で設定された前記開始変数及び前記変更変数の少なくとも一方とに基づいて、前記新たな工程に対応する新たな工程プログラムを作成する工程プログラム作成部を更に有する、
    請求項又はに記載のプログラム作成装置。
  5. 前記表示制御部は、前記受付部が受け付けた実行順と、当該実行順に含まれる各工程の名称及び変数と、に基づいて、タイミングチャートを前記スケジュール画面として表示させ、
    前記タイミングチャートには、前記実行順に含まれる複数の工程それぞれの名称が工程軸上に並べて配置され、
    前記タイミングチャートには、前記工程軸と直交するタイミング軸上の長さで前記複数の工程それぞれの実行を示す工程イメージが、各名称の前記工程軸上ほぼ同じ位置、かつ、前記タイミング軸上において前記実行順になるように配置されている、
    請求項の何れか1項に記載のプログラム作成装置。
  6. 前記工程情報は、その工程の想定実行時間を含み、
    前記表示制御部は、前記工程イメージの前記タイミング軸上の長さを、前記想定実行時間に対応する長さに設定する、
    請求項に記載のプログラム作成装置。
  7. 前記受付部は、前記タイミングチャートにおける前記工程イメージを前記タイミング軸上で移動させるための移動指示を、前記実行順の指定として受け付け、
    前記表示制御部は、前記移動指示に基づいて、前記タイミングチャートにおける前記工程イメージを移動させ、
    前記システムプログラム作成部は、前記表示制御部により移動された工程イメージに対応した前記他の工程の前記開始変数と、前記他の工程のタイミング軸上の直前に存在する工程イメージに対応した前記一の工程の前記変更変数と、を関連付けて前記システムプログラムを作成する、
    請求項又はに記載のプログラム作成装置。
  8. 前記工程データベースには、前記複数の産業装置の名称がその産業装置で実行される複数の工程の工程情報が関連付けられて保存され、
    前記表示制御部は、前記スケジュール画面に、前記複数の産業装置の名称のリストを表示させ、
    前記受付部は、前記リストの中から産業装置の名称の選択を受け付け、
    前記表示制御部は、更に、選択された前記産業装置に関連付けられた前記複数の工程それぞれの前記工程イメージを、前記タイミングチャートの前記工程軸上に並べて配置する、
    請求項の何れか1項に記載のプログラム作成装置。
  9. 前記工程データベースには、前記工程情報として、参照する前記変数が入力され、変更する変数に結果を出力する演算処理に対応する前記工程の名称と、それに関連付けられた前記変数とが保存されており、
    前記表示制御部は、前記受付部が受け付けた実行順に前記演算処理に対応する工程が含まれる場合、当該演算処理に対応する工程の工程イメージを他の工程イメージとともに表示する、
    請求項の何れか1項に記載のプログラム作成装置。
  10. 前記表示制御部は、前記受付部が受け付けた実行順と、当該実行順に含まれる各工程及び変数とに基づいて、テーブルを前記スケジュール画面として表示させ、
    前記テーブルには、前記実行順に含まれる複数の工程それぞれの名称及び変数が列方向又は行方向に並べられて配置される、
    請求項1〜の何れか1項に記載のプログラム作成装置。
  11. 複数の産業装置を備えたシステムにおいて実行される複数の工程それぞれに対して、少なくとも、工程の名称と、1以上の前記産業装置の動作を表して工程で実行される工程プログラムにおいて参照及び変更の少なくとも一方が行われる変数と、が関連付けられ、工程情報として保存される工程データベースから取得した複数の前記工程の名称を含み、当該複数の工程の実行順を指定可能なスケジュール画面を表示させる表示制御部と、
    前記表示制御部が表示させた前記スケジュール画面において、前記実行順の指定を受け付ける受付部と、
    前記受付部が受け付けた実行順と、当該実行順に含まれる各工程の前記変数と、に基づいて、指定された前記実行順で各産業装置を動作させるシステムプログラムを作成するシステムプログラム作成部と、
    を有し、
    前記受付部は、前記スケジュール画面において、前記複数の工程のうちの全部又は一部の工程をグループ化するための操作を受け付け、
    前記表示制御部は、前記受付部が受け付けた前記操作に基づいて、前記全部又は一部の工程をグループ化して前記スケジュール画面に表示させる、
    ログラム作成装置。
  12. 複数の産業装置を備えたシステムにおいて実行される複数の工程それぞれに対して、少なくとも、工程の名称と、1以上の前記産業装置の動作を表して工程で実行される工程プログラムにおいて参照及び変更の少なくとも一方が行われる変数と、が関連付けられ、工程情報として保存される工程データベースから取得した複数の前記工程の名称を含み、当該複数の工程の実行順を指定可能なスケジュール画面を表示させる表示制御部と、
    前記表示制御部が表示させた前記スケジュール画面において、前記実行順の指定を受け付ける受付部と、
    前記受付部が受け付けた実行順と、当該実行順に含まれる各工程の前記変数と、に基づいて、指定された前記実行順で各産業装置を動作させるシステムプログラムを作成するシステムプログラム作成部と、
    を有し、
    前記受付部は、前記スケジュール画面において、前記複数の産業装置それぞれの繰り返し動作の指定を受け付け、
    前記システムプログラム作成部は、前記受付部が受け付けた繰り返し動作に基づいて、指定された繰り返し動作で各産業装置を動作させる前記システムプログラムを作成する、
    ログラム作成装置。
  13. 前記システムプログラムの実行結果に基づいて、前記複数の工程それぞれの実際の実行時間を取得する実行時間取得部を更に有し、
    前記表示制御部は、前記受付部が受け付けた実行順と、当該実行順に含まれる各工程の名称及び変数と、各工程の前記実行時間と、に基づいて、タイミングチャートを表示させ、
    前記タイミングチャートには、前記実行順に含まれる複数の工程それぞれの名称が工程軸上に並べて表示され、
    前記タイミングチャートには、前記工程軸と直交するタイミング軸上の長さで前記複数の工程それぞれの前記実行時間を示す工程イメージが、各名称の前記工程軸上ほぼ同じ位置、かつ、前記タイミング軸上において前記実行順になるように配置されている、
    請求項の何れか1項に記載のプログラム作成装置。
  14. 複数の産業装置を備えたシステムにおいて実行される複数の工程それぞれに対して、少なくとも、工程の名称と、1以上の前記産業装置の動作を表して工程で実行される工程プログラムにおいて参照及び変更の少なくとも一方が行われる変数と、が関連付けられ、工程情報として保存される工程データベースから取得した複数の前記工程の名称を含み、当該複数の工程の実行順を指定可能なスケジュール画面を表示させる表示制御部と、
    前記表示制御部が表示させた前記スケジュール画面において、前記実行順の指定を受け付ける受付部と、
    前記受付部が受け付けた実行順と、当該実行順に含まれる各工程の前記変数と、に基づいて、指定された前記実行順で各産業装置を動作させるシステムプログラムを作成するシステムプログラム作成部と、
    を有し、
    前記工程情報は、その工程の想定実行時間を含み、
    前記表示制御部は、前記スケジュール画面において、前記複数の工程それぞれの前記想定実行時間を表示させ、
    前記受付部は、各工程の前記想定実行時間の変更操作を受け付ける、
    ログラム作成装置。
  15. 複数の産業装置を備えたシステムにおいて実行される複数の工程それぞれに対して、少なくとも、工程の名称と、1以上の前記産業装置の動作を表して工程で実行される工程プログラムにおいて参照及び変更の少なくとも一方が行われる変数であって当該工程の実行開始を示す開始変数が含まれる変数と、が関連付けられ、工程情報として保存される工程データベースから取得した複数の前記工程の名称を含み、当該複数の工程の実行順を指定可能なスケジュール画面を表示させ、
    前記表示制御部が表示させた前記スケジュール画面において、前記実行順の指定を受け付け、
    前記受付部が受け付けた実行順に従った工程が順次実行されるように、前記実行順において、少なくとも一の工程で変更される変更変数と、前記一の工程に連動して実行される1以上の他の工程の前記開始変数と、を関連付けて、指定された前記実行順で各産業装置を動作させるシステムプログラムを作成する、
    プログラム作成方法。
  16. 複数の産業装置を備えたシステムにおいて実行される複数の工程それぞれに対して、少なくとも、工程の名称と、1以上の前記産業装置の動作を表して工程で実行される工程プログラムにおいて参照及び変更の少なくとも一方が行われる変数であって当該工程の実行開始を示す開始変数が含まれる変数と、が関連付けられ、工程情報として保存される工程データベースから取得した複数の前記工程の名称を含み、当該複数の工程の実行順を指定可能なスケジュール画面を表示させる表示制御部、
    前記表示制御部が表示させた前記スケジュール画面において、前記実行順の指定を受け付ける受付部、
    前記受付部が受け付けた実行順に従った工程が順次実行されるように、前記実行順において、少なくとも一の工程で変更される変更変数と、前記一の工程に連動して実行される1以上の他の工程の前記開始変数と、を関連付けて、指定された前記実行順で各産業装置を動作させるシステムプログラムを作成するシステムプログラム作成部、
    としてコンピュータを機能させるためのプログラム。
JP2019226121A 2019-12-16 2019-12-16 プログラム作成装置、プログラム作成方法、及びプログラム Active JP6761158B1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2019226121A JP6761158B1 (ja) 2019-12-16 2019-12-16 プログラム作成装置、プログラム作成方法、及びプログラム
CN202011433505.9A CN112987605A (zh) 2019-12-16 2020-12-10 程序生成设备、程序生成方法以及信息存储介质
US17/118,501 US11960925B2 (en) 2019-12-16 2020-12-10 Program generating device, program generating method, and information storage medium
EP20213259.3A EP3839671A1 (en) 2019-12-16 2020-12-11 Program generating device, program generating method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019226121A JP6761158B1 (ja) 2019-12-16 2019-12-16 プログラム作成装置、プログラム作成方法、及びプログラム

Publications (2)

Publication Number Publication Date
JP6761158B1 true JP6761158B1 (ja) 2020-09-23
JP2021096549A JP2021096549A (ja) 2021-06-24

Family

ID=72517977

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019226121A Active JP6761158B1 (ja) 2019-12-16 2019-12-16 プログラム作成装置、プログラム作成方法、及びプログラム

Country Status (4)

Country Link
US (1) US11960925B2 (ja)
EP (1) EP3839671A1 (ja)
JP (1) JP6761158B1 (ja)
CN (1) CN112987605A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022112888A (ja) * 2021-01-22 2022-08-03 株式会社安川電機 情報収集システム、情報収集方法、及びプログラム

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021149853A (ja) * 2020-03-23 2021-09-27 キヤノン株式会社 情報処理方法、情報処理装置、生産システム、および物品の製造方法
JP7448647B2 (ja) * 2020-05-18 2024-03-12 ファナック株式会社 ロボット制御装置及びロボットシステム
JP2023142042A (ja) * 2022-03-24 2023-10-05 エスペック株式会社 設定装置、プログラム、環境形成装置、及び設定方法
EP4411494A1 (en) * 2023-02-03 2024-08-07 Opton Co., Ltd. Control program generation apparatus, control program generation method, and program

Family Cites Families (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5177420A (en) 1989-05-01 1993-01-05 Honda Giken Kogyo Kabushiki Kaisha Method of and apparatus for generating control program
JP2537424B2 (ja) * 1990-04-23 1996-09-25 本田技研工業株式会社 制御プログラム作成装置
JP3142595B2 (ja) 1991-03-30 2001-03-07 マツダ株式会社 生産設備の制御システム設計支援及び故障診断方法
US6161051A (en) * 1998-05-08 2000-12-12 Rockwell Technologies, Llc System, method and article of manufacture for utilizing external models for enterprise wide control
JP2001109620A (ja) 1999-10-06 2001-04-20 Hitachi Ltd 画面表示制御方法および画面遷移プログラムの生成方法
JP4039191B2 (ja) * 2002-09-20 2008-01-30 富士ゼロックス株式会社 操作画面表示装置、操作画面表示方法及びプログラム
US8397205B2 (en) * 2003-08-07 2013-03-12 National Instruments Corporation Graphically representing timing in a graphical program
US8732658B2 (en) * 2006-09-29 2014-05-20 Rockwell Automation Technologies, Inc. Layered interface in an industrial environment
JP5154533B2 (ja) 2009-11-27 2013-02-27 株式会社エヌ・ティ・ティ・ドコモ プログラム生成装置およびプログラム
JP5418322B2 (ja) 2010-03-15 2014-02-19 オムロン株式会社 表示装置、表示制御方法、プログラム、およびコンピュータ読み取り可能な記録媒体
KR101400657B1 (ko) 2010-08-16 2014-05-28 미쓰비시덴키 가부시키가이샤 제어 프로그램 생성 장치, 제어 프로그램 생성 프로그램을 기록한 컴퓨터 판독 가능 기록매체, 및 제어 프로그램 생성 방법
JP5810563B2 (ja) 2011-03-15 2015-11-11 オムロン株式会社 制御プログラム開発支援装置、制御プログラム開発支援用プログラム及び記録媒体
JP5218585B2 (ja) * 2011-03-15 2013-06-26 オムロン株式会社 制御装置およびシステムプログラム
WO2013099031A1 (ja) * 2011-12-28 2013-07-04 株式会社安川電機 エンジニアリングツール
JP5994848B2 (ja) * 2012-04-27 2016-09-21 株式会社安川電機 タイムチャート作成装置、コントローラ、機械要素制御システム、タイムチャート作成方法、プログラム及び情報記憶媒体
JP5826121B2 (ja) * 2012-06-18 2015-12-02 株式会社安川電機 機械制御プログラム作成装置、機械制御プログラム作成方法、プログラム及び情報記憶媒体
JP5949421B2 (ja) * 2012-10-11 2016-07-06 富士通株式会社 情報処理装置、実行優先度変更方法およびプログラム
JP5578220B2 (ja) * 2012-10-22 2014-08-27 株式会社安川電機 ロボットシステム
WO2014064830A1 (ja) * 2012-10-26 2014-05-01 株式会社安川電機 開発支援装置及び開発支援プログラム
US9244452B2 (en) * 2012-11-02 2016-01-26 Rockwell Automation Technologies, Inc. Configuration and monitoring via design diagram representation
JP5803952B2 (ja) * 2013-02-15 2015-11-04 株式会社安川電機 コントローラ、タイムチャート作成装置、コンピュータプログラム、情報記憶媒体、機器制御方法及びタイムチャート作成方法
JP2014206939A (ja) * 2013-04-15 2014-10-30 株式会社安川電機 コントローラ、制御装置、機器制御システム、コンピュータプログラム及びコンピュータ可読情報記憶媒体
WO2015063925A1 (ja) 2013-10-31 2015-05-07 三菱電機株式会社 プログラム作成装置、プログラム作成方法、およびプログラム
JP6304260B2 (ja) * 2013-11-05 2018-04-04 株式会社安川電機 モータ制御装置、モータ制御システム及びモータ制御方法
JP6288104B2 (ja) * 2013-11-05 2018-03-07 株式会社安川電機 トレースデータ収集システム、操作端末、及びトレースデータ収集方法
US9489832B2 (en) * 2014-04-04 2016-11-08 Rockwell Automation Technologies, Inc. Industrial-enabled mobile device
JP6314717B2 (ja) * 2014-07-18 2018-04-25 株式会社安川電機 ラダープログラム作成装置、モニタリング装置、コンピュータプログラム及び機器制御装置
JP6394218B2 (ja) * 2014-09-16 2018-09-26 株式会社安川電機 作業計画装置、作業計画方法および作業計画プログラム
JP2016194831A (ja) * 2015-03-31 2016-11-17 オムロン株式会社 制御装置
US10110679B2 (en) * 2015-06-02 2018-10-23 National Instruments Corporation Timed functions for distributed decentralized real time systems
US20170075331A1 (en) * 2015-09-11 2017-03-16 Yaskawa America, Inc. Apparatus, system, and method for configuring and programming control of a robot
JP6400558B2 (ja) * 2015-11-17 2018-10-03 ファナック株式会社 シーケンス制御プログラミング装置、シーケンス制御プログラミング方法及び作業システム
US20180052451A1 (en) * 2016-08-19 2018-02-22 Rockwell Automation Technologies, Inc. Remote industrial automation site operation in a cloud platform
WO2018186358A1 (ja) * 2017-04-07 2018-10-11 オムロン株式会社 制御装置、制御方法および制御プログラム
JP2019061467A (ja) * 2017-09-26 2019-04-18 オムロン株式会社 サポート装置およびサポートプログラム
JP6806019B2 (ja) * 2017-09-26 2020-12-23 オムロン株式会社 制御装置
JP6734314B2 (ja) 2018-03-08 2020-08-05 ファナック株式会社 制御装置、データ作成装置、制御方法及び制御プログラム
JP6757386B2 (ja) * 2018-10-23 2020-09-16 株式会社キーエンス プログラマブルロジックコントローラおよびプログラム作成支援装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022112888A (ja) * 2021-01-22 2022-08-03 株式会社安川電機 情報収集システム、情報収集方法、及びプログラム
JP7131641B2 (ja) 2021-01-22 2022-09-06 株式会社安川電機 情報収集システム、情報収集方法、及びプログラム
US11726454B2 (en) 2021-01-22 2023-08-15 Kabushiki Kaisha Yaskawa Denki Information collection system, information collection method, and program

Also Published As

Publication number Publication date
CN112987605A (zh) 2021-06-18
US11960925B2 (en) 2024-04-16
US20210182101A1 (en) 2021-06-17
EP3839671A1 (en) 2021-06-23
JP2021096549A (ja) 2021-06-24

Similar Documents

Publication Publication Date Title
JP6761158B1 (ja) プログラム作成装置、プログラム作成方法、及びプログラム
CN104160343B (zh) 多轴控制系统设定/调整功能辅助装置
JP5102362B2 (ja) プラント監視制御システム
TWI528122B (zh) 程式編寫裝置
TW201508428A (zh) 編輯程式用之程式
JPWO2014064830A1 (ja) 開発支援装置及び開発支援プログラム
JP2005316986A (ja) 開発支援装置およびアウトライン情報生成プログラムならびにアウトライン情報生成方法
JP3805776B2 (ja) グラフィカルプログラミング装置及びプログラマブル表示器
TWI522759B (zh) 系統構築支援裝置、方法,及記錄媒體
JP2010198562A (ja) 制御プログラム作成方法および作成装置
JP2006243841A (ja) Plc用ツール装置
JP5862236B2 (ja) 制御プログラム編集装置及び制御プログラムの作成支援プログラム
JP2011175351A (ja) 画面データ作成装置、画面データ作成方法、及び画面データ作成プログラム
JP6881557B1 (ja) 生産システム、生産方法、及びプログラム
WO2018163421A1 (ja) システム構成作成支援装置
JP4517302B2 (ja) 開発支援装置の制御方法及びプログラム並びに記録媒体
KR20220118105A (ko) 협동로봇의 오퍼레이터용 인터렉티브 교시를 위한 인터페이스 및 기능을 제공하는 무선 티칭 디바이스 및 그 방법
JP2006146955A (ja) 開発支援装置
CN112987658A (zh) 生产系统、修复系统、生产方法以及信息存储介质
JP6058244B2 (ja) エンジニアリングツールプログラム及びエンジニアリングツール
US20160018809A1 (en) Ladder chart creation device, monitoring device, computer program, and machine control device
JP4913021B2 (ja) ラダー図編集方法
JP2022130297A (ja) 情報処理装置、制御装置、制御方法、制御装置の制御方法、プログラム、記録媒体
JP2024014183A (ja) システム、物品の製造方法、情報処理装置、情報処理方法、プログラム、及び記録媒体
TWI609313B (zh) 工程工具程式及工程工具

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20191225

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20191225

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20200310

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200317

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200515

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: 20200728

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200810

R150 Certificate of patent or registration of utility model

Ref document number: 6761158

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150