の中に ウィキペディアのPIDリスト それがわかります 0x0C
エンジンRPM用 0x0D
車速など。これはすべての自動車メーカーにとって同じですか。
Arduinoの例では、data [2]がPID(エンジンRPM用)を予約していることがわかります。 0x0C
16進数をメッセージの10進数データ[3]およびデータ[4]に変換し、式
((256*data[3])+data[4])/2
RPMの値を得ることができます。
しかし、私がこれをシトロエン車に適用しようとすると、私は見ることができます 0x0C
ただし、実際のRPM値は変更されますが、メッセージ内のデータは変わりません。これはその車のRPMが表示されないことを意味します。
CANバスの読み取りにPCan-Viewを使用しています。これは結果に影響しますか?それでは、一般的なPID値はないと言えるでしょうか。
ご回答ありがとうございました。 0Cを含むデータの一部は、以下に見ることができます。
86) 91.6 Rx **0208** 8 18 **0C** 31 00 4C FF FF 27
99) 101.6 Rx 0208 8 18 **0C** 31 00 4C FF FF 27
107) 105.3 Rx **040D** 8 00 00 00 00 00 00 00 **0C**
114) 114.5 Rx **034D** 8 00 23 FA FA 00 **0C** 00 FF
735) 745.1 Rx 040D 8 00 00 00 00 00 00 00 **0C**
これらのコードはデータ収集中に何度も繰り返されます。しかし、自動車のエンジンが作動していても、行データは常に同じです。データ[2]にアドレス034Dの0Cがあると考えると、RPMと10進数の00の値でRPMを計算する必要があります。しかし、彼らは変わることはありません。
私たちが正しい道をたどっているかどうかはわかりません。
Citroen PID list