その他テストPythonスクリプト連携(アナログ入出力特性)
テンプレート説明
TC-3000上のCSVファイルに定義したテストステップ表をPythonで読み込み、各ステップの「AO出力 → 待機 → AI応答測定 → 期待範囲判定」を順に実行します。センサーエミュレートや入出力特性(直線性・境界値)の確認に使用できます。
-
1
CSV読み込み(Processライブラリ + Python)
ProcessライブラリでPC上のPythonを子プロセスとして起動し、CSVファイルからテストステップ表を読み込みます。PythonソースはLuaスクリプト内に埋め込まれているため、外部の.pyファイルは不要です。 -
2
ステップ実行
各ステップの電圧を AO から出力し、指定時間待機後に AI で応答電圧を測定(複数サンプル平均)して、期待範囲内かを判定します。 -
3
全ステップ実行・集計
②を全ステップ分繰り返し、最後に PASS/FAIL を集計してログ出力します。テスト内容の追加・変更はCSVの行を編集するだけで、スクリプトの修正は不要です。
・スロット1:AIOユニット(TC-IFAIO) ※1
※1 ユニットを別スロットへ変更する場合、ユニット設定のスロット割り付け変更を行うことで、設定値などを引き継ぎ可能です。
TC-3000にPython 3がインストールされていて、PATHが通っていること
(コマンドプロンプトで
python --version が実行できること)
接続図
TC-3000 の V_OUT から各ステップの電圧を出力し、V_IN で テスト対象機器 の応答電圧を測定します。
※必ずGNDは接続してください。
処理フローイメージ
Windows側のPythonがCSVファイルを読み込み、TC Suite Luaスクリプト側が受信したステップ表を順に実行します。
CSVファイル形式
1行が1ステップに対応します。文字コードはUTF-8とShift-JIS(Excel保存のCSV)の両方に対応しています。1列目が数値でない行(ヘッダー行・コメント行)はスキップされます。
|
列名 |
内容 |
|
|
AOから出力する電圧 (V)。ユニット設定の出力電圧範囲内であること。※1 |
|
|
出力後、測定開始までの待機時間 (ms)。テスト対象機器の応答が安定するまでの時間を設定します。 |
|
|
応答電圧の期待範囲下限 (V) |
|
|
応答電圧の期待範囲上限 (V) |
|
|
ステップの説明(省略可)。判定ラベル・ログ出力に使用します。省略時は出力電圧から自動生成します。 |
記載例:
※1 数値欄に不正な値がある場合や列数が不足している場合は、行番号付きのエラーがログモニターに出力され、テストが停止します。
※2 サンプルのtest_steps.csvがテンプレートフォルダに同梱されており、CSV_PATHの初期値はこのファイルを指しています。テスト内容を編集する場合は、CSVを任意の場所にコピーして編集し、CSV_PATHをそのパスに変更することを推奨します。
設定変数
全設定変数を記載しています。実機の仕様に合わせて変更してください。
|
変数名 |
内容 |
初期値 |
|
|
使用するユニットのスロット番号。使用するユニットに応じて変更。 |
|
|
|
ステップ電圧を出力するチャンネル |
|
|
|
テスト対象機器の応答電圧を測定するチャンネル |
|
|
|
応答測定で平均するサンプル数。ノイズ・リップルの影響を低減します。 |
|
|
|
Python実行コマンド。PATHが通っていない場合はフルパスに変更。 |
|
|
|
読み込むCSVファイルのパス。初期値はテンプレートに同梱されたサンプル(インストール先テンプレートフォルダ内のtest_steps.csv)を指します。 |
同梱サンプル |
|
|
Pythonからの応答待ちタイムアウト (ms) |
|
判定条件
各ステップで測定した応答電圧が以下の条件を満たした場合に PASS と判定します。
|
判定項目 |
合格条件 |
|
応答電圧(平均値) |
CSVで指定した期待範囲下限( |
エラー時の動作
以下の場合はエラー内容がログモニターに出力され、テストが停止します。
|
エラー要因 |
ログ出力内容 |
|
Pythonが起動できない |
Pythonのインストール・ |
|
CSVファイルが存在しない |
Python側のエラー内容(ファイルパスを含む) |
|
CSVの書式不正(数値欄の誤記・列数不足) |
行番号付きのエラー内容 |
|
Pythonからの応答タイムアウト |
タイムアウト時間を含むメッセージ |