JP2012048617A - リアルタイム制御システム - Google Patents

リアルタイム制御システム Download PDF

Info

Publication number
JP2012048617A
JP2012048617A JP2010192132A JP2010192132A JP2012048617A JP 2012048617 A JP2012048617 A JP 2012048617A JP 2010192132 A JP2010192132 A JP 2010192132A JP 2010192132 A JP2010192132 A JP 2010192132A JP 2012048617 A JP2012048617 A JP 2012048617A
Authority
JP
Japan
Prior art keywords
real
time
api
control system
general
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.)
Granted
Application number
JP2010192132A
Other languages
English (en)
Other versions
JP5577959B2 (ja
Inventor
Tomoko Matsumoto
智子 松本
Yoshihiro Iizuka
順弘 飯塚
Akihito Sudo
昭仁 須藤
Ken Tomota
憲 友田
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.)
Yokogawa Electric Corp
Original Assignee
Yokogawa 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 Yokogawa Electric Corp filed Critical Yokogawa Electric Corp
Priority to JP2010192132A priority Critical patent/JP5577959B2/ja
Publication of JP2012048617A publication Critical patent/JP2012048617A/ja
Application granted granted Critical
Publication of JP5577959B2 publication Critical patent/JP5577959B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Devices For Executing Special Programs (AREA)
  • Stored Programmes (AREA)

Abstract

【課題】リアルタイムアプリケーションを開発において、非リアルタイムアプリケーション開発と同一の開発環境および言語を使用できるリアルタイム制御システムを実現する。
【解決手段】汎用OS用APIライブラリ内に実装され、リアルタイムアプリケーションから呼び出されるリアルタイムAPIライブラリと、
呼び出された前記リアルタイムAPIライブラリの指令に基づいて稼動し、リアルタイムハードウェアの制御を実行するリアルタイム制御機構と、
を備え、
前記汎用OSの環境下で前記リアルタイムハードウェアの制御を実現する。
【選択図】図1

Description

