JPH05216694A - Faコントローラ - Google Patents

Faコントローラ

Info

Publication number
JPH05216694A
JPH05216694A JP2125892A JP2125892A JPH05216694A JP H05216694 A JPH05216694 A JP H05216694A JP 2125892 A JP2125892 A JP 2125892A JP 2125892 A JP2125892 A JP 2125892A JP H05216694 A JPH05216694 A JP H05216694A
Authority
JP
Japan
Prior art keywords
reception
task
buffer
data
priority
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.)
Pending
Application number
JP2125892A
Other languages
English (en)
Inventor
Kyuichi Miyake
久一 三宅
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2125892A priority Critical patent/JPH05216694A/ja
Publication of JPH05216694A publication Critical patent/JPH05216694A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Multi-Process Working Machines And Systems (AREA)
  • Control By Computers (AREA)

Abstract

(57)【要約】 【目的】 この発明は、マルチタスクオペレーティング
システムにおいて、各タスクが円滑に起動し動作するF
Aコントローラを得ることを目的としており、さらに、
通信回数、受信データ量が多くなってもエラーにならな
いようにするS/W制御方法を提供することを目的とし
ている。 【構成】 受信割込ドライバ9によるスケジュールリン
グテーブル3のプライオリティ操作手段としての受信タ
スク7と他のタスク8と、その動作要因である受信バッ
ファ6の受信データ数(量)を検知する検知手段を備え
たものである。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、外部機器と汎用通信を
行うFAコントローラのマルチタスクオペレーティング
システムにかかわり、特にタスク構成に受信タスクを含
み、受信割込動作を行う受信ドライバとその受信データ
を格納する受信バッファが存在する構成のFAコントロ
ーラに関するものである。
【0002】
【従来の技術】図5は従来のFAコントローラにおける
マルチタスクオペレーティングシステムのモジュール概
要構成図である。1はマルチタスクオペレーティングシ
ステム搭載可能なFAコントローラのハードウェア部で
ある。2はタスクの持つプライオリティに基づいて、タ
スクの処理待ち行列を形成し、その待ち行列の先頭にあ
るプライオリティの高いタスクの処理を実行するよう制
御を行うスケジューラである。3はタスクの持つプライ
オリティの値が格納されているスケジューリングテーブ
ルである。4は割込ドライバからの復帰およびタスクの
起床兼復帰処理、タスクごとの割込禁止レベルの読み出
し、設定を行う割込み管理モジュールである。5は実行
・実行可能・待ち・強制待ち等のタスク状態の管理を行
うタスク管理モジュールである。6は受信割込ドライバ
9がアクセスすることのできる内部メモリで、受信デー
タを一時格納する受信バッファエリアである。7は受信
タスクで、受信割込ドライバ9からデータを受け取る専
用タスクである。8は受信タスク以外に動作している数
本の他のタスクである。9は受信割込ドライバで、外部
機器10より受信したデータを処理するプログラムであ
る。10は外部機器であり、本FAコントローラと通信
を行う相手機器である。11は汎用通信に使用するハー
ドウェアバッファであり、外部機器10から受信したデ
ータを1バイト単位で格納する。
【0003】従来のFAコントローラは上記のように構
成され、スケジューラ2がスケジューリングテーブル3
に格納されている各タスクのプライオリティの値に従
い、タスク管理モジュール5を介して各タスクのスケジ
ューリングを行う。その1つのタスクに外部機器10か
らの受信データに対する処理を行なう受信タスク7があ
る。図6は従来の受信割込ドライバ9のフローチャート
である。外部機器10からのデータがハードウェアバッ
ファ11に受信されると、受信割込ドライバ9が起動さ
れ、受信バッファ6の残量チェックを行う。空きがなけ
ればバッファフルエラーとなる。空きがあれば、受信バ
ッファ6にデータを格納し、次の受信状態になる。受信
バッファ6のデータは、受信タスク7が動作時に確認さ
れ、データがある場合は、データリード処理をする。つ
まり、受信割込ドライバ9は、受信したデータを受信バ
ッファ6に格納する動作を行い、受信タスク7は、受信
タスク7より高い、或は同一のプライオリティをもつ他
のタスク8が実行待ち状態の時、初めて動作し、受信バ
ッファ6に格納されている受信データを処理し、受信バ
ッファ6のデータをなくす。従って、受信タスク7と受
信割込ドライバ9は非同期で動作する。
【0004】
【発明が解決しようとする課題】受信データ量が多い時
に、各タスクのプライオリティが同じ、或は、受信タス
ク7のプライオリティが他のタスク8より低い場合、受
信タスク7の動作する時間が少なくなり、受信バッファ
6の受信データをすべて読み出せず、バッファフルエラ
ーが発生する。従って、バッファフルエラーが発生した
ことを検知した外部機器10は再送手順を行なわなけれ
ばならないという問題点があった。また、受信タスク7
のプライオリティが他のタスク8より高い場合、他のタ
スク8の動作効率が悪くなるという問題点もあった。
【0005】この発明は、かかる問題点を解決するため
になされたものであり、各タスクが円滑に起動し動作す
るFAコントローラを得ることを目的としており、さら
に、通信回数、受信データ量が多くなってもエラー発生
頻度を少なくするS/W制御方法を提供することを目的
としている。
【0006】
【課題を解決するための手段】この発明に係るFAコン
トローラにおいては、受信バッファに格納されているデ
ータ量が一定上限量を超えると受信タスクのプライオリ
ティをあげる。また、データ量が一定下限量を下回る
と、受信タスクのプライオリティを元に戻す制御方法で
ある。
【0007】
【作用】上記のように構成されたFAコントローラを前
述の制御方法でスケジューリングを行うと、受信データ
量により受信タスクのプライオリティが変化するため、
受信データ量が多い時は受信タスクの動作する機会が多
くなり、受信データ量が少ない時は他のタスクの動作す
る機会が多くなるように働く。
【0008】
【実施例】
実施例1.図1はこの発明の一実施例を示すモジュール
構成図であり、1〜5、7、8、10、11は上記従来
構成図と全く同一のものである。6は前述のとおり受信
バッファであり、一定上限量と一定下限量を設定してい
る。一定上限量とは、受信データ量がこれ以上増加する
と受信タスクが一回の動作で受信バッファのデータをす
べて読み出す時間より受信バッファの空きエリアがなく
なり、エラー発生すると思われる上限量であり、 一定下限量 < 一定上限量 < 受信バッファ量 の範囲で設定する。一定下限量とは、受信バッファの空
きエリアが十分あり、スケジューリングテーブルの内容
に従い受信タスクを動作させても受信バッファがバッフ
ァフルエラーにならないと思われる下限量であり、 0 < 一定下限量 < 一定上限量 の範囲で設定する。9は、前述のとおり受信割込ドライ
バであり、スケジューリングテーブルとアクセスできる
ようになっている。
【0009】前記のようにモジュール構成されたFAコ
ントローラにおいて、図2は本実施例のFAコントロー
ラの受信割込ドライバのフローチャートである。受信割
込が発生すると受信割込ドライバが動作する。最初に受
信状態をチェックする。受信エラーであれば、エラー処
理を行い終了する。正常受信であれば、受信した1バイ
トデータをリードする。その後、受信バッファの残量チ
ェックを行う。受信バッファのデータ量が既に一杯の時
はバッファフルエラー処理を行い終了する。受信バッフ
ァのデータ量が一定上限量を超えている時は、スケジュ
ーリングテーブルの受信タスクのプライオリティ値をあ
げ、受信バッファの早期読み出しができるようにする。
受信バッファのデータ量が一定下限量を下回っている時
は、スケジューリングテーブルの受信タスクのプライオ
リティ値を元に戻す。その後、受信した1バイトデータ
を受信バッファに格納して処理を終了する。他のタスク
の動作優先度が受信タスクより高い場合、他のタスクの
プライオリティ値と受信タスクのプライオリティをあげ
た時のプライオリティ値を同レベルに設定し、他のタス
ク処理の動作保障をする。
【0010】実施例2.図3はこの発明の他の実施例を
示すモジュール構成図であり、1〜5、7、8、10、
11は上記従来構成図と全く同一のものである。6は前
述のとおり受信バッファであり、一定上限量と一定下限
量を設定している。一定上限量と一定下限量の定義付け
は上記実施例1と同内容である。9は前述のとおり受信
割込ドライバであり、フローチャートは図6と全く同一
である。12は周期割込プログラムであり、周期的に割
り込むプログラムである。図4が周期割込プログラムの
フローチャートである。
【0011】前記のようにモジュール構成されたFAコ
ントローラにおいて、図4は本実施例のFAコントロー
ラの周期割込プログラムのフローチャートである。上記
実施例1では受信割込ドライバがスケジューリングテー
ブルを直接操作していたが、本実施例では図4に示す通
り、周期割込プログラムが周期的に割り込み、受信バッ
ファの残量チェックを行う。残量チェック動作およびプ
ライオリティ変更動作は、実施例1の受信割込ドライバ
と同一である。割込周期時間が下記条件を満たしていな
い場合、プライオリティを上げた後、受信タスクが受信
動作を開始する時間がなければ、受信バッファフルエラ
ーが発生してしまう為、周期割込プログラムの割込周期
時間は下記のように定義する。 (受信バッファ量−一定上限量) > 0 ((受信バッファ量−一定上限量)×1バイトの受信時
間) > プライオリティを上げた後、受信タスクが受信動作する
までの時間 割込周期時間 < ((受信バッファ量−一定上限量)
×1バイトの受信時間)− (プライオリティを上げた
後、受信タスクが受信動作するまでの時間) スケジューラが全てのタスクをスケジューリングを行い
受信タスクと他のタスクにおいて、周期割込プログラム
がプライオリティ操作をするものとして、同様の動作を
期待できる。
【0012】
【発明の効果】この発明は、以上説明したようなソフト
ウェア処理がなされているので、以下に記載されるよう
な効果を奏する。
【0013】受信データ量によりプライオリティ操作を
行うので、各タスクの動作効率がよくなる。
【0014】受信タスクの動作が円滑になるため、他の
タスクが動作しており受信データを受信タスクにて読み
出せなくなる状態や、FAコントローラのバッファフル
エラー(受信バッファの空きがない)の発生頻度が減少
する。
【0015】送信側、受信側で受信確認用プロトコルを
組まなくても、データ抜け等のエラー発生頻度が少なく
なる為、局間のイベント処理が高速に行える。
【図面の簡単な説明】
【図1】本発明の一実施例を示すモジュール構成図であ
る。
【図2】本発明の一実施例の受信割込ドライバのフロー
チャートである。
【図3】本発明の他の実施例を示すモジュール構成図で
ある。
【図4】本発明の他の実施例の周期割込プログラムのフ
ローチャートである。
【図5】従来のFAコントローラを示すモジュール構成
図である。
【図6】従来のFAコントローラの受信割込ドライバの
フローチャートである。
【符号の説明】
1 FAコントローラのハードウェア 2 スケジューラ 3 スケジューリングテーブル 4 割込み管理モジュール 5 タスク管理モジュール 6 受信バッファ 7 受信タスク 8 他のタスク 9 受信割込ドライバ 10 外部機器 11 ハードウェアバッファ 12 周期割込プログラム

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 各タスクのタスクスケジューリングを行
    うマルチタスクオペレーティングシステムにおいて、受
    信割込ドライバによるスケジューリングテーブルのプラ
    イオリティ操作手段とその動作要因である受信バッファ
    の受信データ数(量)の検知手段を備えたことを特徴と
    するFAコントローラ。
