• 検索結果がありません。

普及に向けた取り組みを強化

12. 参 考(文 法)

12.2 制御文

CAPLは、C言語と同じように、制御文を使用 することができます。また、反復処理から脱出

するための「break文」や、反復処理をスキップ するための「continue文」も使用できます。

以下の表1416に、ステートメント(命 令 文)の説明と基本例文を記します。

IF

IF-ELSE

SWITCH

if文を使用して式を評価し、評価結果が「真 (True)」の場合のみ 命令が実行されます。評価結果が「偽(False)」の場合、コードブ ロックは実行されません。

注記: if文はネストする (=入れ子構造にする) ことが可能です。

例えばif文の中にさらに (1つ以上の) if文を記述することがで きます。

if-else文も式を評価できます。評価した式の結果によって、2 の命令のいずれかが実行されるという点がif文と異なります。

式の結果が「真 (True)」であればif節の命令が実行され、結果 が「偽 (False)」であれば、else節の命令が実行されます。

注記: if-else文も、if文同様にネストする ( = 入れ子構造にす る) ことができ、たとえばif節の中にさらにif-else文を、else節 の中にさらにif-else文を記述することができます。

switch文は、if-else文と同じ制御になりますが、2つ以上の選 択肢を必要とする場合に使用すると、より便利です。switch 文の中にcase文を複数記述することによって1つの文に2 以上の分岐を作ることができます。

switch文は、式の「値」に応じて実行内容を分岐します。「値」

と「整数または文字の定数」を比較し、一致した選択肢の文を 実行します。

つまり、1つ以上のcase文と比較し、{}内で最初に一致した文 の制御が実行されます。case文はいくつあってもよく、1つの

{}の中にすべて記述できます。

caseの後ろは、整数の定数、文字の定数、定数式のいずれか になり、定数式には、変数や関数を置くことはできません。

注記:どのcase文にも値が一致しない場合、default文が 実行されます。default文がない場合(defaultは省略も可 能)、switch文を抜けます。

if (条件文) {

 ..条件文の結果がTrueの場合に実行される命令文..

} 例:

 if (Blinker_On == 1)  {

   write ( Blinker is on. );

 }

一般的な形式:

if ( 条件文 )

 { ...条件文の結果がTrueの時に実行される命令文... } else

 { ...条件文の結果がFalseの時に実行される命令文... }  例:

 // 時計の「分」を進める関数    increment_clock_minutes()    {

    int clock_minutes;

   if (clock_minutes >= 60)   clock_minutes = 0;

   else

  clock_minutes++;

   }  例:

 float value1, value2, result;

 char operator;

 ...

 switch (operator)  {

   case + : result = value1 + value2;

 break;

   case - : result = value1 - value2;

 break;

   case * : result = value1 * value2;

 break;

   case / : result = value1 / value2;

 break;

 }

ステートメント 説明 一般的な形式

14

WHILE ループ

DO-WHILE ループ

FORループ

while文では、その条件が成立している間 ( = 比較している式 が「偽(False)」になるまで) 同じ処理が繰り返し行われます。

注記:命令文が実行される前に、必ず最初に条件式が評価さ れます。結果が「偽 (False)」の場合には、whileループ内の命令 文は実行されません。

do-while文は、while文と同じ制御ですが、実行中に少なくとも 1度はループ内の命令を実行する必要がある場合に用いると、

より便利です。

このループ文は、最初に命令文を実行し、次に条件式を評価し ます。条件式が「真 (True)」の場合、それが「偽 (False)」になるま で命令文の始めから繰り返し実行 (ループ) されます。

for文もまた、while、do-whileと同様に繰り返し実行される ループ文の1つです。定められた回数だけ繰り返し実行する場 合に用いると便利です。

注記:

「 初期設定式」とは、最初にfor文が処理される時に1度だけ 実行される式です。「条件式」の意味はwhile文のものと同じで

「真 (true)」の時にループします。「再設定式」は、繰り返す処理 が最後まで終了した時に実行される式で、ループするたび (「繰 り返す処理」が終了するたび) に実行されます。

while (条件式) {

 ..条件式の結果がTrueの場合に実行される命令文..

};

例:

// カウントが10になるまでループする  while (count < 10)

 {

 count ++;

 } do {

...条件式の結果がTrueの場合に実行される命令文...

}

