JP2007257106A - プログラマブルコントローラ - Google Patents

プログラマブルコントローラ Download PDF

Info

Publication number
JP2007257106A
JP2007257106A JP2006078079A JP2006078079A JP2007257106A JP 2007257106 A JP2007257106 A JP 2007257106A JP 2006078079 A JP2006078079 A JP 2006078079A JP 2006078079 A JP2006078079 A JP 2006078079A JP 2007257106 A JP2007257106 A JP 2007257106A
Authority
JP
Japan
Prior art keywords
time
application
processing
execution
data processing
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
JP2006078079A
Other languages
English (en)
Inventor
Toshiyuki Nishiwaki
敏之 西脇
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.)
Fuji Electric FA Components and Systems Co Ltd
Original Assignee
Fuji Electric FA Components and Systems Co Ltd
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 Fuji Electric FA Components and Systems Co Ltd filed Critical Fuji Electric FA Components and Systems Co Ltd
Priority to JP2006078079A priority Critical patent/JP2007257106A/ja
Publication of JP2007257106A publication Critical patent/JP2007257106A/ja
Pending legal-status Critical Current

Links

Images

Abstract

【課題】アプリケーションスケジューラで管理されない処理のうち、データ処理系のようにメッセージ応答性能に影響ある処理を優先したい場合がある。また同じ環境で、ユーザアプリケーションの実行性能を優先したい場合がある。両者の優先度を簡易に調整するとともに、ユーザアプリケーションの停止/起動に応じてデータ処理系に資源を優先的に注力する装置を提供する。
【解決手段】「アプリケーション実行時間」と「データ処理系に代表されるユーザが管理を必要とする処理系の実行時間」の両者を簡易に管理する上位構造として帯域管理層を提供し、該帯域管理層におけるパラメータの増減により、1実行サイクルにおける処理時間を配分/制御する。また、ユーザアプリケーションが停止時には該パラメータを一時退避させた上でデータ処理系に資源を全て割り振り、ユーザアプリケーションが起動時には該パラメータを再取得することにより停止前の状態を回復する。
【選択図】図1

Description

