JP5810563B2 - 制御プログラム開発支援装置、制御プログラム開発支援用プログラム及び記録媒体 - Google Patents

制御プログラム開発支援装置、制御プログラム開発支援用プログラム及び記録媒体 Download PDF

Info

Publication number
JP5810563B2
JP5810563B2 JP2011056866A JP2011056866A JP5810563B2 JP 5810563 B2 JP5810563 B2 JP 5810563B2 JP 2011056866 A JP2011056866 A JP 2011056866A JP 2011056866 A JP2011056866 A JP 2011056866A JP 5810563 B2 JP5810563 B2 JP 5810563B2
Authority
JP
Japan
Prior art keywords
unit
port
variable
control program
rack
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
JP2011056866A
Other languages
English (en)
Other versions
JP2012194678A (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.)
Omron Corp
Original Assignee
Omron 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 Omron Corp filed Critical Omron Corp
Priority to JP2011056866A priority Critical patent/JP5810563B2/ja
Priority to PCT/JP2011/074304 priority patent/WO2012124204A1/ja
Publication of JP2012194678A publication Critical patent/JP2012194678A/ja
Application granted granted Critical
Publication of JP5810563B2 publication Critical patent/JP5810563B2/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/0423Input/output

Description

本発明は、制御プログラム開発支援装置に関し、特に、プログラマブルコントローラのCPUユニットに接続される複数のユニットをラック内における複数のスロットにそれぞれ配置するためのユニット構成を作成する制御プログラム開発支援装置、制御プログラム開発支援用プログラム及び記録媒体に関する。
生産工場の製造現場などに設置されるFA(ファクトリーオートメーション)システムの制御を司るPLC(プログラマブルコントローラ)は、一般的に、制御プログラム(ユーザプログラム)に基づいて演算実行するCPU(Central Processing Unit)ユニットに対して、センサやスイッチなどの入力機器を接続してそれらのオン・オフ信号を入力信号として取り込む入力ユニット、アクチュエータやリレーなどの出力機器を接続してそれらに対して出力信号を送り出す出力ユニット、上位端末装置などと接続してそれと情報をやりとりする通信ユニット、各ユニットに電源を供給する電源ユニット、などの各種ユニットを接続し、これらの各種ユニットがそれぞれ1段又は多段のラックに配置されて構成されている。
図18は、CPUユニット22と各種ユニット31,32,…とを接続するシステム構成の一例を示すプログラマブルコントローラ(PLC)200の概略構成図である。
PLC200は、電源ユニット21及びCPUユニット22を含む「CPUラック00」を備える。また、PLC200には、電源ユニット21を含む増設ラック(「ラック01」,「ラック02」,…)が増設されることもある。
「CPUラック00」には、電源ユニット21及びCPUユニット22に加えて、複数のユニット(基本入力ユニット、基本出力ユニット、高機能入力ユニット、高機能出力ユニットやCPU高機能ユニット等の構成ユニット)が配置される。また、ラックが増設される場合、「CPUラック00」には、さらにI/O(入出力)コントロールユニット40が配置され、「ラック01」,「ラック02」,…には、I/Oインターフェースユニット50、複数のユニット(基本入力ユニット、基本出力ユニット、高機能入力ユニット、高機能出力ユニットやCPU高機能ユニット等の構成ユニット)が配置され、I/Oコントロールユニット40とI/Oインターフェースユニットユニット50とが配線ケーブルCBを介して互いに接続される。
図18の例では、「CPUラック00」には、複数のスロット(スロット0,スロット1,…)のうち、スロット0に入力ユニット31が、スロット1に出力ユニット32が配置されている。また、「ラック01」には、スロット0,スロット1,…のうち、スロット0にCPU高機能ユニット33が、スロット1に入力ユニット34が、スロット2に出力ユニット35が配置されている。
また、入力ユニット31,34には、センサやスイッチ等の接点に相当する「入力ポート00」,「入力ポート01」,「入力ポート02」,…が設けられており、出力ユニット32,35には、アクチュエータやリレー等の接点に相当する「出力ポート00」,「出力ポート01」,「出力ポート02」,…が設けられている。
CPUユニット22は、制御プログラムを記憶するプログラムメモリ22aと、入力ユニット31,34が取り込んだ入力信号と制御プログラムの演算結果である出力信号とをそれぞれ記憶するデータメモリ22bと、制御プログラムに基づく演算処理等をする処理プロセッサ部22cとを備えている。また、PLC200は、プログラミングツール装置として作用する制御プログラム開発支援装置10を接続し、制御プログラム開発支援装置10によって、作成、編集され、さらに、CPUユニット22で実行可能なオブジェクトコードに変換された制御プログラムを実行する。
詳しくは、制御プログラムは、PLC200を稼働させる前に、使用者(ユーザ)が制御プログラム開発支援装置10を操作することにより、例えば、ラダー図(ラダーチャート)で表現されるラダー言語で記述されて作成される。
そして、作成された制御プログラムは、制御プログラム開発支援装置10によってラダー図のシンボルが命令語に変換され、CPUユニット22に応じたオペランドが規定され、CPUユニット22にダウンロードされる。
CPUユニット22の処理プロセッサ部22cは、プログラムメモリ22aから制御プログラムの命令語を順次読み出して、読み出した命令語のオペランドに従うI/Oメモリ等のメモリMのメモリアドレスに基づいてデータメモリ22bから入力信号のデータを読み出す。読み出したデータを制御プログラムに従って論理演算し、演算結果をデータメモリ22bに記憶する。記憶した演算結果を出力信号として出力ユニット32,35へ出力する。CPUユニット22の処理プロセッサ部22cは、入力信号の読み出し処理と、制御プログラムの実行処理と、出力処理の出力処理とをサイクリックに実行する。
制御プログラム、例えば、ラダー言語のラダー図を用いて作成された場合、制御プログラム上で接点を表すシンボルの上に、制御プログラムを実行するCPUユニット22において使用するメモリMにおけるメモリアドレスを併記する。接点は、例えば、CPUユニット22がI/Oデータ(I/Oポートの入力データ若しくは出力データ)として扱う対象を指し、具体的にはセンサやスイッチの接点をいう。シンボルは、ラダー言語で書かれた制御プログラム上で接点を示す表現記号のことで、例えば、入力接点のシンボルは「−││−」であり、出力接点のシンボルは「−○−」である(以下の説明では、ラダー図で書かれた制御プログラムにおけるシンボル又は接点を特に区別しない場合は、「シンボル・接点」ということもある)。メモリアドレスは、例えば、CPUユニット22がI/Oデータとして扱う場合、接点に対応する各I/Oポートをメモリ割り付けすることで決まるもので、CPUユニット22が演算に使用する各I/Oデータが格納されるメモリMのアドレス番号を示す。
従来の制御プログラム開発支援装置10は、構成ユニット31,32,…におけるスロット0,スロット1,…の配置位置(スロット装着位置)によりメモリアドレスを決定する。具体的には、スロット0,スロット1に配置(装着)された入力ユニット31,34における「入力ポート00」,「入力ポート01」,「入力ポート02」,…に対応してメモリMのメモリアドレスを割り付け、スロット1,スロット2に配置(装着)された出力ユニット32,35における「出力ポート00」,「出力ポート01」,「出力ポート02」,…に対応してメモリMのメモリアドレスを自動的に割り付けるようになっている(特許文献1参照)。
以下に、構成ユニット31,32,…におけるスロット0,スロット1,…の配置位置によりメモリMのメモリアドレスを自動的に割り付ける手順について説明する。
図19は、制御プログラム開発支援装置10の基本画面を示す表示画面である。図20は、制御プログラム開発支援装置10で作成されたラダー図の一例を示す表示画面である。図21は、ユニット構成情報画面の一例を示す表示画面である。
制御プログラム開発支援装置10では、ユーザプログラム作成機能(ソースコードエディタ)で制御プログラム(例えば、ラダー言語によるラダー図)が作成されるにあたり、図19に示すような基本画面を表示する。基本画面では、右側のウインドウW1に制御プログラムを作成する画面が表示され、左側のウインドウにこれから登録するユニット構成に関するプロジェクト情報のプロジェクト選択画面W2が表示された状態となる。ユーザは、ソースコードエディタを用いて、右側のウインドウW1内に制御プログラムを作成する(図20参照)。
次に、図19に示す基本表示画面に対し、ユーザは、ポインティングデバイス12b(図18参照)を操作してプロジェクト選択画面W2中にツリー表示された「ユニット構成情報」をダブルクリック等により選択すると、制御プログラム開発支援装置10は、図21に示すユニット構成情報画面を表示する。
この例では、予め、「CPUラック00」を含めて最大8個のラックを接続するシステムに対応できるようにしているため、初期画面では、「CPUラック00」,「ラック01」,「ラック02」,「ラック03」,…,「ラック07」のみが図のようにツリー状に表示され、各ラックのユニット構成が表示されずに閉じた状態で表示される。
なお、ユニット構成情報画面(図21参照)を表示する前には、「CPUラック00」のCPUユニット22を登録処理する。つまり、制御プログラム開発支援装置10は、ユーザに対して、ユニット構成を新規登録するかどうかを促す画面をダイアログウインドウ画面にて表示する。そして、制御プログラム開発支援装置10は、ユーザ操作により登録する旨の入力を受信し、次に、PLC200におけるCPUユニット22の種別および型式を選択する画面(図示せず)を表示し、選択入力を促す。
具体的には、制御プログラム開発支援装置10は、ユーザ操作によりCPUユニット22の種別および型式情報の入力を受信する。例えば、ユーザによって「CJ2H−CPU68−EIP」という型式のCPUユニット22が選択されることにより、制御プログラム開発支援装置10は、対象のCPUユニット22の種別とCPUラックのユニット構成の初期情報を登録する。こうして登録されたCPUユニット22の型式が、図21のユニット構成情報画面のツリー表示の最上段に表示される。
次いで、ユニット構成情報画面にユニット(高機能I/Oユニット、基本I/Oユニット)を登録する。
図22は、図21に示すユニット構成情報画面に対してラック項目を開いた状態を示す表示画面である。
具体的には、設定しようとするラック項目が、初期画面等のように閉じている場合には、使用する(設定する)ラック項目のツリー表示の先頭に表示された[+]ボタンがクリックされて、図22に示すように適宜のラック項目を開く。図22は、「CPUラック00」を開いた状態を示している。図22の例では、各ラック項目には、最大で10台分のユニット(CPUラックについては、CPUユニットを除いて10台分のユニット)を登録することができるようになっている。初期では「CPUラック00」のCPUユニット22以外は登録されていないから、10台分の各ユニットのツリー表示はすべて「空きスロット」と表示される。すなわち、「CPUラック00」(ベースユニット)に用意されたスロットに装着されるべきユニットは設定されていない。
次に、実際のユニットの登録処理を行う場合について説明する。図23は、ユニット一覧の一例を示す画面説明図である。
ユニットが新規登録の場合には、ユーザはポインティングデバイス12b(図18)を操作して、図22に示すツリー表示中の「空きスロット」の欄を選択し、ダブルクリックすると、図23に示すユニット選択画面が別ウインドウで表示される。
制御プログラム開発支援装置10は、ユニットに関するユニット情報を格納したユニット情報記憶部(図示省略)を参照してユニット選択画面を表示する。ユニット情報記憶部に格納されるユニットに関するユニット情報は、例えば、ユニットの種類や、型式等の一覧リストや、各ユニットについての機能や、設定対象となるパラメータ、さらには、各型式で特定されるユニットについてのチャネル情報や、それぞれがメモリ容量を特定するための情報である。
図23に示すユニット選択画面は、PLC200を構成する対象ユニットを種別ごとにツリー構造で表示する。例えば「アナログI/Oユニット」、「センサユニット」、「モーションコントローラ」、「位置制御ユニット」、「温度調節ユニット」、「基本I/Oユニット」、「通信ユニット」などの各種ユニットがツリー表示される。
制御プログラム開発支援装置10は、ツリー表示画面の「+」をユーザによるポインティングデバイス12bのクリック操作を受信すると、ユニット情報記憶部を参照して得られたユニットの型式情報を表示する。こうして表示された画面において、ユーザは使用するユニットをユニット一覧から探し出し、選択し、登録する(図示の例では「CJW−NC213」)。
図24は、ユニット登録操作を実行した後のユニット構成画面を示す表示画面である。図25は、ユニットの追加画面の一例を示す表示画面である。
図24に示すように、すでにユニット登録されている場合には、設定されたユニットの型式が表示され、未登録の場合には、「空きスロット」と表示される。また、登録されたユニットの場合、ユニット情報記憶部に格納された「型式」の情報を読み出して表示する。型式の後に()で示された具体的な名称は、ユニット情報記憶部の「型式」の欄に登録されているものを表示する。
さらに、図24に示すように、選択されたユニットが、位置制御ユニットのような高機能I/Oユニットの場合には、図25に示すユニットの追加画面を表示し、ユニット番号の登録を行う。
次に、対象ユニットの機種情報定義ファイルをテーブルから検索し、機種情報定義ファイルから占有チャネル数、入力チャネル数、出力チャネル数を取得する。高機能ユニットの場合には、対応するユニットについての機種情報定義ファイルを読み出すことで必要な情報を取得する。また、基本I/Oユニットの場合には、占有チャネル数と入出力タイプから必要な情報を求める。
例えば、高機能ユニットの場合には、ユニットのユニット番号から先頭アドレスを算出し、占有チャネル数、入力チャネル数、出力チャネル数から、高機能ユニットに割付けられる入力ポートアドレス及び出力ポートアドレスを計算する。かかる入出力アドレスの計算は、以下のようにして行う。
すなわち、この例では、高機能ユニットには、CPUユニット22のメモリMのメモリアドレス「0000」チャネルからのメモリ領域を用意し、1ユニット(占有チャネルが1)当たり10チャネル分のメモリエリアを確保している。従って、仮にユニット番号が00番の高機能ユニットの場合、CPUユニットのメモリMのその高機能ユニット用に使用するメモリ領域の先頭アドレスは、「0000」チャネルとなり、メモリアドレス「0000」チャネルから「0009」チャネルまでが確保される。同様に、ユニット番号が01番の高機能ユニットの場合、CPUユニットのメモリMのその高機能ユニットの先頭アドレスは、「0010」チャネルとなり、メモリアドレス「0010」チャネルから「0019」チャネルまでが確保される。つまり、ユニット番号をNとすると、そのユニット番号Nの高機能ユニットに割り当てられるメモリエリアの先頭アドレスは、「00+10×N」チャネルといった簡単な式で求めることができる。さらに、占有チャネル数に基づき、そのユニットに割り当てられるメモリエリアの最終アドレスを求めることができる。
また、基本I/Oユニットの場合には、制御プログラム開発支援装置10による入力チャネルと出力チャネルのメモリアドレスのメモリ自動割付は、以下のルールに従って行う。すなわち、各ユニットのスロットの配置位置は、ラック番号とスロット番号により一義的に決定される。そこで、ラック番号(「CPUラック00」のラック番号は「00」)が若い順にソートし、同一のラック番号の場合にはスロット番号が若い順にソートし、先頭のユニットから順にCPUユニット22のメモリMのメモリアドレスの割り付けを行う。そして、割り付けるメモリMは、高機能ユニットの場合と相違して連続して割り付けるようにする。
以上説明したメモリアドレスの割り付け動作を行うことにより、後述する図26に示すような、ユニットの入出力テーブルTBを作成できる。なお、入出力テーブルTBは、例えば、制御プログラム開発支援装置10におけるRAM等の揮発性メモリ(図示せず)に一時的に格納されたり、或いは、ハードディスク等の不揮発性メモリ(図示せず)に格納されたりする。
図26は、制御プログラム開発支援装置10に格納される入出力テーブルTBのデータ構造の一例を示す模式図である。
この例では、「ラック00」のスロット0に配置される入力ユニット31についてメモリMのメモリアドレス「0000」チャネルの「00」ビット,「01」ビット,「02」ビット,…を割り付けることで、「入力ポート00」,「入力ポート01」,「入力ポート02」,…(図18参照)に対応させさせることができ、メモリMのメモリアドレス「0001」チャネルの「00」ビット,「01」ビット,「02」ビット,…を割り付けることで、「入力ポート10」,「入力ポート11」,「入力ポート12」,…に対応させることができる。また、「ラック00」のスロット1に配置される出力ユニット32についてメモリMのメモリアドレス「0010」チャネルの「00」ビット,「01」ビット,「02」ビット,…を割り付けることで、「出力ポート00」,「出力ポート01」,「出力ポート02」,…(図18参照)に対応させさせることができ、メモリMのメモリアドレス「0011」チャネルの「00」ビット,「01」ビット,「02」ビット,…を割り付けることで、「出力ポート10」,「出力ポート11」,「出力ポート12」,…に対応させることができる。
「ラック01」のスロット1に配置される入力ユニット34及び「ラック01」のスロット2に配置される出力ユニット35についても同様にてメモリMのメモリアドレスの割り付けを行うことができる。なお、「ラック02」以降の同様である。
そして、ユーザは、制御プログラム開発支援装置10のソースコードエディタを用いて制御プログラムを作成するにあたって、前述の図20に示すように、図中のシンボル・接点にメモリMのメモリアドレス(アドレス値)を入力する。
図27は、変数に対するアドレス等の各種データを示す表示画面である。図27に示すように、ユーザは、割り付けられたメモリアドレスに対してどのユニットのどのような種類のポートが割り付けられているかが分かるように、メモリアドレスに対応付けてポートの種類を示す変数を設定することもある。なお、図20及び図27において、メモリアドレス(XX.YY)の「XX」はチャネルを表しており、「YY」は「XX」チャネルのビットを表している。また、図20において、メモリアドレス(XX.YY)の前に示す「I」は、入力エリア用メモリアドレスを表しており、「Q」は、出力エリア用メモリアドレスを表している。
具体的には、ユーザは、入力ポートの種類を示す変数「Input1」について「0000」チャネルの「00」ビットのメモリアドレス(0.00)を記述(入力)すると共に、出力ポートの種類を示す変数「Output1」について「0010」チャネルの「00」ビットのメモリアドレス(10.00)を記述(入力)することで(図20参照)、変数「Input1」の入力ポート(接点)がオンすると、変数「Output1」の出力ポート(接点)がオンするラダー図を作成する。また、ユーザは、変数「Input2」について「0001」チャネルの「00」ビットのメモリアドレス(1.00)を入力し、変数「Output2」について「0011」チャネルの「00」ビットのメモリアドレス(11.00)を入力することで(図20参照)、変数「Input2」の入力ポート(接点)がオンすると、変数「Output2」の出力ポート(接点)がオンするラダー図を作成する。
一方、PLC200では、ユーザによって、制御プログラム開発支援装置10でメモリ割り付けしたユニット構成の通りに、各種ユニットが装着されると、特定のメモリアドレスを割り当て、CPUユニット22のメモリMに各種ユニット用の領域が予め確保される。すなわち、PLC200で実際に配置した各種ユニットのメモリアドレスの割り当てと、制御プログラム開発支援装置10で構成した各種ユニットのメモリアドレスの割り付けとが一致することになる。
そして、制御プログラム開発支援装置10では、制御プログラムに記述されたメモリアドレスを用いて該制御プログラムをCPUユニット22で実行可能なオブジェクトコードに変換し、PLC200へダウンロードする。PLC200では、制御プログラム開発支援装置10から送られてきたオブジェクトコードをCPUユニット22で実行する。
特開2006−243841号公報
ところで、PLC200では、ユニット構成は、各種ユニットが一度配置されてしまえば改変しないということはなく、必要に応じて改変(具体的にはユニットの移動、変更、追加或いは削除)されることがある。
このように、ユニット構成が改変されると、PLC200で実際に配置した各種ユニットのメモリアドレスの割り当てが変わってしまうため、CPUユニット22のメモリMに割り当てたメモリアドレスに対して、PLC200で実行される制御プログラムに記述したメモリアドレス、さらには、メモリアドレスに対応して設定した「Input1」や「Output1」等の変数が異なってしまい、その結果、制御プログラムに記述されたメモリアドレス、さらには変数と、ポートとの関連付けが意味をなさないものとなってしまうといった不都合を招く。
このため、ユーザは制御プログラム開発支援装置10によって制御プログラムに記述したメモリアドレスの変更作業や、メモリアドレスに対して設定した変数の変更作業を行わなければならず、ユニット構成の改変に伴う利便性がよくない。
そこで、本発明は、プログラマブルコントローラのCPUユニットに接続される複数のユニットをラック内における複数のスロットにそれぞれ配置するためのユニット構成を作成する制御プログラム開発支援装置であって、たとえユニット構成が改変されたとしても、制御プログラムにおけるメモリアドレスの変更等の作業を行う必要がなく、これにより、ユニット構成の改変に伴う利便性を向上させることが可能な制御プログラム開発支援装置、制御プログラム開発支援用プログラム及び記録媒体を提供することを目的とする。
本発明は、前記課題を解決するために、次の第1態様及び第2態様の制御プログラム開発支援装置、第1態様及び第2態様の制御プログラム開発支援用プログラム並びに記録媒体を提供する。
(1)第1態様の制御プログラム開発支援装置
プログラマブルコントローラのCPUユニットに接続される複数のユニットをラック内における複数のスロットにそれぞれ配置するためのユニット構成を作成する制御プログラム開発支援装置であって、前記複数のユニットにおける複数のポートに対してそれぞれ一意に決められた複数のポートIDに対応して前記CPUユニットにおけるメモリのメモリアドレスの割り付けを行うメモリ割り付け手段と、前記複数のポートIDに対応して関連付けられるメモリアドレスと前記複数のポートIDとの対応関係を示すアドレステーブルを作成するアドレステーブル作成手段と、前記複数のポートIDに対応して関連付けられる変数と前記複数のポートIDとの対応関係を示す変数テーブルを作成する変数テーブル作成手段と、前記変数に対応するポートIDを前記変数テーブルから取得し、取得したポートIDに対応するメモリアドレスを前記アドレステーブルから取得するアドレス取得手段と、前記ポートIDに対して、前記ラックに対応するラックパス名、前記複数のスロットのうち何れか一つのスロットに対応するスロットパス名、前記何れか一つスロットに対する複数のチャネルのうち何れか一つのチャネルに対応するチャネルパス名及び前記何れか一つのチャネルに対する複数のビットのうち何れか一つのビットに対応するビットパス名を順に階層的に表したパス形式でパスを設定して表示画面に表示させるパス設定表示手段とを備え、前記アドレステーブル作成手段は、前記アドレステーブルに対して、変更前のユニットにおけるポートIDを、変更後のユニットにおけるポートIDに書き換えることを特徴とする制御プログラム開発支援装置。
(2)第2態様の制御プログラム開発支援装置
プログラマブルコントローラのCPUユニットに接続される複数のユニットをラック内における複数のスロットにそれぞれ配置するためのユニット構成を作成する制御プログラム開発支援装置であって、前記複数のユニットにおける複数のポートに対してそれぞれ一意に決められた複数のポートIDに対応して前記CPUユニットにおけるメモリのメモリアドレスの割り付けを行うメモリ割り付け手段と、前記複数のポートIDに対応して関連付けられるメモリアドレスと前記複数のポートIDとの対応関係を示すアドレステーブルを作成するアドレステーブル作成手段と、前記複数のポートIDに対応して関連付けられる変数と前記複数のポートIDとの対応関係を示す変数テーブルを作成する変数テーブル作成手段と、前記変数に対応するポートIDを前記変数テーブルから取得し、取得したポートIDに対応するメモリアドレスを前記アドレステーブルから取得するアドレス取得手段と、前記変数の入力情報を受け付ける変数情報受け付け手段と、前記複数のポートの階層的な物理構成に基づいて前記変数を自動的に設定する変数情報自動設定手段とを備え、前記アドレステーブル作成手段は、前記アドレステーブルに対して、変更前のユニットにおけるポートIDを、変更後のユニットにおけるポートIDに書き換えることを特徴とする制御プログラム開発支援装置。
第1態様の制御プログラム開発支援用プログラム
プログラマブルコントローラのCPUユニットに接続される複数のユニットをラック内における複数のスロットにそれぞれ配置するためのユニット構成を作成する制御プログラム開発支援装置における制御部を、前記複数のユニットにおける複数のポートに対してそれぞれ一意に決められた複数のポートIDに対応して前記CPUユニットにおけるメモリのメモリアドレスの割り付けを行うメモリ割り付け手段と、前記複数のポートIDに対応して関連付けられるメモリアドレスと前記複数のポートIDとの対応関係を示すアドレステーブルを作成するアドレステーブル作成手段と、前記複数のポートIDに対応して関連付けられる変数と前記複数のポートIDとの対応関係を示す変数テーブルを作成する変数テーブル作成手段と、前記変数に対応するポートIDを前記変数テーブルから取得し、取得したポートIDに対応するメモリアドレスを前記アドレステーブルから取得するアドレス取得手段と、前記ポートIDに対して、前記ラックに対応するラックパス名、前記複数のスロットのうち何れか一つのスロットに対応するスロットパス名、前記何れか一つスロットに対する複数のチャネルのうち何れか一つのチャネルに対応するチャネルパス名及び前記何れか一つのチャネルに対する複数のビットのうち何れか一つのビットに対応するビットパス名を順に階層的に表したパス形式でパスを設定して表示画面に表示させるパス設定表示手段とを含む手段として機能させるための制御プログラム開発支援用プログラムであ、前記アドレステーブル作成手段は、前記アドレステーブルに対して、変更前のユニットにおけるポートIDを、変更後のユニットにおけるポートIDに書き換えることを特徴とする制御プログラム開発支援用プログラム。
(4)第2態様の制御プログラム開発支援用プログラム
プログラマブルコントローラのCPUユニットに接続される複数のユニットをラック内における複数のスロットにそれぞれ配置するためのユニット構成を作成する制御プログラム開発支援装置における制御部を、前記複数のユニットにおける複数のポートに対してそれぞれ一意に決められた複数のポートIDに対応して前記CPUユニットにおけるメモリのメモリアドレスの割り付けを行うメモリ割り付け手段と、前記複数のポートIDに対応して関連付けられるメモリアドレスと前記複数のポートIDとの対応関係を示すアドレステーブルを作成するアドレステーブル作成手段と、前記複数のポートIDに対応して関連付けられる変数と前記複数のポートIDとの対応関係を示す変数テーブルを作成する変数テーブル作成手段と、前記変数に対応するポートIDを前記変数テーブルから取得し、取得したポートIDに対応するメモリアドレスを前記アドレステーブルから取得するアドレス取得手段と、前記変数の入力情報を受け付ける変数情報受け付け手段と、前記複数のポートの階層的な物理構成に基づいて前記変数を自動的に設定する変数情報自動設定手段とを含む手段として機能させるための制御プログラム開発支援用プログラムであり、前記アドレステーブル作成手段は、前記アドレステーブルに対して、変更前のユニットにおけるポートIDを、変更後のユニットにおけるポートIDに書き換えることを特徴とする制御プログラム開発支援用プログラム。
)記録媒体
前記本発明に係る第1態様の制御プログラム開発支援用プログラム又は前記本発明に係る第2態様の制御プログラム開発支援用プログラムを記録したコンピュータ読み取り可能な記録媒体。
なお、言うまでもないが、本発明にいう前記「ID」は「identification」の略であり、識別コードを意味する。また、前記ラックは、単一のものであってもよいし、複数のラックで構成されていてもよい。
本発明によれば、前記アドレステーブルに対して、変更前のユニットにおけるポートIDを、変更後のユニットにおけるポートIDに書き換え、前記変数に対応するポートIDを前記変数テーブルから取得し、取得したポートIDに対応するメモリアドレスを前記アドレステーブルから取得する。こうすることで、たとえユニット構成が改変されたとしても、制御プログラムにおけるメモリアドレスの変更等の作業を行う必要がなく、これにより、ユニット構成の改変に伴う利便性を向上させることができる。
しかも、第1態様では、前記ポートIDに対して、前記ラックパス名、前記スロットパス名、前記チャネルパス名及び前記ビットパス名を順に階層的に表した前記パス形式でパスを設定して表示画面に表示させることで、ユーザは、前記パスによって前記複数のユニットの配置位置を容易に認識することが可能となる。
また、第2態様では、前記変数情報受け付け手段にて前記変数の入力情報を入力するか、或いは、前記変数情報自動設定手段にて前記変数を自動的に設定するかを、ユーザが必要に応じて使い分けすることが可能となる。
本発明に係る第1態様において、ユーザが前記変数の情報を入力するために、前記変数の入力情報を受け付ける変数情報受け付け手段を備えていてもよいが、この場合、ユーザが前記変数を自由に作成できるという利点がある反面、前記変数に対応する名称を作成するのに手間がかかるという不都合もある。
そこで、本発明に係る第1態様において、前記変数の入力情報を受け付ける変数情報受け付け手段と、前記複数のポートの階層的な物理構成に基づいて前記変数を自動的に設定する変数情報自動設定手段とを備える態様を例示できる。
この特定事項では、前記変数情報受け付け手段にて前記変数の入力情報を入力するか、或いは、前記変数情報自動設定手段にて前記変数を自動的に設定するかを、ユーザが必要に応じて使い分けすることが可能となる。
本発明において、前記複数のユニットの少なくとも一つのユニットを一つずつ、前記ラックにおける前記複数のスロットの何れか一つに位置変更可能に配置してユニット構成図を作成し、前記複数のユニットの何れか一つのユニットの配置位置が変更された場合に、前記複数のユニットのうち何れのユニットが何れのスロットに移動したかを検出するユニット構成図作成手段を備え、前記アドレステーブル作成手段は、前記アドレステーブルに対して、前記ユニット構成図作成手段にて検出した変更前のユニットにおけるポートIDを、前記ユニット構成図作成手段にて検出した変更後のユニットにおけるポートIDに書き換える態様を例示できる。
この特定事項では、前記ユニット構成図を作成するときに、前記複数のユニットのうち何れのユニットが何れのスロットに移動したかを検出することができ、これにより、前記複数のユニットの何れか一つのユニットの配置位置の変更を効率的に検出することが可能となる。
本発明において、前記ラック及び前記複数のユニットをイラスト化したイラスト情報を前記複数のユニットに関するユニット情報と関連付けて格納するユニット情報記憶部を備え、前記ユニット構成図作成手段は、前記ユニット情報記憶部に格納した前記ラックのイラスト情報に対応するイラストを表示画面に表示し、前記ユニット情報記憶部に格納した前記イラスト情報に対応する前記複数のユニットの少なくとも一つのイラストを一つずつ、前記ラックにおける前記複数のスロットの何れか一つのイラストに対してドラッグ・アンド・ドロップにより前記表示画面に移動表示可能に配置してユニット構成図を作成する態様を例示できる。なお、ここでいう「イラスト(イラストレーションの略)」は、図、絵、写真等のイラスト画像を含む概念である。
この特定事項では、前記ユニット情報記憶部に格納した前記イラスト情報に対応する前記複数のユニットの少なくとも一つのイラストを一つずつ、前記ラックにおける前記複数のスロットの何れか一つのイラストに対してドラッグ・アンド・ドロップにより前記表示画面に移動表示可能に配置してユニット構成図を作成するので、前記ユニット構成図におけるユニット構成を、イラストによって視覚的に改変することができ、ユニット構成の改変作業の容易化を実現することが可能となる。
以上説明したように、本発明によると、前記アドレステーブルに対して、変更前のユニットにおけるポートIDを、変更後のユニットにおけるポートIDに書き換え、前記変数に対応するポートIDを前記変数テーブルから取得し、取得したポートIDに対応するメモリアドレスを前記アドレステーブルから取得することで、たとえユニット構成が改変されたとしても、制御プログラムにおけるメモリアドレスの変更等の作業を行う必要がなく、これにより、ユニット構成の改変に伴う利便性を向上させることが可能となる。
制御プログラム開発支援装置及び制御プログラム開発支援装置が設定対象としているPLCの概略的に示しシステム構成図である。 図1に示す制御プログラム開発支援装置の内部構造を概略的に示すシステム構成図である。 図2に示す制御プログラム開発支援装置における制御部を概略的に示すシステム構成図である。 複数のユニットにおける複数のポートに対応してCPUユニットにおけるメモリのアドレスの割り付け動作を行う割り付け処理の一例を示す前半部分のフローチャートである。 複数のユニットにおける複数のポートに対応してCPUユニットにおけるメモリのアドレスの割り付け動作を行う割り付け処理の一例を示す後半部分のフローチャートである。 ユニット情報記憶部におけるユニット情報の一部のデータ構造の一例を示す概略構成図である。 「CPUラック00」及び「CPUラック00」に配置されるユニットをイラストで表したユニット構成図を表示する表示画面である。 ユニット一覧の一例を示す画面説明図である。 図7に示すユニット構成図からユニット構成を改変した後の状態を示す表示画面である。 図7に示すユニット構成図で構成されたユニットにおけるポートIDに対してアドレスを格納するアドレステーブルのデータ構造の一例を示す模式図である。 図7に示すユニット構成図を階層的に表示した表示画面である。 ポートIDを階層的に表したパス形式で表示した表示画面である。 図10に示すアドレステーブルにおいてパス名を追加したデータ構造の一例を示す模式図である。 ポートの階層的な物理構成の名称から抽出して自動的に設定した変数を表示した表示画面である。 パスが設定されたポートIDに対して変数を格納する変数テーブルのデータ構造の一例を示す模式図である。 図13に示すアドレステーブルにおいてユニット構成が改変された後のデータ構造の一例を示す模式図である。 図12に示す表示画面においてユニット構成が改変された後に表示した表示画面である。 CPUユニットと各種ユニットとを接続するシステム構成の一例を示すプログラマブルコントローラ(PLC)の概略構成図である。 制御プログラム開発支援装置の基本画面を示す表示画面である。 制御プログラム開発支援装置で作成されたラダー図の一例を示す表示画面である。 ユニット構成情報画面の一例を示す表示画面である。 図21に示すユニット構成情報画面に対してラック項目を開いた状態を示す表示画面である。 ユニット一覧の一例を示す画面説明図である。 ユニット登録操作を実行した後のユニット構成画面を示す表示画面である。 ユニットの追加画面の一例を示す表示画面である。 制御プログラム開発支援装置に格納される入出力テーブルのデータ構造の一例を示す模式図である。 変数に対するメモリアドレス等の各種データを示す表示画面である。
以下、本発明の実施の形態について添付図面を参照しつつ説明する。なお、以下の実施の形態は、本発明を具体化した例であって、本発明の技術的範囲を限定する性格のものではない。
図1は、制御プログラム開発支援装置100及び制御プログラム開発支援装置100が設定対象としているPLC200の概略的に示しシステム構成図である。
プログラマブルコントローラ(以下、PLCという)200は、図18に示すPLC20と同様の構成とされている。図1において、図18に示す部材と同様の部材には同一符号を付している。
すなわち、PLC200は、「CPUラック00」と、増設ラック(「ラック01」,「ラック02」,…)とから構成されている。
「CPUラック00」及び増設ラック(「ラック01」,「ラック02」,…)は、それぞれ電源ユニット21を備え、一つのラック内に配置されたユニットは、そのラックに接続された電源ユニット21からの電力供給を受ける。
「CPUラック00」は、CPUユニット22を備えている。増設ラック(「ラック01」,「ラック02」,…)は、CPUユニットを備えておらず、「CPUラック00」におけるCPUユニット22により管理(IOリフレッシュ等)される。
「CPUラック00」には、I/Oコントロールユニット40が配置され、増設ラック(「ラック01」,「ラック02」,…)には、I/Oインターフェースユニット50が配置されている。「CPUラック00」及び増設ラック(「ラック01」)は、配線ケーブルCBを介してI/Oコントロールユニット40及びI/Oインターフェースユニット50で互いに接続されている。さらに、増設ラック(「ラック01」,「ラック02」,…)は、配線ケーブルCBを介してI/Oインターフェースユニット50で互いに接続されている。これにより、「CPUラック00」及び増設ラック(「ラック01」,「ラック02」,…)が相互に通信可能に連携することができ、PLC200が所望の制御を行うために必要な各種のユニット(I/Oユニット,マスタユニット,通信ユニット,高機能ユニット等の構成ユニット)が互いに連結される。この例では3つのラックを連結してPLC200が構築されているが、勿論、PLC200を構築するラックの個数は任意であり、1つのラック(「CPUラック00」のみ)の場合もあり得る。すなわち、増設ラックは一つであってもよい。また、増設ラックを設けず、「CPUラック00」だけであってもよい。また、「CPUラック00」や増設ラック(「ラック01」,「ラック02」,…)に実装される電源ユニット21は、同一タイプのものでもよいし、異なるタイプのものでもよい。
図1の例では、「CPUラック00」には、複数のスロット(スロット0,スロット1,…)のうち、スロット0に入力ユニット31が、スロット1に出力ユニット32が配置されている。また、「ラック01」には、スロット0,スロット1,…のうち、スロット0にCPU高機能ユニット33が、スロット1に入力ユニット34が、スロット2に出力ユニット35が配置されている。
また、入力ユニット31,34には、センサやスイッチ等の接点(例えば8点、16点、32点、64点等)に相当する「入力ポート00」,「入力ポート01」,「入力ポート02」,…が設けられており、出力ユニット32,35には、アクチュエータやリレー等の接点(例えば8点、16点、32点、64点等)に相当する「出力ポート00」,「出力ポート01」,「出力ポート02」,…が設けられている。
なお、CPUユニット22については、図18に示すものと同様であり、ここでは詳しい説明を省略する。
図2は、図1に示す制御プログラム開発支援装置100の内部構造を概略的に示すシステム構成図である。
制御プログラム開発支援装置100は、各種ユニットを組み合わせて任意の構成からなるPLC200を構築したり、制御対象に合致するPLC構成を設計するに当たり、適切なユニット構成を得るようにしたりするためのPLCシステム構築支援機能を備えている。
PLCシステム構築支援機能を持つ制御プログラム開発支援装置100は、PLCシステム構築支援装置と呼ばれたり、コンフィグレータと呼ばれたりすることもある。また、制御プログラム開発支援装置100は、PLC200に実行処理させる制御プログラム(ユーザプログラム)を作成する機能を備えている。制御プログラムの例にはラダー図で表記するラダープログラムがある。制御プログラムを作成する機能を持つ装置は、ラダーエディタと呼ばれたり、制御プログラム作成装置、制御プログラム編集装置、プログラミング装置などと呼ばれたりしている。
制御プログラム開発支援装置100は、パーソナルコンピュータにPLCシステム構築支援機能又はユーザプログラム作成機能を実現させるための所定のアプリケーションプログラムをインストールすることにより構成される。勿論、制御プログラム開発支援装置100が通常のI/Oユニット、その他のユニットに対する各種パラメータの設定を行ったり、その設定した設定情報をネットワーク等を介して各機器(ユニット)にダウンロードしたりする機能も有してもよい。
制御プログラム開発支援装置100は、図2に示すように、外部装置(マンマシンインタフェース)として、キーボード12a,ポインティングデバイス12b等を含む入力部12と、表示画面13a(図1参照)を有するディスプレイ等の表示部13とを備えている。
また、制御プログラム開発支援装置100は、内部装置として、制御プログラム開発支援用プログラムを実行したり、各種の演算処理を実行し、ユニット構成情報を作成したりする各種の処理を実行する制御部(具体的にはCPU)14と、制御部14が演算処理等の各種の処理を実行する際にワークメモリ等として適宜使用する実行処理記憶部15と、ユニットに関する情報を格納したユニット情報記憶部16と、制御部14にて作成した、PLC200を構成する各種のユニットに設定する情報をPLC200にダウンロードする際に使用するCOMポート17と、読み取り部18とを備えている。
実行処理記憶部15は、RAM等の揮発性メモリ15a及びハードディスク装置やフラッシュメモリ等の不揮発メモリ15bを含んでいる。不揮発メモリ15bには、後述する制御プログラム開発支援用プログラムBPが記録されたCD(Compact Disc)−ROM等の記録媒体Rを読み出す読み取り部18によって読み出された制御プログラム開発支援用プログラムBPを含むソフトウェアや、後述するイラスト情報のファイルデータが予め格納(インストール)されている。なお、不揮発メモリ15bは、後述するアドレステーブル及び変数テーブル等の処理データも記憶されるようになっている。また、記録媒体Rは、USB(Universal Serial Bus)メモリやSD(Secure Digital)メモリカードであってもよい。
制御部14は、表示部13に対し、各種の入力画面を表示し、ユーザが入力部12を操作して必要な情報の入力を受けて、ユニット構成情報を決定する。
ユニット情報記憶部16に格納されるユニットに関するユニット情報は、例えば、ユニットの種類や、型式等の一覧リストや、メーカ名、電圧、電流等の仕様、各ユニットについての機能や、設定対象となるパラメータ、さらには、各型式で特定されるユニットについてのチャネル情報や、それぞれがメモリ容量を特定するための情報である。なお、ユニット情報記憶部16には、後述するように、イラスト情報も格納されている。
また、制御部14は、入力ユニット31,34や出力ユニット32,35等の基本I/Oユニットが使用するI/Oデータに対してCPUユニット22におけるメモリMのメモリアドレス(以下単にアドレスという)の割り付けを行う。
[制御プログラム開発支援装置のソフトウェア構成]
図3は、図2に示す制御プログラム開発支援装置100における制御部14を概略的に示すシステム構成図である。
制御部14は、ユニット構成図作成手段P1と、メモリ割り付け手段P2と、アドレステーブル登録手段P3と、変数情報受け付け手段P4と、パス設定表示手段P5と、変数情報自動設定手段P6と、変数テーブル作成手段P7と、ポートID書き換え手段P8と、アドレス取得手段P9と、変換手段P10とを含む手段として機能する。なお、アドレステーブル登録手段P3とポートID書き換え手段P8とで本発明のアドレステーブル作成手段を構成している。
すなわち、制御プログラム開発支援用プログラムBPは、ユニット構成図作成手段P1に対応するユニット構成図作成ステップと、メモリ割り付け手段P2に対応するメモリ割り付けステップと、アドレステーブル登録手段P3に対応するアドレステーブル登録ステップと、変数情報受け付け手段P4に対応する変数情報受け付けステップと、パス設定表示手段P5に対応するパス設定表示ステップと、変数情報自動設定手段P6に対応する変数情報自動設定ステップと、変数テーブル作成手段P7に対応する変数テーブル作成ステップと、ポートID書き換え手段P8に対応するポートID書き換えステップと、アドレス取得手段P9に対応するアドレス取得ステップと、変換手段P10に対応する変換ステップとを含むステップを制御部14に実行させる。
図4及び図5は、それぞれ、複数のユニットにおける複数のポートに対応してCPUユニット22におけるメモリMのアドレスの割り付け動作を行う割り付け処理の一例を示す前半部分及び後半部分のフローチャートである。
なお、以下の説明では、複数のポート(パラメータ)は、図1に示すように、「入力ポート00」,「入力ポート01」,「入力ポート02」,…「出力ポート00」,「出力ポート01」,「出力ポート02」,…とし、スロット0,スロット1,…に配置されているユニットをそれぞれユニット0,ユニット1,…とし、また、「入力ポート00」,「入力ポート01」,「入力ポート02」,…及び「出力ポート01」,「出力ポート02」,…を総称して単にポートという。
次に、図4及び図5に示す割り付け処理例のフローチャートについて、図6から図17を参照しながら以下に説明する。
[ユニット構成図作成ステップS1]
図4に示すユニット構成図作成ステップS1は、ユニット0,ユニット1,…の少なくとも一つのユニットを一つずつ、ラックにおける複数のスロットの何れか一つに位置変更可能に配置してユニット構成図を作成し、ユニット0,ユニット1,…の何れか一つのユニットの配置位置が変更されてユニット構成が改変された場合には、ユニット0,ユニット1,…のうち何れのユニットが何れのスロットに移動したかを検出するようになっている。
詳しくは、ユニット構成図作成ステップS1では、制御部14は、表示部13の表示画面13a(図1参照)に「CPUラック00」のイラストを表示し、さらにユニットのイラストを移動可能に表示してユニット構成図を作成する。
図6は、ユニット情報記憶部16におけるユニット情報の一部のデータ構造の一例を示す概略構成図である。図7は、「CPUラック00」及び「CPUラック00」に配置されるユニットをイラストで表したユニット構成図を表示する表示画面である。
ユニット情報記憶部16(図2参照)には、図6に示すように、複数のユニット0,ユニット1,…(図7参照)をイラスト化したイラスト情報ILが複数のユニット0,ユニット1,…に関する型式TY及び名称TNと関連付けて予め格納されている。本実施の形態において、イラスト情報ILは、ファイルデータの名称とされており、制御部14は、ファイルデータの名称から実行処理記憶部15(図2参照)の不揮発メモリ15bに記憶されているファイルデータを読み出してユニット0,ユニット1,…のうち、選択されたユニットをイラスト化するようになっている。なお、図6には示していないが、ユニット情報記憶部16には、「CPUラック00」及び「ラック01」,「ラック02」,…のイラスト情報ILも格納されている。
詳しくは、ユニット構成図作成ステップS1では、制御部14は、ユニット情報記憶部16から「CPUラック00」に対応するイラスト情報ILを読み出し、読み出したイラスト情報ILにより「CPUラック00」のイラストを表示部13の表示画面13aに表示する。
図8は、ユニット一覧の一例を示す画面説明図である。ユニット構成を作成するにあたり、ユーザは、ポインティングデバイス12b(図1参照)を操作して「CPUラック00」のイラストの何れかのスロット(例えばスロット3)をダブルクリック等により選択すると、図8に示すユニット選択画面が別ウインドウで表示される。すなわち、制御部14は、「CPUラック00」のスロット位置(例えばスロット3)でユーザによるポインティングデバイス12bのクリック操作を受信すると、ユニット情報記憶部16を参照して得られたユニットの型式情報をユニット選択画面(図8参照)に表示する。ユニット選択画面は、図23に示すユニット選択画面と同様の画面であり、ここでは詳しい説明を省略する。
ユーザは、ポインティングデバイス12bを操作してツリー表示画面の「+」をダブルクリック等により選択すると、ツリー表示が展開される。すなわち、制御部14は、ツリー表示画面の「+」をユーザによるポインティングデバイス12bのクリック操作を受信すると、ユニット情報記憶部16を参照して得られたユニット情報を図8のユニット選択画面に表示する。こうして表示されたユニット選択画面において、ユーザは使用するユニットをユニット一覧から探し出し、ポインティングデバイス12bを操作して選択する。すなわち、制御部14は、ユニット選択画面の選択されたユニット(例えばCJ1W−OD202)の位置でユーザによるポインティングデバイス12bのクリック操作を受信すると、ユニット情報記憶部16を参照して得られたユニットのイラスト情報ILをイラスト化して、図7に示すユニット構成図における「CPUラック00」のスロット位置(例えばスロット3)に表示する。このとき、型式、名称、仕様等のユニット情報が図7におけるユニット構成図の右側のユニット情報画面W3に表示される。
このようにして、ユニット0,ユニット1,…のうち何れか一つのイラストを「CPUラック00」におけるスロット0,1,2,…の何れか一つに対して表示部13の表示画面13aに配置してユニット構成図を作成する。
また、ユニット構成図作成ステップS1では、制御部14は、次のようなユニットの追加、移動、削除動作を行ってユニット構成を改変することができる。
図9は、図7に示すユニット構成図からユニット構成を改変した後の状態を示す表示画面である。
図7に示すユニット構成図のユニット構成を改変するにあたり、ユーザは、ポインティングデバイス12bを操作してユニットのイラストを選択し、選択したユニット(例えばスロット0のユニット0)のイラストをドラッグ・アンド・ドロップにより他のスロット(例えばスロット1)に移動させる。すなわち、制御部14は、ユニット選択画面の選択されたユニット(例えばスロット0のユニット0)の位置でユーザによるポインティングデバイス12bのドラッグを受信すると、選択されたユニットをカーソルで移動させ、他のスロット(例えばスロット1)の位置でユーザによるポインティングデバイス12bのドロップを受信すると、選択されたユニット(例えばスロット0にあったユニット0)を他のスロット(例えばスロット1)に移動させる。このとき、制御部14は、他のスロット(例えばスロット1)にあったユニット(例えばユニット1)については、選択されたユニットのスロット(例えばスロット0)に移動させる。また、制御部14は、移動対象のユニットの位置情報も表示させる(図9におけるユニット情報画面W3及びユニット構成図の右下の位置情報画面W4参照)。なお、位置情報を表示させる場合には、位置情報画面W4の上に表示されるユニット情報画面W3のユニット情報の内容は、簡略化されて表示されるようになっている。また、制御部14は、選択されたユニット(例えばユニット0)を1又は複数のスロット(例えばスロット1)を隔てて移動させる場合には、他のスロット(例えばスロット2)にあったユニット(例えばユニット2)を、選択されたユニット(例えばユニット0)と入れ替えるようにしてもよいし、選択されたユニットのスロット(例えばスロット0)に、その隣(選択されたユニット0を移動させた側、図7では右側)のスロット(例えばスロット1)のユニット(例えばユニット1)を移動させ、移動させたユニットのスロット(例えばユニット1のスロット1)に、その隣(図7では右側)のスロット(例えばスロット2)のユニット(例えばユニット2)を移動させてもよい。
このようにして、制御部14は、ユニット0,ユニット1,…の少なくとも一つのイラストを一つずつ(例えばユニット0)を、「CPUラック00」におけるスロット0,1,2,…の何れか一つのイラストに対してドラッグ・アンド・ドロップにより表示部13の表示画面13aに移動表示可能に配置してユニット構成図を作成する(図9参照)。
また、ユーザは、ポインティングデバイス12bを操作してユニットのイラストを選択し、選択したユニット(例えばスロット3のユニット)のイラストを削除操作により削除(消去)する。すなわち、制御部14は、ユニット選択画面の選択されたユニット(例えばスロット3のユニット)の位置でユーザによるポインティングデバイス12bのクリック操作を受信すると、選択されたユニットを選択表示(例えば反転表示)し、ユーザのキーボード12a(図1参照)の所定キー(例えば削除[delete]キー)の押下操作を受け付けると、選択されたユニット(例えばスロット3のユニット)を配置されていたスリット(例えばスリット3)から削除(消去)する。
なお、実行処理記憶部15の不揮発メモリ15bには、画面上の位置情報に対するスロット位置(スロット番号)が対応付けられて記憶されている。これにより、制御部14は、ユニット構成が改変されたこと、さらには、ユニット0,ユニット1,…のうち何れのイラストが何れのスロットに移動したかを検出(認識)することができる。
[メモリ割り付けステップS2]
次に、図4に示すメモリ割り付けステップS2では、制御部14は、ユニット0,ユニット1,…のCPUユニット22におけるメモリM(図1参照)のアドレスの割り付けを行う。このアドレスの割り付け処理は、前述の背景技術の欄で説明した従来の手法と同様であり(図26の説明箇所参照)、ここでは詳しい説明を省略する。
そして、制御部14は、複数のポートに対してそれぞれ複数のポートIDを識別可能に設定するようになっている。これにより、複数のポートに対して複数のポートIDがそれぞれ一意に決定される。
[アドレステーブル登録ステップS3]
図4に示す判断ステップS31では、制御部14は、後述する図10に示すアドレステーブルTB1が新規登録か否か、すなわちアドレステーブルTB1にデータが登録されているか否かを判断する。アドレステーブルTB1にデータが登録されていない場合には(ステップS31:Yes)、アドレステーブル登録ステップS3に移行する一方、アドレステーブルTB1にデータが登録されている場合には(ステップS31:No)、変数情報受け付けステップS4に移行する。
アドレステーブル登録ステップS3では、制御部14は、後述する図10に示すように、ユニット0,ユニット1,…におけるポートPtに対してそれぞれ一意に決められた複数のポートIDに対応して関連付けられるアドレスと複数のポートIDとの対応関係を示すアドレステーブルTB1を登録する。本実施の形態では、アドレステーブルTB1は、実行処理記憶部15の不揮発メモリ15bに記憶されるようになっている。
図10は、図7に示すユニット構成図で構成されたユニットにおけるポートIDに対してアドレスを格納するアドレステーブルTB1のデータ構造の一例を示す模式図である。
この例では、「ラック00」のスロット0に配置される入力ユニット0(型式CJ1W−ID201)について「入力ポート00」,「入力ポート01」,「入力ポート02」,…のポートID「0000」,「0001」,「0002」,…に対応してメモリMのアドレス「0000」チャネルの「00」ビット,「01」ビット,「02」ビット,…を割り付け、「入力ポート10」,「入力ポート11」,「入力ポート12」,…のポートID「0100」,「0101」,「0102」,…に対応してメモリMのアドレス「0001」チャネルの「00」ビット,「01」ビット,「02」ビット,…を割り付ける。また、「ラック00」のスロット1に配置される出力ユニット1(型式CJ1W−OC201)について「出力ポート00」,「出力ポート01」,「出力ポート02」,…のポートID「1000」,「1001」,「1002」,…に対応してメモリMのアドレス「0010」チャネルの「00」ビット,「01」ビット,「02」ビット,…を割り付け、「出力ポート10」,「出力ポート11」,「出力ポート12」,…に対応してメモリMのアドレス「0011」チャネルの「00」ビット,「01」ビット,「02」ビット,…を割り付ける。なお、ポートIDの値は、ユニット構成が改変されてもユニットに対して変化しない値である。
[変数情報受け付けステップS4]
次に、図4に示す変数情報受け付けステップS4では、制御部14は、ポートIDに対応して関連付けられる変数Varの入力情報をキーボード21a(図1参照)による入力操作によって受け付ける。
具体的には、制御部14は、後述する図11に示すように、図7に示すユニット構成図で構成されたユニットを階層的に表示する。
図11は、図7に示すユニット構成図を階層的に表示した表示画面である。なお、図11及び後述する図12、図14、図17において、「R」は読み出しを意味し,「W」は書き込みを意味し、「RW」は読み出し及び書き込みの双方を意味する。
この例では、入力ユニット0(型式CJ1W−ID201)のポートPtは、ラック階層、ユニット階層、ポート階層といった階層的な物理構成を呈しており、この階層的な物理構成のうち、ラック階層が「CPU Rack 0」、ユニット階層が「CJ1W−ID201(DC入力ユニット)」、ポート階層が「Ch1_In」で表現されている。出力ユニット1(型式CJ1W−OC201)のポートPtは、ラック階層が「CPU Rack 0」、ユニット階層が「CJ1W−OC201(リレー接点出力ユニット)」、ポート階層が「Ch1_Out」で表現されている。
なお、本実施の形態では、制御部14は、変数Varに対応するコメント情報Coをキーボード21aによる入力操作によって受け付けるようになっている。
[パス設定表示ステップS5]
次に、本実施の形態では、制御部14は、図4に示すパス設定表示ステップS5を実施する。具体的には、判断ステップS51において、制御部14は、ポートIDをパス形式で表示させるか否かを判断する。すなわち、制御部14は、ポートIDのパス形式での表示を指示するアイコン(図示省略)に対してユーザによるポインティングデバイス12bのクリック操作を受信すると(判断ステップS51:Yes)、パス設定表示ステップS5において、後述する図12に示すように、ポートIDに対してラックパス名、スロットパス名、チャネルパス名及びビットパス名を順に階層的に表したパス形式でパスPaを表示部13の表示画面13aに表示させる。
図12は、ポートIDを階層的に表したパス形式で表示した表示画面である。また、図13は、図10に示すアドレステーブルTB1においてパス名を追加したデータ構造の一例を示す模式図である。
この例では、入力ユニット0(型式CJ1W−ID201)のポートPtは、図13の「CPUラック00」に対応する図12のラックパス名が「rack#0」、図13のスロット0に対応する図12のスロットパス名が「slot#0」、図13のチャネル「0000」に対応する図12のチャネルパス名が「Ch1_In」、図13のビット「××」に対応する図12のビットパス名が「Ch_In××」に設定されている。出力ユニット1(型式CJ1W−OC201)のポートPtは、図13の「CPUラック00」に対応する図12のラックパス名が「rack#0」、図13のスロット1に対応する図12のスロットパス名が「slot#1」、図13のチャネル「0010」に対応する図12のチャネルパス名が「Ch1_Out」、図13のビット「××」に対応する図12のビットパス名が「Ch_Out××」に設定されている。なお、「××」は、アドレスのビットに対応した値である。
このようにして、制御部14は、ポートIDに対して、「CPUラック00」に対応するラックパス名、スロット0,スロット1,スロット2,…のうち何れか一つのスロットに対応するスロットパス名、何れか一つスロットに対する複数のチャネルのうち何れか一つのチャネルに対応するチャネルパス名及び何れか一つのチャネルに対する複数のビットのうち何れか一つのビットに対応するビットパス名を順に階層的に表したパス形式でパスPaを設定して表示部13の表示画面13aに表示させる。なお、ポートIDのパス形式での表示を指示するアイコン(図示省略)を操作しなくても、常にパスPaを表示させるようになっていてもよい。
[変数情報自動設定ステップS6]
次に、本実施の形態では、制御部14は、図4に示す変数情報自動設定ステップS6を実施する。具体的には、判断ステップS61において、制御部14は、変数Varを自動的に設定するか否かを判断する。すなわち、制御部14は、変数Varの自動設定を指示するアイコン(図示省略)に対してユーザによるポインティングデバイス12bのクリック操作を受信すると(判断ステップS61:Yes)、変数情報自動設定ステップS6において、図11及び図12に示すように、ポートの階層的な物理構成の名称から抽出した変数Varを自動的に設定して表示部13の表示画面13aに表示する。
図14は、ポートの階層的な物理構成の名称から抽出して自動的に設定した変数Varを表示した表示画面である。
この例では、入力ユニット0(型式CJ1W−ID201)の変数Varは、先頭の3桁がユニット層のユニット「CJ1W−ID201」に付されたデバイス名「J01」(図9の位置情報画面W4参照)とされ、中間の3桁がポート階層の「Ch1_In」の少なくとも二つの文字から取得した「Ch1」とされ、末尾の2桁又は4桁がポート階層の「Ch1_In」に対する連番とされている。
なお、図4に示すフローチャートでは省略したが、制御部14は、ここでは、ユーザによる何れかの変数Varへのポインティングデバイス12bのクリック操作を受信すると、変数情報受け付けステップS4に戻り、クリック操作された変数Varの入力情報をキーボード21aによる入力操作によって受け付けるようになっている。
次に、図5に示す判断ステップS62において、制御部14は、変数Varを確定するか否かを判断する。すなわち、制御部14は、判断ステップS62で変数Varが確定されない場合(判断ステップS62:No)、処理の終了を指示するアイコン(図示省略)に対してユーザによるポインティングデバイス12bのクリック操作を受信するまで(判断ステップS63:No)、変数情報受け付けステップS4に移行して変数の入力情報の受け付け処理を行う一方、処理の終了を指示するアイコンに対するクリック操作を受信すると(判断ステップS63:Yes)、判断ステップS82に移行する。
一方、制御部14は、判断ステップS62において変数Varの確定を指示するアイコン(図示省略)に対してユーザによるポインティングデバイス12bのクリック操作を受信すると(判断ステップS62:Yes)、変数テーブル作成ステップS7に移行する。
[変数テーブル作成ステップS7]
変数テーブル作成ステップS7では、制御部14は、ポートIDに対応して関連付けられる変数VarとポートIDとの対応関係を示す変数テーブルTB2(後述する図15参照)を作成する。
図15は、パスPaが設定されたポートIDに対して変数Varを格納する変数テーブルTB2のデータ構造の一例を示す模式図である。変数テーブルTB2は、実行処理記憶部15の不揮発メモリ15bに記憶されるようになっている。
図15に示す数テーブルTB2には、変数名、データ型がポートID及びそのパス名と関連付けられて格納されている。この例では、バイト型(8ビット)の変数Var(「J01_Ch1_In」)に対して、「rack#0/slot#0/Ch1_In」のパスPaが格納され、ブール型(1ビット)の変数Var(「J01_Ch1_In00」〜「J01_Ch1_In07」)に対して、それぞれ、「rack#0/slot#0/Ch1_In00」〜「rack#0/slot#0/Ch1_In07」のパスPaが格納されている。
[ポートID書き換えステップS8]
図5に示す判断ステップS81では、制御部14は、ユニット構成図作成ステップS1においてユニット0,ユニット1,…の何れか一つのユニットの配置位置が変更されたか、ユニットが追加されたか或いはユニットが削除されたか(ユニット構成が改変されたか)否かを判断する。制御部14は、ユニット構成図作成ステップS1においてユニット構成が改変されたと判断した場合には(判断ステップS81:Yes)、ポートID書き換えステップS8に移行する一方、ユニット構成が改変されていないと判断した場合には(判断ステップS81:No)、判断ステップS63に移行する。
ポートID書き換えステップS8では、制御部14は、ユニット構成図作成ステップS1にてユニット0,ユニット1,…のユニット構成が改変された場合に、アドレステーブルBT1に対して、ユニット構成図作成ステップS1にて検出した変更前のユニット(例えばユニット0,ユニット1)におけるポートID(具体的にはパスPaが設定されたポートID)を、ユニット構成図作成ステップS1にて検出した変更後のユニット(例えばユニット1,ユニット0)におけるポートIDに書き換える。
図16は、図13に示すアドレステーブルTB1においてユニット構成が改変された後のデータ構造の一例を示す模式図である。図17は、図12に示す表示画面においてユニット構成が改変された後に表示した表示画面である。
この例では、スロット0のユニット0とスロット1のユニット1とが相互に入れ替えられる一例を示している。
すなわち、図13のαに示すように「0000」チャネルの「00」ビット,「0000」チャネルの「01」ビット,「0000」チャネルの「02」ビット,…に格納されていたポートID「0000」(パス形式では「rack#0/slot#0/Ch1_In/Ch1_In00」),「0001」(パス形式では「rack#0/slot#0/Ch1_In/Ch1_In01」),「0002」(パス形式では「rack#0/slot#0/Ch1_In/Ch1_In02」),…が、図16のαに示すように「0010」チャネルの「00」ビット,「0010」チャネルの「01」ビット,「0010」チャネルの「02」ビット,…のアドレスに書き換えられる。
また、図13のβに示すように「0010」チャネルの「00」ビット,「0010」チャネルの「01」ビット,「0010」チャネルの「02」ビット,…に格納されていたポートID「1000」(パス形式では「rack#0/slot#1/Ch1_Out/Ch1_Out00」),「1001」(パス形式では「rack#0/slot#1/Ch1_Out/Ch1_Out01」),「1002」(パス形式では「rack#0/slot#1/Ch1_Out/Ch1_Out02」),…が、図16のβに示すように「0000」チャネルの「00」ビット,「0000」チャネルの「01」ビット,「0000」チャネルの「02」ビット,…のアドレスに書き換えられる。
そして、ポートIDにパスPaが設定される場合には、入力ユニット0(この例では型式CJ1W−ID201)のポートPtは、図16の「CPUラック00」に対応する図17のラックパス名が「rack#0」、図16のスロット1に対応する図17のスロットパス名が「slot#1」、図16のチャネル「0010」に対応する図17のチャネルパス名が「Ch1_In」、図16のビット「××」に対応する図17のビットパス名が「Ch_In××」に設定される。出力ユニット1(この例では型式CJ1W−OC201)のポートPtは、図16の「CPUラック00」に対応する図17のラックパス名が「rack#0」、図16のスロット0に対応する図17のスロットパス名が「slot#0」、図16のチャネル「0000」に対応する図17のチャネルパス名が「Ch1_Out」、図16のビット「××」に対応する図17のビットパス名が「Ch_Out××」に設定される。なお、「××」は、アドレスのビットに対応した値である。
図5に示すフローチャートにおいて、判断ステップS81を除去し、判断ステップS62において変数Varを確定した場合に(判断ステップS62:Yes)、常に、ポートID書き換えステップS8を処理するようにしてもよい。
なお、図15に示す変数テーブルTB2についても、ユニット構成図作成ステップS1においてユニット0,ユニット1,…の何れか一つのユニットの配置位置が変更された場合には、それに対応してパスPaの設定が更新されるようになっている。
[アドレス取得ステップS9]
次に、図5に示す判断ステップS82では、制御部14は、制御プログラムをオブジェクトコードに変換するか否かを判断する。すなわち、制御部14は、制御プログラムのオブジェクトコードへの変換を指示するアイコン(図示省略)に対してユーザによるポインティングデバイス12bのクリック操作を受信すると(判断ステップS82:Yes)、アドレス取得ステップS9に移行する。
アドレス取得ステップS9では、制御部14は、制御プログラムに記述された変数Varに対応するポートIDを変数テーブルTB2(図15参照)から取得し、取得したポートIDに対応するアドレスを、データ更新されたアドレステーブルTB1(図16参照)から取得する。
例えば、ユニット構成が改変される前の図15に示す変数テーブルTB2の変数Var(「J01_Ch1_In00」)に対応するポートID「0000」(パス形式では「rack#0/slot#0/Ch1_In/Ch1_In00」)は、図13に示すアドレステーブルTB1においてアドレスがチャネル「0000」のビット「00」であったのに対して、ユニット構成が改変された後の図16に示すアドレステーブルTB1では、ポートID「0000」(パス形式では「rack#0/slot#1/Ch1_In/Ch1_In00」)に対応するアドレスがチャネル「0010」のビット「00」となる。従って、ユーザは、制御プログラムを作成する際には、ポートPtの種類を示す変数Varを記述しておけば、ユニット構成が改変されたとしても、自動的に変数Varに対応するアドレスが変更されるので、アドレスを意識する必要がない。すなわち、ユニット構成の改変に応じて制御プログラムを変更する必要がない。そして、図15に示す変数テーブルTB2の変数Var(「J01_Ch1_In00」)に対応するポートID「0000」に設定されたパスPaは、図16及び図17に示すように、「rack#0/slot#1/Ch1_In/Ch1_In00」に更新されるので、ユーザは最新のパスPaを参照することができる。
[変換ステップS10]
そして、図5に示す変換ステップS10では、取得したアドレスを用いて制御プログラムをCPUユニット22で実行可能なオブジェクトコードに変換(具体的にはコンパイル)する。
以上説明したように、本実施の形態に係る制御プログラム開発支援装置100によれば、ユニット構成が改変された場合に、アドレステーブルTB1に対して、変更前のユニットにおけるポートIDを、変更後のユニットにおけるポートIDに書き換え、変数Varに対応するポートIDを変数テーブルTB2から取得し、取得したポートIDに対応するアドレスをアドレステーブルTB1から取得する。こうすることで、たとえユニット構成が改変されたとしても、変数テーブルTB2によって制御プログラムに記述されたアドレス、さらには変数と、ポートPtとの関係が維持されているので、変数に対する制御プログラムにおけるアドレスの変更作業や、アドレスに対して設定した変数の変更作業を行う必要がなく、これにより、ユニット構成の改変に伴う利便性を向上させることができる。
ところで、従来は、変数Varに設定しているアドレスは、CPUユニット22のメモリMに割り付けられたメモリエリアを表しているだけであったため、ユーザは、アドレスからユニットの配置位置を認識することが困難であった。
この点、本実施の形態では、ポートIDに対して、ラックパス名、スロットパス名、チャネルパス名及びビットパス名を順に階層的に表したパス形式でパスPaを設定して表示させるので、ユーザは、パスPaを見ただけでユニットの配置位置を容易に認識することが可能となる。
また、本実施の形態では、変数情報受け付けステップS4と、変数情報自動設定ステップS6とを実施するので、変数情報受け付けステップS4にて変数Varの入力情報を入力するか、或いは、変数情報自動設定ステップS6にて変数Varを自動的に設定するかを、ユーザが必要に応じて使い分けすることが可能となる。
また、本実施の形態では、ユニット構成図を作成するときに、ユニットが何れのスロットに移動したかを検出することができ、これにより、ユニットの配置位置の変更を効率的に検出することが可能となる。
また、ユニット構成図は、図24に示すようなツリー形式の構造図であってもよいが、本実施の形態では、ユニットのイラストを、スロットのイラストに対してドラッグ・アンド・ドロップにより表示部13の表示画面13aに移動表示可能に配置してユニット構成図を作成するので、ユニット構成図におけるユニット構成を、イラストによって視覚的に改変することができ、ユニット構成の改変作業の容易化を実現することが可能となる。
なお、本実施の形態では、「CPUラック00」について説明したが、増設ラック(「ラック01」,「ラック02」,…)についても同様にして行うことができる。また、本実施の形態では、PLC200を複数備え、LAN等のネットワークを介して複数のPLC200,…を相互に接続するようにしてもよい。この場合、ポートIDに設定したパスPaの表示形態としては、先頭にネットワークのパス名(例えばPLC名)を付与した表示形態を例示できる。
13 表示部
13a 表示画面
14 制御部
16 ユニット情報記憶部
22 CPUユニット
31,… ユニット
100 制御プログラム開発支援装置
200 PLC
BP 制御プログラム開発支援用プログラム
M メモリ
Pa パス
Pt ポート
P1 ユニット構成図作成手段
P2 メモリ割り付け手段
P3 アドレステーブル登録手段
P4 変数情報受け付け手段
P5 パス設定表示手段
P6 変数情報自動設定手段
P7 変数テーブル作成手段
P8 ポートID書き換え手段
P9 アドレス取得手段
P10 変換手段
R 記録媒体
TB1 アドレステーブル
TB2 変数テーブル
Var 変数

Claims (8)

  1. プログラマブルコントローラのCPUユニットに接続される複数のユニットをラック内における複数のスロットにそれぞれ配置するためのユニット構成を作成する制御プログラム開発支援装置であって、
    前記複数のユニットにおける複数のポートに対してそれぞれ一意に決められた複数のポートIDに対応して前記CPUユニットにおけるメモリのメモリアドレスの割り付けを行うメモリ割り付け手段と、
    前記複数のポートIDに対応して関連付けられるメモリアドレスと前記複数のポートIDとの対応関係を示すアドレステーブルを作成するアドレステーブル作成手段と、
    前記複数のポートIDに対応して関連付けられる変数と前記複数のポートIDとの対応関係を示す変数テーブルを作成する変数テーブル作成手段と、
    前記変数に対応するポートIDを前記変数テーブルから取得し、取得したポートIDに対応するメモリアドレスを前記アドレステーブルから取得するアドレス取得手段と
    前記ポートIDに対して、前記ラックに対応するラックパス名、前記複数のスロットのうち何れか一つのスロットに対応するスロットパス名、前記何れか一つスロットに対する複数のチャネルのうち何れか一つのチャネルに対応するチャネルパス名及び前記何れか一つのチャネルに対する複数のビットのうち何れか一つのビットに対応するビットパス名を順に階層的に表したパス形式でパスを設定して表示画面に表示させるパス設定表示手段と
    を備え、
    前記アドレステーブル作成手段は、前記アドレステーブルに対して、変更前のユニットにおけるポートIDを、変更後のユニットにおけるポートIDに書き換える
    ことを特徴とする制御プログラム開発支援装置。
  2. 請求項に記載の制御プログラム開発支援装置であって、
    前記変数の入力情報を受け付ける変数情報受け付け手段と、前記複数のポートの階層的な物理構成に基づいて前記変数を自動的に設定する変数情報自動設定手段とを備える
    ことを特徴とする制御プログラム開発支援装置。
  3. プログラマブルコントローラのCPUユニットに接続される複数のユニットをラック内における複数のスロットにそれぞれ配置するためのユニット構成を作成する制御プログラム開発支援装置であって、
    前記複数のユニットにおける複数のポートに対してそれぞれ一意に決められた複数のポートIDに対応して前記CPUユニットにおけるメモリのメモリアドレスの割り付けを行うメモリ割り付け手段と、
    前記複数のポートIDに対応して関連付けられるメモリアドレスと前記複数のポートIDとの対応関係を示すアドレステーブルを作成するアドレステーブル作成手段と、
    前記複数のポートIDに対応して関連付けられる変数と前記複数のポートIDとの対応関係を示す変数テーブルを作成する変数テーブル作成手段と、
    前記変数に対応するポートIDを前記変数テーブルから取得し、取得したポートIDに対応するメモリアドレスを前記アドレステーブルから取得するアドレス取得手段と、
    前記変数の入力情報を受け付ける変数情報受け付け手段と、
    前記複数のポートの階層的な物理構成に基づいて前記変数を自動的に設定する変数情報自動設定手段と
    を備え、
    前記アドレステーブル作成手段は、前記アドレステーブルに対して、変更前のユニットにおけるポートIDを、変更後のユニットにおけるポートIDに書き換える
    ことを特徴とする制御プログラム開発支援装置。
  4. 請求項1から請求項3までの何れか一つに記載の制御プログラム開発支援装置であって、
    前記複数のユニットの少なくとも一つのユニットを一つずつ、前記ラックにおける前記複数のスロットの何れか一つに位置変更可能に配置してユニット構成図を作成し、前記複数のユニットの何れか一つのユニットの配置位置が変更された場合に、前記複数のユニットのうち何れのユニットが何れのスロットに移動したかを検出するユニット構成図作成手段を備え、
    前記アドレステーブル作成手段は、前記アドレステーブルに対して、前記ユニット構成図作成手段にて検出した変更前のユニットにおけるポートIDを、前記ユニット構成図作成手段にて検出した変更後のユニットにおけるポートIDに書き換える
    ことを特徴とする制御プログラム開発支援装置。
  5. 請求項4に記載の制御プログラム開発支援装置であって、
    前記ラック及び前記複数のユニットをイラスト化したイラスト情報を前記複数のユニットに関するユニット情報と関連付けて格納するユニット情報記憶部を備え、
    前記ユニット構成図作成手段は、前記ユニット情報記憶部に格納した前記ラックのイラスト情報に対応するイラストを表示画面に表示し、前記ユニット情報記憶部に格納した前記イラスト情報に対応する前記複数のユニットの少なくとも一つのイラストを一つずつ、前記ラックにおける前記複数のスロットの何れか一つのイラストに対してドラッグ・アンド・ドロップにより前記表示画面に移動表示可能に配置してユニット構成図を作成する
    ことを特徴とする制御プログラム開発支援装置。
  6. プログラマブルコントローラのCPUユニットに接続される複数のユニットをラック内における複数のスロットにそれぞれ配置するためのユニット構成を作成する制御プログラム開発支援装置における制御部を、
    前記複数のユニットにおける複数のポートに対してそれぞれ一意に決められた複数のポートIDに対応して前記CPUユニットにおけるメモリのメモリアドレスの割り付けを行うメモリ割り付け手段と、
    前記複数のポートIDに対応して関連付けられるメモリアドレスと前記複数のポートIDとの対応関係を示すアドレステーブルを作成するアドレステーブル作成手段と、
    前記複数のポートIDに対応して関連付けられる変数と前記複数のポートIDとの対応関係を示す変数テーブルを作成する変数テーブル作成手段と、
    前記変数に対応するポートIDを前記変数テーブルから取得し、取得したポートIDに対応するメモリアドレスを前記アドレステーブルから取得するアドレス取得手段と
    前記ポートIDに対して、前記ラックに対応するラックパス名、前記複数のスロットのうち何れか一つのスロットに対応するスロットパス名、前記何れか一つスロットに対する複数のチャネルのうち何れか一つのチャネルに対応するチャネルパス名及び前記何れか一つのチャネルに対する複数のビットのうち何れか一つのビットに対応するビットパス名を順に階層的に表したパス形式でパスを設定して表示画面に表示させるパス設定表示手段と
    を含む手段として機能させるための制御プログラム開発支援用プログラムであ
    前記アドレステーブル作成手段は、前記アドレステーブルに対して、変更前のユニットにおけるポートIDを、変更後のユニットにおけるポートIDに書き換える
    ことを特徴とする制御プログラム開発支援用プログラム。
  7. プログラマブルコントローラのCPUユニットに接続される複数のユニットをラック内における複数のスロットにそれぞれ配置するためのユニット構成を作成する制御プログラム開発支援装置における制御部を、
    前記複数のユニットにおける複数のポートに対してそれぞれ一意に決められた複数のポートIDに対応して前記CPUユニットにおけるメモリのメモリアドレスの割り付けを行うメモリ割り付け手段と、
    前記複数のポートIDに対応して関連付けられるメモリアドレスと前記複数のポートIDとの対応関係を示すアドレステーブルを作成するアドレステーブル作成手段と、
    前記複数のポートIDに対応して関連付けられる変数と前記複数のポートIDとの対応関係を示す変数テーブルを作成する変数テーブル作成手段と、
    前記変数に対応するポートIDを前記変数テーブルから取得し、取得したポートIDに対応するメモリアドレスを前記アドレステーブルから取得するアドレス取得手段と、
    前記変数の入力情報を受け付ける変数情報受け付け手段と、
    前記複数のポートの階層的な物理構成に基づいて前記変数を自動的に設定する変数情報自動設定手段と
    を含む手段として機能させるための制御プログラム開発支援用プログラムであり、
    前記アドレステーブル作成手段は、前記アドレステーブルに対して、変更前のユニットにおけるポートIDを、変更後のユニットにおけるポートIDに書き換える
    ことを特徴とする制御プログラム開発支援用プログラム。
  8. 請求項6又は請求項7に記載の制御プログラム開発支援用プログラムを記録したコンピュータ読み取り可能な記録媒体。
JP2011056866A 2011-03-15 2011-03-15 制御プログラム開発支援装置、制御プログラム開発支援用プログラム及び記録媒体 Active JP5810563B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2011056866A JP5810563B2 (ja) 2011-03-15 2011-03-15 制御プログラム開発支援装置、制御プログラム開発支援用プログラム及び記録媒体
PCT/JP2011/074304 WO2012124204A1 (ja) 2011-03-15 2011-10-21 制御プログラム開発支援装置、制御プログラム開発支援用プログラム及び記録媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011056866A JP5810563B2 (ja) 2011-03-15 2011-03-15 制御プログラム開発支援装置、制御プログラム開発支援用プログラム及び記録媒体

Publications (2)

Publication Number Publication Date
JP2012194678A JP2012194678A (ja) 2012-10-11
JP5810563B2 true JP5810563B2 (ja) 2015-11-11

Family

ID=46830305

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011056866A Active JP5810563B2 (ja) 2011-03-15 2011-03-15 制御プログラム開発支援装置、制御プログラム開発支援用プログラム及び記録媒体

Country Status (2)

Country Link
JP (1) JP5810563B2 (ja)
WO (1) WO2012124204A1 (ja)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9507484B2 (en) 2012-12-27 2016-11-29 General Electric Company Methods and apparatus for configuring a data analyzer
US9792000B2 (en) 2014-03-18 2017-10-17 Mitsubishi Electric Corporation System construction assistance apparatus, method, and recording medium
JP6211181B2 (ja) 2015-04-06 2017-10-11 三菱電機株式会社 プログラマブルコントローラシステム、及びプログラマブルコントローラ
JP2017199226A (ja) * 2016-04-28 2017-11-02 パナソニック デバイスSunx株式会社 プログラム編集方法、プログラム開発支援装置及びプログラマブルコントローラ
JP6874814B2 (ja) 2019-10-30 2021-05-19 株式会社安川電機 産業機器の制御装置、産業機器の制御装置の設定システム、産業機器の制御装置の設定方法、及びプログラム
JP6881557B1 (ja) 2019-12-16 2021-06-02 株式会社安川電機 生産システム、生産方法、及びプログラム
JP6813077B1 (ja) 2019-12-16 2021-01-13 株式会社安川電機 生産システム、復旧システム、生産方法、及びプログラム
JP6761158B1 (ja) 2019-12-16 2020-09-23 株式会社安川電機 プログラム作成装置、プログラム作成方法、及びプログラム
JP7276265B2 (ja) 2020-06-30 2023-05-18 株式会社安川電機 生産システム、上位制御装置、制御装置、通信方法、及びプログラム
JP7147808B2 (ja) 2020-06-30 2022-10-05 株式会社安川電機 エンジニアリング装置、エンジニアリング方法、及びプログラム
JP2023118484A (ja) 2022-02-15 2023-08-25 株式会社安川電機 制御システム、生産方法、及びプログラム

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4490577B2 (ja) * 2000-10-02 2010-06-30 株式会社キーエンス Plcシステム構築支援ツール
JP3939518B2 (ja) * 2001-09-10 2007-07-04 株式会社デジタル 入出力アドレス設定装置、入出力アドレス設定プログラムおよびそれを記録した記録媒体
JP4515434B2 (ja) * 2006-10-16 2010-07-28 株式会社デジタル ユニット情報設定装置、ユニット情報設定プログラムおよびそれを記録した記録媒体
JP2009157533A (ja) * 2007-12-25 2009-07-16 Fuji Electric Systems Co Ltd プログラマブルコントローラシステム
JP5141889B2 (ja) * 2008-03-15 2013-02-13 オムロン株式会社 Plcのプログラム開発支援装置

Also Published As

Publication number Publication date
WO2012124204A1 (ja) 2012-09-20
JP2012194678A (ja) 2012-10-11

Similar Documents

Publication Publication Date Title
JP5810563B2 (ja) 制御プログラム開発支援装置、制御プログラム開発支援用プログラム及び記録媒体
JP4462449B2 (ja) 制御システム設定装置
JP4485326B2 (ja) プログラマブル表示器、表示制御プログラムおよびそのプログラムを記録した記録媒体
JP6372308B2 (ja) 情報処理装置、情報処理方法、情報処理プログラム、および記録媒体
JP2005327263A (ja) 制御システム設定装置
TWI541622B (zh) 順序程式製作支援裝置
JP4462426B2 (ja) Plc用ツール装置
JP3847585B2 (ja) エディタの登録装置、登録プログラムおよびそれを記録した記録媒体
JP3251423B2 (ja) プログラマブルコントローラのプログラミング機器およびプログラマブルコントローラ用機能ユニット
JP2005259079A (ja) ツール
JP4476223B2 (ja) 画面データ作成装置、画面データの編集方法及び画面データ編集プログラム
JP4995009B2 (ja) Pod画面生成装置、そのプログラム
JP4322780B2 (ja) 画面作成装置、画面作成プログラムおよび記録媒体
JP2007299205A (ja) 制御プログラム作成装置、入力支援方法及び入力支援プログラム
JP2007310571A (ja) 制御プログラム作成装置、編集プログラム及びプログラム作成方法
JP3913414B2 (ja) エディタ装置およびエディタプログラムを記録した記録媒体
JP6531869B2 (ja) 産業機器制御装置のパラメータ編集装置、産業機器制御システム、産業機器制御システムの製造方法、及びプログラム
JP3939518B2 (ja) 入出力アドレス設定装置、入出力アドレス設定プログラムおよびそれを記録した記録媒体
JP2002062910A (ja) エディタ装置およびエディタプログラムを記録した記録媒体
JP3761126B2 (ja) プログラマブルコントローラの周辺装置
JP4335109B2 (ja) 画面作成装置、画面作成プログラムおよびそれを記録した記録媒体
JP4372739B2 (ja) プログラマブル表示器、制御プログラムおよびそのプログラムを記録した記録媒体、ならびに画面作成装置、画面作成プログラムおよびそのプログラムを記録した記録媒体
JP2021039568A (ja) 情報処理システム、プログラマブル表示器および情報処理装置
JP3809151B2 (ja) シーケンスプログラム編集装置
JP3795473B2 (ja) エディタ装置およびエディタプログラムを記録した記録媒体

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140313

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150106

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150306

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150831

R150 Certificate of patent (=grant) or registration of utility model

Ref document number: 5810563

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150