JP3892276B2 - プログラマブル表示器 - Google Patents
プログラマブル表示器 Download PDFInfo
- Publication number
- JP3892276B2 JP3892276B2 JP2001329889A JP2001329889A JP3892276B2 JP 3892276 B2 JP3892276 B2 JP 3892276B2 JP 2001329889 A JP2001329889 A JP 2001329889A JP 2001329889 A JP2001329889 A JP 2001329889A JP 3892276 B2 JP3892276 B2 JP 3892276B2
- Authority
- JP
- Japan
- Prior art keywords
- user program
- display
- ladder
- screen
- control means
- 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
Links
Images
Landscapes
- Testing And Monitoring For Control Systems (AREA)
- Programmable Controllers (AREA)
Description
【発明の属する技術分野】
本発明は、プログラマブル・ロジック・コントローラ(PLC)機能と、HMI(Human Machine Interface )機能とを併せ持ったプログラマブル表示器に関し、特に、通常動作時に不要な機器を新たに接続することなしに、ユーザプログラムを変更可能なプログラマブル表示器に関するものである。
【0002】
【従来の技術】
近年、制御システムのHMIとして、デバイスの状態を表示し、操作可能なだけではなく、例えば、ラダープログラムなどのユーザプログラムが示す手順で、デバイスを直接制御可能なプログラマブル表示器も使用され始めている。
【0003】
上記プログラマブル表示器は、操作画面を表示するためのユーザ画面データに基づいて、デバイスと通信して、デバイスの状態を取得し、取得結果に応じて、例えば、デバイスを示すアイコンの形状や色を変更するなどして、デバイスの状態を表示する。また、例えば、タッチパネルへの操作など、画面への操作を受け付けると、プログラマブル表示器は、上記ユーザ画面データを参照して、操作が示すデバイスおよび状態を特定し、操作に従って、当該デバイスの状態を変更する。これにより、プログラマブル表示器は、プログラマブル表示器およびデバイスを含む制御システムのHMIとして動作できる。
【0004】
一方、上記プログラマブル表示器は、PLCとしての機能も有しており、取得されたデバイスの状態に基づいて、ユーザプログラムが示す手順で、デバイスの状態を制御する。
【0005】
当該プログラマブル表示器は、HMIの機能とPLCの機能とを兼ね備えているため、プログラマブル表示器にデバイスを接続するだけで、制御システムを構成できる。
【0006】
上記プログラマブル表示器がHMIおよびPLCとして動作するためのユーザ画面データおよびユーザプログラムは、例えば、パーソナルコンピュータなどのコンピュータで動作する、作画エディタやプログラムエディタなどによって作成された後、例えば、当該ユーザ画面データやユーザプログラムが格納されたコンピュータを、プログラマブル表示器に接続し、当該コンピュータからプログラマブル表示器へダウンロードするなどして、プログラマブル表示器に格納される。
【0007】
【発明が解決しようとする課題】
しかしながら、例えば、パラメータの調整など、ユーザプログラムの軽微な変更であっても、上記従来の構成のように、コンピュータをプログラマブル表示器に接続してユーザプログラムをダウンロードしようとすると、ユーザプログラム更新に要する手間および時間が増大するという問題を生じる。
【0008】
なお、制御システムでは、動作停止が事故や業績の悪化に直結するため、OA(Office Automation)機器に比べて、常時運転すること、並びに、ユーザプログラムの更新時の手間および時間の短縮が強く求められている。
【0009】
本発明は、上記の問題点に鑑みてなされたものであり、その目的は、通常動作時に不要な機器を新たに接続することなしに、ユーザプログラムを変更可能なプログラマブル表示器を提供することにある。
【0010】
【課題を解決するための手段】
本発明に係るプログラマブル表示器は、上記課題を解決するために、ユーザプログラムを繰り返し実行してデバイスを制御するデバイス制御手段と、上記デバイスの状態を画面表示すると共に、画面への操作を受け付け、当該操作に応じてデバイスの状態を変更するよう、上記デバイス制御手段へ指示する操作表示手段とを有するプログラマブル表示器において、以下の手段を講じたことを特徴としている。
【0011】
すなわち、上記デバイスの状態を、上記ユーザプログラムに応じたラダー図として表示するよう、上記操作表示手段へ指示すると共に、上記操作表示手段が、当該ラダー図を表示している画面への操作を受け付けた場合、上記デバイス制御手段が上記ユーザプログラムを繰り返し実行する合間に、上記ユーザプログラムを上記操作に応じて編集する制御手段を備えている。
【0012】
さらに、本構成において、以下の手段を講じたことを特徴としている。すなわち、プログラマブル表示器は、書き換え可能な不揮発性メモリと、当該不揮発性メモリよりも書き込み速度が速い揮発性メモリとを備えている。また、上記制御手段は、上記ユーザプログラムを編集する際、上記揮発性メモリに格納されたユーザプログラムを編集すると共に、ユーザプログラムの編集が指示されていない期間中に、当該揮発性メモリに格納されたユーザプログラムを、上記不揮発性メモリに格納する。さらに、プログラマブル表示器には、上記デバイス制御手段がデバイスの制御を開始する前に上記揮発性メモリがユーザプログラムを正常に保持しているか否かを判定すると共に、保持できなかった場合に、上記不揮発性メモリから上記揮発性メモリへユーザプログラムを読み込み、当該ユーザプログラムに従って、上記デバイス制御手段にデバイスを制御させる起動制御手段が設けられている。
【0013】
上記構成において、プログラマブル表示器のデバイス制御手段は、ユーザプログラムに応じて、デバイスを制御している。一方、操作表示手段は、デバイスの状態を画面に表示して、ユーザへデバイスの状態を提示する。また、操作表示手段は、例えば、ユーザなどによる画面への操作を受け付けると、当該操作に応じてデバイスの状態を変更する。これにより、プログラマブル表示器にデバイスを接続するだけで、制御システムの通常動作、すなわち、ユーザプログラムに従ったデバイスの制御、デバイスの状態の表示、および、ユーザの操作に応じたデバイスの状態変更を実施できる。
【0014】
一方、例えば、ユーザの操作などによって、ラダー図の表示が指示されると、制御手段は、デバイスの状態を、ユーザプログラムに応じたラダー図として表示するよう、操作表示手段へ指示する。これにより、プログラマブル表示器のユーザは、当該プログラマブル表示器のデバイス制御手段がデバイスを制御する際に使用しているユーザプログラムを、ラダー図として把握できる。
【0015】
さらに、操作表示手段が画面への操作を受け付けると、制御手段は、デバイス制御手段がユーザプログラムを繰り返し実行する合間に、ユーザプログラムを当該操作に応じて編集する。
【0016】
これにより、プログラマブル表示器によるデバイスの制御を一時停止させることなく、しかも、プログラマブル表示器を設置している現場に他の機器を持ち込まずに、ユーザプログラムを編集できる。
【0017】
ここで、プログラマブル表示器の設置場所は、デバイスの近傍であることが多く、劣悪な環境であったり、機器を配置可能な空間が制限されていることが多い。この結果、他の機器を持ち込み、プログラマブル表示器に接続した後で、ユーザプログラムを変更しようとすると、手間がかかることが多い。
【0018】
これに対して、上記構成では、新たな機器を持ち込むことなく、ユーザプログラムを編集できるので、例えば、ユーザプログラムにおけるパラメータを調整する場合など、ユーザプログラムを編集する際の手間を大幅に削減できる。
【0019】
また、ラダー図の表示や編集指示の受け付けは、制御システムに必須の動作、すなわち、デバイスの状態表示やデバイスへの操作受け付けと同様、操作表示手段が受け持っており、例えば、液晶表示装置などの表示装置やタッチパネルなどの入力装置、および、これら装置の制御プログラムの多くが共用されている。したがって、新たな機器を持ち込む場合と比較して、制御システムに必須の構成に余り構成を追加せずに、ユーザプログラムをその場で編集可能な制御システムを実現できる。
【0020】
さらに、上記構成によれば、制御手段がユーザプログラムを編集する際、不揮発性メモリよりも書き込み速度の速い揮発性メモリに格納されたユーザプログラムを編集するので、ラダー図を表示しながら、ユーザプログラムを編集する場合のように、ユーザプログラムの変更が頻繁に指示される場合であっても、デバイス制御手段によるデバイスの制御を阻害せずに、ユーザプログラムを編集できる。
【0021】
さらに、揮発性メモリのユーザプログラムは、例えば、ラダー図を表示していない場合など、ユーザプログラムの編集が指示されていない間に、不揮発性メモリに格納されると共に、起動制御手段は、揮発性メモリがユーザプログラムを正常に保持できない場合、不揮発性メモリのユーザプログラムに基づいて、デバイスを制御するよう、上記デバイス制御手段に指示する。これにより、例えば、停電など、揮発性メモリのユーザプログラムが失われるような事故が発生したとしても、プログラマブル表示器は、他の機器に接続することなく、自力で、正しいユーザプログラムに従ったデバイスの制御を再開できる。この結果、上記事故が発生する度に、プログラマブル表示器に外部機器を接続し、当該外部機器からユーザプログラムをダウンロードする構成に比べて、事故から復旧する際の時間と手間とを削減できる。
【0022】
なお、上記揮発性メモリの記憶領域のうち、上記ユーザプログラムが格納される領域は、バックアップされている方が望ましい。これによって、ユーザプログラムを編集してから揮発性メモリのユーザプログラムを不揮発性メモリに格納するまでの間に、瞬停などの一時的な不具合が発生しても、編集後のユーザプログラムの消失を避けることができる。
【0023】
また、制御手段は、揮発性メモリのユーザプログラムを編集した場合、不揮発性メモリのユーザプログラムを更新するよう、ユーザへ報知し、ユーザからの指示に応じて、不揮発性メモリに書き込んでもよい。この場合は、ユーザの指示に応じて、不揮発性メモリに書き込むので、例えば、ユーザによる電源断の直前など、不揮発性メモリへの書き込みを開始すると不具合が発生する時点での書き込みを防止できる。また、制御手段が報知して、不揮発性メモリへの書き込みを指示するよう、ユーザへ促すことができるので、更新のし忘れを阻止できる。
【0024】
さらに、制御手段は、揮発性メモリのユーザプログラムを更新している間、例えば、画面更新頻度や更新する領域の制限を操作表示手段へ指示するなどして、操作表示手段による表示画面更新処理よりも優先して、ユーザプログラムを更新してもよい。この場合は、優先処理しない場合よりも、プログラマブル表示器の演算能力が低い場合であっても、デバイス制御手段によるデバイス制御を阻害することなく、ユーザプログラムを変更できる。
【0025】
さらに、本発明に係るプログラマブル表示器は、<上記構成>において、以下の手段を講じたことを特徴としている。すなわち、上記デバイス制御手段は、デバイスの制御を開始する前に、上記揮発性メモリに記憶されたユーザプログラムをインストラクションリストに展開して上記揮発性メモリに記憶すると共に、当該インストラクションリストを繰り返し実行してデバイスを制御する。さらに、上記制御手段は、上記ユーザプログラムを編集する際、上記デバイス制御手段が上記インストラクションリストを繰り返し実行する合間に、上記インストラクションリストを編集し、ユーザプログラムの編集が指示されていない期間中に、上記揮発性メモリに格納された、展開前のユーザプログラムを編集する。
【0026】
当該構成では、制御手段は、展開後のインストラクションリストを編集するので、展開前のユーザプログラムを編集した後、ユーザプログラムをインストラクションリストに再展開する場合に比べて、インストラクションリストの差し替えに要する演算量を抑えることができる。
【0027】
また、制御手段は、例えば、ユーザの操作の合間など、ユーザプログラムの編集が指示されていない期間中に、揮発性メモリに格納されたユーザプログラムを編集する。ここで、一般に、ユーザがユーザプログラムを編集している間であっても、デバイス制御手段が、インストラクションリストを繰り返し実行する間隔よりも、ユーザが次の操作を指示するまでの間隔の方が長い。したがって、制御手段は、インストラクションリストの実行の合間に展開前のユーザプログラムを編集する場合よりも、ユーザプログラムの編集作業に長い時間を割くことができる。
【0028】
これらの結果、比較的低い演算能力のコンピュータであっても、デバイス制御手段によるデバイスの制御を阻害することなく、デバイスの制御手順を変更できる。
【0029】
また、本発明に係るプログラマブル表示器は、上記構成において、上記操作表示手段は、予め定められた大きさの矩形領域を単位にして、画面に表示すると共に、当該矩形領域を単位にして画面への操作を受け付け、上記制御手段は、デバイスに対応するラダー記号を上記ラダー図に表示させる際、当該ラダー記号も上記矩形領域を単位にして表示するよう、上記操作表示手段へ指示すると共に、上記操作表示手段が上記矩形領域単位で受け付けた画面への操作に基づいて、ユーザプログラムのうちの編集箇所を特定することを特徴としている。
【0030】
上記構成によれば、上述の通常動作中とユーザプログラムの編集中との双方において、矩形領域単位で表示し、操作を受け付けるので、画素単位で表示したり、操作を受け付ける場合よりも、表示および操作を受け付けた場所の特定に要する演算量を削減できる。この結果、比較的低い演算能力のコンピュータであっても、デバイス制御手段によるデバイスの制御を阻害することなく、デバイスの制御手順を変更できる。
【0031】
加えて、通常動作中に、操作表示手段がデバイスの状態を表示し、画面への操作を受け付ける場合と同じ矩形領域単位で、ラダー記号が表示され、ユーザプログラムの編集箇所が特定される。したがって、表示したり、操作場所を特定する動作の大半を、通常動作時とユーザプログラムの編集時とで共用できる。
【0032】
さらに、本発明に係るプログラマブル表示器は、上記構成において、上記制御手段は、上記編集箇所が特定された後、ラダー図に配置可能なラダー記号のうちで当該場所に配置可能なラダー記号を選択可能に表示するよう、上記操作表示手段へ指示することを特徴としている。
【0033】
上記構成では、編集箇所が特定されると、ラダー図に配置可能なラダー記号のうちで、現在の編集箇所に配置可能なラダー記号群が表示されるので、上述の通常動作時には不要な機器を新たに接続することなく、現場の機器だけでユーザプログラムを編集できるにも拘わらず、ユーザプログラムを編集しやすいプログラマブル表示器を実現できる。
【0034】
また、本発明に係るプログラマブル表示器は、上記構成において、上記デバイス制御手段は、デバイスとの対応付けを変更可能な変数で上記手順の対象が指定されたユーザプログラムに基づいて、デバイスを制御可能であり、上記制御手段は、選択可能に表示された上記ラダー記号のいずれかが選択された場合、当該ラダー記号が示す手順の対象となる変数の入力を促す画面を表示するよう、上記操作表示手段へ指示することを特徴としている。
【0035】
上記構成によれば、ユーザプログラムにおいて、例えば、入出力の対象となるデバイスや演算の対象となるデバイスなど、ユーザプログラムが示す手順の対象となるデバイスは、デバイス自体ではなく、デバイスとの対応付けを変更可能な変数で特定される。したがって、デバイスが変更され、アドレスなどが変化した場合などであっても、当該デバイスに関連する手順全ての対象を変更することなく、変数とデバイスとの対応を変更するだけですむ。この結果、デバイスを変更した場合の手間を削減できる。
【0036】
また、上記制御手段は、ユーザプログラムの編集によって、ラダー記号が選択された場合、当該ラダー記号に関連する変数の入力を促す。これにより、編集された手順であっても、対象を変数で指定できる。
【0037】
これらの結果、上述の通常動作時には不要な機器を新たに接続することなく、現場の機器だけでユーザプログラムを編集できるにも拘わらず、デバイスを変更した場合の手間を削減可能なプログラマブル表示器を実現できる。
【0038】
【発明の実施の形態】
本発明の一実施形態について図1ないし図15に基づいて説明すると以下の通りである。すなわち、図1に示すように、本実施形態に係る制御システム1は、例えば、モータやバルブあるいはセンサなどのデバイス2a・・・を含むターゲットシステム2の状態を制御するシステムであって、ユーザの操作に応じてターゲットシステム2を制御すると共に、ユーザへターゲットシステム2の状態を伝えるプログラマブル表示器3を備えている。
【0039】
本実施形態に係るプログラマブル表示器3は、HMIとしての機能に加えて、PLC機能を併せ持っており、上記デバイス2aを直接制御できる。当該プログラマブル表示器3は、例えば、図2に示すようなハードウェア構成を備えている。すなわち、プログラマブル表示器3は、プログラムやデータなどが格納されるメモリ部11と、表示装置としての液晶表示装置12a、入力装置としてのタッチパネル13aに、それぞれ接続するためのディスプレイ・コントローラ12およびタッチパネル・コントローラ13と、図1に示すデバイス2aを直接制御するI/Oユニット14と、上記メモリ部11を参照して、上記各回路12〜14を制御するCPU(Central Processing Unit )15とを備えている。
【0040】
また、I/Oユニット14は、各デバイス2aと接続される多数の入出力端子および入出力回路と、入出力メモリ、D/A変換器、A/D変換器などとを備えており、入出力端子を介して入出力されるデジタルまたはアナログ信号を、上記CPU15とやり取りできる。
【0041】
一方、メモリ部11は、ROM(Read Only Memory)11aと、書き換え可能な不揮発性メモリとしてのFEPROM(Flash Erasable and Programmable ROM )11bと、バッテリバックアップされた揮発性メモリとしてのSRAM(Static RAM)11cと、例えば、DRAM(Dynamic RAM )などからなる、揮発性メモリとしてのメインメモリ11dとを備えている。
【0042】
上記ROM11aには、例えば、電源投入時に実行される初期化プログラムやフォントデータなどが格納され、上記FEPROM11bには、後述するユーザ画面データや、当該ユーザ画面データに基づいて表示/制御するための表示制御システムプログラムなどが格納される。また、SRAM11cは、後述するように、ラダーエディタで作成したユーザプログラムが格納される第1ユーザプログラム記憶部31(図1参照)として使用される。さらに、メインメモリ11dは、上記ユーザプログラムを展開したインストラクションリストが格納されるインストラクションリスト記憶部32(図1参照)、あるいは、上記各メモリ11a〜11cに格納された他のプログラムを実行する際に展開する領域あるいは作業領域として使用される。これらのメモリ部11は、いずれも半導体メモリなので、可動部を持たず、かつ、衝撃に強い。したがって、ターゲットシステム2の近傍などの劣悪な周囲環境でも安定して動作し続けることができる。
【0043】
さらに、本実施形態では、オンラインエディット時にユーザプログラムが書き込まれる上記第1ユーザプログラム記憶部31とは別に、FEPROM11bにも、ユーザプログラムを格納する第2ユーザプログラム記憶部33(図1参照)が設けられている。
【0044】
上記第1ユーザプログラム記憶部31となるSRAM11cは、例えば、数十nsで1ワードの書き込みなど、上記FEPROM11bよりも高速に書き込みできる。一方、FEPROM11bは、上記SRAM11cよりも書き込み速度が遅いが、比較的大容量化しやすく、電源が供給されていない状態でも内容を保持できる。したがって、長時間、プログラマブル表示器3への電力供給が停止された場合など、SRAM11cをバックアップするバッテリが切れた場合でも、ユーザプログラムを保持できる。
【0045】
上記ハードウェア構成のプログラマブル表示器3へ電源が投入され、CPU15がメモリ部11のプログラムを実行して上記周辺回路12〜14を制御すると、図1に示す機能ブロック31〜38などが形成される。
【0046】
具体的には、本実施形態では、ユーザプログラムや、ユーザ画面データにおいて、対象となる各デバイス2aは、デバイスアドレスなど、デバイス2a自体を特定する情報ではなく、当該デバイスアドレスに対応し、しかも、デバイスアドレスとは異なる値に設定可能な変数で特定されている。
【0047】
さらに、変数メモリ34は、上記メインメモリ11dの一領域などとして実現され、各変数について、変数の名称(変数名)と、変数に対応するデバイス2aまたは内部メモリを特定するための情報(例えば、アドレスなど)と、変数の内容との組み合わせが記憶されている。
【0048】
また、I/O処理部35は、I/Oユニット14を介して上記各デバイス2aと通信して、デバイス2aの状態と、上記変数の内容とを一致させる。より詳細には、I/O処理部35は、デバイス2aが入力デバイスの場合、デバイス2aからの入力信号に基づいて、デバイス2aの状態を認識すると共に、各デバイス2aに対応する変数の内容として、デバイス2aの状態を書き込む。また、デバイス2aが出力デバイスの場合、各変数の内容に応じた制御指示を、それぞれに対応するデバイス2aへ出力できる。
【0049】
さらに、デバイス制御部(デバイス制御手段)36は、上記インストラクションリスト記憶部32および変数メモリ34を参照して、上記インストラクションリスト記憶部32のインストラクションリストに含まれる各インストラクションを順次実行し、変数メモリ34に格納された変数の内容に応じて、各変数の内容を更新できる。
【0050】
これにより、デバイス制御部36およびI/O処理部35は、ユーザプログラムに従って上記各デバイス2aを制御できる。なお、本実施形態では、変数に対応するデバイス2aの機種に拘わらず、変数の内容を格納する際の表現方法(例えば、ワード長や符号の有無、あるいは、BCD/2進表記など)が予め定められた表現方法に統一されており、変数が実在のデバイス2aに対応する場合、変数メモリ34には、実際の機種での表現方法も機能されている。この場合、デバイス制御部36は、デバイス2aの状態を取得あるいは制御する際、表現方法を形式変換して、格納時の表現方法を統一する。
【0051】
また、表示/操作処理部(操作表示手段)37は、上記変数メモリ34を参照して、各デバイス2aの状態に応じて、液晶表示装置12aの表示画面を更新できる。また、表示/操作処理部37は、タッチパネル13aに入力されたユーザの指示に応じて、変数メモリ34の内容を書き換えることができる。
【0052】
より詳細には、上記ユーザ画面データには、液晶表示装置12aに表示すべきベース画面や画像ブロックとしてのマークのデータおよび各マークに付与された処理指示語(タグ)などを含んでおり、表示内容プログラムを構成している。上記のマークは、タッチスイッチ、ランプ、各種表示器などの画像化された基本的な部品として予め用意されている。また、マークとしては、スイッチや数値表示器などの動的変化を画面上の任意の位置で表現させるために、所望の位置に設定された矩形エリアに所望の動画機能が設定された動画機能部も含まれる。
【0053】
上記タグは、ベース画面上で実行されるべき事象毎に作成されており、基本的には、表示制御動作を実行すべきベース画面のファイル番号と、このベース画面上で実行されるべき動作内容を特定する事象名と、各実行事象毎に参照される1または複数のデータからなる参照情報とを一組として備えている。例えば、所定の画面領域(表示座標範囲)へ、所定のデバイス2aの状態に応じた部品図形を表示する表示タグの場合、参照情報には、表示座標範囲(X・Y)と、デバイス2aに対応する変数を示す情報と、例えば、部品図形がスイッチの場合、ONを示す図形のファイルおよびOFFを示す図形のファイルなど、表示時に参照するファイル番号とが含まれる。また、タグが入力タグの場合、参照情報として、有効入力座標範囲(X・Y)と、入力結果が書き込まれるデバイス2aに対応する変数を示す情報とが含まれる。
【0054】
一方、上記表示/操作処理部37は、FEPROM11bに格納されたユーザ画面データから、ベース画面のファイル番号が現在表示中のベース画面である表示タグを抽出すると共に、各表示タグについて、変数メモリ34から当該表示タグに関連する変数の内容を読み出し、読み出した値に応じた部品図形を、画面の表示座標範囲に表示できる。なお、上述したように、各変数の内容は、I/O処理部35によって、それぞれに対応するデバイス2aの状態に応じて更新されているので、上記表示座標範囲には、デバイス2aの現状が表示される。
【0055】
ここで、上記部品図形は、例えば、液晶表示装置12aの画素数が640×480ドットの場合で、40×40ドットを1ユニットとするなど、予め定められた大きさで、矩形のユニットを単位にして構成されており、上記表示座標範囲も、表示されるユニットが、画面をユニットで隙間なく埋めた場合における各ユニットの境界を超えないように設定される。したがって、各部品図形の大きさをユニット単位で決めることができ、各部品図形の大きさがドット単位で互いに異なる場合に比べて、表示/操作処理部37は、少ない演算量で部品図形を表示できる。この結果、CPU15がPLC機能も実現するために、表示/操作処理部37としての動作に余り大きな演算能力を割けない場合であっても、表示/操作処理部37は、何ら支障なく、デバイス2aの状態を表示し操作を受け付けるための操作画面を表示できる。なお、各ユニットは、ドット単位で編集できるので、ドット単位で編集されたユニットを予め用意しておくことで、部品図形の表現能力の低下は抑えられている。
【0056】
また、タッチパネル13aへの押し操作など、ユーザの入力操作を受け取ると、表示/操作処理部37は、上記ユーザ画面データから、現在表示中のベース画面に対応し、当該入力操作にマッチする入力タグを検索し、入力結果に応じて、変数メモリ34のうち、入力タグに対応する変数の内容を変更する。ここで、変数メモリ34の内容変更は、後述のスキャンタイム毎にデバイス2aへ反映されているので、各デバイス2aの状態は、ユーザの操作に応じて制御される。なお、表示/操作処理部37は、上記操作された領域も、ユニット単位で判定しているので、操作された部品図形を少ない演算能力で特定できる。
【0057】
さらに、実行制御部38は、I/O処理部35、デバイス制御部36、表示/操作処理部37、あるいは、後述するラダーエディタ処理部41やプログラム更新処理部42などによる処理のタイミングを制御する。
【0058】
また、上記機能ブロックには、表示/操作処理部37へ指示して、第1ユーザプログラム記憶部31に格納されたユーザプログラムをラダー図として表示させ、編集指示を受け付けさせるラダーエディタ処理部(制御手段)41と、当該ラダーエディタ処理部41からの編集指示に応じて、インストラクションリスト記憶部32および第1ユーザプログラム記憶部31の内容を書き換えるプログラム更新処理部42と、第1ユーザプログラム記憶部31(SRAM11c)内のユーザプログラムが変更された場合、例えば、画面中に、”バックアップがありません”などの所定の文字列を表示するなどして、当該ユーザプログラムに合わせて、第2ユーザプログラム記憶部33(FEPROM11b)のユーザプログラムを更新するように、ユーザに促すと共に、ユーザからの指示に応じて、第2ユーザプログラム記憶部33のユーザプログラムを更新するバックアップ処理部43とが含まれる。
【0059】
さらに、上記機能ブロックには、プログラマブル表示器3の起動時に形成される起動制御部(起動制御手段)44も含まれており、プログラマブル表示器3の起動時に、上記両ユーザプログラム記憶部31・33のいずれかから読み出したユーザプログラムを展開して、インストラクションリストを生成し、インストラクションリスト記憶部32に格納できる。
【0060】
ここで、本実施形態に係るラダーエディタ処理部41は、例えば、図2に示すタッチパネル13aへの操作などによって、ラダーエディタ画面の表示が指示されると、第1ユーザプログラム記憶部31に格納されたユーザプログラムを解析して、当該ユーザプログラムが示すラダー図に含まれるラダー記号、および、各ラダー記号間の接続関係を把握し、上記表示/操作処理部37へ指示して、上記ラダー図を表示させることができる。また、ラダーエディタ処理部41は、操作画面の表示時にデバイス2aの状態に応じてデバイス2aに対応する部品図形の表示形式を表示/操作処理部37が変更するのと略同様にして、ラダー図を表示中、表示/操作処理部37がデバイス2aの状態に応じてラダー記号の表示形式を変更するように指示できる。さらに、ラダーエディタ処理部41は、操作画面を表示中にデバイス2aに対応する部品図形が操作された場合に操作対象となる部品図形を表示/操作処理部37が特定する場合と略同様にして、ラダー図を表示中、表示/操作処理部37が操作対象となる場所を特定するように、表示/操作処理部37へ指示できる。
【0061】
上記ラダー図は、例えば、図3や図4に示すように、接点やコイル、カウンタなど、図形やその他の形式で表された機能ブロックとしてのラダー記号(Iα…)と、これらに関連するラベルとからなる1または複数のネットワーク(L1…)を、左右の母線(La・Lb)内に記述した図であって、配置されているラダー記号の種類と、各ラダー記号の接続関係とによって、制御手順を図示できると共に、例えば、形状や色あるいは点滅の有無など、ラダー記号の表示形式で、デバイス2aの現在の制御状態も表示できる。
【0062】
例えば、図3および図4のラダー図は、ユーザプログラム(ラダープログラム)の各手順のうち、仮にニモニックで表記すると、図5の手順(命令語;インストラクション)を示すラダー図である。当該ラダー図では、ロードを示すラダー記号Iαが、アンドを示すラダー記号Iβ、および、インクリメントを示すラダー記号Iγを介して、母線Lbに接続されている。したがって、これらのラダー記号Iα〜Iγと、各ラダー記号Iα〜Iγの接続関係とによって、第1ユーザプログラム記憶部31に格納されたユーザプログラム(ラダープログラム)のうち、図5の命令語Cα〜Cγに対応する手順、すなわち、ラダー記号Iαに対応するデバイス2aがオン状態で、しかも、ラダー記号Iβに対応するデバイス2aがオン状態の場合、カウンタをインクリメントするという手順を記述できる。
【0063】
また、図3のラダー図では、ロードを示すラダー記号IαおよびIδがオフ状態を示す形状で記述されているのに対して、図4のラダー図では、両ラダー記号Iα、Iδがオン状態を示す形状で記述されている。したがって、図3および図4に示すラダー図からは、制御手順だけではなく、デバイス2aの制御状態、すなわち、図3の場合は、ラダー記号IαおよびIδに対応するデバイス2aがオフ状態であり、図4の場合は、ラダー記号IαおよびIδに対応するデバイス2aがオン状態であることも読み取れる。また、母線La・LbやネットワークL1…のうち、導電部分は、太く描画されている。なお、図3ないし図5では、例えば、命令語Cαとラダー記号Iαとのように、互いに対応するもの同士に、互いに同じギリシャ文字を付している。
【0064】
さらに、本実施形態に係るラダーエディタ処理部41は、ラダーエディタ画面を表示する際、図3および図4に示すように、ラダーモニタ画面を操作するためのボタンB1〜B41も合わせて表示するよう、表示/操作処理部37にへ指示する。ここで、上記ボタンB1は、ラダーモニタの終了を指示するボタンであり、ボタンB11は、ネットワークL1…の番号(ラング番号)を指示するボタンである。また、ボタンB21〜B24は、制御プログラムに応じたラダー図全体のうちのラダーモニタ画面中に表示する領域の移動(スクロール)を指示するボタンであり、それぞれ、左右上下方向に対応している。さらに、ボタンB31は、移動の単位をページ単位とするかラング単位とするかを指示するボタンであり、ボタンB41は、ラダー図中に数値を表示する際、10進表示するか16進表示するかの切り換えを指示するボタンである。
【0065】
上記構成にて、通常運転中、プログラマブル表示器3は、例えば、約50ms毎など、所定の期間(スキャンタイム)毎に、図6に示すステップ1〜ステップ5(以下では、S1〜S5のように略称する)の処理を順次繰り返している。
【0066】
より詳細には、I/O処理部35は、S1において、各デバイス2aの状態を読み出し、変数メモリ34の変数のうち、各デバイス2aに対応する変数の内容を、取得した値に応じて変更する。また、S2において、デバイス制御部36は、変数メモリ34の各変数の内容を参照しながら、インストラクションリスト記憶部32に格納されたインストラクションリスト内の各インストラクション(命令)を順次実行する。なお、変数メモリ34の内容は、各インストラクションに従って変更される。さらに、エンド命令が実行され、インストラクションリストの実行が終了すると、S3において、I/O処理部35は、変数メモリ34の各変数の内容を、それぞれに対応するデバイス2aへ書き込む。これにより、デバイス制御部36は、PLCと同様に、ユーザプログラムに従い、デバイス2aの状態に応じて各デバイス2aを制御できる。本実施形態の場合、上記S1〜S3の処理に要する期間は、例えば、20ms程度である。
【0067】
また、本実施形態に係るプログラマブル表示器3は、PLC機能と表示/操作機能とを有するプログラム表示器であり、デバイス2aの制御の合間に、表示画面更新用の期間(例えば、約30ms程度)が設けられている。この期間中、表示/操作処理部37は、ラダー図の表示が指示されていなければ(S4にて、操作画面表示の場合)、FEPROM11bに格納されたユーザ画面データに基づき、変数メモリ34の各変数の内容に応じて表示画面を更新すると共に、受け付けた操作に基づいて、各変数の内容を変更する(S5)。
【0068】
上記プログラマブル表示器3は、通常動作中、上述のスキャンタイム毎に上記S1〜S5の処理を繰り返す。これにより、PLCとして、ユーザプログラムに従ってデバイス2aを制御すると共に、HMI機器として、操作画面を表示して、ユーザへデバイス2aの現状を提示し、ユーザからの操作を受け付けることができる。
【0069】
一方、図7に示すように、操作画面の表示中に、画面の4隅の領域A11〜A14のうちの任意の3点が押されると、表示/操作処理部37は、画面データに基づいて、メニュー表示が指示されたと判断して、図8に示すように、操作画面A2の一部(この例では下端)にメニューを表示する。当該メニューには、メニューの項目を切り換えるボタンB51や、ラダーエディタ画面の表示を指示するボタンB52、あるいは、その他のボタンB53〜B54などが表示されており、ボタンB52が押されると、表示/操作処理部37は、ラダーエディタ処理部41へラダーエディタの開始指示があったことを伝える。この場合、ラダーエディタ処理部41は、表示/操作処理部37へ指示して、上述したように、液晶表示装置12aの画面上に、図3や図4に示すようなラダーエディタ画面を表示させる。
【0070】
このように、ラダーエディタ画面が表示されている間(図6に示す上記S4にて、エディット中の場合)、ラダーエディタ処理部41は、表示/操作処理部37が編集指示を受け付けていない場合(上記S6にて、なしの場合)、表示/操作処理部37へ指示して、ラダー記号の表示形式を、それぞれに対応する変数の内容に応じて変更させる(S7)。
【0071】
ここで、ラダー記号は、部品図形と同様に、ユニット単位で構成されている。また、ラダーエディット中に、変数の内容に応じて、ラダー記号の表示形式を変更する手順は、操作画面の表示中に、変数の内容に応じて、部品図形の表示形式を変更する手順と略同様である。したがって、操作画面を表示するための表示/制御プログラムに、ラダーエディタ画面を表示するためのプログラムを余り追加することなく、ラダーエディタ画面も表示可能な表示/操作処理部37を実現できる。
【0072】
上記プログラマブル表示器3は、ラダーエディタ画面の表示中で、しかも、編集指示がない場合、上述のスキャンタイム毎に、上記S1〜S4、S6およびS7の処理を繰り返す。これにより、プログラマブル表示器3は、ラダーモニタ装置として動作でき、ラダー図によって、ユーザプログラムが示す制御手順を提示すると共に、ラダー記号の表示形式によって、ラダー記号に対応するデバイス2aの現状を提示できる。
【0073】
一方、ラダーエディタ画面の表示中に、表示/操作処理部37がユーザからの操作を受け付けると(上記S6にて、ありの場合)、ラダーエディタ処理部41は、ユーザプログラムの編集処理を行う(S8)。なお、例えば、選択肢を提示した後、ユーザの操作を待ち受ける場合など、編集処理に要する時間が、上述の表示画面更新用の期間(例えば、約30ms程度)を超える場合は、編集処理は、分割され、上記各期間毎に実行される。
【0074】
上記編集処理を詳細に説明すると、表示/操作処理部37は、例えば、タッチパネル13aなどの入力装置からの操作を受け付けると、ユニット単位で操作場所を特定する。ここで、表示/操作処理部37は、ラダー記号を表示する際、ユニット単位で表示しているので、ユニット単位で操作場所を特定することで、少ない演算量で、操作対象となるラダー記号、または、ラダー記号を挿入すべき場所を特定できる。
【0075】
例えば、図9に示す領域A21を操作した場合、操作された場所(領域A21)が表示/操作処理部37によって特定される。この場合、ラダーエディタ処理部41は、ユーザプログラムのうち、当該領域A21に対応する箇所を特定すると共に、表示/操作処理部37へ指示して、図10に示すように、当該箇所に挿入可能なインストラクションを示すラダー記号を選択可能に表示させる。なお、選択可能な各ラダー記号も、ユニット単位で表示される。また、図9および図10では、説明の便宜上、ユニットの境界を破線で示している。
【0076】
ここで、図10では、一例として、アンド演算、および、ランプを示すラダー記号が列挙された場合を示している。この状態で、例えば、表示/操作処理部37によって、アンドを示すラダー記号の選択が検出された場合、ラダーエディタ処理部41は、挿入すべきラダー記号への変数の関連付けを促す画面を、表示/操作処理部37に表示させる。一例として、当該画面では、文字キーを表示して、変数名のように変数を特定するための文字列を入力するように促す。なお、表示/操作処理部37が変数名の入力を受け付ける際の手順は、操作画面の表示中にデバイス2aの状態を示す文字列を入力する場合と略同じ手順である。
【0077】
変数を特定する情報を表示/操作処理部37から受け取ると、ラダーエディタ処理部41は、例えば、挿入すべき命令語および挿入箇所の組み合わせなど、ユーザプログラムの編集内容を特定できる。例えば、図9ないし図11の場合、編集内容は、ユーザプログラムのうち、ラダー記号Iδに対応する命令語Cδ(図5参照)の後に、上記変数とのアンド演算を示す命令語を挿入する処理になる。
【0078】
なお、上記では、図9に示す領域A21のように、ラダー記号がない場所が操作され、命令語の挿入が指示された場合を例にして説明したが、ラダー記号がある場所が操作されると、ラダーエディタ処理部41は、当該ラダー記号に置換可能なラダー記号またはラダー記号の削除を選択可能に表示させ、ユーザの指示を促す。この場合、ラダーエディタ処理部41は、指示に応じた命令語の置換や削除を編集内容と把握する。
【0079】
編集内容が決まると、ラダーエディタ処理部41は、インストラクションリスト記憶部32に格納されたインストラクションリストを更新するように、プログラム更新処理部42へ指示する。ここで、インストラクションリストは、上述のスキャンタイム周期で繰り返し実行されているので、上記プログラム更新処理部42は、インストラクションリストの更新を、上述した表示画面更新用の期間(例えば、約30ms程度)中に、一括して処理している。さらに、本実施形態に係る実行制御部38は、表示/操作処理部37による画面更新処理よりも、プログラム更新処理部42によるインストラクションリスト更新処理の方を優先して処理するように、両処理部37・42を制御し、余裕があれば、図6に示す上記S7にて、表示/操作処理部37に画面更新処理させる。
【0080】
これにより、デバイス制御部36は、インストラクションリストの変更後に実施されるS2の処理では、変更後のインストラクションリストに基づいて、正常に各デバイス2aを制御できる。また、本実施形態では、ラダープログラムにおける命令の対象は、変数を介して、デバイスアドレスと関連付けられている。したがって、ある対象のデバイスアドレスが変更される場合は、対象に対応する変数のデバイスアドレスを変更するだけで、ラダープログラム上の当該対象に対応する箇所全てに、デバイスアドレスの変更を反映できる。
【0081】
なお、上記両更新処理を実施すれば上記スキャンタイムが長くなる場合には、インストラクションリストの更新処理を優先させ、表示画面更新処理の一部または全部を省略する。この場合、例えば、動きの速い場合などにコマ落ちが視認される虞れがあるが、表示のコマ落ちは、インストラクションリストの一部のみを更新する場合と異なり、誤制御に直結しない。また、インストラクションリストを更新している期間が終了すれば、表示画面が更新される。したがって、ユーザは、何ら支障なく、プログラマブル表示器3の表示や操作によって、デバイス2aの状態を把握し、制御できる。
【0082】
ここで、インストラクションリストの更新処理の際、ラダーエディタ処理部41がプログラム更新処理部42へ指示可能なコマンドは、後述するように、短時間で処理可能な幾つかのコマンドに制限されている。したがって、プログラム更新処理部42は、ラダーエディタ処理部41からの指示に応じて、インストラクションリストを逐次変更できる。さらに、インストラクションリストを逐次変更する間、プログラマブル表示器3は、表示処理よりも優先して、インストラクションリストを変更しており、表示処理の少なくとも一部を停止できる。これにより、オンラインエディット中であっても、スキャンタイムの長さは、ユーザプログラムに従う各デバイス2aの制御処理と、デバイス2aの状態の表示処理とを行う場合と略同様の長さに保たれる。したがって、オンラインエディット中であるか否かに拘らず、プログラマブル表示器3は、略一定の周期(例えば、約50msなど)で、ユーザプログラムを繰り返し実行できる。
【0083】
本実施形態では、オンラインエディット中にラダーエディタ処理部41がプログラム更新処理部42へ発行可能なコマンドとして、指定ラング間にラダー回路を1行追加する行追加コマンド、および、変数追加コマンドに加えて、既存行のラダー回路を編集する行置換コマンド、既存行を削除する行削除コマンド、ラダープログラムにおけるJMPコマンドの飛び先など、プログラム制御用のラベルを追加するラベル追加コマンド、および、一連のサブルーチンの追加を指示するサブルーチン追加コマンドが定義されている。なお、本実施形態では、行削除コマンドの発行時であっても、変数は削除されない。また、変数追加コマンドは、行追加コマンドや行置換コマンドにより、必要になった場合にのみ発行される。
【0084】
これらのコマンドが用意されていれば、オンラインエディットの用途、すなわち、デバイス2aの制御を中断することなく、ラダープログラムの一部を変更する用途に十分対応できる。さらに、上記コマンドは、ラダープログラム全体を更新する場合と比較して、更新されるデータ量が少なく、上述したデバイス制御の休止期間(例えば、約30ms)のように、表示更新用に設けられた期間で十分に処理できる。
【0085】
インストラクションリストの更新が終了すると、上述の編集内容に応じて、第1ユーザプログラム記憶部31のユーザプログラムを更新するように、プログラム更新処理部42へ指示する。また、ラダーエディタ処理部41は、編集内容に応じて、ラダー図も更新するように、表示/操作処理部37へ指示する。これにより、図11に示すように、編集後のラダー図が表示される。
【0086】
これらの処理は、インストラクションリストの更新処理とは異なり、表示画面更新用期間の複数にまたがって行ってもよい。したがって、インストラクションリストの更新処理よりも複雑な手順であるにも拘わらず、何ら支障なく、ユーザプログラムおよびラダー図を更新できる。なお、上記では、インストラクションリストの更新の後に、ユーザプログラムなどを更新する場合を例にして説明したが、インストラクションリストの前に更新してもよい。
【0087】
ここで、図1に示すプログラム更新処理部42は、第1ユーザプログラム記憶部31に当該ユーザプログラムを格納する。したがって、編集後のインストラクションリストに基づいて、第1ユーザプログラム記憶部31の内容を更新したり、FEPROM11bの一部である第2ユーザプログラム記憶部33を書き換える場合よりも、正確かつ高速にユーザプログラムを更新できる。なお、プログラム更新処理部42は、第1ユーザプログラム記憶部31へユーザプログラムを書き込む際、ユーザプログラムのチェックサムも併せて格納している。
【0088】
このように、プログラマブル表示器3は、ラダーエディタ画面の表示中、上述のスキャンタイム毎に、図6に示す上記S1〜S4およびS6〜S8の処理を繰り返す。これにより、プログラマブル表示器3は、ラダーエディタ装置としても動作でき、通常動作、すなわち、デバイス2aの制御、デバイス2aの状態表示およびデバイス2aへの操作受け付けに必須の装置(プログラマブル表示器3)以外に新たな装置を接続することなく、しかも、デバイス2aの制御を停止させずに、ユーザプログラムを編集できる。
【0089】
ここで、上記ラダーエディタ画面の表示終了が指示された段階では、ユーザプログラムは、第1ユーザプログラム記憶部31に書き込まれているが、第2ユーザプログラム記憶部33には書き込まれていない。この状態で、例えば、図7に示すように、タッチパネル13aの表示画面の4隅のうちの3点を押して、図8に示すメニューを表示させた後、設定用のボタンB54を押すなど、予め定められた特定操作が行われると、表示/操作処理部37は、例えば、図12に示すように、メンテナンス用のメニュー画面を表示する。さらに、メニューの選択項目のうち、コントローラバックアップの項目が選択されると、バックアップ処理部43は、図13に示すように、ユーザプログラム(ラダープログラム)保存の項目を表示し、当該項目が選択されると、第1ユーザプログラム記憶部31に格納されたユーザプログラムを、第2ユーザプログラム記憶部33へ書き込む。なお、第2ユーザプログラム記憶部33は、FEPROM11bの一領域として実現されており、電源供給が長時間停止されても、ユーザプログラムを保持できる一方で、SRAM11cに比べて、書き込み速度が遅い。したがって、バックアップ処理部43は、ユーザプログラム(ラダープログラム)を書き込んでいる間、図14に示すように、書き込み中である旨を液晶表示装置12aの表示画面上に表示して、ユーザに電源をオフしないように伝える。
【0090】
また、例えば、ターゲットシステム2の運転が停止された後、運転を再開した時点など、プログラマブル表示器3の電源が投入されると、プログラマブル表示器3のCPU15は、ROM11aやFEPROM11bに予め格納された起動プログラムを実行し、機能ブロックとして、図1に示す起動制御部44が形成される。当該起動制御部44は、図15に示すS11において、SRAM11cの特定の領域に予め格納されたストリング(シグネチャー)を照合する。当該ストリングは、SRAM11cの内容が正常であるか否かを確認するために格納される固定のテキストであって、SRAM11cがバッテリバックアップされている間中、値が保持される。ところが、例えば、長時間の電源供給停止などで、バッテリが切れると、SRAM11cは、上記ストリングを保持できない。したがって、上記ストリングを照合することで、バッテリ切れが発生したか否かを識別できる。
【0091】
照合に成功した場合、起動制御部44は、S12において、例えば、SRAM11cやFEPROM11bの所定の領域あるいはディップスイッチなど、不揮発性の記憶手段に格納されたラダーフラグを参照し、SRAM11cおよびFEPROM11bのうち、いずれに設けられたユーザプログラム記憶部31・33から、ユーザプログラムを読み出すかを判定する。
【0092】
ここで、通常、ラダーフラグは、SRAM11c(第1ユーザプログラム記憶部31)からユーザプログラムを読み出すように設定されている(S12にて、SRAMの場合)。したがって、起動制御部44は、S13において、第1ユーザプログラム記憶部31からユーザプログラムを読み出し、第1ユーザプログラム記憶部31に格納されたチェックサムと、読み出したユーザプログラムから算出したチェックサムとを比較して、第1ユーザプログラム記憶部31のユーザプログラムが正しく保存されていたか否かを確認する。なお、チェックサムの照合に失敗した場合、起動制御部44は、S31において、例えば、”メジャー異常”を液晶表示装置12aに表示するなどして、プログラマブル表示器3のユーザに、通常起こり得ない異常が発生し、処理を続けることができない旨を通知する。
【0093】
チェックサムの照合に成功した場合、すなわち、上記両チェックサムが一致した場合、起動制御部44は、S14において、第1ユーザプログラム記憶部31に格納されたユーザプログラムと、第2ユーザプログラム記憶部33に格納されたユーザプログラムとを比較し、両者が一致していない場合、起動制御部44は、S15において、バックアップ処理部43へ指示して、液晶表示装置12aに”バックアップがありません”と表示させるなどして、プログラマブル表示器3のユーザにバックアップを促す。なお、両ユーザプログラムは、例えば、それぞれのチェックサムを比較するなどして比較される。
【0094】
また、起動制御部44は、バックアップの有無に拘らず、S16において、第1ユーザプログラム記憶部31からユーザプログラムを読み出すと共に、S17において、当該ユーザプログラムを展開してインストラクションリストを作成し、メインメモリ11dのインストラクションリスト記憶部32に格納する。
【0095】
上記S11〜S17の処理により、ユーザプログラムに応じたインストラクションリストがインストラクションリスト記憶部32に格納されると、プログラマブル表示器3は、通常運転状態に移行し、上述したように、図6に示すS1ないしS8の処理を繰り返して各デバイス2aを制御する。
【0096】
一方、上記S11での照合に失敗した場合は、SRAM11cの内容が失われたことを示している。この場合、起動制御部44は、S21において、FEPROM11bの第2ユーザプログラム記憶部33からユーザプログラムを読み出すと共に、S22において、液晶表示装置12aに”マイナー異常”と表示するなどして、プログラマブル表示器3のユーザにバッテリ切れが発生するなどして、SRAM11cの内容が失われたことを報知する。
【0097】
また、起動制御部44は、S23において、ラダーフラグを”SRAM”に設定すると共に、ストリングを書き込む。当該ストリングは、次にバッテリ切れが発生するまでの間、保持されるので、プログラマブル表示器3は、各起動時(上記S11)に当該ストリングを参照することで、バッテリ切れの有無を確認できる。
【0098】
さらに、起動制御部44は、S24において、FEPROM11bの第2ユーザプログラム記憶部33からユーザプログラムを読み出して、SRAM11cの第1ユーザプログラム記憶部31に格納した後、上記S16以降の処理を行う。このように、SRAM11cの内容が失われた場合であっても、プログラマブル表示器3は、FEPROM11bの第2ユーザプログラム記憶部33からユーザプログラムを読み出すことで、他の機器と通信することなく自力で起動できる。
【0099】
なお、上記S12の判定にて、ラダーフラグが”FEPROM”を示している場合、起動制御部44は、S24以降の処理を行い、第2ユーザプログラム記憶部33からユーザプログラムを読み出す。また、例えば、バックアップしていない状態など、第2ユーザプログラム記憶部33にユーザプログラムが格納されていない場合、上記S11におけるストリングの照合に失敗し、上記S21にて、第2ユーザプログラム記憶部33からユーザプログラムを読み出そうとしても、読み出しに失敗する。このとき、起動制御部44は、S32において、液晶表示装置12aに”ラダープログラムなし”と表示するなどして、第2ユーザプログラム記憶部33にもユーザプログラムが記憶されていないことを、ユーザに報知する。この場合、ユーザは、プログラマブル表示器3にコンピュータを接続した後、当該コンピュータからのユーザプログラム読み込みを指示するなどして、他の機器(コンピュータなど)からユーザプログラムをプログラマブル表示器3に読み込ませる。
【0100】
なお、上記では、プログラマブル表示器3にユーザプログラムが既に格納されている場合を例にして説明したが、例えば、プログラマブル表示器3の設置時など、ユーザプログラムや、I/Oユニット14を介してデバイス2aを制御するためのI/Oドライバが、プログラマブル表示器3に格納されていない場合には、プログラマブル表示器3に図示しないコンピュータが接続される。さらに、起動制御部44は、当該コンピュータからI/Oドライバやユーザプログラムをダウンロードし、FEPROM11bに書き込む。また、ダウンロードに伴なって、例えば、ラダーフラグを”FEPROM”に設定し、SRAM11cにストリングを書き込むなどして、次にプログラマブル表示器3が起動する際、FEPROM11bの第2ユーザプログラム記憶部33からユーザプログラムを読み出すように設定される。
【0101】
【発明の効果】
本発明に係るプログラマブル表示器は、以上のように、デバイスの状態を表示し操作を受け付ける操作表示手段へ、デバイス制御手段が制御するデバイスの状態を、ユーザプログラムに応じたラダー図として表示するよう指示すると共に、当該操作表示手段が、当該ラダー図を表示している画面への操作を受け付けた場合、上記デバイス制御手段が上記ユーザプログラムを繰り返し実行する合間に、上記ユーザプログラムを上記操作に応じて編集する制御手段を備えている構成である。
【0102】
上記構成によれば、制御手段は、デバイスの状態を、ユーザプログラムに応じたラダー図として表示するよう、操作表示手段へ指示すると共に、操作表示手段が画面への操作を受け付けると、制御手段は、デバイス制御手段がユーザプログラムを繰り返し実行する合間に、ユーザプログラムを当該操作に応じて編集する。これにより、プログラマブル表示器によるデバイスの制御を一時停止させることなく、しかも、プログラマブル表示器を設置している現場に他の機器を持ち込まずに、ユーザプログラムを編集できるという効果を奏する。
【0103】
本発明に係るプログラマブル表示器は、以上のように、上記構成において、上記制御手段は、上記ユーザプログラムを編集する際、上記揮発性メモリに格納されたユーザプログラムを編集すると共に、ユーザプログラムの編集が指示されていない期間中に、当該揮発性メモリに格納されたユーザプログラムを、上記不揮発性メモリに格納し、上記プログラマブル表示器には、上記揮発性メモリがユーザプログラムを正常に保持できなかった場合に、上記不揮発性メモリから上記揮発性メモリへユーザプログラムを読み込む起動制御手段が設けられている構成である。
【0104】
上記構成によれば、ユーザプログラムの編集時に、揮発性メモリのユーザプログラムを編集するので、ユーザプログラムの変更が頻繁に指示される場合であっても、デバイス制御手段によるデバイスの制御を阻害せずに、ユーザプログラムを編集できる。また、揮発性メモリがユーザプログラムを正常に保持できない場合、不揮発性メモリのユーザプログラムに基づいて、デバイスが制御されるので、揮発性メモリのユーザプログラムが失われるような事故が発生したとしても、プログラマブル表示器は、自力で、正しいユーザプログラムに従ったデバイスの制御を再開できる。これらの結果、デバイス制御手段によるデバイスの制御を阻害せずに、ユーザプログラムを編集できるにも拘わらず、事故から復旧する際の時間と手間とを削減できるという効果を奏する。
【0105】
本発明に係るプログラマブル表示器は、以上のように、上記構成において、上記制御手段は、上記ユーザプログラムを編集する際、ユーザプログラム展開したインストラクションリストを、上記デバイス制御手段が繰り返し実行する合間に、上記インストラクションリストを編集し、ユーザプログラムの編集が指示されていない期間中に、上記揮発性メモリに格納された、展開前のユーザプログラムを編集する構成である。
【0106】
当該構成では、制御手段は、展開後のインストラクションリストを編集し、ユーザプログラムの編集が指示されていない期間中に、揮発性メモリに格納されたユーザプログラムを編集するので、比較的低い演算能力のコンピュータであっても、デバイス制御手段によるデバイスの制御を阻害することなく、デバイスの制御手順を変更できるという効果を奏する。
【0107】
本発明に係るプログラマブル表示器は、以上のように、上記記載の発明の構成において、上記操作表示手段は、予め定められた大きさの矩形領域を単位にして、画面に表示すると共に、当該矩形領域を単位にして画面への操作を受け付け、上記制御手段は、デバイスに対応するラダー記号を上記ラダー図に表示させる際、当該ラダー記号も上記矩形領域を単位にして表示するよう、上記操作表示手段へ指示すると共に、上記操作表示手段が上記矩形領域単位で受け付けた画面への操作に基づいて、ユーザプログラムのうちの編集箇所を特定する構成である。
【0108】
上記構成によれば、上述の通常動作中とユーザプログラムの編集中との双方において、矩形領域単位で表示し、操作を受け付けるので、画素単位で表示したり、操作を受け付ける場合よりも、表示および操作を受け付けた場所の特定に要する演算量を削減できる。この結果、表示したり、操作場所を特定する動作の大半を、通常動作時とユーザプログラムの編集時とで共用できると共に、比較的低い演算能力のコンピュータであっても、デバイス制御手段によるデバイスの制御を阻害することなく、デバイスの制御手順を変更できるという効果を奏する。
【0109】
本発明に係るプログラマブル表示器は、以上のように、上記構成において、上記制御手段は、上記編集箇所が特定された後、ラダー図に配置可能なラダー記号のうちで当該場所に配置可能なラダー記号を選択可能に表示するよう、上記操作表示手段へ指示する構成である。
【0110】
上記構成では、編集箇所が特定されると、ラダー図に配置可能なラダー記号のうちで、現在の編集箇所に配置可能なラダー記号群が表示されるので、上述の通常動作時には不要な機器を新たに接続することなく、現場の機器だけでユーザプログラムを編集できるにも拘わらず、ユーザプログラムを編集しやすいプログラマブル表示器を実現できるという効果を奏する。
【0111】
本発明に係るプログラマブル表示器は、以上のように、上記構成において、上記デバイス制御手段は、デバイスとの対応付けを変更可能な変数で上記手順の対象が指定されたユーザプログラムに基づいて、デバイスを制御可能であり、上記制御手段は、選択可能に表示された上記ラダー記号のいずれかが選択された場合、当該ラダー記号が示す手順の対象となる変数の入力を促す画面を表示するよう、上記操作表示手段へ指示する構成である。
【0112】
上記構成によれば、上記制御手段は、ユーザプログラムの編集によって、ラダー記号が選択された場合、当該ラダー記号に関連する変数の入力を促す。これにより、編集された手順であっても、対象を変数で指定できる。したがって、上述の通常動作時には不要な機器を新たに接続することなく、現場の機器だけでユーザプログラムを編集できるにも拘わらず、デバイスを変更した場合の手間を削減可能なプログラマブル表示器を実現できる。
【図面の簡単な説明】
【図1】 本発明の実施形態を示すものであり、プログラマブル表示器を含む制御システムの要部構成を示すブロック図である。
【図2】 上記プログラマブル表示器のハードウェア構成例を示すブロック図である。
【図3】 上記プログラマブル表示器の表示画面例を示すものであり、ラダーエディタ画面を示す説明図である。
【図4】 上記プログラマブル表示器の表示画面例を示すものであり、他のラダーエディタ画面を示す説明図である。
【図5】 上記ラダーエディタ画面で表示されるユーザプログラムを示すものであり、ニモニックで表現した説明図である。
【図6】 上記プログラマブル表示器の動作を示すフローチャートである。
【図7】 上記プログラマブル表示器の表示画面例を示すものであり、操作画面を示す説明図である。
【図8】 上記プログラマブル表示器の表示画面例を示すものであり、メニュー表示した場合を示す説明図である。
【図9】 上記プログラマブル表示器の表示画面例を示すものであり、ラダーエディタ画面にて編集が指示された場合を示す説明図である。
【図10】 上記プログラマブル表示器の表示画面例を示すものであり、ラダーエディタ画面にて、挿入可能なラダー記号を表示した場合を示す説明図である。
【図11】 上記プログラマブル表示器の表示画面例を示すものであり、編集後のラダーエディタ画面を示す説明図である。
【図12】 上記プログラマブル表示器の表示画面例を示すものであり、コントローラメニューを示す説明図である。
【図13】 上記プログラマブル表示器の表示画面例を示すものであり、コントローラバックアップ画面を示す説明図である。
【図14】 上記プログラマブル表示器の表示画面例を示すものであり、ユーザプログラムをFEPROMに書き込んでいる場合を示す説明図である。
【図15】 上記プログラマブル表示器において、起動時の動作を示すフローチャートである。
【符号の説明】
2a デバイス
3 プログラマブル表示器
11b FEPROM(不揮発性メモリ)
11c SRAM(揮発性メモリ)
36 デバイス制御部(デバイス制御手段)
37 表示/操作処理部(操作表示手段)
31 第1ユーザプログラム記憶部(揮発性メモリ)
33 第2ユーザプログラム記憶部(不揮発性メモリ)
41 ラダーエディタ処理部(制御手段)
44 起動制御部(起動制御手段)-
Claims (5)
- ユーザプログラムが示す手順を繰り返し実行してデバイスを制御するデバイス制御手段と、上記デバイスの状態を画面表示すると共に、画面への操作を受け付け、当該操作に応じてデバイスの状態を変更するよう、上記デバイス制御手段へ指示する操作表示手段とを有するプログラマブル表示器において、
上記デバイスの状態を、上記ユーザプログラムに応じたラダー図として表示するよう、上記操作表示手段へ指示すると共に、上記操作表示手段が、当該ラダー図を表示している画面への操作を受け付けた場合、上記デバイス制御手段が上記ユーザプログラムを繰り返し実行する合間に、上記ユーザプログラムを上記操作に応じて編集する制御手段と、
書き換え可能な不揮発性メモリと、
当該不揮発性メモリよりも書き込み速度が速い揮発性メモリとを備え、
上記制御手段は、上記ユーザプログラムを編集する際、上記揮発性メモリに格納されたユーザプログラムを編集すると共に、ユーザプログラムの編集が指示されていない期間中に、当該揮発性メモリに格納されたユーザプログラムを、上記不揮発性メモリに格納し、
さらに、上記デバイス制御手段がデバイスの制御を開始する前に上記揮発性メモリがユーザプログラムを正常に保持しているか否かを判定すると共に、保持できなかった場合に、上記不揮発性メモリから上記揮発性メモリへユーザプログラムを読み込み、当該ユーザプログラムに従って、上記デバイス制御手段にデバイスを制御させる起動制御手段が設けられていることを特徴とするプログラマブル表示器。 - 上記デバイス制御手段は、デバイスの制御を開始する前に、上記揮発性メモリに記憶されたユーザプログラムをインストラクションリストに展開して上記揮発性メモリに記憶すると共に、当該インストラクションリストを繰り返し実行してデバイスを制御し、
上記制御手段は、上記ユーザプログラムを編集する際、上記デバイス制御手段が上記ユーザプログラムを繰り返し実行する合間に、上記インストラクションリストを編集し、ユーザプログラムの編集が指示されていない期間中に、上記揮発性メモリに格納された、展開前のユーザプログラムを編集することを特徴とする請求項1記載のプログラマブル表示器。 - 上記操作表示手段は、予め定められた大きさの矩形領域を単位にして、画面に表示すると共に、当該矩形領域を単位にして画面への操作を受け付け、
上記制御手段は、デバイスに対応するラダー記号を上記ラダー図に表示させる際、当該ラダー記号も上記矩形領域を単位にして表示するよう、上記操作表示手段へ指示すると共に、上記操作表示手段が上記矩形領域単位で受け付けた画面への操作に基づいて、ユーザプログラムのうちの編集箇所を特定することを特徴とする請求項1または2記載のプログラマブル表示器。 - 上記制御手段は、上記編集箇所が特定された後、ラダー図に配置可能なラダー記号のうちで当該場所に配置可能なラダー記号を選択可能に表示するよう、上記操作表示手段へ指示することを特徴とする請求項3記載のプログラマブル表示器。
- 上記デバイス制御手段は、デバイスとの対応付けを変更可能な変数で上記手順の対象が指定されたユーザプログラムに基づいて、デバイスを制御可能であり、
上記制御手段は、選択可能に表示された上記ラダー記号のいずれかが選択された場合、当該ラダー記号が示す手順の対象となる変数の入力を促す画面を表示するよう、上記操作表示手段へ指示することを特徴とする請求項4記載のプログラマブル表示器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001329889A JP3892276B2 (ja) | 2001-10-26 | 2001-10-26 | プログラマブル表示器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001329889A JP3892276B2 (ja) | 2001-10-26 | 2001-10-26 | プログラマブル表示器 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2003131710A JP2003131710A (ja) | 2003-05-09 |
JP3892276B2 true JP3892276B2 (ja) | 2007-03-14 |
Family
ID=19145705
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001329889A Expired - Fee Related JP3892276B2 (ja) | 2001-10-26 | 2001-10-26 | プログラマブル表示器 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3892276B2 (ja) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009110455A (ja) * | 2007-10-31 | 2009-05-21 | Hakko Denki Kk | プログラマブル操作表示器、そのプログラム |
JP2010204737A (ja) * | 2009-02-27 | 2010-09-16 | Fuji Electric Systems Co Ltd | プログラマブルコントローラの制御システムおよびプログラマブルコントローラの制御プログラム実行方法 |
JP6020071B2 (ja) * | 2012-11-14 | 2016-11-02 | 富士電機株式会社 | プログラマブルコントローラシステム、その支援装置、プログラマブルコントローラ |
KR101907199B1 (ko) * | 2016-11-11 | 2018-10-12 | (주)위너스엔지니어링 | 계측제어 설비에서의 프로그램 구동 장치 및 계측제어 설비에서의 프로그램 구동 방법 |
JP7234810B2 (ja) * | 2019-06-07 | 2023-03-08 | オムロン株式会社 | サポート装置およびサポートプログラム |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS60229106A (ja) * | 1984-04-27 | 1985-11-14 | Hitachi Ltd | リアルタイム修正型プログラマブルロジツクコントロ−ラ |
JPH03144705A (ja) * | 1989-10-30 | 1991-06-20 | Fuji Electric Co Ltd | プログラマブルコントローラの動作状態監視装置 |
JP3442963B2 (ja) * | 1997-04-04 | 2003-09-02 | 株式会社デジタル | プログラマブル表示装置 |
JP3363056B2 (ja) * | 1997-04-09 | 2003-01-07 | 株式会社デジタル | プログラマブル表示装置 |
JP3451489B2 (ja) * | 1997-09-12 | 2003-09-29 | オムロン株式会社 | Ram内容破壊対応処理方法及びプログラマブルコントローラ |
JPH11110014A (ja) * | 1997-09-30 | 1999-04-23 | Degital:Kk | プログラマブル表示装置 |
-
2001
- 2001-10-26 JP JP2001329889A patent/JP3892276B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2003131710A (ja) | 2003-05-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1669827B1 (en) | Numerical controller | |
JPH0561646B2 (ja) | ||
EP1708057B1 (en) | Programmable terminal system | |
JP3892276B2 (ja) | プログラマブル表示器 | |
CN113632017B (zh) | 驱动控制装置 | |
JP4566904B2 (ja) | システム、制御プログラムおよびそのプログラムを記録した記録媒体、ならびに画像データ作成プログラムおよびそのプログラムを記録した記録媒体 | |
JP3847601B2 (ja) | 制御表示装置、制御プログラムおよびそれを記録した記録媒体 | |
JP2006209381A (ja) | 制御用表示装置、そのプログラムおよび記録媒体 | |
JP2007179112A5 (ja) | ||
JPH06314202A (ja) | 画像形成装置 | |
JP4684848B2 (ja) | 制御装置、そのプログラムおよび記録媒体 | |
JP4043742B2 (ja) | ラダーモニタ装置、並びに、そのプログラムおよび記録媒体 | |
JPH1027105A (ja) | 起動用のプログラムをフラッシュromに格納するマイコン装置 | |
JP4372739B2 (ja) | プログラマブル表示器、制御プログラムおよびそのプログラムを記録した記録媒体、ならびに画面作成装置、画面作成プログラムおよびそのプログラムを記録した記録媒体 | |
JPH07225831A (ja) | 表示制御装置用のデータ作成支援装置 | |
JP2004005060A (ja) | 制御プログラム検索装置、および、そのプログラム | |
JP4509991B2 (ja) | プログラマブル表示器、プログラムおよびそれを記録した記録媒体 | |
JP3278215B2 (ja) | 表示制御装置用のデータ作成支援装置 | |
JP2008097551A (ja) | ユニット情報設定装置、ユニット情報設定プログラムおよびそれを記録した記録媒体 | |
JP2522839B2 (ja) | プログラマブルコントロ―ラのプログラミング装置 | |
JP2003157105A (ja) | 制御システム、並びに、そのプログラムおよび記録媒体 | |
JP2001056704A (ja) | プログラム式表示装置 | |
JPH0566934A (ja) | プログラマブルコントローラのプログラミング装置 | |
JP2000214921A (ja) | 表示装置 | |
JPH077839U (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 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060209 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20060209 |
|
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: 20061205 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20061206 |
|
R150 | Certificate of patent (=grant) or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101215 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101215 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111215 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111215 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121215 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121215 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131215 Year of fee payment: 7 |
|
LAPS | Cancellation because of no payment of annual fees |