Skip to content

การใช้งาน TunerPro เบื้องต้น

ความรู้พื้นฐานเบื้องต้นที่ต้องรู้ในการใช้งานโปรแกรม TunerPro เพื่อรีแมพไฟล์กล่อง ECU

ไฟล์ BIN คืออะไร?

มาเริ่มกันที่ไฟล์ .bin (Binary File / ไบนารี ไฟล์) หรือก็คือ ไฟล์ข้อมูลของกล่อง ECU เรานั่นเอง

ได้มาจากการดูดออกมาด้วยวิธีการผ่ากล่อง หรือบางกล่องที่สามารถดูดได้โดยไม่ต้องผ่า

นี่คือไฟล์ที่เราต้องการจะปรับแต่งข้อมูลต่างๆ เช่น ตารางการจ่ายน้ำมัน, องศาไฟ, รอบเครื่อง แล้วทำการแฟลช ECU ด้วยไฟล์ .bin ที่เราปรับแต่งเองนี้เข้าไปแทนของเดิม (การรีแมพ)

ที่นี้เรามาดู หน้าตาข้อมูลของไฟล์ .bin ของเรากันหน่อยดีกว่า โดยจะยกตัวอย่างไฟล์จากกล่อง K73-T32 ก็คือกล่องเวฟ S4 ที่เราคุ้นเคยกันดี

หน้าตาข้อมูลของไฟล์ .bin

จากรูปเราก็จะเห็น ข้อมูลในตำแหน่งต่างๆ อย่างเช่น ที่ตำแหน่ง 00 จะมีข้อมูลเป็น E1 (เลขฐาน 16) หรือ 11100001 (เลขฐาน 2) โดยโปรแกรมจะนิยมแสดงผลด้วย เลขฐาน 16 เพราะมองได้สะดวกกว่า

(ตัวเลขในฐาน 2 มีแค่ 1 กับ 0 การจะแสดงผลให้มีค่าเท่ากับ E1 ในฐาน 16 จึงประกอบไปด้วยจำนวนตัวเลขหลายตัว เห็นได้จากค่า 11100001)

เมื่อเราเห็นข้อมูลกล่องเราแล้ว คำถามต่อมาคือ แล้วค่าตัวไหนหละ? คือ ตารางน้ำมัน, องศาไฟ, รอบเครื่อง, ... ตำแหน่งไหนที่เราจะปรับมันได้?

ในส่วนนี้ ไฟล์ XDF จะเข้ามามีบทบาท ในการตอบคำถาม

งั้นเรามาเปิดโปรแกรม TunerPro และเอาไฟล์ .bin ใส่กันเลยดีกว่า !

เปิด TunerPro เลือก File -> Open Bin... แล้วเลือกไฟล์ .bin

ไฟล์ XDF คืออะไร?

มาต่อกันที่ไฟล์ .xdf (Bin Definitions File / ไฟล์ที่ใช้อธิบายไฟล์ .bin) แล้วมันอธิบายยังไง?

ไฟล์ .xdf เป็นไฟล์เฉพาะสำหรับโปรแกรม TunerPro เพื่อใช้อธิบายไฟล์ .bin

งั้นเรามาลองเปิดไฟล์ .xdf ที่ทำมาเพื่ออธิบายไฟล์ .bin ของกล่อง K73-T32 กันหน่อย

เปิด TunerPro เลือก XDF -> Select XDF... แล้วเลือกไฟล์ .xdf

ไฟล์ xdf สำหรับ K73-T32

จะเห็นว่าพอเรานำเอาไฟล์ .xdf ใส่เข้าไปแล้วที่ แถบด้านข้างจะมีรายชื่อต่างๆขึ้นมา เช่น

  • TPS BREAKPOINTS คันเร่ง
  • RPM BREAKPOINTS รอบเครื่อง
  • TPS vs RPM - FUEL น้ำมัน

รายชื่อตารางต่างๆมันมาจากไหน? มันมาจากการที่ ผู้สร้างไฟล์ .xdf ทำการวิศวกรรมย้อนกลับ และวิเคราะห์ไฟล์ .bin ว่า ข้อมูลตำแหน่งไหน เป็นข้อมูลอะไร จากนั้นนำมาสร้างเป็นไฟล์ .xdf เพื่อใช้อธิบายและปรับแต่งค่าได้อย่างถูกตำแหน่ง