本発明は、ユーザアプリケーション、通信、データ処理、その他の処理実行をスケジューリングするスケジューラを実装したプログラマブルコントローラに関する。
一般にプログラマブルコントローラなどの組込み機器では、ユーザプログラム、通信、システムを維持するための基本システム処理など、様々な種類の処理が並行的、すなわちマルチタスクで処理されることが多い。組込み機器において使用されるリアルタイムオペレーティングシステム(以下、リアルタイムOS)も、μITRONなどのようにマルチタスクプロセッシングをサポートしており、1つの処理の遅延によって他の処理が大幅に遅れないよう優先度や内部的に規定したタイミングなどによりスケジューリングして処理を走らせている。
図5は、従来のプログラマブルコントローラのソフトウェア構造概略を示す図である。リアルタイムOS20上に、プログラマブルコントローラのシステム管理、データ通信処理、故障データ収集などを行う基本システム14の処理タスクと、ユーザアプリケーションプログラム10を実行管理するアプリケーションスケジューラ16とがあり、これらがハードウェア22上で処理を順次行っている。
図6は、従来システムにおけるタスクスケジューリングの一例を示したものである。縦軸にタスクの優先度、横軸に経過時間を示しており、1実行サイクル時間をアプリケーションスケジューラ、基本システム/通信などの許容時間に割り当てられる。優先度の最上位に、OSの割込み処理/高位のハードウェア割込みなどがあり、そのすぐ下位の優先度にアプリケーションスケジューリングされたユーザアプリケーションのタスクがある。この優先度の高い順である、タスク1、タスク2、タスク3の順に実行される。これらの処理が終わると、基本システム、通信などを行う帯域が割付けられ、優先度の高い順である、タスクA、タスクB、タスクCの順に実行される。1実行サイクル時間経過すると、次のサイクルが実行される。
リアルタイムOSにおけるスケジューリングの具体的な方法としては、例えば特許文献1、または特許文献2に記載されたものが知られている。特許文献1に記載された第1の制御方法では、リアルタイムOS上のスケージューラは、タスクの経過時間などの情報より、処理時間配分、優先度制御を効率的に判断/実行し、予想許容時間と実際の走行時間を比較することによりタスクの異常事態の判定を可能としている。特許文献2に記載された第2の制御方法では、計算機のプロセススケジューラの固定優先度プロセススケジューラ空間にユーザレベルプロセススケジューラを設け、最上位としてスケジューリングを管理することを可能としている。
特開2004−171588号公報 特開平9−54699号公報
従来技術においてプログラマブルコントローラのタスク管理は、ユーザアプリケーションをいかに快適かつ効率よく稼動させるかという点に主眼が置かれており、そのために、アプリケーションスケジューラは優先度が高く、ユーザアプリケーションは優先的に実行される。ユーザアプリケーションの実行を終了すると、1実行サイクルの余った時間で基本システム処理が行われる。
基本システム処理の中で、優先度の非常に高い処理、例えばシステムを維持するための故障診断処理、割込み処理などは、場合によってはアプリケーションスケジューラよりも高い優先度で実行されるが、データ通信処理、データ転送処理、故障データ収集処理などのデータ処理系は、一般的に優先度が低く設定されており、バックグラウンドで行われることが多い。しかしながら、プログラマブルコントローラの用途は、近年多様化してきており、性能上からも必ずしもラダープログラムが最優先実行アプリケーションではないケースも増えてきている。ユーザアプリケーションを広義でとらえた場合、プログラマブルコントローラの実行すべき処理は、ラダーシーケンスなどで記述されたアプリケーションプログラムのほか、支援装置、マンマシンインタフェースとの間のモニタコマンド通信処理、監視、他の機器やコントローラとのネットワーク処理など、様々なものがある。ユーザによっては、ラダーシーケンスよりもデータ通信処理やデータ転送処理のほうが重要度や定時性確保の要求が高い場合もある。
従来のプログラマブルコントローラシステムでは、そのような場合においても、まずラダーシーケンスのユーザアプリケーションが最優先で実行され、その後の時間に通信やデータ変換処理などが行われる。従って、ユーザの観点からすると、処理の性能や処理時間の配分を、例えばネットワーク処理に重点を置いて配分したいのに、実際には常にラダーシーケンスが優先になってしまう問題があった。プログラマブルコントローラのアプリケーション処理は、定時性確保の都合上一定時間の周期でサイクリックに実行されることが多いので、処理実行サイクル時間が短くなればなるほど、サイクル時間に占めるラダーアプリケーション実行時間の割合が高くなり、相対的に通信やその他の処理に割当てられる実行時間が少なくなり、通信やその他の処理を主眼としてみた場合、性能低下につながる。
これを回避するため、プログラマブルコントローラは、処理の優先度や定時性制約に合せて実行優先順位のついたタスクに処理を割付けてプログラミングしたり、定周期タスクなどを設定して一定時間ごとにタスクが起動されるようにプログラミングできるようになっている。しかし、実際には、それら全ての処理はアプリケーションスケジューラの上で実行されることになり、アプリケーションスケジューラ外で実行される処理、すなわちユーザアプリケーション以外の処理は後回しになってしまう。
上記第1の制御方法では、タスク個々に関して極め細かく制御でき、各タスクの処理時間の最適化により無駄時間を削減し、システム全体としての処理時間の向上にも寄与する。しかしながら図5に示す、基本システム14の処理に関する制御は示されておらず、タスクであるユーザアプリケーションプログラム10への適応方法の記述内容に留まっている。
上記第2の制御方法では、計算機のプロセススケジューラの固定優先度プロセススケジューラ空間にユーザレベルプロセススケジューラを設け、最上位としてスケジューリングすることにより、マルチメディアシステムで必要としている新しいプロセスの導入を容易にしている。しかしながら図5で示す、基本システム14の処理に関する制御は示されておらず、あくまでもリアルタイムOSが管理するスケジューラを制御する記述内容に留まっている。
このように従来の技術においては、タスク管理の方法は多々提案されているが、従来はユーザがスケジューリングできなかった、基本システム14とアプリケーションスケジューラ16の時間配分の制御に関して言及している内容は無い。
本発明は、「ユーザアプリケーションの実行性能を優先したい場合」と「アプリケーションスケジューラで管理されない処理のうちデータ処理系のようにメッセージ応答性能に影響ある処理を優先したい場合」、の切替えを簡易に調整
し、加えてユーザアプリケーションの停止/起動の状態に適した時間配分する装置を提供することを目的とする。
上記の課題を解決する手段として、本発明は以下のように構成する。
本発明ではリアルタイムオペレーティングシステムで動作するアプリケーションスケジューラが、ユーザアプリケーションをサイクリックに実行制御するプログラマブルコントローラにおいて、システムの1実行サイクル時間に占めるアプリケーションスケジューラの実行時間の割合とデータ処理の実行時間の割合を管理する帯域管理層を設け、前記リアルタイムオペレーティングシステムは、該帯域管理層を1つの処理系として管理し、ユーザーアプリケーションの停止時には、前記実行時間の割合を記憶した上で、前記アプリケーションスケジューラの実行時間の割合を0にし、ユーザーアプリケーションの起動時には、記憶した前記実行時間の割合を呼び出すことにより停止前の状態に戻すように構成する。
本発明により、帯域管理層を介して、基本システム14とアプリケーションスケジューラ16との時間配分の制御が可能となり、その結果として、「ユーザアプリケーションの実行性能を優先したい場合」と「アプリケーションスケジューラで管理されない処理のうちデータ処理系のようにメッセージ応答性能に影響ある処理を優先したい場合」、の切替えを簡易に調整可能になり、特にユーザアプリケーションが停止/起動に応じてデータ処理12に時間配分を優先的に注入することにより、全体の処理が高速化するという効果を奏する。
以下、本発明を実施するための最良の形態について、図面を参照しながら説明する。
図1は、本発明のプログラマブルコントローラのソフトウェア構造概略を示す図である。また、図2は、図1のプログラマブルコントローラの処理の流れを説明する図である。また、図3は、図2の操作をアプリケーションの実施例で説明する図である。
図1において、リアルタイムOS20は、帯域管理層18を1つの処理系として呼び出し、その中で、アプリケーションスケジューラ16とデータ処理12とが呼び出される。帯域管理層18は1実行サイクルの時間配分比率を、アプリケーションスケジューラ16とデータ処理12とに対して設定する。アプリケーションスケジューラ16は、帯域管理層18が設定した実行時間比率に従って、ユーザアプリケーションプログラム10の処理を行い、残る時間はデータ処理12が使用する。データ処理12においては、データ通信処理やデータ転送処理、故障データ収集処理などが実行される。データ処理12の処理が終わると、基本システム14を実行する。
帯域管理層18の時間配分比率は、例えば、帯域管理設定ファイル24に格納し、図示しない外部のプログラミングツールなどから変更する。時間配分比率とは、基本システム14での処理時間を除いた帯域管理層18に割当てられる1実行サイクル時間を、アプリケーションスケジューラ16とデータ処理12の間でどのように時間配分するかを指定するパラメータである。ユーザは、全体の実行サイクル時間と、アプリケーション実行時間、データ処理実行時間を勘案し、システムに合った時間配分比率を設定する。
例えばデータ処理を優先させたカスタマイズを行う場合、図2(a)で示す状態から図2(b)で示す状態に遷移させる。図中の破線はアプリケーションスケジューラとデータ処理の時間配分比率を、帯域管理層18により可変させたことを示している。図2(a)ではアプリケーションに大きな時間配分比率を割当てラダーシーケンス重視の設定となっているが、図2(b)ではデータ処理に大きな時間配分比率を割り当てているので、相対的にラダーシーケンスが使用できる実行時間は少なくなる。実行時間が少なくなり、はみ出した分は次の実行サイクルで処理される。従って、図2(a)では1実行サイクルで処理が終了していたラダーシーケンス処理が、図2(b)では2実行サイクル掛かる。その反面、図2(a)では処理を終了するのに2実行サイクル掛かっていたデータ処理、バックグラウンド処理が、図2(b)では1実行サイクルで終了する。このような使い分けの実施を、図3に示す。図3(a)は、リアルタイム制御の例として位置決めなどを行うシステムを想定している。この場合、できる限りラダーシーケンス系の時間配分を大きく取り、位置決め性能を発揮できるようになる。図3(b)は、監視系のアプリケーションの例として、画面にプログラマブルコントローラで収集したデータを表示するシステムを想定している。この場合、データ処理系に時間を大きく割当てることで、画面表示/更新性能を大きく向上できるようになる。
以上のように、図2(a)を図2(b)に切替える操作、すなわち帯域管理層18によりアプリケーションスケジューラとデータ処理の時間配分比率を可変させることにより、ユーザは、アプリケーション性能を優先(図3(a)参照)、或はデータ処理性能優先(図3(b)参照)にするかの切替えを簡易に実現可能となる。また、いずれの場合でも、プログラマブルコントローラとしてシステムを動作させるために必須の基本処理系は、1実行サイクルについて必要な時間を確保することができ、動作に支障のない範囲でカスタマイズを行うことができる。
次に、ユーザアプリケーションが停止/起動したときの処理を説明する。アプリケーションスケジューラに配分した時間は、実質上は処理が無いのでアイドリング状態になる。そこで、図2(a)や(b)で示す状態から、図2(c)で示す状態に遷移させる。ここではアプリケーションに時間配分比率を全く割かずに、その結果、データ処理に全ての時間を注力することになる。このような処理をオペレータが実施するのではなく、プログラマブルコントローラに自律制御させため、図1の矢印で示す(1)、(2)、(3)の処理を実施する。ここで、図1における、帯域管理設定ファイル24、基本設定システムファイル26、帯域管理設定バックアップファイル28はいずれも時間配分比率の情報を保持する。基本システム設定26は、アプリケーションスケジューラの帯域を0とする時間配分比率が設定されている。また図4は、図1の矢印(1)、(2)、(3)を処理フローであり、以下に手順を説明する。
アプリケーションの停止を検出したとき(ステップ42)は、帯域管理層18にある帯域設定ファイル24を帯域管理設定バックアップファイル28にバックアップする(ステップ46)。その後、基本システム設定26を帯域設定ファイル24に複写する(ステップ48)。
アプリケーションの起動を検出したとき(ステップ40)は、帯域管理設定バックアップファイル28を帯域設定ファイル24にレストアする(ステップ50)。
以上の記載から明らかなように、帯域管理層18は、アプリケーションスケジューラ16とデータ処理12を時間配分することにより、負荷量と注入時間の効率的な設定を可能にし、その結果、プログラマブルコントローラ全体の処理を高速にする。また、ユーザアプリケーションの停止時には、アプリケーションスケジューラ16への時間配分を0にする設定ファイルを適用、起動時には停止時に退避した設定ファイルを復帰させる機構を設けたことにより、ユーザアプリケーションの停止/起動による時間配分の設定をプログラマブルコントロールが自立的に実施することを可能にしている。
本発明のプログラマブルコントローラのソフトウェア構造概略の説明図 本発明のプログラマブルコントローラにおけるタスクスケジューリングの説明図 本発明を利用したアプリケーションの実施例の説明図 本発明における、帯域管理設定ファイルの更新フローの説明図 従来のプログラマブルコントローラのソフトウェア構造概略の説明図 従来システムにおけるタスクスケジューリングの一例の説明図
符号の説明
10 ユーザアプリケーションプログラム
12 データ処理
14 基本システム
16 アプリケーションスケジューラ
18 帯域管理層
20 リアルタイムOS
22 ハードウェア
24 帯域管理設定ファイル
26 基本設定システム設定ファイル
28 帯域管理設定バックアップファイル

