リアルタイム組み込みシステムプラットフォーム用の自動テストツール

1.機器構成

ETest_RTシステムは、主にハードウェア部分とソフトウェア部分で構成されています。ハードウェア部分は、上部のコンピューターとリアルタイムの下部のコンピューターで構成され、上部のコンピューターは市販のポータブルコンピューターを使用し、下部のコンピューターはPXI測定および制御コンピューターを使用します。上のコンピューターはWindowsオペレーティングシステムをインストールし、機器リソース管理、テストデザイン、テストスケジューリングを実行し、サーバー、データセンターを実行し、クライアントを実行し、リアルタイムアクションダウンロードデバッガーを実行します。下のコンピューターはリアルタイムオペレーティングシステムをインストールします。ローダーモジュール、リアルタイムプロセスモジュール、アップローダーモジュールを実行します。下部のコンピューターは、さまざまなPXIインターフェイスボードを介してテスト対象のシステムに接続されます。ETest_RTシステムのハードウェア構造の概略図を次の図に示します。
ここに画像の説明を挿入します
ETest_RTは、コンポーネントベースの階層化されたソフトウェア開発フレームワークを採用しています。基盤となるソフトウェアコードは、GCC / CMake開発環境に基づいており、C ++言語で開発されています。上位レベルのソフトウェア統合フレームワークは、Micosoft VisualStudio開発環境に基づいています。 C#言語で開発されました。階層構造。
このシステムは、ハードウェアからユーザーへの抽象化レベルを徐々に向上させるように設計されており、アプリケーション層、管理層、変換層、実行層に分かれています。
アプリケーション層:ユーザーがテストビジネスを処理します。上記に加えて、システムの基盤となる実装テクノロジーからユーザーを保護し、ユーザーがシステムの技術的な詳細に注意を払うことなく、テスト自体に集中できるようにします。次に、さまざまなデータを呼び出し、テストスクリプトを公開し、テストの開始または停止を指示します。
管理層:システムは、アプリケーション層でユーザーからの指示を受け取り、論理単位に従ってテストアクションをスケジュールおよび調整します。上部では、アプリケーション層のシステムの展開の詳細をシールドするため、展開の違いのためにアプリケーション層を変更する必要はありません。下部では、データと命令をさまざまなコンポーネントに配布します。
変換レイヤー:システムは、論理概念の物理エンティティへのマッピングと変換を完了します。上部では、管理層の物理デバイスの作業の詳細を保護し、論理ユニットで編成されたデータを提供します。下部では、実行層に特定のハードウェア操作命令を発行します。
実行層:システムは実際の物理アクションを実行します。上部には、物理​​デバイスの入力データとステータス情報が報告され、下部には、ハードウェアを操作して、テスト対象のシステムと対話します。
ソフトウェアは、設計状態と実行状態に分けられます。システムが設計状態で動作する場合、ソフトウェアとハ​​ードウェアの完全な展開を実行する必要はありません。これは、テストシナリオの計画、テスト計画の設計、テストケースの作成、テストスクリプトの作成、テストデータの準備、およびデータ監視の設計に使用されます。
システムが実行状態で動作しているときは、テスト計画の設計要件に従って、関連するソフトウェアとハ​​ードウェアを展開する必要があります。これは、テスト計画の実装、テストケースの実行、テストアクションの実行、リアルタイムデータの監視、テストレポートの取得、およびテスト結果の取得に使用されます。実行状態は、DUTとユーザーの間に配置された位置に応じて、制御側と実行側に分けることができ、作業時に手動で監視する必要がありません。
ここに画像の説明を挿入します
ETest_RTプラットフォームを使用して機器組み込みシステムソフトウェアをテストする手順は次のとおりです(図3-3を参照)。
まず、機器リソースマネージャーを使用して機器リソースを計画し、テスト設計ソフトウェアを使用してテスト対象システムを構築します。テストケースとデータ、テスト計画ファイルを作成します。
テストスケジュールがテスト計画にロードされた後、サーバー、データセンター、およびデータモニターが起動および操作されます。
実行中のサーバーは、テストスクリプトを解析して、テストプロセスリソースを形成します。テストプロセスリソースは、リアルタイムの上位コンピューターサブシステムによってコンパイルおよびリンクされ、リアルタイムの下位コンピューターにダウンロードされます。
リアルタイムの下位コンピューターは、リアルタイムスクリプトをロードし、パラメーター設定を通じてリアルタイムプロセスを形成します。テスト中、リアルタイムプロセスは、PXIバスの形式で、さまざまなボードを介してテスト対象のシステムと対話します。
テスト実行プロセスでは、リアルタイムの下位コンピューターがリアルタイムの上位位置に進みます。コンピューター部分はあらゆる種類のデータをデータセンターに報告し、データセンターはあらゆる種類の操作データをデータモニターとディスパッチングワークベンチに配布します。
テスト中、テストデータは、テストデータの記録および表示ソフトウェアとテスト監視ソフトウェアを介して監視、分析、および評価できます。
ここに画像の説明を挿入します