本発明は、非リアルタイムである汎用OSにリアルタイムシステムを構築できるリアルタイム制御システムに関し、汎用OS上でのリアルタイムアプリケーション開発を効率化する機構を提供するものである。
汎用OS上でリアルタイム処理を実現する手法につき説明する。図5は、従来のリアルタイム制御システムの構成例を示す機能ブロック図であり、リアルタイム拡張製品「InTime for Windows」のカタログ((株)マイクロネット提供)に開示されている。
ハードウェア10と、このハードウェア10上に搭載されるシステムソフトウェア20を具備する。システムソフトウェア20は、汎用OSカーネル(例えばWindows(登録商標))21と、この汎用OSカーネル21上で動作する汎用OS用API(Application Programming Interface)ライブラリ22を具備する。
更に、システムソフトウェア20は、汎用OSカーネル21と比し高精度なタイマを使用したスケジューラを使用してリアルタイム処理を実現するリアルタイム拡張カーネル23と、このリアルタイム拡張カーネル23上で動作するリアルタイム用APIライブラリ24を具備する。
ユーザは、非リアルタイム処理については汎用OSカーネル21上で汎用OS用APIライブラリ22を使用して汎用アプリケーション30を開発し、リアルタイム性が必要な処理のみリアルタイム拡張カーネル23で動作するリアルタイム用APIライブラリ24を使用してリアルタイムアプリケーション40を開発する。
図6は、特許文献1に開示されている従来のリアルタイム制御システムの他の構成例を示す機能ブロック図である。この構成の特徴は、汎用OS(110)にドライバ組込機構(109)を追加して、汎用OSカーネルのもつ第1のスケジューリング手段(108)とは別に、ドライバ組込機構内に第2のスケジューリング手段(101)を作成し、リアルタイム処理を実現する。
特開平10−21094号公報
従来手法では、汎用OS上でリアルタイム処理を実現するためには、汎用OSとは別個のリアルタイムカーネルを同一ハードウェア上に具備するか、もしくは汎用OSのスケジューリング機構とは別個のリアルタイムスケジューリング機構を用意する必要があり、ユーザには次のような煩雑さが付随していた。
(1)アプリケーション開発において、非リアルタイムアプリケーションとリアルタイムアプリケーションの開発環境が異なるため、開発者は両方の環境を用意し、そして熟知する必要がある。
(2)開発環境が異なることで、例えば言語の違い、実行状態の違い、デバッグ環境の違いなどがあり、全体を見ている開発者にとって負担になる。
(3)図5の構成は、リアルタイムカーネル部分は、汎用ハードウェア+汎用OSがあれば、拡張ソフトウェア(リアルタイム拡張カーネル23とリアルタイム用APIライブラリ24)の追加のみでリアルタイム性が実現できるというモデルであるが、拡張ソフトウェアの利用にはライセンスを必要とし、一般に高価になる。そのため、価格競争にある製品には導入しにくい。
本発明の目的は、リアルタイムアプリケーションを開発において、非リアルタイムアプリケーション開発と同一の開発環境および言語を使用できるリアルタイム制御システムを実現することにある。
このような課題を達成するために、本発明は次の通りの構成になっている。
(1)汎用OS用APIライブラリ内に実装され、リアルタイムアプリケーションから呼び出されるリアルタイムAPIライブラリと、
呼び出された前記リアルタイムAPIライブラリの指令に基づいて稼動し、リアルタイムハードウェアの制御を実行するリアルタイム制御機構と、
を備え、
前記汎用OSの環境下で前記リアルタイムハードウェアの制御を実現することを特徴とするリアルタイム制御システム。
(2)前記リアルタイム制御機構は、リアルタイム実行制御部と、前記リアルタイムAPIで記述されたリアルタイムアプリケーションを、前記リアルタイム実行制御部が解釈できる言語に変換するコンパイラと、を備えることを特徴とする(1)に記載のリアルタイム制御システム。
(3)前記リアルタイム実行制御部の開始並びに停止は、前記リアルタイムAPIライブラリの指令に基づいて実行されることを特徴とする(1)または(2)に記載のリアルタイム制御システム。
(4)前記コンパイラは中間言語変換手段を具備し、前記リアルタイム実行制御部は中間言語インタプリタを具備することを特徴とする(2)に記載のリアルタイム制御システム。
(5)前記リアルタイムAPIライブラリと前記リアルタイムアプリケーションとの同期機構を供えることを特徴とする(1)乃至(4)のいずれかに記載のリアルタイム制御システム。
本発明によれば、リアルタイムアプリケーション開発ユーザは、リアルタイムハードウェアの動作タイミング等を意識することなく非リアルタイムな汎用OS用プログラム開発環境と言語を使用してリアルタイムAPIを呼び出すことにより、リアルタイムアプリケーションを開発することができる。
本発明を適用したリアルタイム制御システムの一実施例を示す機能ブロック図である。 図1の動作を説明するフローチャートである。 ユーザ視点でのリアルタイムアプリケーションの動作の流れを説明するフローチャートである。 本発明を適用したリアルタイム制御システムの他の実施例を示す機能ブロック図である。 従来のリアルタイム制御システムの構成例を示す機能ブロック図である。 従来のリアルタイム制御システムの他の構成例を示す機能ブロック図である。
以下本発明を、図面を用いて詳細に説明する。図1は、本発明を適用したリアルタイム制御システムの一実施例を示す機能ブロック図である。図5で説明した従来構成と同一要素には同一符号を付す。
ハードウェア10と、このハードウェア10上に搭載されるシステムソフトウェア20を具備し、システムソフトウェア20は、汎用OSカーネル21と、この汎用OSカーネル21上で動作する汎用OS用APIライブラリ22を具備する。これらの構成要素は、図5の構成要素と同一である。
本発明の特徴部は、汎用OS用APIライブラリ22内に実装され、リアルタイムアプリケーション400から呼び出されるリアルタイムAPIライブラリ100と、呼び出されたリアルタイムAPIライブラリの指令(指示、または参照・設定)に基づいて稼動し、リアルタイムハードウェア50の制御を実行するリアルタイム制御機構200を備える構成にある。ここで、リアルタイムアプリケーション400の実体は、図5で示したリアルタイムアプリケーション40と同一である。
ユーザは非リアルタイム処理については汎用OS用APIライブラリ22を使用して汎用アプリケーション30を開発し、リアルタイム性が必要となる処理についてはリアルタイムAPIライブラリ100と汎用OS用APIライブラリ22を使用してリアルタイムアプリケーション400を開発する。
リアルタイム制御機構200は、リアルタイム実行制御部201と、リアルタイムプログラムを解釈するコンパイラ202>と、リアルタイムプログラムを格納するリアルタイムプログラムメモリ203と、リアルタイムハードウェア50に関連したデータを格納するリアルタイム共有メモリ204と、で構成されている。
リアルタイム実行制御部201の実現方法の一例としては、マイクロコントローラ等に代表されるような命令実行ロジックがある。
リアルタイムAPIライブラリ100には、次のようなAPIが用意される。
(1) [API−1]リアルタイムプログラムロード
(2) [API−2]リアルタイムプログラム実行開始指示
(3) [API−3]リアルタイムプログラム実行停止指示
(4) [API−4]リアルタイムハードウェアアクセス
(5) [API−5]リアルタイム共有メモリアクセス
(6) [API−6]各種演算処理
(7) [API−7]リアルタイムAPIライブラリとリアルタイム実行制御部との同期機構
図2は、図1の動作を説明するフローチャートである。リアルタイムアプリケーション400の開発処理手順は、プログラムをロードする初期化ステップS10、プログラムの実行開始ステップS11、各種処理ステップS12、プログラムの実行停止ステップS13、終了ステップS15の流れである。
初期化ステップS10において、リアルタイムアプリケーション400からの[API−1]呼び出しによって、コンパイラ202はリアルタイムアプリケーションを解釈し、ステップS20でリアルタイム実行制御部201が解釈可能な言語に変換し、ステップS21でリアルタイムプログラムメモリ203に配置する。
ステップS11において、アルタイム実行制御部201は、リアルタイムアプリケーション400からの[API−2]呼び出しによって動作を開始し、リアルタイムプログラムメモリ203を解釈し、リアルタイムプログラム300の実行を開始する。また、リアルタイムアプリケーション400からの[API−3]呼び出しによって動作を停止する。
点線の領域で示したリアルタイムプログラム300の実体は、[API−4]、[API−5]、[API−6]等の機能を実現するものであり、実行開始の判断ステップS22、リアルタイムプログラムメモリ203からのプログラム実行ステップS23、実行停止の判断ステップS24よりなる。
[API−4]については、リアルタイム実行制御部203がリアルタイムハードウェア50(図1に示す)を設定・参照する情報または結果値がリアルタイム共有メモリ204に配置され、リアルタイムAPIのパラメータに反映される。
[API−5]については、リアルタイム実行制御部203がリアルタイム共有メモリ204の内容を設定・参照し、リアルタイムAPIのパラメータに反映される。
API−6]については、リアルタイム実行制御部201が各種演算処理を行う。リアルタイム実行制御部201は、[API−3]呼び出しがあるまでリアルタイムプログラムメモリ203に配置されたプログラムを繰り返し実行する。
図3は、ユーザ視点でのリアルタイムアプリケーション400の動作の流れを説明するフローチャートである。ステップS10乃至S14の流れは、図2と同一である。ユーザ視点での動作では、リアルタイムAPIライブラリの呼び出しにより、繰り返し実行するリアルタイムプログラム300を操作する感覚である。
図4は、本発明を適用したリアルタイム制御システムの他の実施例を示す機能ブロック図である。図1の実施例との相違は、リアルタイム実行制御部201に中間言語インタプリタ201Aを、また、コンパイラ202に中間言語変換手段202Aを追加した構成にある。
中間言語インタプリタ及び中間言語変換手段を追加することで、可搬性の高いシステムを構築するできる。具体的にいえば、リアルタイム実行制御部201のハードウェアが変更された場合にも、中間言語インタプリタ201Aのみを変更するだけで同一機能が実装できるようになる。
リアルタイムAOIライブラリ100とリアルタイム実行制御部201に同期機構を付加することにより、リアルタイムハードウェア50のシーケンシャルな制御も実現可能となる。この同期機構は、[API−7]呼び出しで実現される。
また、コンパイラ202で抽出する言語仕様を、プログラマブルコントローラ(PLC)言語仕様に合わせることにより、ソフトウェアPLCと総称されるシーケンス制御システムも簡易に実現可能となる。
10 ハードウェア
20 システムソフトウェア
21 汎用OSカーネル
22 汎用OS用APIライブラリ
30 汎用アプリケーション
400 リアルタイムアプリケーション
50 リアルタイムハードウェア
100 リアルタイムAPIライブラリ
200 リアルタイム制御機構
201 リアルタイム実行制御部
202 コンパイラ
203 リアルタイムプログラムメモリ
204 リアルタイム共有メモリ

