(57)【要約】【課題】その目的は、非熟練者にとっては理解し易く、熟練者にとっては違和感が少ない表示態様でラダープログラムを表示することができるラダーロジックのプログラム表示方法を提供する。【解決手段】予め設定されている処理を実行する機能ブロック２１と、機能ブロック２１の動作が完了する毎にカウント値が１ずつインクリメントされる内部カウンタ（ＣＮＴ１）と、内部カウンタのカウント値が自身に設定されている動作カウント値に一致するかを判定し、一致すると判定すると機能ブロック２１の動作条件が成立した旨を出力する判定ブロック２０と、を用いてラダーロジックのプログラムを作成し、判定ブロック２０を動作カウント値として任意の工程順を示す工程番号をユーザが設定可能に表示し、機能ブロック２１を実行される工程番号に対応した判定ブロック２０の出力に接続して表示する。【選択図】図２
2016081223.tif 000002
【特許請求の範囲】
【請求項１】
産業用機器を動作させるラダーロジックのプログラムを作成するプログラム作成装置においてプログラムを表示する際の表示方法であって、
動作条件が成立すると予め設定されている処理を実行する機能ブロックと、
プログラムが起動されたときに初期化され、前記機能ブロックの動作が完了する毎にカウント値が１ずつインクリメントされる内部カウンタと、
前記内部カウンタのカウント値が入力され、当該カウント値が自身に設定されている動作カウント値に一致するかを判定し、一致すると判定すると前記機能ブロックの動作条件が成立した旨を出力する判定ブロックと、を用いてラダーロジックのプログラムを作成し、前記プログラム作成装置においてプログラムを表示するとき、
前記判定ブロックを、前記動作カウント値として任意の工程順を示す工程番号をユーザが設定可能に表示し、
前記機能ブロックを、当該機能ブロックが実行される工程番号に対応した前記判定ブロックの出力に接続して表示することを特徴とするラダーロジックのプログラム表示方法。
【請求項２】
前記機能ブロックは、ユーザが設定可能な１以上の入力パラメータを持ち、前記入力パラメータに基づいて予め設定されている処理を実行するものであり、
前記機能ブロックを、前記入力パラメータをユーザが設定可能に表示することを特徴とする請求項１記載のラダーロジックのプログラム表示方法。
【請求項３】
前記内部カウンタは、複数設けられており、
前記判定ブロックは、複数の前記内部カウンタのうち予め設定された内部カウンタを利用して判定するものであり、複数の前記内部カウンタのうちいずれの内部カウンタを利用しているかを識別可能に表示されることを特徴とする請求項１または２記載のラダーロジックのプログラム表示方法。
【請求項４】
前記機能ブロックは、当該機能ブロック内で処理が完結するように設計されていることを特徴とする請求項１から３のいずれか一項記載のラダーロジックのプログラム表示方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ラダーロジックのプログラムを表示するラダーロジックのプログラム表示方法に関する。
【背景技術】
【０００２】
従来、プログラマブルロジックコントローラ（以下、ＰＬＣと称する）等の産業用機器を制御するプログラムの作成には、ラダーロジック（ラダー言語、ラダー図等と呼ばれることもある）が広く利用されている。ラダーロジックのプログラム（以下、便宜的にラダープログラムと称する）は、基本的にはリレーを用いた回路と同等と見なすことができるため、比較的理単純な処理であればその内容が理解し易い記述となっている。
【０００３】
しかし、ロボットの制御のように処理が複雑になるとプログラムの作成も複雑化することから、例えば特許文献１では、単純なキー操作でラダーロジックに用いる内部リレー等の命令シンボルを選択できるようにしてラダープログラムの作成を支援することが記載されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１２−７９１３２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、ラダーロジックに対する理解が浅いユーザ（以下、便宜的に非熟練者と称する）にとっては、プログラムを見ても動作を把握しづらいことが問題になることがある。
例えば、所望の工程を適切な順番で実施するためにはラダープログラムの記述に用いる内部リレーの自己保持条件の成立やその解除あるいはインターロック等をそれぞれ個別に設定する必要があり、また、生産設備全体に対する理解も必要となることから、非熟練者にとってはラダープログラムを作成すること自体が困難となっている。
【０００６】
また、ラダープログラム自体は熟練者が作成したとしても、産業用機器を設置する設置作業を非熟練者が行うことがあり、その場合、実際の作業現場ではラダープログラムの微調整や場合によっては処理の追加等が必要になることがあるものの、誤ったプログラムが実行されると想定外に動作して周辺設備の損傷等の思わぬ事故に繋がるおそれもあり、非熟練者がプログラム変更等を安易に行うことは望ましくないという実情もある。
【０００７】
この場合、ラダーダイアグラムではなく、非熟練者にとって理解し易い記述方式を採用することも考えられるものの、その場合には、ラダーダイアグラムに慣れている熟練者にとっては理解し難い記述になるおそれがある。そして、非熟練者は熟練者の指導を受けて熟練者になっていくものであることから、熟練者にとって理解し難いものを採用することは、指導に支障が出ることが予想されるため好ましくない。
【０００８】
本発明は、上記事情に鑑みてなされたものであり、その目的は、非熟練者にとっては理解し易く、熟練者にとっては違和感が少ない表示態様でラダープログラムを表示することができるラダーロジックのプログラム表示方法を提供することにある。
【課題を解決するための手段】
【０００９】
請求項１記載の発明では、動作条件が成立すると予め設定されている処理を実行する機能ブロックと、プログラムが起動されたときに初期化され、機能ブロックの動作が完了する毎にカウント値が１ずつインクリメントされる内部カウンタと、内部カウンタのカウント値が入力され、当該カウント値が自身に設定されている動作カウント値に一致するかを判定し、一致すると判定すると機能ブロックの動作条件が成立した旨を出力する判定ブロックと、を用いてラダーロジックのプログラムを作成する。そして、プログラムを表示するとき、動作カウント値として任意の工程順を示す工程番号をユーザが設定可能に判定ブロックを表示し、機能ブロックをその処理を実行する工程番号に対応した判定ブロックの出力に接続して表示する。
【００１０】
これにより、従来は内部リレーを順次追って理解しなければならなかった機能ブロックの動作順が、判定ブロックとして別表示されるようになり、その判定ブロックの番号を追えば機能ブロックの動作順を理解することができる。つまり、プログラムの動作の流れを内部カウンタの値により判断することができ、非熟練者であってもラダープログラムで行われる処理の流れを容易に理解することができる。また、判定ブロックと機能ブロックとは１対１で接続されて表示されることから、どの機能ブロックが動作するかも容易に理解することができる。
【００１１】
この場合、判定ブロックという表記が新たに作られたことになるが、機能ブロックが判定ブロックに接続されるように表示されているので、判定ブロックも１つの機能ブロックと同じように擬似的にみることができる。そして、そのような表示態様は、熟練者からみると、入力条件が多く設定されているラダー図が表示されていると受け取ることができる。つまり、熟練者であっても、表示された処理の流れを容易に把握することができる態様でラダープログラムを表示することができる。また、表示される機能ブロックは、ＩＥＣ６１１６１−３標準で規定されているファンクションブロックに類似した表示態様となっているので、熟練者にとってはある意味で見慣れた表記となっており、違和感を覚えることが少ない。
【００１２】
したがって、非熟練者にとっては理解し易く、熟練者にとっては違和感が少ない表示態様でラダーロジックのプログラムを表示することができる。
また、内部カウンタを設け、判定ブロックの動作カウント値によってどの機能ブロックが動作するのかが分かること、また、工程順を示す工程番号が表示されることから、どの部分に追加すればよいのかを容易に把握することができる。
【００１３】
この場合、機能ブロックは、予め設定されている処理を行うものであることから、想定外の動作が起こることがなく、作業時等において安全性を確保することができる。
請求項２の発明では、機能ブロックは、ユーザが設定可能な１以上の入力パラメータを持ち、その入力パラメータに基づいて予め設定されている処理を実行するものであり、機能ブロックを表示する際、入力パラメータをユーザが設定可能に表示する。この場合、機能ブロック自体は熟練者等によって適切な処理が行われるように作成されるものであることから、設置作業時等において非熟練者が入力パラメータを変更したとしても、ロボットが意図しない動作をすることがない。したがって、熟練者・非熟練者問わず、現場での調整作業等を容易に行うことができる。
【００１４】
請求項３の発明では、内部カウンタは複数設けられており、判定ブロックは、複数の内部カウンタのうち予め設定された内部カウンタを利用して判定するものであり、複数の内部カウンタのうちいずれの内部カウンタを利用しているかを識別可能に表示される。これにより、複雑な処理を制御するプログラムであっても、処理系統別に機能ブロックの動作を把握することができる。
【００１５】
請求項４の発明では、機能ブロックは、その機能ブロック内で処理が完結するように設計されている。つまり、例えば機能ブロックが使用されたときの自己保持条件やその解除条件は、当該機能ブロック内でのみ通用するものであり、他の機能ブロックとは切り離されて管理されるように設計されている。このため、従来では自己保持条件の成立や解除等を他の機能ブロックの動作まで考慮しなければならなかったが、その必要がなくなる。また、自身で処理が完結することから、他の機能ブロックに影響を与えることもない。したがって、非熟練者であっても、処理の追加や変更を容易に行うことができる。
【図面の簡単な説明】
【００１６】
【図１】第１実施形態のラダープログラム作成装置の電気的構成を模式的に示す図
【図２】一例のラダープログラムの表示態様を模式的に示す図その１
【図３】一例のラダープログラムの表示態様を模式的に示す図その２
【図４】参考例であって、一般的なラダープログラムの表示態様を模式的に示す図
【発明を実施するための形態】
【００１７】
以下、本発明の一実施形態について、図面を参照しながら説明する。
ラダーロジックのプログラム（以下、便宜的にラダープログラムと称する）は、図１に示すようなプログラム作成装置１により作成される。プログラム作成装置１は、例えばパソコンや、ロボットを教示する際に使用されるティーチングペンダント等を採用することができる。
【００１８】
プログラム作成装置１は、制御部１０、入力部１１、表示部１２を備えている。なお、図示は省略するが、各種のデータやコンピュータプログラムを記憶する記憶部、例えば図１に示すプログラマブルロジックコントローラ（以下、ＰＬＣ２と称する）等に接続するためのインターフェース等も備えている。
【００１９】
制御部１０は、ＣＰＵ、ＲＯＭおよびＲＡＭ等を有するコンピュータで構成されており、記憶部に記憶されているコンピュータプログラムを実行することで、プログラム作成装置１全体を制御する。入力部１１は、例えばキーボードやマウス、表示部１２に対応して設けられたタッチパネル等で構成することができ、ユーザの操作が入力される。
表示部１２は、例えば液晶パネル等により構成することができ、プログラム作成装置１の動作状態等を表示するものであり、本実施形態に関連して、ラダープログラムを作成する作成ソフトの操作画面や、作成したラダープログラムなどを表示する。
【００２０】
プログラム作成装置１は、ＰＬＣ２に接続されたときには、作成したラダープログラムをＰＬＣ２にダウンロードし、ＰＬＣ２を動作させることができる。このＰＬＣ２は、例えば複数の入出力インターフェース（図１ではＩ／Ｏ２ａとして示す）を備えており、制御対象となるロボット３に接続されている。本実施形態では、ロボット３として、１軸モータ３ａおよび２軸モータ３ｂを有するロボット３を対象としている。
【００２１】
ここで、参考例として従来のラダープログラムの表示態様（以下、便宜的に従来例と称する）について図４を参照しながら説明する。
図４（Ａ）は、図４（Ｂ）に示す処理の流れをラダープログラムで表示したものであり上記した１軸モータ３ａと２軸モータ３ｂとを制御する一例を示すものである。なお、ラダープログラム自体は周知のものであるのでその作動の詳細を説明することは省略するが、左側に表示されている入力側母線に接続されている各シンボルはそれぞれ独立して作動する。
【００２２】
さて、従来例の場合、２つのモータを制御するために、複数の内部リレーＭ１〜Ｍ６（ラダープログラムの表記に使用するシンボル。コイルとも呼ばれる）を用いている。具体的には、図４（Ｂ）に示すように、スイッチＸ１がＯＮになると（Ｓ１０１）、内部リレーＭ１が自己保持される（Ｓ１０２）。そして、内部リレーＭ１が自己保持されたことから、それが入力条件となっている２つの機能部（図中の「ＰＬＳ  Ｃ１  Ｓ１」と、「ＰＬＳ  Ｃ２  Ｓ２」）が並列して作動する。
【００２３】
「ＰＬＳ  Ｃ１  Ｓ１」は、１軸モータ３ａを駆動するものであり、１軸目のパルスを出力し（Ｓ１０３）、出力が完了するとフラグＸ２がＯＮになり（Ｓ１０４）、内部リレーＭ２がＯＮなる（Ｓ１０４）処理が行われている。そして、内部リレーＭ２がＯＮなると、内部リレーＭ４が自己保持される（Ｓ１０６）。
【００２４】
「ＰＬＳ  Ｃ２  Ｓ２」は、２軸モータ３ｂを駆動するものであり、２軸目のパルスを出力し（Ｓ１０９）、出力が完了するとフラグＸ３がＯＮになり（Ｓ１１０）、内部リレーＭ３がＯＮなる（Ｓ１１１）処理が行われている。そして、内部リレーＭ３がＯＮなると、内部リレーＭ５が自己保持される（Ｓ１０６）。
【００２５】
そして、内部リレーＭ４、Ｍ５がオンになったことから、内部リレーＭ６がＯＮになり（Ｓ１０７）、内部リレーＭ１、Ｍ４、Ｍ５の自己保持が解除される（Ｓ１０８）。
このように、ラダープログラムは、必ずしも表示されている上から下に順番に作動するものではなく、また、１つの内部リレーが複数の条件に使われる（例えば、内部リレーＭ３〜Ｍ６参照）こともあり、それらの自己保持やその解除を個別に行う必要がある。そのため、ラダーロジックに対する理解が浅いユーザ（以下、便宜的に非熟練者と称する）にとっては、ラダープログラムを見てもその動作を把握しづらいことがある。
【００２６】
また、この図４（Ａ）はロボット３の制御としては限りなく単純な一例を示したものであるが、実際に生産現場に設置するロボット３のラダープログラムはもっと複雑であり、さらには生産設備全体に対する理解も必要となることから、非熟練者にとってはラダープログラムを作成すること自体が困難なことがある。そして、誤ったプログラムが実行されると想定外に動作して周辺設備の損傷等の思わぬ事故に繋がるおそれがあることから、安易にプログラム変更等を行うことは望ましくないという実情もある。
【００２７】
そこで、本実施形態では、以下のようにラダープログラムを表示する。
図２（Ａ）は、本実施形態でのラダープログラムの表示態様の一例を示しており、図２（Ｂ）は、処理の流れを示している。なお、この図２（Ａ）、（Ｂ）は、上記した従来例と同じ処理を行うものである。
【００２８】
まず、このような表示をするために、プログラム作成装置１は、内部カウンタ（図２ではＣＮＴ１と示す）、判定ブロック２０、および機能ブロック２１を用いてラダープログラムを作成および表示する。より厳密に言えば、プログラム作成装置１は、これら内部カウンタ、判定ブロック２０、および機能ブロック２１を使用できるラダープログラム作成用ソフトウェア（アプリケーションプログラム）を使用している。
【００２９】
内部カウンタは、プログラムが起動されたときに初期化され、ラダープログラムが起動すると１になり、その後は機能ブロック２１の動作が完了する毎に、つまり、機能ブロック２１の内部処理が終了する毎に、カウント値が１ずつインクリメントされる専用のカウンタである。
【００３０】
判定ブロック２０は、内部カウンタのカウント値が入力され、そのカウント値が自身に設定されている動作カウント値（工程順を示す工程番号に相当する）に一致するかを判定し、一致すると判定すると機能ブロック２１の動作条件が成立した旨を出力する。図２（Ａ）の例では、「ＣＮＴ１＝１」の判定ブロック２０は、自身の動作カウント値には「１」が設定されており、内部カウンタ（ＣＮＴ１）のカウント値が１である場合に、機能ブロック２１の動作条件が成立した旨を出力する。
【００３１】
機能ブロック２１は、動作条件が成立すると（つまり、判定ブロック２０からの出力があると）、予め設定されている内部処理を実行する。なお、本実施形態では、処理が終了すると機能ブロック２１が内部カウンタを１インクリメントしている。この内部処理は、ラダープログラムで記述されている。例えば、図２（Ａ）に示す機能ブロック２１の場合、「ＦＢ：ＭＯＶＥ」は、２軸分のモータを駆動するための処理が設定されている。この内部処理は、必要とされるロボット３の動作に対応して、熟練者が作成する。このため、機能ブロック２１は、その内部処理の信頼性が高いものとなっている。
【００３２】
また、機能ブロック２１は、ユーザが設定可能な１以上の入力パラメータ（図２（Ａ）の場合、「Ｃ１」、「Ｓ１」の２個）を持っており、その入力パラメータに基づいて内部処理を実行する。この入力パラメータは、例えば駆動する軸や駆動する際のスピード、あるいは目標の座標等である。そして、この入力パラメータは、機能ブロック２１の内部処理に必要であって、且つ、設置現場等で調整する可能性があると想定されるパラメータが選択されている。このため、機能ブロック２１は、微調整が可能となっているとともに、変更する必要の無い部分はそもそも変更できなくなっている。このため、機能ブロック２１は、非熟練者が設定を変更した場合であっても、誤った動作をする可能性が低くなっている。
【００３３】
次に、本実施形態によるラダープログラムの表示態様について図２（Ｂ）も参照しながら説明する。
スイッチＸ１がＯＮになると（Ｓ１）、内部リレーＭ１が自己保持されてプログラムが起動し、内部リレーＭ１がＯＮとなり、内部カウンタ（ＣＮＴ１）が０から１にインクリメントされる（Ｓ２）。このとき、内部カウンタが１になったことから、「ＣＮＴ１＝１」の判定ブロック２０から、その判定ブロック２０に接続されている機能ブロック２１に対して、動作条件が成立した旨を出力する。
【００３４】
動作条件が成立した旨が入力されると、機能ブロック２１は、予め設定されている内部処理つまり２軸分のパルスを出力し、出力が完了すると内部カウンタを１インクリメントし、内部カウンタは１→２になる（Ｓ３）。そして、内部カウンタが２になったことから、「ＣＮＴ１＝２」の判定ブロック２０が動作して、内部カウンタを初期化するために内部リレーＭ２がＯＮになり、プログラムが終了されて内部カウンタがリセットされる（Ｓ４）。
【００３５】
これらの処理は、ラダープログラムの作成画面では、図２（Ａ）に示すように表示される。すなわち、入力側母線に必要とされる工程の数だけ判定ブロック２０が接続され、各判定ブロック２０にはそれぞれの動作カウント値が併せて表示され、各判定ブロック２０には、その動作カウント値で動作する１つの機能ブロック２１が接続され、両者が並べて表示される。
【００３６】
このように、本実施形態では、プログラム作成装置１は、機能ブロック２１、内部カウンタ、および判定ブロック２０を用いてラダーロジックのプログラムを作成し、判定ブロック２０を動作カウント値として任意の工程を示す工程番号をユーザが設定可能に表示するとともに、機能ブロック２１を、当該機能ブロック２１が実行される工程番号に対応した判定ブロック２０の出力に接続して両者を並べて表示する表示方法を採用している。
【００３７】
以上説明した実施形態によれば、次のような効果を得ることができる。
実施形態の表示方法によれば、判定ブロック２０に動作カウント値を併せて表示すると共に、その動作カウント値で動作する機能ブロック２１を当該判定ブロック２０に接続して並べて表示する。これにより、ラダープログラムの動作の流れを内部カウンタ（ＣＮＴ１）の値により判断することができ、非熟練者であってもラダープログラムで行われる処理の流れを容易に把握できる。また、判定ブロックと機能ブロックとは１対１で接続されて表示されることから、どの機能ブロックが動作するかも容易に理解することができる。
【００３８】
この場合、判定ブロック２０という表記が新たに作られたことになるが、機能ブロック２１が判定ブロック２０に接続されるように表示されているので、判定ブロック２０も１つの機能ブロック２１と同じように擬似的にみることができる。そして、その表示態様は、熟練者からみると、入力条件が多く設定されているラダー図が表示されていると受け取ることができる。そのため、「内部カウンタのカウンタ値が各判定ブロック２０に設定されている値となったときに、該当する判定ブロック２０に接続されている機能ブロック２１が動作する」といった極めて簡単なルールだけを把握しておけば、熟練者であっても容易に図２（Ａ）に示すラダープログラムを理解することができる。
【００３９】
また、実施形態の機能ブロック２１は、ＩＥＣ６１１６１−３標準で規定されているファンクションブロックに類似した表示態様となっているので、熟練者にとってはある意味で見慣れた表記態様となっており、違和感を覚えることが少ないと考えられる。
したがって、非熟練者にとっては理解し易く、熟練者にとっては違和感が少ない表示態様でラダープログラムを表示することができる。
【００４０】
また、各機能ブロック２１は、ユーザが設定可能な１以上の入力パラメータを持っており、その入力パラメータが共に表示されている。そして、その入力パラメータをユーザが変更することで、機能ブロック２１の動作を変更、調整することができる。このとき、機能ブロック２１自体は熟練者等によって適切な処理が行われるように作成されているので、設置作業時等に非熟練者が入力パラメータを変更したとしても、ロボット３が意図しない動作をすることがない。したがって、非熟練者であってもラダープログラムで行われる処理の流れを容易に把握できるようになり、現場での調整作業等を容易に行うことができる。
【００４１】
また、「内部カウンタ（ＣＮＴ１）のカウンタ値が判定ブロック２０に設定されている値となったときに、その判定ブロック２０に接続されている機能ブロック２１が動作する」といった極めて簡単なルールだけを把握すれば、熟練者であっても容易に図２（Ａ）に示すラダープログラムを理解することができる。
【００４２】
また、各機能ブロック２１には入力パラメータが共に表示されており、その入力パラメータを変更することで、機能ブロック２１の動作を変更、調整することができる。このとき、機能ブロック２１自体は熟練者等によって適切な処理が行われるように作成されているので、設置作業時等に非熟練者が入力パラメータを変更したとしても、ロボット３が意図しない動作をすることがない。したがって、現場での調整作業等を容易且つ安全に行うことができる。
【００４３】
また、機能ブロック２１は、その機能ブロック２１内で処理が完結するように設計されている。このため、処理の追加や変更を行う場合、従来のような自己保持条件の成立や解除等、他の機能ブロック２１との関連を考慮する必要がなく、また、他の機能ブロック２１に影響を与えることもない。したがって、非熟練者であっても、処理の追加や変更を容易に行うことができる。
【００４４】
また、内部カウンタを設け、判定ブロック２０の動作カウント値によってどの機能ブロック２１が動作するのかが分かることから、機能ブロック２１の追加を容易に行うことができるようになる。例えば、参考例として例示した図４（Ａ）のラダープログラムであれば、追加する機能に関する自己保持条件の成立や解除等の内部リレーを追加し、追加した内部リレーが競合しないか等を確認する作業等が必要になる。
【００４５】
これに対して、実施形態の表示方法であれば、例えば図２（Ａ）に示したラダープログラムに機能ブロック２１を追加する場合を想定すると、プログラムの終了（図２（Ａ）ではＣＮＴ１＝２の判定ブロック２０）よりも工程順において前になるように追加すれば良いことが、その表示から明らかである。
【００４６】
そのため、例えば図３（Ａ）に示すように「ＦＢ：ＭＯＶＥＡ」の機能ブロック２１を追加する場合、動作カウント値を「２」とした判定ブロック２０を追加し、その判定ブロック２０に追加する機能ブロック２１を接続し、プログラムの終了を判定する判定ブロック２０の動作カウント値を「３」に変更することで、新たな機能ブロック２１を追加することができる。したがって、機能の追加や変更にかかわる作業を大幅に削減することができる。なお、ＦＢ：ＭＯＶＥＡは、ＦＢ：ＭＯＶＥとは異なる動作（処理内容）が予め設定されている機能ブロック２１として例示しているが、同じＦＢ：ＭＯＶＥの機能ブロック２１を例えば入力パラメータを変更して追加することもできる。
【００４７】
この場合、ラダープログラムは入力側母線に接続されている各判定ブロック２０が同時に判定を行うものであるから、追加する機能ブロック２１は、工程順すなわち動作カウント値が、プログラムの終了を判定する判定ブロック２０の動作カウント値よりも前であればよい。そのため、図３（Ａ）に示すように動作カウント値が表示画面において上から順番に「１」、「３」、「２」となっているような場合であっても、正しく処理が行われる。
【００４８】
なお、プログラムの終了は一般的には最後の工程順（つまり、表示画面において一番下）に記述されることが多いと考えられることから、図３（Ａ）に示すようにプログラムの終了よりも表示画面において下に機能ブロック２１が配置されている場合、その機能ブロック２１は、当初のプログラムが作成された後に追加されたものであると想像することができる。
【００４９】
そのため、動作カウント値に基づいて動作する機能ブロック２１が特定される表示方法であれば、例えば非熟練者が現場でラダープログラムを修正した際に追加した部分をプログラムの終了よりも下に配置するというルール付けをすること等により、後から熟練者が確認する際にどの部分が追加されたのかを容易に把握できる等、実務作業を行う上でのメリットを享受することもできる。勿論、動作カウント値が表示画面において上から順番に「１」、「２」、「３」となるように各ブロックを並び替えてもよい。
【００５０】
内部カウンタを複数設け、判定ブロック２０を予め設定された内部カウンタを利用して判定するようにし、判定ブロック２０を、内部カウンタを利用しているかを識別可能に表示してもよい。つまり、図３（Ｂ）に示すように、「ＣＮＴ１＝１」、「ＣＮＴ１＝２」、「ＣＮＴ２＝１」のように判定ブロック２０に使用する内部カウンタを識別可能に表示指定もよい。これにより、複雑な処理を制御するラダープログラムであっても、処理系統別に容易に把握することができる。
【００５１】
（その他の実施形態）
本発明は上記した実施形態で例示した構成に限定されるものではなく、その要旨を逸脱しない範囲で任意に変形、組み合わせ、拡張することができる。
実施形態で示した数値等は一例であり、それに限定されるものではない。
機能ブロック２１をライブラリ化し、異なるラダープログラムで使用できるようにしてもよい。
【００５２】
実施形態では機能ブロック２１の出力条件を設定しなかったが、出力条件を設定してもよい。その場合、出力条件を他の機能ブロック２１への入力条件（動作条件）としてもよいし、出力条件として処理結果を出力し、その処理結果を他の機能ブロック２１への入力パラメータとしてもよい。
【００５３】
実施形態では２軸のロボット３を例示したが、垂直多関節型のロボット（いわゆる６軸ロボットや７軸ロボット）、水平多関節型ロボット、直角座標ロボットや直動ロボット等に本発明を適用してもよい。また、ロボットに限らず、モータ等の負荷を制御するラダープログラムに本発明を適用してもよい。
【符号の説明】
【００５４】
図面中、１はプログラム作成装置、２はＰＬＣ（プログラマブルロジックコントローラ、産業用機器）、３はロボット（産業用機器）、２０は判定ブロック、２１は機能ブロックを示す。
【図１】
2016081223.tif 000003
【図２】
2016081223.tif 000004
【図３】
2016081223.tif 000005
【図４】
2016081223.tif 000006