JP4462426B2 - Plc用ツール装置 - Google Patents

Plc用ツール装置 Download PDF

Info

Publication number
JP4462426B2
JP4462426B2 JP2005055051A JP2005055051A JP4462426B2 JP 4462426 B2 JP4462426 B2 JP 4462426B2 JP 2005055051 A JP2005055051 A JP 2005055051A JP 2005055051 A JP2005055051 A JP 2005055051A JP 4462426 B2 JP4462426 B2 JP 4462426B2
Authority
JP
Japan
Prior art keywords
unit
input
output
memory
channels
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.)
Expired - Fee Related
Application number
JP2005055051A
Other languages
English (en)
Other versions
JP2006243841A (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 JP2005055051A priority Critical patent/JP4462426B2/ja
Publication of JP2006243841A publication Critical patent/JP2006243841A/ja
Application granted granted Critical
Publication of JP4462426B2 publication Critical patent/JP4462426B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Programmable Controllers (AREA)

Description

本発明は、PLC用ツール装置に関するものである。
生産工場の製造現場などに設置されるFA(ファクトリーオートメーション)システムの制御を司るPLC(プログラマブルロジックコントローラ)は、制御プログラムに基づいて演算実行するCPUユニット、センサやスイッチなどの入力機器を接続してそれらのオン・オフ信号を入力信号として取り込む入力ユニット、アクチュエータやリレーなどの出力機器を接続してそれらに対して出力信号を送り出す出力ユニット、上位端末装置などと接続してそれと情報をやりとりする通信ユニット、各ユニットに電源を供給する電源ユニット、などの複数のユニットを組み合わせることにより構成されている。
CPUユニットは、制御プログラムを記憶するプログラムメモリと、入力ユニットが取り込んだ入力信号と制御プログラムの演算結果である出力信号とをそれぞれ記憶するデータメモリと、制御プログラムに基づく演算処理等をする処理プロセッサ部とを含んで構成される。CPUユニットにおける制御プログラムは、PLCを稼働させる前に、PLCの使用者(ユーザ)がプログラミングツール装置を操作することにより、例えばラダー図(ラダーチャート)で表現されるラダー言語で記述して作成される。そして、作成されたユーザプログラムは、プログラミングツール装置によってラダー図のシンボルが命令語に変換され、個々のCPUユニットに応じたオペランドが規定され、対象となるCPUユニットにダウンロードされる。CPUユニットの処理プロセッサ部は、プログラムメモリからユーザプログラムの命令語を順次読み出して、この命令語のオペランドに従うメモリのアドレスに基づいてデータメモリから入力信号の情報を読み出して、このデータをユーザプログラムに従って論理演算し、演算結果をデータメモリに記憶し、記憶した演算結果を出力信号として出力ユニットへ出力する。CPUユニットの処理プロセッサ部は、この入力信号読み出し処理、ユーザプログラム実行処理、出力処理の出力処理、をサイクリックに実行する。
プログラミングツール装置を用いて作成したユーザプログラム(例えばラダー図を用いて作成したプログラム)は、後述する実施の形態でも記載したように、プログラム上で接点を表すシンボルの上に、そのユーザプログラムを実行するCPUユニットにおいて使用するIOメモリ等におけるメモリアドレスを併記する。接点は、CPUユニットがIOデータとして扱う対象を指し、具体的にはセンサやスイッチの接点を言う。シンボルは、ラダープログラム上で接点を示す表現記号のことで、例えば、入力接点のシンボルは「−││−」であり、出力接点のシンボルは「−○−」である(以下の説明では、ラダープログラムにおけるシンボルまたは接点を特に区別しない場合は、「シンボル・接点」と書くこともある)。メモリアドレスは、接点に対応する各IOデータをメモリ割付することで決まるもので、CPUユニットが演算に使用する各IOデータが格納されるIOメモリのアドレス番号である。
従来、CPUユニットのメモリの使用アドレスと入出力データとの関係をプログラミングツール装置が自動的に行うこと、つまりメモリ割付をプログラミングツール装置に自動的にさせることができたのは、基本IOユニットだけである。その理由は、接点数が同じ基本IOユニットであれば、種別やモデル名が異なる基本IOユニットであっても、占有チャネル数、入力チャネル数、出力チャネル数が同じなので、メモリ割付が単純だからである。
ところで、上記のメモリアドレスを表示するに際し、対応するシンボル・接点が入力なのか出力なのかを識別する記号をプログラム作成者が手動で付す、または基本IOユニットの接点に限ってプログラミングツール装置が自動で付すことが行なわれている。例えば、入力の場合には、アドレスの前に「I」を付記し、出力の場合にはアドレスの前に「Q」を付記している。
係る接点等が、入力ユニットや出力ユニットのような基本IOユニットの場合には、CPUユニットのメモリ領域を使用するチャネル数が一定であり、接点に対応するアドレスは、単純に連続した値が割り当てられるので、比較的容易に判断できる。その理由は、入力タイプの入力ユニットなら、メモリ割当したアドレスはすべてINデータに対応するし、出力タイプの出力ユニットならメモリ割当したアドレスはすべてOUTデータに対応することがはっきりしているからである。また、入力と出力が混在していても、入力接点数や出力接点数が同じ基本IOユニットであれば、種別やモデル名が異なる基本IOユニットであっても、占有チャネル数、入力チャネル数、出力チャネル数がいつも同じなので、メモリ割付が単純だからである。つまり、INデータに対応するメモリアドレスであれば入力データであることがはっきり区別できるし、出力ユニットのOUTデータに対応するメモリアドレスであれば出力データであることがはっきり区別できる。係る情報を利用し、基本IOユニットにおいては、ユニットの名称等に基づいてプログラミングツール装置が自動的に上記の記号を付記する技術が開発されている。
しかしながら、位置制御ユニットや、モーションコントローラユニット等の高機能ユニットの場合、各ユニットの種別およびモデル名によって、使用するチャネル数が一定ではないばかりか、占有チャネル数、入力チャネルと、出力チャネルの使用数も各ユニットで異なる。なお、占有チャネル数とは、そのユニットについてメモリ割当をする際に必要とするCPUユニットのIOメモリの領域の量である。入力/出力チャネル数は、入力データ、出力データをメモリ割付するのにそれぞれ必要なCPUユニットのIOメモリの領域の量である。実際には、そのユニットの占有チャネル数に基づいて、CPUユニットのIOメモリを割付け、その割付けた占有チャネル数ぶんを、入力チャネル数と出力チャネル数とに配分する。そのように各種ユニットごとに占有チャネル数、入力チャネル数、出力チャネル数がことなると、その結果、従来技術にて上述したように、CPUユニットのメモリの使用アドレスと入出力データとの関係をプログラミングツール装置が自動的に行うこと、つまりメモリ割付をプログラミングツール装置に自動的にさせることができなくなる。そのため、プログラム作成者が使用する高機能ユニットの占有チャネル数と入力チャネル数と、出力チャネル数をそれぞれマニュアルで調べ、その調べた情報をユニット構成情報に高機能ユニットを登録するときに手動で入力し、使用アドレスと入出力の関係を手動で割り付けしていた。また、ラダープログラムのシンボル・接点の入力/出力の区別ができるように記号を付して表示することをプログラミングツール装置に自動的にさせることはできなかった。そのため、プログラム作成者がラダープログラムを作成するに際し、シンボル・接点の入出力を区別するための記号を都度、手動で付記するようにしていた。従って、ユーザは、係るマニュアル等を参考にしつつ上述した各チャネル数を調べるとともに、マニュアル操作で登録する必要があり、使用する高機能ユニットの種類が増えるほど、マニュアルを検索する回数も増えるため、煩雑である。
本発明は、ユニットの種別およびモデル名によって、CPUユニットのメモリ割付のための使用するチャネル数が変わり、入力チャネルと出力チャネルの使用数も異なるようなユニットであっても、自動的にメモリ割付をすることができるプログラミングツール装置を提供することにある。また、ユニットの種別によって、CPUユニットのメモリ割付のための使用するチャネル数が変わり、入力チャネルと出力チャネルの使用数も異なるようなユニットであっても、ラダープログラムのシンボル・接点の入力/出力の区別をするための記号を自動的に付記することができるプログラミングツール装置を提供することにある。
上記した目的を達成するために、本発明のPLC用ツール装置は、プログラマブルコントローラのCPUユニットに接続される各種の高機能ユニットについて、CPUユニットのメモリの割付けを自動的に行うPLC用ツール装置であって、プログラマブルコントローラ用の各種の高機能ユニットについて、それぞれのユニットのデータのメモリ割付けに必要な入力チャネル数と出力チャネル数とを含む機種情報を、高機能ユニットの種類毎に定義した機種情報定義ファイルを取得する取得手段(例えばS4からS5を実行する機能)と、その取得手段により取得した機種情報に基づき、高機能ユニットが使用するCPUユニットのメモリのメモリアドレスの割り付けを、高機能ユニットにおける入力データと出力データとを区別しながら行なう手段(例えばS6を実行する機能)と、を備え、前記高機能ユニットが使用するCPUユニットのメモリのメモリアドレスの割り付けを行なう手段は、入力チャネルと出力チャネルの割り付ける順番を予め決めており、処理対象の高機能ユニットに設定されたユニット番号に基づき、その高機能ユニットが使用する先頭のメモリアドレスを求める機能と、その先頭のメモリアドレスから前記割り付ける順番に従って入力チャネル数分と出力チャネル数分のメモリアドレスを連続して設定する機能と、を備えて構成した。
また、ユーザプログラムを作成する手段と、作成したユーザプログラムと、その中のシンボル・接点と、対応するアドレスとを表示する手段と、を備え、ユーザプログラムの中のシンボル・接点について、そのシンボル・接点のメモリアドレスを入力すると、前記割り付けられたメモリアドレスに基づいてそのシンボル・接点の入力、出力の区別を表示する機能(例えばS7を実行する機能)と、を備えて構成した。
機種情報定義ファイル自体は、パラメータ設定用ツール装置が保有していても良いし、別のサーバ・外部記憶装置・データベース等に格納されていても良い。要は、係る機種情報定義ファイルをアクセスして取得することが出来るようになっていればよい。
本発明によれば、高機能ユニットの種類に応じて機種情報定義ファイルを作成することで、高機能ユニットの種類(機種)ごとに異なっていた占有チャネル(CH)数、入出力CH数を静的情報として保持することができ、その情報を元にラダープログラムで表示するアドレスに入出力を区別する情報を自動的に割り付けて表示することができる。
本発明では、ユニットの種別およびモデル名によってCPUユニットのメモリ割付のための使用するチャネル数が変わり、入力チャネルと出力チャネルの使用数も異なるようなユニットであっても、プログラミングツール装置がそのユニットに適切なメモリ割付を自動的に行うことができる。また、ユニットの種別およびモデル名によってCPUユニットのメモリ割付のための使用するチャネル数が変わり、入力チャネルと出力チャネルの使用数も異なるようなユニットであっても、プログラミングツール装置が自動的に、ラダープログラムのシンボル・接点の入力/出力の区別をするための記号を付記することができる。
図1は、PLC用ツール装置10およびこのPLC用ツール装置10が設定対象としているPLCシステム20の実機イメージの一例を示している。このPLCシステム20は、複数のラック21,21′,21″から構成されている。各ラック21,21′,21″は、それぞれ電源ユニット22,22′,22″を備え、同一のラックを構成するユニットは、そのラックに接続された電源ユニットからの電力供給を受ける。複数のラックのうちの1つはCPUユニット23を備えたCPUラック21であり、その他のラック,21′,21″は、CPUユニットを備えておらず、CPUラック21のCPUユニット23により管理(IOリフレッシュ等)される。各ラック21,21′,21゛には、それらのラック21,21′,21″同士を通信可能に連携するためのリピータユニット24と、PLCシステム20が所望の制御を行なうために必要な各種のユニット(IOユニット,マスタユニット,通信ユニット,高機能ユニット等)25が連結される。また、各ラック21,21′,21″に実装される電源ユニット22,22′,22″は、同一タイプのものでも良いし、異なるタイプのものでも良い。さらに、リピータユニット24同士は、所定の配線ケーブル26で連結される。もちろん、図では3つのラックを連結してPLCシステム20が構築されているが、PLCシステム20を構築するラックの個数は任意であり、1つのラック(CPUラック21のみ)の場合もあり得る。
PLC用ツール装置10は、各種ユニットを組み合わせて任意の構成からなるPLCシステム20を構築したり、制御対象に合致するPLC構成を設計するに当たり、適切なユニット構成を得るようにしたりするためのPLCシステム構築支援機能を備えている。この機能を持つ装置は、PLCシステム構築支援装置と呼ばれたり、コンフィグレータと呼ばれたりすることもある。また、PLC用ツール装置10は、PLCシステムに実行処理させるユーザプログラムを作成する機能を備えている。ユーザプログラムの例にはラダー図で表記するラダープログラムがある。この機能を持つ装置は、ラダーエディタと呼ばれたり、ユーザプログラム作成装置、ユーザプログラム編集装置、プログラミング装置などと呼ばれている。図1から明らかなように、PLC用ツール装置10は、パーソナルコンピュータにPLCシステム構築支援機能またはユーザプログラム作成機能を実現させるための所定のアプリケーションプログラムをインストールすることにより構成される。もちろん、PLC用ツール装置10が通常のI/Oユニットその他のユニットに対する各種パラメータの設定を行なったり、その設定した設定情報をネットワーク等を介して各機器(ユニット)にダウンロードしたりする機能も有してもよい。
図2は、PLC用ツール装置10の内部構造を示している。図2に示すように、このPLC用ツール装置10は、外部装置(マンマシンインタフェース)として、キーボード11a,ポインティングデバイス11b等の入力部11と、ディスプレイ等の表示部12とを備える。さらに、内部装置として、システムプログラムを実行したり、各種の演算処理を実行し、ユニット構成情報を作成したりする各種の処理を実行するCPU(制御部)13と、CPU13が演算処理等の各種の処理を実行する際にワークメモリ等として適宜使用するメモリ(RAM)14と、ユニットに関する情報を格納したユニット情報記憶部15と、CPU13にて作成したPLCシステム20を構成する各種のユニットに設定する情報をPLCシステム20にダウンロードする際に使用するCOMポート16を備えている。CPU13は、表示部12に対し、各種の入力画面を表示し、ユーザが入力部11を操作して必要な情報の入力を受けて、ユニット構成情報を決定する。
ユニット情報記憶部15には、使用可能なユニットに関する情報、例えば、ユニットの種類や、型式等の一覧リストや、各ユニットについての機能や、設定対象となるパラメータなどが記録される。さらに、本発明との関係でいうと、各型式で特定されるユニットについての占有チャネル数や、入力数や、出力数などの入出力を区存在するため情報や、それぞれが使用するチャネル(メモリ容量)を特定するための情報である。具体的な一例を示すと、図3に示すようなものとなる。
図3(a)は、位置制御ユニット,モーションコントロールユニット等の高機能ユニット用のデータ構造であり、「型式」,「占有チャネル数」,「入力数」,「出力数」を関連づけたテーブルとなり、図3(b)は、通常のアナログ,デジタル入力ユニットや出力ユニットなどの基本IOユニット用のデータ構造であり、「型式」,「占有チャネル数」,「入出力タイプ」を関連づけたテーブルとなる。図示の例では、機種情報定義ファイルとして、高機能ユニットと、基本IOユニットとに分け、それぞれが一体のテーブル構造としている。本発明を実現するためには、このような一体となったテーブル構造のものでも良いが、実際には、各ユニットのバージョン情報や、そのバージョンで実行可能な機能の情報や、設定可能なパラメータの情報など、各ユニット毎に登録し、PLC用ツール装置10に実装された各種のツール(アプリケーションプログラム)で必要な情報を利用できるようにすることが好ましい。係る場合には、機種情報定義ファイルは、ユニット毎(型式毎、さらにはバージョン毎)に別のファイルとして作成し、ユニット情報記憶部15内、或いは、外部記憶装置や、サーバなどに格納し、PLC用ツール装置10から対象となるユニットについての機種情報定義ファイルをアクセスして取得できるようにしても良い。この場合には、ユニット情報記憶部15には、少なくとも型式と、その型式についての機種情報定義ファイルを特定する情報(ファイル名や、そのファイルが格納されている場所を特定するアドレス等)を関連づけた情報を記録することになる。
「型式(かたしき)」は、メーカがそのユニットに付した製品番号または機種番号などが該当する。また、型式は、通常、アルファベットや数値の組み合わせであるため、その型式をみただけでは、ユーザはその内容を直感的に理解しにくい。そこで、具体的な名称・俗称など、ユーザが理解しやすい情報も併せて格納しても良い。
また、入力ユニットや出力ユニット等の基本IOユニットが使用するIOデータは、CPUユニットのIOメモリの所定アドレスに割り付けられる。また、高機能ユニットにおいても、演算処理を実行しつつ、入力データおよびまたは出力データを処理することから、それらのデータを上記のIOメモリの所定のメモリ領域に格納する。
本実施の形態においては、高機能ユニットの場合には、使用する入出力点数も多いことから予め1つのユニット当たり入力・出力の合計で10チャネル分を割り当てる(確保する)ようにし、基本IOユニットでは、ON/OFFの1bit情報が多いことから、基本は1チャネル分を割り当てるようにしている。基本IOユニットであっても、入出力点数の多いものは複数チャネルを使用することになるし、高機能ユニットの場合でも、使用する入力およびまたは出力の数が多く、合計で10(高機能ユニットの1ユニット分として割り当てたチャネル数)を超える場合もある。
「占有チャネル数」は、そのユニットが占有するチャネル数を特定するもので、上述したユニットの種別により予め設定されたチャネル数を1単位とし、何単位(何ユニットと分)を使用するのかを特定する情報である。例えば、高機能ユニットの場合、図3(a)に示すように、型式Aの高機能ユニットの使用チャネルは入出力合計で10チャネルで、型式Bの使用チャネルは入出力合計で10チャネルであるので、共に、1ユニット分として割り当てられた10チャネル以下で済むため、占有チャネル数は共に1となる。これに対し、型式Cの使用チャネルは入出力合計で20チャネルであるため、高機能ユニットに割り当てられた2ユニット分のメモリ領域を使用することになるので、占有チャネル数は2となる。
また、ユニットごとに確保される領域を入力エリアとして使用するか、出力エリアとして使用するかは機種により異なる。そこで、これらの入力エリアと出力エリアのチャネル数(CH数)を特定するため、図3(a)に示すように、「入力数」の欄と「出力数」の欄を設け、それぞれの使用チャネル数を登録する。
基本I/Oユニットの場合、従来の方法で対応可能であるが、本実施の形態では、高機能ユニットと同様の仕組みを適用している。すなわち、機種情報定義ファイルとして、図3(b)に示すように、「型式」と、「占有チャネル数」と、「入出力タイプ」とを関連づけた情報を備える。そして、上述したように基本I/Oユニットでは、1つのユニット当たり1チャネルを割り当てるようにしているため、入力およびまたは出力が2チャネル以上必要なI/Oユニットの場合には、占有チャネル数は2以上となる。また、「入出力タイプ」は、基本I/Oユニットが、入力ユニットなのか、出力ユニットなのか、入出力ユニットなのかを区別するためのものである。「型式1」のように入出力タイプが「入力」で、占有チャネル数が「1」の場合には、当該ユニットは、入力として1チャネル使用することがわかる。「型式2」のように入出力タイプが「出力」で、占有チャネル数が「2」の場合には、当該ユニットは、出力として2チャネル使用することがわかる。さらに、「型式3」のように入出力タイプが「入出力」で、占有チャネル数が「2」の場合には、当該ユニットは、入力と出力とでそれぞれ1チャネルずつ使用することがわかる。なお、入出力タイプが「入出力」の場合で占有チャネル数が3以上の場合には、入力と出力で使用するそれぞれのチャネル数が不明であり、一義的には決まらない。従って、補足情報として、高機能ユニットと同様に、入力数と出力数を定義するようにすると良い。
ところで、上述したように、PLCには高機能ユニット用の領域(例えば、「2000」晩以降)があらかじめ確保されており、高機能ユニットが装着されると、その高機能ユニットのユニット番号で、高機能ユニット用の領域の特定アドレスが割り当てられる。
ユニットによっては1ユニット分の領域では足りないユニットが存在するため、そのようなユニットの場合は複数ユニット分使用することも可能となる。このようなユニットは占有CH数が2以上となる。この値はユニットの機種が特定されれば決定する。
また、ユニットごとに確保される領域を入力エリアとして使用するか、出力エリアとして使用するかは機種により異なる。よって、これらの入力エリアと出力エリアのCH数がわかれば、PLCの高機能ユニット用のユニット番号の領域の入力エリアと出力エリアのアドレスが特定される。
図4は、CPU13が実行する処理機能を示すフローチャートである。まず、PLC用ツール装置10を起動し、ラダーエディタでユーザプログラム(ラダー図)を作成する(S1)。すなわち、まず図5に示すような基本画面を表示する。図5で示すように、基本画面は、右側のウインドウW1にユーザプログラム(ラダー図)を作成する画面が表示され、左側のウインドウにこれから登録するPLC構成に関するプロジェクト情報のプロジェクト選択画面W2が表示された状態となる。そして、ラダーエディタを用いて、右側のウインドウW1内にラダー言語によるユーザプログラムを作成する。このようにして作成されるユーザプログラム(ラダー図)の一例を示すと、図6のようなものとなる。ラダー言語によるプログラムの作成処理自体は、公知のプログラミングツールを用いて作成できるため、詳細な説明を省略する。
次に、ユニット構成情報画面を表示する(S2)。すなわち、図5に示す基本表示画面に対し、ユーザはポインティングデバイス11bを操作してプロジェクト選択画面W2中にツリー表示された「ユニット構成情報」をダブルクリック等により選択する。すると、PLC用ツール装置10は、上述した「ユニット構成情報」がクリックされたことを認識し、図7に示すユニット構成情報画面を表示する。本実施の形態では、予め、CPUラックを含めて最大8個のラックを接続するPLCシステムに対応できるようにしているため、初期画面では、「CPUラック」,「ラック01」,「ラック02」,「ラック03」……「ラック07」のみが図のようにツリー状に表示され、各ラックのユニット構成が表示されずに閉じた状態で表示される。図1との対応でいうと、「CPUラック」が21に相当し、「ラック01」が21′に相当し、「ラック02」が21″に相当する。「ラック03」以降は図1に図示されていないが、構築要素である。
尚、実際には、このユニット構成情報画面(図7)を表示するに先立ち、まずCPUラックのCPUユニットを登録処理する。つまり、PLC用ツール装置10は、ユーザに対して、PLCラック構成を新規登録するかどうかを促す画面をダイアログウインドウ画面にて表示する。そしてPLC用ツール装置は、ユーザ操作により登録する旨の入力を受信し、次に、PLCのCPUユニットの種別およびモデル名を選択する画面を表示し、選択入力を促す。この例では型式(かたしき)を入力する。PLC用ツール装置10は、ユーザ操作によりCPUユニットの種別および型式情報の入力を受信する。例えば「CS1H−CPU67」という型式のCPUユニットを選択する旨の入力を受信したとする。この型式を指定することで、自ずとユニットの種別も特定できるので、ここでは型式情報のみを受信している。もちろん、種別と型式(モデル名)とを別々に登録するように変えても良い。これにより、PLC用ツール装置は、対象のCPUユニットの種別とCPUラック構成の初期情報を登録する。このCPUユニットの登録によって、PLC用ツール装置10は、図1のPLCシステムにおけるCPUラック21のCPUユニット23に相当するCPUユニットの種別を登録したこととなる。また、この登録されたCPUユニットの型式が、図6のユニット構成情報画面のツリー表示の最上段に表示される。
次いで、このユニット構成情報画面上で、各ラックに組み込む各種ユニットを登録するステップに移る(S3)。すなわち、ユニット構成情報画面にユニット(高機能I/Oユニット,基本ユニット)を登録し、高機能I/Oユニットの場合には、ユニット番号を入力する。なお、基本I/Oユニットの場合には、ユニット番号は自動採番(00から順番、或いは、スロット番号と一致させるなど)させる。
具体的には、設定しようとするラックが、初期画面等のように閉じている場合には、使用する(設定する)ラックのツリー表示の先頭に表示された[+]ボタンをクリックして、図8に示すように適宜のラックを開く。図8では、CPUラックを開いた状態を示している。図示するように、各ラックには、最大で10台分のユニット(CPUラックについては、CPUユニットを除いて10台分のユニット)を登録することができるようになっている。最初はCPUラックのCPUユニット以外は登録されていないから、10台分の各ユニットのツリー表示はすべて「空きスロット」と表示される(ベースユニットに用意されたスロットに装着されるべきユニットが設定されていない。)。
次に実際のユニットの登録処理を行なう。新規登録の場合には、ユーザはポインティングデバイス11bを操作して、ツリー表示中の「空きスロット」の欄を選択し、ダブルクリックすると、図示省略するユニット選択画面が別ウインドウで表示される。PLC用ツール装置10は、ユニット情報記憶部15を参照してユニット選択画面を表示する。このユニット選択画面は、PLCを構成する対象ユニットを種別ごとにツリー構造で表示する。例えば「アナログI/Oユニット」、「センサユニット」、「モーションコントローラ」、「位置制御ユニット」、「温度調節ユニット」、「基本I/Oユニット」、「通信ユニット」などの各種ユニットがツリー表示される。PLC用ツール装置10は、ツリー表示画面の「+」をユーザのポインティングデバイス11bのクリック操作を受信すると、そのユニットの型式情報をユニット情報記憶部15を参照して表示する。この画面を利用して、ユーザは使用しようとしているユニットをユニット一覧から探し出し、選択し、登録する。CPUユニットの登録と同様に、ここでも型式を指定することで、自ずとユニットの種別も特定できるので、ここでは型式情報のみを受信している。もちろん、種別と型式(モデル名)とを別々に登録するように変えても良い。
ユーザ操作の詳細を述べると、ポインティングデバイス11b等の入力部11を操作し、使用するユニットを表示した状態でクリックする。これにより、制御部13は、クリックされたユニットの型式名を反転表示し、仮選択状態であることを示すとともに、図示省略するユニットに関するデータベースからそのユニットについて関連づけられている情報を読み出して、読み出した情報を「備考欄」や別ウインドウに表示する。そして、「OK」ボタンがクリックされると、その仮選択状態のユニットを、図8のユニット構成情報画面で指定した箇所に登録し、型式等の情報を追加表示する。
図9は、上記のユニット登録操作を所定数実行した後のユニット構成画面を示している。図9から明らかなように、すでにユニット登録されている場合には、設定されたユニットの型式が表示され、未登録の場合には、「空きスロット」と表示される。また、登録されたユニットの場合、ユニット情報記憶部15に格納された「型式」の情報を読み出して表示する。型式の後に()で示された具体的な名称は、上述したようにユニット情報記憶部15の「型式」の欄に登録されているものを表示する。また、具体的な図示は省略するが、ユニット情報記憶部15には、型式のみを登録しておき、型式と具体的な名称を関連づけたテーブルを別途用意し、当該テーブルから必要な情報を読み出して表示するようにしても良い。なお、図9では、機種情報定義ファイルに格納された、占有チャネル数や、入力チャネル数,出力チャネル数などの情報も合わせて表示しているが、これは、後述する処理ステップS4以降の処理を実行し、必要な情報を入手することに伴い行なう。もちろん、S4以降の処理ステップは、単にユニット構成画面に表示するだけでなく、他の目的のために実行するため、処理ステップS3の実行に伴い図9に示す状態を表示するようにしてもよい。
さらに、図9に示すように、選択されたユニットが、位置制御ユニットのように高機能I/Oユニットの場合には、ユニット番号の登録を行なう。すなわち、CPU13は、図10に示すユニットの追加画面を表示し、「ユニット番号」の欄に任意の数値の入力を促す。図から明らかなように、本実施の形態では、最大96個の高機能ユニットを追加することができるため、それに合わせてユニット番号の設定範囲も0から95としている。また、ユニット番号の入力は、直接数値を入力しても良いし、入力欄の右端に用意された三角マークの上下移動ボタンをクリックすることで現在表示されているユニット番号を昇降させてもよい。なお、占有チャネル数が複数(n個)の場合には、そのユニットに指定したユニット番号と、それに続く(n−1個)分のユニット番号も、そのユニットに割り当て、他のユニットが指定できないようにする。
つまり、高機能ユニット用のメモリ領域を2000番から割り付けると共に、ユニット番号の若いものから順に10チャネルずつ割り当てるようにした。従って、続き番号のユニット番号が割り当てられるメモリ領域は連続する。よって、占有チャネル数が複数の場合に、上述したように連続したユニット番号を他のユニットに使用させず、自己が使用することで、占有チャネル数が複数のユニットが、連続したメモリ領域を確保することが出来る。なお、係る高機能ユニットのユニット番号は、図10に示す「ユニットの追加」画面で指定した番号であり、それに続く(n−1)個分のユニット番号は、外見上は未使用状態となる。
なお、図9のユニット構成情報画面ですでに登録されているユニットを、別のユニットに交換する場合には、たとえば、図9のユニット構成情報画面上で対象となるユニットをクリック等して選択した状態で削除し、一旦「空きスロット」の状態にした後でCPU13が上述した新規の登録を行なうようにしても良いし、変更処理により別のユニットに変更することもできる。但し、本実施の形態では、CPUユニットのIOメモリの使用エリア(チャネル)を自動的に設定(型式の前に記載された[]で表記された数値)していることから、その情報を引き継ぐことができるユニット、つまり、同種のユニットへの変更のみを許容している。変更可能なユニットか否かは、ユニット情報記憶部15に格納された「機種情報定義ファイル」等を参照することでわかるため、該当するもののみを抽出し、表示することになる。
次に対象ユニットの機種情報定義ファイルをテーブルから検索し(S4)、機種情報定義ファイルから占有チャネル(CH)数、入力CH数、出力CH数を取得する(S5)。高機能ユニットの場合には、対応するユニットについての機種情報定義ファイルを読み出すことで必要な情報を取得できる。また、基本I/Oユニットの場合には、占有CH数と入出力タイプから求めることが出来る。
ユニットのユニット番号から割り付けアドレスを算出し、占有CH数、入力CH数、出力CH数から、高機能ユニットに割付けられる入出力アドレスを計算する(S6)。係る入出力アドレスの計算は、以下に示すように行なう。
すなわち、上述したようにPLCのCPUユニットのIOメモリには高機能ユニット用の領域があらかじめ確保されており、高機能ユニットが装着されると、その高機能ユニットのユニット番号で、高機能ユニット用の領域の特定アドレスが割り当てられる。つまり、本実施の形態では、高機能ユニットには、CPUユニットのIOメモリの2000番からのメモリ領域を用意し、1ユニット(占有CHが1)当たり10CH分のメモリエリアを確保している。従って、仮にユニット番号が00番の高機能ユニットの場合、CPUユニットのIOメモリのその高機能ユニット用に使用するメモリ領域の先頭アドレスは、2000番となり、2000から2009番までが確保される。同様に、ユニット番号が01番の高機能ユニットの場合、CPUユニットのIOメモリのその高機能ユニットの先頭アドレスは、2010番となり、2010から2019番までが確保される。つまり、ユニット番号をNとすると、そのユニット番号Nの高機能ユニットに割り当てられるメモリエリアの先頭アドレスは、
2000+10×N
といった簡単な式で求めることが出来る。さらに、占有CH数に基づき、そのユニットに割り当てられるメモリエリアの最終アドレスを求めることが出来る。
また、CPUユニットのIOメモリ領域のユニットごとに確保される領域を、入力エリアとして使用するか出力エリアとして使用するかは機種により異なる。よって、これらの入力エリアと出力エリアのCH数を機種情報定義ファイルから取得することで、PLCの高機能ユニット用のユニット番号の領域の入力エリアと出力エリアのアドレスが特定される。すなわち、予め入力エリアと出力エリアの設定ルールを決めておく。例えば、高機能ユニットは、割り当てられたメモリ領域の先頭のアドレスから連続して使用するとともに、入力エリアと出力エリアの使用順を決定しておく。例えば、まず出力チャネルが存在する場合には、その出力チャネルから順にメモリアドレスを割り付け、その次に入力チャネルについての割付を行なう。
すると、例えば図9に示すように、型式「CSW−NC213」の位置制御ユニットは、ユニット番号が0で、出力チャネル数が4で、入力チャネル数が6であるため、2000から2003CHまでが出力チャネルのアドレスとして割り付けられ、2004〜2009CHまでが入力チャネルのアドレスとして割り付けられる。
その結果、仮に、図3(a)に示す型式Aの高機能ユニットのユニット番号を「0」に設定し、型式Cの高機能ユニットのユニット番号を「1」に設定し、型式Bの高機能ユニットのユニット番号を2に設定したとすると、処理ステップS4から6を実行することで、図11に示すような高機能ユニットの入出力テーブルが作成でき、各高機能ユニットについての入力チャネルと出力チャネルのアドレスが算出される。係るテーブルを例えばメモリ12に一時的に格納しても良い、別途ハードディスクその他の不揮発性記憶装置等に格納しても良い。
また、本実施の形態では、基本IOユニットについても同様の処理により入力チャネルと出力チャネルのアドレスの割付を行なうようにした。このPLC用ツール装置によるメモリ自動割付は、以下のルールに従って行なう。すなわち、各ユニットの取り付け位置は、ラック番号とスロット番号により一義的に決定される。そこで、本実施の形態では、ラック番号(CPUラックのラック番号は0)が若い順にソートし、同一のラック番号の場合にはスロット番号が若い順にソートし、先頭のユニットから順にCPUユニットのIOメモリのメモリアドレスの割付を行なう。そして、割り付けるメモリは、高機能ユニットの場合と相違して連続して割り付けるようにした。なお、入出力ユニットのように、入力と出力が存在する場合には、高機能ユニットと同様に出力チャネルを先に割り付けるようにした。
仮に、図3(b)に示す型式1,型式2,型式3の3つのユニットを、CPUラックのスロット番号が0番から順に取り付けたとすると、処理ステップS4から6を実行することで、図12に示すような基本IOユニットの入出力テーブルが作成でき、各基本IOユニットについての入力チャネルや出力チャネルのアドレスが算出される。係るテーブルを例えばメモリ12に一時的に格納しても良い、別途ハードディスクその他の不揮発性記憶装置等に格納しても良い。
次に、PLC用ツール装置10のユーザプログラム作成機能(ラダーエディタ)を用いて、ラダー図で表記するラダープログラムを作成する。この作成時に、プログラム作成者がラダー図中のシンボル・接点にメモリのアドレス値を入力する。入力されたアドレス値をもとに、図11の高機能ユニットの入出力テーブルまたは図12の基本IOユニットの入出力テーブルを参照し、そのアドレス値が入力エリア用アドレスなのか出力エリア用アドレスなのかを識別する。この結果をラダー図中のシンボル・接点に反映する。つまり、ラダーエディタは、ラダー図中のシンボル・接点に対応するアドレスが入力エリア用アドレスであれば、そのアドレスの前に「I」を、出力エリア用アドレスであれば、そのアドレスの前に「Q」をつけて表示する(S7)。これにより、例えば図2に示したラダー図は、図13に示すようになり、高機能ユニットであっても、入力(I)と出力(Q)をそれぞれ示すマークが自動的に設定される。このように、シンボル・接点にメモリのアドレス値を入力する都度、「I」,「Q」の識別をし、その結果をラダー図中のシンボル・接点に反映して表示する。
また、ラダープログラムを予め作成しておき、シンボル・接点にメモリのアドレス値を入力したラダープログラムを予め作成しておき、各シンボル・接点のアドレス値について、図11の高機能ユニットの入出力テーブルまたは図12の基本IOユニットの入出力テーブルをまとめて参照し、入力エリア用アドレス「I」か出力エリア用アドレス「Q」かを識別し、一括してラダー図中のシンボル・接点に「I」,「Q」を表示してもよい。
PLCシステムの一例を示す図である。 PLC用ツール装置の構成の一例を示す図である。 ユニット情報記憶部のデータ構造の一例を示す図である。 CPUの機能を示すフローチャートである。 基本画面を示す図である。 作成したラダー図の一例を示す図である。 ユニット構成画面の一例を示す図である。 ユニット構成画面の一例を示す図である。 ユニット選択画面の一例を示す図である。 ユニットの追加画面の一例を示す図である。 作用効果を説明する図である。 作用効果を説明する図である。 作用効果を説明する図である。
符号の説明
10 PLC用ツール装置
11 入力部
11a キーボード
11b ポインティングデバイス
12 ディスプレイ
13 CPU
14 メモリ
15 ユニット情報記憶部
16 COMポート

Claims (2)

  1. プログラマブルコントローラのCPUユニットに接続される各種の高機能ユニットについて、CPUユニットのメモリ割付けを自動的に行うPLC用ツール装置であって、
    プログラマブルコントローラ用の各種の高機能ユニットについて、それぞれのユニットのデータのメモリ割付けに必要な入力チャネル数と出力チャネル数とを含む機種情報を、高機能ユニットの種類毎に定義した機種情報定義ファイルを取得する取得手段と、
    その取得手段により取得した機種情報に基づき、高機能ユニットが使用するCPUユニットのメモリのメモリアドレスの割り付けを、高機能ユニットにおける入力データと出力データとを区別しながら行なう手段と、
    を備え、
    前記高機能ユニットが使用するCPUユニットのメモリのメモリアドレスの割り付けを行なう手段は、
    入力チャネルと出力チャネルの割り付ける順番を予め決めており、
    処理対象の高機能ユニットに設定されたユニット番号に基づき、その高機能ユニットが使用する先頭のメモリアドレスを求める機能と、
    その先頭のメモリアドレスから前記割り付ける順番に従って入力チャネル数分と出力チャネル数分のメモリアドレスを連続して設定する機能と、
    を備えた特徴とするPLC用ツール装置。
  2. 前記PLC用ツール装置は、
    ユーザプログラムを作成する手段と、
    作成したユーザプログラムと、その中のシンボル・接点と、対応するアドレスとを表示する手段と、を備え、
    ユーザプログラムの中のシンボル・接点について、そのシンボル・接点のメモリアドレスを入力すると、前記割り付けられたメモリアドレスに基づいてそのシンボル・接点の入力、出力の区別を表示する、
    ことを特徴とする請求項1に記載のPLC用ツール装置。
JP2005055051A 2005-02-28 2005-02-28 Plc用ツール装置 Expired - Fee Related JP4462426B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005055051A JP4462426B2 (ja) 2005-02-28 2005-02-28 Plc用ツール装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005055051A JP4462426B2 (ja) 2005-02-28 2005-02-28 Plc用ツール装置

Publications (2)

Publication Number Publication Date
JP2006243841A JP2006243841A (ja) 2006-09-14
JP4462426B2 true JP4462426B2 (ja) 2010-05-12

Family

ID=37050225

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005055051A Expired - Fee Related JP4462426B2 (ja) 2005-02-28 2005-02-28 Plc用ツール装置

Country Status (1)

Country Link
JP (1) JP4462426B2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5786387B2 (ja) * 2011-03-15 2015-09-30 オムロン株式会社 Plcの開発支援装置、およびplc開発支援用プログラム
WO2013094067A1 (ja) * 2011-12-22 2013-06-27 三菱電機株式会社 システム構築支援装置
JP6483999B2 (ja) * 2014-10-20 2019-03-13 株式会社キーエンス 設定支援装置、設定支援方法、プログラムおよびプログラマブル・ロジック・コントローラシステム
JP6591116B1 (ja) * 2018-03-07 2019-10-16 三菱電機株式会社 プログラマブルロジックコントローラのcpuユニット、プログラマブルロジックコントローラ、方法、及びコンピュータ
CN114721325B (zh) * 2022-05-11 2024-01-19 傲拓科技股份有限公司 一种多平台多版本plc工程兼容的方法

Also Published As

Publication number Publication date
JP2006243841A (ja) 2006-09-14

Similar Documents

Publication Publication Date Title
JP5810563B2 (ja) 制御プログラム開発支援装置、制御プログラム開発支援用プログラム及び記録媒体
US5349518A (en) Method and apparatus for symbolic ladder logic programming with automatic attachment of addresses
JP3925557B2 (ja) パラメータ設定装置
WO2014064819A1 (ja) システム構築支援ツール及びシステム
US6725288B2 (en) System for transmitting data between a device data area and a variable data area of a memory according to a memory map based on an identifying data of a device detected
JP5619328B1 (ja) シーケンスプログラム作成支援装置
JP4462426B2 (ja) Plc用ツール装置
US20160125037A1 (en) Information processing apparatus, information processing method, information processing program, and storage medium
US20210182101A1 (en) Program generating device, program generating method, and information storage medium
US5243511A (en) Method and apparatus for block move re-addressing in ladder logic programs
JP5123502B2 (ja) ポストプロセッサ開発支援システム及びそれを用いたcamシステム
JP2007095107A (ja) パラメータ設定装置
JP3847585B2 (ja) エディタの登録装置、登録プログラムおよびそれを記録した記録媒体
JP2002268730A (ja) フィールドデバイスのメンテナンス装置
JP3251423B2 (ja) プログラマブルコントローラのプログラミング機器およびプログラマブルコントローラ用機能ユニット
JP4463716B2 (ja) プログラマブル表示器、表示制御プログラムおよびそれを記録した記録媒体
TWI522759B (zh) 系統構築支援裝置、方法,及記錄媒體
JP2011175351A (ja) 画面データ作成装置、画面データ作成方法、及び画面データ作成プログラム
JP4516224B2 (ja) ラダー図作成プログラム
JP2002278666A (ja) 設備制御用操作盤
WO2021044654A1 (ja) 情報処理システム、プログラマブル表示器および情報処理装置
JP5870214B2 (ja) プログラマブルコントローラシステム、そのプログラマブル表示器、支援装置、プログラム
CN110515617B (zh) 原型存储方法
JP3939518B2 (ja) 入出力アドレス設定装置、入出力アドレス設定プログラムおよびそれを記録した記録媒体
JP4372739B2 (ja) プログラマブル表示器、制御プログラムおよびそのプログラムを記録した記録媒体、ならびに画面作成装置、画面作成プログラムおよびそのプログラムを記録した記録媒体

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20071106

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20091016

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091029

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091221

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

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

Free format text: PAYMENT UNTIL: 20130226

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4462426

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100209

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

Free format text: PAYMENT UNTIL: 20140226

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees