アプリケーションでの診断
ECUの状態
デバイスのECU状態は、次の3つの方法でアプリケーションに問い合わせることができます。
<name in device tree>.State
財産 (IoDrvJ1939
図書館)<name in device tree>.GetDeviceState
方法 (CAAデバイスの診断
図書館)このメソッドは特定のJ1939状態を返しませんが、デバイスが実行されているかどうかの情報を返します。間のマッピングテーブル
ECUSTATE
とDEVICE_STATE
のライブラリドキュメントにありますIoDrvJ1939
。
リモートECUの場合:
J1939プロトコルは監視メカニズムを定義していないため、ECU障害はデフォルトでは表示されません。ただし、選択できます 通信ウォッチドッグを有効にする J1939 ECU configuratorで、適切な設定を行います ウォッチドッグ時間。この間にデバイスのパラメーターグループ(コンフィギュレーターで定義する必要があります)が受信されない場合、ECUは存在しないと見なされ、これは状態プロパティによって適宜示されます。ただし、このためには、パラメータグループをコンフィギュレータで定義する必要があります。デバイスのマニュアルでは、デバイスがパラメータグループを送信して正しい時刻を設定する間隔について読むことができます。例:ECUが1秒間隔でPGを送信する場合、 ウォッチドッグ時間 > 1sに設定できます。
診断メッセージDM1およびDM2
DM1およびDM2メッセージの場合、受信用(リモートECUの場合)および送信用(ローカルECUの場合)の機能ブロックは、 IoDrvJ1939
図書館。
DM1_Read
DM2_Read
DM1_Write
DM2_Write
個々のパラメータグループの監視
グローバル通信ウォッチドッグはデバイスのすべてのパラメータグループを監視するため、個々のパラメータグループの障害が検出されない場合があります。このような場合、個々のパラメータグループを監視することは理にかなっています。機能ブロック付き ReceiveWatchdog
、パラメータグループが定期的に受信されているかどうかを確認できます。機能ブロックには、機能ブロックのインスタンスが必要です ReceiveParameterGroup
監視対象のそれぞれのPGNが通信される入力として。
機能ブロックの出力 ReceiveWatchdog
パラメータグループが現在のサイクルで受信されたかどうか、およびタイムアウトが存在するかどうかを示します。