Claims (1)

  1. リアルタイムオペレーティングシステムで動作するアプリケーションスケジューラが、ユーザアプリケーションをサイクリックに実行制御するプログラマブルコントローラにおいて、
    システムの1実行サイクル時間に占めるアプリケーションスケジューラの実行時間の割合とデータ処理の実行時間の割合を管理する帯域管理層を設け、
    前記リアルタイムオペレーティングシステムは、該帯域管理層を1つの処理系として管理し、ユーザーアプリケーションの停止時には、前記実行時間の割合を記憶した上で、前記アプリケーションスケジューラの実行時間の割合を0にし、ユーザーアプリケーションの起動時には、記憶した前記実行時間の割合を呼び出すことにより停止前の状態に戻すこと、
    を特徴とするプログラマブルコントローラ。
JP2006078079A 2006-03-22 2006-03-22 プログラマブルコントローラ Pending JP2007257106A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006078079A JP2007257106A (ja) 2006-03-22 2006-03-22 プログラマブルコントローラ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006078079A JP2007257106A (ja) 2006-03-22 2006-03-22 プログラマブルコントローラ

Publications (1)

Publication Number Publication Date
JP2007257106A true JP2007257106A (ja) 2007-10-04

Family

ID=38631325

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006078079A Pending JP2007257106A (ja) 2006-03-22 2006-03-22 プログラマブルコントローラ

