การใช้งาน TunerPro เบื้องต้น
ความรู้พื้นฐานเบื้องต้นที่ต้องรู้ในการใช้งานโปรแกรม TunerPro เพื่อรีแมพไฟล์กล่อง ECU
ไฟล์ BIN คืออะไร?
มาเริ่มกันที่ไฟล์ .bin
(Binary File / ไบนารี ไฟล์) หรือก็คือ ไฟล์ข้อมูลของกล่อง ECU
เรานั่นเอง
ได้มาจากการดูดออกมาด้วยวิธีการผ่ากล่อง หรือบางกล่องที่สามารถดูดได้โดยไม่ต้องผ่า
นี่คือไฟล์ที่เราต้องการจะปรับแต่งข้อมูลต่างๆ เช่น ตารางการจ่ายน้ำมัน, องศาไฟ, รอบเครื่อง แล้วทำการแฟลช ECU ด้วยไฟล์ .bin ที่เราปรับแต่งเองนี้เข้าไปแทนของเดิม (การรีแมพ)
ที่นี้เรามาดู หน้าตาข้อมูลของไฟล์ .bin
ของเรากันหน่อยดีกว่า โดยจะยกตัวอย่างไฟล์จากกล่อง K73-T32 ก็คือกล่องเวฟ S4 ที่เราคุ้นเคยกันดี
จากรูปเราก็จะเห็น ข้อมูลในตำแหน่งต่างๆ อย่างเช่น ที่ตำแหน่ง 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
ใส่เข้าไปแล้วที่ แถบด้านข้างจะมีรายชื่อต่างๆขึ้นมา
เช่น
- TPS BREAKPOINTS คันเร่ง
- RPM BREAKPOINTS รอบเครื่อง
- TPS vs RPM - FUEL น้ำมัน
รายชื่อตารางต่างๆมันมาจากไหน? มันมาจากการที่ ผู้สร้างไฟล์ .xdf ทำการวิศวกรรมย้อนกลับ และวิเคราะห์ไฟล์ .bin ว่า ข้อมูลตำแหน่งไหน เป็นข้อมูลอะไร จากนั้นนำมาสร้างเป็นไฟล์ .xdf เพื่อใช้อธิบายและปรับแต่งค่าได้อย่างถูกตำแหน่ง
ทีนี้เรามาลองดูกันหน่อยว่า ไฟล์ .xdf
มันอธิบายตารางน้ำมันในไฟล์ .bin
ได้ยังไง
จากรูปคือ การอธิบายตารางน้ำมันเกียร์ 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 โดยครั้งนี้จะตั้งให้แสดงผลเป็นเลขฐาน 16 จำนวน 4 หลัก
ในแต่ละตำแหน่ง
เมื่อเรา เปิดตารางน้ำมันเกียร์ 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 ด้วยสมการนั้นยังไง มาดูกัน
- แปลงเลขฐาน 16 ซึ่งในที่นี้คือ 0C78 ไปเป็นเลขในฐาน 10 จะได้เท่ากับ 3192 ดังรูปนี้
เลขฐาน 10 คือเลขทั่วไปที่เราใช้นับกัน (ที่มนุษย์ใช้เลขฐาน 10 ก็เพราะว่า เรามี 10 นิ้ว มันใช้นับเลขง่ายดี 5555)
- นำตัวเลขที่ได้คือ 3192 มาเข้าสมการ, โดย x = 3192 ก็จะเป็น
3192 / 1000 = 3.192
และนี่แหละก็คือประโยชน์ของไฟล์ .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 แกน) หรือขึ้นอยู่กับอย่างอื่นก็ได้
มาเริ่มกันที่วิธีการปรับค่าบนตาราง 2 มิติ ด้วยฟังก์ชันที่นิยมใช้กันบ่อยๆ
- Offset (+/-)
- Multiply
- Divide
- Scale by %
- Fill w/ Value
1. ฟังก์ชัน Offset (+/-) | การ เพิ่ม/ลด ค่าจากของเดิม
ทำการทดลองปรับแต่งค่า โดยการคลุมช่องที่ต้องการปรับแต่งค่า และเลือกฟังก์ชัน (Function) เป็น Offset (+/-)
และกำหนดตัวเลข (Value) เป็น 10
และทำการกดปุ่ม Execute
ปุ่ม Execute (เอ็ก-ซี-คิ้ว หรือที่ชอบพูดกันว่า เอ็ก-คัท)
ผลลัพธ์จากการใช้งานฟังก์ชัน Offset (+/-)
ก็คือการ นำเลขที่เรากำหนดในช่อง Value
ไป บวกกับตัวเลขเดิมในช่อง เช่น 3.192 + 10 = 13.192
และในทางกลับกัน หากเราใส่ค่า Value
ติดลบ เช่น -10 ก็จะเป็นการ ลบกับตัวเลขเดิมในช่อง เช่น 13.192 - 10 = 3.192
2. ฟังก์ชัน Multiply | การ คูณ ค่าจากของเดิม
ทำการคลุมช่องที่ต้องการปรับแต่งค่า และเลือกฟังก์ชัน (Function) เป็น Multiply
(การคูณ) และกำหนดตัวเลข (Value) เป็น 10
และทำการกดปุ่ม Execute
ผลลัพธ์จากการใช้งานฟังก์ชัน Multiply
ก็คือการ นำเลขที่เรากำหนดในช่อง Value
ไป คูณกับตัวเลขเดิมในช่อง เช่น 3.192 * 10 = 31.920
3. ฟังก์ชัน Divide | การ หาร ค่าจากของเดิม
ทำการคลุมช่องที่ต้องการปรับแต่งค่า และเลือกฟังก์ชัน (Function) เป็น Divide
(การหาร) และกำหนดตัวเลข (Value) เป็น 10
และทำการกดปุ่ม Execute
ผลลัพธ์จากการใช้งานฟังก์ชัน Divide
ก็คือการ นำเลขที่เรากำหนดในช่อง Value
ไป หารกับตัวเลขเดิมในช่อง เช่น 3.192 / 10 = 0.319
4. ฟังก์ชัน Scale by % | การ เพิ่ม/ลด เป็นเปอร์เซน จากค่าของเดิม
IMPORTANT
Scale by % เป็นฟังก์ชันที่ง่ายที่สุดในการ เพิ่ม/ลด ค่าแบบเป็นเปอร์เซน
ทำการคลุมช่องที่ต้องการปรับแต่งค่า และเลือกฟังก์ชัน (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 | การใส่ค่าที่กำหนดโดยตรง
ทำการคลุมช่องที่ต้องการปรับแต่งค่า และเลือกฟังก์ชัน (Function) เป็น Fill w/ Value
(ใส่ค่าในช่องที่เลือกด้วยค่าที่กำหนด) และกำหนดตัวเลข (Value) เป็น 123
และทำการกดปุ่ม Execute
ผลลัพธ์จากการใช้งานฟังก์ชัน Fill w/ Value
ก็คือการ นำเลขที่เรากำหนดในช่อง Value
ใส่ลงไปในช่องเลยตรงๆ
เอาหละตอนนี้เราก็สามารถใช้งานฟังก์ชันต่างๆในการปรับแต่งค่าได้แล้ว อย่าลืมบันทึกค่าที่ปรับแต่งโดยการกดปุ่มบันทึกด้วยนะ!