2.各モジュールの主な機能

(1)ハードウェア部分

ハードウェアは、上部のコンピューターとリアルタイムの下部のコンピューターで構成されています。上部のコンピューターは市販のポータブルコンピューターを使用し、下部のコンピューターはPXI測定および制御コンピューターを使用します。インターフェイスボードは、PXIインターフェイスを介してテスト下部コンピュータに直接接続され、複数のタイプのインターフェイスの要件を満たすことができるテスト環境を形成します。主なハードウェア部品の指標は次のとおりです。

①PXIシャーシ

システムスロット1つ、トリガーバストリガースロット1つ、PXI /コンパクトPCIペリフェラルスロット7つを備えたコンパクト9スロットPXIシャーシ0
°C〜 + 50°Cの広い温度動作範囲
41.6dBA超低動作ノイズ
インテリジェントシャーシ管理
5.9kgの軽量アルミニウム/スチール構造
サイズ:280mm×177mm×
303mm350W産業用AC電源
電源、温度、ファン監視LED

②PXIコントローラ

Intel®Core™2Duo P84002.53GHzプロセッサVGA
+ DVIデュアルディスプレイのサポート
デュアルチャネルDDR3SODIMM16GB
最大システムスループット132MB /秒
統合SATAハードディスク250G
統合I /
Oプログラム可能なウォッチドッグタイマー

③1553Bバスボード

デュアルチャネル多機能、各チャネルはデュアル冗長AおよびBチャネルです
1M/ 2M / 4Mbpsおよびユーザー定義のボーレートをサポートし
ますフレーム間隔およびメッセージ間隔時間はソフトウェアで設定できます
タイムスタンプ、解像度1μsをサポートします
セルフテスト、エラーインジェクションの
サポート割り込みと外部トリガーのサポート
BCモード(バスコントローラー)
BCフレームプログラム可能 
メッセージ間隔プログラム可能
非周期的メッセージを動的に挿入可能
データダブルバッファー
プログラム可能
BusA、BusBオプション
サポートブランチジャンプメッセージ
エラーインジェクションのサポート
RTモード(リモート端末)
シングルデータバッファ
ダブルデータバッファ
サブアドレスサイクルデータバッファ
プログラム可能なコマンドが無効
エラーインジェクションのサポート
BMモード(バスモニタ)
100%メッセージロギング
監視データのプログラム可能なフィルタリング
受信タイムスタンプ

④ARINC429バスインターフェースボード

チャネル数:チャネル数の柔軟な構成、最大8つの送信と8つの受信
通信速度:100Kbps、12.5Kbps、50Kbps、48Kbps、98Kbps
ワード間間隔:4ビット、プログラム可能

⑤CANバスボード


2チャンネル通信速度:1Kbps〜1Mbpsのボーレートをサポート
双方向送信、CAN送信およびCAN受信を
サポートCAN2.0AおよびCAN2.0Bプロトコルと互換性がある

⑥RS232/ RS485 / RS422バスインターフェースボード

チャンネル数:チャンネル数を柔軟に設定、最大4チャンネル
通信速度:最大
8Mbps通信プロトコル:RS232 / 422/485(ソフトウェア設定)

△アナログ入力AD

8チャンネルの並列サンプリングADC
分解能:16ビット
最大サンプリングレート:100KS /s
測定範囲のプログラム制御
容量ストレージ:4MSa /チャンネル

⑧アナログ出力DA

8チャンネルアナログ出力
DAC解像度:16ビット
16チャンネルTTL / COMSデジタルIO、入出力をプログラム可能
2チャンネル32ビットカウンター

⑨デジタル入出力

32チャネルTTL / COMSレベル互換デジタルI /
O各チャネルは光学的に分離されてい
ます
最高の伝送速度は1MHzです大容量記憶装置4MB /チャネル

⑩ホストコンピューター