while (条件文);

例:

// カウントが10になるまでループする  do

 {

count ++;

 }

 while (count != 10);

for (初期設定式; 条件式; 再設定式) {

 ...条件式の結果がTrueの場合に実行される命令文...

} 例:

// 10回ループする  int i, count;

 for ( i = 0; i < 10; i ++ )  {

count ++;

 }

注意:条件式を省略した場合、for文は無限ループになりますので ご注意ください。またCAPLではWaitのためのfor文は使用でき ません。

ステートメント 説明 一般的な形式

15

BREAK

CONTINUE

RETURN

break文はswitch、do-while、while、forの繰り返し文の中で ループから抜け出すために用います。

continue文は、switch、do-while、while、forの 繰り返し文の 中で、ループ中の残りの処理をスキップして、ループの先頭に戻 ります。

return文はユーザー定義の関数で、イベントプロシージャーに値 や式の値を返す場合に使用します。

return文は、ループの中に引数がない場合、ループを抜けること もできます。

例はSWITCH文参照

例:

 int x;

 while ( x != 0 )  {

  doThis (x);

  if( x == 4 ) continue;

  doThat (x);

 } 例:

  long Power( int x, int y )  {

int i;

long result;

result = 1;

for ( i = 1; i <= y; i++ ) result *= y;

return result;

 }

ステートメント 説明 一般的な形式

16

ベクター・ジャパン株式会社 カスタマーサポート部

ベクターのカスタマーサポートは、ベクターのCANoeCANalyzerCANapeをはじめ、各種ハードウェア 製品をお使いいただく際の技術的なお問い合わせ窓口となっております。

ベクターWebサイトでは、技術サポートに関する情報やFAQなどを掲載しておりますので、是非ご覧くだ さい。

CAPLのさらなる詳細や実践的な知識について学びたい方のために、ベクターではCAPL関連のトレーニ ングも開催しておりますので、そちらも是非ご利用ください。

執筆者

ベクターのトレーニング

リンク:

ベクター「技術サポート」ページ

https://vector.com/vj_support_jp.html

ベクター「トレーニング」ページ www.vector-japan.co.jp/training ベクター・ジャパン

www.vector-japan.co.jp

12 月に『人とくるまのテクノロジー展 2014 名古屋』出展

ベクターは、来たる12月11日(木)~12日(金)にポートメッセなごや(名古屋市国際展示場)にて開催される『人とくるまのテクノロ ジー展2014 名古屋』に出展いたします。本イベントの最新情報につきましては、下記URLをご参照ください。

『人とくるまのテクノロジー展2014 名古屋』

◎会期: 2014年12月11日(木) 10:00~20:00/2014年12月12日(金) 10:00~17:00

◎会場: ポートメッセなごや(名古屋市国際展示場)

◎URL: 「人とくるまのテクノロジー展」 オフィシャルサイト http://expo.jsae.or.jp

News from Vector

News from Vector

6 月に『 Vector TechDay in OSAKA 』を 開催しました

ベクターは、2014年6月に大阪にて、「Vector TechDay in

OSAKA」と題してセミナー形式のイベントを開催しました。次

世代車載ネットワーク、AUTOSAR、ASAMといった自動車業 界で注目のトピックに関する講演を実施し、ヤマハ発動機株式 会社様によるCANoe導入事例やECUテストの自動化など 開発業務の効率化についての講演も行われました。ご多忙の 折にもかかわらず多くのお客様にお越しいただき、盛況のうち に執り行うことができました。ご来場くださいました皆様、誠に ありがとうございました。

10 月に『 AUTOSAR Roadshow 』を 開催しました

ベクターは、10月14日(名古屋)、10月16日(東京)の日程にて

『AUTOSAR Roadshow 2014』を開催しました。本イベント

は、AUTOSAR開発の最新情報をセミナー形式でお届けする

弊社主催のイベントで、今年で3回目の開催となりました。今回 は、ビー・エム・ダブリュー(BMW)株式会社様、パナソニック株 式会社様による講演に加え、ISO 26262、車載Ethernet、テス ト効率化などの業界注目トピックとAUTOSAR開発との関連に ついてベクターが講演を実施しました。今回も多くのお客様に お越しいただき、おかげさまで盛況のうちに終えることができ ました。ご来場いただきました皆様に心より厚く御礼申し上げ ます。