JP2125892A 1992-02-06 1992-02-06 Faコントローラ Pending JPH05216694A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2125892A JPH05216694A (ja) 1992-02-06 1992-02-06 Faコントローラ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2125892A JPH05216694A (ja) 1992-02-06 1992-02-06 Faコントローラ

Publications (1)

Publication Number Publication Date
JPH05216694A true JPH05216694A (ja) 1993-08-27

Family

ID=12050070

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2125892A Pending JPH05216694A (ja) 1992-02-06 1992-02-06 Faコントローラ

Country Status (1)

Country Link
JP (1) JPH05216694A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0718773A1 (en) * 1994-12-19 1996-06-26 Advanced Micro Devices, Inc. Bus access arbiter
JP2006146937A (ja) * 2004-11-24 2006-06-08 Toshiba Corp データのリアルタイム処理を行うための方法及びシステム
JP2008129994A (ja) * 2006-11-24 2008-06-05 Mitsubishi Electric Corp 数値制御システム

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0718773A1 (en) * 1994-12-19 1996-06-26 Advanced Micro Devices, Inc. Bus access arbiter
US5796961A (en) * 1994-12-19 1998-08-18 Advanced Micro Devices, Inc. Heuristic bus access arbiter
KR100382215B1 (ko) * 1994-12-19 2003-07-18 아드밴스트 마이크로 디이바이시스 인코포레이티드 발견적버스억세스중재기
JP2006146937A (ja) * 2004-11-24 2006-06-08 Toshiba Corp データのリアルタイム処理を行うための方法及びシステム
JP2008129994A (ja) * 2006-11-24 2008-06-05 Mitsubishi Electric Corp 数値制御システム