CPU:デュアルコアi5-6200U2.3GHz
メモリ:DDR4 2133MHz、8GB
ソリッドステートドライブ:256GB
ディスプレイ画面:14インチ、解像度1920 *
1080独立したビデオメモリ:2GB

(2)設計ワークベンチ

設計ワークベンチは、テスト対象のシステムとその外部インターフェイスをモデル化し、プロトコルの編集と分析を実行し、テストモニタリングを作成し、ハードウェアプランニングを確立し、テストケースを作成および管理し、テスト用に準備するインターフェイスデバイスの数を決定します。その主な機能は次の
とおりです。テスト計画管理の実行、テスト計画の操作には、計画の作成、計画のオープン、および計画の保存が含まれます。
各テスト計画には1つ以上のテスト項目を含めることができます。複数のテスト項目が存在することで、各テスト計画は複数のテスト項目の設計を完了でき、複数の構成項目のシステムへの統合テストが容易になります。
テストプロジェクトには、属性の作成、名前変更、削除、および表示の操作があります。
RS422、1553B、CAN、AD、DA、DI、DO、CT、Freq-CTなどのインターフェイスの数とタイプを含め、テスト対象のシステム、周辺システム、およびテスト対象のシステムの外部インターフェイスをグラフィカルに記述します、TCPおよびその他のタイプ。インターフェイスパラメータを設定できます。
インターフェイスプロトコルを作成し、プロトコル記述言語を使用して、パケットヘッダー、パケットテール、チェックなどのプロトコルを記述し、各フィールドタイプとエンコード方法、および分岐、ループ、その他の構造を記述します。
さまざまなデータ通信のニーズを満たすために、プロトコルフィールドには、整数(符号なしおよび符号付き、8ビット/ 16ビット/ 32ビット/カスタム長)、浮動小数点型、ブール型、条件付きステートメント型、分岐ステートメント型、計算フィールド、チェックフィールド、配列フィールド。
テスト監視を作成し、監視内容とリアルタイムデータ監視の表示形式を記述し、アラーム条件を設定します。
ユーザーは、テスト監視モジュールにテスト監視を追加し、監視パネルにデータ監視機器を追加し、さまざまなタイプの監視機器を介して特定の式に従ってプロトコルフィールドまたはフィールド計算結果をバインドし、ポインターまたは値を監視できます。動作中の機器のデータの変化は、テスト通信中のデータの変化を視覚的に示します。
テスト監視ツールバーは、デジタルメーター、ディスクメーター、グラフ、列挙型などを含むすべてのテスト監視機器を管理します。適切な監視機器を選択し、監視パネルの適切な位置にドラッグして、監視機器を監視パネルに追加します。監視機器の端をマウスでドラッグして、サイズを調整します。
[プロパティ]タブを開くと、テスト機器のプロパティを変更できます。最も重要な属性は「プロトコルセグメント」属性であり、監視機器のデータソースを示します。
[プロトコルセグメント]プロパティの右側にある展開ボタンを使用すると、[バインドデータプロトコル]ダイアログボックスを開くことができます。このダイアログボックスには、現在のプロジェクトのシミュレーションモデルのすべてのプロトコルとプロトコルセグメントが表示されます。
テスト機器のデータソースは、プロトコルフィールド、または複数のプロトコルフィールドで構成される式のいずれかです。
[データプロトコルのバインド]ダイアログボックスの下部にある入力ボックスに、プロトコルフィールドまたはプロトコルフィールドで構成される式を入力します。目的のフィールド名をダブルクリックして、カスタム数式のカーソル位置にフィールド名を追加します。
テストハードウェア計画を作成し、テストに使用するインターフェイスボード機器、およびインターフェイスボード機器に対応するリソースを決定します。
テストケースを作成し、グループ化、削除、名前の変更など、テストケースの管理方法を提供します。
変数定義、条件ステートメント、ループステートメント、出力ステートメント、数学演算、関数定義などを含む、テストプロセスを記述するためのテストスクリプトの使用を含む、テストケースの作成内容。
テストスクリプト用の拡張インターフェイスを提供します。これにより、DUTへのデータの相互作用と自動データ分析を実現し、ビットストリームを意味のあるユーザーデータに解析できます。
タイミング制御の方法を提供し、特定のタイミングに従って指定された操作を実行できるようにします。
動作環境の設定方法を提供し、テスト運用時にシミュレーションモデルサーバー、データセンターサーバー、テスト実行サーバー、クライアントのIPアドレスとポート番号を設定します。
標準入力および出力監視を構成する機能を提供し、標準入力および出力監視のタイプ構成を決定します。
ユーザーが選択したテストスクリプトを実行できるテストスクリプト実行モードを提供します。ユーザーは、スクリプトの実行を終了することを選択できます。
出力情報とエラー情報を表示できます。

