SEO

 Otomotiv Teşhis Uygulamalarındaki KWP2000 Protokolü

KWP2000 protokolü otomotiv teşhis uygulamalarında fiili bir standart haline geldi. ISO 14230-3 olarak standartlaştırılmıştır. KWP2000, protokole katılabileceğiniz çeşitli teşhis hizmetlerinin uygulanmasını tanımlar. KWP2000'i K-hattı (seri) veya CAN gibi çeşitli taşıma katmanlarında çalıştırabilirsiniz.

Aktarım Protokolü
KWP2000, değişken bayt uzunluklarına sahip mesajlar kullandığından, CAN gibi sadece iyi tanımlanmış (kısa) bir mesaj uzunluğuna sahip olan katmanlar üzerinde bir taşıma protokolü gereklidir. Aktarım protokolü, uzun bir KWP2000 mesajını ağ üzerinden aktarılabilecek parçalara böler ve orijinal mesajı kurtarmak için bu parçaları tekrar toplar.

KWP2000, ISO TP (ISO 15765-2), TP 1.6, TP 2.0 (Volkswagen) ve SAE J1939-21 gibi çeşitli taşıma protokollerinde CAN üzerinde çalışır. KWP2000 için, Otomotiv Teşhis Komutu Seti sadece ISO TP'yi (ISO 15765-2 standardında standardize edilmiş) ve üreticiye özel VW TP 2.0 aktarım protokollerini destekler.

Tanılama Hizmetleri
KWP2000'de bulunan tanılama hizmetleri, işlevsel birimlerde gruplandırılmıştır ve bir bayt koduyla (ServiceId) tanımlanmıştır. Standart tüm kodları tanımlamaz; Bazı kodlar için, diğer SAE veya ISO standartlarına yönelik standart referanslar ve bazıları üreticiye özel uzantılar için ayrılmıştır. Otomotiv Tanılama Komutu seti aşağıdaki hizmetleri destekler:

• Tanılama Yönetimi
• Veri Aktarımı
• Saklanan Veri Aktarımı (Arıza Teşhis Kodları)
• Giriş / Çıkış Kontrolü
• Rutin Uzaktan Etkinleştirme

Yükleme / İndirme ve Genişletilmiş hizmetler, Otomotiv Teşhis Komut Setinin bir parçası değildir.

Tanılama Hizmeti Biçimi
Tanılama hizmetlerinin ortak bir mesaj biçimi vardır. Her servis bir İstek Mesajı, Olumlu Yanıt Mesajı ve Negatif Yanıt Mesajı tanımlar. İstek mesajında ​​ServiceId ilk bayt, artı ek servis tanımlı parametreler vardır. Olumlu Yanıt Mesajı, ServiceId'in ilk baytı olarak ayarlanmış bit 6'ya ek olarak servis tanımlanmış yanıt parametrelerine ek bir yankısına sahiptir.

Negatif Yanıt Mesajı tipik olarak üç baytlık bir mesajdır: ilk bayt olarak Negatif Response ServiceId, ikinci Serviceent'in ikinci baytı olarak bir yankı ve üçüncü bayt olarak bir ResponseCode'u vardır. Bu biçimin tek istisnası, bir EscapeCode hizmetine verilen olumsuz yanıttır; Burada, üçüncü bayt kullanıcı tanımlı servis kodunun bir yankısıdır ve dördüncü bayt ResponseCode'dur. KWP2000 standardı, ResponseCodes'u kısmen tanımlar, ancak üreticiye özel uzantılar için yer kalır. Bazı ResponseCodes'lar için, KWP2000 bir hata işleme prosedürünü tanımlar. Hem olumlu hem de olumsuz yanıtlar istenen hizmetin yankısına sahip olduğundan, yanıtları her zaman ilgili isteklerine atayabilirsiniz.