ทีนี้เรามาลองดูกันหน่อยว่า ไฟล์ .xdf มันอธิบายตารางน้ำมันในไฟล์ .bin ได้ยังไง

xdf อธิบายตารางน้ำมัน

จากรูปคือ การอธิบายตารางน้ำมันเกียร์ N จะเห็นว่าผู้สร้างไฟล์ .xdf ได้ทำการกำหนดการอธิบาย เช่น

  • ระบุตำแหน่ง (Address) ของข้อมูลตารางน้ำมันเกียร์ N ที่ตำแหน่ง 0x7C หรือ 7C (เลขฐาน 16)

หมายความว่าตารางน้ำมันเกียร์ N ของไฟล์ .bin กล่อง K73-T32 จะอยู่ที่ตำแหน่ง 7C (เลขฐาน 16)

  • ระบุขนาดข้อมูลในช่อง (Cell Data Size) เท่ากับ 2 Bytes (16 Bits)

2 Bytes = 2 ไบร์ท = เลขฐาน 16 จำนวน 4 หลัก

  • ระบุการจัดเรียงค่าแบบ LSB First (ขึ้นต้นด้วยค่าน้อยก่อน)

ทีนี้เราลองมาดูค่าที่ตำแหน่ง 7C ของไฟล์ .bin กันดูว่าเป็นอย่างไร

ดูค่า bin ที่ตำแหน่ง 7C

เมื่อเรา เปิดดูค่าไฟล์ .bin ที่ตำแหน่ง 7C โดยครั้งนี้จะตั้งให้แสดงผลเป็นเลขฐาน 16 จำนวน 4 หลัก ในแต่ละตำแหน่ง

ดูค่า bin แบบ rawhex

เมื่อเรา เปิดตารางน้ำมันเกียร์ N ใน TunerPro แล้วคลิกขวาเลือกติ๊ก Show Raw Hex (แสดงค่าดิบแบบเลขฐาน 16)

จะเห็นว่าค่าที่ช่องแรกใน TunerPro คือ 0C78 แต่ในโปรแกรม HxD ที่เราเปิดดูที่ตำแหน่ง 7C คือ 780C

เพราะว่าโปรแกรม HxD โดยดั้งเดิมจะแสดงผลแบบ MSB First (ขึ้นต้นด้วยค่ามากก่อน)

หากเราลองสลับตัวเลข ให้เป็น LSB First ก็จะได้ค่า 780C -> 0C78 (สลับตำแหน่ง 0C กับ 78) เหมือนกันกับใน TunerPro

นี่ก็จะแสดงให้เห็นถึงการที่ผู้สร้างไฟล์ .xdf ระบุตำแหน่งให้เรา เพื่ออธิบายว่าค๋าที่ตำแหน่งนี้ในไฟล์ .bin คือค่าน้ำมันเกียร์ N

ต่อมาเมื่อเราทำการ คลิกขวาเลือกติ๊ก Show Raw Hex ออก เราก็จะเห็นค่าเป็นตัวเลขเวลาการจ่ายน้ำมัน

การจ่ายน้ำมัน

อ่าวแล้วค่า 0C78 กลายมาเป็นค่า 3.192 ได้ยังไง?

งั้นลองกลับมาดูที่ผู้สร้างไฟล์ .xdf กำหนดวิธีการคำนวณตัวเลขในแถบ Conversion

การคำนวนตัวเลข

เราจะเห็นว่ามีการกำหนดสมการสำหรับคำนวณค่าเวลาการจ่ายน้ำมันคือ X / 1000 โดยในทีนี้ที่ช่องแรกของตารางน้ำมัน X ก็คือค่าข้อมูล 0C78 (เลขฐาน 16) นั่นเอง

แล้วมันคำนวณ 0C78 ไปเป็น 3.192 ด้วยสมการนั้นยังไง มาดูกัน

  1. แปลงเลขฐาน 16 ซึ่งในที่นี้คือ 0C78 ไปเป็นเลขในฐาน 10 จะได้เท่ากับ 3192 ดังรูปนี้

dec to bin