(3)サービスソフトウェアをテストして実行します

テスト運用サービスソフトウェアには、テストディスパッチステーション、運用サーバー、データセンターが含まれ、クライアントソフトウェアと連携して、テストデータを駆動し、自動テスト実行を実行します。主に次の機能を実現します
。テスト設計ソフトウェアの設計に従って、プロセススケジューリングエージェントの助けを借りて、プロセススケジューリングサービスのバックグラウンド実行プログラムを提供し、テストホスト上でテスト実行、クライアント、サーバー、およびその他のプロセスを開始します。プロセススケジューリングサービスを介した調整各ソフトウェアの操作ロジック。
シミュレーションモデルサーバーのバックグラウンド実行プログラムを提供し、シミュレーションモデルサーバーを介してテスト設計によって確立されたシミュレーションモデルを分析し、テスト実行中にデータを送受信するシミュレーション分析サービスを実現します。
データセンターサーバーのバックグラウンド実行プログラムを提供します。テストケースの実行中、データセンターサーバーはチャネル内の受信と送信の受信を一元的かつ均一に処理して、データ監視の分散実現を保証します。
テストデザインに記述されたテストケースの実行プロセスを分析および処理するためのユースケースサーバーのバックグラウンド実行プログラムを提供します。
シミュレーションモデルサーバー、データセンターサーバー、クライアントプロセス、およびユースケースサーバーの実行中にデバッグ情報を表示できる標準の入力および出力監視ウィンドウプログラムを提供します。
テストスクリプト内の変数定義、条件文、ループ文、出力文、数学演算、関数定義、およびその他の文を分析し、対応する操作を実行します。
テストスクリプト拡張インターフェイスを分析して、テスト対象システムへのデータ送受信とデータ分析を実現します。
テストスクリプトを分析し、タイミング制御要件に従って操作します。
テスト開始時にすべての入力データを記録し、テスト中にすべての入出力データを記録し、テストの完了後に要約レポートを自動的に生成します。
ユーザーの要件に応じて、テストケースの実行をただちに停止します。
テストケースの実行結果を記録して表示します。

(4)クライアントとデータモニターを実行します

実行中のクライアントは、テスト実行サーバーとホストコンピューターの間にあり、通信エージェントを実行し、データ転送とクライアントテストプロセスの管理と制御を担当し、ホストコンピューターの環境データを抽出します。データモニターは、現在のテストデータを仮想機器またはグラフの形式で表示します。2つのモジュールは、主に次の機能を実装します
。リアルタイムサブシステムを管理し、リアルタイムサブシステムと実行中の制御端末間の接続関係を確立します。
リアルタイムサブシステムの運用リソースを提供します。
テストサービスソフトウェアにログインすると、テスト設計ソフトウェアによって設計されたすべてのテスト監視インターフェイスが表示され、テスト監視用に1つ以上のテスト監視パネルを選択できます。
指定されたテスト監視を実行し、テスト実行中に指定されたテストデータをリアルタイムで表示し、デジタル機器、ダッシュボード、列挙項目、グラフなどのデータ監視方法を提供します。
テスト実行中のテストデータをリアルタイムで
表示できます。テストデータを解析済みプロトコルデータ形式で表示できます。または、テストデータを2進数、8進数、16進数で表示できます。
データフィルタリング条件を設定して、特定のデータをインターフェースに表示する機能を実現できます。
データアラーム条件を設定できます。特定の特性データが表示されると、ソフトウェアはアラーム条件を満たすデータを目立つ形で表示します。
データをクエリしたり、特定の期間のメッセージをクエリしたり、特定のプロトコルフィールドのデータをクエリしたりできます。
指定したデータの統計を実行したり、データ曲線グラフを表示したりできます。

(5)機器リソース管理

機器リソース管理ソフトウェアモジュールは、システムでサポートされているテスト機器とチャネル管理機能を提供し、システム機器を拡張するためのインターフェイスを提供します。主に以下の機能を実現します
。システム機器の追加と削除。
システム機器の数を変更します。
デバイスに含まれるチャネルを追加および削除します。
デバイスに含まれるチャネルの数とタイプを変更します。
デバイス情報をデバイスリソースファイルに保存し、テストデザインソフトウェアで使用します。

(6)実行のリアルタイム上位コンピュータは実行モードで終了します