Country Status (1)

Country Link
JP (1) JP2007257106A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10067695B2 (en) 2014-06-26 2018-09-04 Hitachi, Ltd. Management server, computer system, and method

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62152045A (ja) * 1985-12-26 1987-07-07 Omron Tateisi Electronics Co プログラマブルコントロ−ラ
JPH04372022A (ja) * 1991-06-20 1992-12-25 Mitsutoyo Corp 測定データ処理システム用タスクスケジューリング方法
JPH11219211A (ja) * 1998-01-30 1999-08-10 Yamazaki Mazak Corp 数値制御工作機械及びその制御方法
JP2001318807A (ja) * 2000-05-11 2001-11-16 Nec Microsystems Ltd タスク切り替え制御方法及び装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62152045A (ja) * 1985-12-26 1987-07-07 Omron Tateisi Electronics Co プログラマブルコントロ−ラ
JPH04372022A (ja) * 1991-06-20 1992-12-25 Mitsutoyo Corp 測定データ処理システム用タスクスケジューリング方法
JPH11219211A (ja) * 1998-01-30 1999-08-10 Yamazaki Mazak Corp 数値制御工作機械及びその制御方法
JP2001318807A (ja) * 2000-05-11 2001-11-16 Nec Microsystems Ltd タスク切り替え制御方法及び装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10067695B2 (en) 2014-06-26 2018-09-04 Hitachi, Ltd. Management server, computer system, and method

