(58)【調査した分野】(Int.Cl.,DB名)
前記制御手段は、前記学習モード時に、スロットル開度が所定の範囲を超えて変化したか否かを判定し、スロットル開度が所定の範囲を超えて変化した場合、最適トリム角の学習を中断することを特徴とする請求項1又は2に記載の船外機の制御装置。
前記制御手段は、前記学習モード時に、エンジン回転数が所定の範囲を超えて変化したか否かを判定し、エンジン回転数が所定の範囲を超えて変化した場合、最適トリム角の学習を中断することを特徴とする請求項1乃至3のいずれか1項に記載の船外機の制御装置。
【発明を実施するための形態】
【0012】
以下、添付図面を参照して、本発明の好適な実施形態について説明する。
図1は、本発明を適用可能な船舶を斜め後方から眺めた斜視図である。また、
図2は、本発明を適用可能な船外機の左側面図である。
図1及び
図2に示すように、船舶1の船体2の後部に位置するトランサム2aに船外機3がブラケット装置4を介して取り付けられる。
【0013】
船体2の略中央部は操舵室5であり、操舵席6が設置されると共に、操舵席6の前方には計器パネル7が配置される。計器パネル7にはタコメータ8等の計器類、不図示のモニタ、警告用のブザー9等が設けられると共に、操舵ハンドル10も設けられる。また、操舵席6の側方には例えばスロットルレバー11及びシフトレバー12を備えたリモコンボックス13が配置される。
【0014】
図2に示すように、船外機3はエンジンホルダ14を備え、このエンジンホルダ14の上方にエンジン15が設置される。また、エンジンホルダ14の下方にはオイルパン16が配置されると共に、この船外機3のエンジン15、エンジンホルダ14及びオイルパン16の周囲はエンジンカバー17よって覆われる。エンジン15は、例えばシリンダヘッド29、シリンダブロック30及びクランクケース31等を組み合わせて構成された水冷4サイクル四気筒エンジンであり、クランクシャフト18を略垂直に配置したバーティカル(縦)型のエンジンである。
【0015】
オイルパン16の下部にはドライブシャフトハウジング19が設置される。エンジンホルダ14、オイルパン16及びドライブシャフトハウジング19内にはドライブシャフト20が略垂直に配置され、その上端部がクランクシャフト18の下端部に連結される。ドライブシャフト20はドライブシャフトハウジング19内を下方に向かって延び、ドライブシャフトハウジング19の下部に設けられたギヤケース21内のベベルギヤ22及びプロペラシャフト23を介してプロペラ24を駆動するように構成される。
【0016】
ギヤケース21内には遠隔操作によってプロペラシャフト23の回転方向を正・逆(フォワード・リバース)又は中立状態(ニュートラル)に切り換えるシフト装置25が設けられる。このシフト装置25からはシフトロッド26が上方に向かって延び、リンク27を介して操作ロッド28(又はケーブル)によって上記リモコンボックス13のシフトレバー12に連結される。
【0017】
エンジン15の最前部、
図2においては最も左側に配置されるクランクケース31の後方(右側)にはシリンダブロック30が配置される。また、シリンダブロック30の後方にはシリンダヘッド29が配置される。
【0018】
ブラケット装置4は主にスイベルブラケット32及びトランサムブラケット33から構成され、スイベルブラケット32は船外機3に、トランサムブラケット33は船体2のトランサム2aにそれぞれ固定される。
【0019】
スイベルブラケット32は左右一対のトランサムブラケット33間に架設されたチルト軸34を介して上下方向に傾動可能に軸支され、このスイベルブラケット32内にパイロットシャフト35が鉛直方向に、且つ回動自在に軸支される。また、このパイロットシャフト35の上下端にアッパーマウントブラケット36及びロアーマウントブラケット37がそれぞれ回動一体に設けられる。そして、アッパーマウントブラケット36にはステアリングブラケット38が設けられ、図示しないケーブル等によって操舵ハンドル10に連結される。
【0020】
一方、エンジンホルダ14の前部には左右一対のアッパーマウントユニット39が設けられ、アッパーマウントブラケット36に連結される。また、ドライブシャフトハウジング19の両側部には一対のロアーマウントユニット40が設けられ、ロアーマウントブラケット37に連結される。そして、以上により船外機3は、操舵ハンドル10の操作によって、ブラケット装置4に対しパイロットシャフト35を中心に左右に操舵可能になると共に、チルト軸34を中心に上下向方にチルト及びトリム操作が可能になる。
【0021】
ここで、チルト操作とは、停船中や船体2の陸揚げ時等に船外機3を水面上に上昇させるものである。また、トリム操作とは、船外機3の角度、即ちトリム角を調整するものである。
図12(a)、(b)は、トリム角と、航走時の船体2の姿勢角との一例を示す図である。
図12(a)は、トリム角が0°の状態、換言すれば船外機3がブラケット装置4のストッパに当接して船体2に最も近接した状態である。このとき、図示例では、水平面に対するプロペラシャフト23の軸方向の角度は−6°、水平面に対する船体2の角度は0°となる。そして、
図12(b)は、トリムアップしてトリム角が11°の状態である。このとき、図示例では、水平面に対するプロペラシャフト23の軸方向の角度は2.5°、水平面に対する船体2の角度は2.5°となる。このようなトリム及びチルト操作はパワートリム&チルト装置41(以下、PTT装置と略す)により油圧制御される。
【0022】
図3は、本発明の実施形態に係るPTT装置41の回路図、
図4は、ブラケット装置4の拡大側面図である。また、
図5は、本発明の実施形態に係るPTT装置41を含む船外機3全体の制御装置52の構成を示すシステム図である。
図3に示すように、リモコンボックス13や船外機3に設けられたPTTスイッチ46、47のUP側とDN(DOWN)側とはそれぞれPTTリレー53(UP及びDN)に結線され、船外機3を上下に傾動させる図示しない動力手段である油圧装置の動力源となるPTTモータ54を駆動する。なお、リモコンボックス13側のPTTスイッチ46はPTTモータ54とこのモータ54の動力源であるバッテリ55(制御装置52の電源も兼ねる)との間に配置される。
【0023】
船体2と船外機3との相対位置、一般的には相対角度、即ち船外機3のトリム角(及びチルト角)を検出する傾斜角検出器48が例えばブラケット装置4に設けられる。
図4(a)は船外機3がDN(DOWN)状態、
図4(b)は船外機3がUP状態をそれぞれ示す。
図4(a)、(b)に示すように、傾斜角検出器48は主に例えば固定側であるトランサムブラケット33に設けられた可変抵抗やホール素子等の回動検出素子49と、この回動検出素子49に回動自在に設けられたレバー50と、可動側であるスイベルブラケット32に設けられた凸部51とから構成され、レバー50の自由端部が図示しないスプリング等で凸部51に常時付勢されて当接する。そして、船外機3が例えばトリムアップされることによりスイベルブラケット32がチルト軸34を介して上方向に傾動すると、この傾動に伴って凸部51が移動し、レバー50が回動検出素子49を軸に回動してその回動量、即ち船外機3の傾斜角信号が出力される。なお、この傾斜角検出器48は従来のトリムメータ45(トリム角度表示装置)に信号を出力するトリム角度検出器(図示せず)の信号を併用してもよい。
【0024】
図5に示すように、制御装置52は、入力回路59、CPU、RAM及びROMにより構成される演算部60、メモリ78、出力回路71、点火装置75、電源回路76を備える。制御装置52には、船外機3内外の各機器から各種の情報が入力される。具体的には、船体速度検出器79から、例えばGPS機能により測定した船体速度が入力回路59を経由して制御装置52内の演算部60に入力される。
【0025】
同様に、カム軸信号検出器58から、エンジン15の図示しないカム軸の信号(カム角信号)が演算部60に入力される。また、クランク角信号検出器61(回転数検出器)からエンジン15の回転数信号が、スロットル開度検出器62から図示しないエンジン吸気装置を構成するスロットル開度が、吸気圧力検出器63及び大気圧力検出器64からそれぞれ吸気圧及び大気圧が、吸気温度検出器65、エンジン温度検出器66(冷却水温度検出器)及び排気通路温度検出器67からそれぞれ吸気の温度、エンジン15の温度(冷却水温度)及び排気通路の温度が演算部60に入力される。また、傾斜角検出器48から船外機3の傾斜角信号が、例えばシフト装置25に設けられるシフト(ニュートラル)スイッチ68からシフト位置信号が演算部60に入力される。さらに、ストップ(エマージェンシーストップ)スイッチ69、後述する学習モード選択スイッチ70及びPTTスイッチ46(47)からの信号も演算部60に入力される。
【0026】
制御装置52に入力された各機器からの情報は演算部60で適宜演算処理され、その演算結果が出力回路71を介して船外機3内外の各機器に出力される。具体的には、演算部60は、PTT装置41を操作してPTTモータ54を駆動する。また、演算部60は、燃料の噴射量情報をインジェクタ72に、吸気空気量の調整信号をアクチュエータ73の図示しないステップモータやソレノイドバルブ等に、エンジン回転数信号や各機器の異常を伝達する信号をモニタ44の警告灯42(LED)やブザー9、タコメータ8等に、燃料の供給量情報をフューエルポンプ74にそれぞれ出力する。さらに、演算部60は、出力回路71から点火装置75(電源回路76が接続される)を介してイグニッションコイル77に点火信号を出力する。
【0027】
ここで、既述したように、船外機3のトリム角を適切に調整することで、船体2の姿勢角が変化して船体抵抗が低減し、結果として、同一のエンジン出力においても船舶1の船体速度が増加し、燃費が向上することが知られている。一方で、船外機3は、自動車や自動二輪車等のエンジンとは異なり、一般的に、搭載される船舶は既定されておらず、様々の船舶に搭載されうる。船舶の大きさ、重量、船体や船底の形状が多種多様であるため、燃費が向上する最適トリム角を予め定めておくことは困難である。そこで、本実施形態に係る船外機3では、主に燃費を向上させることを目的として、船舶毎に最適トリム角を学習により設定する学習モードを有している。
【0028】
学習モードは、例えば船外機3を船舶1に新たに搭載して試運転するときに実行されるものであり、学習モード選択スイッチ70を操作することにより学習モードに移行することができる。船外機3を船舶1に新たに搭載して試運転するときに、滑走状態(プレーニング)を維持できる速度域でスロットルを固定して、学習モード選択スイッチ70を操作して学習モードに移行する。このとき、トリム角は0°又は0°に近い角度としておく。
【0029】
図6は、学習モード時における制御装置52内の演算部60の処理動作を示すフローチャートである。また、
図9は、学習モード時における学習モード選択スイッチ70及びPTTスイッチ(UP、DN)46又は47の状態、エンジン回転数、船体速度、トリム角、スロットル開度を示すタイムチャートである。学習モードに移行した後、操船者は学習開始のための所定の操作、本例ではPTTスイッチ(UP)46又は47の2度押しを行う(ステップS1)。2度押しとしたのは、通常のPTT操作であるPTTスイッチ(UP)46又は47の1度押しとは異なる操作にして誤操作をなくすと共に、操船者の意思を確実に反映させるためである。
【0030】
PTTスイッチ(UP)46又は47の2度押しが入力されると、演算部60は、学習開始条件が成立しているかどうかを判定する(ステップS2)。
図7に、学習開始条件成立の可否を判定する処理のフローチャートを示す。演算部60は、スロットル開度検出器62で検出されるスロットル開度、クランク角信号検出器61で検出されるエンジン回転数及び傾斜角検出器48で検出されるトリム角がそれぞれ所定の範囲内にあれば(ステップS21、S22、S23)、条件成立として(ステップS24)、本処理を抜ける。それに対して、スロットル開度、エンジン回転数、トリム角のいずれかが所定の範囲から外れていれば(ステップS21、S22、S23)、条件不成立として本処理を抜ける。
【0031】
図6に説明を戻して、ステップS2で学習開始条件が成立している場合、ステップS3に進み、演算部60は、スロットル開度検出器62でスロットル開度を検出する。また、クランク角信号検出器61で検出したエンジン回転数の例えば所定の時間分の移動平均を算出することにより平均エンジン回転数を演算して(ステップS4)、平均エンジン回転数の変化率を演算する(ステップS5)。なお、ステップS2で学習開始条件が成立していない場合、ステップS20に進み、演算部60は、ブザー9を鳴らしたり、モニタに表示したりする等のエラーメッセージ通知を行った後、ステップS1に戻る。
【0032】
ステップS5の後、演算部60は、学習継続条件が成立しているかどうかを判定する(ステップS6)。
図8に、学習継続条件成立の可否を判定する処理のフローチャートを示す。演算部60は、スロットル開度検出器62で検出されるスロットル開度の変化率、ステップS5で演算した平均エンジン回転数の変化率がそれぞれ所定の範囲内にあり、操船者によるPTT操作がなければ(ステップS61、S62、S63)、条件成立として(ステップS64)、本処理を抜ける。それに対して、スロットル開度の変化率、エンジン回転数の変化率のいずれかが所定の範囲から外れている、又は操船者によるPTT操作があれば(ステップS61、S62、S63)、条件不成立として本処理を抜ける。スロットル開度の変化率が所定の範囲から外れているときは、操船者がスロットルレバー11を操作してスロットル開度が変化したと考えられるため、最適トリム角の学習を中断する。また、エンジン回転数の変化率が所定の範囲から外れているときは、以下の理由により最適トリム角の学習を中断する。即ち、船体2への負荷、例えば積載物の重量、高さ、位置、角度等によっては、あるトリム角を超えるとプロペラ24が水中で空回りして推力が低下する現象が発生する。この場合、
図13の丸で囲んだ箇所に示すように、エンジン回転数が急上昇し、船体速度が低下する。
図13は、時間と、トリム角、エンジン回転数及び船体速度との関係の例を示す特性図である。そこで、エンジン回転数の変化率が所定の範囲から外れているときは、このような現象が発生したと考えられるため、最適トリム角の学習を中断する。また、PTT操作があるときは、操船者による操作を優先させるため、最適トリム角の学習を中断する。なお、ステップS6で学習継続条件が成立していない場合、ステップS20に進み、演算部60は、ブザー9を鳴らしたり、モニタに表示したりする等のエラーメッセージ通知を行った後、ステップS1に戻る。また、最適トリム角の学習を中断した場合、そのときのトリム角を所定の角度だけトリムダウンさせる等してもよい。
【0033】
図6に説明を戻して、ステップS6で学習継続条件が成立している場合、ステップS7に進み、演算部60は、現在のトリム角θ
Aが下限値、即ち0°でないかどうかを判定する。ステップS7で現在のトリム角θ
Aが0°でない場合ステップS8に進み、0°である場合ステップS10に進む。
【0034】
トリム角0°の状態で学習を開始した場合、学習開始直後はトリム角が0°であるので、ステップS10に進む。ステップS10で、演算部60は、PTT装置41を用いて予め設定されているトリム角θ
Bだけトリムアップする。そして、演算部60は、現在のトリム角θ
Aが予め設定されている上限値を達したかどうかを判定する(ステップS11)。ステップS11で現在のトリム角θ
Aが上限値に達していない場合ステップS3に戻り、上限値に達した場合ステップS12に進む。
【0035】
ステップS11からステップS3に戻り、ステップS4〜S6を経てステップS7に進むと、現在のトリム角θ
Aは0°でないので、ステップS8に進む。ステップS8では、ステップS5で演算した平均エンジン回転数の変化率が所定の閾値gを下回ったかどうかを判定する。ステップS8で平均エンジン回転数の変化率が所定の閾値gを下回っていない場合ステップS10に進み、所定の閾値gを下回った場合ステップS9に進む。
【0036】
ここで、
図10を参照して、学習モードで狙う最適トリム角について説明する。
図10は、トリム角と、燃費向上率、エンジン回転数及び船体速度との関係の例を示す特性図である。
図10に示すように、トリム角を大きくしていくと、燃費向上率、エンジン回転数及び船体速度が増加する。そして、トリム角θ
1と達すると、エンジン回転数の変化率が小さくなり、それ以降は上限値で略安定する。また、トリム角θ
2(>θ
1)に達すると、船体速度がピークとなり、それ以降はエンジン回転数と共に減少傾向となる。このような特性において、船体速度及び燃費向上率の面からいえば、トリム角θ
2を最適トリム角とするのが理論上最適である。しかしながら、トリム角θ
2では水中翼部の舵の機能が低下し、操舵が不安定となることがある。そこで、トリム角θ
2に比べると燃費向上率はやや低くなるが、十分な燃費の向上効果があり、且つ操舵安定性に優れたトリム角θ
1を最適トリム角とする。
【0037】
ステップS3〜S8、S10、S11のループを繰り返して、トリム角θ
Bずつ段階的にトリムアップさせた結果、ステップS8で平均エンジン回転数の変化率が所定の閾値を下回ったということは、
図10に示すように、現在のトリム角θ
Aがトリム角θ
1を超え、エンジン回転数の変化が安定したと考えられる。そこで、ステップS9に進み、暫定の最適トリム角θ
Cを演算する。ステップS9では、例えば暫定の最適トリム角θ
Cを、
θ
C=現在のトリム角θ
A−トリム角θ
B
として求める。現在のトリム角θ
Aをそのまま暫定の最適トリム角θ
Cとしてもよいが、エンジン回転数の変化が安定した結果として、平均エンジン回転数の変化率が所定の閾値を下回ることから、その間に時間的な差がある。そこで、現在のトリム角θ
Aからトリム角θ
Bを減算する、即ちステップS10でトリムアップする一回前のトリム角を暫定の最適トリム角θ
Cとしている。
【0038】
なお、ステップS8で平均エンジン回転数の変化率が所定の閾値を下回ることなく、ステップS11で現在のトリム角θ
Aが上限値に達することもありうる。その場合、ステップS12に進み、暫定の最適トリム角θ
Cを演算する。ステップS12でも、ステップS9と同様、例えば暫定の最適トリム角θ
Cを、
θ
C=現在のトリム角θ
A−トリム角θ
B
として求める。
【0039】
ステップS9又はステップS12で暫定の最適トリム角θ
Cが演算されたならば、演算部60はその暫定の最適トリム角θ
Cをメモリ78に記憶する(ステップS13)。そして、演算部60は、ブザー9を鳴らしたり、モニタに表示したりする等して、今回の学習が終了したことを通知するメッセージ通知を行う(ステップS14)。メッセージ通知を受けた操船者は、学習終了の確認のための所定の操作、本例ではPTTスイッチ(DN)46又は47の2度押しを行う(ステップS15)。
【0040】
本実施形態では、ステップS1〜S15の学習を2回繰り返すようになっている。即ち、ステップS16で、ステップS1〜S15の学習が2回繰り返されたかどうかを判定する。ステップS16で学習が2回繰り返されていない場合、ステップS21に進み、演算部60は、PTT装置41を用いてトリム角を下限値0°にトリムダウンしてから、ステップS1に戻る。
【0041】
ステップS16で学習が2回繰り返されている場合、ステップS17に進み、1回目の暫定の最適トリム角θ
Cと2回目の暫定の最適トリム角θ
Cとが所定の閾値θ
Dを超えて異なるかどうか判定する。ステップS17で所定の閾値θ
Dを超えて異ならない場合、ステップS18に進み、演算部60は最適トリム角θ
C´をメモリ78に記憶する。最適トリム角θ
C´は、1回目の暫定の最適トリム角θ
Cと2回目の暫定の最適トリム角θ
Cとの平均値としてもよいし、最後の回(2回目)の暫定の最適トリム角θ
Cとしてもよい。そして、演算部60は、ブザー9を鳴らしたり、モニタに表示したりする等して、最終的に学習が終了したことを通知するメッセージ通知を行う(ステップS19)。
【0042】
一方、ステップS17で所定の閾値θ
Dを超えて異なる場合、風(風速や風向き)、波、潮流等の影響のために、1回目の暫定の最適トリム角θ
Cと2回目の暫定の最適トリム角θ
Cとが大きく異なったものとする。そこで、学習条件が適当でないとし、最適トリム角θ
C´を求めることなく、ステップS20に進み、演算部60は、ブザー9を鳴らしたり、モニタに表示したりする等のエラーメッセージ通知を行った後、ステップS1に戻る。
【0043】
以上述べた学習を一定のスロットル開度T10で実行させ、スロットル開度T10での最適トリム角θ
C´(T10)を記憶させる。メモリ78には、例えば
図11に示すように、エンジン回転数及びスロットル開度に対応付けられた最適トリム角のマップが構築されており、スロットル開度T10と、ステップS4で演算した平均エンジン回転数を含む所定のエンジン回転数域(
図11の例ではエンジン回転数R12〜R15)との対応欄に、学習した最適トリム角θ
C´(T10)を記述する。エンジン回転数が大幅に異ならない限り、最適トリム角は同程度であるので、所定のエンジン回転数域R12〜R15にて、学習した最適トリム角θ
C´(T10)を利用するようにしている。
【0044】
次に、以上述べた学習を一定のスロットル開度T14(>T10)で実行させ、スロットル開度T14と、ステップS4で演算した平均エンジン回転数を含む所定のエンジン回転数域(
図11の例ではエンジン回転数R15〜R18)との対応欄に、学習した最適トリム角θ
C´(T14)を記述する。同様に、以上述べた学習を一定のスロットル開度T18(>T14)で実行させ、スロットル開度T18と、ステップS4で演算した平均エンジン回転数を含む所定のエンジン回転数域(
図11の例ではエンジン回転数R18〜R20)との対応欄に、学習した最適トリム角θ
C´(T14)を記述する。このように複数のスロットル開度T10、T14、T18で学習を繰り返すことにより、それらの間の欄の最適トリム角(
図11に斜線で示す欄の最適トリム角)は、スロットル開度T10、T14、T18での最適トリム角θ
C´(T10)、θ
C´(T14)、θ
C´(T18)を用いた補間演算により求めることができる。
【0045】
なお、学習を行うスロットル開度T10、T14、T18は操船者が任意に指定可能にしてもよいし、演算部60が、学習すべきスロットル開度T10、T14、T18を操船者に通知するようにしてもよい。学習すべきスロットル開度T10、T14、T18を操船者に通知する方式としては、学習すべきスロットル開度をモニタに表示したり、学習すべきスロットル開度近傍でブザー音を鳴らしたりすればよい。
【0046】
以上のようにして各スロットル開度に対応させた最適トリム角θ
C´がメモリ78のマップに記述された状態において、トリム操作を自動制御する自動トリムモード時には、制御装置52は、スロットル開度検出器62で検出されるスロットル開度、クランク角信号検出器61で検出されるエンジン回転数に基づいて、マップから最適トリム角θ
C´を読み出して、その最適トリム角θ
C´になるようにPTT装置41を自動制御する。これにより、エンジン回転数や姿勢の微妙な変化を感じ取ってトリム操作を行うといった負荷を操船者に強いることなく、また、初心者であっても、操舵の安定性を確保しつつ、燃費を向上させた航走が可能になる。
【0047】
なお、本実施形態では、船外機3を船舶1に新たに搭載して試運転するときに学習モードを実行させる例を説明したが、それに限定されるものではない。通常の航走時でも、学習モードを随時実行させてよい。例えば乗員や積載物の重量等が普段と大きく異なる状態で航走するような場合に学習モードを実行させてもよい。航走の最初の段階で学習モードの実行のためにスロットル開度を一定にするという制約が課されるが、学習モードは数分程度で完了するので、それ以降の航走では、操舵の安定性を確保しつつ、燃費を向上させた航走が可能になる。
【0048】
また、船外機3のメーカ側で、ボートメーカの各種モデルに対する最適トリム角を既定したマップを制御装置52に予め保持させておくようにしてもよい。船外機3を船舶1に搭載する際に、当該船体2の製造メータ、モデル名を制御装置52に入力することで、船体2に適したマップを呼び出して利用することができる。また、制御装置52に通信機能を持たせ、船体2の製造メータ、モデル名に応じたマップを外部から取得するような形態としてもよい。
【0049】
以上、本発明を種々の実施形態と共に説明したが、本発明はこれらの実施形態にのみ限定されるものではなく、本発明の範囲内で変更等が可能である。例えば
図6のステップS8では、所定の条件に合致するかどうかとして、ステップS5で演算した平均エンジン回転数の変化率が所定の閾値を下回ったかどうかを判定するようにしたが、船体速度検出器79で検出される船体速度がピークとなったかどうか、即ち
図10に示すトリム角θ
2に達したかどうかを判定するようにしてもよい。この場合、
図10の説明で述べたように、トリム角θ
2では水中翼部の舵の機能が低下し、操舵が不安定となることがあるので、ステップS9では、現在のトリム角θ
A(即ち、トリム角θ
2)から所定のトリム角を減算し、トリム角θ
2の手前のトリム角を暫定の最適トリム角θ
Cとする。
【0050】
また、本発明の船外機の制御装置は、具体的にはCPU、ROM、RAM等を備えたコンピュータシステムにより構成することができ、CPUがプログラムを実行することによって実現され、プログラム自体も本発明を構成することになる。