(57)【特許請求の範囲】
【請求項１】
特定の機器を制御するためのプログラムを格納し、当該プログラムを実行して前記特定の機器の制御を行うプロセッサモジュールと、
制御対象となる前記特定の機器を制御するための専用ハードウェアモジュールとを有するプログラマブルコントローラの前記プロセッサモジュールに対して脱着可能に接続され、前記プログラムの作成、編集を行うプログラミング装置において、
対象となる特定の機器を制御するためのソフトウェア機能モジュールを複数記録したソフトウェア機能モジュール群と、
当該ソフトウェア機能モジュール群を記録した記憶媒体を受け付ける記憶制御装置と、
当該ソフトウェア機能モジュール群の中の位置決めの制御を実行する特定のソフトウェア機能モジュールを指定するプログラム指定手段と、
前記プログラム指定手段によって指定された前記位置決めの制御を実行する特定のソフトウェア機能モジュールを、プログラマブルコントローラのユーザ毎に作成されるプログラム中の特定の挿入位置へ挿入指示する位置指示手段と、
前記プログラム指定手段によって指定された位置決めの制御を実行する特定のソフトウェア機能モジュールをコピーして前記位置指示手段により指示された位置に挿入する情報処理手段と、
前記プログラム指定手段と前記情報処理手段によって生成されるユーザプログラムと、
前記プログラム指定手段により指定されたソフトウェア機能モジュールを前記プロセッサモジュールが実行するときの環境設定条件を決定する環境情報を前記位置決めの制御を実行する特定のソフトウェア機能モジュールから読み出してユーザプログラム内の環境情報記載欄に書き込む手段、
とを具えたことを特徴とするプログラミング装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、プログラミング装置で作成した制御用プログラム（シーケンスプログラム）をプログラマブルコントローラで実行することにより機器を自動制御するプログラミング装置およびプログラマブルコントローラシステムに関する。
【０００２】
【従来の技術】
プログラマブルコントローラは各種機械制御より具体的には機械に付属する複数の電気接点（リレー）のオン／オフすることによる機械制御のためのコントローラとして広く浸透している。しかし、実際に機械を動かすためには、電動機などの各種アクチュエータ類が必要であり、プログラマブルコントローラ以外に特定の制御装置を必要とするものもある。特に高精度位置決めを行うサーボモータやステッピングモータについてはプログラマブルコントローラからオン／オフの指示だけでは直接、上記モータの速度や回転数を制御することは難しい。そこで、数値制御装置や専用位置決め装置とプログラマブルコントローラとを組み合わせて使用していた。近年、制御システムの小型化の要望に応じて、上記モータを制御するための位置決め装置を１つのモジュールとしてプログラマブルコントローラシステム内に組み込むようにしたプログラマブルコントローラが提案されている。
【０００３】
このようなシステムにおいて、シーケンスプログラムの中に位置決めモジュールに対して制御内容を指示するための位置決めプログラムを所定の位置に記載する。このシーケンスプログラムはローダと呼ばれるプログラミング装置を使用してユーザがキーボードを手動操作してプログラム情報を入力している。
【０００４】
【発明が解決しようとする課題】
このように従来ではユーザ自身が位置決め制御内容を決定し（プログラムを組み）、その制御内容に即したプログラムを手入力することは大変な時間と労力を要する。また、ユーザが位置決めモジュールの性能を熟知していないと、制御システム全体を正常に作動させるためには作成したシーケンスプログラムをプログラマブルコントローラにローディングして試運転、次にシーケンスプログラムの修正という煩雑な処理を繰り返さなければならない。
【０００５】
そこで、本発明の目的は、上述の点に鑑みて、位置決め制御モジュールのような専用の制御装置をプログラマブルコントローラシステムに組み込み使用する場合にシーケンスプログラムの作成を容易にすることができるプログラミング装置およびプログラマブルコントローラシステムを提供することにある。
【０００６】
【課題を解決するための手段】
このような目的を達成するために、請求項１の発明は、特定の機器を制御するためのプログラムを格納し、当該プログラムを実行して特定の機器の制御を行うプロセッサモジュールと、制御対象となる特定の機器を制御するための専用ハードウェアモジュールとを有するプログラマブルコントローラのプロセッサモジュールに対して脱着可能に接続され、プログラムの作成、編集を行うプログラミング装置において、
対象となる特定の機器を制御するためのソフトウェア機能モジュールを複数記録したソフトウェア機能モジュール群と、当該ソフトウェア機能モジュール群を記録した記憶媒体を受け付ける記憶制御装置と、当該ソフトウェア機能モジュール群の中の位置決めの制御を実行する特定のソフトウェア機能モジュールを指定するプログラム指定手段と、プログラム指定手段によって指定された位置決めの制御を実行する特定のソフトウェア機能モジュールを、プログラマブルコントローラのユーザ毎に作成されるプログラム中の特定の挿入位置へ挿入指示する位置指示手段と、プログラム指定手段によって指定された位置決めの制御を実行する特定のソフトウェア機能モジュールをコピーして位置指示手段により指示された位置に挿入する情報処理手段と、プログラム指定手段と情報処理手段によって生成されるユーザプログラムと、
プログラム指定手段により指定されたソフトウェア機能モジュールをプロセッサモジュールが実行するときの環境設定条件を決定する環境情報を位置決めの制御を実行する特定のソフトウェア機能モジュールから読み出してユーザプログラム内の環境情報記載欄に書き込む手段とを具えたことを特徴とする。
【００１０】
【発明の実施の形態】
以下、図面を参照して本発明の実施の形態を詳細に説明する。図１は本発明を適用したプログラマブルコントローラシステムのシステム構成を示す。図１において、プロセッサモジュール１００、位置決めモジュール群３０１、３０２およびＩ／Ｏモジュール群４０１、４０２が信号ケーブルにより接続されている。プログラミング装置２００はプロセッサモジュール１００に対して脱着可能に接続し、所定の機械装置を制御するためのプログラム（ユーザプログラムと称す）を作成する。プロセッサモジュール１００は上記ユーザプログラムの中で指定されている位置決めモジュールを動作させて、位置決め制御を実行させる。
【００１１】
Ｉ／Ｏモジュール群４０１、４０２は従来と同様、制御対象の機械のリレーの動作状態を示す信号を入力し、上記リレーのオン／オフを指示する信号を出力する。
【００１２】
この入力信号の内容により上記ユーザプログラムの規定する制御内容に従って上記出力信号の内容がプロセッサモジュール１００において決定される。また、プロセッサモジュール１００は上記位置決めモジュール側が制御を行うために必要な情報内容を、上記ユーザプログラムの中に記載されている位置決め制御用のプログラムに従って決定する。
【００１３】
図２は本発明に係わるプログラミング装置２００のシステム構成を示す。図２において、ＣＰＵ２０１はシステムプログラムに従って装置内の構成部品の動作制御を行う他、作成、編集プログラムに従ってユーザプログラムをユーザメモリ上で作成、編集する。表示器２０３はキーボード２０４から入力される動作指示やユーザプログラム情報を可視表示する。このユーザプログラムは一般にラダー図と呼ばれる回路図の形態で表示される。
【００１４】
フロッピーディスクドライブ（ＦＤＤ）（登録商標）２０５はフロッピーディスクを受け付けフロッピーディスク２０６に対して情報の読み書きを行う。本実施の形態ではフロッピーディスク２０６に複数の位置決めプログラムが記録されており、ユーザプログラムの作成時にユーザは所望の位置決めプログラムを選択して、作成中のユーザプログラムの中に挿入することができる。
【００１５】
システムメモリ２０７には上述のシステム制御のためのプログラムやプログラム作成、修正のためのプログラム等のプログラムと、そのプログラムの実行に必要な各種のデータが格納されている。作成されたユーザプログラムはプロセッサモジュール１００側で実行可能なプログラム言語の形態に翻訳（コンパイル）されて入出力（インタフェース）２０８からプロセッサモジュール１００に転送される。
【００１６】
図３はプロセッサモジュール１００のシステム構成を示す。図３において、ＣＰＵ１０１はモジュール内の動作制御をシステムプログラムに従って実行する他、プログラミング装置から転送されたユーザプログラムを実行して機械制御をも行う。システムプログラムはシステムメモリ１０３に格納されており、プログラミング装置から転送されたユーザプログラムはユーザプログラムメモリ１０２に格納されている。Ｉ／Ｏ１０４は上述のモジュール群との間で情報転送を行う。Ｉ／Ｏ１０５はプログラミング装置からユーザプログラムを受信する。プロセッサモジュールにはさらに他の構成部を有するが本発明とは直接的に関係ないので、それらの構成部を図３には示していない。
【００１７】
図４は位置決めモジュール３０１のシステム構成を示す。なお、位置決めモジュール３０２も同様のシステム構成とすることができるが、内蔵の位置決め制御用のプログラムの内容が異なる。図４において、プロセッサモジュール１００からは自動起動指示、原点復帰指示等の動作指示信号がバスインタフェース３０３を介してＣＰＵ３０４に転送される。ＣＰＵ３０４は内蔵の位置決め制御プログラムに従って、上記動作指示に応じるほか、サーボアンプ３１０側の動作状態信号に基づきサーボアンプ３１０を速度制御するための制御信号を出力する。この動作状態信号および制御信号はインタフェース３０６を介して転送される。これらの転送信号はたとえば、通信の同期をとるためにバッファメモリ３０５に一時格納される。
【００１８】
図示の例では位置決めをおこなうためのサーボアンプ３１０はモータ３１１に駆動パルスを与え、モータ３１１の回転数を検知したエンコーダからはフィードバックパルスがサーボアンプ３１０にフィードバックされる。これらの位置決めシステムは従来と同様であり詳細な説明を要しないであろう。
【００１９】
このようなシステム構成で実行されるユーザプログラムの作成および環境設定を次に説明する。図６はプログラミング装置２００のＣＰＵ２０１が実行し、本発明に係わる処理手順を示す。従来から知られている処理は説明の便宜上省略している。
【００２０】
図５は位置決めプログラムの選択およびその情報の流れを示す説明図である。図２、図５、図６を用いてユーザプログラム作成手順を説明すると、パルス列サーボドライブの位置決め制御を行いたい場合には、ユーザはプログラム選択モードを指示し、この制御に対応する位置決め制御プログラムをキーボード２０４を介してフロッピーディスク２０６に記録されたソフト機能モジュール群６００の中から制御に必要な位置決めプログラム６０１と位置決めプログラム６０２を選択指示する。この指示方法は制御プログラム名を入力してもよいし、メニュー選択の形態を採ってもよい。この指示がＣＰＵ２０１において検知されると図６のステップＳ１００→Ｓ１０１の手順を実施し対応のプログラム名（ファイル名）がシステムメモリ２０７に記憶される。次にユーザは制御に必要な位置決めプログラム６０１と位置決めプログラム６０２を、作成するユーザプログラムへ挿入する位置を表示画面上のカーソルの移動等（キーボード２０４のキー操作）により指示した後キーボード２０４から挿入の指示を行う。この指示に応じてＣＰＵ２０１はシステムメモリ２０７に記憶された対応プログラム名を参照し、フロッピーディスク２０６に記録されたソフト機能モジュール群６００の中から位置決めプログラム６０１と位置決めプログラム６０２とをコピーして、ユーザプログラムメモリ２０２上に挿入する（図６ステップＳ１１０→Ｓ１１１）。これより図５のソフト機能モジュール群６００内の位置決めプログラム６０１と位置決めプログラム６０２が、作成のユーザプログラム５００内に符号５０１および符号５０２の位置決めプログラムとして挿入される。
【００２１】
次にＣＰＵ２０１は挿入した位置決めプログラムの中から環境情報を取り出し、ユーザプログラム５００の環境情報記載欄に書き込む。環境情報はプロセッサモジュール１００側で使用するシステム制御情報で有り、上記位置決めプログラムを実行したときに制御データを対応の位置決めモジュールに転送するのために必要な各種の情報、たとえば、挿入された位置決めプログラムに対応する位置決めモジュールの識別名や局番アドレス、占有容量が記載されている。このようにして作成されたユーザプログラム５００をプロセッサモジュール１００に転送すると、プロセッサモジュール１００ではこの環境情報に基づいて、対応の位置決めモジュールと通信を行う。
【００２２】
前記同様ＣＰＵ２０１は他の指定された位置決めプログラムを上述と同様にしてユーザプログラムの中に挿入したり、ユーザからの従来と同様の接点やコイル等に関するプログラム命令の入力を受け付けてユーザプログラムを作成することも行う。図５の例ではユーザプログラム５００の中に２つの位置決めプログラムが挿入されていることを示している。ユーザプログラム５００の完成後（コンパイル済み）、キーボード２０４からユーザがプログラム５００の転送を指示すると、ＣＰＵ２０１はユーザプログラムメモリ２０２からユーザプログラム５００を読み出してプロセッサモジュール１００にＩ／Ｏ２０８を介して転送する（図６ステップＳ１２０→Ｓ１２１）。
【００２３】
このユーザプログラム５００を受信したプロセッサモジュール１００のＣＰＵ１０１は受信したユーザプログラム５００中から環境情報５０３を取り出し、環境情報５０３の示すソフトウェア実行モジュールを検出し、各種環境設定を行う。図５の例ではＮＯ．１およびＮＯ．２の位置決めモジュールが選択され、環境設定がなされる（図７のステップＳ２１０→Ｓ２１５，ステップＳ２２０→Ｓ２２５）。
【００２４】
以上説明したように、本実施の形態では、ユーザプログラム作成時にユーザが所望の位置決めプログラムを選択すると、その選択プログラムをプログラム中に挿入できる。これによりユーザは従来のように、位置決めプログラムをプログラム命令単位で記載する必要がなくなる。このため、ユーザは、位置決めプログラムの詳細使用を知らなくてもプログラム作成が可能となる。加えて、ハード（複数の位置決めモジュール）を最初にプロセッサモジュール１００に接続しておき、ユーザプログラムの作成時に対応の位置決めプログラムを選択するだけで実行時の所望の位置決めモジュールを選択でき、このための環境設定を自動的に行うことができる。
【００２５】
本実施の形態の他に次の例を実施できる。
【００２６】
１）上記実施の形態では接点制御以外の制御として位置決め制御を例にとったが、その外の制御で、たとえば、温度制御等、専用の制御モジュール（ソフトウェア機能モジュールと呼ばれる）およびこのモジュールを制御するためのソフトウェアにも本発明を適用することができる。
【００２７】
２）上記実施の形態では記録媒体としてフロッピーディスクを例にしたが、その外、コンパクトディスク、光磁気ディスク等の記録媒体を使用することができる。この場合にはその記録媒体に適した読み取り装置（ドライブ）を使用するとよい。
【００２８】
【発明の効果】
請求項１、２の発明は、フロッピーディスク等の記録媒体に位置決めプログラム等のソフトウェア機能プログラムを多数記録して選択しソフトウェア機能モジュール単位で使用できるので、ユーザはその都度プログラム命令を入力する必要はなく、ユーザプログラムの作成が容易となる。また、プログラムの作成に特殊知識を必要としない。
【００２９】
請求項１、２の発明では、環境情報をも付加して、プロセッサモジュール側に転送できるので、ソフトウェア機能モジュールの環境設定を自動化できる。
【図面の簡単な説明】
【図１】本発明実施の形態のシステム構成を示すブロック図である。
【図２】プログラミング装置２００のシステム構成を示すブロック図である。
【図３】プロセッサモジュール１００のシステム構成を示すブロック図である。
【図４】位置決めモジュールのシステム構成を示すブロック図である。
【図５】位置決めプログラムの選択およびその情報の流れを示す説明図である。
【図６】プログラミング装置２００の位置決めプログラムコピー処理手順を示すフローチャートである。
【図７】プロセッサモジュール１００の環境設定のための処理手順を示すフローチャートである。
【符号の説明】
１００プロセッサモジュール
１０１ＣＰＵ
１０２ユーザプログラムメモリ
１０３システムメモリ
１０４、１０５Ｉ／Ｏ
２００プログラミング装置
２０１ＣＰＵ
２０２ユーザプログラムメモリ
２０３表示器
２０４キーボード
２０５ＦＤＤ
２０６フロッピーディスク
２０７システムメモリ
２０８Ｉ／Ｏ
３０１、３０２位置決めモジュール
３０３バスインタフェース
３０４ＣＰＵ
３０５バッファメモリ
３０６インタフェース
３１０サーボアンプ
３１１モータ
３１２エンコーダ
５００ユーザプログラム
５０１、５０２位置決めプログラム
５０３環境情報記載欄
６００  ソフト機能モジュール群
６０１〜６０３位置決めプログラム
７００位置決めモジュール群名称
【図１】
0004429395.tif 000002
【図２】
0004429395.tif 000003
【図３】
0004429395.tif 000004
【図４】
0004429395.tif 000005
【図５】
0004429395.tif 000006
【図６】
0004429395.tif 000007
【図７】
0004429395.tif 000008