Similar Documents

Publication Publication Date Title
CN109117260B (zh) 一种任务调度方法、装置、设备和介质
Buttazzo et al. Elastic scheduling for flexible workload management
KR100628492B1 (ko) 실시간 동작 수행방법 및 시스템
KR101471394B1 (ko) 비파괴 시간에 실행하도록 컴퓨터 마이크로-작업을 스케쥴링하는 방법, 시스템 및 장치
US20080066070A1 (en) Method and system for the dynamic scheduling of jobs in a computing system
US7987467B2 (en) Scale across in a grid computing environment
CN108984267B (zh) 工业服务器的微内核架构控制系统及工业服务器
JPWO2005106623A1 (ja) Cpuクロック制御装置、cpuクロック制御方法、cpuクロック制御プログラム、記録媒体、及び伝送媒体
CN110231781B (zh) 控制装置、存储介质、控制方法
WO2014061141A1 (ja) 並列計算装置
CN111143045A (zh) 智能家居操作系统的任务调度方法及装置、存储介质
JP6311330B2 (ja) 情報処理装置、情報処理方法およびプログラム
US8555285B2 (en) Executing a general-purpose operating system as a task under the control of a real-time operating system
CN106874129B (zh) 一种操作系统进程调度顺序确定方法及控制方法
US9170839B2 (en) Method for job scheduling with prediction of upcoming job combinations
JP2008204243A (ja) ジョブ実行制御方法およびシステム
KR20130051076A (ko) 응용프로그램 스케줄링 방법 및 장치
JP2007257106A (ja) プログラマブルコントローラ
Xia et al. Feedback scheduling: an event-driven paradigm
CA2650347C (en) Control apparatus for process input-output device
JP5299869B2 (ja) コンピュータマイクロジョブ
JP2007004334A (ja) プログラマブルコントローラ
CN114035926A (zh) 应用线程调度方法、装置、存储介质及电子设备
JP3830133B2 (ja) 電力制御装置及び方法並びに電力制御プログラム
EP2637096A1 (en) A system for schedule and executing best-effort, real-time and high-performance computing (HPC) processes

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20080919

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20081215

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20090219

A621 Written request for application examination

Effective date: 20090313

Free format text: JAPANESE INTERMEDIATE CODE: A621

A131 Notification of reasons for refusal

Effective date: 20101130

Free format text: JAPANESE INTERMEDIATE CODE: A131

A521 Written amendment

Effective date: 20110107

Free format text: JAPANESE INTERMEDIATE CODE: A523

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20110422

A131 Notification of reasons for refusal

Effective date: 20110531

Free format text: JAPANESE INTERMEDIATE CODE: A131

A521 Written amendment

Effective date: 20110705

Free format text: JAPANESE INTERMEDIATE CODE: A523

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20120110