CAN bridge เป็นอุปกรณ์สำหรับเชื่อมต่อเครือข่าย CAN ที่มีความแตกต่างกัน เช่น เครือข่าย CAN ที่มี baud rate ต่างกันหรือเชื่อมต่อระหว่างเครือข่าย CAN และเครือข่าย CAN FD เป็นต้น แต่ก็มีความเป็นไปได้ที่เราต้องการเชื่อมต่อเครือข่าย CAN ในรูปแบบที่ซับซ้อนเกินกว่า CAN bridge ธรรมดาจะรองรับได้ เช่น ทำการเปลี่ยนแปลงข้อมูลเมื่อมีข้อความรูปแบบหนึ่งเข้ามา เป็นต้น ด้วยเหตุนี้ อุปกรณ์ CAN bridge ของ Ixxat จึงมีการรองรับ Lua script เพื่อให้สามารถทำงานนอกเหนือไปจากที่อุปกรณ์ CAN bridge ธรรมดาจะรองรับได้ โดยอุปกรณ์ CAN bridge ของ Ixxat ที่รองรับ Lua script ได้แก่
– CAN@net NT420 (รองรับ CAN FD)
– CANbridge NT420 (รองรับ CAN FD)
สำหรับการใช้งาน Lua script กับอุปกรณ์ดังกล่าวข้างต้นมีขั้นตอนดังต่อไปนี้
1 ดาวน์โหลดและติดตั้ง CAN Gateway Configurator
2 เปิดการใช้งานอุปกรณ์และเชื่อมต่อกับอุปกรณ์ผ่าน CAN Gateway Configurator
3 ทำการตั้งค่าอุปกรณ์ให้ทำงานใน bridge mode ซึ่งเป็นเพียงโหมดเดียวที่รองรับ Lua script
4 เลือก Lua ADK>Update Lua ADK แล้วเลือกไฟล์ C:\Program Files\HMS\Ixxat CAN-Gateway Configurator V6\lua_framework_vx เพื่ออัพเดท Lua ADK
5 เลือก General (อาจอยู่ภายใต้ Master หรือ Slave ขึ้นอยู่กับโหมดที่ใช้งาน) ใน configuration tree ทางด้านซ้ายแล้วตั้งค่า Use of Lua as ADK is: เป็น enabled in target mode หรือ enabld in remote mode
6 เลือก Target>Write configuration to target เพื่อเขียนการตั้งค่าไปยังอุปกรณ์
7 สำหรับ target mode เราสามารถอัพโหลด Lua script ที่เขียนขึ้นโดยเลือก Lua ADK>Write Lua script to target แล้วทำการรีเซ็ทอุปกรณ์เพื่อให้ Lua script เริ่มทำงาน เราสามารถดีบั๊ก Lua script ในโหมดนี้โดยใช้คำสั่ง print แล้วดูค่าใน terminal ของ CAN Gateway Configurator
8 สำหรับ remote mode นั้นต้องทำการเชื่อมต่ออุปกรณ์ผ่านสาย USB สำหรับข้อมูลเพิ่มเติม แนะนำให้ดูจากคู่มือของ IDE
สำหรับการใช้งาน CAN Gateway Configurator สามารถอ้างอิงได้จาก CAN-Gateway Configurator User Manual สำหรับตัวอย่าง Lua script จะถูกติดตั้งอยู่ใน C:\Users\Public\Documents\HMS\Ixxat CAN-Gateway Configurator\Examples\Lua ท่านสามารถอ้างอิง Lua ADK for CAN@net NT & CANbridge NT English สำหรับคำสั่งต่าง ๆ ใน Lua script ทั้งนี้เนื่องจากขนาดที่จำกัดของหน่วยความจำบนอุปกรณ์ ทำให้ Lua script และข้อมูลมีขนาดจำกัดอยู่ที่ 600kB หากต้องการหน่วยความจำมากกว่านี้ควรพิจารณาใช้ความสามารถอื่น ๆ ที่ทดแทนได้ เช่น mapping table หรือเปลี่ยนไปใช้อุปกรณ์ที่มีหน่วยความจำมากกว่า เช่น CANnector ซึ่งสามารถพัฒนาฟังก์ชั่นเพิ่มเติมได้ด้วย UserCode ในภาษา C
หวังว่าบทความนี้จะช่วยให้ท่านสามารถประยุกต์ใช้ Ixxat CAN bridge ในรูปแบบต่าง ๆ ได้มากยิ่งขึ้นด้วยการประยุกต์ใช้ Lua script ท่านสามารถติดต่อทีมงานเทคสแควร์เพื่อติดต่อสอบถามข้อมูลเพิ่มเติมเกี่ยวกับการใช้งาน CAN bridge ในรูปแบบต่าง ๆ
บทความที่เกี่ยวข้อง
การใช้งาน CAN Gateway Configurator เพื่อตั้งค่าเบื้องต้นของ Ixxat CAN Gateway