JP2017027259A - 機械制御プログラム作成装置、コンピュータプログラム、機械制御プログラム中のレジスタへの参照の入れ替え方法及びコンピュータにより実行可能な電子データ作成装置 - Google Patents
機械制御プログラム作成装置、コンピュータプログラム、機械制御プログラム中のレジスタへの参照の入れ替え方法及びコンピュータにより実行可能な電子データ作成装置 Download PDFInfo
- Publication number
- JP2017027259A JP2017027259A JP2015143469A JP2015143469A JP2017027259A JP 2017027259 A JP2017027259 A JP 2017027259A JP 2015143469 A JP2015143469 A JP 2015143469A JP 2015143469 A JP2015143469 A JP 2015143469A JP 2017027259 A JP2017027259 A JP 2017027259A
- Authority
- JP
- Japan
- Prior art keywords
- register
- machine control
- control program
- replacement
- creation device
- 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.)
- Pending
Links
Images
Landscapes
- Programmable Controllers (AREA)
Abstract
【課題】機械制御プログラム中のレジスタへの参照の入れ替えをするにあたり、作業負担を低減し、ヒューマンエラーを防止することにより、機械制御プログラムの生産性を高める。
【解決手段】機械制御プログラム作成装置1は、機械制御プログラムを記憶する記憶部3と、第1のレジスタ及び第2のレジスタを指定するレジスタ指定部7と、記憶部3に記憶された前記機械制御プログラム中の前記第1のレジスタへの参照と、前記第2のレジスタへの参照を入れ替える入れ替え部9と、を有する。
【選択図】図2
【解決手段】機械制御プログラム作成装置1は、機械制御プログラムを記憶する記憶部3と、第1のレジスタ及び第2のレジスタを指定するレジスタ指定部7と、記憶部3に記憶された前記機械制御プログラム中の前記第1のレジスタへの参照と、前記第2のレジスタへの参照を入れ替える入れ替え部9と、を有する。
【選択図】図2
Description
本発明は、機械制御プログラム作成装置、コンピュータプログラム、機械制御プログラム中のレジスタへの参照の入れ替え方法及びコンピュータにより実行可能な電子データ作成装置に関する。
ラダープログラム等の機械制御プログラムをコンピュータ上で作成及び編集することが一般に行われている。機械制御プログラムは、PLC(プログラマブルロジックコントローラ)等のコントローラにおいて実行され、コントローラ内部のレジスタ(いわゆる接点)の状態を変化させることにより、当該コントローラに接続された各種の機械要素の制御を行う。
ここで、コントローラと機械要素との接続位置が異なると、当該機械要素に対応するレジスタも異なるものが割り当てられることとなるため、一旦機械制御プログラムを作成した後に、コントローラに対する機械要素の接続位置を変更したり、あるコントローラについて作成された機械制御プログラムを、かかるコントローラと機械要素の接続位置が異なる他のコントローラにおいて流用しようとすると、機械制御プログラム中のレジスタへの参照(例えば、レジスタ名)を機械要素との接続状態に応じて変更しなければならない。
機械制御プログラムの作成及び編集をするコンピュータプログラムにおいて、機械制御プログラム中のあるレジスタへの参照を、他のレジスタへの参照に置き換える機能を備えるものは既に知られている。このとき、あるレジスタへの参照(これを「第1のレジスタ」と称する)と、他のレジスタへの参照(これを「第2のレジスタ」と称する)を入れ替えようとする場合には、あるレジスタへの参照を一旦使用されていない別のレジスタへの参照(これを「第3のレジスタ」と称する)に置き換え、次いで第2のレジスタを第1のレジスタへと置き換え、さらに第3のレジスタを第1のレジスタに置き換える作業が必要であり、煩雑で且つヒューマンエラーを誘発しやすい。
本発明の解決しようとする課題は、機械制御プログラム中のレジスタへの参照の入れ替えをするにあたり、作業負担を低減し、ヒューマンエラーを防止することにより、機械制御プログラムの生産性を高めることである。
本発明の一側面に係る機械制御プログラム作成装置は、機械制御プログラムを記憶する記憶部と、第1のレジスタ及び第2のレジスタを指定するレジスタ指定部と、前記記憶部に記憶された前記機械制御プログラム中の前記第1のレジスタへの参照と、前記第2のレジスタへの参照を入れ替える入れ替え部と、を有する。
また、本発明の一側面に係る機械制御プログラム作成装置では、前記レジスタ指定部は、前記第1のレジスタ及び前記第2のレジスタとして複数のレジスタを指定可能であってよい。
また、本発明の一側面に係る機械制御プログラム作成装置では、前記レジスタ指定部は、入れ替えに係るレジスタの範囲を指定する範囲指定部を有してよい。
また、本発明の一側面に係る機械制御プログラム作成装置では、前記入れ替え部は、前記機械制御プログラム中の命令を特定方向に読み込み、前記命令に含まれるレジスタへの参照が前記第1のレジスタへの参照に該当する場合に、当該レジスタへの参照を対応する前記第2のレジスタへの参照に置き換え、前記命令に含まれるレジスタへの参照が前記第1のレジスタへの参照に非該当且つ前記第2のレジスタへの参照に該当する場合に、当該レジスタへの参照を対応する前記第1のレジスタへの参照に置き換えてよい。
また、本発明の一側面に係る機械制御プログラム作成装置は、前記第1のレジスタ及び前記第2のレジスタから、レジスタの重複の無い単一の変換テーブルを作成する変換テーブル作成部を有し、前記入れ替え部は、前記機械制御プログラム中の命令を特定方向に読み込み、前記変換テーブルに基いて、前記命令に含まれるレジスタへの参照を置き換えてよい。
また、本発明の別の一側面に係るコンピュータプログラムは、コンピュータを、上述のいずれかの機械制御プログラム作成装置として機能させる。
また、本発明の別の一側面に係る機械制御プログラム中のレジスタへの参照の入れ替え方法は、機械制御プログラムに含まれる第1のレジスタ及び第2のレジスタを指定し、前記機械制御プログラム中の命令を特定方向に読み込み、前記命令に含まれるレジスタへの参照が前記第1のレジスタへの参照に該当する場合に、当該レジスタへの参照を対応する前記第2のレジスタへの参照に置き換え、前記命令に含まれるレジスタへの参照が前記第1のレジスタへの参照に非該当且つ前記第2のレジスタへの参照に該当する場合に、当該レジスタへの参照を対応する前記第1のレジスタへの参照に置き換える。
また、本発明の別の一側面に係る機械制御プログラム中のレジスタへの参照の入れ替え方法は、機械制御プログラムに含まれる第1のレジスタ及び第2のレジスタを指定し、前記第1のレジスタ及び前記第2のレジスタから、レジスタの重複の無い単一の変換テーブルを作成し、前記機械制御プログラム中の命令を特定方向に読み込み、前記変換テーブルに基いて、前記命令に含まれるレジスタへの参照を置き換える。
また、本発明の別の一側面に係るコンピュータにより実行可能な電子データ作成装置は、変数への参照を含む、コンピュータにより実行可能な電子データを記憶する記憶部と、第1の変数及び第2の変数を指定する変数指定部と、前記記憶部に記憶された前記電子データ中の前記第1の変数への参照と、前記第2の変数への参照を入れ替える入れ替え部と、を有する。
図1は本発明の実施形態に係る機械制御プログラム作成装置1の物理的な構成例を示すブロックである。機械制御プログラム作成装置1としては一般的なコンピュータを用いてよく、本実施形態においても、CPU(Central Processing Unit)1a、RAM(Random Access Memory)1b、外部記憶装置1c、GC(Graphics Controller)1d、入力デバイス1e及びI/O(Inpur/Output)1fがデータバス1gにより相互に電気信号のやり取りができるよう接続されている一般的なコンピュータを用いている。ここで、外部記憶装置1cはHDD(Hard Disk Drive)やSSD(Solid State Drive)等の静的に情報を記録できる装置である。またGC1dからの信号はCRT(Cathode Ray Tube)やいわゆるフラットパネルディスプレイ等の、使用者が視覚的に画像を認識するモニタ1hに出力され、画像として表示される。入力デバイス1eはキーボードやマウス、タッチパネル等の、ユーザが情報を入力するための機器であり、I/O1fは機械制御プログラム作成装置1が外部の機器と情報をやり取りするためのインタフェースである。コンピュータを機械制御プログラム作成装置1として機能させるためのアプリケーションプログラムは外部記憶装置1cにインストールされ、必要に応じてRAM1bに読みだされてCPU1aにより実行される。また、かかるプログラムは、適宜の光ディスク、光磁気ディスク、フラッシュメモリ等の適宜のコンピュータ可読情報記録媒体に記録されて提供されても、インターネット等の情報通信回線を介して提供されてもよく、さらに、I/O1fを介して外部のネットワークに接続されたサーバにより機械制御プログラム作成装置1としての機能が提供される、いわゆるクラウドコンピューティングにより提供されてもよい。
本明細書では、機械制御プログラムという語を、コントローラにより実行され、機械要素を制御するためのコンピュータプログラムの意で用いる。ここで言うコントローラは、機械要素を電子的・電気的に制御する機器であり、具体的には、PLCやサーボコントローラ等が含まれる。機械制御プログラムには、各種のコントローラで用いられるプログラムが含まれ、具体的には、ラダーチャートやSFC(シーケンシャルファンクションチャート)、C言語によるプログラムやタイムチャート等が含まれる。
また、本明細書では、機械要素という語を、コントローラに接続され制御される物理的な要素の意で用いる。具体的には、機械要素には、サーボモータやステップモータ等のアクチュエータ、それらのコントローラ、スイッチやランプ、ソレノイドや油空圧バルブ等の各種自動化機器を含む。
図2は本発明の実施形態に係る機械制御プログラム作成装置1の機能的な構成例を示す機能ブロック図である。本図に示す各機能ブロックは、上述の機械制御プログラム作成装置1の物理的構成を用いて、例えば、CPU1aにより所定のプログラムを実行したり、RAM1bや外部記憶装置1cに所定の情報を記憶する領域を割り当てたりすることにより仮想的に実現されており、機械制御プログラム作成装置1が有する機能に着目して個別に示したものである。従って、本図に示す機能ブロックは必ずしも機械制御プログラム作成装置1の物理的構成や、機械制御プログラム作成装置1が実行するプログラム自体が機能ブロック毎に区分されることを意味しない。また、本図には機械制御プログラム作成装置1が有する全ての機能が示されているわけではなく、本発明と技術的関連の低い部分は省略されている。
機械制御プログラム作成部2は、ユーザからの入力をGUI(グラフィックスユーザインタフェース)等により受け付け、入力内容に従って機械制御プログラムを作成する機能を実現する部分である。種々の機械制御プログラムを作成する手法と、そのインタフェースは公知であるのでここでは詳細は割愛するが、作成された機械制御プログラムは記憶部3に記憶される。
記憶部3は、作成された機械制御プログラムを記憶する部分である。機械制御プログラムは、表示部4により整形され、モニタ1hにより、ユーザが理解できる態様で表示される。
出力部5は、作成された機械制御プログラムを外部の機器、例えばPLC6へと出力する部分である。PLC6は、機械制御プログラム作成装置1から転送された機械制御プログラムをPLC6自身の内部に保持し、実行することにより、各種の機械要素の制御を行う。
レジスタ指定部7は、入れ替えに係るレジスタを指定する部分である。ここで、入れ替え元のレジスタを第1のレジスタ、入れ替え先のレジスタを第2のレジスタと称すると、レジスタ指定部7は、第1のレジスタ及び第2のレジスタを指定する機能を有することになる。この指定は、後ほど具体例に示すように、適宜のGUIを用いたものであってよい。
さらに、本実施形態では、レジスタ指定部7は範囲指定部8を含む。範囲指定部8は、入れ替えに係るレジスタの範囲を指定する部分である。範囲指定部8の技術的意義や動作については後述する。
入れ替え部9は、記憶部3に記憶された機械制御プログラム中の第1のレジスタへの参照と、第2のレジスタへの参照を入れ替える機能を有する部分である。ここで、第1のレジスタと第2のレジスタは、レジスタ指定部7により指定されたレジスタである。これにより、記憶部3に記憶された機械制御プログラムは更新されることになる。
なお、ここで「レジスタ」は通常の意味で用いている。すなわち、フリップフロップ等の回路により状態を保持することのできる論理回路であって、一般に記憶容量が小容量のものをさす。機械制御プログラムが、ラダープログラムである場合は、いわゆる「接点」と、ラダープログラム中で使用される変数がここでのレジスタに該当する。
変換テーブル作成部10は、入れ替え部9が実行する処理のアルゴリズムによっては必要となる部分であり、第1のレジスタ及び第2のレジスタから、レジスタの重複の無い単一の変換テーブルを作成する。この変換テーブル作成部10の技術的意義や動作については後述する。
図3は、機械制御プログラム作成装置1における、レジスタの入れ替えの指示をするためのGUIを示す図である。同図には、機械制御プログラム作成装置1において、レジスタの入れ替えをするためのコマンドを入力した際に、レジスタ指定部7によりモニタ1h上に表示されるダイアログ100が示されている。なお、本実施形態の機械制御プログラム作成装置1では、レジスタの置き換えの機能も同時に有しており、ダイアログ100は置き換えと入れ替えとで共通のものを使用している。
ダイアログ100中、「検索レジスタ」として示されるボックス101は、第1のレジスタをユーザが入力し指定する領域である。また、「置換レジスタ」として示されるボックス102は、第2のレジスタをユーザが入力し指定する領域である。ここでは、第1のレジスタとしてレジスタ1が、第2のレジスタとしてレジスタ2が指定されている。
チェックボックス103は、レジスタの置換をするか、入れ替えをするかをユーザが指定する領域である。前述の通り、このダイアログ100はレジスタの置換と入れ替えとで共通のものを用いており、このチェックボックス103にチェックを入れることでレジスタの入れ替えの指定がなされる。なお、このチェックボックス103にチェックがなされていない場合には、単純に第1のレジスタを第2のレジスタで置き換える、置換の処理が指定されることになる。
「対象プログラム指定」として示されるボックス104は、記憶部3内に複数の機械制御プログラムが記憶されている場合に、レジスタの入れ替えの処理をどの機械制御プログラムに適用するかをユーザが指定する領域である。本実施形態では、ボックス104内に、記憶部3内に記憶されている機械制御プログラム名がチェックボックスを付されて一覧表示される。ユーザは、所望の機械制御フログラムの名前に付されたチェックボックスにチェックを入れることにより、どの機械制御プログラムにレジスタの入れ替えの処理を適用するかを指定できる。この例では、ラダープログラム1が指定されている。
第1のレジスタ及び第2のレジスタ、及び適用すべき機械制御プログラムの指定後、実行ボタン105を選択することにより、入れ替え部9により、指定された機械制御プログラム中の第1のレジスタへの参照と、第2のレジスタへの参照を入れ替える処理がなされる。これにより、機械制御プログラム中のレジスタへの参照の入れ替えをするにあたり、第1のレジスタを一旦第3のレジスタに置き換える退避の作業を不要とし、操作が単純になることで作業負担が低減されるとともにヒューマンエラーの発生可能性が低減される。また、レジスタの入れ替えの処理にあたり、一時的に使用される第3のレジスタを用意する必要が無いため、無駄なレジスタを用意する必要が無く、メモリの使用効率もまた改善される。
なお、本実施形態の機械制御プログラム作成装置1は、レジスタの入れ替えを単一のレジスタについて行うのみならず、複数のレジスタに対しまとめて行う機能を有している。単一のレジスタに対し入れ替えを行うか、複数のレジスタに対し入れ替えを行うかは、ダイアログ100中のタブを選択することにより切り替えることができる。図3では、個別タグ106が選択され、単一のレジスタに対し入れ替えを行う場合のダイアログ100が示されている。
図4は、機械制御プログラム作成装置1において、複数のレジスタに対し入れ替えを指示する場合のGUIを示す図である。本実施形態では、ダイアログ100中の範囲タブ106を選択することにより、図4に示した表示に切り替わる。
図4に示したダイアログ100では、置き換え又は入れ替えを指示する複数の条件を入力することができるようになっている。それらの条件は、条件入力領域108に入力される。
条件入力領域108では、個々の行が1つの条件を示しており、それぞれ、検索元、種別、置換先、サイズ及び対象プログラムを指定するようになっている。複数の条件が入力された場合には、条件入力領域には条件の数に等しい行数だけ条件が示され、個々の条件には番号がつけられて区別されている。図4に示した例では、番号1〜3の3つの条件が入力されている状態が示されている。それぞれの条件に付された番号は、各行の左端に示されている。
検索元は、それぞれの条件において、第1のレジスタを指定する領域である。図4の1番の条件では、レジスタ1が指定されている。また、置換先は、第2のレジスタを指定する領域である。ここでは、レジスタ3が指定されている。そして、種別は、置換か入れ替えかを指定する領域である。この例では、双方向の矢印が入れ替えを、右向きの矢印が置換を示しているから、1番の条件では、入れ替えが指定されていることになる。
さらに、ここで示したダイアログ100では、サイズの欄があり、レジスタ指定部7に含まれる範囲指定部8により、入れ替えに係るレジスタの範囲が指定できるようになっている。これにより、複数のレジスタをまとめて入れ替える指定が可能となっている。この範囲の指定は、どのような入力方式によってもよく、逐一対象となるレジスタを指定してもよいし、対象となるレジスタを列挙した電子ファイルを読み込む等してもよいが、本実施形態では、対象となるレジスタの個数を数値で指定する。この場合、検索元及び置換先で指定されたレジスタは、指定された範囲の先頭のレジスタを示すものと解釈され、かかるレジスタから指定された個数分のレジスタまでが指定された範囲に含まれることになる。図示した1番の条件では、検索元としてレジスタ1〜レジスタ5が第1のレジスタとして指定され、又、置換先として、レジスタ3〜レジスタ7が第2のレジスタとして指定されることになる。なお、ここで示したように、検索元の範囲と、置換先の範囲が一部重複するような指定も可能である。
対象プログラムの欄は、レジスタの入れ替えの対象となる機械制御プログラムを指定する欄である。その意味するところは、図3のボックス104と同様である。
なお、ここで示した2番の条件は、種別が右向きの矢印、すなわち、置換を指定するものとなっており、サイズが3であるから、レジスタ10〜12をレジスタ20〜23で置き換える処理を指定する条件となっている。
また、3番の条件のように、検索元と置換先の指定は、必ずしも、レジスタ番号によるものでなくともよく、複数のレジスタをまとめる任意の単位を指定することによってもよい。そのような単位としては、例えば、特定の機械要素が決まった個数のレジスタを占有することが分かっている場合、その機械要素自身を単位とすることが挙げられる。3番の条件として挙げた例では、サーボ軸の軸番号を指定することにより、機械要素としてのサーボコントローラが使用する複数のレジスタをまとめて指定するものとなっている。このような指定では、検索元と、置換先の指定は、同種の機械要素を指定するものとなり、ここでは、サーボ軸1とサーボ軸2がそれぞれ用いるレジスタを入れ替える指定となっている。なお、この場合にはサイズの指定はなされない。
機械制御プログラム作成装置1は、このようにダイアログ100に複数の条件が入力された状態で、実行ボタン105が選択されると、各条件を番号順に逐次実行する。このようにすることで、機械制御プログラム中に対し、レジスタへの置換や入れ替えを複数回実施するような場合に、当該処理をまとめて実行できるため、作業効率が向上し、また、それぞれの置換や入れ替えを実行済みであるのかそうでないのかを取り違えるなど、ヒューマンエラーが生じる可能性を低減できる。
また、第1のレジスタ及び第2のレジスタとして複数のレジスタを指定できるから、複数のレジスタへの参照をまとめて入れ替える場合に、個々のレジスタに対し逐一入れ替えの操作をする必要が無く、作業効率が向上するとともにヒューマンエラーが生じる可能性を低減できる。さらに、範囲指定部8により、入れ替えに係るレジスタの範囲を一括で指定することで、第1のレジスタとして指定された範囲の大きさと第2のレジスタとして指定された範囲の大きさが食い違う等の入力ミスの発生を未然に防止できる。
なお、ダイアログ100の範囲タブ107には、インポートボタン109及びエクスポートボタン110が設けられており、条件入力領域108に入力された条件を外部ファイルとして保存し、或いは保存された外部ファイルから呼び出すことができるようになっている。これにより、複数の機械制御プログラムに対し、同様の条件によるレジスタへの参照の入れ替えを行う際に、条件の入力が一度で済み、作業効率が向上するとともに、入力ミスによるヒューマンエラーが生じる可能性を低減できる。
続いて、入れ替え部9による、レジスタへの参照の入れ替えの具体的処理を図5を参照して説明する。図5は、入れ替え部9により実行される処理のフロー図である。
実行ボタン105が選択されると、ステップST01において、機械制御プログラム中の命令を特定の方向、例えば、本実施形態では先頭から最後尾に向かう順となるように読み込む。最初にステップST01が実行された際には、機械制御プログラムの先頭の命令が読み込まれることになる。
続くステップST02で、読み込まれた命令に含まれるレジスタへの参照が、第1のレジスタへの参照に該当するか否かが判定される。該当する場合には、ステップST03へと進み、該当するレジスタへの参照が、対応する第2のレジスタへの参照に置き換えられる。このステップST03での処理では、図4の1番として示した条件を例にとれば、次のような置き換えがなされることになる。
レジスタ1→レジスタ3
レジスタ2→レジスタ4
レジスタ3→レジスタ5
レジスタ4→レジスタ6
レジスタ5→レジスタ7
レジスタ1→レジスタ3
レジスタ2→レジスタ4
レジスタ3→レジスタ5
レジスタ4→レジスタ6
レジスタ5→レジスタ7
一方、ステップST02で、読み込まれた命令に含まれるレジスタへの参照が、第1のレジスタへの参照に該当しないと判定された場合には、ステップST04へと進み、読み込まれた命令に含まれるレジスタへの参照が、第2のレジスタへの参照に該当するか否かが判定される。該当する場合には、ステップST05へと進み、該当するレジスタへの参照が、対応する第1のレジスタへの参照に置き換えられる。このステップST05での処理では、図4の1番として示した条件を例にとれば、次のような置き換えがなされることになる。
レジスタ3→レジスタ1
レジスタ4→レジスタ2
レジスタ5→レジスタ3
レジスタ6→レジスタ4
レジスタ7→レジスタ5
レジスタ3→レジスタ1
レジスタ4→レジスタ2
レジスタ5→レジスタ3
レジスタ6→レジスタ4
レジスタ7→レジスタ5
ステップST03、ステップST05の終了後、及び、ステップST04で読み込まれた命令に含まれるレジスタへの参照が、第2のレジスタへの参照に該当しないと判定された場合には、ステップST06へと進み、機械制御プログラム中の全ての命令を読み込んだか否かが判定される。まだ全ての命令の読み込みが完了していない場合には、ステップST01に戻り、次の機械制御プログラム中の命令が新たに読み込まれる。全ての命令の読み込みが完了した場合には、レジスタへの参照の入れ替え処理を終了する。
このようなアルゴリズムによる処理により、第1のレジスタと第2のレジスタとして複数のレジスタを指定した際に、互いに重複する範囲が指定された場合にも入れ替え処理が可能であり、一意の結果が得られる。もちろん、このアルゴリズムは、第1のレジスタと第2のレジスタとして単一のレジスタが指定された場合にも用いられる。
図5に示したアルゴリズムと同様の結果は、異なるアルゴリズムによっても得ることができる。図6は、入れ替え部9により実行される処理の別実施例を示すフロー図である。
実行ボタン105が選択されると、ステップST11において、変換テーブル作成部10により、第1のレジスタ及び第2のレジスタから、単一の変換テーブルが作成される。この単一の変換テーブルは、第1のレジスタと第2のレジスタとの入れ替えを、第1のレジスタから第2のレジスタへの置換と、第2のレジスタから第1のレジスタへの置換の2つの置換に分解し、互いに重複するレジスタに対する処理を解消して合成したものである。互いに重複するレジスタに対する処理の解消は、第1のレジスタから第2のレジスタへの置換と、第2のレジスタから第1のレジスタへの置換のいずれか一方、本実施形態では前者を優先させることによってなされる。図4の1番として示した条件を例にとれば、第1のレジスタから第2のレジスタへの置換、すなわち、
レジスタ1→レジスタ3
レジスタ2→レジスタ4
レジスタ3→レジスタ5
レジスタ4→レジスタ6
レジスタ5→レジスタ7
と、第2のレジスタから第1のレジスタへの置換、すなわち、
レジスタ3→レジスタ1
レジスタ4→レジスタ2
レジスタ5→レジスタ3
レジスタ6→レジスタ4
レジスタ7→レジスタ5
を合成するのであるが、このとき、レジスタ3〜レジスタ5に対する置き換え処理が重複しているため、第1のレジスタから第2のレジスタへの置換を優先し、結果として、単一の変換テーブル
レジスタ1→レジスタ3
レジスタ2→レジスタ4
レジスタ3→レジスタ5
レジスタ4→レジスタ6
レジスタ5→レジスタ7
レジスタ6→レジスタ4
レジスタ7→レジスタ5
を得る。この変換テーブルで、右向き矢印の左側に示されたレジスタが変換元、右側に示されたレジスタが変換先である。
レジスタ1→レジスタ3
レジスタ2→レジスタ4
レジスタ3→レジスタ5
レジスタ4→レジスタ6
レジスタ5→レジスタ7
と、第2のレジスタから第1のレジスタへの置換、すなわち、
レジスタ3→レジスタ1
レジスタ4→レジスタ2
レジスタ5→レジスタ3
レジスタ6→レジスタ4
レジスタ7→レジスタ5
を合成するのであるが、このとき、レジスタ3〜レジスタ5に対する置き換え処理が重複しているため、第1のレジスタから第2のレジスタへの置換を優先し、結果として、単一の変換テーブル
レジスタ1→レジスタ3
レジスタ2→レジスタ4
レジスタ3→レジスタ5
レジスタ4→レジスタ6
レジスタ5→レジスタ7
レジスタ6→レジスタ4
レジスタ7→レジスタ5
を得る。この変換テーブルで、右向き矢印の左側に示されたレジスタが変換元、右側に示されたレジスタが変換先である。
続くステップST12では、機械制御プログラム中の命令を特定の方向、例えば、本実施形態では先頭から最後尾に向かう順となるように読み込む。最初にステップST12が実行された際には、機械制御プログラムの先頭の命令が読み込まれることになる。
続くステップST13で、読み込まれた命令に含まれるレジスタへの参照が、変換テーブルにおける変換元への参照に該当するか否かが判定される。該当する場合には、ステップST14へと進み、該当するレジスタへの参照が、対応する変換先への参照に置き換えられる。このステップST14での処理は、上述の変換テーブルに基いて、読み込まれた命令に含まれるレジスタへの参照を単純に置き換える処理となる。
ステップST14及び、ステップST13で読み込まれた命令に含まれるレジスタへの参照が、変換テーブルにおける変換元への参照に該当しないと判定された場合には、ステップST15へと進み、機械制御プログラム中の全ての命令を読み込んだか否かが判定される。まだ全ての命令の読み込みが完了していない場合には、ステップST12に戻り、次の機械制御プログラム中の命令が新たに読み込まれる。全ての命令の読み込みが完了した場合には、レジスタへの参照の入れ替え処理を終了する。
このようなアルゴリズムによる処理によっても、先の図5に示したアルゴリズムと同様の結果が得られ、第1のレジスタと第2のレジスタとして複数のレジスタを指定した際に、互いに重複する範囲が指定された場合にも入れ替え処理が可能であり、一意の結果が得られる。もちろん、このアルゴリズムは、第1のレジスタと第2のレジスタとして単一のレジスタが指定された場合にも用いることができる。
以上、本発明に係る実施形態について説明したが、この実施形態に示した具体的な構成は一例として示したものであり、本発明の技術的範囲をこれに限定することは意図されていない。当業者は、これら開示された実施形態を適宜変形してもよく、本明細書にて開示される発明の技術的範囲は、そのようになされた変形をも含むものと理解すべきである。
また、上述した実施形態では、レジスタの入れ替えを行う対象として、機械制御プログラムを特に対象として説明したが、これを任意のコンピュータにより実行可能な電子データに拡張することも可能である。このようなコンピュータにより実行可能な電子データとしては、一般的なコンピュータプログラムや、コンピュータにより実行される関数やマクロの情報を含む表データ等のデータベースが含まれてよい。この際、レジスタに相当するものとして、一般的な変数を対象としてよく、上述した実施形態におけるレジスタを、変数として読み替えてよい。
1 機械制御プログラム作成装置、1a CPU、1b RAM、1c 外部記憶装置、1d GC、1e 入力デバイス、1f I/O、1h モニタ、2 機械制御プログラム作成部、3 記憶部、4 表示部、5 出力部、6 PLC、7 レジスタ指定部、8 範囲指定部、9 入れ替え部、10 変換テーブル作成部、100 ダイアログ、101,102 ボックス、103 チェックボックス、104 ボックス、105 実行ボタン、106 個別タブ、107 範囲タブ、108 条件入力領域、109 インポートボタン、110 エクスポートボタン。
Claims (9)
- 機械制御プログラムを記憶する記憶部と、
第1のレジスタ及び第2のレジスタを指定するレジスタ指定部と、
前記記憶部に記憶された前記機械制御プログラム中の前記第1のレジスタへの参照と、前記第2のレジスタへの参照を入れ替える入れ替え部と、
を有する機械制御プログラム作成装置。 - 前記レジスタ指定部は、前記第1のレジスタ及び前記第2のレジスタとして複数のレジスタを指定可能である請求項1に記載の機械制御プログラム作成装置。
- 前記レジスタ指定部は、入れ替えに係るレジスタの範囲を指定する範囲指定部を有する請求項2に記載の機械制御プログラム作成装置。
- 前記入れ替え部は、
前記機械制御プログラム中の命令を特定方向に読み込み、
前記命令に含まれるレジスタへの参照が前記第1のレジスタへの参照に該当する場合に、当該レジスタへの参照を対応する前記第2のレジスタへの参照に置き換え、
前記命令に含まれるレジスタへの参照が前記第1のレジスタへの参照に非該当且つ前記第2のレジスタへの参照に該当する場合に、当該レジスタへの参照を対応する前記第1のレジスタへの参照に置き換える、
請求項1〜3のいずれか1項に記載の機械制御プログラム作成装置。 - 前記第1のレジスタ及び前記第2のレジスタから、レジスタの重複の無い単一の変換テーブルを作成する変換テーブル作成部を有し、
前記入れ替え部は、
前記機械制御プログラム中の命令を特定方向に読み込み、
前記変換テーブルに基いて、前記命令に含まれるレジスタへの参照を置き換える、
請求項1〜3のいずれか1項に記載の機械制御プログラム作成装置。 - コンピュータを、請求項1〜5のいずれか1項に記載の機械制御プログラム作成装置として機能させるためのコンピュータプログラム。
- 機械制御プログラムに含まれる第1のレジスタ及び第2のレジスタを指定し、
前記機械制御プログラム中の命令を特定方向に読み込み、前記命令に含まれるレジスタへの参照が前記第1のレジスタへの参照に該当する場合に、当該レジスタへの参照を対応する前記第2のレジスタへの参照に置き換え、前記命令に含まれるレジスタへの参照が前記第1のレジスタへの参照に非該当且つ前記第2のレジスタへの参照に該当する場合に、当該レジスタへの参照を対応する前記第1のレジスタへの参照に置き換える、
機械制御プログラム中のレジスタへの参照の入れ替え方法。 - 機械制御プログラムに含まれる第1のレジスタ及び第2のレジスタを指定し、
前記第1のレジスタ及び前記第2のレジスタから、レジスタの重複の無い単一の変換テーブルを作成し、
前記機械制御プログラム中の命令を特定方向に読み込み、前記変換テーブルに基いて、前記命令に含まれるレジスタへの参照を置き換える、
機械制御プログラム中のレジスタへの参照の入れ替え方法。 - 変数への参照を含む、コンピュータにより実行可能な電子データを記憶する記憶部と、
第1の変数及び第2の変数を指定する変数指定部と、
前記記憶部に記憶された前記電子データ中の前記第1の変数への参照と、前記第2の変数への参照を入れ替える入れ替え部と、
を有するコンピュータにより実行可能な電子データ作成装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015143469A JP2017027259A (ja) | 2015-07-17 | 2015-07-17 | 機械制御プログラム作成装置、コンピュータプログラム、機械制御プログラム中のレジスタへの参照の入れ替え方法及びコンピュータにより実行可能な電子データ作成装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015143469A JP2017027259A (ja) | 2015-07-17 | 2015-07-17 | 機械制御プログラム作成装置、コンピュータプログラム、機械制御プログラム中のレジスタへの参照の入れ替え方法及びコンピュータにより実行可能な電子データ作成装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2017027259A true JP2017027259A (ja) | 2017-02-02 |
Family
ID=57949802
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015143469A Pending JP2017027259A (ja) | 2015-07-17 | 2015-07-17 | 機械制御プログラム作成装置、コンピュータプログラム、機械制御プログラム中のレジスタへの参照の入れ替え方法及びコンピュータにより実行可能な電子データ作成装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2017027259A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2022011696A (ja) * | 2020-06-30 | 2022-01-17 | 株式会社安川電機 | エンジニアリング装置、エンジニアリング方法、及びプログラム |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS57156946U (ja) * | 1981-03-30 | 1982-10-02 | ||
JP2002063025A (ja) * | 2000-08-18 | 2002-02-28 | Fujitsu Ltd | 可変長データ処理用プロセッサ |
JP2006318043A (ja) * | 2005-05-10 | 2006-11-24 | Fanuc Ltd | シーケンスプログラム編集装置 |
JP2007310571A (ja) * | 2006-05-17 | 2007-11-29 | Keyence Corp | 制御プログラム作成装置、編集プログラム及びプログラム作成方法 |
-
2015
- 2015-07-17 JP JP2015143469A patent/JP2017027259A/ja active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS57156946U (ja) * | 1981-03-30 | 1982-10-02 | ||
JP2002063025A (ja) * | 2000-08-18 | 2002-02-28 | Fujitsu Ltd | 可変長データ処理用プロセッサ |
JP2006318043A (ja) * | 2005-05-10 | 2006-11-24 | Fanuc Ltd | シーケンスプログラム編集装置 |
JP2007310571A (ja) * | 2006-05-17 | 2007-11-29 | Keyence Corp | 制御プログラム作成装置、編集プログラム及びプログラム作成方法 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2022011696A (ja) * | 2020-06-30 | 2022-01-17 | 株式会社安川電機 | エンジニアリング装置、エンジニアリング方法、及びプログラム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20110054685A1 (en) | Robot off-line teaching method | |
JP6456051B2 (ja) | ロボットシステムの制御方法、ロボットシステム、ロボットシステムの制御プログラム、及び記録媒体 | |
JP2018097663A (ja) | 制御システム、制御プログラムおよび制御方法 | |
TWI498693B (zh) | 多軸控制系統設定、調整功能支援裝置 | |
KR101627488B1 (ko) | 엔지니어링 툴, 프로그램 편집 장치 및 프로그램 편집 시스템 | |
WO2011108026A1 (ja) | プログラマブル表示器を備えた制御システム及びプログラマブル表示器並びにその作画データ作成手段 | |
US10761513B2 (en) | Information processing device, information processing method, and non-transitory computer-readable recording medium | |
JP6184651B1 (ja) | シミュレーション装置 | |
JP2017027259A (ja) | 機械制御プログラム作成装置、コンピュータプログラム、機械制御プログラム中のレジスタへの参照の入れ替え方法及びコンピュータにより実行可能な電子データ作成装置 | |
JP6346450B2 (ja) | エンジニアリング装置および制御ロジック検証方法 | |
JP2016059989A (ja) | ロボット制御装置、ロボット装置、ロボット制御方法、プログラム及び記録媒体 | |
US11320800B2 (en) | Optimization device | |
CN105302057A (zh) | 一种用于物料在栅格阵列间搬运的plc程序设计方法 | |
JP7244364B2 (ja) | スレーブユニット、及びサーボ駆動システム | |
JP2022066906A5 (ja) | ||
JP6566151B2 (ja) | システム設計支援装置およびシステム設計支援方法 | |
JP2000089813A (ja) | 加工プログラム編集方法および工作機械の制御装置 | |
JP6115063B2 (ja) | プログラマブルコントローラの周辺装置 | |
JP4438743B2 (ja) | データ記憶装置 | |
WO2018180301A1 (ja) | 情報処理装置、情報処理プログラム、情報処理方法 | |
EP4098408A1 (en) | Path teaching data creation device, path teaching data creation method, and program | |
WO2023119348A1 (ja) | プログラム教示支援装置 | |
WO2022190417A1 (ja) | 開発支援装置、開発支援方法および開発支援プログラム | |
JP2012048471A (ja) | 数値制御装置およびマクロプログラム実行方法 | |
JP2010198132A (ja) | プログラマブルコントローラ |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20170220 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20171025 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20171031 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20180123 |