www.vector-japan.co.jp

11 月に『 Vector TechDay in FUKUOKA 』開催

ベクターは、11月13日(木)に福岡にて「Vector TechDay in FUKUOKA」と題したセミナー形式のイベントを開催します。本イベント では、CANoe/CANalyzerの基本操作、CAPL基礎をはじめ、ECUテストの工数低減、EthernetやCAN FDなどの次世代車載ネット ワークについてのセミナーを実施します。本イベントは事前お申込み制となっており、すでに多くのお客様にお申込みいただきました。

誠にありがとうございます。当日、皆様のご来場をお待ちしております。

『Vector TechDay in FUKUOKA 2014

◎会期: 2014年11月13日(木) [セミナー] 9:30~17:10 [展示会] 10:00~17:00

◎会場: 福岡市博多区博多駅東1-16-14 リファレンス駅東ビル5F (JR博多駅 筑紫口より徒歩約4分)

「 CANoe/CANalyzer バージョン 8.2 (日本語版)」リリース

ベクターの車載ネットワーク開発・テストツール「CANoe」および解析ツール

「CANalyzer」の最新バージョン「CANoe/CANalyzerバージョン8.2(日本語 版)」が7月にリリースされました。

 バージョン8.2の主な特長は以下のとおりです。

 SOME/IP PDUを表示

 使いやすくなったトレースWindowおよびグラフィックWindow

 オプションSCOPEがFlexRayに対応開始

最新情報や詳細については、ベクターWebサイトをご覧ください。

「 CANape 」バージョン 13.0 (日本語版)」リリース予定( 2014 10 月~ 11 月頃)

ベクターの「CANape」は、測定データの取得だけでなく、ECU開発、

キャリブレーション、診断にも使用できるECUキャリブレーション用万 能ツール。その最新バージョン「CANapeバージョン13.0(日本語 版)」がリリースされました。

 バージョン13.0の主な特長は以下のとおりです。

 強力な印刷機能とレポート機能

 統計解析手法を簡単にコンフィギュレーション

 リアルタイム性のあるVN8900インターフェイス上でスタンドア   ローンのバイパス実行が可能

 VN5610インターフェイスと連携してSOME/IPおよびAVBを含   む車載Ethernet(BroadR-Reach®)に対応

最新情報や詳細については、ベクターWebサイトをご覧ください。

「 vTESTstudio バージョン 1.1 」リリース

ベクターのテスト設計ツール「vTESTstudio」の最新バージョン1.1がリリースされました。

 バージョン1.1の主な特長は以下のとおりです。

 試験対象システム(SUT)のスティミュレーションカーブをグラフィカルに定義する波形エディター

 さらなる再利用性および可読性の向上を実現するため、サブダイアグラムによりテストダイアグラムを構造化  抽象的なテストケース定義とテストベクターごとの具体的なパラメーター値に基づいたテストケースリストを定義  IBM Rational DOORSと完全に連携可能

 テストユニットウィンドウ内でのC#やCAPLコードのデバッグ 最新情報や詳細については、ベクターWebサイトをご覧ください。

YouTube で「ベクター・ジャパン チャンネル」を公開中

ベクター・ジャパンは、公式YouTubeチャンネルとして「ベクター・ジャパン チャンネル」を公開しております。CANoe/CANalyzerの 機能紹介や、お客様から要望の高いECUテストソリューション、VTシステム概要などの製品・ソリューション動画を配信していますの で、是非ご覧ください。

制御パネル、表示パネル、解析WindowトレースWindow 表示したCANoeユーザーインターフェイス

さまざまなWindowを備えたCANapeのユーザーインターフェイス

■ベクター・ジャパンHP    主要製品    CANoe(およびCANalyzer  CANoeバージョン8.2 www.vector-japan.co.jp/canoe  CANalyzerバージョン8.2 www.vector-japan.co.jp/canalyzer

■ベクター・ジャパン チャンネル  https://www.youtube.com/user/vectorchanneljapan

■ベクター・ジャパンHP    主要製品    CANape  CANape  www.vector-japan.co.jp/canape

■ベクター・ジャパンHP    主要製品    vTESTstudio  vTESTstudio  www.vector-japan.co.jp/vTESTstudio

※リリース日は予告なく変更になる場合もございます。

関連したドキュメント