เลขฐาน 10 คือเลขทั่วไปที่เราใช้นับกัน (ที่มนุษย์ใช้เลขฐาน 10 ก็เพราะว่า เรามี 10 นิ้ว มันใช้นับเลขง่ายดี 5555)

  1. นำตัวเลขที่ได้คือ 3192 มาเข้าสมการ, โดย x = 3192 ก็จะเป็น 3192 / 1000 = 3.192

dec calc

และนี่แหละก็คือประโยชน์ของไฟล์ .xdf ที่จะช่วยเราคำนวณค่าให้ทั้งตารางตามที่เรากำหนดไว้ในไฟล์ .xdf เลย

รวมถึงตอนเราปรับแต่งค่าด้วยนะ สมมติเราเปลี่ยนค่าจาก 3.192 ไปเป็น 2.5 แล้วค่าดิบจริงๆที่จะแก้ในไฟล์ .bin เป็นเท่าไหร่? ลองแก้ค่าและ Show Raw Hex กันดูนะ จะเห็นว่า TunerPro และ .xdf จะคำนวณค่าย้อนกลับจาก 2.5 ไปเป็นค่าในเลขฐาน 16 ผ่านสมการการคำนวณที่เรากำหนดให้ด้วย

แล้วสมการการคำนวณค่าจากค่าดิบในเลขฐาน 16 ให้มาเป็นเวลาการฉีดน้ำมันได้นี่มายังไง? ก็มาจากการที่ผู้สร้าง .xdf ทำการวิเคราะห์เก็บข้อมูลมาว่าค่าดิบ 078C = 3192 แล้วตอนมันฉีดจริงๆมันฉีดเท่าไหร่ ก็นำมาสร้างสมการในการคำนวณได้

และนี่ก็คือความสำคัญของไฟล์ .xdf ที่ช่วยอธิบายว่าอะไรเป็นอะไรบ้างในไฟล์ .bin ของเรา

IMPORTANT

ทั้งนี้ในกล่อง ECU แต่ละรุ่นก็จะมีข้อมูลไม่เหมือนกัน ทำให้ไฟล์ .bin แตกต่างกัน มีตำแหน่งที่อยู่ของแต่ละข้อมูลไม่เหมือนกัน ทำให้ต้องใช้งานไฟล์ .xdf ให้ตรงกับรุ่นกล่อง ECU (รายชื่อตารางที่มีให้ในแต่ละ .xdf ก็จะแตกต่างกันไปขึ้นอยู่กับว่าผู้สร้างอธิบายและกำหนดตารางหรือค่าอะไรมาให้บ้าง)

การปรับแต่งค่าด้วย TunerPro

หลังจากที่เราได้เรียนรู้เกี่ยวกับความสำคัญและสัมพันธ์กันระหว่างไฟล์ .bin และ .xdf แล้ว ก็ถึงเวลาที่เราจะมาปรับแต่งไฟล์ .bin ของเรากัน !

การปรับแต่ง บน ตาราง 2 มิติ

มาเริ่มกันที่การปรับแต่งค่าบนตาราง 2 มิติ ซึ่งจะเป็นตารางส่วนใหญ่ที่เราจะใช้ปรับแต่งกันเช่น ตารางน้ำมัน, ตารางองศาไฟจุดระเบิด แล้วทำไมมันถึงเป็น 2 มิติ?

เพราะว่าการจ่ายน้ำมันส่วนใหญ่จะขึ้นอยู่กับ รอบเครื่อง และ เปอร์เซนคันเร่ง (มี 2 แกน) หรือขึ้นอยู่กับอย่างอื่นก็ได้

fuel table


มาเริ่มกันที่วิธีการปรับค่าบนตาราง 2 มิติ ด้วยฟังก์ชันที่นิยมใช้กันบ่อยๆ

  1. Offset (+/-)
  2. Multiply
  3. Divide
  4. Scale by %
  5. Fill w/ Value

1. ฟังก์ชัน Offset (+/-) | การ เพิ่ม/ลด ค่าจากของเดิม

offset func

ทำการทดลองปรับแต่งค่า โดยการคลุมช่องที่ต้องการปรับแต่งค่า และเลือกฟังก์ชัน (Function) เป็น Offset (+/-) และกำหนดตัวเลข (Value) เป็น 10 และทำการกดปุ่ม Execute

