JP2008146385A - プログラム作成装置、プログラム作成方法およびその方法をコンピュータに実行させるプログラム - Google Patents

プログラム作成装置、プログラム作成方法およびその方法をコンピュータに実行させるプログラム Download PDF

Info

Publication number
JP2008146385A
JP2008146385A JP2006333424A JP2006333424A JP2008146385A JP 2008146385 A JP2008146385 A JP 2008146385A JP 2006333424 A JP2006333424 A JP 2006333424A JP 2006333424 A JP2006333424 A JP 2006333424A JP 2008146385 A JP2008146385 A JP 2008146385A
Authority
JP
Japan
Prior art keywords
unit
virtual unit
setting
information
virtual
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.)
Granted
Application number
JP2006333424A
Other languages
English (en)
Other versions
JP4620035B2 (ja
Inventor
Shinji Mizuhira
真次 水平
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 JP2006333424A priority Critical patent/JP4620035B2/ja
Publication of JP2008146385A publication Critical patent/JP2008146385A/ja
Application granted granted Critical
Publication of JP4620035B2 publication Critical patent/JP4620035B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Programmable Controllers (AREA)

Abstract

【課題】実際に装着する機能ユニットに縛られることなく、実現しようとする機能単位でシーケンスプログラムの作成や各機能ユニットの設定を行うことができるプログラム作成装置を得ること。
【解決手段】1つの機能を連携して実現する複数の機能ユニットを1つの仮想ユニットとして、仮想ユニットを構成する機能ユニットの種別と装着位置とを含む仮想ユニット基本情報を作成する仮想ユニット基本情報作成部15と、機能ユニットの各バッファアドレスの設定内容と仮想ユニットの各バッファアドレスの設定内容とを機能ユニットの装着位置を用いて対応付けした仮想ユニット設定情報を作成する仮想ユニット設定情報作成部17と、仮想ユニット設定情報を編集するための仮想ユニット設定画面を作成する仮想ユニット設定画面作成部18と、仮想ユニット設定情報を格納する仮想ユニット情報格納部16と、を備える。
【選択図】 図1

Description

この発明は、複数の機能ユニットがベースユニットに装着されたプログラマブルコントローラシステムで、複数の機能ユニットを1つの機能ユニットとしてプログラムすることができるプログラム作成装置、プログラム作成方法およびその方法をコンピュータに実行させるプログラムに関するものである。
プログラマブルコントローラは、シーケンスプログラムにしたがって、制御対象を制御することによって所定の処理を実行させて、製品の加工や製造を行っている。このプログラマブルコントローラには種々の種類のものがあるが、その中に、構築するシステムの構成に応じたプログラマブルコントローラの構築を行うことができるベース装着タイプのものが知られている。このベース装着タイプのプログラマブルコントローラは、ベースユニット上に、電源ユニット、CPU(Central Processing Unit)ユニット、入力ユニット、出力ユニット、機能ユニット、ネットワークユニットなどのユニットが、構築するシステムに応じて装着される構成を有する。
図5は、ベース装着タイプのプログラマブルコントローラの構成の一例を示す図である。この図5のベース装着タイプのプログラマブルコントローラでは、バスが設けられたベースユニット50に、電源ユニット51、CPUユニット52、3つの機能ユニット53A〜53C、2つの入力ユニット54A,54B、2つの出力ユニット55A,55Bが装着されている場合が示されている。
このようなプログラマブルコントローラにおけるシーケンスプログラムの作成においては、機能ユニット53A〜53Cや入力ユニット54A,54B、出力ユニット55A,55Bなどのメモリを表示する際に、CPUユニット52に近い順に前詰めに番号付けを行って、一元的に表示していた。そのため、シーケンスプログラムの内部メモリ表示を見た際に、それがどの機能ユニットの内部メモリを示しているのかを判別することが困難であり、また、シーケンスプログラムを作成する際にも入力ミスが発生しやすいという問題点があった。そこで、このような問題点を解決するためのプログラマブルコントローラのプログラミング機器が提案されている(たとえば、特許文献1参照)。
図12は、従来のシーケンスプログラムにおけるユニットのメモリ表示の形式の一例を示す図である。この図に示されるように、特許文献1では、ユニットのメモリ表示形式を示す「U」に、ベースユニットに装着されたスロット番号であるユニット番号、区切り記号(¥)、メモリの種別を表すメモリ記号、メモリの種別を表すメモリの先頭からビット数を示すメモリ番号を続けて記述するようにしている。
図9は、図12のメモリ表示を用いたシーケンスプログラムの一例を示す図である。この図の1行目のシーケンスプログラムの応用命令における「U0¥G0」は、図5に示した機能ユニット53Aの内部メモリのバッファメモリ(G)の先頭から0ビット目を示している。この表記方法は、その他のコイル記号や応用命令内に対しても同様に適用することができる。このようなメモリの表示を行うことによって、ベースユニットに複数の機能ユニットや入出力ユニットなどが装着されている場合でも、プログラミングにおける入力ミスを低減させ、またシーケンスプログラムの可読性を向上させることが可能となる。
特開平7−311606号公報
ところで、システムを使用するユーザとしては、たとえば8チャネル分のアナログ入力が必要なシステムを構築する場合に、A/D変換の機能を有する機能ユニットが4チャネル分のアナログ入力しか備えていない場合には、その機能ユニットをベースユニット上に2つ装着してシステムを構築することとなる。この場合、1〜4チャネルの設定を第1の機能ユニットで行い、5〜8チャネルの設定を第2の機能ユニットで行うというように、ベースユニットに装着する機能ユニットごとに設定する必要がある。たとえば、2チャネルの設定は、第1の機能ユニットに対して設定を行い、6チャネルの設定は、第2の機能ユニットに対して設定を行わなければならなかった。
つまり、様々な機能ユニットを組み合わせ、機能ユニットが連携して動作するような場合には、上述した図9に示されるように、機能ユニット間を連係動作させるためのシーケンスプログラムのプログラミングを行う必要がある。シーケンスプログラムにおける機能ユニットの連携に関する部分は、図12のユニット番号で示される部分となる。この部分は、シーケンスプログラムの作成者によってユニットを指定するユニット番号をシーケンスプログラムに記述する作業が必要となっていた。
このように、複数の機能ユニットが連携して動作するようなシステムのシーケンスプログラムを従来の技術によって作成する場合には、システムを構築する設計者やユーザにとって、複数の機能ユニットに対しての設定や、連係動作させるためのプログラミング作業が必要であった。その結果、連係動作させる部分においてプログラミングミスなどが発生しやすいという問題点があった。
また、従来のシーケンスプログラムのプログラム作成装置では、1つの機能を複数の機能ユニットで実現する場合でも、装着する機能ユニット単位で設定を行わなければならないという問題点もあった。さらに、従来のシーケンスプログラムの作成においては、装着する機能ユニットのチャネル数などの制約に縛られてしまうと問題点もあった。
この発明は、上記に鑑みてなされたもので、システムを構築する設計者やユーザにとって、実際に装着する機能ユニットに縛られることなく、実現しようとする機能単位でシーケンスプログラムの作成や、各機能ユニットの設定を行うことができるプログラム作成装置、プログラム作成方法およびその方法をコンピュータに実行させるプログラムを得ることを目的とする。
上記目的を達成するため、この発明にかかるプログラム作成装置は、プログラマブルコントローラのシーケンスプログラムを作成するプログラム作成装置であって、前記プログラマブルコントローラが実現する機能のうちの1つの機能を連携して実現する複数の機能ユニットを1つの仮想ユニットとして、前記仮想ユニットを構成する前記機能ユニットの種別と装着位置とを含む仮想ユニット基本情報を作成する仮想ユニット基本情報作成手段と、機能ユニットのバッファアドレスに対する設定内容を含むユニット機能詳細情報を、前記仮想ユニット基本情報中の前記機能ユニットごとに用意し、前記機能ユニットの各バッファアドレスの設定内容と前記仮想ユニットの各バッファアドレスの設定内容とを前記機能ユニットの装着位置を用いて対応付けした仮想ユニット設定情報を作成する仮想ユニット設定情報作成手段と、前記仮想ユニット設定情報を表示手段に表示させるための仮想ユニット設定画面を作成し、前記表示手段に表示させる仮想ユニット設定画面作成手段と、前記仮想ユニット設定画面を通じて編集された前記仮想ユニット設定情報を格納する仮想ユニット情報格納手段と、を備えることを特徴とする。
この発明によれば、システムを構築する設計者やユーザにとって、複数の機能ユニットを組み合わせ、機能ユニットを連携させて、1つの機能を実行させるようなシステムのシーケンスプログラムを作成する場合に、機能ユニットごとに設定やシーケンスプログラムの作成を行うことなく、実行させようとする機能単位で、各機能ユニットの設定やシーケンスプログラムの作成を個々の機能ユニットを意識することなく行うことができるという効果を有する。
以下に添付図面を参照して、この発明にかかるプログラム作成装置、プログラム作成方法およびその方法をコンピュータに実行させるプログラムの好適な実施の形態を詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
図1は、この発明にかかるプログラム作成装置の機能構成の一例を模式的に示すブロック図である。このプログラム作成装置10は、表示部11と、入力部12と、通信部13と、ユニット情報格納部14と、仮想ユニット基本情報作成部15と、仮想ユニット情報格納部16と、仮想ユニット設定情報作成部17と、仮想ユニット設定画面作成部18、シーケンスプログラム格納部19と、シーケンスプログラム作成部20と、機能ブロック作成部21と、機能ブロック格納部22と、これらの各処理部を制御する制御部23と、を備える。
表示部11は、プログラム作成装置10のユーザに対して、シーケンスプログラムの作成画面や機能ブロック表示画面などを表示するものであり、LCD(Liquid Crystal Display)などの表示装置によって構成される。入力部12は、ユーザとの間の入力インタフェースであり、キーボードやマウスなどの入力装置によって構成される。通信部13は、作成したシーケンスプログラムを実際に作動させるプログラマブルコントローラと接続して、プログラマブルコントローラのユニット構成を取得したり、作成したシーケンスプログラムをプログラマブルコントローラに渡したりする。
ユニット情報格納部14は、プログラマブルコントローラの作成に使用され得る機能ユニットの種類ごとの仕様などのユニット情報を格納する。このユニット情報は、仮想ユニットを作成するに当って機能ユニットに関する必要な仕様を含むユニット基本情報と、ユニット基本情報に含まれる機能ユニットについて、シーケンスプログラムの作成に必要な詳細な設定を行うためのユニット機能詳細情報と、からなる。ここで、機能ユニットとは、CPUユニットの制御の下で所定の処理を実行するユニットのことであり、具体的には、AD変換ユニット、DA変換ユニット、位置決めユニットおよびカウンタユニットなどのことをいう。
図2は、ユニット基本情報の一例を示す図である。この例では、ユニット基本情報は、ユニットの種別を示すユニット名称と、そのユニットの入出力点数(以下、I/O点数という)と、チャネル数(以下、CH数という)と、を含む。たとえば、ユニット名称「Q64AD」は、A/D変換を行う機能ユニットであり、I/O点数が16点であり、CH数は4となっている。また、ユニット名称「Q64DA」は、D/A変換を行う機能ユニットであり、I/O点数が16点であり、CH数は4となっている。さらに、ユニット名称「QD75P2」は、位置決めを行う機能ユニットであり、I/O点数は32点であり、CH数は2となっている。また、ユニット名称「QD62D」は、カウンタとして働く機能ユニットであり、I/O点数は32点であり、CH数は2となっている。
図3は、ユニット機能詳細情報の一例を示す図である。この例では、図2のユニット名称「Q64AD」についてのユニット機能詳細情報が示されている。このユニット機能詳細情報では、バッファアドレスと、バッファアドレスに付された設定内容を示す設定項目名称と、バッファアドレスに対して設定される設定内容と、設定内容に対応して設定される設定値の範囲を示す設定数値範囲と、後述する仮想ユニット設定情報の作成時に設定するデフォルト値と、を含む。たとえば、バッファアドレス「0」は、CH1を許可するか否かの設定が割り当てられ、その設定値の内容として「許可」と「禁止」がある。そして、「許可」の場合には「0」を設定し、「禁止」の場合には「1」を設定することが示されている。また、仮想ユニット設定情報を作成する際のデフォルト値は、「0」の「許可」となっている。また、このユニット機能詳細情報は、ユニット名称が含まれており、ユニット基本情報と関連付けされている。
仮想ユニット基本情報作成部15は、ユーザによって選択される機能ユニットの種別と、その装着位置と、ユーザによって入力される仮想ユニット名称とから、仮想ユニット情報を作成し、その結果を仮想ユニット情報格納部16に仮想ユニット基本情報として格納する。
図4は、仮想ユニット情報の一例を示す図である。仮想ユニット情報は、ベースユニット上に装着されたスロットの位置を示す装着先頭I/Oと、その装着先頭I/Oに装着された装着ユニットの種別を示す装着ユニット名称と、これらの装着ユニットに対して付された仮想ユニット名称と、を含む。
図5は、プログラマブルコントローラにおけるベースユニット上への各ユニットの装着の一例を示す図である。ベースユニット50上には、電源ユニット51、CPUユニット52、機能ユニット53A〜53C、入力ユニット54A,54B、出力ユニット55A,55Bが装着されており、通常、CPUユニット52に隣接する装着スロットの先頭I/Oから順に00,10,20,30,・・・とアドレスが割り振られている。ここで、アドレスは、16進数で示されている。たとえば、図5に示される機能ユニット53A〜53CのI/O点数がいずれも16点である場合には、それぞれの装着先頭I/Oは、順に00,10,20となる。また、図5に示される機能ユニット53A,53CのI/O点数が16点であり、機能ユニット53BのI/O点数が32点である場合には、機能ユニット53A〜53Cが装着される装着先頭I/Oは、00,10,30となる。
図4に戻り、仮想ユニット情報の説明を行うと、ここでは、装着先頭I/O「00」の位置に装着された「Q64AD」という装着ユニットと、装着先頭I/O「10」に装着された「Q64AD」という装着ユニットとに対して、「仮想AD」という仮想ユニット名称が付されている場合が示されている。
この仮想ユニット情報中の装着先頭I/Oと装着ユニットは、ユーザによって入力部12から入力されるものであってもよい。たとえば、仮想ユニット基本情報作成部15は、ユニット基本情報を表示部11に表示させ、その中からユーザによって選択された機能ユニットと、この選択された各機能ユニットの装着位置と、選択された機能ユニットから作成する仮想ユニット名称と、を仮想ユニット基本情報として作成するものであってもよい。また、図5に示されるようにプログラム作成装置10とプログラマブルコントローラとが通信回線を介して接続されている場合には、公知の技術によって、ベースユニット上に装着されているユニットとその装着位置を自動的に取得して、その結果を表示部11に表示させ、そこから仮想ユニットを構成する機能ユニットを選択するようにしてもよい。
仮想ユニット設定情報作成部17は、ユニット機能詳細情報と仮想ユニット基本情報とを用いて、複数の機能ユニットで1つの機能を実現するユニットを、1つの仮想ユニットとして扱うことが可能な仮想ユニット設定情報を作成する。具体的には、仮想ユニットを構成する複数のユニット機能詳細情報をまとめ、仮想ユニットとしてチャネル番号を一連のチャネル番号に振り直したものである。
図6は、仮想ユニット設定情報の一例を示す図である。仮想ユニット設定情報は、設定項目名称と、装着先頭I/Oと、バッファアドレスと、バッファアドレスに対して設定された値である設定値と、仮想ユニットとしての設定項目名称と、を含む。ここで、設定項目名称とバッファアドレスと設定値は、図3のユニット機能詳細情報から得られ、設定値は図3のデフォルト値となる。また、装着先頭I/Oは、図4の仮想ユニット基本情報から得られる。さらに、仮想ユニット設定項目名称は、この仮想ユニット設定情報に設定された設定項目名称とその装着先頭I/Oとから、仮想ユニット全体でチャネル番号を1つの通し番号となるように変更された設定項目名称である。この例では、装着先頭I/Oが00と10の2つの機能ユニットから仮想ユニットが構成されるので、装着先頭I/Oが小さい機能ユニットから順にチャネル番号を付与する。ここでは、装着先頭I/Oが「00」の機能ユニットのCH1〜CH4には、それぞれ仮想ユニットのCH1〜CH4が設定され、装着先頭I/Oが「10」の機能ユニットのCH1〜CH4には、同じくCH5〜CH8が設定されている。これによって、複数の機能ユニットのチャネル番号が、仮想的に1つの機能ユニットにおける一連のチャネル番号として扱うことが可能となる。
仮想ユニット情報格納部16は、ユーザによって作成された仮想ユニットに関する仮想ユニット情報を格納する。仮想ユニット情報は、仮想ユニット基本情報作成部15によって作成される仮想ユニット基本情報と、仮想ユニット設定情報作成部17によって作成される仮想ユニット設定情報と、を含む。仮想ユニット基本情報は、図4に示されるものであり、仮想ユニット設定情報は、図6に示されるものである。
仮想ユニット設定画面作成部18は、仮想ユニット情報格納部16に格納されたデフォルト値が設定された仮想ユニット設定情報から仮想ユニット設定画面を作成し、表示部11に表示する。この仮想ユニット設定画面は、仮想ユニット設定情報の内容をユーザが編集可能な画面である。また、仮想ユニット設定画面作成部18は、ユーザによって仮想ユニット設定画面を介して編集された内容を仮想ユニット設定情報として仮想ユニット情報格納部16に上書きして保存する。保存する際に、仮想ユニット設定画面作成部18は、編集された内容(設定値)がユニット機能詳細情報中の設定数値範囲内に収まっているかなどのチェック処理を行う。設定値が設定数値範囲内に納まっていない場合には、その旨を表示部11に表示し、ユーザへ修正を促す。
図7は、仮想ユニット設定画面の一例を示す図である。この仮想ユニット設定画面は、仮想ユニットのチャネルごとに設定項目を表示させるようにしている。この図では、列方向の項目にはチャネルが設定され、行方向の項目には設定項目名称が設定される。この行方向の各項目は、各チャネルのバッファアドレスに対応している。
この例では、1行目の項目「変換許可」については、CH1の場合は先頭I/O「00」に装着された機能ユニットAのバッファアドレス0の内容が設定され、CH2の場合は、同じ機能ユニットAのバッファアドレス25の内容が設定され、・・・、CH5の場合は先頭I/O「10」に装着された機能ユニットBのバッファアドレス0の内容が設定され、CH6の場合は、同じ機能ユニットBのバッファアドレス25の内容が設定され、・・・CH8の場合は、同じ機能ユニットBのバッファアドレス75の内容が設定される。
また、この図7の例では、ユーザに対して設定内容を理解しやすくするために、設定値の数値を、設定内容を表すようにしている。これは、図3のユニット機能詳細情報における設定値と設定範囲とが対応付けられていることを利用したものである。たとえば、図3に示されるように、設定値と設定範囲とは対応付けられており、設定項目名称「CH1変換許可」に対しては、「許可」が「0」に、「禁止」が「1」に対応付けられている。同様に、設定項目名称「CH1許可平均処理」については、「サンプリング」が「0」に、「時間」が「1」に、「回数」が「2」に対応付けられている。一方、「CH1平均時間/回数」に対しては、数値が入力されるようになっている。この場合、設定項目名称「CH1許可平均処理」で設定されたものとなるので、「CH1許可平均処理」で「時間」が設定されている場合には、図6の仮想ユニット設定情報中の設定値に時間の単位(ms)が付加されたものが表示される。また、「CH1許可平均処理」で「回数」が設定されている場合には、図6の仮想ユニット設定情報中の設定値に回数の単位(回)が付加されたものが表示される。
シーケンスプログラム格納部19は、ユニット基本情報格納部に格納されているユニット種類ごとに、基本シーケンスプログラムが格納されている。図8は、基本シーケンスプログラムの一例を示す図である。この図8では、機能ユニットがQ64ADである場合の基本シーケンスプログラムを示している。この基本シーケンスプログラムは、図3のユニット機能詳細情報に示される各バッファアドレスに設定する設定値とシーケンスプログラムとの間の関係を、一般的な形で示したものである。
この図8において、「MOV K[バッファアドレス=mの設定値] U[装着先頭I/O]¥Gn」(m、nは0以上の整数)という表記は、[バッファアドレス=mの設定値]という定数(値)を、[装着先頭I/O]である機能ユニットのバッファメモリGnに設定することを示している。ここで、[バッファアドレス=mの設定値]は、図6の仮想ユニット設定情報における設定項目名称に対応して設定された設定値である。また、「MOV U[装着先頭I/O]¥Gn Ds」(n、sは0以上の整数)という表記は、[装着先頭I/O]である機能ユニットのバッファメモリGnに格納されている値をCPUユニットの内部メモリDsに設定することを示している。
シーケンスプログラム作成部20は、仮想ユニット設定情報に設定された設定値を定数として、対応する機能ユニットの種類の基本シーケンスプログラムに埋め込み、仮想ユニットに対応するシーケンスプログラムを作成する。このとき、ベースユニット上の装着先頭I/Oの小さい機能ユニットから順にシーケンスプログラムを作成していく。
図5に示される例の場合、機能ユニット53Aの装着先頭I/Oは「00」なので、「U[装着先頭I/O]¥G0」は、「U0¥G0」となる。なお、ここでは、[装着先頭I/O]の上一桁を使用して、機能ユニットを識別している。また、定数K[バッファアドレス=mの設定値]は、図3または図6に示されるように各バッファアドレスに対して設定項目名称が予め対応付けられているので、そのバッファアドレスに設定された設定値を示している。
このような規則にしたがって、シーケンスプログラム作成部20は、各基本シーケンスプログラムに値を代入していく。図9は、シーケンスプログラム作成部によって作成されたシーケンスプログラムの一例を示す図である。シーケンスプログラム作成部20は、仮想ユニット設定情報を用いて、この図9に示されるように、仮想ユニットは2つの機能ユニットによって構成されるので、図8に示されるシーケンスプログラムが2つ続けて記述された形式となる。なお、このとき作成されるシーケンスプログラムは、従来ユーザが作成していた実際のシーケンスプログラムであり、仮想ユニットで使用されるチャネル番号などは用いられない。
機能ブロック作成部21は、シーケンスプログラム作成部20によって作成されたシーケンスプログラムを出力ごとに、より具体的にはチャネルごとにブロック化して表示した機能ブロック形式のラダー図を作成し、作成した機能ブロックを機能ブロック格納部22に保存する。
図10は、機能ブロック形式のラダー図の一例を示す図である。このラダー図では、接点記号M0の後に、大きなブロックが示されている。このブロックは、仮想ユニット全体を示している。ブロック中には、CH1〜CH8の出力である「CH1_OUT」〜「CH8_OUT」が記されており、それぞれの出力の先には、出力を記録するためのCPUユニット内部のメモリアドレスD0〜D7が示されている。
たとえば、CH1_OUTでは、図9におけるシーケンスプログラムの回路A1の部分(仮想ユニットのCH1の処理に相当する部分)が実行されることになる。そして、その結果が、CPUユニット内部のメモリD0に格納される。そのため、機能ブロックにおけるCH1_OUTと図9のシーケンスプログラムの回路A1の部分とは関連付けされている。
同様に、CH2_OUTでは、図8におけるシーケンスプログラムの回路A2の部分(仮想ユニットのCH2の処理に相当する部分)が実行されることになり、その結果が、CPUユニット内部のメモリD1に格納される。そのため、機能ブロックにおけるCH2_OUTと図9のシーケンスプログラムの回路A2の部分とは関連付けされている。他のチャネルについても同様である。
このように、機能ブロック図では、シーケンスプログラムでは、図9のように示される処理を、簡便なブロックで示すことができるという利点がある。また、実際には、複数の機能ユニットが連携して実行する機能を、1つの仮想ユニットで表示することができるという利点もある。
つぎに、このような構成を有するプログラム作成装置10でのプログラム作成方法について説明する。図11は、プログラム作成方法の処理手順の概要を示すフローチャートである。まず、ユーザによって仮想ユニット基本情報の作成処理が行われる(ステップS11)。この仮想ユニット基本情報の作成処理の一例について説明すると、仮想ユニット基本情報作成部15は、たとえば図2に示されるようなユニット情報格納部14中のユニット基本情報を表示部11に表示させる。ユーザは、プログラマブルコントローラで所定の機能を実現させようとするために必要な複数の機能ユニットを、表示部11に表示されたユニット基本情報から選択する。また、ユーザは、選択したそれぞれの機能ユニットについてベースユニット上の装着スロットの位置(装着先頭I/O)と、仮想ユニット名を入力する。仮想ユニット基本情報作成部15は、これらの入力項目を用いて、作成しようとする仮想ユニット名称、装着先頭I/Oおよび装着ユニットの種類を仮想ユニット基本情報として、仮想ユニット情報格納部16に格納する。この仮想ユニット基本情報の一例が、図4に示されている。
ついで、仮想ユニット設定情報作成部17は、仮想ユニット基本情報に含まれる機能ユニットのユニット機能詳細情報をユニット情報格納部14から取得する(ステップS12)。このとき、機能ユニットの数だけユニット機能詳細情報を取得する。その後、取得したユニット機能詳細情報を、仮想ユニット情報の装着ユニット名称に埋め込み、不要な項目の削除などの所定の処理を行うことによって、設定値としてデフォルト値が設定された仮想ユニット設定情報を作成する(ステップS13)。
具体的には、図4の仮想ユニット基本情報の装着ユニット名称の各項目に、図3のユニット機能詳細情報を埋め込む。その後、仮想ユニット名称、設定内容および設定数値範囲の各列を削除する。さらに、設定項目名称と装着先頭I/Oを参照して、設定項目名称中のチャネル番号を通し番号にした仮想ユニット設定項目名称を付加することで、図5に示される仮想ユニット設定情報が得られる。作成された仮想ユニット設定情報は、仮想ユニット情報格納部16に格納される。
ついで、仮想ユニット設定画面作成部18は、デフォルト値が設定された仮想ユニット設定情報を用いて、仮想ユニット設定画面を作成する(ステップS14)。たとえば、図5に示される仮想ユニット設定情報から、図7に示される仮想ユニット設定画面が作成される。図7の例では、各チャネルに共通の設定項目名称(仮想ユニット設定項目名称)を列方向に配置し、それぞれのチャネルの設定項目名称に対応する設定値が表形式で表示されている。なお、仮想ユニット設定情報には、設定値のみしか入力されていないので、それをそのまま表示させても、ユーザがその内容を理解することが難しい。そこで、図7では、仮想ユニット設定画面作成部18は、設定内容とその数値との対応付けがなされているユニット機能詳細情報を用いて、設定値の設定内容を表示させることによって、仮想ユニット設定画面の可読性を上げるようにしている。
ついで、仮想ユニット設定画面作成部18は、作成した仮想ユニット設定画面を表示部11に表示する(ステップS15)。ユーザは、表示部11に表示された仮想ユニット設定画面で、各チャネルについての設定の編集を行う。仮想ユニット設定画面作成部18は、ユーザによる仮想ユニット設定画面上の編集処理が終了すると、その結果を、仮想ユニット情報格納部16に保存する(ステップS16)。
仮想ユニット設定画面作成部18は、編集された仮想ユニット設定情報の仮想ユニット情報格納部16への保存前に、各設定の設定範囲のチェックを行うようにしてもよい。たとえば、設定値に入力された値が、図3のユニット機能詳細情報中の設定数値範囲内であるか否かを判定する。設定数値範囲内である場合には、そのまま保存処理を実行するが、設定数値範囲内でない場合には、その旨の表示を表示部11に表示して、ユーザに設定値の変更を促す。これにより、ユーザによる設定ミスを防止することができる。
その後、シーケンスプログラム作成部20は、保存された仮想ユニット設定情報と、シーケンスプログラム格納部19に格納されている基本シーケンスプログラムとを用いて、作成する仮想ユニットに対応したシーケンスプログラムを作成する(ステップS17)。具体的には、図8に示される基本シーケンスプログラムの定数部分K[バッファアドレス=mの設定値]に仮想ユニット設定情報で設定された値を代入し、ユニットの装着位置を示すU[装着先頭I/O]に、仮想ユニット基本情報テーブルの装着先頭I/Oに対応する値を代入する。これにより、図9に示されるシーケンスプログラムが得られる。作成されたシーケンスプログラムは、仮想ユニット設定情報と対応付けされてシーケンスプログラム格納部19に保存される。
ついで、機能ブロック作成部21は、仮想ユニット設定情報と作成したシーケンスプログラムに基づいて、機能ブロックを作成する(ステップS18)。この機能ブロックは、図10に示されるように、チャネルごとに出力を表示した形式のものである。なお、機能ブロック作成部21は、たとえば図10に示される機能ブロック内の各チャネルで処理される内容を、図9に示されるシーケンスプログラムの対応する回路と対応付けしている。そして、機能ブロック作成部21は、作成した機能ブロックを機能ブロック格納部22に格納して(ステップS19)、プログラム作成処理が終了する。
この後、作成された機能ブロックは、プログラム作成装置10が通信部13を介してプログラマブルコントローラと接続された状態で、CPUユニットに導入され、使用可能な状態となる。
なお、上述した説明では、同じ種類のAD変換ユニットを複数組み合わせて使用した構成例を示したが、このほかに、機能ユニットの組み合わせとして、DA変換ユニットを複数個組み合わせて使用する場合、AD変換ユニットとDA変換ユニットを組み合わせて使用する場合、位置決めユニットとカウンタユニットを組み合わせて使用する場合などを例に挙げることができる。
AD変換ユニットとDA変換ユニットを組み合わせる場合は、アナログ信号をAD変換ユニットで受けて、それをDA変換ユニットでアナログ信号として出力する場合に使用される。また、位置決めユニットとカウンタユニットを組み合わせる場合は、位置決めユニットでこの位置決めユニットで制御されるワークを移動させて、カウンタユニットでそのワークの移動量を計測する場合に使用される。
また、AD変換ユニットとDA変換ユニットとを組み合わせて使用する場合においては、機能ユニットからの入力と機能ユニットへの出力があるために、それらの機能ユニットの設定内容の整合性を合わせる必要がある。たとえば、アナログユニットの各チャネルの設定には、電圧・電流の入力切替や分解能の設定などがあり、これらをAD変換ユニット側とDA変換ユニット側で整合しているか否かを判定する。一例を挙げると、AD変換ユニットのCH1の分解能の設定が1/4000である場合に、それに対応するDA変換ユニットのCH1の分解能の設定も1/4000となっている必要がある。そのため、仮想ユニット設定画面作成部18には、ユーザによる仮想ユニットの設定の後、これらの値が一致しているか否かを判定する機能を持たせることも可能である。
また、上述したプログラム作成方法を、これらの方法の処理手順が格納されたプログラムとして構成し、このプログラムをCPU,ROM(Read Only Memory),RAM(Random Access Memory)を有するコンピュータで実行することによって実現することができる。
この実施の形態によれば、ある1つの機能を実現させるために複数の機能ユニットを連携させて使用する場合に、プログラミング上では個々の機能ユニットを意識することなく、これらの機能ユニットを1つにまとめた仮想ユニットとして扱うことができる。また、ユーザは、仮想ユニットの機能を実現させるための設定を行うだけで、その内容が記載されたシーケンスプログラムを自動的に作成することができる。その結果、ユーザは、シーケンスプログラムを作成する必要がない。さらに、シーケンスプログラムから仮想ユニットを、その出力ごとにまとめて表示した機能ブロックとして作成することができる。
また、ある1つの機能を実現するために、従来では装着する機能ユニット単位で設定を行う必要があり、しかも機能ユニット間で連係動作させるためのプログラミングが必要となっていたが、この実施の形態によれば、機能ユニット単位の設定も、機能ユニット間で連係動作させるためのプログラミングも必要ないという効果を有する。また、機能ユニットが有する実際のチャネル数などの制約に縛られることなく、任意の仮想ユニットを作成することができるという効果も有する。
以上のように、この発明にかかるプログラム作成装置は、プログラマブルコントローラのシーケンスプログラムの作成に有用であり、特に、プログラマブルコントローラ中である機能を複数の機能ユニットによって実現する場合のシーケンスプログラムの作成に適している。
この発明によるプログラム作成装置の機能構成の一例を模式的に示すブロック図である。 ユニット基本情報の一例を示す図である。 ユニット機能詳細情報の一例を示す図である。 仮想ユニット情報の一例を示す図である。 プログラマブルコントローラにおけるベースユニット上への各ユニットの装着の一例を示す図である。 仮想ユニット設定情報の一例を示す図である。 仮想ユニット設定画面の一例を示す図である。 基本シーケンスプログラムの一例を示す図である。 シーケンスプログラム作成部によって作成されたシーケンスプログラムの一例を示す図である。 機能ブロック形式のラダー図の一例を示す図である。 プログラム作成方法の処理手順の概要を示すフローチャートである。 従来のユニットにおけるメモリ表示の形式の一例を示す図である。
符号の説明
10 プログラム作成装置
11 表示部
12 入力部
13 通信部
14 ユニット情報格納部
15 仮想ユニット基本情報作成部
16 仮想ユニット情報格納部
17 仮想ユニット設定情報作成部
18 仮想ユニット設定画面作成部
19 シーケンスプログラム格納部
20 シーケンスプログラム作成部
21 機能ブロック作成部
22 機能ブロック格納部
23 制御部

Claims (9)

  1. プログラマブルコントローラのシーケンスプログラムを作成するプログラム作成装置であって、
    前記プログラマブルコントローラが実現する機能のうちの1つの機能を連携して実現する複数の機能ユニットを1つの仮想ユニットとして、前記仮想ユニットを構成する前記機能ユニットの種別と装着位置とを含む仮想ユニット基本情報を作成する仮想ユニット基本情報作成手段と、
    機能ユニットのバッファアドレスに対する設定内容を含むユニット機能詳細情報を、前記仮想ユニット基本情報中の前記機能ユニットごとに用意し、前記機能ユニットの各バッファアドレスの設定内容と前記仮想ユニットの各バッファアドレスの設定内容とを前記機能ユニットの装着位置を用いて対応付けした仮想ユニット設定情報を作成する仮想ユニット設定情報作成手段と、
    前記仮想ユニット設定情報を表示手段に表示させるための仮想ユニット設定画面を作成し、前記表示手段に表示させる仮想ユニット設定画面作成手段と、
    前記仮想ユニット設定画面を通じて編集された前記仮想ユニット設定情報を格納する仮想ユニット情報格納手段と、
    を備えることを特徴とするプログラム作成装置。
  2. 前記プログラマブルコントローラに使用され得る機能ユニットについて、前記ユニット機能詳細情報中の設定内容と、前記機能ユニットの装着位置を変数として表示した基本シーケンスプログラムを格納するシーケンスプログラム格納手段と、
    前記シーケンスプログラム格納手段から抽出した前記仮想ユニットを構成する機能ユニットに対応する基本シーケンスプログラムに、前記仮想ユニット情報格納手段中の前記仮想ユニット設定情報の設定内容を代入してシーケンスプログラムを作成するシーケンスプログラム作成手段と、
    前記仮想ユニット情報格納手段の前記仮想ユニット設定情報中の出力処理を単位としてブロック化した機能ブロックを作成し、その出力処理に関係する処理内容を前記シーケンスプログラム内の処理内容に対応付けるとともに、前記機能ブロックを前記表示手段に表示する機能ブロック作成手段と、
    をさらに備えることを特徴とする請求項1に記載のプログラム作成装置。
  3. 前記ユニット機能詳細情報は、前記機能ユニットに対する設定内容と、前記設定内容に対応する数値の範囲である設定数値範囲と、を含み、
    前記仮想ユニット設定画面作成手段は、前記仮想ユニット設定画面で編集された仮想ユニット設定情報の設定内容の値が、前記設定数値範囲内に収まっているか否かを判定する機能を備えることを特徴とする請求項1に記載のプログラム作成装置。
  4. 前記仮想ユニットは、異なる機能を有する複数の機能ユニットがチャネルを共有化して構成され、
    前記仮想ユニット設定画面作成手段は、前記仮想ユニット設定画面で編集された仮想ユニット設定情報の前記チャネルについての設定内容の値が、前記複数の異なる機能ユニット間で一致しているか否かを判定する機能を備えることを特徴とする請求項1に記載のプログラム作成装置。
  5. プログラマブルコントローラのシーケンスプログラムを作成するプログラム作成方法であって、
    前記プログラマブルコントローラが実現する機能のうちの1つの機能を連携して実現する複数の機能ユニットを1つの仮想ユニットとして、前記仮想ユニットを構成する前記機能ユニットの種別と装着位置とを含む仮想ユニット基本情報を作成する仮想ユニット基本情報作成工程と、
    機能ユニットのバッファアドレスに対する設定内容を含むユニット機能詳細情報を、前記仮想ユニット基本情報中の前記機能ユニットごとに取得するユニット機能詳細情報取得工程と、
    前記仮想ユニット基本情報と取得した前記ユニット機能詳細情報とを用いて、前記機能ユニットの各バッファアドレスの設定内容と前記仮想ユニットの各バッファアドレスの設定内容とを前記機能ユニットの装着位置を用いて対応付けした仮想ユニット設定情報を作成する仮想ユニット設定情報作成工程と、
    前記仮想ユニット設定情報を表示手段に表示させるための仮想ユニット設定画面を作成し、前記表示手段に表示させる仮想ユニット設定画面作成工程と、
    前記仮想ユニット設定画面で編集された内容を仮想ユニット設定情報として記憶する仮想ユニット情報格納工程と、
    を含むことを特徴とするプログラム作成方法。
  6. 前記プログラマブルコントローラに使用され得る機能ユニットについて、前記ユニット機能詳細情報中の設定内容と、前記機能ユニットの装着位置を変数として表示した基本シーケンスプログラムを格納するシーケンスプログラム格納手段から抽出した前記仮想ユニットを構成する機能ユニットに対応する基本シーケンスプログラムに、前記仮想ユニット設定情報の設定内容を代入してシーケンスプログラムを作成するシーケンスプログラム作成工程と、
    前記仮想ユニット情報格納工程で記憶された前記仮想ユニット設定情報中の出力処理を単位としてブロック化した機能ブロックを作成し、その出力処理に関係する処理内容を前記シーケンスプログラム内の処理内容に対応付けるとともに、前記機能ブロックを前記表示手段に表示する機能ブロック作成工程と、
    をさらに含むことを特徴とする請求項5に記載のプログラム作成方法。
  7. 前記ユニット機能詳細情報は、前記機能ユニットに対する設定内容と、前記設定内容に対応する数値の範囲である設定数値範囲と、を含み、
    前記仮想ユニット設定画面作成工程では、前記仮想ユニット設定画面で編集された仮想ユニット設定情報の設定内容の値が、前記設定数値範囲内に収まっているか否かを判定する処理をさらに実行することを特徴とする請求項5に記載のプログラム作成方法。
  8. 前記仮想ユニットは、異なる機能を有する複数の機能ユニットがチャネルを共有化して構成され、
    前記仮想ユニット設定画面作成工程では、前記仮想ユニット設定画面で編集された仮想ユニット設定情報の前記チャネルについての設定内容の値が、前記複数の異なる機能ユニット間で一致しているか否かを判定する処理をさらに実行することを特徴とする請求項5に記載のプログラム作成方法。
  9. 請求項5〜8のいずれか1つに記載のプログラム作成方法をコンピュータに実行させるプログラム。
JP2006333424A 2006-12-11 2006-12-11 プログラム作成装置、プログラム作成方法およびその方法をコンピュータに実行させるプログラム Active JP4620035B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006333424A JP4620035B2 (ja) 2006-12-11 2006-12-11 プログラム作成装置、プログラム作成方法およびその方法をコンピュータに実行させるプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006333424A JP4620035B2 (ja) 2006-12-11 2006-12-11 プログラム作成装置、プログラム作成方法およびその方法をコンピュータに実行させるプログラム

Publications (2)

Publication Number Publication Date
JP2008146385A true JP2008146385A (ja) 2008-06-26
JP4620035B2 JP4620035B2 (ja) 2011-01-26

Family

ID=39606496

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006333424A Active JP4620035B2 (ja) 2006-12-11 2006-12-11 プログラム作成装置、プログラム作成方法およびその方法をコンピュータに実行させるプログラム

Country Status (1)

Country Link
JP (1) JP4620035B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103229175A (zh) * 2010-11-24 2013-07-31 三菱电机株式会社 系统设计装置
WO2020079730A1 (ja) * 2018-10-15 2020-04-23 三菱電機株式会社 エンジニアリングツール、コンピュータシステム、システム、方法及びプログラム

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102017109252A1 (de) * 2017-04-28 2018-10-31 Leica Microsystems Cms Gmbh Programmierbare Mikroskopsteuerungseinheit mit frei verwendbaren Ein- und Ausgängen, Mikroskopsystem mit einer Mikroskopsteuerungseinheit und Verfahren zum Betrieb einer Mikroskopsteuerungseinheit

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH047705A (ja) * 1990-04-26 1992-01-13 Yokogawa Electric Corp エンジニアリング方法
JPH07146644A (ja) * 1993-11-24 1995-06-06 Sony Corp 論理制御回路
JPH07281717A (ja) * 1994-04-07 1995-10-27 Yokogawa Electric Corp 石油出荷制御装置
JP2000181514A (ja) * 1998-12-17 2000-06-30 Mitsubishi Electric Corp プログラマブルコントローラ用シーケンスプログラムの入出力デバイス番号割付方法およびプログラマブルコントローラの周辺装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH047705A (ja) * 1990-04-26 1992-01-13 Yokogawa Electric Corp エンジニアリング方法
JPH07146644A (ja) * 1993-11-24 1995-06-06 Sony Corp 論理制御回路
JPH07281717A (ja) * 1994-04-07 1995-10-27 Yokogawa Electric Corp 石油出荷制御装置
JP2000181514A (ja) * 1998-12-17 2000-06-30 Mitsubishi Electric Corp プログラマブルコントローラ用シーケンスプログラムの入出力デバイス番号割付方法およびプログラマブルコントローラの周辺装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103229175A (zh) * 2010-11-24 2013-07-31 三菱电机株式会社 系统设计装置
DE112010006021T5 (de) 2010-11-24 2013-09-05 Mitsubishi Electric Corp. Systementwurfsvorrichtung
WO2020079730A1 (ja) * 2018-10-15 2020-04-23 三菱電機株式会社 エンジニアリングツール、コンピュータシステム、システム、方法及びプログラム

Also Published As

Publication number Publication date
JP4620035B2 (ja) 2011-01-26

Similar Documents

Publication Publication Date Title
JP2007249312A (ja) フィールド機器管理装置およびフィールド機器管理方法
JP4620035B2 (ja) プログラム作成装置、プログラム作成方法およびその方法をコンピュータに実行させるプログラム
JP4876537B2 (ja) プログラマブルコントローラのプログラミング装置
JP2018502391A (ja) ユーザインタフェースを表示するためのコンピュータ実装方法
WO2020195195A1 (ja) 開発支援装置、開発支援装置の制御方法、情報処理プログラム、および記録媒体
JP2008197721A (ja) プラント監視画面作成装置
JP2012168900A (ja) プログラミング装置、プログラム
JP4995009B2 (ja) Pod画面生成装置、そのプログラム
JP2006294011A (ja) 制御プログラム開発支援装置
JP5205988B2 (ja) Plcのグローバル変数定義方式
EP3951571A1 (en) Development assistance device, method for controlling development assistance device, information processing program, and recording media
JP3822756B2 (ja) データ処理装置
JP6175844B2 (ja) 操作盤の画面定義装置
JP5422469B2 (ja) ネットワーク接続設定支援装置及びネットワーク接続設定支援方法
JP2009211143A (ja) 情報処理装置および情報処理プログラム
JP2008216023A (ja) 電子メトロノーム装置及びリズム報知プログラム
JP5883953B2 (ja) プログラマブルコントローラシステム、そのプログラマブル表示器、作画エディタ装置、プログラム
CN107003649B (zh) 系统设计辅助工具
JP2004280705A (ja) 帳票作成装置
JP2862369B2 (ja) 画像表示制御装置
JPS58163036A (ja) 文書作成装置
JP2000215035A (ja) プログラム式表示装置用の操作画面作成方法
JP6407481B1 (ja) プログラム作成装置
JP2007252162A (ja) 電動機駆動装置
JP2007010891A (ja) 表示装置、制御プログラムおよびそのプログラムを記録した記録媒体

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20081217

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100325

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100330

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100518

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

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20101027

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

Free format text: PAYMENT UNTIL: 20131105

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4620035

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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