JP5153437B2 - 制御プログラム作成装置 - Google Patents

制御プログラム作成装置 Download PDF

Info

Publication number
JP5153437B2
JP5153437B2 JP2008114274A JP2008114274A JP5153437B2 JP 5153437 B2 JP5153437 B2 JP 5153437B2 JP 2008114274 A JP2008114274 A JP 2008114274A JP 2008114274 A JP2008114274 A JP 2008114274A JP 5153437 B2 JP5153437 B2 JP 5153437B2
Authority
JP
Japan
Prior art keywords
unit
program
motion
ladder
cpu
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
JP2008114274A
Other languages
English (en)
Other versions
JP2009265918A (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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2008114274A priority Critical patent/JP5153437B2/ja
Publication of JP2009265918A publication Critical patent/JP2009265918A/ja
Application granted granted Critical
Publication of JP5153437B2 publication Critical patent/JP5153437B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Programmable Controllers (AREA)

Description

本発明は、プログラマブルコントローラを制御するための制御プログラムを作成する制御プログラム作成装置に関するものである。
産業用機械などの制御装置としてプログラマブルコントローラ(以下、PLCという)が用いられている。このPLCは、複数のユニットから構成される。すなわち、電源供給源の電源ユニット、PLC全体の制御を統率するCPUユニット、生産装置や設備装置の駆動部に取り付けたサーボモータやステッピングモータなどの位置決め制御を必要とする負荷装置を制御するモーションCPUユニット、生産装置や設備装置の適所に取り付けたスイッチやセンサの信号を入力する入力ユニット、アクチュエータなどに制御出力を出す出力ユニット、通信ネットワークに接続するための通信ユニットなどの各種のユニットを適時組み合わせて構成される。
CPUユニットにおける制御は、入力ユニットで入力した信号をCPUユニットのI/Oメモリに取り込み、予め登録されたラダー言語で組み込まれたユーザプログラムに基づき論理演算をし、その演算実行結果をI/Oメモリに書き込んで出力ユニットに送り出し、その後、いわゆる周辺処理を行うということをサイクリックに繰り返し処理するようになる。
また、モーションCPUユニットにおける制御は、予め登録されたモーションプログラム言語で組み込まれたユーザプログラムに基づきモーション指令を生成し、その指令結果をサーボアンプに送り出し、サーボアンプを介してサーボモータを制御し、サーボモータの速度、位置などの状態をモーションCPUユニットに戻すことを繰り返し所定の動作を処理するようになる。
ところで、モーションCPUユニットはCPUユニットによって制御されている。つまり、CPUユニットに組み込まれたユーザプログラムには、モーションCPUユニットに対する実行指令命令(呼び出し命令)が記述されており、呼び出し命令が処理されるとCPUユニットからモーションCPUユニットに対して、モーションプログラムの実行指令が送り出され、実行指令を受け取ったモーションCPUユニットが指定のモーションプログラムを処理するということを繰り返す。
上記したユーザプログラムは、通常、制御プログラム作成装置を用いて生成したラダープログラム乃至モーションプログラムであり、通信回線を介して夫々CPUユニット乃至モーションCPUユニットにダウンロードされる。また、作成したラダープログラム乃至モーションプログラムに不具合が生じた場合には、ユーザは制御プログラム作成装置の表示画面に夫々該当するラダープログラム乃至モーションプログラムを表示させて検証し、不良箇所を見つけて修正作業を行う。そして、修正したラダープログラム乃至モーションプログラムをCPUユニット乃至モーションCPUユニットにダウンロードする。
制御プログラムの作成の負担を軽減する従来技術として、モーションプログラムの指令内容を解析し、リンク情報データベースに基づいて機能ソフトウェア群より必要な機能ソフトウェア群を読み出しモーションプログラムを作成することが開示されている。
特開2007−179229号公報
しかしながら、上記従来の技術によれば、モーションプログラム内において、機能ソフトウェア群を読み出すだけなので、ラダープログラムに記述されたモーションプログラムの呼び出し命令によって、呼び出されるモーションプログラムを特定し、表示させるといったことができないため、プログラム作成および修正作業の負担は全く軽減されないという問題があった。
さらに、大規模な産業用機械などを制御する場合には、1つのCPUユニットと複数台のモーションCPUユニットから構成される。このような制御プログラムを作成する場合、複数台のモーションCPUユニットに登録するモーションプログラムを作成することになり、ラダープログラムには、多数のモーションプログラム呼び出し命令が記述されることになる。間違ったモーションプログラムの呼び出し命令を記述して、産業用機械を動作させてしまうと、機械を破損させてしまうだけでなく、人身事故の危険もあり、ユーザにとっては非常に負担を強いられる。
そのような状況の中で、ユーザは、ラダープログラムおよびモーションプログラムを目視で選択し、表示させ、慎重に照らし合わせながら作業を繰り返し、不具合のない制御プログラムを作成するという手間があり、制御プログラム作成に時間を要するという問題がある。
この発明は、上記に鑑みてなされたもので、制御プログラムの作成および修正作業の負担を軽減する制御プログラム作成装置を提供することを目的とする。
上述した課題を解決し、目的を達成するために、本発明は、モーションプログラムを呼び出すラダープログラムを実行する1つ以上のメインCPUユニットと、前記呼び出されたモーションプログラムを実行して負荷装置の動作を制御する1つ以上のモーションCPUユニットと、前記メインCPUユニットおよびモーションCPUユニットを夫々所定のスロット位置に接続する1つのベースユニットと、を夫々有する1つ以上のプログラマブルコントローラに対して、前記モーションプログラムおよび前記ラダープログラムの作成を行う制御プログラム作成装置であって、1以上のモーションプログラムが実行対象のモーションCPUユニット毎にグループ化されて格納されるとともに、前記1以上のモーションプログラムの夫々と前記夫々のモーションプログラムが属するグループに固有の第1識別情報および当該グループ内で固有のプログラム番号との対応関係を記憶するモーションプログラム記憶と、1以上のラダープログラムが実行対象のメインCPUユニット毎にグループ化されて格納されるとともに、前記1以上のラダープログラムの夫々と前記夫々のラダープログラムが属するグループに固有の第2識別情報との対応関係を記憶するラダープログラム記憶と、前記モーションプログラム記憶部に格納されているモーションプログラムまたは前記ラダープログラム記憶部に格納されているラダープログラムを表示装置に表示する表示処理部と、前記表示装置に表示中のモーションプログラムまたはラダープログラムの編集入力を受け付ける入力処理部と、ベースユニットの夫々のスロット位置と接続されているモーションCPUユニットおよびメインCPUユニットとの対応付けと、前記接続されているモーションCPUユニットと当該モーションCPUユニットで実行されるモーションプログラムが属するグループの第1識別情報との対応付けと、前記接続されているメインCPUユニットと当該メインCPUユニットで実行されるラダープログラムが属するグループの第2識別情報との対応付けと、を含むユニット構成情報を作成する識別情報割付部と、前記作成されたユニット構成情報を格納するユニット構成情報記憶と、前記表示装置が表示中のラダープログラムに含まれる、モーションCPUユニットのスロット位置とプログラム番号とを指定して該モーションCPUユニットに実行させるモーションプログラムを呼び出す呼び出し命令を選択する入力を前記入力処理部が受け付けると、前記呼び出し命令を含むラダープログラムに対応付けられている第2識別情報を取得し、前記ユニット構成情報記憶を検索して前記取得した第2識別情報を使用しているユニット構成情報を取得し、前記取得したユニット構成情報から前記呼び出し命令に指定されるスロット位置に接続されているモーションCPUユニットに対応付けられている第1識別情報を取得し、該取得した第1識別情報と前記呼び出し命令に指定されるプログラム番号とに基づいて前記モーションプログラム記憶を検索して前記呼び出し命令の呼び出し対象のモーションプログラムを特定し、前記特定したモーションプログラムを前記モーションプログラム記憶部から読み出して前記表示装置に表示するプログラム検索と、を備えることを特徴とする。
この発明によれば、ラダープログラムに含まれるモーションプログラムの呼び出し命令が選択されると、該呼び出し命令によって呼び出されるモーションプログラムを特定して表示するので、制御プログラムの作成および修正作業の負担を軽減する制御プログラム作成装置を提供することができる。
以下に、本発明にかかる制御プログラム作成装置の実施の形態を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
実施の形態.
図1は、本発明にかかる制御プログラム作成装置の実施の形態のハードウェア構成を説明する図である。
図1において、制御プログラム作成装置10は、所定の通信回線16を介してPLC17に接続されている。ここで、PLC17は、PLC全体の制御を統制するCPUユニット(以下、単にCPUユニットという)およびモーションCPUユニットを含むユニットが夫々ベースユニットの所定のスロットに接続された構成となっている。制御プログラム作成装置10は、ラダー言語で記述され、一般的にラダープログラムと呼ばれるユーザプログラムと、モーションプログラム言語で記述され、モーションプログラムと呼ばれるユーザプログラムとを作成する。作成された該ユーザプログラムは、夫々CPUユニットおよびモーションCPUユニットに通信回線16を介してダウンロードされる。CPUユニットおよびモーションCPUユニットは、夫々ダウンロードしたユーザプログラムに基づいて動作する。通信回線16は、例えば、RS232Cなどのシリアル回線を用いて直接ケーブル接続することにより実現される。もちろん、このような直接接続するものに限ることなく、他の通信回線を用いネットワーク経由でPLC17と制御プログラム作成装置10とを接続する構成を採っても良い。
制御プログラム作成装置10は、キーボードおよびポインティングデバイス等により構成される入力装置11と、LCD等により構成される表示装置12と、中央演算装置13と、記憶装置14と、通信I/F(インターフェース)装置15とをさらに備える。通信I/F装置15は、通信回線16を制御して制御プログラム作成装置10とPLC17との通信を行う通信回線16の制御処理を行う。記憶装置14は図示しない不揮発性記憶装置と揮発性記憶装置とがあり、不揮発性記憶装置は中央演算装置13に実行させる基本プログラムであるOS(Operating System)プログラムと、ラダープログラムおよびモーションプログラムを含む制御プログラムを作成する制御プログラム作成プログラムと、該制御プログラム作成プログラムが使用および作成する各種データおよびユーザプログラムと、を記憶する。揮発性記憶装置は中央演算装置13の実行時のワークメモリとして適宜使用される。中央演算装置13は、記憶装置14に記憶されるOSプログラムを実行することにより中央演算装置13全体の動作の制御を行うとともに、制御プログラム作成プログラムを実行することによって後述する各種機能部を実現し、制御プログラム作成装置10が制御プログラムを設定する動作を行う。
次に、中央演算装置13が制御プログラム作成プログラムを実行することによって実現する、本実施の形態の制御プログラム作成装置10の各種機能部を説明する。図2は、本実施の形態の制御プログラム作成装置10の機能ブロック図である。
図2において、制御プログラム作成装置10は、入力装置11からの入力を処理する入力処理部22、表示装置12に出力する表示データを作成する表示処理部20、演算部21、演算部21による演算結果やラダープログラム等を格納する記憶部23、PLC17との通信を処理する通信処理部24とを有する。演算部21は、ユニット構成情報作成部21a、プロジェクト割付部21b、プログラム検索部21c、変数変換部21d、整合性チェック部21e、およびユーザプログラム作成部21fを有する。また、記憶部23はユニット構成情報記憶部23a、ユニット部品情報記憶部23b、ラダープログラム記憶部23c、モーションプログラム記憶部23dを有する。
ユニット構成情報記憶部23aは、ユニット構成情報作成部21aによって作成されるユニット構成情報30を格納する。ユニット構成情報30は、図3に示すように複数のユニット構成情報テーブル31から構成され、ユニット構成情報テーブル31は、1つのPLC17のユニット構成を示すものであり、PLC構成名称31aとスロット番号31b、ユニット名称31c、属性情報31d、オブジェクトID31e、プロジェクト名称31fの項目から構成される。
PLC構成名称31aは、複数のPLCの構成を区別するための名称を格納する。また、スロット番号31bは、ユニットを接続するベースユニットのスロットを区別するための番号を格納し、スロット番号31bの数は、ベースユニットの種類によって決定されるものである。また、ユニット名称31cは、スロットに接続するユニットの名称を格納する。また、属性情報31eは、ユニット固有の属性情報を格納する。また、オブジェクトID31eは、ユニット構成情報30の全ての情報に対して一意に決まる値であるオブジェクトIDを格納する。また、プロジェクト名称31fは、CPUユニットまたはモーションCPUユニットにダウンロードするユーザプログラムが属する、夫々後述するPLCプロジェクト50の名称またはモーションプロジェクト60の名称を格納する。
ユニット部品情報記憶部23bには、図4に示すように複数のユニット群から構成され、1つのユニット群には複数のユニット情報が含まれている。また、1つのユニット情報には、ユニット名称と属性情報から構成されている。詳しく説明すると、ユニット群には、ベースユニット群40やCPUユニット群41、モーションCPUユニット群42、入力ユニット群43などがあり、ユニット群は、同じ種類のユニット情報を纏めるためのものである。ベースユニット群40には、複数の種類のベースユニットA(40a)というユニット名称および第一の属性情報40aaやベースユニットB(40b)というユニット名称および第二の属性情報40baなどのユニット情報から構成される。また同様に、CPUユニット群41には、複数の種類のCPUユニットA(41a)および第三の属性情報41aaやCPUユニットB(41b)および第四の属性情報41baなどのユニット情報から構成される。また、モーションCPUユニット群42には、複数の種類のモーションCPUユニットA(42a)および第五の属性情報42aaやモーションCPUユニットB(42b)および第六の属性情報42baなどのユニット情報から構成される。また、入力ユニット群43には、複数の種類の入力ユニットA(43a)および第七の属性情報43aaや入力ユニットB(43b)および第八の属性情報43baなどのユニット情報から構成される。この他、PLCを構成するのに必要となるユニット群、ユニット情報を同様の構成で格納している。
また、属性情報には、ユニットサイズ、消費電力、ユニット画像データ、その他ユニット固有の情報を格納している。ベースユニットA(40a)の第一の属性情報40aaには、図5に示すようにベースユニットA(40a)にユニットを装着することができるスロット数45とスロット数の値45aや前記スロットに装着できるCPUユニットの数であるCPUユニット装着可能数46とCPUユニット装着可能数の値46a、ベースユニットA(40a)を後述するユニット構成情報表示部12aaに表示するためのユニット画像データ47を格納している。なお、本発明では、属性情報に格納する情報を限定するものではない。
ラダープログラム記憶部23cには、図6に示すように複数のラダープログラムを、実行するCPUユニット毎に、PLCプロジェクト50でグループに纏めて格納する。各ラダープログラムには、同一のPLCプロジェクト50内で区別可能なように固有のプログラム番号が割り振られている。同様にモーションプログラム記憶部23dには、図7に示すように複数のモーションプログラムを、実行するモーションCPUユニット毎に、モーションプロジェクト60でグループに纏めて格納する。そして、夫々のモーションプログラムは、同一のモーションプロジェクト60内で区別可能なように固有のプログラム番号が割り振られている。
ここで、PLCの構成において、複数のCPUユニットで構成される場合には、ラダープログラム記憶部23cには複数のPLCプロジェクト50を格納する。同様にPLCの構成において、複数のモーションCPUユニットで構成される場合には、モーションプログラム記憶部23dには複数のモーションプロジェクト60を格納する。夫々のPLCプロジェクト50および夫々のモーションプロジェクト60は、一意に特定できる識別情報で区別できるようにする。ここでは、PLCプロジェクト50および夫々のモーションプロジェクト60は識別情報としてプロジェクト毎に固有の名称を夫々有するとするが、各プロジェクトを区別する識別情報はこれに限定されるものではない。
ここで、ラダープログラムおよびモーションプログラムの詳細を説明する。図8にラダープログラムの一例を、図9にモーションプログラムの一例を示す。図8に示す呼び出し命令70は、ラダープログラムからモーションプログラムを呼び出すための命令である。図9のモーションプログラムは、プログラム番号が10であることを示している。図10に呼び出し命令70の文法の例を示す。図10において、命令71は呼び出し命令の命令文、△72は空白(スペース)である。
号機73はモーションCPUユニットを指定するための号機番号であり、前記するユニット構成情報30におけるスロット番号31bに対応する。プログラム番号74はモーションプログラムを指定するための番号であり、前記するモーションプロジェクト60内のモーションプログラムに割り振られている固有の番号であるプログラム番号に対応する。
ここで、号機73およびプログラム番号74は、変数で表現され、このラダープログラムがCPUユニットによって実行されたとき、PLC17が予め保持する変数と実値との対応情報に基づいて実値が確定され、号機73およびプログラム番号74の変数に代入されるようにしてもよい。変数と実値との対応情報は、例えば、変数がラダープログラムを実行するCPUユニットのメモリのメモリアドレスであり、実値が該メモリアドレスに格納される値とするように、メモリアドレスと該メモリアドレスに格納される値との関係によって与えられるようにしてもよい。本実施の形態の説明においては、特に断りが無い限り、ラダープログラムの呼び出し命令における号機73およびプログラム番号74は変数ではなく実値で表現されているとする。
パラメータ75は呼び出し命令完了結果を書き込むパラメータであり、パラメータ76は条件設定するパラメータである。
ラダープログラムおよびモーションプログラムは、ユーザプログラム作成部21fにより作成され、夫々ラダープログラム記憶部23cおよびモーションプログラム記憶部23dに格納される。
表示処理部20は、演算部21による命令あるいは記憶部23に格納される各種データに基づいて表示装置12に出力する表示データを作成する。図11は、表示装置12に表示される表示画面を示している。表示画面は、図11に示すように、ユーザプログラムの作成やユニット構成情報の作成など編集作業を行うワーク表示部12aと、PLCにダウンロードする全てのユーザプログラムの一覧を表示するユーザプログラム一覧情報表示部12bと、PLCの構成に必要なユニット部品の一覧情報を表示するユニット部品情報表示部12cとを備えている。
ワーク表示部12aは、表示処理部20が、PLCの構成を作成するためのユニット構成情報テーブル31をユニット構成情報記憶部23aから読み出して、読み出したユニット構成情報テーブル31に保持される各ユニットを、対応するユニット画像データ47を基に夫々3Dオブジェクト表示したPLC構成図を作成し、該PLC構成図を表示する表示部分であるユニット構成情報表示部12aaと、ラダープログラムを個別に表示するラダープログラム表示部12abと、モーションプログラムを個別に表示する表示部分であるモーションプログラム表示部12acとをさらに備えている。
ユニット構成情報表示部12aaに表示されるPLC構成図の一例を図12に示す。図12において、PLC構成図80は、図3に示すユニット構成情報テーブル31に対応する構成図を示しており、ベースユニットA(81)のスロット上に電源ユニットA(82)、CPUユニットA(83)、モーションCPUユニットA(84)、モーションCPUユニットB(85)、および入力ユニットA(86)が夫々のユニット画像データを基に作成された3Dオブジェクトとして配置されて表示される。スロットに配置されていない場合は、空き87のように配置されていないことがわかるようになっている。なお、PLC構成図80の各3Dオブジェクトとユニット構成情報テーブル31の各スロットに接続されているユニットとはプロジェクトIDを介して一対一対応する。
ユーザプログラム一覧情報表示部12bには、表示処理部20が、ラダープログラム記憶部23cに格納されているラダープログラムおよびモーションプログラム記憶部23dに格納されているモーションプログラムを読み出して一覧形式で表示する。
ユニット部品情報表示部12cには、表示処理部20が、ユニット部品情報記憶部23bに格納されているユニット部品の一覧をユニット部品情報としてツリー表示する。なお、本発明では、予めユニット部品情報を格納するとして説明しているが、後で追加格納する機能も有していてもよい。
入力処理部22は、表示装置12の表示画面上に表示されている上述する各表示部および各表示部に表示される情報に応じて入力される入力装置11のポインティングデバイスによるGUI入力またはキーボードによるテキスト入力を解析し、演算部21の各機能部に伝達する。
ユーザプログラム作成部21fは、ユーザがユーザプログラムの作成および編集を行うための機能部であり、ラダープログラム表示部12abをワークエリアとして入力されるテキスト入力をラダープログラム記憶部23cに記憶されるラダープログラムに反映させることによって、ラダープログラムを作成および編集する。同様に、ユーザプログラム作成部21fは、モーションプログラム表示部12acをワークエリアとし、入力されるテキスト入力をモーションプログラム記憶部23dに記憶されるモーションプログラムに反映させることによってモーションプログラムを作成および編集する。
ユニット構成情報作成部21aは、ユーザが入力装置11のポインティングデバイスを使用してユニット部品情報表示部12cにツリー上に表示されるユニット部品を選択し、ユニット構成情報表示部12aaにドロップするなど、PLC構成図80を編集する入力を入力処理部22を介して受け付け、該編集入力をユニット構成情報テーブル31に反映させる。すなわち、ユニット構成情報作成部21aは、ドロップされたユニット部品のユニット名称および属性情報を、ドロップされたユニット構成情報表示部12aa上の位置のスロットに対応するユニット構成情報テーブル31中の行の、夫々ユニット名称31cおよび属性情報31dに格納するとともに、オブジェクトIDを割り振って該オブジェクトIDをオブジェクトID31eの欄に格納する。これにより、ユニット構成情報テーブル31が作成される。
プロジェクト割付部21bは、ユーザに、ユニット構成情報表示部12aaに表示されるPLC構成図80の構成部品のうち、CPUユニットまたはモーションCPUユニットが選択されるとともに、ユーザプログラム一覧情報表示部12bに表示されているユーザプログラムのうち、1つのユーザプログラムが選択される入力を、例えば入力装置11のポインティングデバイスによるドラッグアンドドロップによって受け付けると、選択されたユニットに、選択されたユーザプログラムが属するプロジェクトを割り付ける。すなわち、プロジェクト割付部21bは、選択されたユニットの3DオブジェクトのオブジェクトIDからユニット構成情報テーブル31内に記入されている対応するユニットを検索し、該ユニットのプロジェクト名称31fに、選択されたユーザプログラムが属するプロジェクト名称を格納する。
プログラム検索部21cは、ラダープログラム表示部12abに表示されているラダープログラムに含まれている呼び出し命令が入力処理部22を介して選択されると、ユーザがユニット構成情報作成部21aおよびプロジェクト割付部21bを使用して予め作成したユニット構成情報テーブル31に基づいて、該選択された呼び出し命令に対応するモーションプログラムを検索して該モーションプログラムをモーションプログラム表示部12acに表示する。ユーザは、プログラム検索部21cによって検索されて表示されたモーションプログラムを、ユーザプログラム作成部21fを介して編集することができるようになる。
変数変換部21dは、ラダープログラムの呼び出し命令における号機73またはプログラム番号74が変数で指定されているとき、PLC17に通信処理部24を介してアクセスして該変数に対応する実値を取得する。プログラム検索部21cは、対象の呼び出し命令における号機73またはプログラム番号74が変数で指定されているとき、変数変換部21dを起動して該変数で指定されている号機73またはプログラム番号74を指す実値を取得する。
整合性チェック部21eは、呼び出し命令に記述されるモーションプログラムを動作させるモーションCPUユニットが存在するか否かを、ユニット構成情報テーブル31に基づいて判定し、存在しない場合には表示処理部20にエラーを出力させる。
つぎに、本発明の実施の形態の制御プログラム作成装置10の動作処理について説明する。まず、ユニット構成情報作成部21aによってユニット構成情報テーブル31が作成される動作を説明する。図13はユニット構成情報作成部21aがユニット構成情報30を作成する動作を説明するフローチャートである。
図13において、ユーザが入力装置11のポインティングデバイスなどを用いてユニット部品情報表示部12cにツリー上に表示されるユニット部品から1つのユニット部品を選択し(ステップS10)、ユニット構成情報表示部12aaに前記選択したユニット部品をドロップする(ステップS11)。すると入力処理部22は、該選択されたユニット部品がユニット構成情報表示部12aaにドロップされたことを解析してユニット構成情報作成部21aに伝達し、ユニット構成情報作成部21aは、ユニット構成情報テーブル31に選択されたユニット情報を格納する(ステップS12)。
例えば、図12に示すPLC構成図80の構成を作成する場合について述べると、ドロップされたユニット部品がベースユニットAの場合は、ユニット構成情報テーブル31の先頭のユニット名称31cにベースユニットAが格納され、属性情報31dにベースユニットAの属性情報が格納され、オブジェクトID31eには一意に決まる数字が格納される。さらに、ベースユニットAの第一の属性情報40aaからスロット数45aが読み出され、スロット番号31bに0から始まりスロット数分の番号が振られる。また、ドロップされたユニット部品が電源ユニットAの場合は、スロット番号0の行に電源ユニットAのユニット名称が、電源ユニットAの属性情報が属性情報31dに格納され、オブジェクトIDが振られる。また、ドロップされるユニット部品がCPUユニットAの場合は、スロット番号1の行にCPUユニットAのユニット名称が、CPUユニットAの属性情報が属性情報31dに格納され、オブジェクトIDが振られる。また、ドロップされるユニット部品がモーションCPUユニットAの場合は、スロット番号2の行にモーションCPUユニットAのユニット名称が、モーションCPUユニットAの属性情報が属性情報31dに格納され、オブジェクトIDが振られる。同様にモーションCPUユニットBの場合は、スロット番号3の行にそれぞれ格納される。また、ドロップされるユニット部品が入力ユニットAの場合は、スロット番号4の行に入力ユニットAのユニット名称が、入力ユニットAの属性情報が属性情報31dに格納され、オブジェクトIDが振られる。
そして、ステップS12の後、表示処理部20は、作成されたユニット構成情報テーブル31におけるユニットの構成を、ユニット構成情報表示部12aaに表示しているPLC構成図に反映させる(ステップS13)。
以上により、ユニット構成情報作成部21aによってユニット構成情報テーブル31が作成される。
次に、プロジェクト割付部21bによって、ユニット構成情報テーブル31に記入されている各ユニットにプロジェクトが割り付けられる動作を説明する。図14は、該動作を説明するフローチャートである。
図14において、まず、ユーザが入力装置11を用いて、ユニット構成情報表示部12aaに表示されるユニット部品を選択し(ステップS20)、ユーザプログラム一覧情報表示部12bに表示されるユーザプログラムを選択する(ステップS21)。すると、入力処理部22は該選択を解析してプロジェクト割付部21bに伝達し、プロジェクト割付部21bは、前記選択したユニット部品のオブジェクトIDを基にユニット構成情報30からユニット部品の名称を取得し、前記選択したユニット部品がCPUユニットと一致するか否かを判定する(ステップS22)。
ステップS23において、CPUユニットと一致すると判定された場合(ステップS22、Yes)、プロジェクト割付部21bは、前記選択したユーザプログラムのプロジェクト名称を、選択したユニット部品に対応するユニット構成情報テーブル31のプロジェクト名称31fに格納することによって、選択したユニット部品にプロジェクトを割り付ける(ステップS23)。ステップS22において、CPUユニットと一致しないと判定された場合(ステップS22、No)、プロジェクト割付部21bは、前記選択したユニット部品がモーションCPUユニットと一致するか否かをさらに判定する(ステップS24)。
ステップS24において、モーションCPUユニットと一致すると判定された場合(ステップS24、Yes)、プロジェクト割付部21bは、選択したユーザプログラムのプロジェクト名称を、選択したユニット部品に対応するユニット構成情報テーブル31のプロジェクト名称31fに格納することによって、ユニット部品とプロジェクトを割り付ける(ステップS25)。ステップS24において、モーションCPUユニットと一致しないと判定された場合(ステップS24、No)、前記選択したユニット部品はCPUユニットでもなく、モーションCPUユニットでもないため、プロジェクト割付部21bは、表示処理部20に命令してエラーを出力させる(ステップS26)。
このように、前記プロジェクト割付部21bによって、ユニット構成情報テーブル31に記述されているCPUユニットおよびモーションCPUユニットにプロジェクトが割り付けられる。
次に、プログラム検索部21cが、ラダープログラムに記述された読み出し命令に対応するモーションプログラムを検索して取得し、取得したモーションプログラムをモーションプログラム表示部12acに表示させる動作を説明する。図15は、該動作を説明するフローチャートである。
図15において、ユーザが入力装置11を用いてラダープログラム表示部12abに表示されているラダープログラムに記述される呼び出し命令70を選択する(ステップS30)。すると、入力処理部22は該選択を解析してプログラム検索部21cに伝達し、プログラム検索部21cは、該選択された呼び出し命令70の構文から号機73とプログラム番号74の値を読み出す(ステップS31)。ここで、号機73およびプログラム番号74が変数で表現されている場合、変数変換部21dを起動して該変数に代入される実値を取得する。
そして、プログラム検索部21cは、選択元のラダープログラムが属するPLCプロジェクト名称を取得し、取得したPLCプロジェクト名称をユニット構成情報テーブル31のプロジェクト名称31fに有するユニット構成情報テーブル31を、ユニット構成情報記憶部23aを検索して取得し、取得したユニット構成情報テーブル31のユニット名称31cからCPUユニットのユニット名を取得する(ステップS32)。そして、プログラム検索部21cは、取得したユニット名のCPUユニットが装着されているベースユニットのスロット番号の中からステップS31にて読み出した号機73に一致するモーションCPUユニットを、取得したユニット構成情報テーブル31を検索して取得する(ステップS33)。
続いて、プログラム検索部21cは、ユニット構成情報テーブル31から取得したモーションCPUユニットに割り付けられたモーションプロジェクトのプロジェクト名称を取得する(ステップS34)。そして、プログラム検索部21cは、モーションプログラム記憶部23dを検索することによって、前記取得のモーションプロジェクトに属するモーションプログラムから前記読み出したプログラム番号に対応するモーションプログラムを読み出す(ステップS35)。そして、プログラム検索部21cは、読み出したモーションプログラムをモーションプログラム表示部12acに表示させる(ステップS36)。
このように、プログラム検索部21cは、ラダープログラムに記述された読み出し命令に対応するモーションプログラムを検索して読み出し、モーションプログラム表示部12acに表示させる。
次に、ラダープログラムの呼び出し命令における号機73またはプログラム番号74が変数で指定されているとき、変数変換部21dが、PLC17に通信処理部24を介してアクセスして該変数に対応する実値を取得する動作を説明する。図16は、該動作を説明するフローチャートである。
図16において、変数変換部21dは、呼び出し命令70の号機73またはプログラム番号74が変数によって記述されている場合において、呼び出し命令70から該変数を読み出す(ステップS40)。そして、変数変換部21dは、通信処理部24を介してPLC17にアクセスし、PLC17に保持される変数と実値との対応情報を検索し、前記読み出した変数に対応する実値を取得する(ステップS41)。続いて、変数変換部21dは、PLC17から取得した実値でもって、前記変数で指定されている値とする(ステップS42)。
このように、変数変換部21dは、呼び出し命令に含まれる号機73またはプログラム番号74が変数の場合には、変数に対応する実値をPLCのデバイスから読み出すことにより、変数で指示されている号機73およびプログラム番号74に対応する実値を取得することができる。
次に、整合性チェック部21eが、呼び出し命令に記述されるモーションプログラムを動作させるモーションCPUユニットがユニット構成情報30の呼び出し命令に記述される号機73のスロット番号31bの位置に存在するか否かを判定する動作を説明する。図7は、該動作を説明するフローチャートである。
図17において、整合性チェック部21eは、呼び出し命令からモーションCPUユニットの号機73を取得する(ステップS50)。ここで、号機73が変数で表現されている場合、整合性チェック部21eは、変数変換部21dを起動して該変数に代入される実値を取得する。
そして、整合性チェック部21eは、この呼び出し命令を含むラダープログラムが属するPLCプロジェクト名称を取得し、取得したPLCプロジェクト名称をユニット構成情報テーブル31のプロジェクト名称31fに有するユニット構成情報テーブル31を、ユニット構成情報記憶部23aを検索して取得し、取得したユニット構成情報テーブル31のユニット名称31cからこのラダープログラムを実行するCPUユニットのユニット名を取得する(ステップS51)。そして、整合性チェック部21eは、取得したユニット名のCPUユニットが装着されているベースユニットのスロット番号の中から、ステップS50にて読み出した号機73に一致するモーションCPUユニットを検索する(ステップS52)。
そして、整合性チェック部21eは、モーションCPUユニットが存在したか否かを判定し(ステップS53)、存在したと判定した場合(ステップS53、Yes)、整合結果を表示装置12の表示画面に表示させる(ステップS54)。また、ステップS53において、存在しないと判定した場合(ステップS53、No)、整合性チェック部21eは、不整合のエラー結果を表示装置12の表示画面に表示させる(ステップS55)。
このように、整合性チェック部21eの動作によって、ユーザは、ラダープログラム上の呼び出し命令で呼び出されるモーションプログラムを実行するモーションCPUユニットが存在するか否かを簡単に確認することができる。
このように、本発明の実施の形態によれば、多数のモーションプログラムがあっても、ラダープログラムに含まれる呼び出し命令が選択されると、呼び出し対象のモーションプログラムを自動的に特定し、表示するようにしたので、ユーザは呼び出し命令に対応するモーションプログラムを簡単に探し出すことができるので、プログラム作成の手間が大幅に削減でき、作成時間を短縮できる。また、呼び出し命令に変数が使用されていても、PLCにアクセスして変数に代入される実値を取得するようにした。また、呼び出し命令によって呼び出されるモーションプログラムを実行するモーションCPUユニットが正しく設定されていない場合、不整合エラーを出力するようにしたので、誤った制御プログラムをPLCに実行させる機会が低減される。
以上のように、本発明にかかる制御プログラム作成装置は、プログラマブルコントローラを制御するための制御プログラムを作成する制御プログラム作成装置に適用して好適である。
本発明の実施の形態にかかる制御プログラム作成装置のハードウェア構成を示す図である。 本発明の実施の形態にかかる制御プログラム作成装置の機能ブロック図である。 ユニット構成情報のデータ構造を説明する図である。 ユニット部品情報のデータ構造を示す図である。 第一の属性情報のデータ構造の例を示す図である。 PLCプロジェクトのデータ構造を示す図である。 モーションプロジェクトのデータ構造を示す図である。 ラダープログラムの具体例を示す図である。 モーションプログラムの具体例を示す図である。 呼び出し命令の構文を示す図である。 制御プログラム作成装置の画面表示の表示を示す図である。 PLC構成図の例を示す図である。 ユニット構成情報作成部の動作を説明するフローチャートである。 プロジェクト割付部の動作を説明するフローチャートである。 プログラム検索部の動作を説明するフローチャートである。 変数変換部の動作を説明するフローチャートである。 整合性チェック部の動作を説明するフローチャートである。
符号の説明
10 制御プログラム作成装置
11 入力装置
12 表示装置
12a ワーク表示部
12aa ユニット構成情報表示部
12ab ラダープログラム表示部
12ac モーションプログラム表示部
12b ユーザプログラム一覧情報表示部
12c ユニット部品情報表示部
13 中央演算装置
14 記憶装置
15 通信I/F装置
16 通信回線
20 表示処理部
21 演算部
21a ユニット構成情報作成部
21b プロジェクト割付部
21c プログラム検索部
21d 変数変換部
21e 整合性チェック部
21f ユーザプログラム作成部
22 入力処理部
23 記憶部
23a ユニット構成情報記憶部
23b ユニット部品情報記憶部
23c ラダープログラム記憶部
23d モーションプログラム記憶部
24 通信処理部
30 ユニット構成情報
31 ユニット構成情報テーブル
31a 構成名称
31b スロット番号
31c ユニット名称
31d 属性情報
31e オブジェクトID
31f プロジェクト名称
40 ベースユニット群
40a、40b ベースユニット
40aa、40ba、41aa、41ba、42aa、42ba、43aa、43ba 属性情報
41 CPUユニット群
41a、41b CPUユニット
42 モーションCPUユニット群
42a、42b モーションCPUユニット
43 入力ユニット群
43a、43b 入力ユニット
45 スロット数
45a スロット数の値
46 ユニット装着可能数
46a ユニット装着可能数の値
47 ユニット画像データ
50 PLCプロジェクト
60 モーションプロジェクト
70 呼び出し命令
71 命令
72 空白
73 号機
74 プログラム番号
75、76 パラメータ
80 PLC構成図
81 ベースユニットA
82 電源ユニットA
83 CPUユニットA
84 モーションCPUユニットA
85 モーションCPUユニットB
86 入力ユニットA
87 空き

Claims (3)

  1. モーションプログラムを呼び出すラダープログラムを実行する1つ以上のメインCPUユニットと、前記呼び出されたモーションプログラムを実行して負荷装置の動作を制御する1つ以上のモーションCPUユニットと、前記メインCPUユニットおよびモーションCPUユニットを夫々所定のスロット位置に接続する1つのベースユニットと、を夫々有する1つ以上のプログラマブルコントローラに対して、前記モーションプログラムおよび前記ラダープログラムの作成を行う制御プログラム作成装置であって、
    1以上のモーションプログラムが実行対象のモーションCPUユニット毎にグループ化されて格納されるとともに、前記1以上のモーションプログラムの夫々と前記夫々のモーションプログラムが属するグループに固有の第1識別情報および当該グループ内で固有のプログラム番号との対応関係を記憶するモーションプログラム記憶と、
    1以上のラダープログラムが実行対象のメインCPUユニット毎にグループ化されて格納されるとともに、前記1以上のラダープログラムの夫々と前記夫々のラダープログラムが属するグループに固有の第2識別情報との対応関係を記憶するラダープログラム記憶と、
    前記モーションプログラム記憶部に格納されているモーションプログラムまたは前記ラダープログラム記憶部に格納されているラダープログラムを表示装置に表示する表示処理部と、
    前記表示装置に表示中のモーションプログラムまたはラダープログラムの編集入力を受け付ける入力処理部と、
    ベースユニットの夫々のスロット位置と接続されているモーションCPUユニットおよびメインCPUユニットとの対応付けと、前記接続されているモーションCPUユニットと当該モーションCPUユニットで実行されるモーションプログラムが属するグループの第1識別情報との対応付けと、前記接続されているメインCPUユニットと当該メインCPUユニットで実行されるラダープログラムが属するグループの第2識別情報との対応付けと、を含むユニット構成情報を作成する識別情報割付部と、
    前記作成されたユニット構成情報を格納するユニット構成情報記憶と、
    前記表示装置が表示中のラダープログラムに含まれる、モーションCPUユニットのスロット位置とプログラム番号とを指定して該モーションCPUユニットに実行させるモーションプログラムを呼び出す呼び出し命令を選択する入力を前記入力処理部が受け付けると、前記呼び出し命令を含むラダープログラムに対応付けられている第2識別情報を取得し、前記ユニット構成情報記憶を検索して前記取得した第2識別情報を使用しているユニット構成情報を取得し、前記取得したユニット構成情報から前記呼び出し命令に指定されるスロット位置に接続されているモーションCPUユニットに対応付けられている第1識別情報を取得し、該取得した第1識別情報と前記呼び出し命令に指定されるプログラム番号とに基づいて前記モーションプログラム記憶を検索して前記呼び出し命令の呼び出し対象のモーションプログラムを特定し、前記特定したモーションプログラムを前記モーションプログラム記憶部から読み出して前記表示装置に表示するプログラム検索と、
    を備えることを特徴とする制御プログラム作成装置。
  2. 前記呼び出し命令は、スロット位置またはプログラム番号が変数で記述され、自命令を含むラダープログラムがメインCPUユニットに実行される際に前記プログラマブルコントローラが予め保持する変数と実値との対応情報に基づいて前記変数に実値が代入される呼び出し命令であって、
    前記プログラマブルコントローラが接続されている状態において前記呼び出し命令を選択する入力を前記入力処理部が受け付けると、前記対応情報を参照することによって前記呼び出し命令に記述されている前記変数に対応する実値を読み出して、前記変数で記述される前記スロット位置または前記プログラム番号に代入される実値を取得する変数変換をさらに備える、
    ことを特徴とする請求項1に記載の制御プログラム作成装置。
  3. 前記プログラム検索部は、前記取得したユニット構成情報を検索して前記呼び出し命令に指定されるスロット位置に接続されているモーションCPUユニットが存在するか否かを判定し、前記呼び出し命令に指定されるスロット位置に接続されているモーションCPUユニットが存在しない場合、不整合である旨の表示を前記表示装置に表示する、
    ことを特徴とする請求項1または2に記載の制御プログラム作成装置。
JP2008114274A 2008-04-24 2008-04-24 制御プログラム作成装置 Active JP5153437B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008114274A JP5153437B2 (ja) 2008-04-24 2008-04-24 制御プログラム作成装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008114274A JP5153437B2 (ja) 2008-04-24 2008-04-24 制御プログラム作成装置

Publications (2)

Publication Number Publication Date
JP2009265918A JP2009265918A (ja) 2009-11-12
JP5153437B2 true JP5153437B2 (ja) 2013-02-27

Family

ID=41391704

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008114274A Active JP5153437B2 (ja) 2008-04-24 2008-04-24 制御プログラム作成装置

Country Status (1)

Country Link
JP (1) JP5153437B2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5838626B2 (ja) * 2011-07-15 2016-01-06 オムロン株式会社 コントローラ開発支援装置およびコントローラ開発支援プログラム
JP5992776B2 (ja) * 2012-09-04 2016-09-14 株式会社キーエンス プログラマブルコントローラ、プログラム作成支援装置、プログラム及び基本ユニット
CN103955171B (zh) * 2014-03-19 2018-06-22 东莞市维迅机械科技有限公司 基于模糊技术的表面处理设备行车智能控制方法和系统
JP6081018B1 (ja) 2015-04-23 2017-02-15 三菱電機株式会社 位置決め制御装置
CN107045326A (zh) * 2017-06-05 2017-08-15 俊杰机械(深圳)有限公司 一种智能表面处理的方法及装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007179229A (ja) * 2005-12-27 2007-07-12 Yaskawa Electric Corp プログラミング装置

Also Published As

Publication number Publication date
JP2009265918A (ja) 2009-11-12

Similar Documents

Publication Publication Date Title
JP5506822B2 (ja) プログラム作成支援装置
JP5153437B2 (ja) 制御プログラム作成装置
JP6383240B2 (ja) 制御プログラム保守装置、及び制御プログラム保守方法
US20120290108A1 (en) Method and system for operating a machine from the field of automation engineering
CN111095195B (zh) 控制器、控制方法以及存储介质
US11281650B2 (en) Control system, controller, and control method
US20150227348A1 (en) Development support device and development support program
JP2019016037A (ja) プログラム作成装置
CN111052008B (zh) 显示装置、画面生成方法和存储介质
JP6252198B2 (ja) 数値制御装置
US12072682B2 (en) Support device and storage medium
JP4670719B2 (ja) 数値制御装置およびこの数値制御装置からのデータを用いてシミュレーションを実施するシミュレーション装置
JP7024679B2 (ja) 開発支援プログラム、開発支援装置、および開発支援方法
JP2006243841A (ja) Plc用ツール装置
JP6119452B2 (ja) プログラマブルコントローラシステム、その支援装置、プログラマブルコントローラ、プログラム
CN114365048B (zh) 数控装置
JP2006313559A (ja) 数値制御工作機械設備の運転方法
JP7119714B2 (ja) 情報処理装置、表示プログラム、および方法
JP7044086B2 (ja) 制御システム、制御方法、および制御プログラム
JP2009157534A (ja) プログラム作成支援システム、そのプログラマブルコントローラ支援装置、プログラマブル表示器支援装置
CN113064376A (zh) 生产系统、生产方法以及信息存储介质
JP2020201636A (ja) サポート装置およびサポートプログラム
JP2004318286A (ja) プログラム仕様書作成兼プログラム開発装置、同方法、および制御システム
JP2012194694A (ja) Plcの開発支援装置、およびplc開発支援用プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110203

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120313

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120314

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120426

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20121204

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20151214

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 5153437

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250