(57)【特許請求の範囲】
【請求項１】
パーソナルコンピュータが組み込まれ、加工プログラムを実行する数値制御装置部と、前記加工プログラムの編集や前記数値制御装置部による数値制御動作をモニタするパーソナルコンピュータ部とを有するパーソナルコンピュータ組込み型数値制御装置において、数値制御装置部とパーソナルコンピュータ部とが共にアクセス可能で、モーダル情報テーブルを画定された共用メモリと、パーソナルコンピュータ部に設けられ、数値制御装置部で常時及び周期的に更新されるデータを画面単位で一括して登録するリクエストを数値制御装置部に対して通知するモーダルデータ一括登録手段と、数値制御装置部に設けられ、前記モーダルデータ一括登録手段からのリクエストにより常時及び周期的更新の画面単位のデータを収集し、当該データを前記共用メモリのモーダル情報テーブルにセットするモーダル情報管理手段と、前記モーダルデータ一括登録手段により登録されたデータを画面単位で一括解除するリクエストを数値制御装置部に対して通知するモーダルデータ一括解除手段とを有し、パーソナルコンピュータ部は共用メモリのモーダル情報テーブルにセットされたデータを画面単位で読み取り、画面表示する処理を行い、且つ前記モーダル情報管理手段は前記モーダルデータ一括解除手段からのリクエストにより共用メモリのモーダル情報テーブルにセットされたデータを一括削除することを特徴とするパーソナルコンピュータ組込み型数値制御装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、パーソナルコンピュータ組込み型数値制御装置に係り、特に画面の遷移の高速化に関するものである。
【０００２】
【従来の技術技術】
パーソナルコンピュータ組込み型の数値制御装置は、パーソナルコンピュータ部(以下ＰＣ部と称す)のマンマシンインタフェース処理部（以下ＭＭＩ処理部と称す）で加工プログラムの編集や数値制御動作のモニタ等を行い、数値制御装置部（以下ＮＣ部と称す）のメモリに登録された加工プログラムをＮＣ部で解析・補間処理し、処理結果により工作機械のサーボ系に指令を出力する。
第１４図はパーソナルコンピュータ組込み型数値制御装置（以下ＰＣ組込み型数値制御装置と称す）の概要を示している。ＰＣ組込み型数値制御装置は、加工プログラムを実行するＮＣ部１０と、画面の表示処理やデータ等の設定処理、動作モニタ等を行うＰＣ部２００とを有している。
【０００３】
ＮＣ部１０は、加工プログラム解析処理部１１と、メモリ１２と、補間処理部１３と、軸制御部１４と、機械制御信号処理部１５と、ラダー回路部１６と、ディジタル信号入力回路１７と、ディジタル信号出力回路１８と、ＰＣインタフェース部２０と、デュアルポートＲＡＭ５０とを有している。
軸制御部１４は、第１４図では１つしか示されていないが、各軸毎に設けられるものであり、各軸制御部１４には各軸のサーボモータ３００のサーボアンプ３１０が接続されている。
なお、第１４図には示されていないが、サーボモータ３００は位置検出用のパルスゼネレータ付きのものであり、サーボアンプ３１０はパルスゼネレータよりの位置フィードバック信号による位置ループを有する。
ＰＣ部２００は、ＢＩＯＳ（Ｂａｓｉｃ  Ｉ／Ｏ  Ｓｙｓｔｅｍ）部２０１と、オペレーティングシステム部（以下ＯＳ部と称す）２０２と、ＭＭＩ処理部２５０と、ＮＣインタフェース部２０３とを有し、ハードディスク記憶装置（以下外部記憶装置と称す）１００と、ディスプレイ付きの操作パネル１１０とがそれぞれインタフェース（図示省略）を介して接続されている。
ＭＭＩ処理部２５０は、画面表示処理部２６０と、データ設定手段２８０とを有している。
操作パネル１１０は、ＣＲＴやＬＣＤ等による表示器１１１と、キーボードによるデータ入力部１１２と、電源オンスイッチ１１３と、電源オフスイッチ１１４とを有している。
【０００４】
従来のＰＣ組込み型数値制御装置は以上のように構成されており、次に、このＰＣ組込み型数値制御装置の動作について説明する。
ＰＣ組込み型数値制御装置では、加工プログラムの入力は操作パネル１１２をオペレータがキー操作することによって行われる。
キー入力された加工プログラムは、ＯＳ部２０２を介してＭＭＩ処理部２５０に入力される。ＭＭＩ処理部２５０に入力された加工プログラムは、データ設定手段２８０によってパーソナルコンピュータが認識できるデータコードに変換され、ＯＳ部２０２を介してハードディスク記憶装置１００に書き込まれ、同時にＮＣインタフェース部２０３に渡される。
ＮＣインタフェース部２０３は、データ設定手段２８０から渡された加工プログラムをＮＣ部１０のデュアルポートＲＡＭ５０の決められた番地に書き込み、データ書き込み完了フラグをオンする。
【０００５】
ＮＣ部１０のＰＣインタフェース部２０は、デュアルポートＲＡＭ５０上のデータ書き込み完了フラグを監視しており、データ書き込み完了フラグを検出した時点で、デュアルポートＲＡＭ５０に書かれた加工プログラムを読み取り、メモリ１２に構築されたファイルシステムに加工プログラムを書き込む。この時、ＰＣインタフェース部２０で数値制御装置では扱わないコード、例えば小文字のアルファベット等のコードがないかをチェックする。ハードディスク記憶装置１００に書き込まれた加工プログラムは、ＮＣ部１０のメモリ１２に登録された加工プログラムが破壊された場合のバックアップデータとなる。
【０００６】
入力された加工プログラムは、次のようにして操作パネル１１０の表示器１１１に表示される。まず、メモリ１２に登録された加工プログラムをＰＣインタフェース部２０が読出して、デュアルポートＲＡＭ５０の決められた番地に書き込み、データ書き込み完了フラグをオンする。ＮＣインタフェース部２０３は、デュアルポートＲＡＭ５０上のデータ書き込み完了フラグを監視しており、データ書き込み完了フラグを検出した時点で、デュアルポートＲＡＭ５０に書かれた加工プログラムを読み取り、ＭＭＩ処理部２５０の画面表示処理部２６０に渡す。
画面表示処理部２６０は、受け取った加工プログラムに画面タイトル等の固定表示データ等を追加してＯＳ部２０２を介して表示器１１１に出力し、表示器１１１が加工プログラム等のデータを表示する。
【０００７】
次に、加工プログラムを実行する手順について説明する。加工プログラム解析処理部１１がメモリ１２から１ブロックずつ加工プログラムを読み出し、読み出された加工プログラムは加工プログラム解析処理部１１で処理され、加工プログラム解析処理部１１は各ブロックの終点位置を算出する。補間処理部１３は、その終点位置を補間処理し、終点位置までを各可動軸の単位時間当たりの移動指令に分配する。
補間処理部１３が出力する移動指令は、軸制御部１４によって予め指定された加減速パターンに従って加減速を考慮した単位時間当たりの移動指令に変換され、サーボアンプ３１０へサーボ移動指令として出力される。
サーボアンプ３１０は、このサーボ移動指令により図示されていない工作機械に取り付けられているサーボモータ３００の駆動を制御する。
【０００８】
また、切削油のオン・オフ等の機械出力信号は、機械制御信号処理部１５よりディジタル信号出力回路１８を介して図示されていない機械制御盤のリレー回路に伝えられ、切削油のオン・オフスイッチ等を動作させる。また、ドグスイッチ等の機械側から入力される信号は、ディジタル信号入力回路１７より機械制御信号処理部１５に入力される。このようにディジタル信号入力回路１７、ディジタル信号出力回路１８に入出力される信号は、機械制御を記述するラダー回路部１６を介して機械制御信号処理部１５で処理され、処理結果などは補間処理部１３に伝えられる。
従来、ＰＣ組込み型数値制御装置におけるＰＣ部２００において、マルチタスクで、グラフィカルユーザインフェース（以下ＧＵＩと称す）による画面表示を行う場合には、各画面の表示を各画面毎の実行型ファイルによるアプリケーションプログラムにより行っている。
【０００９】
例えば、マイクロソフト社の“Ｗｉｎｄｏｗｓ”による場合には、第１５図に、符号５００、５０１により示されているように、各画面単位で、個別のアプリケーションプログラム“＊＊＊画面．ｅｘｅ”、“○○○画面．ｅｘｅ”が設けられる。
この各ｅｘｅファイルは、それぞれ、マイクロソフト社のアプリケーション・フレームワーク・ライブラリであるＭＦＣ（Ｍｉｃｒｏｓｏｆｔ  Ｆｏｕｎｄａｔｉｏｎ  Ｃｌａｓｓ  Ｌｉｂｒａｒｙ）により提供される“ＣＦｏｒｍＶｉｅｗ Ｃｌａｓｓ”と、“ＣＤｏｃｕｍｅｎｔ  Ｃｌａｓｓ”と、“ＣＷｉｎＡｐｐ  Ｃｌａｓｓ”とによるクラスの構成により、Ｄｏｃｕｍｅｎｔ−Ｖｉｅｗ構造の個別のアプリケーションプログラムをなし、それぞれ“ＣＦｒａｍｅＷｎｄ Ｃｌａｓｓ”によるダイナミック・リンク・ライブラリ“画面遷移共通処理ライブラリ（Ｄ１１）”（第１５図に符号５０３で示す）によって、メインフレームウインドウの機能を与えられ、カスタムＡＰＩライブラリ５１０を介してＮＣ部１０とデータの授受を行い、それぞれウィンドウによる画面表示を行う。
【発明が解決しようとする課題】
【００１０】
従来のＰＣ組込み型数値制御装置では、ＰＣ部２００におけるウインドウのようなＧＵＩによる画面表示は、各画面の表示を各画面毎の実行型ファイルによるアプリケーションプログラムにより行っているため、画面遷移の度に、必ずアプリケーションプログラムの起動、終了が発生し、また座標位置表示画面などのサブウィンドウにより複数の画面で利用する処理も個々のアプリケーションプログラムで持つため、ＭＭＩソウトウェア全体のオブジェクトサイズが大きくなり、ハードティスク記憶装置１００などの外部記憶装置からのアプリケーションローディングに要する時間によって画面遷移の高速化が行えない。
【００１１】
また、ＰＣ部２００において、各軸の座標位置や移動速度、回転速度、温度など、ＮＣ部１０で常時及び周期的に更新されるデータをモーダルデータとしてＰＣ部２００で画面表示するような場合、従来は、ＰＣ部２００が各データ毎にモーダルデータ登録のリクエストをＮＣ部１０に出し、その応答としてＮＣ部１０が対象データをサーチしてデータをデュアルポートＲＡＭ５０にセットし、ＰＣ部２００がデュアルポートＲＡＭ５０にセットされたデータを読み出して画面表示することが行われるため、１画面で、複数個のモーダルデータを画面表示する場合には、そのモーダルデータが一つ一つタイムラグをおいてポツポツと表示されるようになり、画面表示に時間がかかり、応答性の悪い画面表示となる。
【００１２】
この発明は、上述の如き問題点に着目してなされたものであり、モーダルデータの画面表示も応答性よく高速に行い、画面表示の高速化について改善されたパーソナルコンピュータ組込み型数値制御装置を得ることを目的としている。
【００１３】
【課題を解決するための手段】
上述の目的を達成するために、この発明によるパーソナルコンピュータ組込み型数値制御装置は、パーソナルコンピュータが組み込まれ、加工プログラムを実行する数値制御装置部と、前記加工プログラムの編集や前記数値制御装置部による数値制御動作をモニタするパーソナルコンピュータ部とを有するパーソナルコンピュータ組込み型数値制御装置において、数値制御装置部とパーソナルコンピュータ部とが共にアクセス可能で、モーダル情報テーブルを画定された共用メモリと、パーソナルコンピュータ部に設けられ、数値制御装置部で常時及び周期的に更新されるデータを画面単位で一括して登録するリクエストを数値制御装置部に対して通知するモーダルデータ一括登録手段と、数値制御装置部に設けられ、前記モーダルデータ一括登録手段からのリクエストにより常時及び周期的更新の画面単位のデータを収集し、当該データを前記共用メモリのモーダル情報テーブルにセットするモーダル情報管理手段と、前記モーダルデータ一括登録手段により登録されたデータを画面単位で一括解除するリクエストを数値制御装置部に対して通知するモーダルデータ一括解除手段とを有し、パーソナルコンピュータ部は共用メモリのモーダル情報テーブルにセットされたデータを画面単位で読み取り、画面表示する処理を行い、且つ前記モーダル情報管理手段は前記モーダルデータ一括解除手段からのリクエストにより共用メモリのモーダル情報テーブルにセットされたデータを一括削除するものである。
この発明によるパーソナルコンピュータ組込み型数値制御装置では、モーダルデータ一括登録手段からのデータ一括登録のリクエストにより常時及び周期的更新のデータがモーダル情報管理手段によって画面単位で共用メモリのモーダル情報テーブルにセットされ、パーソナルコンピュータ部が共用メモリのモーダル情報テーブルにセットされたデータを画面単位で読み取り、画面表示する。
また、モーダルデータ一括解除手段からのデータ一括解除のリクエストにより共用メモリのモーダル情報テーブルにセットされているデータが一括削除される。
【００１４】
【発明の実施の形態】
実施例１．
以下に添付の第１図〜第１３図を参照してこの発明に係るパーソナルコンピュータ組込み型数値制御装置およびパーソナルコンピュータ組込み型数値制御装置における画面遷移方法の実施の形態を詳細に説明する。なお、以下に説明するこの発明の実施の形態において上述の従来例と同一構成の部分は、上述の従来例に付した符号と同一の符号を付してその説明を省略する。
【００１５】
（実施の形態１）
第１図はこの発明によるパーソナルコンピュータ組込み型数値制御装置の実施の形態１を示している。なお、このパーソナルコンピュータ組込み型数値制御装置のＰＣ部２００のオペレーティングシステムは、マイクロソフト社の“Ｗｉｎｄｏｗｓ”であり、これより以降の説明では、マイクロソフト社の“Ｖｉｓｕａｌ  Ｃ++”、“ＭＦＣ（Ｍｉｃｒｏｓｏｆｔ  Ｆｏｕｎｄａｔｉｏｎ  Ｃｌａｓｓ  Ｌｉｂｒａｒｙ）、“Ｗｉｎｄｏｗｓ”で使用する用語、名称を使用することがある。
【００１６】
実施の形態１によるパーソナルコンピュータ組込み型数値制御装置は、ＰＣ部２００の画面表示部２６０が、実行モジュールによるメイン処理部２６１以外に、一つの実行モジュールである画面制御手段２６２と、ライブラリによる複数個の画面処理手段２６３とを有している。またＰＣ部２００には、ＲＡＭなどによる画面管理テーブル２７０が設けられている。
画面処理手段２６３は、各画面毎に設けられたライブラリ、詳細には“Ｗｉｎｄｏｗｓ”で使用するＤＬＬ（ダイナミック・リンク・ライブラリ）であり、各画面の表示内容およびＮＣ部１０が使用するデータの設定管理の内容を定義する各画面毎の独自処理部と画面遷移のための共通処理部とを含んでいる。
画面制御手段２６２は、それぞれ画面表示処理用ＤＬＬ（画面処理ライブラリ）としてファイル形式でハードディスク記憶装置１００に格納され、画面制御手段２６２の起動によりオペレーティングシステム、ここでは“Ｗｉｎｄｏｗｓ”が管理するメモリ上にすべて読み出される。
【００１７】
画面管理テーブル２７０は、画面制御手段２６２の起動時に初期化され、メモリ上に読出し（登録）されたすべての画面処理手段２６３の所在を識別コード（モジュールハンドル）で管理する。
画面管理テーブル２７０は、第２図に例示されているように、マトリックス構造をなし、行数と列数とによるモジュールハンドルにより画面処理手段２６３を識別する。画面管理テーブル２７０の各セルにはモジュールハンドルに加えて画面情報フラグが記述される。
画面情報フラグは、メインウィンドウ画面とサブウィンドウ画面のいずれかを指定するものであり、メインウィンドウ画面として登録された画面は、常に１画面しか表示されず、画面遷移関数が呼び出されると、指定されたウィンドウを表示すると共に自動的に直前のウィンドウを閉じる。これに対しサブウィンドウ画面として登録された画面では、画面遷移関数が呼び出されると、表示中のウィンドウを閉じることなく指定されたウィンドウを新たに表示する。
【００１８】
画面制御手段２６２は、画面遷移実行ファイル（アプリケーションプログラム）により構成され、起動中はデータ入力部１１２などより画面遷移リクエストを受け付け、画面遷移リクエストによって指定された識別コードに対応する画面処理手段２６３を画面管理テーブル２７０によって選定し、選定された画面処理手段２６３による画面遷移の実行を指示する。
【００１９】
ここで、上述の構成によるＰＣ組込み型数値制御装置における画面遷移方法は、各画面の表示内容およびＮＣ部が使用するデータの設定管理の内容を定義する各画面毎の独自処理部と画面遷移のための共通処理部とを含む画面処理ライブラリ（画面処理手段２６３）を各画面毎に登録し、画面遷移実行プログラム（画面制御手段２６２）の起動時に、登録されている画面処理ライブラリ（画面表示処理用ＤＬＬ）の全てをオペレーティングシステムが管理するメモリ上に読み出し、その各画面処理ライブラリの所在を画面管理テーブル２７０によって個別の識別コードで管理し、画面遷移実行ファイルの起動下で、画面遷移リクエストを受付けてその画面遷移リクエストによって指定された識別コードに対応する画面処理ライブラリを画面管理テーブル２７０のデータ（モジュールハンドル）より選定し、選定された画面処理ライブラリによる画面遷移を実行する。
【００２０】
第３図はこの発明によるＰＣ組込み型数値制御装置における画面遷移処理のためのファイル構成を示している。ここでは、“＊＊＊画面”と“○○○画面”の二つの画面を表示する場合について説明する。この例では、“＊＊＊画面”用のＤＬＬ“＊＊＊画面．ｄｌｌ”と“○○○画面”用のＤＬＬ“○○○画面．ｄｌｌ”と、“ＭＭＩアプリケーション管理ライブラリ”と、ユーザオプションの“ユーザ定義画面共通ライブラリ”と、“ＭＭＩアプリケーション・メインモジュール”とがある。
画面表示用のダイナミック・リンク・ライブラリである“＊＊＊画面．ｄｌｌ”と、“○○○画面．ｄｌｌ”は、画面処理手段２６３に相当し、各画面の表示内容およびＮＣ部１０が使用するデータの設定管理の内容を定義する各画面毎の独自処理部として、“ＣＦｏｒｍＶｉｅｗ  Ｃｌａｓｓ”と、“ＣＤｏｃｕｍｅｎｔ  Ｃｌａｓｓ”の関数を有し、画面遷移のための共通処理部としてＭＭＩ共通Ｉ／Ｆ関数を有し、共通の骨格構造をなしている。
【００２１】
“ＣＦｏｒｍＶｉｅｗ  Ｃｌａｓｓ”は、コントロールをもつビューで使用される基本クラスであり、ダイアログエディタで作成されたダイアログボックスなどの表示内容（レイアウト）を定義している。
“ＣＤｏｃｕｍｅｎｔ  Ｃｌａｓｓ”は、ユーザ定義のドキュメントクラスの基本的な機能を提供するものであり、アプリケーションが使用するデータ（ドキュメント）の新規作成、読み込み、保存のような標準的な操作をサポートする。
“ＭＭＩアプリケーション管理ライブラリ”は、ＭＭＩ，Ａｐｐ管理関数と、“ＣＦｒａｍｅＷｎｄ  Ｃｌａｓｓ”の関数を有し、画面管理テーブル２７０を定義する。
“ＣＦｒａｍｅＷｎｄ  Ｃｌａｓｓ”は、ＷｉｎｄｏｗｓのＳＤＩ（ｓｉｎｇｌｅ  ｄｏｃｕｍｅｎｔ  ｉｎｔｅｒｆａｃｅ）のオーバラップフレームウィンドウあるいはポップアップフレームウィンドウの機能を、ウィンドウを管理するメンバと共に提供するものであり、ウィンドウのフレーム部分（タイトルバー、システムメニュー、最大化／最小化ボタン等）の制御機能を有している。
“ＭＭＩアプリケーション・メインモジュール”は、画面制御手段２６２に相当し、“ＣＷｉｎＡｐｐ  Ｃｌａｓｓ”の関数を有している。
“ＣＷｉｎＡｐｐ  Ｃｌａｓｓ”はＷｉｎｄｏｗｓアプリケーションオブジェクトを派生されるための基本クラスであり、Ｗｉｎｄｏｗｓアプリケーションの初期化、実行、終了を行うためのメンバ関数を提供する。
【００２２】
次に、第４図〜第６図を参照して、画面表示処理用のＤＬＬの詳細の構成、“ＭＭＩアプリケーション・メインモジュール”の起動時処理、画面遷移の手順について説明する。
第４図の例では、画面表示処理ＤＬＬとして、“Ｕｓｅｒｌ．ｄｌｌ”と、“Ｕｓｅｒ２．ｄｌｌ”とがあり、これらは、前述の“ＣＦｏｒｍ  Ｖｉｅｗ  Ｃｌａｓｓ”と、“ＣＤｏｃｕｍｅｎｔ  Ｃｌａｓｓ”による各ＤＬＬ（画面）独自の処理部と、各ＤＬＬに共通の“ＤｌｌＭａｉｎ”と、“画面初期化処理”と、“画面作成処理”と、“画面終了処理”と、“画面作成前処理”と云う関数を有している。
“画面初期化処理”は、アプリケーション起動時、即ち“ＭＭＩアプリケーション・メインモジュール”の起動時に、“ＭＭＩアプリケーション管理ライブラリ”の初期化関数から各画面の初期化処理を順次実行する際に呼び出す関数であり、各画面の初期化に必要な処理をこの関数の中にプログラミングしておくことにより、画面独自の初期化処理が起動時に実行されることになる。
【００２３】
“画面作成処理”は、画面遷移要求において、“ＭＭＩアプリケーション管理ライブラリ”に存在する後述の“画面表示要求処理”から呼び出され、遷移先の画面表示を行う。
“画面終了処理”は、画面遷移要求において、“ＭＭＩアプリケーション管理ライブラリ”に存在する後述の“画面消去要求処理”から呼び出され、現在表示中の画面、即ち遷移元の画面表示を終了する操作を行う。
“画面作成前処理”は、“画面表示要求処理”の実行直後に呼び出され、画面世界を禁止する条件判定により、「ＴＲＵＥ」の場合には画面作成処理を実行し、「ＦＡＬＳＥ」の場合には、画面作成処理を実行せずに処理を中断する。なお、画面遷移チェック関数は、“ユーザ定義画面共通ライブラリ”が存在すれば、“ユーザ定義画面共通ライブラリ”で定義され、“画面作成前処理”は“ユーザ定義画面共通ライブラリ”より画面遷移チェック関数を呼び出す。
【００２４】
“ＭＭＩアプリケーション管理ライブラリ”は、前述の“ＣＦｒａｍｅＷｎｄ Ｃｌａｓｓ”と、“画面表示要求処理”と、“画面消去要求処理”と云う関数を有している。
“画面表示要求処理”は、画面遷移要求により画面管理テーブル番号（識別コード）によって指定されたウィンドウを表示するために、対応する画面表示処理用のＤＬＬ、換言すれば、画面遷移先の画面表示処理ＤＬＬの“画面作成処理”を呼び出す。
この時、“画面表示要求処理”の処理の先頭でＷｉｎｄｏｗｓＡＰＩの“ＳｅｔＰｒｉｏｒｔｙＣｌａｓｓ”を利用して画面遷移実行プログラムの処理の優先度を「最優先」に設定する。なお、ＷｉｎｄｏｗｓＡＰＩとは、オペレーティングシステムである“Ｗｉｎｄｏｗｓ”によって提供される関数群の総称である。
そして“画面表示要求処理”の最後でＷｉｎｄｏｗｓＡＰＩの“ＳｅｔＰｒｉｏｒｔｙＣｌａｓｓ”を利用して画面遷移実行プログラムの処理の優先度を元の状態「通常」に設定する。
“画面消去要求処理”は、画面遷移要求により画面管理テーブル番号（識別コード）によって指定されたウィンドウを閉じるために、対応する画面表示処理用のＤＬＬ、換言すれば、画面遷移元の画面表示処理ＤＬＬの“画面終了処理”を呼び出す。
この時、“画面消去要求処理”の処理の先頭でＷｉｎｄｏｗｓＡＰＩの“ＳｅｔＰｒｉｏｒｔｙＣｌａｓｓ”を利用して画面遷移実行プログラムの処理の優先度を「最優先」に設定する。
【００２５】
そして“画面消去要求処理”の最後でＷｉｎｄｏｗｓＡＰＩの“ＳｅｔＰｒｉｏｒｔｙＣｌａｓｓ”を利用して画面遷移実行プログラムの処理の優先度を元の状態「通常」に設定する。
次に、第５図を参照して“ＭＭＩアプリケーション・メインモジュール”の起動時処理ルーチンついて説明する。
まず、“ＭＭＩアプリケーション管理ライブラリ”を読み込み（ステップＳ１０）、“ＭＭＩアプリケーション管理ライブラリ”の初期化処理を呼び出す（ステップＳ２０）。これにより、タイトル画面の表示が行われる（ステップＳ３０）。
また、“ＭＭＩアプリケーション管理ライブラリ”の初期化処理の呼び出しと同時に、“ＭＭＩアプリケーション管理ライブラリ初期化処理”のルーチンで、“画面管理テーブル定義ファイル”をもとに画面管理テーブル２７０を初期化・作成する（ステップＳ４０）。
【００２６】
タイトル画面の表示が数秒間行われることにより、一定時間、待つことが行われ（ステップＳ５０）、この後に画面管理テーブル２７０の画面管理テーブル定義ファイルに最初の画面として指定されている画面を表示する（ステップＳ６０）。
次に、第６図を参照して、“Ｕｓｅｒ２．ｄｌｌ”による画面表示から“Ｕｓｅｒｌ．ｄｌｌ”による画面表示の際の画面遷移処理について説明する。
画面遷移要求により、“ＭＭＩアプリケーション管理ライブラリ”の“画面表示要求処理”を呼び出す（ステップＳ１００），（第４図の）。
次に“画面表示要求処理”の先頭でＷｉｎｄｏｗｓＡＰＩの“ＳｅｔＰｒｉｏｒｔｙＣｌａｓｓ”を利用して画面遷移実行プログラムの処理の優先度を「最優先」に設定する。
次に、画面管理テーブルの情報をもとに、遷移先の画面表示処理ＤＬＬの“画面作成前処理”を呼び出す（ステップＳ１１０），（第４図の）。
【００２７】
次に、遷移先の画面表示処理ＤＬＬの“画面作成前処理”により画面遷移前処理を行う（ステップＳ１２０）。これは、画面遷移チェック関数を呼び出し、画面遷移を行う場合には戻り値を「ＴＲＵＥ」とし、画面遷移を行いたくない場合には戻り値を「ＦＡＬＳＥ」として、“ＭＭＩアプリケーション管理ライブラリ”に返す。
次に、“ＭＭＩアプリケーション管理ライブラリ”で戻り値の判定を行う（ステップＳ１３０）。戻り値が「ＦＡＬＳＥ」であれば、画面遷移処理をすぐに終了し、戻り値が「ＴＲＵＥ」であれば、画面管理テーブルの情報をもとに、遷移先の画面表示処理ＤＬＬの“画面作成処理”を呼び出す（ステップＳ１４０），（第４図の）。
次に、遷移先の画面表示処理ＤＬＬの“画面作成処理”によってウィンドウ表示を行う（ステップＳ１５０）。
【００２８】
なお、遷移先の画面表示処理ＤＬＬの属性がメインウィンドウ画面であれば、遷移元ＤＬＬの“画面終了処理”を呼び出し遷移先のウィンドウ表示を止める。
次に、“画面表示要求処理”の最後でＷｉｎｄｏｗｓＡＰＩの“ＳｅｔＰｒｉｏｒｔｙＣｌａｓｓ”を利用して画面遷移実行プログラムの処理の優先度を元の状態「通常」に設定する。
以上説明した画面遷移処理により、画面遷移の都度、アプリケーションプログラムの起動、終了が発生することがなく、画面遷移の高速化が図られる。
【００２９】
（実施の形態２）
第７図はこの発明によるパーソナルコンピュータ組込み型数値制御装置の実施の形態２を示している。なお、第７図において、第１図に対応する部分は第１図に付した符号と同一の符号を付けてその説明を省略する。
この実施の形態では、ＰＣ部２００の画面表示処理部２６０に、即ち実施の態様１で説明したものに、モーダルデータ一括登録手段２６４と、モーダルデータ一括解除手段２６５と、画面データ登録手段２６６と、画面データ一括読出し手段２６７とが追加されている。
また、ＮＣ部１０のＰＣインタフェース部２０には、モーダル情報管理手段２１と、画面データ管理手段２２とが設けられ、デュアルポートＲＡＭ（ＮＣ部１０とＰＣ部２００とが共にアクセス可能な共用メモリ）５０にはモーダル情報テーブル５１が画定されている。また、ＮＣ部１０には画面表示で必要になるパラメータ等のＮＣ部のデータを格納する画面データメモリ３０が設けられている。
【００３０】
モーダルデータ一括登録手段２６４は、座標値、移動速度、回転数、等のＮＣ部１０で常時及び周期的に更新されるデータを画面単位で一括して登録するリクエストを、デュアルポートＲＡＭ５０を介してＮＣ部１０に対して通知する。
モーダルデータ一括解除手段２６５は、モーダルデータ一括登録手段２５４により登録されたデータを画面単位で一括解除するリクエストを、デュアルポートＲＡＭ５０を介してＮＣ部１０に対して通知する。
ＮＣ部１０のモーダル情報管理手段２１は、モーダルデータ一括登録手段２６４からのリクエストにより常時及び周期的更新のデータを画面単位で収集し、このデータをデュアルポートＲＡＭ５０のモーダル情報テーブル５１にセットし、また、モーダルデータ一括解除手段２６５からのリクエストによりデュアルポートＲＡＭ５０のモーダル情報テーブル５１にセットされたデータを一括削除する。
【００３１】
このようにしてデュアルポートＲＡＭ５０のモーダル情報テーブル５１にセットにセットされたデータは、任意の時点において画面単位で一括して画面表示される。これによりモーダルデータの画面表示が応答性よく高速に行われるようになる。
画面データ登録手段２６６は、ＮＣ部１０のデータを画面単位で一括して登録するリクエストをＮＣ部に通知する。
【００３２】
画面データ一括読出し手段２６７は、画面選択時に指定された画面データを一括して読み出すリクエストをデュアルポートＲＡＭ５０を介してＮＣ部１０に対して通知し、ＮＣ部１０よりの画面データを一括して読み取る。
ＮＣ部に設けられた画面データ管理手段２２は、画面データ登録手段２６６からのリクエストにより各画面の表示で必要になるパラメータ等のデータを画面データメモリ３０に格納し、画面データ一括読出し手段２６７からのリクエストにより画面データメモリ３０よりデータを読出し、そのデータを一括して画面データ一括読出し手段２６７に渡す。
また、画面データ管理手段２２は、操作パネル１１０のキー入力等でパラメータ等の画面データに関するメモリ１２の内容が変更された場合、画面データメモリ３０にも変更内容を反映させる。
このようにして画面データ一括読出し手段２６７に渡されたデータは任意の時点での画面データ表示において画面単位で一括して画面表示される。
これにより画面データの画面表示が応答性よく高速に行われるようになる。
【００３３】
次に、第９図に示されているプロセスフロー図とを参照してモーダルデータ一括登録・解除の処理手順を説明する。
１．モーダルデータ一括登録（ＥｘＲｅｇｉｓｔｅｒＭｏｄａｌ）
（１）  アプリケーションより、データ高速読み出しを行う登録データと、その登録個数を入力データとし、ＥｘＲｅｇｉｓｔｅｒＭｏｄａｌをコールする。
（２）  登録データをシフトＢＣＤコードに変換してＷｒｉｔｅＤａｔａをコールする。
（３）  ＷｒｉｔｅＤａｔａはＥｘＲｅｇｉｓｔｅｒＭｏｄａｌより送られてきたデータに、コマンドＩＤを付加して通信タスクへ送る。
（４）  デュアルポートＲＡＭ（２ポートＲＡＭ）５０上の要求メッセージ領域に要求メッセージを書き込む。
（５）  登録データの書き込みが正常に終了した場合、コマンドＩＤと完了ＩＤが返ってくる。失敗した場合は、コマンドＩＤとエラーステータスが返ってくる。
（６）  通信タスクをコールしたＷｒｉｔｅＤａｔａに対し、登録ＩＤを返す。
（７）  ＷｒｉｔｅＤａｔａをコールしたＥｘＲｅｇｉｓｔｅｒＭｏｄａｌに対し登録ＩＤを返す。エラーステータスが返ってきた場合には、ＥｘＲｅｇｉｓｔｅｒＭｏｄａｌは処理を終了する。
（８）  登録ＩＤを小区分番号にセットし、ＲｅａｄＤａｔａをコールする。
（９）  ＲｅａｄＤａｔａはＥｘＲｅｇｉｓｔｅｒＭｏｄａｌより送られてきたデータに、コマンドＩＤを付加して通信タスクへ送る。
（１０）  デュアルポートＲＡＭ３０上の要求メッセージ領域に要求メッセージを書き込む。
（１１）  登録結果の読み込みが正常に終了した場合、コマンドＩＤと完了ＩＤ、登録結果が返ってくる。失敗した場合には、コマンドＩＤとエラーステータスが返ってくる。
（１２）  通信タスクをコールしたＲｅａｄＤａｔａに対し、完了ＩＤと登録結果を返す。
（１３）  ＲｅａｄＤａｔａをコールしたＥｘＲｅｇｉｓｔｅｒＭｏｄａｌに対し完了ＩＤと登録結果を返す。エラーステータスが返ってきた場合には、ＥｘＲｅｇｉｓｔｅｒＭｏｄａｌは処理を終了する。
（１４）  登録結果（シフトＢＣＤコード）を変換した結果と、登録できなかったデータの個数をアプリケーションへ返す。
【００３４】
２．モーダルデータ一括解除（ＥｘＣａｎｃｅｌＭｏｄａｌ）
（１）  モーダルデータ一括解除では、上述の(1)の登録データの代わりに登録ＩＤを入力データとし、ＥｘＣａｎｃｅｌＭｏｄａｌをコールする。
（２）  ＥｘＣａｎｃｅｌＭｏｄａｌは、ＥｘＲｅｇｉｓｔｅｒＭｏｄａｌと同様に、登録ＩＤをシフトＢＣＤコードに変換して、ＷｒｉｔｅＤａｔａをコールする。このとき、大区分番号には［９００００００００］がセットされる。
（３）  （３）以降の処理は、ＥｘＲｅｇｉｓｔｅｒＭｏｄａｌと同処理である。
（４）  （１１）以降のＮＣ部からの出力データは登録解除結果となる。よって、（１４）に出力されるデータも登録解除結果が出力される。
【００３５】
第１０図は、ＮＣ部１０における画面データ登録の電源投入時の処理フローを示している。
まず、画面情報テーブル２７１の初期化後、各画面毎に画面情報テーブル２７１に設定されている最初の画面情報テーブル２、即ち第１画面情報テーブル２７１を選択する（ステップＳ２００）。該画面情報テーブル２７１には、各画面で表示されるパラメータの識別子に相当する大区分番号、小区分番号が登録されている。次に、すべての画面情報テーブル２７１を選択したかを確認し（ステップＳ２１０）、選択された画面情報テーブル２７１に登録されている大区分番号、小区分番号をテンポラリィテーブルにセットする（ステップＳ２２０）。
【００３６】
次に、第１２図に示したように、画面ＩＤを付け、制御テーブルのリクエストデータに登録を示す「１」を設定して、画面データ登録要求を行う（ステップＳ２３０）。
次に、ＮＣ部１０の画面データ管理手段２２で大区分、小区分番号を解析して画面データメモリ３０に画面データの登録を行い、完了通知をＰＣ部２００に返す（ステップＳ２４０）。登録が正常に終了すれば、即ち、第１２図の制御テーブルのステータスデータが「０」であれば（ステップＳ２５０肯定）、次の画面情報テーブル２７１を指定し（ステップＳ２６０）、ステップＳ２１０に戻り、すべての画面情報テーブル２７１を指定するまで、ステップＳ２２０〜ステップＳ２６０の処理を繰り返す。
登録が正常に終了しない場合には、即ち、第１２図の制御テーブルのステータスデータが「０」以外であれば（ステップＳ２５０否定）、画面データ登録を中止してエラー処理（エラー表示）を行い（ステップＳ２７０）、画面データ登録ルーチンを終了する。
第１１図は、画面選択時の画面データ読み出しルーチンを示している。画面データ読み出しでは、画面データ一括読み出し手段２６７にて、まず画面データ登録時に使用した画面ＩＤをセットし、第８図に示した制御テーブルに読み出しを示す「2」を設定し、デュアルポートＲＡＭ５０を介してＮＣ部１０の画面データ管理手段２２に画面データの読み出し要求を行う（ステップＳ３００）。
【００３７】
次に、画面データ管理手段２２は、画面ＩＤに対応する画面データを一括して読み出して、デュアルポートＲＡＭ３０を介して画面データ一括読み出し手段２６７に通知する（ステップＳ３１０）。
なお、第１２図は画面データの登録例を、第１３図は画面表示例をそれぞれ示している。
【００３８】
【発明の効果】
以上の説明から理解される如く、この発明によるパーソナルコンピュータ組込み型数値制御装置によれば、モーダルデータ一括登録手段からのデータ一括登録のリクエストにより常時及び周期的更新のデータがモーダル情報管理手段によって画面単位で共用メモリのモーダル情報テーブルにセットされ、ＰＣ部が共用メモリのモーダル情報テーブルにセットされたデータを画面単位で読み取り、画面表示するから各画面毎のモーダルデータ表示が応答性よく、迅速に行われるようになる。
【００３９】
また、この発明によるパーソナルコンピュータ組込み型数値制御装置によれば、モーダルデータ一括解除手段からのデータ一括解除のリクエストにより共用メモリのモーダル情報テーブルにセットされているデータが一括削除されるから、各画面毎の不要なモーダルデータ表示の解除が迅速に行われるようになる。
【図面の簡単な説明】
【図１】  この発明によるパーソナルコンピュータ組込み型数値制御装置の実施の形態１を示すブロック線図である。
【図２】  画面管理テーブルの一例を示す説明図である。
【図３】  この発明によるパーソナルコンピュータ組込み型数値制御装置における画面遷移処理のためのファイル構成を示す説明図である。
【図４】  画面表示処理用のＤＬＬの詳細を示す説明図である。
【図５】  画面遷移用のアプリケーションプログラムの起動時処理を示すフローチャートである。
【図６】  画面遷移の手順を示すフローチャートである。
【図７】  この発明によるパーソナルコンピュータ組込み型数値制御装置の実施の形態２を示すブロック線図である。
【図８】  画面データの読み出し例を示す説明図である。
【図９】  モーダルデータ一括登録のプロセスフローを示す説明図である。
【図１０】  画面データ登録の電源投入時の処理フローを示すフローチャートである。
【図１１】  画面選択時の画面データ読み出しルーチンを示すフローチャートである。
【図１２】  画面データの登録例を示す説明図である。
【図１３】  画面表示例を示す説明図である。
【図１４】  従来のパーソナルコンピュータ組込み型数値制御装置を示すブロック線図である。
【図１５】  従来のパーソナルコンピュータ組込み型数値制御装置における画面遷移処理のためのファイル構成図である。
【図１】
0003662594.tif 000002
【図２】
0003662594.tif 000003
【図３】
0003662594.tif 000004
【図４】
0003662594.tif 000005
【図５】
0003662594.tif 000006
【図６】
0003662594.tif 000007
【図７】
0003662594.tif 000008
【図８】
0003662594.tif 000009
【図９】
0003662594.tif 000010
【図１０】
0003662594.tif 000011
【図１１】
0003662594.tif 000012
【図１２】
0003662594.tif 000013
【図１３】
0003662594.tif 000014
【図１４】
0003662594.tif 000015
【図１５】
0003662594.tif 000016