JP4849033B2 - プログラマブルコントローラ - Google Patents
プログラマブルコントローラ Download PDFInfo
- Publication number
- JP4849033B2 JP4849033B2 JP2007204367A JP2007204367A JP4849033B2 JP 4849033 B2 JP4849033 B2 JP 4849033B2 JP 2007204367 A JP2007204367 A JP 2007204367A JP 2007204367 A JP2007204367 A JP 2007204367A JP 4849033 B2 JP4849033 B2 JP 4849033B2
- Authority
- JP
- Japan
- Prior art keywords
- function block
- size
- temporary
- function
- words
- 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.)
- Active
Links
Images
Landscapes
- Programmable Controllers (AREA)
Description
図13は、プログラマブルコントローラの概略構成を示すブロック図である。
図13において、プログラマブルコントローラには、演算処理を行うCPUモジュール111およびデータなどの入出力を行うI/Oモジュール110a、110b、・・・、110nが設けられ、CPUモジュール111とI/Oモジュール110a、110b、・・・、110nとはシステムバス101を介して接続されている。
図14において、CPUモジュール111には、マイクロプロセッサ119、プログラムRAM112およびデータRAM120が設けられている。ここで、プログラムRAM112には、ユーザ側で作成されるユーザプログラム113およびメーカ側で作成されるシステムプログラム114を格納することができる。そして、ユーザプログラム113は、プログラム115a、115b、・・・、115oおよびファンクションブロック116a、116b、・・・、116nから構成することができる。なお、プログラム115a、115b、・・・、115oおよびファンクションブロック116a、116b、・・・、116nは同一の言語で記述することができ、プログラム115a、115b、・・・、115oは定周期またはサイクリックに起動され、ファンクションブロック116a、116b、・・・、116nはプログラム115a、115b、・・・、115oから呼び出される機能モジュールである。
また、データRAM120には、ユーザプログラム113が使用するユーザデータ領域121、ファンクションブロック116a、116b、・・・、116nがワークメモリとして使用するスタック構造のテンポラリデータ領域122および各ファンクションブロック116a、116b、・・・、116nが使用するテンポラリデータ領域122のサイズを記憶するテンポラリサイズテーブル領域123が設けられている。
図15において、テンポラリサイズテーブル領域123には、各ファンクションブロック116a、116b、・・・、116nが使用するテンポラリデータ領域122のサイズを記憶する番地1、2、・・・、nがそれぞれ割り当てられ、例えば、ファンクションブロック116aが使用するテンポラリデータ領域122のサイズとして、テンポラリサイズテーブル領域123の番地1には20ワードと記憶され、ファンクションブロック116bが使用するテンポラリデータ領域122のサイズとして、テンポラリサイズテーブル領域123の番地2には10ワードと記憶されている。
図16において、例えば、プログラム115a上ではファンクションブロック116aを呼び出し、ファンクションブロック116a上ではファンクションブロック116bを呼び出すことができる。
図17は、従来のファンクションブロックの実行方法を示す図である。
図17において、図14のマイクロプロセッサ119は、プログラム115aが起動されると、入力データ処理(K111)およびユーザプログラム演算処理(K112)を行う。そして、プログラム115a上でファンクションブロック116aが呼び出されると、マイクロプロセッサ119は、ファンクションブロック呼び出し処理117を起動してファンクションブロック呼び出し処理117を実行する(K113)。
そして、ファンクションブロック116b上でユーザプログラム演算処理が終了すると、マイクロプロセッサ119は、ファンクションブロック116aに処理を移行させ、ファンクションブロック復帰処理118を起動してファンクションブロック呼び出し処理118を実行することで、ファンクションブロック116bがワークメモリとして使用した10ワード分のファンクションブロックワーク領域125を開放する(K117)。
そして、ファンクションブロック116bがワークメモリとして使用した10ワード分のファンクションブロックワーク領域125が開放されると、マイクロプロセッサ119は、ユーザプログラム演算処理(K118)をファンクションブロック116a上で行う。
そして、ファンクションブロック116aがワークメモリとして使用した20ワード分のファンクションブロックワーク領域124が開放されると、マイクロプロセッサ119は、ユーザプログラム演算処理(K120)および出力データ処理(K121)をプログラム115a上で行う。
図18において、ファンクションブロック呼び出し処理では、マイクロプロセッサ119は、テンポラリサイズテーブル領域123を参照することにより、各ファンクションブロック116a、116b、・・・、116nが使用するテンポラリデータ領域122のサイズを確認する(ステップS21)。
そして、各ファンクションブロック116a、116b、・・・、116nが使用するテンポラリデータ領域122のサイズがテンポラリデータ領域122の総容量サイズを超える場合(ステップS22)、システム異常として扱う(ステップS24)。
また、ファンクションブロック復帰処理では、マイクロプロセッサ119は、各ファンクションブロック116a、116b、・・・、116nがワークメモリとして使用した分のテンポラリデータ領域122を開放する(ステップS25)。
以上のような処理を、従来のプログラマブルコントローラは行っていた。
そこで、本発明の目的は、テンポラリサイズテーブル領域を参照することなく、ファンクションブロックがワークメモリとして使用するサイズ分だけテンポラリデータ領域を確保することが可能なプログラマブルコントローラを提供することである。
また、請求項3記載のプログラマブルコントローラによれば、前記ファンクションブロック復帰処理手段は、前記ファンクションブロックが前記ワークメモリとして使用する分のテンポラリサイズに応じて複数設けられていることを特徴とする。
図1は、本発明の第1実施形態に係るプログラマブルコントローラに搭載されるCPUモジュールの概略構成を示すブロック図である。
図1において、CPUモジュール11には、マイクロプロセッサ19、プログラムRAM12およびデータRAM20が設けられている。ここで、プログラムRAM12には、ユーザ側で作成されるユーザプログラム13およびメーカ側で作成されるシステムプログラム14を格納することができる。そして、ユーザプログラム13は、プログラム15a、15b、・・・、15oおよびファンクションブロック16a、16b、・・・、16nから構成することができる。なお、プログラム15a、15b、・・・、15oおよびファンクションブロック16a、16b、・・・、16nは同一の言語で記述することができ、プログラム15a、15b、・・・、15oは定周期またはサイクリックに起動され、ファンクションブロック16a、16b、・・・、16nはプログラム15a、15b、・・・、15oから呼び出される機能モジュールである。
ここで、ファンクションブロック呼び出し処理17a、17b、・・・、17mおよびファンクションブロック復帰処理18a、18b、・・・、18mは、ファンクションブロック16a、16b、・・・、16nがワークメモリとして使用する分のテンポラリサイズ27、28を固定データとして内部に保持することができる。
図2において、例えば、プログラム15a上では図1のファンクションブロック呼び出し処理17aにてファンクションブロック16aが呼び出され、ファンクションブロック16a上では図1のファンクションブロック呼び出し処理17bにてファンクションブロック16bが呼び出されるようにコード生成を行うことができる。
図3において、図1のマイクロプロセッサ19は、プログラム15aが起動されると、入力データ処理(K11)およびユーザプログラム演算処理(K12)を行う。そして、プログラム15a上でファンクションブロック16aが呼び出されると、マイクロプロセッサ19は、そのファンクションブロック16aがワークメモリとして使用する分の20ワードという値がテンポラリサイズ27として記憶されたファンクションブロック呼び出し処理17aを起動してファンクションブロック呼び出し処理17aを実行する(K13)。
そして、ファンクションブロック16bが使用するワークメモリとして10ワード分のファンクションブロックワーク領域25が確保されると、マイクロプロセッサ19は、ファンクションブロック16bに処理を移行させ、ユーザプログラム演算処理(K16)をファンクションブロック16b上で行う。
そして、ファンクションブロック16bがワークメモリとして使用した10ワード分のファンクションブロックワーク領域25が開放されると、マイクロプロセッサ19は、ユーザプログラム演算処理(K18)をファンクションブロック16a上で行う。
そして、ファンクションブロック16aがワークメモリとして使用した20ワード分のファンクションブロックワーク領域24が開放されると、マイクロプロセッサ19は、ユーザプログラム演算処理(K20)および出力データ処理(K21)をプログラム15a上で行う。
図4において、ファンクションブロック呼び出し処理17a、17b、・・・、17mでは、マイクロプロセッサ19は、ファンクションブロック呼び出し処理17a、17b、・・・、17mにそれぞれ保持されたテンポラリサイズ27に基づいて、各ファンクションブロック16a、16b、・・・、16nが使用するテンポラリデータ領域22のサイズを確認する。そして、各ファンクションブロック16a、16b、・・・、16nが使用するテンポラリデータ領域22のサイズがテンポラリデータ領域22の総容量サイズを超える場合(ステップS11)、システム異常として扱う(ステップS13)。
また、ファンクションブロック復帰処理18a、18b、・・・、18mでは、マイクロプロセッサ19は、各ファンクションブロック16a、16b、・・・、16nがワークメモリとして使用した分のテンポラリデータ領域22を開放する(ステップS14)。
このため、プログラムRAM12の容量の増大を抑制しつつ、ユーザプログラム13のオーバヘッド時間を少なくしてユーザプログラム13の実行性能を高く維持できるような機能をプログラマブルコントローラに持たせるようにしてもよい。また、ユーザの要求に応じた最適な実行コードを生成する機能をプログラマブルコントローラに持たせるようにしてもよい。
図5において、CPUモジュール51には、マイクロプロセッサ59、プログラムRAM52およびデータRAM60が設けられている。ここで、プログラムRAM52には、ユーザ側で作成されるユーザプログラム53およびメーカ側で作成されるシステムプログラム54を格納することができる。そして、ユーザプログラム53は、プログラム55a、55b、・・・、55oおよびファンクションブロック56a、56b、・・・、56nから構成することができる。なお、プログラム55a、55b、・・・、55oおよびファンクションブロック56a、56b、・・・、56nは同一の言語で記述することができ、プログラム55a、55b、・・・、55oは定周期またはサイクリックに起動され、ファンクションブロック56a、56b、・・・、56nはプログラム55a、55b、・・・、55oから呼び出される機能モジュールである。
さらに、データRAM60には、各ファンクションブロック56a、56b、・・・、56nが使用するテンポラリデータ領域62のサイズを指示するテンポラリサイズテーブル領域72が設けられている。
なお、ユーザプログラム53には、後述のコンパイラが生成し、マイクロプロセッサ59が実行可能な形式のコードが格納される。また、このコンパイラにて生成されたテンポラリサイズテーブルが、テンポラリサイズテーブル領域72に格納される。
システムプログラム54には、ユーザプログラム53上でファンクションブロック56a、56b、・・・、56nを呼び出す複数のファンクションブロック呼び出し処理57a、57b、・・・、57mおよび呼び出されたファンクションブロック56a、56b、・・・、56nから元の処理に復帰するファンクションブロック復帰処理58a、58b、・・・、58mを実装することができる。
ここで、可変長対応ファンクションブロック呼び出し処理73は、ファンクションブロック56a、56b、・・・、56nがワークメモリとして使用するサイズ分の容量をテンポラリデータ領域62上に確保することができる。また、可変長対応ファンクションブロック復帰処理74は、ファンクションブロック56a、56b、・・・、56nがワークメモリとして使用したサイズ分の容量をテンポラリデータ領域62上から開放することができる。
なお、テンポラリデータ領域62を使い切らない場合は、空き領域66が発生する。
図7において、例えば、プログラム55a上では、図5のファンクションブロック呼び出し処理57aにてファンクションブロック56aが呼び出され、ファンクションブロック56a上では、図5の可変長対応ファンクションブロック呼び出し処理73にてファンクションブロック56bが呼び出されるようにコード生成を行うことができる。
ここで、「CAL FByy,x」は命令の書式であり、xと言うFBを呼び出し、その際にはyyと言うメモリサイズを確保する。yyは数値である場合や、_Vのように可変値を指す場合がある。この命令を後述のコンパイラにて処理すると、yyが数値等の場合はファンクションブロック呼び出し処理57a、57b、・・・、57mを、yyが_Vの場合は可変長対応ファンクションブロック呼び出し処理73を実行させるコードを生成する。
なお、上記yyやxの表記は桁数や文字数を制限する訳ではなく、説明を分かり易くする為に本実施例の表記に合わせただけであり、発明を限定するものではない。_Vについても同様である。
図8において、コンパイラ80は、ファンクションブロック56a、56b、・・・、56nがワークメモリとして使用するサイズに基づいて、ファンクションブロック呼び出し処理57a、57b、・・・、57mまたは可変長対応ファンクションブロック呼び出し処理73が選択された実行コード(CAL FByy,x)を生成するアルゴリズムと、ファンクションブロック56a、56b、・・・、56nがワークメモリとして使用したサイズに基づいて、ファンクションブロック復帰処理58a、58b、・・・、58mまたは可変長対応ファンクションブロック復帰処理74が選択された実行コード(RET FByy)を生成するアルゴリズムとを備える。
また、FBごとのサイズが、例えば、18ワード、8ワード、30ワード、10ワード、22ワード…のように細分化される場合、これに応じたテンポラリサイズを用意する必要がある。ところが、第1実施形態で述べたように、全てのテンポラリサイズを用意すると図5のプログラムRAM52の容量を大きくする必要が発生し、コストアップを招く。そこで、ユーザプログラム(ソース)75より、ある程度のテンポラリサイズをリストアップしたものが、サポートサイズテーブル71になる。ここでは、一例として、10ワード単位で用意している。
ここでは、FB1というファンクションブロック56aのテンポラリサイズは20ワードであるので、FB1というファンクションブロック56aのサイズをN=20に設定する。次に、サポートサイズテーブル71を参照し、実行予定のプログラマブルコントローラにサイズN=20専用のファンクションブロック呼び出し処理57a、57b、・・・、57mがあるか検索する。
そして、コンパイラ80にて生成された実行コードおよびテンポラリサイズテーブルをプログラマブルコントローラに転送し、これらが実行される。
ここで、コンパイラ80にて生成された実行コード(PG100,FB1,FB2)は、図5のCPUモジュール51のプログラムRAM52内のユーザプログラム53の領域に格納され、マイクロプロセッサ59にて解釈され実行される。なお、図8のテンポラリサイズテーブル領域72は、図5のデータRAM60内のテンポラリサイズテーブル領域72に格納され、マイクロプロセッサ59から参照される。
図9において、図5のマイクロプロセッサ59は、プログラム55aが起動されると、入力データ処理(K51)およびユーザプログラム演算処理(K52)を行う。そして、プログラム55a上でファンクションブロック56aが呼び出されると、マイクロプロセッサ59は、そのファンクションブロック56aがワークメモリとして使用する20ワード分のテンポラリサイズを確保するファンクションブロック呼び出し処理57aを起動してファンクションブロック呼び出し処理57aを実行する(K53)。
そして、ファンクションブロック56aが使用するワークメモリとして20ワード分のファンクションブロックワーク領域64が確保されると、マイクロプロセッサ59は、ファンクションブロック56aに処理を移行させ、ユーザプログラム演算処理(K54)をファンクションブロック56a上で行う。そして、ファンクションブロック56a上でファンクションブロック56bが呼び出されると、マイクロプロセッサ59は、そのファンクションブロック56bがワークメモリとして使用する16ワード分のテンポラリサイズを確保する可変長対応ファンクションブロック呼び出し処理73を起動して可変長対応ファンクションブロック呼び出し処理73を実行する(K55)。
そして、ファンクションブロック56bが使用するワークメモリとして16ワード分のファンクションブロックワーク領域65が確保されると、マイクロプロセッサ59は、ファンクションブロック56bに処理を移行させ、ユーザプログラム演算処理(K56)をファンクションブロック56b上で行う。
そして、ファンクションブロック56bがワークメモリとして使用した16ワード分のファンクションブロックワーク領域65が開放されると、マイクロプロセッサ59は、ユーザプログラム演算処理(K58)をファンクションブロック56a上で行う。
そして、ファンクションブロック56aがワークメモリとして使用した20ワード分のファンクションブロックワーク領域64が開放されると、マイクロプロセッサ59は、ユーザプログラム演算処理(K60)および出力データ処理(K61)をプログラム55a上で行う。
図10において、図8のコンパイラ80にはコンパイル時のオプションとして目標メモリ使用率(0〜100%)をユーザが与えることができる。
例えば、目標メモリ使用率を80%とし、FB1というファンクションブロック56aからFB2というファンクションブロック56bをコールする部分をコンパイルするものとする。
なお、コンパイラ80に認識させられるのであれば、目標メモリ使用率を指定する手段としては、GUI(グラフィカルユーザインタフェース)を用いるようにしてもよいし、テキストファイルによる指定であってもよい。
図11において、図8のコンパイラ80は、ユーザプログラム(ソース)75を読み込み、コールするファンクションブロック56a、56b、・・・、56nのテンポラリサイズNを取得する(ステップS31)。
そして、コンパイラ80は、サポートサイズテーブル71を参照し、実行予定のプログラマブルコントローラにサイズNのファンクションブロック呼び出し処理57a、57b、・・・、57mが実装されているかどうかを検索する(ステップS32)。
一方、実行予定のプログラマブルコントローラにサイズNのファンクションブロック呼び出し処理57a、57b、・・・、57mが実装されていない場合(ステップS33)、サイズNよりも大きなサイズをサポートするファンクションブロック呼び出し処理57a、57b、・・・、57mが実装されているかどうかを検索する(ステップS36)。
図12において、図8のコンパイラ80は、ユーザプログラム(ソース)75を読み込み、リターンするファンクションブロック56a、56b、・・・、56nのテンポラリサイズNを取得する(ステップS51)。
そして、コンパイラ80は、サポートサイズテーブル71を参照し、実行予定のプログラマブルコントローラにサイズNのファンクションブロック復帰処理58a、58b、・・・、58mが実装されているかどうかを検索する(ステップS52)。
一方、実行予定のプログラマブルコントローラにサイズNのファンクションブロック復帰処理58a、58b、・・・、58mが実装されていない場合(ステップS53)、サイズNよりも大きなサイズをサポートするファンクションブロック復帰処理58a、58b、・・・、58mが実装されているかどうかを検索する(ステップS56)。
以上のように第2実施形態では、コンパイラ側で細かな設定処理を実施しCPUモジュール(プログラマブルコントローラ)側ではマイクロプロセッサは実行コードに従って処理するだけなので、プログラムの実行性能が高い。また、テンポラリサイズテーブルを参照する回数を減らしているので第1実施形態に比べオーバヘッド時間も少なくなる。加えて、サポートサイズテーブルにより、ユーザはファンクションブロックに応じて的確にテンポラリサイズを設定できるので、必要なメモリ容量が少なくなるよう効率的にメモリを使用することが可能になる。
12、52 プログラムRAM
13、53 ユーザプログラム
14、54 システムプログラム
15a、15b、・・・、15o、55a、55b、・・・、55o プログラム
16a、16b、・・・、16n、56a、56b、・・・、56n ファンクションブロック
17a、17b、・・・、17m、57a、57b、・・・、57m ファンクションブロック呼び出し処理
18a、18b、・・・、18m、58a、58b、・・・、58m ファンクションブロック復帰処理
19、59 マイクロプロセッサ
20、60 データRAM
21、61 ユーザデータ領域
22、62 テンポラリデータ領域
24、25、64、65 ファンクションブロックワーク領域
26、66 空き領域
27、28 テンポラリサイズ
71 サポートサイズテーブル
72 テンポラリサイズテーブル領域
73 可変長対応ファンクションブロック呼び出し処理
74 可変長対応ファンクションブロック復帰処理
75 ユーザプログラム(ソース)
80 コンパイラ
Claims (3)
- ユーザプログラム上で呼び出されるファンクションブロックを記憶するファンクションブロック記憶手段と、
前記ファンクションブロックの実行時に前記ファンクションブロックがワークメモリとして使用するテンポラリデータ記憶手段と、
前記ファンクションブロックが前記ワークメモリとして使用する分のテンポラリサイズを内部に保持し、前記テンポラリサイズに基づいて前記ファンクションブロックがワークメモリとして使用するサイズ分の領域を前記テンポラリデータ記憶手段上で確保するファンクションブロック呼び出し処理手段とを備え、前記ファンクションブロック呼び出し処理手段は、前記ファンクションブロックが前記ワークメモリとして使用する分のテンポラリサイズに応じて複数設けられていることを特徴とするプログラマブルコントローラ。 - 前記ファンクションブロックが前記ワークメモリとして使用する分のテンポラリサイズを内部に保持し、前記テンポラリサイズに基づいて前記ファンクションブロックがワークメモリとして使用したサイズ分の領域を前記テンポラリデータ記憶手段上で開放するファンクションブロック復帰処理手段を備えることを特徴とする請求項1に記載のプログラマブルコントローラ。
- 前記ファンクションブロック復帰処理手段は、前記ファンクションブロックが前記ワークメモリとして使用する分のテンポラリサイズに応じて複数設けられていることを特徴とする請求項2に記載のプログラマブルコントローラ。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007204367A JP4849033B2 (ja) | 2007-03-19 | 2007-08-06 | プログラマブルコントローラ |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007070478 | 2007-03-19 | ||
JP2007070478 | 2007-03-19 | ||
JP2007204367A JP4849033B2 (ja) | 2007-03-19 | 2007-08-06 | プログラマブルコントローラ |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2008262529A JP2008262529A (ja) | 2008-10-30 |
JP4849033B2 true JP4849033B2 (ja) | 2011-12-28 |
Family
ID=39984935
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007204367A Active JP4849033B2 (ja) | 2007-03-19 | 2007-08-06 | プログラマブルコントローラ |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4849033B2 (ja) |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2589791B2 (ja) * | 1988-12-14 | 1997-03-12 | 日本たばこ産業株式会社 | ループ制御装置 |
JPH07334214A (ja) * | 1994-06-07 | 1995-12-22 | Toshiba Corp | プログラマブルコントローラ |
JP3389592B2 (ja) * | 1997-01-27 | 2003-03-24 | オムロン株式会社 | プログラマブルコントローラ |
JP2000020297A (ja) * | 1998-07-01 | 2000-01-21 | Omron Corp | 制御装置 |
JP2000284815A (ja) * | 1999-03-30 | 2000-10-13 | Fuji Electric Co Ltd | プログラム作成装置 |
JP3844051B2 (ja) * | 2001-07-10 | 2006-11-08 | オムロン株式会社 | コントローラ |
JP4319082B2 (ja) * | 2004-04-08 | 2009-08-26 | 三菱電機株式会社 | プログラミングシステム |
JP4760607B2 (ja) * | 2006-08-10 | 2011-08-31 | 株式会社明電舎 | プログラマブルコントローラ |
-
2007
- 2007-08-06 JP JP2007204367A patent/JP4849033B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
JP2008262529A (ja) | 2008-10-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109739508B (zh) | 源代码编译方法、装置、系统及存储介质 | |
CN108319499B (zh) | 任务调度方法及装置 | |
CN114970814A (zh) | 神经网络计算图的处理方法及处理装置 | |
CN114841323A (zh) | 神经网络计算图的处理方法及处理装置 | |
JP4849033B2 (ja) | プログラマブルコントローラ | |
CN103488517A (zh) | Php代码编译方法、php代码运行方法及装置 | |
CN112925586A (zh) | 一种小程序路由方法、装置、计算机设备及存储介质 | |
CN102520976A (zh) | 一种dsp程序的固化方法 | |
CN104765634B (zh) | 一种Linux系统内核新功能增加方法 | |
JPH03229352A (ja) | プログラム変更方法 | |
CN102141938A (zh) | 多线程系统中软件负荷的调整方法及装置 | |
KR101331383B1 (ko) | 데이터 처리 방법 및 장치 | |
CN111596923B (zh) | Haxe静态链接库构建方法、装置和电子设备 | |
CN114218278A (zh) | http接口的数据表字段查询方法及系统 | |
CN114756229A (zh) | 基于微前端的开发页面生成方法及其相关装置 | |
KR20100099569A (ko) | 실행 파일 생성 방법 및 그 방법을 이용하는 시스템 장치 | |
CN112286894A (zh) | 日志生成方法、装置以及可读存储介质 | |
JP2017016503A (ja) | コンパイラ、コンパイル装置及びコンパイル方法 | |
CN105488169A (zh) | 一种多进程文件转换方法及装置 | |
JP2007280214A (ja) | プログラマブルコントローラ | |
JP4449799B2 (ja) | データ動的読み込み型テンプレート適用方法および装置 | |
CN114035845A (zh) | 固件快速rom化方法及装置 | |
CN111984434B (zh) | 基于安卓系统的跨进程数据读写方法、装置及存储介质 | |
CN112988224B (zh) | 微服务框架的接口文件生成方法、电子设备及存储介质 | |
US20130246779A1 (en) | Calling Firmware Runtime Services of Basic Input Output System |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A712 Effective date: 20080919 |
|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20080919 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20080919 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20100118 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110222 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20110224 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110408 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A712 Effective date: 20110422 |
|
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: 20110920 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20111003 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4849033 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20141028 Year of fee payment: 3 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |