این سرویس برای پاککردن کد خطاهای عیبیابی و دادههای ذخیره شده متناظر با آن در حافظه، استفاده میشود. ساختار پیام این در خواست در شکل 62 نشان داده شده است، به طور کلی خطاها را میتوان به چهار دسته پیشرانه، بدنه، شاسی و شبکه تقسیم میشوند. پاک کردن خطاها میتواند به صورت گرهی یا تکی صورت بپذیرد. اگر کد ارسالی برابر با یکی از مقادیر 0x0000، 0x4000، 0x8000، 0xC000 و یا 0xFF00 باشد، گروهی از خطاها پاک میشود در غیر این صورت خطاها به صورت تکی پاک میشوند.
بهعنوانمثال برای پاککردن خطاهای پیشرانه در SIEMENS باید درخواست با متن پیام {0x83,0x11,0xF1,0x14,0x00,0x00,0x99} ارسال شود. یا برای پاککردن خطای P0120 متن پیام درخواست بهصورت {0x83,0x11,0xF1,0x14,0x01,0x20,0xBA} خواهد بود.
این سرویس درخواست خواندن داده با شناسه محلی از واحد کنترل الکترونیکی را ارسال میکند. منظور از شناسه محلی خواندن داده از حافظه فلش یا RAM است (شکل 65). در پاسخ به این درخواست، یک پیام با ساختار نشان داده شده در شکل 66 ارسال میشود. ساختار متن پیام بسته شرکت سازنده دارد.
این سرویس مشابه سرویس قبلی است با این تفاوت که از شناسه عمومی بهجای شناسه محلی استفاده میکند.
این سرویس برای تست عملگرها (مانند انژکتورها، رله پمپبنزین، استپر موتور و…) مورداستفاده قرار میگیرد (شکل 71). واحد کنترل الکترونیکی بعد از دریافت درخواست، حالت عملگر مربوطه را به حالت مورد نظر تغییر میدهد (شکل 72).
بایتهای کنترلی مشخص میکنند که چگونه عملگرها تست و کنترل شوند. حالتهای مختلف بایت اول در ادامه شرح داده شده است:
این سرویس به جای شناسه محلی از شناسه عمومی برای تست عملگر استفاده میکند ساختار پیام درخواست و جواب مثبت و منفی به ترتیب در شکل 74 و شکل 75 و شکل 76 ترسیم شدهاند.
رویه تست عملگرها معمولاً بدین ترتیب است که ابتدا حالت فعلی عملگر را نگه داشته سپس اختیار از واحد الکترونیکی به دستگاه درخواستکننده محول شده و تست عملگر انجام میشود و در نهایت کنترل عملگر مجدد به واحد کنترل الکترونیکی واگذار میشود.
اگر درخواستکننده در هنگام سرویس درخواست شروع ارتباط خطایی (زمانبندی، داده و یا عدم پاسخ) را شناسایی کند، باید حداقل به مدت w5 صبر کند و سپس دوباره درخواست خود را ارسال کند. اگر واحد کنترل الکترونیکی خطای توالی را تشخیص دهد، بلافاصله میتواند درخواست سرویس شروع را ارسال کرد.
ECU اعتبار پیام را توسط بایت چک سام و تعداد بایتها بررسی میکند قبل از اینکه P2max سپری شده باشد. اگر خطایی شناسایی شود هیچ پاسخی ارسال نمیکند و درخواست را نادیده میگیرد.
در هنگامی که چک سام و تعداد بایتهای پیام صحیح باشد؛ اما اگر خطایی در قالببندی یا محتوای پیام وجود داشته باشد، برای اینکه درخواستکننده را مطلع کند پاسخ منفی با کد خطای متناسب با آن را ارسال میکند.
درخواستکننده هم باید پیام پاسخ را از لحاظ چک سام و تعداد بایتهای دریافتی بررسی کند. در صورت تشخص خطا یا عدم ارسال پاسخ در زمان P2max، باید دو بار دیگر درخواست را ارسال کند. اگر پاسخ صحیح دریافت نشد مشخص میشود که خطایی در ارتباط وجود دارد که باید بررسی شود.
باتوجهبه اینکه ارسال و دریافت داده در KWP روی یک خط صورت میگیرد؛ بنابراین پاسخی که ECU ارسال میکند را خودش دریافت میکند؛ بنابراین اگر در پاسخ ارسال شده خطایی را شناسایی کند، ممکن است کار نکند! یا اینکه بعد از پایان فعالیت خط (حالت بیکاری) مجدد پاسخ صحیح را ارسال کند در زمان P2.
همانطور که بیان شد ارسال و دریافت داده در KWP روی یک خط صورت میگیرد؛ بنابراین درخواستی که درخواستکننده ارسال میکند را خودش دریافت میکند؛ بنابراین اگر در درخواست ارسال شده خطایی را شناسایی کند، بعد از پایان فعالیت خط (حالت بیکاری) شاید لازم باشد مجدد درخواست صحیح را ارسال کند در زمان P2.
نویسنده شو !
سیسوگ با افتخار فضایی برای اشتراک گذاری دانش شماست. برای ما مقاله بنویسید.