その他テスト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 で テスト対象機器 の応答電圧を測定します。

TC-3000 AIOユニット(TC-IFAIO) V_OUT ステップ電圧出力 V_IN テスト対象機器 応答測定 テスト対象機器 テスト対象機器 IO アナログ入力 ステップ電圧入力 アナログ出力 テスト対象機器 応答電圧 ① ステップ電圧出力 ② 応答電圧測定

 ※必ずGNDは接続してください。

処理フローイメージ

Windows側のPythonがCSVファイルを読み込み、TC Suite Luaスクリプト側が受信したステップ表を順に実行します。

Windows側 CSVファイル テストステップ表 Python CSV読み込み・書式チェック ステップ表を転送(Processライブラリ経由) TC Suite Luaスクリプト側 ステップ表受信 ステップごとに繰り返し AO出力 待機 AI測定(平均) 期待範囲判定 次のステップへ 全ステップ完了 PASS/FAIL集計・ログ出力

CSVファイル形式

1行が1ステップに対応します。文字コードはUTF-8とShift-JIS(Excel保存のCSV)の両方に対応しています。1列目が数値でない行(ヘッダー行・コメント行)はスキップされます。

列名

内容

output_v

AOから出力する電圧 (V)。ユニット設定の出力電圧範囲内であること。※1

wait_ms

出力後、測定開始までの待機時間 (ms)。テスト対象機器の応答が安定するまでの時間を設定します。

expect_min

応答電圧の期待範囲下限 (V)

expect_max

応答電圧の期待範囲上限 (V)

desc

ステップの説明(省略可)。判定ラベル・ログ出力に使用します。省略時は出力電圧から自動生成します。

記載例:

output_v,wait_ms,expect_min,expect_max,desc 0.0,100,0.0,0.5,ゼロ入力時の応答 2.5,100,1.4,1.6,中間入力 5.0,100,2.9,3.1,定格入力 7.5,100,4.4,4.6,過大入力側

※1  数値欄に不正な値がある場合や列数が不足している場合は、行番号付きのエラーがログモニターに出力され、テストが停止します。

※2  サンプルのtest_steps.csvがテンプレートフォルダに同梱されており、CSV_PATHの初期値はこのファイルを指しています。テスト内容を編集する場合は、CSVを任意の場所にコピーして編集し、CSV_PATHをそのパスに変更することを推奨します。

設定変数

全設定変数を記載しています。実機の仕様に合わせて変更してください。

変数名

内容

初期値

SLOT

使用するユニットのスロット番号。使用するユニットに応じて変更。

AIO1

AIO_OUT_CH

ステップ電圧を出力するチャンネル

V_OUT1

AIO_IN_CH

テスト対象機器の応答電圧を測定するチャンネル

V_IN1

AVERAGE_SAMPLES

応答測定で平均するサンプル数。ノイズ・リップルの影響を低減します。
(サンプリング周期1msの場合、10サンプル = 10ms分)

10

PYTHON_EXE

Python実行コマンド。PATHが通っていない場合はフルパスに変更。

python

CSV_PATH

読み込むCSVファイルのパス。初期値はテンプレートに同梱されたサンプル(インストール先テンプレートフォルダ内のtest_steps.csv)を指します。

同梱サンプル
のパス

READ_TIMEOUT_MS

Pythonからの応答待ちタイムアウト (ms)

10000

判定条件

各ステップで測定した応答電圧が以下の条件を満たした場合に PASS と判定します。

判定項目

合格条件

応答電圧(平均値)

CSVで指定した期待範囲下限(expect_min)以上、期待範囲上限(expect_max)以下であること

エラー時の動作

以下の場合はエラー内容がログモニターに出力され、テストが停止します。

エラー要因

ログ出力内容

Pythonが起動できない

Pythonのインストール・PYTHON_EXE設定の確認を促すメッセージ

CSVファイルが存在しない

Python側のエラー内容(ファイルパスを含む)

CSVの書式不正(数値欄の誤記・列数不足)

行番号付きのエラー内容

Pythonからの応答タイムアウト

タイムアウト時間を含むメッセージ