Claims (5)

  1. 汎用OS用APIライブラリ内に実装され、リアルタイムアプリケーションから呼び出されるリアルタイムAPIライブラリと、
    呼び出された前記リアルタイムAPIライブラリの指令に基づいて稼動し、リアルタイムハードウェアの制御を実行するリアルタイム制御機構と、
    を備え、
    前記汎用OSの環境下で前記リアルタイムハードウェアの制御を実現することを特徴とするリアルタイム制御システム。
  2. 前記リアルタイム制御機構は、リアルタイム実行制御部と、前記リアルタイムAPIで記述されたリアルタイムアプリケーションを、前記リアルタイム実行制御部が解釈できる言語に変換するコンパイラと、を備えることを特徴とする請求項1に記載のリアルタイム制御システム。
  3. 前記リアルタイム実行制御部の開始並びに停止は、前記リアルタイムAPIライブラリの指令に基づいて実行されることを特徴とする請求項1または2に記載のリアルタイム制御システム。
  4. 前記コンパイラは中間言語変換手段を具備し、前記リアルタイム実行制御部は中間言語インタプリタを具備することを特徴とする請求項2に記載のリアルタイム制御システム。
  5. 前記リアルタイムAPIライブラリは、前記リアルタイムアプリケーションとの同期機構を供えることを特徴とする請求項1乃至4のいずれかに記載のリアルタイム制御システム。
