DncDaqでは開発をサポートするためのデバッグログ機能を有します。
デバッグログ機能及び表示項目について説明します。
デバッグログ機能概要
情報ログ表示内容
イベントログ表示内容
異常ログ表示内容
例外ログ表示内容
デバッグログ機能は、DncDaqのプロパティであるDebugLogTargetを設定することで有効となります。
デバッグログ機能を有効にしていると、デバッグログが追記されるタイミングで画面表示され、デバッグログファイルが保存されます。
デバッグログファイルの保存先及びファイル切り替え行数は、DebugLogFileName、DebugLogFileRecordNumで設定します。
DncDaqの各種処理が正常に処理されたことを示すログです。
プロパティ設定やメソッド実行時に出力されます。
・情報系ログフォーマット
フォーマット |
YYYY/MM/DD HH:MM:SS [INFO] 位置 : [パラメータ] |
ログ例 |
2021/7/28 17:41:00 [INFO] (DncDaq).DiInputBit : 8 |
・情報系ログ表示項目一覧
プロパティ |
説明 |
位置 |
パラメータ |
DaqProperty |
DncDaq プロパティ設定 |
DaqProperty |
set (固定文字列) |
メソッド |
説明 |
位置 |
パラメータ |
DiInputBit |
1ビット入力 |
DiInputBit[DeviceNo] |
入力論理ビット番号 |
DiInputPort |
1ポート入力 |
DiInputPort[DeviceNo] |
入力論理ポート番号 |
DoOutputBit |
1ビット出力 |
DoOutputBit[DeviceNo] |
出力論理ビット番号 |
DoOutputPort |
1ポート出力 |
DoOutputPort[DeviceNo] |
出力論理ポート番号 |
DiInputMultiBit |
複数ビット入力 |
DiInputMultiBit[DeviceNo] |
入力論理ビット番号+指定したビット数 |
DiInputMultiPort |
複数ポート入力 |
DiInputMultiPort[DeviceNo] |
入力論理ポート番号+指定したポート数 |
DoOutputMultiBit |
複数ビット出力 |
DoOutputMultiBit[DeviceNo] |
出力論理ビット番号+指定したビット数+出力データ |
DoOutputMultiPort |
複数ポート出力 |
DoOutputMultiPort[DeviceNo] |
出力論理ポート番号+指定したポート数+出力データ |
DoEchoBackBit |
1ビットエコーバック |
DoEchoBackBit[DeviceNo] |
出力論理ビット番号 |
DoEchoBackPort |
1ポートエコーバック |
DoEchoBackPort[DeviceNo] |
出力論理ポート番号 |
DoEchoBackMultiBit |
複数ビットエコーバック |
DoEchoBackMultiBit[DeviceNo] |
出力論理ビット番号+指定したビット数 |
DoEchoBackMultiPort |
複数ポートエコーバック |
DoEchoBackMultiPort[DeviceNo] |
出力論理ポート番号+指定したポート数 |
AiInputChannel |
1チャネル入力 |
AiInputChannel[DeviceNo] |
チャネル番号 |
AiInputMultiChannel |
複数チャネル入力 |
AiInputMultiChannel[DeviceNo] |
チャネル数 |
AoOutputChannel |
1チャネル出力 |
AoOutputChannel[DeviceNo] |
チャネル番号 |
AoOutputMultiChannel |
複数チャネル出力 |
AoOutputMultiChannel[DeviceNo] |
チャネル数 |
CntStartCount |
カウント開始 |
CntStartCount[DeviceNo] |
チャネル数 |
CntStopCount |
カウント停止 |
CntStopCount[DeviceNo] |
チャネル数 |
CntPresetCount |
カウントプリセット |
CntPresetCount[DeviceNo] |
チャネル数 |
CntZeroClearCount |
カウントゼロクリア |
CntZeroClearCount[DeviceNo] |
チャネル数 |
CntReadCount |
カウント値読み出し |
CntReadCount[DeviceNo] |
チャネル数 |
ErrorString |
エラーコードをメッセージ(⽂字列)に変換 |
ErrorString[DeviceNo] |
エラーコード |
SaveProperty |
プロパティ保存 |
SaveProperty |
ファイルパス |
LoadProperty |
プロパティロード |
LoadProperty |
ファイルパス |
Init |
初期化 |
Init |
なし |
Exit |
終了 |
Exit |
なし |
TaskStart |
タスク開始 |
TaskStart |
タイミング番号 |
TaskStop |
タスク停止 |
TaskStop |
タイミング番号 |
Set8255 |
8255モード設定をチップ単位で設定 |
Set8255[DeviceNo] |
LSIi8255チップ番号 + コントロールワード |
Get8255 |
8255モード設定をチップ単位で取得 |
Get8255[DeviceNo] |
LSIi8255チップ番号 |
Wait |
待機時間設定 |
Wait |
待機時間 |
TaskExecute |
タスク実行 |
TaskExecute |
タスクタイプ+タスク番号 |
ContinuousModeStart |
サンプリング動作開始 |
ContinuousModeStart[DeviceNo] |
入出力方法 |
ContinuousModeStop |
サンプリング動作停止 |
ContinuousModeStop[DeviceNo] |
入出力方法 |
ShowProperty |
プロパティ設定パネル表示 |
ShowProperty |
なし |
PropertyChanged |
プロパティ変更 |
PropertyChanged |
プロパティ名+変更前の値->変更後の値 |
CollectionChanged |
コレクション変更 |
CollectionChanged |
コレクション名+変更前の値->変更後の値 |
自動処理 |
説明 |
位置 |
パラメータ |
start_up |
起動時処理 |
start_up |
なし |
DncDaqでイベントが発生した事を示すログです。
イベント発生時に出力されます。
フォーマット |
YYYY/MM/DD HH:MM:SS [EVENT] 位置 : [パラメータ] |
ログ例 |
2021/08/06 20:23:16 [EVENT] (DncDaq).on_edge : [0] 11 (bit:0 type:Fall) |
・イベント系ログ表示項目一覧
イベント |
説明 |
位置 |
パラメータ |
on_edge |
エッジイベント発生 |
on_edge |
[エッジ番号]+カウント値+(bit:ビット番号 type:方向) |
on_timing |
タイミングイベント発生 |
on_timing |
[タイミング番号]+カウント値 |
on_task_input |
入力タスクイベント発生 |
on_task_input |
タスク番号 |
on_task_output |
出力タスクイベント発生 |
on_task_output |
タスク番号 |
on_aio_continuos_mode_start |
サンプリング開始イベント発生 |
on_aio_continuos_mode_start |
[デバイス番号] |
on_aio_continuos_mode_stop |
サンプリング終了イベント発生 |
on_aio_continuos_mode_stop |
[デバイス番号] |
on_init |
Initイベント発生 |
on_init |
なし |
on_exit |
Exitイベント発生 |
on_exit |
なし |
on_cnt_match |
比較一致イベント発生 |
on_cnt_match |
[デバイス番号]+発生チャネル+比較一致値 |
on_carry_borrow |
キャリーボローイベント発生 |
on_carry_borrow |
[デバイス番号]+発生チャネル+イベント種別(キャリー :1/ ボロー:2) |
本ログは、DncDaq内でエラーと判断した際に出力されます。
デバイス番号、エラー種別、エラーパラメータなどに関しては、エラーイベントについてを参照ください。
フォーマット |
YYYY/MM/DD HH:MM:SS [ERROR] 位置[デバイス番号] : [エラー エラー種別(エラーパラメータ)] |
ログ例 |
[ERROR] (DncDaq).Init[-1] : (Cate)21 (Type)3 (Error)510001 (Param)16 |
本ログは、DncDaq内で例外エラーが発生した際に出力されます。
フォーマット |
YYYY/MM/DD HH:MM:SS [EXEPTION] 位置 : [例外出力メッセージ] |
ログ例 |
2022/02/15 15:00:50 [EXEPTION] (DncDaq).on_aio_continuous_mode_start[0] : オブジェクト参照がオブジェクト インスタンスに設定されていません。 |
通常、発生することはありませんが、例えば以下のような状況で発生する場合があります。
DncDaqイベントハンドラ内で、例外エラーが発生した場合
DncDaqイベントハンドラ内に記述した処理は、DncDaqのコールバック関数として実行されます。
コールバック関数実行中に例外が発生した場合は、Dncが該当の例外メッセージをキャッチし、ログとして出力します。
ログ例では、デバイスNo.0の、OnAioContinuousStartイベント内で、null参照が発生した場合の例を紹介しています。