2017-02-20 4 views

答えて

1

メインコントローラから最大6個のPIDを同時に要求できます。 ECUはマルチフレームで応答します。 here私はMCP2515チップのmutliフレームについて回答しましたが、CANプロトコルであるためELM327などの他のチップでも同じであるかもしれませんが、コンテキストだけが異なるかもしれません。

あなたの質問の回答は、1回のリクエストでのみ可能ではありません。多くのロガーデバイスは、すべてのOBDデータを安全に記録するための最低要求時間として1Hzを考慮し、1Hz未満で動作するかどうかを判断します。

最初にMode 1 PID 00を要求し、1つのメッセージで応答し、ECUがOBDに対してビット単位でサポートするすべてのPIDを含む必要があります。このメッセージを解析する方法は、このウィキペディアのリンクHereで定義されています。

これですべてのサポートされているPIDが得られました。これで、6つのPIDのグループで要求できます。スキャンツールまたはOBDロガーがどのように動作しているかを示します。

について、

+0

お返事ありがとうございます。つまり、同じリクエストIDを使用すると、6つのPIDのリクエストを送信し、別の時間枠内で同じリクエストIDを持つ6つの異なるPIDを送信する必要があると言いますか?あなたが私がここに投稿した別の質問に対する答えを知っているかどうかも疑問に思っていました。https://stackoverflow.com/questions/42320827/is-it-possible-to-request-all-desired-odb-ii-pids-via-a- dbc-file –

+0

@SEStudent with 7DFあなたは最大6つのPIDを同時に要求できます。これは、PIDがサポートされている地域にある場合、ECUがそれに応答することを意味します。すべての応答を受け取るには20〜100ms程度かかります(コードとECUによって異なります)。次に、別の6つのPIDを持つ別の要求を送信し、次に進みます。その後、1秒間に行うループを作成して、1 Hzでデータを取得する必要があります。 ECUから複数の応答を得る方法が分かっているのかどうか分かりません。 First Frame、FlowControlで作業する必要があります。ここで私は複数のPID要求に答えました。 – Mogi

+0

VINのために行った@SEStudent。複数のPIDについても同様です。 http://stackoverflow.com/a/38891041/6072457 – Mogi

関連する問題