Similar Documents

Publication Publication Date Title
US5542076A (en) Method and apparatus for adaptive interrupt servicing in data processing system
US6360243B1 (en) Method, device and article of manufacture for implementing a real-time task scheduling accelerator
US6128672A (en) Data transfer using software interrupt service routine between host processor and external device with queue of host processor and hardware queue pointers on external device
US20060010446A1 (en) Method and system for concurrent execution of multiple kernels
CN86108202A (zh) 中止系统时钟信号的装置和方法
US7472214B2 (en) Real-time embedded simple monitor method and computer product
CN110532205B (zh) 数据传输方法、装置、计算机设备和计算机可读存储介质
CN110377486B (zh) 基于kafka实现稳定的高吞吐量的异步任务处理方法
US20040098722A1 (en) System, method, and computer program product for operating-system task management
JP2005276097A (ja) 割り込み依頼プログラムおよびマイクロコンピュータ
CN111580949A (zh) 一种网络收包模式自动调节方法
US7831973B2 (en) Task scheduling apparatus, task scheduling method, task scheduling program, storage medium and transmission medium
JPH05216694A (ja) Faコントローラ
US7562364B2 (en) Adaptive queue scheduling
JP2000259429A (ja) タイマー管理装置および方法
Ogawa et al. Efficient approach to ensure temporal determinism in automotive control systems
JP2000148513A (ja) タスク制御方法およびタスク制御装置
CN114268670B (zh) 基于时间触发的以太网异步消息处理系统及方法
US6920513B2 (en) Bus management techniques
CN111813531B (zh) 一种操作系统时钟调度方法及系统
JP3202894B2 (ja) パケット処理方法
US20090013117A1 (en) System and method for generating interrupt
JPH0991157A (ja) タスク−デバイスドライバ間通信制御方法
CN110489089B (zh) 基于中断管理框架的嵌入式系统低功耗控制方法及系统
JP3790697B2 (ja) メモリ装置、該メモリ装置の制御方式、および半導体装置、並びに情報処理装置