JP2010192132A 2010-08-30 2010-08-30 リアルタイム制御システム Active JP5577959B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010192132A JP5577959B2 (ja) 2010-08-30 2010-08-30 リアルタイム制御システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010192132A JP5577959B2 (ja) 2010-08-30 2010-08-30 リアルタイム制御システム

Publications (2)

Publication Number Publication Date
JP2012048617A true JP2012048617A (ja) 2012-03-08
JP5577959B2 JP5577959B2 (ja) 2014-08-27

Family

ID=45903374

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010192132A Active JP5577959B2 (ja) 2010-08-30 2010-08-30 リアルタイム制御システム

Country Status (1)

Country Link
JP (1) JP5577959B2 (ja)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019220136A (ja) * 2019-01-10 2019-12-26 ソフトサーボシステムズ株式会社 モーション制御プログラム、モーション制御方法及びモーション制御装置
JP2019220135A (ja) * 2019-01-10 2019-12-26 ソフトサーボシステムズ株式会社 モーション制御プログラム、モーション制御方法及びモーション制御装置
JP2020004364A (ja) * 2019-01-23 2020-01-09 ソフトサーボシステムズ株式会社 モーション制御プログラム、モーション制御方法及びモーション制御装置
JP2020004428A (ja) * 2019-01-10 2020-01-09 ソフトサーボシステムズ株式会社 モーション制御プログラム、モーション制御方法及びモーション制御装置
JP2020077430A (ja) * 2019-01-23 2020-05-21 ソフトサーボシステムズ株式会社 モーション制御プログラム、モーション制御方法及びモーション制御装置
JP2020098608A (ja) * 2019-01-10 2020-06-25 ソフトサーボシステムズ株式会社 モーション制御プログラム、モーション制御方法及びモーション制御装置
CN112424777A (zh) * 2018-08-17 2021-02-26 欧姆龙株式会社 用于操作工业个人计算机装置的方法及工业个人计算机装置
US11300939B2 (en) 2018-06-22 2022-04-12 Soft Servo Systems, Inc. Motion control program, motion control method, and motion control device
US11314217B2 (en) 2018-06-22 2022-04-26 Soft Servo Systems, Inc. Motion control program, motion control method, and motion control device
US11392103B2 (en) 2018-06-22 2022-07-19 Soft Servo Systems, Inc. Motion control program, motion control method, and motion control device

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1021094A (ja) * 1996-07-08 1998-01-23 Mitsubishi Electric Corp リアルタイム制御方式
US5903752A (en) * 1994-10-13 1999-05-11 Intel Corporation Method and apparatus for embedding a real-time multi-tasking kernel in a non-real-time operating system
JP2005196286A (ja) * 2003-12-26 2005-07-21 Okuma Corp リアルタイムアプリケーションプログラムを動作可能なオペレーティングシステム及びその制御方法、共有ライブラリをロードする方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5903752A (en) * 1994-10-13 1999-05-11 Intel Corporation Method and apparatus for embedding a real-time multi-tasking kernel in a non-real-time operating system
JPH1021094A (ja) * 1996-07-08 1998-01-23 Mitsubishi Electric Corp リアルタイム制御方式
JP2005196286A (ja) * 2003-12-26 2005-07-21 Okuma Corp リアルタイムアプリケーションプログラムを動作可能なオペレーティングシステム及びその制御方法、共有ライブラリをロードする方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
JPN6014013448; RTLinuxによるADボード制御 プログラミング チュートリアル Ver 1.7, 200712, pp.17-59, 株式会社インタフェース *

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11300939B2 (en) 2018-06-22 2022-04-12 Soft Servo Systems, Inc. Motion control program, motion control method, and motion control device
US11392103B2 (en) 2018-06-22 2022-07-19 Soft Servo Systems, Inc. Motion control program, motion control method, and motion control device
US11314217B2 (en) 2018-06-22 2022-04-26 Soft Servo Systems, Inc. Motion control program, motion control method, and motion control device
CN112424777A (zh) * 2018-08-17 2021-02-26 欧姆龙株式会社 用于操作工业个人计算机装置的方法及工业个人计算机装置
JP2021523494A (ja) * 2018-08-17 2021-09-02 オムロン株式会社 産業用pcデバイスの動作方法及び産業用pcデバイス
JP7044201B2 (ja) 2018-08-17 2022-03-30 オムロン株式会社 産業用pcデバイスの動作方法及び産業用pcデバイス
US11640468B2 (en) 2018-08-17 2023-05-02 Omron Corporation Method for operating an industrial PC device and industrial PC device
CN112424777B (zh) * 2018-08-17 2023-09-08 欧姆龙株式会社 工业个人计算机装置及其操作方法
JP2020098608A (ja) * 2019-01-10 2020-06-25 ソフトサーボシステムズ株式会社 モーション制御プログラム、モーション制御方法及びモーション制御装置
JP2019220136A (ja) * 2019-01-10 2019-12-26 ソフトサーボシステムズ株式会社 モーション制御プログラム、モーション制御方法及びモーション制御装置
JP2020004428A (ja) * 2019-01-10 2020-01-09 ソフトサーボシステムズ株式会社 モーション制御プログラム、モーション制御方法及びモーション制御装置
JP2019220135A (ja) * 2019-01-10 2019-12-26 ソフトサーボシステムズ株式会社 モーション制御プログラム、モーション制御方法及びモーション制御装置
JP2020077430A (ja) * 2019-01-23 2020-05-21 ソフトサーボシステムズ株式会社 モーション制御プログラム、モーション制御方法及びモーション制御装置
JP2020004364A (ja) * 2019-01-23 2020-01-09 ソフトサーボシステムズ株式会社 モーション制御プログラム、モーション制御方法及びモーション制御装置

