汎用IO通信テストハンドシェイク(制御側)
テンプレート説明
TC-3000から信号またはコマンドを送信し、テスト対象機器からの応答を照合します。出力及び入力は各々IOまたはUARTを独立に選択できます。
-
1
信号/コマンド送信と応答待ちの同時開始
送信方法の選択に従い、GPOパルス出力またはUARTコマンド送信と、応答待ちを同時に開始します。即時応答の取りこぼしを防ぎます。 -
2
応答照合
①と同時に開始した応答待ちで、IOモードはタイムアウト時間内に応答エッジが検知できなければFAIL、UARTモードはタイムアウト時間内に受信したレスポンスを期待値と照合します。 -
3
N回繰り返し
①②を試行回数分繰り返し、最後にPASS/FAILを集計してログ出力します。
・スロット1:DIOユニット(TC-IFDIO) ※1
・GPI/GPO:RIOユニット(TC-IFRIO)も利用できます。※2 ※3
・UART通信:DIFユニット(TC-IFDIF)またはCOMユニット(TC-IFCOM)でも利用できます。※2
※1 ユニットを別スロットへ変更する場合、ユニット設定のスロット割り付け変更を行うことで、設定値などを引き継ぎ可能です。
※2 スロットにユニットを取り付け・配線し、スクリプトのスロット設定を変更してください。
※3 RIOユニットは周期を100µs以上で設定ください。
接続図
TC-3000のGPOからREQ(送信信号)をテスト対象機器に送り、テスト対象機器からのACK(応答信号)をGPIで受け取ります。
※ 接続図はIO(GPO/GPI)使用時の例です。送信方法・応答受信方法を "UART_CMD"/"UART_RESP" に変更することで通信(UART等)でも同様の動作が可能です。
※必ずGNDは接続してください。
タイミングイメージ
GPOからREQを立ち上げると同時にGPIのACK応答エッジ待ちを開始し、応答検知後に次サイクルへ進む流れを示します。
IOモード(GPOパルス→GPIエッジ待ち)の例。応答待ちタイムアウトを超過するとFAIL。
設定変数
全設定変数を記載しています。実機の仕様に合わせて変更してください。
|
変数名 |
内容 |
初期値 |
||||
|
|
IOに使用するユニットのスロット番号。使用するユニットに応じて変更。 |
|
||||
|
|
UART通信に使用するユニットのスロット番号。使用するユニットに応じて変更。 |
|
||||
|
|
REQを送信するGPOチャンネル(送信方法がGPOパルスの場合に使用) |
|
||||
|
|
ACK応答を受信するGPIチャンネル(応答受信方法がGPIエッジの場合に使用) |
|
||||
|
|
UART送受信に使用する通信チャンネル(送信または受信のいずれかがUARTの場合に使用) |
|
||||
|
|
送信方法の選択。
|
|
||||
|
|
応答受信方法の選択。
|
|
||||
|
|
ハンドシェイクを繰り返す試行回数 |
|
||||
|
|
GPI応答待ちのタイムアウト時間 (ms)=仕様上の最大応答時間。超過するとFAIL |
|
||||
|
|
送信方法がGPOパルスの場合のパルス幅 (ms) |
|
||||
|
|
GPI応答待ちのエッジ方向。 |
|
||||
|
|
送信方法がUARTコマンドの場合に送信するバイト列 |
サンプル有 |
||||
|
|
応答受信方法がUARTレスポンスの場合の期待バイト列 |
サンプル有 |
||||
|
|
応答受信方法がUARTレスポンスの場合の受信バイト数 |
|
||||
|
|
UARTレスポンス受信のタイムアウト時間 (ms)=仕様上の最大応答時間 |
|
判定条件
各サイクル実行後に取得した応答が以下の条件を満たした場合にPASSと判定します。
|
判定項目 |
合格条件 |
|
GPI応答エッジ(IOモード) |
応答待ちタイムアウト時間内に、指定方向のエッジが検知できること |
|
UARTレスポンス値(UARTモード) |
受信タイムアウト時間内にレスポンスが受信でき、その内容がUART期待値(バイト列)と一致すること |