ปุ่ม Execute (เอ็ก-ซี-คิ้ว หรือที่ชอบพูดกันว่า เอ็ก-คัท)

ผลลัพธ์จากการใช้งานฟังก์ชัน Offset (+/-) ก็คือการ นำเลขที่เรากำหนดในช่อง Value ไป บวกกับตัวเลขเดิมในช่อง เช่น 3.192 + 10 = 13.192

และในทางกลับกัน หากเราใส่ค่า Value ติดลบ เช่น -10 ก็จะเป็นการ ลบกับตัวเลขเดิมในช่อง เช่น 13.192 - 10 = 3.192


2. ฟังก์ชัน Multiply | การ คูณ ค่าจากของเดิม

multiply func

ทำการคลุมช่องที่ต้องการปรับแต่งค่า และเลือกฟังก์ชัน (Function) เป็น Multiply (การคูณ) และกำหนดตัวเลข (Value) เป็น 10 และทำการกดปุ่ม Execute

ผลลัพธ์จากการใช้งานฟังก์ชัน Multiply ก็คือการ นำเลขที่เรากำหนดในช่อง Value ไป คูณกับตัวเลขเดิมในช่อง เช่น 3.192 * 10 = 31.920


3. ฟังก์ชัน Divide | การ หาร ค่าจากของเดิม

divide func

ทำการคลุมช่องที่ต้องการปรับแต่งค่า และเลือกฟังก์ชัน (Function) เป็น Divide (การหาร) และกำหนดตัวเลข (Value) เป็น 10 และทำการกดปุ่ม Execute

ผลลัพธ์จากการใช้งานฟังก์ชัน Divide ก็คือการ นำเลขที่เรากำหนดในช่อง Value ไป หารกับตัวเลขเดิมในช่อง เช่น 3.192 / 10 = 0.319


4. ฟังก์ชัน Scale by % | การ เพิ่ม/ลด เป็นเปอร์เซน จากค่าของเดิม

IMPORTANT

Scale by % เป็นฟังก์ชันที่ง่ายที่สุดในการ เพิ่ม/ลด ค่าแบบเป็นเปอร์เซน

scale by % func

ทำการคลุมช่องที่ต้องการปรับแต่งค่า และเลือกฟังก์ชัน (Function) เป็น Scale by % (เพิ่ม/ลด ด้วย %) และกำหนดตัวเลข (Value) เป็น 10 และทำการกดปุ่ม Execute

ผลลัพธ์จากการใช้งานฟังก์ชัน Scale by % ก็คือการ นำเลขที่เรากำหนดในช่อง Value ไป เพิ่มกับตัวเลขเดิมในช่อง เช่น 3.192 เพิ่ม 10% = 3.511 หรือก็คือ 3.192 * 1.10 = 3.511 จะเห็นว่าง่ายกว่าการใช้ฟังก์ชัน Multiply เพราะเราใส่จำนวนเป็นเปอร์เซนไปตรงๆได้เลย

ในทางกลับกัน หากเราต้องการลดค่าจากเดิม 10% เราก็แค่กำหนดค่าในช่อง Value เป็น -10


5. ฟังก์ชัน Fill w/ Value | การใส่ค่าที่กำหนดโดยตรง

fill value func

ทำการคลุมช่องที่ต้องการปรับแต่งค่า และเลือกฟังก์ชัน (Function) เป็น Fill w/ Value (ใส่ค่าในช่องที่เลือกด้วยค่าที่กำหนด) และกำหนดตัวเลข (Value) เป็น 123 และทำการกดปุ่ม Execute

ผลลัพธ์จากการใช้งานฟังก์ชัน Fill w/ Value ก็คือการ นำเลขที่เรากำหนดในช่อง Value ใส่ลงไปในช่องเลยตรงๆ


เอาหละตอนนี้เราก็สามารถใช้งานฟังก์ชันต่างๆในการปรับแต่งค่าได้แล้ว อย่าลืมบันทึกค่าที่ปรับแต่งโดยการกดปุ่มบันทึกด้วยนะ!

save


แล้วพบกับ หัวข้อใหม่ ในตอนต่อไป...