Also Published As

Publication number Publication date
JP5577959B2 (ja) 2014-08-27

Similar Documents

Publication Publication Date Title
JP5577959B2 (ja) リアルタイム制御システム
US8769519B2 (en) Personal and pooled virtual machine update
US20220374211A1 (en) Application platform for designing and executing applications
CN107765612B (zh) 一种机器人的运动控制方法、机器人及系统
JP2015060600A (ja) 仮想制御装置をリアルタイムテストするためのテスト装置
WO2006032001A3 (en) Methods and system for executing a program in multiple execution environments
JP2013545169A5 (ja)
US8869123B2 (en) System and method for applying a sequence of operations code to program configurable logic circuitry
WO2020039900A1 (ja) 情報処理装置およびプログラム
Bruzzone et al. Standard Linux for embedded real-time robotics and manufacturing control systems
CN105302579B (zh) 一种系统内存的占用方法和装置
Hsu et al. Freertos porting on x86 platform
Deng et al. A real-time walking robot control system based on Linux RTAI
Netland et al. Software module real-time target: Improving development of embedded control system by including simulink generated code into existing code
JP6333201B2 (ja) グラフィック制御モデルから制御システム上で実行可能な制御プログラムを形成するためにコンピュータ上で実行される方法およびコンピュータプログラム
JP6053616B2 (ja) 表示部品制御システム
Sinkkonen Asymmetric multiprocessing of Linux and hard real-time systems
WO2024031553A1 (zh) 实时控制方法、实时控制装置、计算设备及存储介质
Buschho KRATOS-A Resource Aware, Tailored Operating System
US20240134815A1 (en) Systems and methods for graphically programming an application with external integrated circuits
US20240232121A9 (en) Systems and methods for graphically programming an application with external integrated circuits
Andres et al. Time restriction aspects in the modeling of cyber-physical systems for Industry 4. 0
KR20160081200A (ko) 스크립트 기반 마이크로컨트롤러 펌웨어 개발 플랫폼
JP2003271210A (ja) コントローラ
Pitkänen et al. Lightweight domain-specific modeling and model-driven development

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130507

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20131219

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140401

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140521

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20140610

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140623

R150 Certificate of patent or registration of utility model

Ref document number: 5577959

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150