Connect / Disconnect
KWP2000, bir diyagnostik oturumun StartDiagnosticSession ile başlatılmasını ve StopDiagnosticSession ile sonlandırılmasını bekliyor. Ancak, StartDiagnosticSession, tanı oturum türünü belirleyen bir DiagnosticMode parametresine sahiptir. Bu türe bağlı olarak, ECU diğer teşhis servislerini destekleyebilir veya desteklemeyebilir veya tüm ECU işlevlerinin mevcut olmadığı sınırlı bir modda çalışabilir. DiagnosticMode parametre değerleri, üreticiye özgüdür ve standartta tanımlanmamıştır. Bir diyagnostik seansın aktif kalması için başka bir servis yapılmadığında periyodik olarak TesterPresent servisini çalıştırması gerekir. TesterPresent servisi belirli bir süre için eksikse, diyagnoz oturumu sonlandırılır ve ECU normal çalışma moduna döner.

GetSeed / Unlock
Bir GetSeed / Unlock mekanizması, bazı tanılama hizmetlerini koruyabilir. Bununla birlikte, geçerli hizmetler üreticiye bırakılmıştır ve standart tarafından tanımlanmamıştır. GetAşağı / Kilit açma mekanizmasını SecurityAccess hizmeti aracılığıyla yürütebilirsiniz. Bu, birkaç güvenlik düzeyini tanımlar, ancak üretici bu seviyeleri belirli hizmetlere atar.

Belleği Oku / Yaz
ECU üzerindeki bazı bellek adreslerine veri yüklemek / indirmek için Read / WriteMemoryByAddress hizmetlerini kullanın. Adres, KWP2000'de üç baytlık bir miktar ve kalibrasyon protokollerinde beş baytlık bir miktardır (dört baytlı adres ve bir bayt uzantısı). Yükleme / İndirme işlevsel birim hizmetleri, son derece üreticiye özgüdür ve standartta iyi tanımlanmamıştır; bu nedenle, genel bir yükleme / indirme mekanizması sağlamada iyi bir yol değildir.

Ölçümler
Bir DAQ listesine benzer şekilde ECU verilerine erişmek için ReadDataByLocal / CommonIdentifier hizmetlerini kullanın. Bir Local / CommonIdentifier, daha sonra ECU'dan test cihazına aktarılan ECU miktarlarının bir listesini açıklar. Aktarım, yavaş, orta veya hızlı aktarım hızıyla tek değer veya periyodik olabilir. Aktarım oranları üreticiye özeldir; bunları ayarlamak için SetDataRates hizmetini kullanabilirsiniz, ancak bu ayar üreticiye özgüdür. Otomotiv Teşhis Komutu Seti, tek noktalı ölçümleri destekler.

Tanısal Arıza Kodları
Önemli bir teşhis özelliği, Diyagnostik Hata Kodlarının (DTC'ler) okunmasıdır. KWP2000, gruplarına veya durumlarına göre DTC'lere erişen çeşitli hizmetleri tanımlar.

Giriş / Çıkış Kontrolü
KWP2000, dahili veya harici ECU sinyallerini değiştirmek için servisleri tanımlar. Bir örnek ECU sensör girişlerini uyarılmış sinyallere yönlendiriyor. Bu komutların kontrol parametreleri, üreticiye özgüdür ve standartta tanımlanmamıştır.
Bir Rutinin Uzaktan Etkinleştirilmesi

Bu hizmetler, ÇKP'nin ActionService ve DiagService işlevlerine benzer. Bir Local / CommonIdentifier veya bir bellek adresi tarafından tanımlanan bir ECU dahili rutini gerçekleştirebilirsiniz. ÇKP vakasının aksine, bu rutinin yürütülmesi asenkron olabilir; Yani, ayrı Başlangıç, Durdur ve RequestResult hizmetleri vardır. Bu komutların kontrol parametreleri, üreticiye özgüdür ve standartta tanımlanmamıştır.

Harici Referanslar
KWP2000 Standardı hakkında daha fazla bilgi için, ISO 14230-3 standardına bakın.