実行状態の実行終了は、リアルタイム上位コンピューターとリアルタイム下位コンピューターを含む、リアルタイムパフォーマンスを実現するための重要なサブシステムです。その形式を次の図に示します(破線のボックスはシステムの他の部分です)。
ここに画像の説明を挿入します
リアルタイムホストコンピューターには、環境管理、コンパイラー、ダウンロードデバッガー、データフォーマットなどのモジュールがあります。
環境管理モジュールは、すべての入力メタデータを管理します。これらのデータは、スクリプト分析とデータフォーマットに使用されます。環境管理の設計は、統合の原則によって要求されます。環境データは現在、次のカテゴリで知られています:機器計画、プロトコルの説明、シミュレーションモデル、およびアクションスクリプト。
包括的な環境管理によって提供されるメタデータであるコンパイラは、下位コンピュータのリアルタイムオペレーティングシステムで実行できるバイナリコードをコンパイルおよび生成します。主な編集作業は設計状態で完了しているので、ここでは主にリンクしています。コンパイラ作業の主な内容は次のとおりです。「リアルタイムアクションスクリプト言語」オブジェクトとしてテストモデルを抽出する、グローバル最適化、シミュレーションモデル、プロトコル記述言語、RASLの3つの部分をリンクし、メインフレームを結合してリアルタイムプログラム。システムが配置されたときデバッグ時に、デバッグ情報を埋め込みます。
デバッガーをダウンロードし、コンパイラーのコンパイル結果を下位コンピューターに送信します。システムがデバッグ状態になると、リアルタイムアクションスクリプトがデバッグされます。デバッガーは、リモートデバッグ、プログラムのロード、プログラムのフック、手動による中断、ブレークポイントの設定、変数の監視、およびシングルステップ実行の機能をサポートしています。
データのフォーマット。データセンターにアップロードされたデータをフォーマットします。主に環境管理データを使用して、名前や構造などのメタデータを復元します。

(7)実行モードのリアルタイム下位コンピュータが実行モードで終了します

実行状態の実行終了のリアルタイム下位コンピューターには、ローダー、リアルタイムプロセス、アップローダーなどのモジュールが含まれます。
下位コンピューターのローダーは、上位コンピューターからプログラムを受け取り、環境を設定し、コードをロードして開始します。ホストコンピュータからプログラムを閉じるように通知する指示を受け取ることができます。システムがデバッグ状態になったら、上位のコンピューターデバッガーが接続するためのデバッグスタブを開始します。
下位コンピューターのリアルタイムプロセスは、ローダーによって生成され、上位コンピュータープログラムを開始します。これにより、特にリアルタイムテストアクションが完了します。リアルタイムプロセスのコードのメインフレームは固定され、静的ライブラリの形式でホストコンピュータのコンパイラに格納されます。メインフレームにシミュレーションコードを埋め込み、アクションコードをテストした後、完全なプログラムが形成されます。したがって、リアルタイムプロセスには、ローダーのクローズコマンドを受信し、関連データをアップローダーに送信する機能など、普遍的な基本的な通信機能があります。システムがデバッグモードの場合、リアルタイムプロセスには必要なデバッグコードが含まれます。
下位コンピューターのアップローダーは、リアルタイムプロセスからデータを受信し、それを上位コンピューターに非同期でアップロードします。

(8)補助ツール

ツールソフトウェアは、主に次のソフトウェアモジュールを含む、組み込みシステムテストに一般的に使用されるソフトウェアツールを提供します
。カーブデータ生成ツール:カーブデータ編集、座標選択、カーブデータ読み取り、カーブデータストレージおよびその他の機能を備え、テスト実行ソフトウェア、テストデータの生成方法を提供します。
テストデータ記録および表示ツール:テスト実行中に、プロトコル選択、データフィルタリング、アラーム条件設定機能など、テスト実行後の表示および分析のためにテスト実行データを記録できます。
アプリケーションプロトコル生成ツール。アプリケーションプロトコルの表形式の編集機能を提供し、プロトコルのフィールド構成、フィールドタイプ、フィールドのデフォルト値などを設定できます。
CRCプラグイン診断およびCRCプラグインジェネレーター:CRCチェックアルゴリズムの設計機能を提供し、カスタムCRCアルゴリズムを設計し、その正当性を診断し、最後にプロトコル記述言語でCRCフィールドアルゴリズムプラグインを形成します。

おすすめ

転載: blog.csdn.net/weixin_45013592/article/details/113058432