(57)【特許請求の範囲】
【請求項１】
処理ユニットに搭載されたＢＡＳＩＣインタプリタがリロケータブルなオブジェクトを実行することにより上記処理ユニットにシリアルインタフェースを介して接続された周辺機器との間でデータの入出力を行うデータ処理方法において、
上記処理ユニットにシリアルインタフェースを介して接続されたパーソナルコンピュータ上で任意の言語を使用して開発されたリロケータブルなオブジェクトを上記パーソナルコンピュータから上記シリアルインタフェースを経由して上記処理ユニットにロードし、
上記ＢＡＳＩＣインタプリタが解釈するＢＡＳＩＣプログラムに書き込まれた、上記リロケータブルなオブジェクトと関数名とのリンク関係を規定する宣言文に基づき、上記処理ユニットにロードされた上記リロケータブルなオブジェクトを上記ＢＡＳＩＣインタプリタが実行する
ことを特徴とするデータ処理方法。
【請求項２】
上記ＢＡＳＩＣインタプリタと上記リロケータブルなオブジェクトであるライブラリプログラムとの間のデータの授受は、上記ＢＡＳＩＣインタプリタを収容するシステムのスタックエリアを使用して行われることを特徴とする請求項１記載のデータ処理方法。
【請求項３】
ＢＡＳＩＣインタプリタがリロケータブルなオブジェクトを実行することによりシリアルインタフェースを介して接続された周辺機器との間でデータの入出力を行う処理ユニットにおいて、
上記シリアルインタフェースを介して接続されたパーソナルコンピュータ上で任意の言語を使用して開発されたリロケータブルなオブジェクトを上記パーソナルコンピュータから上記シリアルインタフェースを経由してロードするロード手段と、
上記ＢＡＳＩＣインタプリタが解釈するＢＡＳＩＣプログラムに書き込まれた、上記リロケータブルなオブジェクトと関数名とのリンク関係を規定する宣言文に基づき、上記ロードされたリロケータブルなオブジェクトを上記ＢＡＳＩＣインタプリタが実行する実行手段と、
を具備することを特徴とする処理ユニット。
【請求項４】
上記ロード手段によりロードされた上記リロケータブルなオブジェクトをライブラリプログラムとして管理する管理手段、をさらに具備することを特徴とする請求項３記載の処理ユニット。
【請求項５】
上記宣言文は、上記管理手段により管理されるライブラリプログラムと関数名とのリンク関係を宣言したものであることを特徴とする請求項４記載の処理ユニット。
【請求項６】
上記管理手段は、上記ライブラリプログラムを、そのロード時に指定されたライブラリ名、ライブラリプログラムサイズ、ロード時刻等のデータとともに管理テーブルで管理することを特徴とする請求項４記載の処理ユニット。
【請求項７】
上記管理手段は、所定のコマンド入力により上記管理する任意のライブラリプログラムを消去する消去手段を具備することを特徴とする請求項４記載の処理ユニット。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、データ処理方法および処理ユニットに関し、特に、コンパイル、アセンブルされたリロケータブルなオブジェクトをＢＡＳＩＣインタプリタが実行できるようにしたデータ処理方法および処理ユニットに関する。
【０００２】
【従来の技術】
従来、ＢＡＳＩＣインタプリタを用いたデータ処理装置は種々の分野で広く用いられている。
【０００３】
ところで、上記ＢＡＳＩＣインタプリタを用いたデータ処理装置において、コンパイラなどにより生成されるリロケータブルなオブジェクトを実行する場合は、リンカにてそのオブジェクト同士をリンクして１つのプログラムとして実行することが一般的である。
【０００４】
また、上記ＢＡＳＩＣインタプリタを用いたデータ処理装置において、ＢＡＳＩＣインタプリタ上で機械語で組まれたプログラムを実行させるように構成したデータ処理装置も提案されている。
【０００５】
【発明が解決しようとする課題】
しかし、上記従来のＢＡＳＩＣインタプリタ上で機械語で組まれたプログラムを実行させるデータ処理装置においては、以下に示すような問題があった。
【０００６】
１）機械語のコードをＢＡＳＩＣインタプリタを持つ機器のメモリ上の絶対アドレスに直接書込む必要があったため、機器上でしかプログラムの開発ができない。
【０００７】
２）機械語のコードをＢＡＳＩＣインタプリタを持つ機器のメモリ上の絶対アドレスに直接埋め込むために使用言語がレベルが低い言語に特定され、このため比較的ボリュームのあるプログラムを開発するのが非常に困難である。
【０００８】
３）コード埋め込みのために作業効率が非常に悪い。
【０００９】
４）ＢＡＳＩＣインタプリタからその機械語プログラムを実行するためにはその絶対アドレスを指定する必要があり、そのため絶対アドレスの管理が常に必要となり、汎用的にその機械語プログラムを流用することが難しい。
【００１０】
５）制御対象機器のプログラムを直接機械語で開発しなければならないので、その制御対象機器はデバッグのためのモニタ機能を用意する必要がある。
【００１１】
そこで、この発明は、リロケータブルなオブジェクトをＢＡＳＩＣインタプリタが実行でき、しかも作業効率を向上させることができるデータ処理方法および処理ユニットを提供することを目的とする。
【００１２】
【課題を解決するための手段】
上記目的を達成するため、請求項１記載の発明は、処理ユニットに搭載されたＢＡＳＩＣインタプリタがリロケータブルなオブジェクトを実行することにより上記処理ユニットにシリアルインタフェースを介して接続された周辺機器との間でデータの入出力を行うデータ処理方法において、上記処理ユニットにシリアルインタフェースを介して接続されたパーソナルコンピュータ上で任意の言語を使用して開発されたリロケータブルなオブジェクトを上記パーソナルコンピュータから上記シリアルインタフェースを経由して上記処理ユニットにロードし、上記ＢＡＳＩＣインタプリタが解釈するＢＡＳＩＣプログラムに書き込まれた、上記リロケータブルなオブジェクトと関数名とのリンク関係を規定する宣言文に基づき、上記処理ユニットにロードされた上記リロケータブルなオブジェクトを上記ＢＡＳＩＣインタプリタが実行することを特徴とする。
【００１３】
また、請求項２記載の発明は、請求項１記載の発明において、上記ＢＡＳＩＣインタプリタと上記リロケータブルなオブジェクトであるライブラリプログラムとの間のデータの授受は、上記ＢＡＳＩＣインタプリタを収容するシステムのスタックエリアを使用して行われることを特徴とする。
【００１４】
また、請求項３記載の発明は、ＢＡＳＩＣインタプリタがリロケータブルなオブジェクトを実行することによりシリアルインタフェースを介して接続された周辺機器との間でデータの入出力を行う処理ユニットにおいて、上記シリアルインタフェースを介して接続されたパーソナルコンピュータ上で任意の言語を使用して開発されたリロケータブルなオブジェクトを上記パーソナルコンピュータから上記シリアルインタフェースを経由してロードするロード手段と、上記ＢＡＳＩＣインタプリタが解釈するＢＡＳＩＣプログラムに書き込まれた、上記リロケータブルなオブジェクトと関数名とのリンク関係を規定する宣言文に基づき、上記ロードされたリロケータブルなオブジェクトを上記ＢＡＳＩＣインタプリタが実行する実行手段と、を具備することを特徴とする。
【００１５】
また、請求項４記載の発明は、請求項３記載の発明において、上記ロード手段によりロードされた上記リロケータブルなオブジェクトをライブラリプログラムとして管理する管理手段、をさらに具備することを特徴とする。
【００１６】
また、請求項５記載の発明は、請求項４記載の発明において、上記宣言文は、上記管理手段により管理されるライブラリプログラムと関数名とのリンク関係を宣言したものであることを特徴とする。
【００１７】
また、請求項６記載の発明は、請求項４記載の発明において、上記管理手段は、上記ライブラリプログラムを、そのロード時に指定されたライブラリ名、ライブラリプログラムサイズ、ロード時刻等のデータとともに管理テーブルで管理することを特徴とする。
【００１８】
また、請求項７記載の発明は、請求項４記載の発明において、上記管理手段は、所定のコマンド入力により上記管理する任意のライブラリプログラムを消去する消去手段を具備することを特徴とする。
【００１９】
【発明の実施の形態】
まず、図１を使用してこの発明の概要を説明する。
【００２０】
この発明は、同図に示すように、リロケータブルなオブジェクトを処理ユニット１０のＢＡＳＩＣインタプリタ上で実行することにより制御対象機器３００を制御するＰＬＣ１００において、上記オブジェクトを任意の言語を使用してＰＣ２００上で開発し、該開発したオブジェクトをＰＣ２００から処理ユニット１０にロードするとともに、上記ＢＡＳＩＣインタプリタが解釈するＢＡＳＩＣプログラムに上記ロードしたオブジェクトとのリンク関係を示す宣言文を書込み、上記宣言文により示されるリンク関係に基づき上記ロードしたオブジェクトを上記ＢＡＳＩＣインタプリタ上で実行するように構成される。
【００２１】
以下、この発明に係るデータ処理方法および処理ユニットの一実施の形態を添付図面を参照して詳細に説明する。
【００２２】
図１は、この発明に係るデータ処理方法および処理ユニットを適用して構成したＰＬＣシステムの概略構成を示すブロック図である。
【００２３】
図１において、このＰＬＣシステムは、ＰＬＣ（プログラマブルロジックコントローラ）１００と、このＰＬＣ１００にＲＳ２３２、ＲＳ４２２／４８５等を介して接続され、このＰＬＣ１００と通信を行う他機器３００と、このＰＬＣ１００とＲＳ２３２等を介して接続され、このＰＬＣ１００に対して後に詳述するライブラリプログラムを転送するＰＣ（パーソナルコンピュータ）２００から構成される。
【００２４】
ここで、ＰＬＣ１００は、この発明に係る処理ユニット１０、ＰＬＣ１００を統括制御するとともにラダープログラムを実行してＩ／Ｏコントロールを行うＣＰＵ（中央演算処理ユニット）２０、このＰＬＣ１００に対して電源を供給するＰＳ（電源ユニット）３０等を具備して構成される。
【００２５】
ここで、上記処理ユニット１０の機能は大きく分けて次の２つの機能を有する。
【００２６】
１）通信Ｉ／Ｆ（インタフェース）ユニットとして使用
この処理ユニット１０は、ＢＡＳＩＣインタプリタを搭載しているため、ユーザはＢＡＳＩＣプログラムを作成することによって、種々の通信プロトコルの相手機器と接続することができる。
【００２７】
２）演算ユニットとして使用
このＰＬＣ１００のＣＰＵ２０が不得意とする実数演算、三角関数演算等の特殊演算処理、文字列操作等のデータ処理を、ＣＰＵ２０の処理から分離して処理ユニット１０で実行させることができる。
【００２８】
この処理ユニット１０は、以下に示すような特徴を有する。
【００２９】
１）ＲＳ２３２、ＲＳ４２２／４８５のシリアルポートを持ち、周辺機器と接続してデータの入出力を行うことができる。
【００３０】
２）ＢＡＳＩＣプログラムを実行することが可能であるので、実数演算、特殊演算、複雑なフロープログラムを簡単に実行させることができる。
【００３１】
３）ＢＡＳＩＣ命令を使って、ＰＬＣ１００のＣＰＵ２０とのデータ授受、外部周辺機器とのデータ授受が可能である。
【００３２】
４）リアルタイムクロックの内蔵により、時計、時刻を利用した処理の実行が可能である。
【００３３】
５）ライブラリプログラムのサポートにより、この処理ユニット１０にない演算命令等をユーザにて開発、使用することが可能である。
【００３４】
また、ＰＣ２００は、ＰＬＣ１００の処理ユニット１０にロードするライブラリプログラムの開発に使用できるもので、コンパイラ・アセンブラデバッガがインストールされている。また、このライブラリプログラムの開発には、Ｃ言語、ＰＡＳＣＡＬ、アセンブラなどをユーザが任意に選択して使用できるように構成されている。このＰＣ２００上で開発されたプログラムは、ライブラリプログラムとして、ＰＬＣ１００の処理ユニット１０に転送される。また、このＰＣ２００は、処理ユニット１０のターミナルとしても使用される。
【００３５】
また、他機器３００は、ＰＬＣ１００の制御対象となるもので、ＰＬＣ１００との間で各種データの通信を行う。
【００３６】
この他機器３００としては、
１）ロボットコントローラ
２）温度調節装置（温調）
３）バーコードリーダ
４）プリンタ
５）モデム
６）他社ＰＬＣ
７）計器等その他専用コントローラ
等が含まれる。
【００３７】
図２は、図１に示したＰＬＣシステムの処理ユニット１０の詳細構成を示すブロック図である。
【００３８】
図２において、この処理ユニット１０は、マイクロプロセッサユニット（ＭＰＵ）１１、リードオンリィメモリ（ＲＯＭ）１２、ランダムアクセスメモリ（ＲＡＭ）１３、ＰＬＣ−Ｉ／Ｏバスゲートアレイ１５、リアルタイムクロック発生部（ＲＴＣ）１６、シリアルインターフェース装置（シリアルＩ／Ｆ）１７、パラレル入出力装置（パラレルＩ／Ｏ）１８を具備し、これらをバスで接続することにより構成される。
【００３９】
ここで、マイクロプロセッサユニット１１は、この処理ユニット１０の動作を統括制御するもので、リードオンリィメモリ１２に格納されたシステムソフトウエアを実行する。
【００４０】
リードオンリィメモリ１２は、この処理ユニット１０のシステムソフトウエアを格納する。
【００４１】
このリードオンリィメモリ１２に格納されるシステムソフトウエアを具体的に示すと、図３に示すようになる。
【００４２】
すなわち、このシステムソフトウエアは、ＢＡＳＩＣインタプリタとリアルタイムＯＳ（オペレーションシステム）に分類することができ、ＢＡＳＩＣインタプリタは、
１）Ｓｃａｎｎｅｒ部（字句解析部）
２）Ｐａｒｓｅｒ部（構文解析部）
３）Ｅｘｅｃｕｔｏｒ部（実行部）
４）ライブラリＩ／Ｆ部（ライブラリプログラムの管理、リンク）
５）デバッガ部（ＢＡＳＩＣプログラムデバッグ機能）
等を有している。
【００４３】
また、リアルタイムＯＳは、
１）メモリマネージャ部
２）Ｉ／Ｏバス制御部
３）システム割込み制御部
４）シリアル通信制御部
５）ＲＴＣ（リアルタイムクロック）制御部
等を有している。
【００４４】
ランダムアクセスメモリ１３は、この処理ユニットを動作させるためのＢＡＳＩＣプログラム、このデータ処理システムから送信する送信データ等を格納する。
【００４５】
このランダムアクセスメモリ１３のメモリエリア（ＲＡＭエリア）を具体的に示すと、図４に示すようになる。
【００４６】
すなわち、ランダムアクセスメモリ１３のメモリエリア（ＲＡＭエリア）は、ユーザメモリエリアとシステムメモリエリアからなり、ユーザメモリエリアは以下に示す
１）ＢＡＳＩＣソースプログラム格納
２）中間コード（ＢＡＳＩＣソースをセミコンパイルして生成）
３）変数エリア（変数用ワークエリア）
４）ライブラリプログラム格納など
を有する構造からなる。
【００４７】
ここで、ユーザメモリエリアの各データの配置は、リードオンリィメモリ１２に格納されるシステムソフトウエアのメモリマネージャにより管理され、必要時に割付けられる。
【００４８】
また、システムメモリエリアは以下に示す
１）システム用ワーク
２）システム用スタック
３）各種ＢＡＳＩＣ実行用情報テーブルエリア
４）送受信バッファなど
を有する構造からなる。
【００４９】
ＰＬＣ−Ｉ／Ｏバスゲートアレイ１５は、図１に示したＰＬＣ１００のＣＰＵ２０との間のデータの授受を制御する。
【００５０】
リアルタイムクロック発生部１６は、この処理ユニット１０で使用するリアルタイムクロックを発生する。
【００５１】
シリアルインタフェース装置１７は、外部機器との通信を行うインターフェースを構成するもので、ＲＳ２３２、ＲＳ４２２／４８５を具備している。
【００５２】
パラレル入出力装置１８は、図示しないＬＥＤの点灯、消灯制御、各種スイッチの状態読み込み等のインターフェースとして使用される。このパラレル入出力装置１８は、上記ＬＥＤに対してその駆動信号を出力し、上記各種スイッチ（ＳＷ）からその状態信号を入力する。
【００５３】
図５は、図２に示した処理ユニットのランダムアクセスメモリのユーザメモリエリア上におけるライブラリプログラムの保存処理を説明する図である。
【００５４】
図１に示したＰＣ２００上で種々の言語を用いて開発されたライブラリプログラムは、ＰＬＣ１００の処理ユニット１０の図２に示したランダムアクセスメモリ１３上のユーザメモリエリアにロードされる。処理ユニット１０では、このＰＣ２００からロードされたライブラリプログラムを図２に示したリードオンリィメモリ１２上のシステムソフトウエアのメモリマネージャにより管理され、必要時に割付けられる。
【００５５】
すなわち、リードオンリィメモリ１２上のシステムソフトウエアのメモリマネージャは、図５に示すように、ロードされたライブラリプログラムをランダムアクセスメモリ１３上のユーザメモリエリアの空きロケーションにロードされた順に配置する。
【００５６】
具体的には、ライブラリプログラムがＰＣ２００からロードされる順にライブラリナンバ（ＬｉｂｒａｒｙＮｏ．）を割り当て、それと同時にこのライブラリプログラムのロード時に指定されたライブラリ名（Ｌｉｂｒａｒｙ名）、ライブラリプログラムサイズ、その時刻をランダムアクセスメモリ１３上のユーザメモリエリアの空きロケーションに保存する。このライブラリプログラムのロード時のロード命令の一例を示すと以下のようになる。
ＬＩＢＬＯＡＤ「通信ポートＮＯ」「通信条件」「Ｌｉｂｒａｒｙ名」
【００５７】
このようにして、ランダムアクセスメモリ１３上のユーザメモリエリアに保存されたライブラリプログラムは、管理テーブルにより管理される。
【００５８】
図６は、図２に示したランダムアクセスメモリ上のユーザメモリエリアに保存されたライブラリプログラムを管理するＬｉｂｒａｒｙ管理テーブルの一例を示した図である。
【００５９】
図６において、「ＬｉｂｒａｒｙＮｏ．」は、ライブラリプログラムがダウンロードされた機器上でそのシステムがそのライブラリプログラムを管理するための番号である。
【００６０】
また、「Ｌｉｂｒａｒｙ名」は、そのライブラリプログラムをダウンロードした機器上でそのライブラリプログラムを管理するための識別情報（ＩＤ）である。
【００６１】
また、「アドレスポインタ」は、ライブラリプログラムがダウンロードされた機器上におけるライブラリプログラムの配置されたアドレスを示すものであり、「タイムスタンプ」は、このライブラリプログラムがダウンロードされた日時を示すものである。
【００６２】
また、「ＷＤＴリフレッシュ設定」は、システムの暴走監視用ＷＤＴ（ＷａｔｃｈＤｏｇＴｉｍｅｒ）を機器のシステムで行うか、ライブラリプログラムで行うかの設定を示すものであり、「Ｉ／Ｆデータ表示」は、デバッグモードにおいて、ライブラリプログラムへの分岐前後にブレークポイントを設定した場合に、ライブラリプログラムへのＢＡＳＩＣインタプリタからの入力データ、ライブラリプログラムからＢＡＳＩＣインタプリタへの出力データを表示させるかさせないかの設定を示すものである。
【００６３】
なお、機器へダウンロードされたライブラリプログラムは表示コマンドにて図１に示したＰＣ２００上で情報確認ができるように構成されている。このＰＣ２００上における情報確認の一例を示すと図７のようになる。
【００６４】
また、一度ダウンロードして登録したライブラリプログラムは、例えば、「ＬＩＢＤＥＬ１」というコマンドを使用して消去することも可能である。このコマンド「ＬＩＢＤＥＬ１」を使用した場合は、ＬｉｂｒａｒｙＮｏ．１の“ｃｏｍｍｓｌｉｂ”が図６に示したＬｉｂｒａｒｙ管理テーブルから削除される。
【００６５】
ところで、この実施の形態においては、図２に示したランダムアクセスメモリ１３のユーザメモリエリアに格納されるＢＡＳＩＣプログラムに図８に示すような宣言文をいれることにより任意のライブラリプログラムと任意の関数名とをリンクさせることができるように構成されている。
【００６６】
また、上記ＢＡＳＩＣプログラムに書き込まれる宣言文により形成されたリンクの使用例を示すと、図９のようになる。
【００６７】
ＢＡＳＩＣインタプリタとライブラリプログラムの間のデータの授受は、図４に示したランダムアクセスメモリ１３のシステムメモリエリアのシステム用スタック、すなわちシステムのスタックエリアを使用する。
【００６８】
図１０は、ＢＡＳＩＣインタプリタとライブラリプログラムの間のデータの授受に用いられるシステムのスタックエリアの具体的構造を示した図である。
【００６９】
図１０において、ＢＡＳＩＣインタプリタとライブラリプログラムの間のデータの授受に用いられるシステムのスタックエリアは、
１）Ｌｉｂｒａｒｙへ分岐するときのスタックデータ
２）Ｌｉｂｒａｒｙへの入力データ
３）システムレジスタ待避
４）ＢＡＳＩＣインタプリタへの戻り先アドレス
５）スタックポインタ待避
６）ローカル変数エリア
を格納する。
【００７０】
ここで、２）のＬｉｂｒａｒｙへの入力データおよび３）のシステムレジスタ待避および４）のＢＡＳＩＣインタプリタへの戻り先アドレスは、ＢＡＳＩＣインタプリタでセットされ、５）のスタックポインタ待避は、Ｌｉｂｒａｒｙでワークを必要とするときに設定され、６）のローカル変数エリアは、Ｌｉｂｒａｒｙで必要とするワークエリアをＬｉｂｒａｒｙプログラムにて任意に確保するものである。
【００７１】
また、Ｌｉｂｒａｒｙからの出力データは図２に示した処理ユニット１０のＭＰＵ１１が持つレジスタへ直接格納される。この処理ユニット１０のＭＰＵ１１の各レジスタ（３２ｂｉｔ）の出力データの意味付けの一例を示すと図１１に示すようになる。
【００７２】
【発明の効果】
以上説明したように、この発明によれば、パーソナルコンピュータ上で開発されたコンパイル型のリロケータブルなオブジェクトをこの発明による技術を有したＢＡＳＩＣインタプリタを持つ機器にダウンロードし、ＢＡＳＩＣプログラムにＢＡＳＩＣインタプリタとそのオブジェクトをリンクする宣言文を追加するだけで、ＢＡＳＩＣプログラム中で自由に使用することができる。
【００７３】
それにより、
１）一般のパーソナルコンピュータ上でそのオブジェクトを開発することができるため市販の関発環境（デバッカ、エディタなど）を自由に選択し使用できる２）オブジェクト開発において機器に依存しないため開発言語（Ｃ言語、ＰＡＳＣＡＬ、アセンブラなど）を自由に選択し使用できる
３）オブジェクト開発においては、高級言語が使用できるため、比較的ボリュームの大きいプログラム開発も容易であるし、また開発効率もよい
４）パーソナルコンピュータ上で開発するので、市販のハイレベルのデバック環境を使用することができるため、オブジェクトを実行する機器にデバックのためのモニタ機能を用意する必要がなくなる
５）オブジェクトを実行する機器の絶対アドレスを必要としないため、開発したオブジェクトを流用する場合には非常に高い汎用性がある
６）ＢＡＳＩＣプログラムにおいては、宣言文１つでオブジェクトとのリンクをはることができるため、ユーザが任意にそのオブジェクトを認識しやすいような関数名を付けて使用することができる
７）ＢＡＳＩＣインタプリタとライブラリプログラムとのI ／F データ（入出力データ）はＢＡＳＩＣのデバック機能を利用して、オプション指定により表示確認することができる
等の効果を奏する。
【図面の簡単な説明】
【図１】  この発明に係るデータ処理方法および処理ユニットを適用して構成したＰＬＣシステムの概略構成を示すブロック図。
【図２】図１に示したＰＬＣシステムの処理ユニットの詳細構成を示すブロック図。
【図３】図２に示したリードオンリィメモリに格納されるシステムソフトウエアの具体例を表で示した図。
【図４】図２に示したランダムアクセスメモリのＲＡＭエリアの具体的構造を表で示した図。
【図５】図２に示した処理ユニットのランダムアクセスメモリのユーザメモリエリア上におけるライブラリプログラムの保存処理を説明する図。
【図６】図２に示したランダムアクセスメモリ上のユーザメモリエリアに保存されたライブラリプログラムを管理するＬｉｂｒａｒｙ管理テーブルの一例を示した図。
【図７】ＰＣ上におけるライブラリプログラムの情報確認の一例を示す図。
【図８】  任意のライブラリプログラムと任意の関数名とをリンクさせることができるようにするためにＢＡＳＩＣプログラムに書込まれる宣言文の一例を示す図。
【図９】  ＢＡＳＩＣプログラムに書込まれる宣言文により形成されたリンクの使用例を示した図。
【図１０】ＢＡＳＩＣインタプリタとライブラリプログラムの間のデータの授受に用いられるシステムのスタックエリアの具体的構造を示した図。
【図１１】図１に示したＰＣの各レジスタ（１６ｂｉｔ）の出力データの意味付けの一例を示した図。
【符号の説明】
１０    処理ユニット
１１    マイクロプロセッサユニット（ＭＰＵ）
１２    リードオンリィメモリ（ＲＯＭ）
１３    ランダムアクセスメモリ（ＲＡＭ）
１５    ＰＬＣ−Ｉ／Ｏバスゲートアレイ
１６    リアルタイムクロック発生部（ＲＴＣ）
１７    シリアルインターフェース装置（シリアルＩ／Ｆ）
１８    パラレル入出力装置（パラレルＩ／Ｏ）
２０    ＣＰＵ（中央演算処理ユニット）
３０    ＰＳ（電源ユニット）３０
１００    ＰＬＣ（プログラマブルロジックコントローラ）
２００    ＰＣ（パーソナルコンピュータ）
３００    他機器
【図１】
0003674936.tif 000002
【図２】
0003674936.tif 000003
【図３】
0003674936.tif 000004
【図４】
0003674936.tif 000005
【図５】
0003674936.tif 000006
【図６】
0003674936.tif 000007
【図７】
0003674936.tif 000008
【図８】
0003674936.tif 000009
【図９】
0003674936.tif 000010
【図１０】
0003674936.tif 000011
【図１１】
0003674936.tif 000012