(57)【要約】      （修正有）【課題】ラダー命令の実行処理時間の高速化を図るため、汎用マイクロプロセッサのＦＬＡＳＨメモリに格納するラダー命令実行プログラムをユーザで自由に設定可能とし、設定変更によりラダープログラムの処理時間を調整可能とするプログラマブルコントローラを提供する。【解決手段】ラダーシーケンスプログラムを実行する汎用マイクロプロセッサと、該プログラムと演算結果であるデータを格納するメモリと、汎用マイクロプロセッサのシステムプログラムおよび該汎用マイクロプロセッサが実行できるオブジェクトに変換されたラダー命令実行サブルーチンが格納された不揮発性メモリと、不揮発性メモリよりアクセス時間が早いオブジェクトメモリとから構成されている演算部を備えたプログラマブルコントローラにおいて、汎用マイクロプロセッサは、ＦＬＡＳＨメモリを内蔵し、該ＦＬＡＳＨメモリはシステムプログラムより書き換えが可能である。【選択図】図１
2012146244.tif 000002
【特許請求の範囲】
【請求項１】
ラダーシーケンスプログラムを実行する汎用マイクロプロセッサと、
ラダーシーケンスプログラムと演算結果であるデータを格納するメモリと、
前記汎用マイクロプロセッサのシステムプログラムおよび該汎用マイクロプロセッサが実行できるオブジェクトに変換されたラダー命令実行サブルーチンが格納された不揮発性メモリと、
前記不揮発性メモリよりアクセス時間が早いオブジェクトメモリと、
から構成されている演算部を備えたプログラマブルコントローラにおいて、
前記汎用マイクロプロセッサは、不揮発性メモリのＦＬＡＳＨメモリを内蔵し、
該ＦＬＡＳＨメモリはシステムプログラムより書き換えが可能であることを特徴とするプログラマブルコントローラ。
【請求項２】
請求項１記載のプログラマブルコントローラにおいて、
前記演算部の汎用マイクロプロセッサの他に基本命令や比較的簡単な命令を実行する専用プロセッサを追加構成したことを特徴とするプログラマブルコントローラ。
【請求項３】
請求項１又は請求項２に記載のプログラマブルコントローラにおいて、
ラダー命令の他にラダープログラムの一部分を前記汎用マイクロプロセッサが実行可能なオブジェクトに変換されたラダー命令実行プログラムを前記汎用マイクロプロセッサの内蔵ＦＬＡＳＨメモリへ格納することを特徴とするプログラマブルコントローラ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラマブルコントローラに係り、ラダープログラムの演算を高速に行うための演算部の構成に関する。
【背景技術】
【０００２】
本技術分野の背景技術として、特許文献１（特開平１０−１９８４０９号公報）がある。この特許文献1には、基本命令処理プロセッサの処理ではメモリ素子へのアクセスタイムが演算の高速化のネックとなる。また、応用命令へのランダムな遭遇による汎用マイクロプロセッサと基本命令処理用専用プロセッサへの処理切り替え時間が高速化のネックとなる。これを解決するため、ラダーシーケンス用プログラムメモリ５Ａとデータメモリ５Ｂのバスを分離し、専用プロセッサ６はプログラムメモリとデータメモリに対して別々にインタフェースを持たせることで同時にアクセスできるようにし、かつプログラムメモリからリードしたデータを多段にしたレジスタ６1〜６3を使ってパイプライン処理を行う、ことが記載されている。
【０００３】
また、特許文献２（特開平９−２８８５０５号公報）があり、この特許文献２には、ユーザロジックメモリに格納されているラダープログラムを実行する場合に、ラダープログラムに対応してサブルーチンに格納されている実行プログラムをユーザロジックブロック毎に読み出さなければならないため、１つのユーザロジックブロックに対して２度のプログラムの読み出し時間がかかってしまう。これを解決するため、予め、オブジェクトメモリ４０内にラダープログラム及びそれに対応する実行プログラムが格納されたオブジェクトブロック４１−１〜４１−ｎが設定され、ラダープログラムが実行される際は、オブジェクトメモリ４０にアクセスすることのみにより行われることが記載されている。
【０００４】
また、従来のプログラマブルコントローラの演算部の構成を図９に示す。
【０００５】
図９において、１は汎用マイクロプロセッサ、２は不揮発性メモリ（ＲＯＭ）、３はオブジェクトメモリ、５はラダープログラムメモリ、７はシリアル通信ポートである。
【０００６】
従来のプログラマブルコントローラの演算部の汎用マイクロプロセッサのＦＬＡＳＨメモリ１Ａには、ユーザはメモリの内容を変更することができなかった。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開平１０−１９８４０９号公報
【特許文献２】特開平９−２８８５０５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
汎用マイクロプロセッサがラダープログラムを実行する場合に、プログラムの読み出しや演算結果の格納に伴うメモリアクセスが0演算の高速化のネックとなる。汎用マイクロプロセッサがラダープログラムを実行する場合、汎用マイクロプロセッサが実行可能なオブジェクトに変換されたラダー命令が予めメモリに格納されている。
【０００９】
また、ラダー命令のなかで多く使われる基本命令を汎用マイクロプロセッサで実行する場合にはメモリアクセス時間が短くなる汎用マイクロプロセッサに内蔵されたメモリに予め格納し、実行処理時間の高速化を図ることができる。
【００１０】
しかし、従来技術では内蔵メモリへ格納するラダー命令をユーザで指定することができないため、予め固定された処理時間を必要とするラダー命令を組合せ、ラダープログラムの構成を変更することにより処理時間の短縮を図る必要があった。
【００１１】
本発明の目的は、汎用マイクロプロセッサの内蔵メモリに格納するラダー命令実行プログラムをユーザで自由に設定可能とし、設定変更によりラダープログラムの処理時間を調整可能とするプログラマブルコントローラを提供することである。
【課題を解決するための手段】
【００１２】
上記目的を達成するため、本発明は、ラダーシーケンスプログラムを実行する汎用マイクロプロセッサと、ラダーシーケンスプログラムと演算結果であるデータを格納するメモリと、前記汎用マイクロプロセッサのシステムプログラムおよび該汎用マイクロプロセッサが実行できるオブジェクトに変換されたラダー命令実行サブルーチンが格納された不揮発性メモリと、前記不揮発性メモリよりアクセス時間が早いオブジェクトメモリとから構成されている演算部を備えたプログラマブルコントローラにおいて、前記汎用マイクロプロセッサは、不揮発性メモリのＦＬＡＳＨメモリを内蔵し、該ＦＬＡＳＨメモリはシステムプログラムより書き換えが可能であることを特徴とする。
【００１３】
また、上記プログラマブルコントローラにおいて、前記演算部の汎用マイクロプロセッサの他に基本命令や比較的簡単な命令を実行する専用プロセッサを追加構成したことを特徴とする。
【００１４】
また、上記プログラマブルコントローラにおいて、ラダー命令の他にラダープログラムの一部分を前記汎用マイクロプロセッサが実行可能なオブジェクトに変換されたラダー命令実行プログラムを前記汎用マイクロプロセッサの内蔵ＦＬＡＳＨメモリへ格納することを特徴とする。
【発明の効果】
【００１５】
本発明によれば、指定されたラダー命令またはラダープログラムの一部分について、汎用マイクロプロセッサが実行可能なオブジェクトに変換されたラダー命令実行プログラムを汎用マイクロプロセッサ内蔵のＦＬＡＳＨメモリに格納できる構成としたことで、ラダー命令実行プログラムの読み出し時間を短縮することができ、ユーザが作成したラダープログラムについて使用頻度の多い命令についての処理時間の高速化や定周期プログラムなど一定時間内に処理を完了させたい処理について、ユーザ設定により処理時間を調整することが可能となり、高速演算が実現できる。
【００１６】
また、汎用マイクロプロセッサの内蔵ＦＬＡＳＨメモリに格納するラダー命令実行プログラムについてのユーザ設定にパスワード機能を付加することで、ラダープログラムそのものについて読み出し、書き込みあるいは保存が出来たとしてもプログラマブルコントローラの動作までは復元できないため、ラダープログラムの保護が可能となる。
【図面の簡単な説明】
【００１７】
【図１】本発明のプログラマブルコントローラの演算部の構成図である。
【図２】本発明のプログラマブルコントローラの動作モード遷移図である。
【図３】本発明のプログラムモード処理を説明するフローチャートである。
【図４】ラダー命令登録画面の一例である。
【図５】ラダープログラム登録画面の一例である。
【図６】２プロセッサ方式によるプログラマブルコントローラ演算部の構成例である。
【図７】ラダープログラム実行の一形態を示すブロック図である。
【図８】ラダープログラム実行の一形態を示すブロック図である。
【図９】従来のプログラマブルコントローラ演算部の構成例である。
【発明を実施するための形態】
【００１８】
以下、本発明を図面を用いて説明する。
【実施例１】
【００１９】
本実施例では、演算を高速に行うためのプログラマブルコントローラのラダープログラム実行方式について説明する。
【００２０】
図１は、本発明のプログラマブルコントローラの演算部の構成図である。
【００２１】
図1において、１は汎用マイクロプロセッサ、２は不揮発性メモリ（ＲＯＭ）、３はオブジェクトメモリ、５はラダープログラムメモリ・データメモリ、１Ａは汎用マイクロプロセッサ内臓システムメモリ、１Ｂは汎用マイクロプロセッサのＦＬＡＳＨメモリで、登録命令・登録プログラム用メモリ、７はシリアル通信ポートである。
【００２２】
プログラマブルコントローラの演算部は、ラダーシーケンスプログラムを実行する汎用マイクロプロセッサ１と、ラダーシーケンス用プログラムと演算結果であるデータを格納するメモリ５と、汎用マイクロプロセッサのシステムプログラムおよび汎用マイクロプロセッサが実行できるオブジェクトに変換されたラダー命令実行サブルーチンが格納された不揮発性メモリ２と、上記不揮発性メモリよりアクセス時間が早いオブジェクトメモリ３から構成されている。
【００２３】
この演算部において、汎用マイクロプロセッサ１には、不揮発性メモリのＦＬＡＳＨメモリが内蔵されており、このＦＬＡＳＨメモリはシステムプログラムより書き換えが可能である。
【００２４】
また、プログラマブルコントローラの演算部には、外部機器と通信を行うシリアル通信ポート７を有し、接続された外部機器によりユーザが登録したラダー命令またはラダープログラムの一部を汎用プロセッサ１が実行可能なオブジェクトに変換されたラダー命令実行サブルーチンを汎用マイクロプロセッサ１のＦＬＡＳＨメモリ１Ａに格納し、ラダープログラムを実行する場合に、汎用プロセッサのＦＬＡＳＨメモリ１Ａに格納されたラダー命令である場合はＦＬＡＳＨメモリのサブルーチンを実行する。１Ｂは汎用マイクロプロセッサのＦＬＡＳＨメモリで登録命令・登録プログラム用メモリは、ユーザが早く処理したい命令を登録して格納するメモリである。
【００２５】
図２は、本発明のプログラマブルコントローラの動作モード遷移図である。
【００２６】
図２において、従来はリセット状態と通常動作モードだけであったが、本発明は、汎用プロセッサ１に内蔵されているＦＬＡＳＨメモリのプログラムを書き換えることができるため、プログラムモードを追加している。
【００２７】
プログラマブルコントローラには、リセット状態と、運転・停止またはラダープログラムの書込み・読み出しをする通常動作モードと、汎用マイクロプロセッサの内蔵メモリを書き換えるプログラムモードがあり、ユーザが外部機器からラダー命令の登録操作をすると、システムプログラムによりプログラムモードに遷移し、ラダー命令実行サブルーチンの登録が完了するとプログラムモードを解除し、通常動作モードに遷移する。そして外部機器等を制御している通常運転を実行する。プログラムモードに遷移している時は運転動作モードは停止状態で、また運転動作モードが動作している間はプログラムモードは停止状態である。
【００２８】
通常、通常動作モードからプログラムモードに遷移することがないが、デバック時すなわち機械の試運転や調整時には、処理速度が遅く、外部の機械が動作しないなどの場合は、早く処理する命令を追加して動作させたいときプログラムモードに遷移することはある。
【００２９】
次に本発明のプログラムモードについて説明する。
【００３０】
図３は、本発明のラダー命令実行サブルーチンを汎用マイクロプロセッサ１のＦＬＡＳＨメモリ１Ａに格納するプログラムモード処理を示すフローチャートである。
【００３１】
図３において、まず、ユーザ設定にパスワード設定があるかどうか確認する（ステップ３０１）。パスワード設定がある場合はパスワード入力待ちとなる（ステップ３０２）。パスワードはセキュリティ保護のため登録された又は権限のある人だけが使用できるようにするためである。入力されたパスワードが異常の場合は処理を終了し（ステップ３０９）、パスワードが正しい場合はプログラムモードに遷移する（ステップ３０３）。プログラムモードの遷移すると、汎用マイクロプロセッサのＦＬＡＳＨメモリを書き換えるためのシステムプログラムをダウンロードし、ＦＬＡＳＨメモリ書換えプログラムを実行する（ステップ３０４）。ＦＬＡＳＨメモリ書換えプログラムでは、ＦＬＡＳＨメモリ書込み領域の消去（ステップ３０５）後、ユーザが登録したラダー命令を実行するラダー命令実行サブルーチンの書込みを行い（ステップ３０６）、登録されたラダー命令の書込みが全て完了するまで処理を繰り返す（ステップ３０７）。書込みが全て完了すると通常動作モードへ遷移し（ステップ３０８）、処理を完了する。
【００３２】
図４は、本発明のユーザがラダー命令を登録するときの設定画面の一例を示す。
【００３３】
図４は、ラダー命令の選択表示で、左欄が選択しているかを表示し、黒丸が選択していることを表し白丸が選択していないことを表す。選択した命令が早く処理したい命令である。また、中央が命令を表し、ここでは基本命令、算出命令、応用命令、‥を掲げ、ラダーによる書式及びそれに対応する命令語書式を記載している。さらに、右欄に各命令の使用数を表示している。
【００３４】
このように、ラダー命令とラダープログラム中で使用されるラダー命令の使用数が表示されることにより、ユーザが命令登録の目安とすることが可能となる。使用数の多い命令を選択することにより、より早く処理することが可能となる。
【００３５】
図５は、ユーザがラダープログラムを登録するときの設定画面の一例である。
【００３６】
図５において、ラダープログラムと、選択されたかどうかが分かる表示、及び各プログラムの処理時間を表している。
【００３７】
設定画面では、作成したラダープログラムがツリー状に表示され、ラダープログラム毎の処理時間も表示され、処理時間はラダープログラムの登録チェックにて変化するようになっており、登録後の処理時間が分かるようになっている。
【００３８】
また、ラダープログラムで選択されているか否かも、黒丸（選択）か白丸（非選択）かで判定できるようになっている。図５では、サブルーチン２と低周期プログラム１を早く処理したいため選択しているということを示している。
【００３９】
次に、汎用マイクロプロセッサ１だけでなく、専用プロセッサを搭載したプログラマブルコントローラについて説明する。
【００４０】
図６は、汎用マイクロプロセッサ以外の基本命令や比較的簡単な命令を実行する専用プロセッサが搭載されたプログラマブルコントローラの演算部の構成を示す。汎用プロセッサ１は複雑な演算、例えば掛け算や割り算などを処理し、専用プロセッサは処理が複雑でない命令や足し算や引き算などの演算を処理する。図６において、図１と同じものは同一符号を付し、同一の機能を有する部分については説明を省略する。
【００４１】
また、図６において、図１の構成の違いは、専用プロセッサ６を設置し、専用プロセッサ６にラダーシーケンス用プログラムとメモリを分離して設けた点である。
【００４２】
ここで、５Ａがラダープログラムメモリ（ＳＲＡＭ）、５Ｂがデータメモリ（ＳＲＡＭ）であり、それぞれバスを分離し、専用プロセッサ６から同時にアクセスできるようにしている。
【００４３】
専用プロセッサ６は、ラダープログラムメモリ５Ａとデータメモリ５Ｂに対し、別々のインタフェースを持たせることにより、ラダー命令のパイプライン処理を可能としている。
【００４４】
また、専用プロセッサ６は、専用プロセッサ６内に格納されたラダー命令実行について処理し、それ以外のラダー命令が出現した場合は汎用マイクロプロセッサ１に処理を引き渡す。
【００４５】
汎用マイクロプロセッサ１は、汎用マイクロプロセッサの実行するラダー命令を認識すると当該ラダー命令実行サブルーチンに分岐し命令処理を行う。
【００４６】
図７はラダープログラム実行の処理を示すブロック図である。
【００４７】
汎用マイクロプロセッサのＦＬＡＳＨメモリにはラダー命令１とラダー命令２とラダー命令３の実行サブルーチンが格納されていて、ラダープログラムメモリに格納されるラダープログラムを実行中に当該ラダー命令を検出すると汎用マイクロプロセッサ内のメモリに格納された当該実行サブルーチンを実行する。すなわち、メインプログラムを実行中に命令１（５１−１）があると汎用マイクロプロセッサのＦＬＡＳＨメモリに格納されている命令１（１１−１）の実行サブルーチンを実行し、メインプログラムに戻る。同様に、メインプログラムにおいて、命令２（５１−２）、命令３（５１−３）があると汎用マイクロプロセッサのＦＬＡＳＨメモリに格納されている命令２（１１−２）の実効サブルーチン、命令３（１１−３）の実行サブルーチンを実行し、メインプログラムに戻る。
【００４８】
このように汎用マイクロプロセッサのＦＬＡＳＨメモリに格納された実効サブルーチンを実行するにより処理を早くすることができる。
【００４９】
図８は汎用マイクロプロセッサのＦＬＡＳＨメモリにラダープログラムの一部分を格納した場合のラダープログラム実行の処理を示すブロック図である。
【００５０】
汎用マイクロプロセッサのＦＬＡＳＨメモリには、ラダープログラムのうちサブルーチン１と定周期プログラム２が格納されており、ラダープログラムメモリに格納されるラダープログラムを実行中に当該プログラムの先頭を検出すると汎用マイクロプロセッサ内のメモリに格納された当該プログラム実行サブルーチンを実行する。
【００５１】
図８において、メインプログラムで例えばＣＡＬＳＢ１命令があると、汎用マイクロプロセッサのＦＬＡＳＨメモリに登録して格納されている登録プログラム１（１２−１）の実行サブルーチンを実行し、メインプログラムに戻る。また、同様に、メインプログラムの低周期割り込み発生命令があると、汎用マイクロプロセッサのＦＬＡＳＨメモリに登録してアックのうされている登録プログラム２（１２−２）の実行サブルーチンを実行し、メインプログラムに戻る。
【００５２】
このような構成であれば、汎用マイクロプロセッサのＦＬＡＳＨメモリに登録して格納した登録プログラムの実行サブルーチンを実行することにより、処理をより早く行うことができる。
【符号の説明】
【００５３】
１‥汎用マイクロプロセッサ、    
１Ａ‥汎用マイクロプロセッサＦＬＡＳＨメモリ
１Ｂ‥汎用マイクロプロセッサＦＬＡＳＨ登録命令メモリ
２‥ＲＯＭ、        ３‥オブジェクトメモリ
５‥ラダーシーケンス用プログラムメモリ・データメモリ
５Ａ‥ラダープログラムメモリ      ５Ｂ‥データメモリ
６‥専用プロセッサ                ７‥シリアル通信用ポート
【図１】
2012146244.tif 000003
【図２】
2012146244.tif 000004
【図３】
2012146244.tif 000005
【図４】
2012146244.tif 000006
【図５】
2012146244.tif 000007
【図６】
2012146244.tif 000008
【図７】
2012146244.tif 000009
【図８】
2012146244.tif 000010
【図９】
2012146244.tif 000011