JP3847665B2 - 制御プログラム検索装置、および、そのプログラム - Google Patents
制御プログラム検索装置、および、そのプログラム Download PDFInfo
- Publication number
- JP3847665B2 JP3847665B2 JP2002158143A JP2002158143A JP3847665B2 JP 3847665 B2 JP3847665 B2 JP 3847665B2 JP 2002158143 A JP2002158143 A JP 2002158143A JP 2002158143 A JP2002158143 A JP 2002158143A JP 3847665 B2 JP3847665 B2 JP 3847665B2
- Authority
- JP
- Japan
- Prior art keywords
- variable
- control program
- instruction
- search
- condition
- 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 - Lifetime
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Programmable Controllers (AREA)
- Debugging And Monitoring (AREA)
Description
【発明の属する技術分野】
本発明は、所望の命令の検索に要する時間を短縮可能な制御プログラム検索装置、および、そのプログラムに関するものである。
【0002】
【従来の技術】
従来から、制御システムの制御装置として、プログラマブル・ロジック・コントローラ(PLC)が広く使用されている。当該PLCには、ラダーエディタなどの制御プログラムエディタによって作成された制御プログラムが予め格納され、PLCは、制御プログラムに基づいてデバイスを制御する。
【0003】
ここで、あるデバイスに異常が検出された場合であっても、当該デバイスの異常が原因ではなく、そのデバイスの制御に関連するデバイスの異常が原因であることがある。
【0004】
したがって、デバイスに異常が検出され、そのデバイスに異常がない場合には、異常の原因を特定するために、制御システムのユーザは、例えば、ラダーエディタやラダーモニタがインストールされたパーソナルコンピュータを上記PLCに接続するなどして、上記PLCの制御プログラムをラダーエディタやラダーモニタに表示させる。さらに、ユーザは、ラダーエディタやラダーモニタを操作して、制御プログラムのうち、異常の検出されたデバイスの制御に関連する箇所を検索し、異常の原因となったデバイスや制御プログラムの誤りを特定している。
【0005】
ここで、従来のラダーエディタやラダーモニタは、ユーザによって検索の条件が指定されると、文字列で表現された制御プログラム全体を検索して、条件に合った命令を検索している。
【0006】
【発明が解決しようとする課題】
しかしながら、上記制御プログラム全体の文字列には、命令を示す文字列だけではなく、制御プログラムの可読性を向上させるコメントなども含まれている。また、制御プログラムで使用可能な命令には、動作を示す命令語と動作の対象とを含む命令もあり、このような命令を示す文字列には、命令語名と、演算対象を示す文字列とが含まれている。
【0007】
したがって、所望の命令語名を含む命令を検索しようとして、コメントや変数名が検索条件に合った命令をも検索してしまう虞れがある。また、これとは逆に、所望の変数名を含む命令を検索しようとして、コメントや命令語名が検索条件に合った命令をも検索してしまう虞れもある。
【0008】
この場合は、不所望に検索された命令を含む検索結果から、所望の命令を見つけるために、例えば、検索された命令を順次表示させて所望の命令か否かを判断するなどの手間が必要になり、所望の命令を見つけるまでの時間が長くなりやすい。したがって、異常の原因の特定、および、異常からの復帰に要する時間も増大しがちである。
【0009】
本発明は、上記の問題点に鑑みてなされたものであり、その目的は、所望の命令の検索に要する時間を短縮可能な制御プログラム検索装置を実現することにある。
【0010】
【課題を解決するための手段】
本発明に係る制御プログラム検索装置は、上記課題を解決するために、制御プログラムを記憶する記憶手段と、当該制御プログラムに含まれる命令を検索するための条件の入力を受け付け、上記記憶手段の制御プログラムの中から当該条件に該当する命令を検索する検索手段とを有する制御プログラム検索装置において、以下の手段を講じたことを特徴としている。
【0011】
すなわち、上記制御プログラムは、命令の動作を示す命令語と、当該動作の対象を特定可能で、しかも、変数名により特定可能な変数との組み合わせからなる命令を含むことができる。また、上記検索手段は、検索範囲を命令語または変数に限定した条件の入力を受け付け可能であり、検索範囲が命令語に限定された命令語条件が入力された場合、上記記憶手段の制御プログラムから、命令語が命令語条件に合った命令を検索すると共に、検索対象が変数に限定された変数条件が入力された場合は、上記記憶手段の制御プログラムから、変数が変数条件に合った命令を検索する。
【0012】
上記構成では、検索範囲を命令語または変数に限定して検索できる。したがって、制御プログラム全体から、検索条件にあった文字列を検索する従来技術と異なって、所望の命令語を含む命令を検索する際、コメントや変数が検索条件に合った命令をも検索してしまうという不具合が発生せず、所望の命令語を含む命令のみを検索できる。同様に、所望の変数を含む命令を検索する際、コメントや命令語が検索条件に合った命令をも検索してしまうという不具合が発生せず、所望の変数を含む命令のみを検索できる。この結果、不所望に検索された命令を含む検索結果から所望の命令を見つける手間を削減でき、所望の命令の検索に要する時間を短縮できる。
【0013】
また、本発明に係る制御プログラム検索装置は、上記した構成において、上記制御プログラムでは、変数名として、命令語名を含む文字列を使用可能であり、上記記憶手段には、制御プログラムに出現する変数の変数名が記憶された変数名領域と、制御プログラムに出現する命令語の命令語名が記憶された命令語名領域とが含まれていると共に、上記検索手段は、命令語条件として、命令語名が入力された場合、命令語名領域を検索し、変数条件として、変数条件が入力された場合、変数名領域を検索することを特徴としている。
【0014】
上記構成では、変数名として、命令語名を含む文字列を使用できるので、変数名として設定可能な文字列の数が増え、制御プログラム検索装置のユーザにとって読みやすい変数名を設定しやすくなる。また、この場合であっても、検索範囲に応じて、命令語名領域および変数名領域の一方を検索するので、何ら支障なく、命令語名または変数名が検索条件に合った命令を検索できる。この結果、可読性の向上と、所望の命令検索に要する時間短縮との双方を満足した制御プログラム検索装置を実現できる。
【0015】
なお、命令語条件として命令語名が入力された場合に、変数名領域ではなく命令語名領域を検索し、変数名条件として変数名が入力された場合に命令語領域ではなく変数名領域を検索するのであれば、例えば、命令が命令語と変数とを含んでいる場合、記憶手段が、当該命令を、命令語を示す属性またはフィールド(命令語領域)と変数を示す属性またはフィールド(変数名領域)とに分けて記憶し、検索手段が、検索範囲に応じて、命令語の属性またはフィールドと、変数の属性またはフィールドとの一方を検索してもよい。
【0016】
また、各命令語および変数に対して、命令語および変数全体で一意な識別子を割り当て、記憶手段が上記命令を命令語の識別子と変数の識別子との組み合わせとして記憶すると共に、命令語の識別子と命令語名との対応を示す命令語名テーブル(命令語名領域)と、変数の識別子と変数名との対応を示す変数名テーブル(変数名領域)とを記憶してもよい。この場合、検索手段は、検索範囲に応じて、命令語テーブルおよび変数名テーブルの一方を検索して識別子を取得し、当該識別子を含む命令を検索する。
【0017】
さらに、本発明に係る制御プログラム検索装置は、上記した構成において、上記記憶手段に記憶された制御プログラム、または、それと同一手順の制御プログラムに基づいて、制御対象を制御する制御手段を備えていることを特徴としている。
【0018】
上記構成では、制御プログラム検索装置が制御手段をも備えているので、制御プログラム検索装置は、制御プログラムに基づいて制御対象を制御する制御装置として動作できる。したがって、当該制御装置が制御対象を制御している間に、制御システムに異常が発生しても、新たな装置を特に接続することなく、制御装置の制御プログラムから異常に関連すると推定される命令を検索できる。ここで、上述のように、検索手段は、検索範囲を命令語または変数に限定して検索できるので、所望の命令を検索する際の時間を短縮できる。これらの結果、異常の原因をより速く特定でき、制御装置を含む制御システムが異常から復帰するために必要な時間を短縮できる。
【0019】
また、本発明に係る制御プログラム検索装置は、上記した構成において、上記検索手段は、検索の条件として、上記命令語条件と変数条件との双方が入力され、アンド検索が指示された場合、命令語が命令語条件に合い、しかも、変数が変数条件に合った命令を検索することを特徴としている。
【0020】
上記構成では、命令語条件と変数条件とをアンド検索できるので、ある命令語または変数が制御プログラム中で数多く使用されており、一方の条件だけでは、所望の命令の検索に手間がかかる場合であっても、所望の命令をより速く検索できる。
【0021】
さらに、本発明に係る制御プログラム検索装置は、上記した構成において、上記検索手段は、上記命令語条件および変数条件のいずれが先に入力された場合でも、他方の入力を受け付け可能であることを特徴としている。
【0022】
上記構成では、上記命令語条件および変数条件のいずれが先に入力された場合でも、検索手段は、他方の入力を受け付けることができるので、制御プログラム検索装置のユーザは、検索条件を思いついた順番で、各検索条件を指定でき、制御プログラム検索装置の操作性を向上できる。
【0023】
また、本発明に係る制御プログラム検索装置は、上記した構成において、上記検索手段は、指示に応じて、上記制御プログラムに含まれる命令語あるいは変数の一覧を表示し、上記命令語条件で指定する命令語、あるいは、上記変数条件で指定する変数の選択を促すことを特徴としている。
【0024】
上記構成では、制御プログラム検索装置のユーザは、命令語条件で指定する命令語または変数条件で指定する変数を入力する際、一覧表示された命令語または変数の中から選択するだけで入力できるので、制御プログラム検索装置の操作性を向上できる。
【0025】
ところで、上記制御プログラム検索装置は、ハードウェアで実現してもよいが、プログラムをコンピュータに実行させて実現してもよい。具体的には、本発明に係るプログラムは、上記した各手段としてコンピュータを動作させるプログラムであり、当該プログラムがコンピュータで実行されると、当該コンピュータは、上記した制御プログラム検索装置として動作する。したがって、上記した制御プログラム検索装置と同様に、所望の命令の検索に要する時間を短縮可能な制御プログラム検索装置を実現できる。
【0026】
【発明の実施の形態】
本発明の一実施形態について図1ないし図17に基づいて説明すると以下の通りである。すなわち、本実施形態に係る制御システム1は、現場に新たな機器を持ち込むことなく、ラダーモニタ画面を表示可能で、しかも、当該ラダーモニタ画面にて、所望の命令を短時間で検索可能なシステムであって、図1に示すように、例えば、ベルトコンベアー式の自動組付機など、ターゲットシステム2のデバイス(制御対象)2aを制御するために用いられている。
【0027】
なお、以下では、プログラマブル表示器(制御プログラム検索装置)12による、ラダーモニタ画面での検索処理について説明する前に、制御システム1の全体構成、並びに、通常の制御状態におけるプログラマブル表示器12の動作について簡単に説明する。
【0028】
すなわち、上記制御システム1には、上記デバイス2aを制御する制御装置としてのPLC11と、多くの場合、制御対象近傍に配されると共に、制御システム1のHMIとして、デバイス2aの状態を表示し、オペレータによるデバイス2aへの操作を受け付けるプログラマブル表示器12とを備えている。また、本実施形態に係るプログラマブル表示器12は、詳細は後述するように、PLCとしての機能も備えており、それぞれに対応するPLC11だけではなく、自らが制御するデバイス2aにも直接接続されている。
【0029】
さらに、本実施形態に係る制御システム1では、各プログラマブル表示器12は、イーサネット(登録商標)などのLAN(ローカルエリアネットワーク)13によって互いに接続されている。また、上記LAN13には、多くの場合、プログラマブル表示器12よりも離れた場所から、制御システム1全体を管理する制御用ホストコンピュータ14が接続されている。
【0030】
なお、上記各プログラマブル表示器12は、シリアルケーブルなどを介して、それぞれに対応するPLC11と接続されている。また、図1では、説明の便宜上、LAN13にプログラマブル表示器12が2台接続され、各プログラマブル表示器12には、PLC11およびデバイス2aがそれぞれ1台ずつ接続されると共に、各PLC11にデバイス2aが1台接続されている場合を例示しているが、当然ながら、それぞれの接続台数は任意に設定できる。
【0031】
また、デバイスは、デバイスアドレスや変数により特定可能で、しかも、状態を取得したり、制御(変更)できるものであれば、例えば、デバイス2a自体であってもよいし、例えば、PLC11やプログラマブル表示器12の記憶装置など、制御システム1に設けられた記憶装置の一領域を示していてもよい。
【0032】
ここで、上記制御システム1では、制御システム1に必須の構成であり、しかも、HMIとして動作するため、演算能力に余力のあるプログラマブル表示器12が通信の大半を処理するように構成されている。さらに、各プログラマブル表示器12は、自らに接続されているPLC11の機種に固有の専用プロトコルと、LAN13での共通プロトコルとを変換して、他のプログラマブル表示器12や制御用ホストコンピュータ14と、PLC11との通信を中継する。なお、共通プロトコルと専用プロトコルとの間のプロトコル変換には、同じ指示に同じコードが割り当てられるように予め定められた共通のコマンドと上記共通のコマンドに対応するPLC11固有のコマンドとの間の変換や、データやアドレスの表現方法の変換、デバイスアドレスと、当該デバイスアドレスに対応し、しかも、デバイスアドレスとは異なる値に設定可能な変数や変数の名称(変数名)との変換なども含まれる。
【0033】
これにより、プログラマブル表示器12および制御用ホストコンピュータ14は、他のプログラマブル表示器12に接続されているPLC11の機種に拘らず、LAN13を介して共通のプロトコルで通信できる。この結果、互いに異なる機種のPLC11の混在する制御システム1が比較的容易に実現されている。
【0034】
上記プログラマブル表示器12は、後述する画面データに基づいて、デバイスの状態を画面表示する際の動作や、画面への操作に応じてデバイスの状態を制御する際の動作を特定するものであって、PLC11と通信するPLC・IF部21と、上記LAN13に接続するためのLAN・IF部22と、例えば、液晶表示装置などからなるディスプレイ23と、ディスプレイ23の画面上に配されたタッチパネル24と、上記各部材21〜24を制御するHMI処理部25と、当該HMI処理部25によって参照され、上記画面データおよび後述する変数が格納される画面データメモリ26および変数メモリ27とを備えている。
【0035】
上記画面データは、画面上の領域と、当該領域への表示や入力に対応するデバイスとの対応関係を示すタグを組み合わせて構成されている。本実施形態では、HMI処理部25が複数の単位画面を切り換え表示可能であり、上記タグは、当該タグが有効となる単位画面を示すファイル番号と、単位画面上で実行すべき動作内容を特定する事象名と、各事象毎に参照される参照情報とを含んでいる。
【0036】
例えば、上記タグが所定の画面領域(表示座標範囲)へ所定のデバイスの状態に応じた部品図形を表示する表示タグの場合、上記参照情報には、表示座標範囲と、デバイスを特定可能な変数(後述)と、例えば、部品図形がスイッチの場合、ONを示す図形のファイルおよびOFFを示す図形のファイルなど、表示時に参照するファイル番号とが含まれる。さらに、タグが入力タグの場合、参照情報として、有効入力座標範囲と、入力結果が書き込まれるデバイスの変数とが含まれる。
【0037】
また、変数メモリ27には、図2に示すように、各変数について、変数の名称(変数名)と、変数に対応するデバイス2aまたは内部メモリを特定するための情報(例えば、アドレスなど)と、変数の内容との組み合わせが記憶されている。なお、本実施形態では、変数に対応するデバイス2aの機種に拘わらず、変数の内容を格納する際の表現方法(例えば、ワード長や符号の有無、あるいは、BCD/2進表記など)が予め定められた表現方法に統一されており、変数が実在のデバイス2aに対応する場合、変数メモリ27には、実際の機種での表現方法も格納されている。この場合、HMI処理部25は、PLC・IF部21を介してデバイス2aの状態を取得あるいは制御する際、表現方法を形式変換して、格納時の表現方法を統一する。
【0038】
一方、上記HMI処理部25は、所定の時間間隔で、画面データメモリ26に格納された画面データから、ベース画面のファイル番号が、現在表示中のベース画面である表示タグを抽出する。さらに、HMI処理部25は、変数メモリ27を参照して、タグに対応する変数の内容を読み出し、内容に応じた部品図形をディスプレイ23に表示する。ここで、PLC・IF部21に接続されたPLC11により制御されるデバイス2aに、上記変数が対応している場合、HMI処理部25は、PLC・IF部21によるPLC11との通信によって、デバイス2aの状態を取得し、上記変数の内容を当該状態に応じて更新している。これにより、ディスプレイ23には、デバイス2aの状態が表示される。
【0039】
なお、変数が他のプログラマブル表示器12に接続されたPLC11によって制御されるデバイス2aの場合、HMI処理部25は、LAN・IF部22、LAN13および他のプログラマブル表示器12を介して当該PLC11と通信するなどして、デバイスの状態を取得し、それに応じて変数の内容を更新する。
【0040】
また、タッチパネル24への押し操作など、オペレータの入力操作を受け付けると、HMI処理部25は、上記画面データから、現在表示中のベース画面に対応し、当該入力操作にマッチする入力タグを検索すると共に、入力結果に応じて、タグに対応する変数の内容を更新する。さらに、HMI処理部25は、デバイス2aの状態を取得する場合と略同様に、PLC11やプログラマブル表示器12と通信するなどして、上記変数の内容に応じて、デバイス2aの状態を制御させる。ここで、入力操作の後も、HMI処理部25は、デバイス2aの状態を画面表示するので、操作結果が画面表示に反映される。
【0041】
加えて、HMI処理部25は、例えば、他のプログラマブル表示器12や制御用ホストコンピュータ14など、LAN13に接続された機器から自らに接続されたPLC11のデバイス2aへの制御指示を受け取った場合や、これとは逆に、上記機器へ報告すべきデバイス2aの状態を自らのPLC11から受け取った場合には、上述したプロトコル変換によって、LAN13での通信、および、PLC11との通信の間を中継できる。
【0042】
さらに、本実施形態に係るプログラマブル表示器12は、PLCとしても動作するために、デバイス2aに接続するためのIO・IF部31と、制御プログラムなどを記憶する制御用ファイルメモリ(記憶手段)32と、当該制御プログラムに基づいて、IO・IF部31に接続されたデバイス2aを制御するデバイス制御部(制御手段)33とを備えている。
【0043】
本実施形態に係るデバイス制御部33は、制御プログラムにおいて、制御対象を変数で特定可能なPLCであって、例えば、数十msなど、予め定められた長さの走査期間(スキャンタイム)毎に、各デバイス2aの状態を読み出し、各デバイス2aに対応する変数の内容として、変数メモリ27に格納する。
【0044】
さらに、デバイス制御部33は、変数メモリ27に格納された各変数の内容を参照しながら、制御用ファイルメモリ32の制御プログラムが示す各命令を順次実行する。
【0045】
ここで、本実施形態に係る制御プログラムでは、図3にラダープログラムとして示すように、あるいは、図4に、そのニモニック表記として示すように、各命令において、命令語Cα…で示される動作の対象(オペランド)を、変数で指定可能であり、命令が、変数で示されたオペランドを含んでいる場合、当該命令の実行に伴なって、変数の内容が更新される。また、本実施形態に係る制御プログラムでは、制御プログラムの可読性を向上させるため、変数名として、命令語名を含む文字列も指定できる。なお、デバイス制御部33が実行可能な命令セットには、オペランドを含まない命令が含まれていてもよいし、オペランドを含む命令であっても、オペランドが変数以外の値(定数など)であってもよい。
【0046】
さらに、上記順次実行される命令の1つとして、エンド命令が実行されると、デバイス制御部33は、制御プログラムの実行を終了し、変数メモリ27に格納された各変数のうち、IO・IF部31に接続されたデバイス2aに対応する変数の内容を各デバイス2aに書き込む。これにより、デバイス制御部33は、PLCと同様に、ユーザが作成した制御プログラムに従い、デバイス2aの状態に応じて各デバイス2aを制御できる。
【0047】
なお、上述したように、変数の内容を格納する際の表現方法が統一されているので、デバイス制御部33は、IO・IF部31を介してデバイス2aと通信する際、表現方法を形式変換して、格納時の表現方法を統一する。
【0048】
さらに、本実施形態に係るプログラマブル表示器12は、例えば、あるデバイス2aの状態が異常な場合に、その異常の原因となるデバイス2aを特定する際などに好適に用いられるラダーモニタ画面を表示するために、上記HMI処理部25およびデバイス制御部33を連携動作させるコントロール−HMI処理部(検索手段)41が設けられている。
【0049】
また、上記制御用ファイルメモリ32には、制御プログラムのOPコード(命令語)およびオペランドだけではなく、例えば、変数の情報、ジャンプ先のラベル、各ラダー記号がどのように接続されるかを示す情報や、ラング番号など、制御プログラムに応じたラダー図を表示するための情報も記憶されている。
【0050】
ラダーモニタ画面を表示する場合、上記コントロール−HMI処理部41は、HMI処理部25に指示して、図5および図6に示すラダーモニタ画面を表示させる。当該ラダーモニタ画面には、ラダー図を表示する領域D1が設けられており、コントロール−HMI処理部41は、上記制御用ファイルメモリ32を参照して、当該制御用ファイルメモリ32に格納された制御プログラムを示すラダー図を表示させることができる。
【0051】
ここで、上記領域D1に表示されるラダー図は、接点やコイル、カウンタなど、図形やその他の形式で表された機能ブロックとしてのラダー記号(Iα…)と、これらに関連するラベルとからなる1または複数のネットワーク(L1…)を、左右の母線(La・Lb)内に記述した図であって、配置されているラダー記号の種類と、各ラダー記号の接続関係とによって、制御手順を図示できる。
【0052】
さらに、上記コントロール−HMI処理部41は、変数メモリ27を参照して、上記各ラダー記号(Iα…)の表示形式(例えば、形状や色あるいは点滅の有無など)を、ラダー記号Iα…に関連するデバイス2aの現在の制御状態に合わせて更新できる。
【0053】
例えば、図5および図6のラダーモニタ画面は、図3および図4の制御プログラムを図示したものであって、ロードを示すラダー記号Iαが、アンドを示すラダー記号Iβ、および、インクリメントを示すラダー記号Iγを介して、母線Lbに接続されている。また、各ラダー記号I…には、デバイスに対応する変数の名称が併記されている。したがって、これらのラダー記号Iα〜Iγと、各ラダー記号Iα〜Iγの接続関係とによって、命令語Cα〜Cγに対応する制御手順、すなわち、第1接点がオン状態で、しかも、第2接点がオン状態の場合、カウンタをインクリメントするという手順を記述できる。
【0054】
また、図5のラダーモニタ画面では、ロードを示すラダー記号IαおよびIδがオフ状態を示す形状で記述されているのに対して、図6のラダーモニタ画面では、両ラダー記号Iα、Iδがオン状態を示す形状で記述されている。したがって、図5および図6に示すラダー図からは、制御手順だけではなく、デバイスの制御状態、すなわち、図5の場合は、第1接点がオフ状態であり、図6の場合は、第1接点がオン状態であることも読み取れる。
【0055】
このように、ラダーモニタ画面は、デバイス2aの状態と制御の手順との双方を表示できる。したがって、あるデバイス2aに不具合が発生し、それによって、他のデバイス2aの状態が通常と違うように制御されて、異常が判明した場合、異常と認識されたデバイス2a自体だけではなく、そのデバイス2aの制御に関連するデバイス2aを順次遡ることができる。この結果、不具合が発生したデバイス2aとは異なるデバイス2aにて異常が検出された場合でも、不具合が発生したデバイス2aを特定できる。
【0056】
さらに、本実施形態に係るコントロール−HMI処理部41は、母線La・LbやネットワークL1…のうち、導電部分を、非導電部分と異なる表示形式で表示するように、HMI処理部25へ指示している。本実施形態では、一例として、非導電部分を、白の細線で表示し、導電部分を緑の太線で表示している。これにより、オペレータは、ラダーモニタ画面を参照することで、ラダープログラムの導電部分も把握できる。なお、図3ないし図6あるいは以下の図面では、例えば、命令語Cαとラダー記号Iαとのように、互いに対応するもの同士に、互いに同じギリシャ文字を付している。
【0057】
また、本実施形態に係るコントロール−HMI処理部41は、ラダーモニタ画面として上記ラダー図を表示する際、図5および図6に示すように、ラダーモニタ画面を操作するためのボタンB…も合わせて表示するよう、HMI処理部25へ指示する。さらに、HMI処理部25が各ボタンB1〜B34への操作を受け付けると、コントロール−HMI処理部41は、操作に応じて、ラダーモニタ画面を制御する。
【0058】
例えば、ボタンB1は、ラダープログラム(制御プログラム)の起動/停止を指示するボタンであり、当該ボタンB1が押された場合、コントロール−HMI処理部41は、デバイス制御部33が制御プログラムを実行中であれば停止させ、制御プログラムの実行を停止していた場合は、制御プログラムの実行を開始させる。
【0059】
また、ボタンB2は、ラダーモニタ画面の領域D1において、先頭に表示されているネットワークL1…の番号(ラング番号)を表示するボタンであって、当該ボタンB2が操作されると、コントロール−HMI処理部41は、例えば、キーパットを表示させるなどして、ラング番号の入力を受け付け、当該ラダー番号からのラダー図を表示させる。
【0060】
また、ボタンB3は、スクロールの単位が、ラング単位/ページ単位かを表示するボタンであって、当該ボタンB3が操作されると、コントロール−HMI処理部41は、スクロールの単位を両者間で切り換える。さらに、ボタンB4は、ラダー図中に整数を表示する際に、10進表示するか16進表示するかを切り換えるボタンであり、当該ボタンB4が操作されると、コントロール−HMI処理部41は、整数の表示方法を両者間で切り換える。また、ボタン群B5は、制御プログラムに応じたラダー図全体のうちのラダーモニタ画面中に表示する領域の移動(スクロール)を指示するボタンであり、それぞれ、左右上下のボタンのいずれかかが操作された場合、コントロール−HMI処理部41は、指示された方向に、表示領域をスクロールさせる。
【0061】
一方、コントロール−HMI処理部41は、ボタンB6が操作されると、ラダーモニタ画面の表示を停止して、HMI処理部25に、通常の操作画面を表示させる。
【0062】
さらに、本実施形態に係る上記変数メモリ27には、ラダーモニタに関する変数(ラダーモニタ変数)を格納する領域42が設けられており、他の変数と同様に、ラダーモニタ変数の内容も、HMI処理部25およびデバイス制御部33から変更できるように構成されている。また、上記コントロール−HMI処理部41は、当該ラダーモニタ変数の内容を監視して、ラダーモニタへの指示を受け付けている。なお、これらラダーモニタへの指示には、ラダーモニタ画面の表示の要否、制御プログラム全体のうち、ラダーモニタ画面で表示する箇所、あるいは、ラダーモニタ画面への操作も含まれている。
【0063】
このように、本実施形態に係るプログラマブル表示器12では、HMI処理部25が、画面データに基づいて、ラダーモニタ変数の上記記憶領域の内容を変更できるように構成されている。また、デバイス制御部33も制御プログラムに基づいて上記記憶領域の内容を変更できるように構成されている。したがって、制御システム1のユーザは、画面データまたは制御プログラムを変更することによって、ラダーモニタ起動のトリガを変更できる。
【0064】
また、本実施形態に係るプログラマブル表示器12では、上記ラダーモニタ変数の一領域として、制御プログラム全体のうち、ラダーモニタ画面が表示する箇所を記憶する領域も設けられており、当該記憶領域の内容も、起動/停止を示す記憶領域と同様にHMI処理部25およびデバイス制御部33から変更できる。
【0065】
したがって、制御システム1のユーザが、画面データまたは制御プログラムを設計する際、トリガとなる事象が発生して、ラダーモニタ画面を起動させるまでの間に、当該記憶領域の内容がトリガとなる事象に関連する箇所を示すように、画面データまたは制御プログラムを設計することによって、ラダーモニタの起動時に上記箇所を表示させることができる。この結果、プログラマブル表示器12は、異常発生時に、異常に関連する箇所を表示したラダーモニタ画面を表示することができる。
【0066】
さらに、ラダーモニタ変数には、ラダーモニタ画面への上記各操作を示す領域も設けられており、コントロール−HMI処理部41は、当該領域の内容に応じて、当該領域に対応する操作がオペレータによって行われたときと同様に、ラダーモニタ画面を自動的に制御できる。したがって、制御システム1のユーザは、ラダーモニタ画面を自動的に操作する画面データまたは制御プログラムを作成できる。一例として、画面データや制御プログラムによって、ラダーモニタ画面のスクロールやスクロールの単位を制御できる。
【0067】
上記構成において、図7に示すフローチャートに基づき、制御システム1の概略動作を説明すると以下の通りである。すなわち、ステップ1(以下では、S1のように略称する)において、例えば、制御用ホストコンピュータ14の作画エディタなどによって、プログラマブル表示器12用の画面データが作成される。また、S2において、制御用ホストコンピュータ14の制御プログラムエディタなどによって、プログラマブル表示器12のデバイス制御部33用の制御プログラムを含む制御用ファイルが作成される。上記各エディタでは、タグや制御プログラムにて、操作や参照の対象となるデバイスを指定する際、デバイスに対応する変数が生成され、当該変数で指定される。
【0068】
さらに、S3では、上記各エディタなどによって、各変数が実際のデバイス2aなどと関連付けられる。なお、変数には、実際のデバイス2aだけではなく、プログラマブル表示器12の記憶領域や、マクロの演算結果を関連付けることができる。この場合、HMI処理部25は、予め設定されたプログラム(マクロ)に従って、変数メモリ27の変数の内容を演算した結果を、マクロに関連付けられた変数の内容に設定できる。
【0069】
また、画面表示や操作あるいは制御に関連する変数の場合と同様に、上記各エディタによって、ラダーモニタ変数は、トリガとなる事象、すなわち、デバイス2aやプログラマブル表示器12の記憶領域またはマクロと関連付けられる。なお、ラダーモニタ変数は、プログラマブル表示器12の記憶領域のうち、操作に応じて内容が変化する記憶領域を関連付けるなどして、オペレータの操作と関連付けることもできる。
【0070】
ここで、上記各エディタでは、デバイスのアドレスを指定するのではなく、デバイスを変数で指定している。したがって、実際のデバイス2aと変数との対応は、プログラマブル表示器12が動作を開始するまでに関連付ければよく、実際のアドレスが決まっていない段階でも、画面や制御手順を設計できる。また、デバイス2aの変更などによって、実際のアドレスが変更されたとしても、画面データおよび制御プログラムにおいて、当該デバイス2aに関連する箇所全てを変更する必要がなく、変数とアドレスとの関連付けを変更するだけでよい。
【0071】
上記S1〜S3にて、画面データ、制御プログラムおよび変数の関連付けが完成すると、S4において、これらのデータは、プログラマブル表示器12に伝送され、画面データメモリ26、制御用ファイルメモリ32および変数メモリ27に格納される。なお、上記では、説明の便宜上、S1〜S3の順に各ステップを記載したが、上記S4にて、プログラマブル表示器12に格納されるまでに、これらのデータが設定されれば、順序が異なっていてもよい。
【0072】
さらに、S5において、プログラマブル表示器12は、上記制御プログラムに基づいて、IO・IF部31に接続されたデバイス2aを制御すると共に、上記画面データに基づいて、操作画面を表示する。ここで、上記S5の処理は、ラダーモニタ画面表示のトリガとなる事象が発生するまでの間(S6にて、NOの間)、繰り返される。
【0073】
トリガとなる事象が発生すると(S6にて、YESの場合)、HMI処理部25またはデバイス制御部33は、S7において、画面データまたは制御プログラムに従って、ラダーモニタ変数のうち、起動/停止を示す記憶領域を、起動を示す値に変更する。一方、コントロール−HMI処理部41は、当該記憶領域の内容を監視しており、当該記憶領域の内容が起動を示す値になると、HMI処理部25にラダーモニタ画面を表示させる。
【0074】
具体的には、上記S7において、コントロール−HMI処理部41は、画面データのうち、予めラダーモニタ用に用意された画面を表示するよう、HMI処理部25へ指示する。これによって、図5および図6に示すように、各ボタンB1〜B34が表示される。
【0075】
さらに、コントロール−HMI処理部41は、制御用ファイルメモリ32の内容を解析して、制御プログラムが示すラダー図に含まれるラダー記号、各ラダー記号間の接続関係、各ラダー記号に対応する変数の名称およびアドレスを把握し、上記ラダー図を含むラダーモニタ画面(図5および図6参照)を表示するよう、HMI処理部25へ指示する。
【0076】
また、コントロール−HMI処理部41は、制御用ファイルに基づいて、ラダー図を表示するために必要な変数を特定する。また、コントロール−HMI処理部41は、これらの各変数について、デバイス制御部33へ変数名を通知し、デバイス制御部33から、変数メモリ27のアドレスのうち、当該変数名の変数の内容が格納されたアドレスを受け取る。さらに、コントロール−HMI処理部41は、当該アドレスへアクセスして、変数の内容を取得する。
【0077】
さらに、各変数の内容が取得できると、コントロール−HMI処理部41は、各変数の内容に応じた表示形式で、各変数に対応するラダー記号を表示するよう、HMI処理部25へ指示する。また、変数の名称およびアドレスを変数メモリ27から取得すると共に、HMI処理部25へ指示して、各ラダー記号に変数名を併記させる。
【0078】
ここで、各デバイス2aに対応する変数の内容は、HMI処理部25またはデバイス制御部33によって更新されており、変数の内容取得および内容に応じた表示指示は、例えば、図5および図6に示すボタンB6が押されるなどして、ラダーモニタ画面の表示終了が指示されるまで(S8にてYES になるまで)、予め定められた周期で繰り返される。
【0079】
これにより、ディスプレイ23には、図5または図6などに示すように、デバイス2aの状態に応じたラダー図が表示される。したがって、オペレータは、ラダー図に基づいて、異常の原因を推測し、例えば、異常の原因と推定されるデバイス2aが、正常に動作しているか否かを確認するなど、推測が正しいか否かを確認できる。
【0080】
また、表示終了が指示されるまでの間、上記コントロール−HMI処理部41は、オペレータからの操作を受け付けると、操作に応じて、ラダーモニタ画面の表示を制御する。これにより、オペレータは、例えば、スクロールや、後述の検索などによって、制御プログラムの他の箇所を参照し、異常の原因を探すことができる。
【0081】
本実施形態では、HMI処理部25が受け付けたオペレータの操作をコントロール−HMI処理部41に伝えるためにも、ラダーモニタ変数が用いられており、HMI処理部25は、ボタンB1〜B34へのタッチなど、オペレータからの操作を受け付けると、操作に応じて、ラダーモニタ変数のうち、それぞれの操作に応じた領域を変更する。一方、コントロール−HMI処理部41は、ラダーモニタ変数の内容を監視しており、内容に応じて、ラダーモニタ画面の表示を制御する。
【0082】
なお、本実施形態に係るコントロール−HMI処理部41は、例えば、タッチパネル24へのタッチなどによって、ラダー記号の選択を検出すると、当該ラダー記号について、例えば、アドレスや、デバイスの状態の文字表記など、図5および図6では表示されていなかった詳細情報を表示する。これにより、図5や図6のように、概略表示の際の視認性を妨げることなく、注目すべきデバイスの詳細を提示できる。
【0083】
さらに、本実施形態に係るプログラマブル表示器12は、制御プログラム全体から、所望の命令を検索する際に必要な手間および時間を削減するために、ある条件にあった命令を検索する際、検索範囲を、命令に含まれる命令語と、オペランドとしての変数とのうちの一方に限定して、検索できるように構成されている。また、命令語を検索範囲とする命令語条件と、変数を検索範囲とする変数条件との双方が指定された場合、命令語が命令語条件にマッチし、しかも、変数が変数条件に合った命令を検索できる。
【0084】
これにより、制御プログラム全体を検索範囲として文字列検索する場合と異なり、命令語を検索しようとして、コメントや変数が検索条件に合った命令をも検索してしまうという不具合が発生せず、所望の命令語を含む命令のみを検索できる。同様に、所望の変数を含む命令を検索する際、コメントや命令語が検索条件に合った命令をも検索してしまうという不具合が発生せず、所望の変数を含む命令のみを検索できる。この結果、不所望に検索された命令を含む検索結果から所望の命令を見つける手間を削減でき、所望の命令の検索に要する時間を短縮できる。
【0085】
具体的には、本実施形態に係る制御用ファイルメモリ32には、図1に示すように、命令語条件が入力された場合に検索される命令語検索用領域(命令語名領域)51と、変数条件が入力された場合に検索される変数検索用領域(変数名領域)52とが設けられている。一例として、本実施形態に係る制御用ファイルメモリ32では、図8に示すように、制御プログラムの各命令が、命令語を示す属性A1と変数を示す属性A2とを有しており、各命令の属性A1を記憶する領域から、上記命令語検索用領域51が構成されている。また、各命令の属性A2を記憶する領域から、上記変数検索用領域52が構成されている。
【0086】
一方、コントロール−HMI処理部41がHMI処理部25に表示させるラダーモニタ画面には、図5および図6に示すように、変数条件を入力するために用いられ、変数の一覧表示を指示するボタンB21と、命令語条件を入力するために用いられ、命令語の一覧表示を指示するボタンB22とが設けられている。なお、これらのボタンに加えて、上記ラダーモニタ画面には、制御プログラムの最初(ラング1)からの検索を指示するボタンB31、検索条件の消去を指示するボタンB32、現在の表示位置から前方向への再検索を指示するボタンB33、および、現在の表示位置から後方向への再検索を指示するボタンB34も設けられている。
【0087】
オペレータによる上記ボタンB22への操作を受け付けるなどして、命令語の一覧表示の指示を受け付けると(図9に示すS21にて、YES の場合)、コントロール−HMI処理部41は、S22において、HMI処理部25へ指示して、図10に示すように、ディスプレイ23に命令語の一覧を表示させて、検索すべき命令語の選択を、オペレータに促す。
【0088】
なお、命令語の一覧として、それぞれのアイコンを一覧表示してもよいが、本実施形態では、画面中に一覧表示可能な命令語の数を増加させるために、命令語の名称(ニモニック表記)を一覧表示している。また、当該命令語の一覧は、例えば、操作画面と同様に、予め画面データとして用意されていてもよいし、例えば、コントロール−HMI処理部41が制御用ファイルメモリ32から、制御プログラムを記述した命令セットを読み出して、当該命令セットに含まれる命令語の一覧を作成し、HMI処理部25に表示させてもよい。
【0089】
S23において、例えば、検索すべき命令語が表示された領域へのタッチを受け付けるなど、オペレータによる命令語の選択指示を受け付けると、コントロール−HMI処理部41は、S24において、図11に示すように、図5または図6において、命令語の一覧表示を指示するボタンB22の代わりに、命令語条件として、選択された命令語(この場合は、OUT)を表示する。
【0090】
この状態では、図5および図6と同様に、ラダー図が表示されており、コントロール−HMI処理部41は、図9に示すS21の処理に戻って、次の操作を待ち受ける。
【0091】
図11に示すように、命令語の検索条件のみが入力されている状態で、例えば、検索を指示するボタンB31、B33またはB34への操作などによって、検索指示を受け付けると(S21およびS31にて、NO、かつ、S41で、YES の場合)、コントロール−HMI処理部41は、S42において、図1に示す命令語検索用領域51を検索して、命令語条件(この場合は、OUT)にマッチした命令を検索する。なお、検索処理でもない場合(S41でNOの場合)、コントロール−HMI処理部41は、S51において、例えば、各ラダー記号の表示更新など、その他の処理を行う。
【0092】
本実施形態に係る命令語検索用領域51は、図8に示すように、制御プログラムの各命令を記憶する領域のうち、命令語の属性A1を記憶する領域から構成されている。したがって、検索の結果、属性A1の内容が命令語条件(この場合は、OUT)を示す命令Cηが発見される。
【0093】
上記S42において、検索条件にマッチした命令が見つかると、コントロール−HMI処理部41は、S43において、制御プログラムのうち、当該命令を含む箇所を表示させた後、図9に示すS21の処理に戻って、次の操作を待ち受ける。
【0094】
本実施形態に係るコントロール−HMI処理部41は、ラダーモニタ画面に表示される箇所を検索結果に応じて変更するだけではなく、図12に示すように、当該ラダー記号Iηを区別するために、検索された命令に対応するラダー記号Iηの表示形式を、他と異なる形式(例えば、四角で囲むなど)で表示している。
【0095】
一方、例えば、オペレータによる上記ボタンB21への操作を受け付けるなどして、変数の一覧表示の指示を受け付けると(S31にて、YES の場合)、コントロール−HMI処理部41は、S32において、HMI処理部25へ指示して、図13に示すように、ディスプレイ23に変数の一覧を表示させて、検索すべき変数の選択を、オペレータに促す。また、本実施形態に係るコントロール−HMI処理部41は、各変数を一覧表示する際、変数名と共に、現在の内容も表示しているので、オペレータは、変数の内容から、検索すべきか否かを判断することもできる。さらに、本実施形態では、ボタンB22と共に、全体のページ数(例えば、2)と現在表示中のページ数(例えば、1)とが表示されている。これにより,オペレータは、現在表示されていない変数があるか否かを容易に判断できる。
【0096】
なお、変数の一覧は、例えば、操作画面と同様に、予め画面データとして用意されていてもよいが、制御プログラムの変更と画面データの変更とが必ずしも一致しているとは限らないので、例えば、コントロール−HMI処理部41が制御用ファイルメモリ32から、制御プログラムに含まれる変数名を抽出して、変数の一覧を作成し、HMI処理部25に表示させる方が望ましい。また、図13は、例えば、図5または図6に示すように、検索条件として、命令語が指定されていない状態において、変数の一覧が指示された場合を図示しており、命令一覧の表示を指示するボタンB22が表示されている。
【0097】
さらに、上記S23およびS24と同様に、S33において、検索すべき変数の選択が指示されると、コントロール−HMI処理部41は、S34において、図14に示すように、変数の一覧表示を指示するボタンB21(図5参照)の代わりに、変数条件として、選択された変数(この場合は、CTUD)を表示した後、S21の処理に戻って、次の操作を待ち受ける。また、本実施形態に係るコントロール−HMI処理部41は、選択された変数の名称と共に、当該変数の現在の値を表示させている。
【0098】
図14に示すように、変数の検索条件のみが入力されている状態で、検索指示を受け付けると、コントロール−HMI処理部41は、上記S42において、図1に示す変数検索用領域52を検索して、変数条件(この場合は、CTUD)にマッチした命令を検索する。
【0099】
本実施形態に係る変数検索用領域52は、図8に示すように、制御プログラムの各命令を記憶する領域のうち、変数の属性A2を記憶する領域から構成されている。したがって、検索の結果、属性A2の内容が変数条件(この場合は、CTUD)を示す命令Cθが発見される。
【0100】
さらに、本実施形態では、上記命令語条件および変数条件のいずれが先に入力された場合でも、他方の入力を受け付け可能であり、例えば、図11に示すように、命令語条件(この場合は、OUT)が指定された状態で、変数一覧の表示が指示されると(上記S31にて、YES )、図15に示すように、変数の一覧を表示し(S32)、変数の選択を受け付け(S33)、さらに、選択結果を表示する(S34)。これにより、図16に示すように、検索条件として、命令語条件と変数条件との双方を設定できる。
【0101】
なお、上記では、命令語条件が先に指定された場合を例にして説明したが、図14に示すように、変数条件が設定されている状態で、命令語一覧の表示が指示されると(上記S21にて、YES )、命令語の一覧を表示し(S22)、命令語の選択を受け付け(S23)、さらに、選択結果を表示する(S24)。この場合でも、図16に示すように、検索条件として、命令語条件と変数条件との双方が設定される。
【0102】
両条件が設定された状態で、検索が指示されると、コントロール−HMI処理部41は、命令語検索用領域51に、命令語条件にマッチする命令語が格納され、しかも、変数検索用領域52に、変数条件にマッチする変数が格納された命令を検索する。
【0103】
本実施形態では、制御プログラムの各命令が、命令語を示す属性A1と変数を示す属性A2とを有しており、属性A1が命令語条件(この場合は、OUT)にマッチし、しかも、属性A2が変数条件(この場合は、CTUD)にマッチする命令が検索される。この結果、命令Cθが発見される。これにより、図17に示すように、命令Cθに対応するラダー記号Iθが、他のラダー記号とは異なる表示形式で表示され、検索結果としてオペレータに通知される。
【0104】
このように、本実施形態に係るプログラマブル表示器12は、命令語を検索範囲とする条件と、変数を検索範囲とする条件との双方が設定された場合、両条件にマッチする命令を検索できる。ここで、命令語を検索範囲とする条件および変数を検索範囲とする条件の一方しか設定できない場合、コメントや他方に含まれる文字列などを誤って検索してしまうという不具合が解消できる一方で、同じ命令語が制御プログラム内で同じ命令語または変数が数多く使用されているときには、条件にマッチする命令が多くなり、所望の命令を見つけるのに手間がかかってしまう。ところが、上記両条件にマッチする命令を検索できるので、異常に関連すると推定される命令語と変数との双方を、それぞれの検索条件とすることにより、所望の命令、および、その命令近傍のラングを、より少ない手間で参照できる。例えば、「ある接点がオンしない理由」を知りたい場合に、その接点に割り付けられている変数を、出力コイル命令と絡ませて検索できる。このように、ラダーの動きを追うために、変数やデバイスを検索するとき、それを演算対象とする命令語と合わせて検索できる。この結果、異常の原因を特定し、通常の制御状態に復帰するまでのメンテナンス時間を短縮できる。
【0105】
また、本実施形態に係るプログラマブル表示器12は、上記両条件のいずれが設定されている状態でも、その条件での検索、他方の条件の設定を受け付けることができるので、オペレータは、命令を検索する際、検索条件を思いついた順番で、それぞれの条件を入力できる。また、一方の条件で検索した結果、条件にマッチする命令が多いと判った時点で、他方の条件を入力できる。これらの結果、上記両条件を受け付ける順番が固定されている場合に比べて、命令検索時の操作性を向上できる。
【0106】
なお、上記では、各命令が命令語の属性A1と変数の属性A2とを有し、ている場合を例にして説明したが、これに限るものではない。例えば、制御プログラムの各命令について、命令語および変数を、それぞれ読み出すことができるように記憶されていれば、同様の効果が得られる。この場合、コントロール−HMI処理部41は、各命令について、その命令語が記憶されている領域から命令語を読み出し、命令語条件にマッチしているか否かを判定できる。同様に、各命令について、その変数が記憶されている領域から変数を読み出し、変数条件にマッチしているか否かを判定できる。また、これとは逆に、制御プログラムの各命令語および変数のそれぞれについて、どの命令で使用されているかが記憶されていてもよい。この場合であっても、コントロール−HMI処理部41は、命令語が記憶されている領域から、命令語条件にマッチした命令語を検索し、当該命令語が使用されている命令を抽出できる。同様に、変数が記憶されている領域から変数条件にマッチした変数を検索し、当該変数が使用されている命令を抽出できる。いずれの場合であっても、命令語が記憶されている領域と、変数が記憶されている領域とが分けて設けられ、命令語条件が設定された場合には、前者を参照して該条件にマッチした命令を検索し、変数条件が設定された場合には、後者を参照して該条件にマッチした命令を検索できれば、同様の効果が得られる。
【0107】
また、上記では、制御用ファイルメモリ32に記憶された制御プログラムを、デバイス制御部33による制御プログラムの実行と、コントロール−HMI処理部41による検索との双方で使用している場合を例にして説明したが、両者が同じ手順を示していれば、実行に適した形式の制御プログラムと、検索に適した形式の制御プログラムとを別々に記憶してもよい。
【0108】
なお、上記では、プログラマブル表示器12のラダーモニタ画面の起動や画面への操作を、デバイス2aやプログラマブル表示器12の記憶領域あるいはマクロの演算結果などに対応付け可能な変数で制御する場合を例にして説明したが、例えば、制御用ホストコンピュータ14にて、ラダーモニタ画面を表示/操作する場合であっても、略同様の効果が得られる。
【0109】
ただし、本実施形態のように、ターゲットシステム2の近傍(現場)にて、オペレータに操作されるプログラマブル表示器12へ、ラダーモニタ画面を表示できると、異常が発生した場合に、現場に新たな機器を持ち込むことなく、これらの画面を参照して、異常の原因を追求できる。
【0110】
なお、現場にて対処する場合、制御用ホストコンピュータ14など、遠隔地で対応する場合と異なり、ラダーモニタを自動起動する程に重要な事象は、ユーザが特に重要と判断した異常に限られ、各ユーザ毎に異なっているため、予め定めておくことが難しい。また、ユーザによっては、トリガとなる事象として、デバイス2aの状態だけではなく、プログラマブル表示器12の記憶領域の内容やマクロの演算結果などを希望することもある。したがって、本実施形態のように、プログラマブル表示器12にて、ラダーモニタ画面の表示や画面への操作を上記のいずれにも関連付け可能な変数で制御できる方が望ましい。
【0111】
なお、上記各部材21〜52は、CPUなどの演算手段が、ROMやRAMなどの記憶手段に格納されたプログラムを実行し、タッチパネルや液晶表示装置などの入出力手段、あるいは、インターフェース回路などの通信回路を制御することによって実現される機能ブロックである。したがって、これらの手段を有するコンピュータが、上記プログラムを記録した記録媒体(例えば、CD−ROMなど)を読み取り、当該プログラムを実行するだけで、本実施形態に係るプログラマブル表示器12を実現できる。なお、例えば、シリアルケーブルやLAN13あるいは、他の通信路を介してプログラムをダウンロードするためのプログラムが、上記コンピュータに予めインストールされていれば、当該通信路を介して、上記コンピュータへ上記プログラムを配付することもできる。
【0112】
【発明の効果】
本発明に係る制御プログラム検索装置は、以上のように、検索範囲を命令語または変数に限定した条件の入力を受け付け可能であり、検索範囲が命令語に限定された命令語条件が入力された場合、制御プログラムから、命令語が命令語条件に合った命令を検索すると共に、検索対象が変数に限定された変数条件が入力された場合は、上記制御プログラムから、変数が変数条件に合った命令を検索する検索手段が設けられている構成である。また、本発明に係るプログラムは、上記した各手段としてコンピュータを動作させるプログラムであり、当該プログラムがコンピュータで実行されると、当該コンピュータは、上記制御プログラム検索装置として動作する。
【0113】
上記構成では、検索範囲を命令語または変数に限定して検索できるので、不所望に検索された命令を含む検索結果から所望の命令を見つける手間を削減でき、所望の命令の検索に要する時間を短縮できるという効果を奏する。
【0114】
本発明に係る制御プログラム検索装置は、以上のように、上記した構成において、上記制御プログラムでは、変数名として、命令語名を含む文字列を使用可能であり、上記記憶手段には、制御プログラムに出現する変数の変数名が記憶された変数名領域と、制御プログラムに出現する命令語の命令語名が記憶された命令語名領域とが含まれていると共に、上記検索手段は、命令語条件として、命令語名が入力された場合、命令語名領域を検索し、変数条件として、変数条件が入力された場合、変数名領域を検索する構成である。
【0115】
上記構成では、変数名として、命令語名を含む文字列を使用できるので、変数名として設定可能な文字列の数が増え、制御プログラム検索装置のユーザにとって読みやすい変数名を設定しやすくなる。また、この場合であっても、検索範囲に応じて、命令語名領域および変数名領域の一方を検索するので、何ら支障なく、命令語名または変数名が検索条件に合った命令を検索できる。この結果、可読性の向上と、所望の命令検索に要する時間短縮との双方を満足した制御プログラム検索装置を実現できるという効果を奏する。
【0116】
本発明に係る制御プログラム検索装置は、以上のように、上記した構成において、上記記憶手段に記憶された制御プログラム、または、それと同一手順の制御プログラムに基づいて、制御対象を制御する制御手段を備えている構成である。
【0117】
上記構成では、制御プログラム検索装置が制御手段をも備えているので、制御プログラム検索装置は、制御プログラムに基づいて制御対象を制御する制御装置として動作できる。したがって、当該制御装置が制御対象を制御している間に、制御システムに異常が発生しても、新たな装置を特に接続することなく、制御装置の制御プログラムから異常に関連すると推定される命令を検索できる。ここで、上述のように、検索手段は、検索範囲を命令語または変数に限定して検索できるので、所望の命令を検索する際の時間を短縮できる。これらの結果、異常の原因をより速く特定でき、制御装置を含む制御システムが異常から復帰するために必要な時間を短縮できるという効果を奏する。
【0118】
本発明に係る制御プログラム検索装置は、以上のように、上記した構成において、上記検索手段は、検索の条件として、上記命令語条件と変数条件との双方が入力され、アンド検索が指示された場合、命令語が命令語条件に合い、しかも、変数が変数条件に合った命令を検索する構成である。
【0119】
上記構成では、命令語条件と変数条件とをアンド検索できるので、ある命令語または変数が制御プログラム中で数多く使用されており、一方の条件だけでは、所望の命令の検索に手間がかかる場合であっても、所望の命令をより速く検索できるという効果を奏する。
【0120】
本発明に係る制御プログラム検索装置は、以上のように、上記した構成において、上記検索手段は、上記命令語条件および変数条件のいずれが先に入力された場合でも、他方の入力を受け付け可能である構成である。
【0121】
上記構成では、上記命令語条件および変数条件のいずれが先に入力された場合でも、検索手段は、他方の入力を受け付けることができるので、制御プログラム検索装置のユーザは、検索条件を思いついた順番で、各検索条件を指定でき、制御プログラム検索装置の操作性を向上できるという効果を奏する。
【0122】
本発明に係る制御プログラム検索装置は、以上のように、上記した構成において、上記検索手段は、指示に応じて、上記制御プログラムに含まれる命令語あるいは変数の一覧を表示し、上記命令語条件で指定する命令語、あるいは、上記変数条件で指定する変数の選択を促す構成である。
【0123】
上記構成では、制御プログラム検索装置のユーザは、命令語条件で指定する命令語または変数条件で指定する変数を入力する際、一覧表示された命令語または変数の中から選択するだけで入力できるので、制御プログラム検索装置の操作性を向上できるという効果を奏する。
【図面の簡単な説明】
【図1】本発明の実施形態を示すものであり、制御システムの要部構成を示すブロック図である。
【図2】上記制御システムのプログラマブル表示器の変数メモリに格納される変数のデータ構造を示す図面である。
【図3】上記プログラマブル表示器のプログラマブル・ロジック・コントローラ機能で実行される制御プログラムを、ラダープログラムとして記載した図面である。
【図4】上記制御プログラムをニモニック表記した図面である。
【図5】上記プログラマブル表示器で表示されるラダーモニタの画面例を示す図面である。
【図6】上記ラダーモニタの画面例を示すものであり、第1接点が閉じた状態を示す図面である。
【図7】上記制御システムの動作の概略を示すフローチャートである。
【図8】上記プログラマブル表示器の制御用ファイルメモリに記憶される制御プログラムを示す図面である。
【図9】上記プログラマブル表示器の動作を示すものであり、ラダーモニタ画面での検索時の動作を示すフローチャートである。
【図10】上記ラダーモニタの画面例を示すものであり、命令語一覧が表示された状態を示す図面である。
【図11】上記ラダーモニタの画面例を示すものであり、検索すべき命令語が選択された状態を示す図面である。
【図12】上記ラダーモニタの画面例を示すものであり、上記命令語での検索結果が表示された状態を示す図面である。
【図13】上記ラダーモニタの画面例を示すものであり、変数一覧が表示された状態を示す図面である。
【図14】上記ラダーモニタの画面例を示すものであり、検索すべき変数が選択された状態を示す図面である。
【図15】上記ラダーモニタの画面例を示すものであり、検索すべき命令語が指定されている状態で、変数一覧を表示している場合を示す図面である。
【図16】上記ラダーモニタの画面例を示すものであり、検索すべき命令語および変数が指定された状態を示す図面である。
【図17】上記ラダーモニタの画面例を示すものであり、上記命令語および変数での検索結果が表示された状態を示す図面である。
【符号の説明】
2a デバイス(制御対象)
12 プログラマブル表示器(制御プログラム検索装置)
32 制御用ファイルメモリ(記憶手段)
33 デバイス制御部(制御手段)
41 コントロール−HMI処理部(検索手段)
51 命令語検索用領域(命令語名領域)
52 変数検索用領域(変数名領域)
Claims (7)
- 制御プログラムを記憶する記憶手段と、当該制御プログラムに含まれる命令を検索するための条件の入力を受け付け、上記記憶手段の制御プログラムの中から当該条件に該当する命令を検索する検索手段とを有する制御プログラム検索装置において、
上記制御プログラムは、命令の動作を示す命令語と、当該動作の対象を特定可能で、しかも、変数名により特定可能な変数との組み合わせからなる命令を含むことができ、
上記制御プログラムでは、変数名として、命令語名を含む文字列を使用可能であり、
上記記憶手段には、制御プログラムに出現する変数の変数名が記憶された変数名領域と、制御プログラムに出現する命令語の命令語名が記憶された命令語名領域とが含まれており、
上記検索手段は、命令語条件として命令語名が入力された場合、命令語名領域から該命令語名により特定される命令語を含む制御プログラムを検索し、変数条件として変数名が入力された場合、変数名領域から該変数名により特定される変数を含む制御プログラムを検索することを特徴とする制御プログラム検索装置。 - 上記記憶手段に記憶された制御プログラム、または、それと同一手順の制御プログラムに基づいて、制御対象を制御する制御手段を備えていることを特徴とする請求項1記載の制御プログラム検索装置。
- 上記記憶手段は、上記制御プログラムを検索に適した形式で記憶するとともに、該制御プログラムと同一手順の制御プログラムを実行に適した形式で記憶することを特徴とする請求項2記載の制御プログラム検索装置。
- 上記検索手段は、検索の条件として、上記命令語条件と変数条件との双方が入力され、アンド検索が指示された場合、命令語が命令語条件に合い、しかも、変数が変数条件に合った命令を検索することを特徴とする請求項1、2または3記載の制御プログラム検索装置。
- 上記検索手段は、上記命令語条件および変数条件のいずれが先に入力された場合でも、他方の入力を受け付け可能であることを特徴とする請求項4記載の制御プログラム検索装置。
- 上記検索手段は、指示に応じて、上記制御プログラムに含まれる命令語あるいは変数の一覧を表示し、上記命令語条件で指定する命令語、あるいは、上記変数条件で指定する変数の選択を促すことを特徴とする請求項1、2、3、4または5記載の制御プログラム検索装置。
- 請求項1記載の各手段として、コンピュータを動作させるプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002158143A JP3847665B2 (ja) | 2002-05-30 | 2002-05-30 | 制御プログラム検索装置、および、そのプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002158143A JP3847665B2 (ja) | 2002-05-30 | 2002-05-30 | 制御プログラム検索装置、および、そのプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004005060A JP2004005060A (ja) | 2004-01-08 |
JP3847665B2 true JP3847665B2 (ja) | 2006-11-22 |
Family
ID=30428616
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002158143A Expired - Lifetime JP3847665B2 (ja) | 2002-05-30 | 2002-05-30 | 制御プログラム検索装置、および、そのプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3847665B2 (ja) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4517302B2 (ja) * | 2004-03-31 | 2010-08-04 | オムロン株式会社 | 開発支援装置の制御方法及びプログラム並びに記録媒体 |
JP2008077467A (ja) * | 2006-09-22 | 2008-04-03 | Koyo Electronics Ind Co Ltd | 表示器 |
DE112009004306T5 (de) * | 2009-02-18 | 2012-06-06 | Mitsubishi Electric Corp. | Programmanalysenunterstützungsvorrichtung |
JP6224575B2 (ja) * | 2014-12-19 | 2017-11-01 | ファナック株式会社 | 指定した信号の演算条件によりラダー回路を検索可能なラダープログラム検索装置 |
WO2021192152A1 (ja) * | 2020-03-26 | 2021-09-30 | 三菱電機株式会社 | プログラミング支援プログラム、プログラミング支援装置およびプログラミング支援方法 |
-
2002
- 2002-05-30 JP JP2002158143A patent/JP3847665B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JP2004005060A (ja) | 2004-01-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3847665B2 (ja) | 制御プログラム検索装置、および、そのプログラム | |
JP2644917B2 (ja) | プロセス監視システムおよびそのウィンドウ表示方法 | |
JP4043742B2 (ja) | ラダーモニタ装置、並びに、そのプログラムおよび記録媒体 | |
JP4476223B2 (ja) | 画面データ作成装置、画面データの編集方法及び画面データ編集プログラム | |
JP2002244798A (ja) | プログラマブル表示器 | |
JP2004280341A (ja) | ファンクションブロック呼び出し命令を含むラダープログラムの表示切替方法及びプログラミング装置 | |
JP2003157105A (ja) | 制御システム、並びに、そのプログラムおよび記録媒体 | |
JPH08335103A (ja) | プラント進行状態表示システム | |
JP4381793B2 (ja) | プログラマブル表示器、表示制御プログラムおよびそのプログラムを記録した記録媒体、ならびに画面作成装置、画面作成プログラムおよびそのプログラムを記録した記録媒体 | |
JPH08314532A (ja) | プラント監視装置 | |
JP2001290532A (ja) | 発電運転管理システム、発電運転システム統括運転管理装置および記憶媒体 | |
JP2782864B2 (ja) | 端末装置 | |
JP2000112521A (ja) | 警報表示装置 | |
JP4697822B2 (ja) | 動作内容の設定方法、表示装置 | |
JP2005143163A (ja) | インバータ装置の機能設定装置および機能設定方法 | |
JP4492769B2 (ja) | インバータ装置 | |
JP3904865B2 (ja) | 制御システム、そのプログラムおよび記録媒体 | |
JPH01199212A (ja) | 対話型表示装置の操作手順制御方式 | |
CN118394244B (zh) | 一种用于电源的输出序列波形编辑装置和编辑方法 | |
CN115803785B (zh) | 显示装置、控制系统及绘图方法 | |
JP2705260B2 (ja) | 端末装置 | |
JP2007034797A (ja) | 画面データ生成装置、並びに、そのプログラムおよび記録媒体 | |
JPH09210432A (ja) | 空調管理システム | |
JPH0876831A (ja) | インターロック表示装置およびインターロック表示方法 | |
JPH08339208A (ja) | プログラマブルコントローラのプログラム作成装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20051128 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20051213 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060207 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20060207 |
|
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: 20060822 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060823 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 3847665 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090901 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100901 Year of fee payment: 4 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100901 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110901 Year of fee payment: 5 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120901 Year of fee payment: 6 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130901 Year of fee payment: 7 |
|
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 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
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 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
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 |
|
EXPY | Cancellation because of completion of term |