Ethernet TSN

ก่อนจะพูดถึง Ethernet TSN ขอเกริ่นประวัติของเครือข่ายสำหรับใช้ในอุตสาหกรรมซักหน่อยละกันครับ ในช่วงปี 1990 ซึ่งถือว่าเป็นช่วงเริ่มแรกของเครือข่ายสำหรับใช้ในอุตสาหกรรม มีหลายมาตรฐานการสื่อสารที่ถูกสร้างขึ้น โดยมีมาตรฐานมากกว่า 40 ตัวที่แข่งขันกัน จึงสร้างความสับสนให้กับผู้ใช้ที่ไม่รู้จะเลือกใช้อันไหน แต่เนื่องจากการแข่งขันเพื่อการอยู่รอดในตลาด แล้วท้ายสุดก็เหลือมาตราฐานที่เราคุ้นชินกันอยู่ เช่น CC-Link, PROFIBUS และ DeviceNet  โดยมาตราฐานเหล่านี้โดยส่วนใหญ่แล้วจะใช้ RS485 เป็นพื้นฐานสำหรับการสื่อสารจะยังคงมีความนิยมในตอนต้นของทศวรรษ 2000  หลังจากนั้นเนื่องจากความต้องการที่จะอยากให้ประสิทธิภาพที่ดีกว่าที่เป็นอยู่ ก็ได้มีการมีมาตราฐานใหม่โดยใช้เครือข่าย Ethernet เป็นฐาน ตัวอย่างเช่น PROFINET, Ethernet/IP, EtherCAT อย่างไรก็ตามก็ยังมีปัญหาที่ทำให้ไม่สะดวกในการใช้ Ethernet ในอุตสาหกรรมหรือโรงงาน โดยประเด็นสำคัญคือ: ความขาดคุณสมบัติการเรียลไทม์ ความทนทานต่อสภาพแวดล้อม เช่น อุณหภูมิ, ความชื้น, ฝุ่น และ noise เป็นต้น นั้นเองทำให้ในช่วงปี 2019 ได้มีการนำเสนอ มาตรฐาน “Ethernet TSN (Time Sensitive Network)” โดยอ้างอิงจากมาตรฐาน “Ethernet … Read More

PoE ( Power over Ethernet )

การพัฒนาในโลกดิจิทัลมีผลกระทบอย่างมากต่อการใช้งานเครือข่ายและอุปกรณ์ไฟฟ้า หนึ่งในเทคโนโลยีที่สำคัญและทันสมัยที่ช่วยให้การสื่อสารและการเชื่อมต่อเกิดขึ้นอย่างรวดเร็วคือ “Power over Ethernet” หรือ PoE PoE คืออะไร PoE ย่อมาจาก Power over Ethernet เป็นเทคโนโลยีจ่ายไฟฟ้าผ่านสาย LAN เพียงแค่มีสาย LAN เพียง 1 เส้นก็สามารถสื่อสารและใช้พลังงานร่วมกันได้จึงทำให้การติดตั้งสะดวกสบาย ไม่ว่าจะเป็นนอกอาคาร เพดาน หรือแม้กระทั่งบริเวณที่ไม่มีสายไฟก็สามารถใช้งานได้ ยกตัวอย่างเช่นกล้องรักษาความปลอดภัย สถานที่ติดตั้งจะมีทั้งนอกอาคาร และ ภายในอาคาร ถ้าหากไม่ใช้ PoE ปัญหาที่พบเจอก็คือ บริเวณที่ติดตั้งจะต้องมีแหล่งจ่ายไฟเสมอ จากนี้จะขออธิบายเนื้อหาของ PoE ที่สามารถเข้าใจได้ง่ายๆครับ มาตราฐาน PoE แบ่งออกได้ดังนี้ เปิดตัวครั้งแรกในปี 2003「PoE(IEEE 802.3af)」ครั้งที่สองปี 2009「PoE+(IEEE 802.3at)」และครั้งที่สามปี 2018「PoE++(IEEE802.3bt)」หลังจากนั้นก็มีหลายๆบริษัทพัฒนาเทคโนโลยี PoE เพื่อให้ได้กำลังไฟฟ้าที่สูงขึ้น ข้อเสียและข้อควรระวังหากจะใช้งาน PoE ราคาแพงกว่าอุปกรณ์ที่ไม่รองรับ PoE ต้องตัดสินใจให้ดีก่อนจะเลือกใช้งาน สำหรับกล้อง PTZ จะมีจุดบอดเมื่อกล้องเปลี่ยนตำแหน่งการจับภาพ ทำให้ต้องมีการติดตั้งกล้องหลายๆจุดเพื่อป้องกันจุดบอดนั้น … Read More

มาลองสร้าง Kernel Module สำหรับ Embedded Linux กัน

(Tux image reference: https://en.wikipedia.org/wiki/File:Tux.png) Embedded Linux คือ? บนระบบฝังตัว (Embedded System) นั้นมีส่วนประกอบใหญ่ๆ อยู่ 2 ส่วน คือ ฮาร์ดแวร์และซอฟต์แวร์ โดยในส่วนของซอฟต์แวร์นั้นก็จะมีระบบปฏิบัติการ (Operating System: OS) ที่เหมือนเป็นตัวกลางระหว่างฮาร์ดแวร์และผู้ใช้งาน โดยระบบปฏิบัติการนั้นจะแตกต่างกันไปตามความสามารถของฮาร์ดแวร์นั่นเอง Embedded Linux เป็นระบบปฏิบัติการแบบหนึ่งที่นิยมใช้ใน Embedded System ที่ออกแบบมาเพื่อทำงานบนอุปกรณ์ฮาร์ดแวร์ที่มีข้อจำกัดในเรื่องของทรัพยากร ทำให้ส่วนการทำงานบางส่วนภายใน Embedded Linux จะหายไปเมื่อเทียบกับ Linux OS ที่ใช้งานบนคอมพิวเตอร์หรือที่ระบบที่มีส่วนการประมวลผลขนาดใหญ่ เช่น C library เป็นต้น  ทำให้เมื่อต้องการสร้างโปรแกรมหรือ Kernel Module นั้นก็ต้องทำการคอมไพล์แบบ cross-compile เช่นเดียวกับระบบปฏิบัติการอื่นๆ ที่ใช้ใน Embedded System Components of an Embedded Linux System  https://www.windriver.com/solutions/learning/embedded-linux … Read More

มาทำความรู้จักกับโพรโทคอล Controller Area Network

CAN หรือ Controller Area Network [1] นั้นเป็นโพรโทคอลสื่อสารที่มีความสำคัญและถูกนำมาใช้ในระบบอิเล็กทรอนิกส์โดยเฉพาะในอุตสาหากรรมยานยนต์รวมไปถึงอุตสาหกรรมต่าง ๆ โพรโทคอลนี้ถูกพัฒนาขึ้นโดยบริษัท Bosch ในช่วงปี ค.ศ. 1980 โดยมีแนวความคิดที่ว่าเพื่อจัดการกับปัญหาความซับซ้อนและปริมาณสายไฟที่จำเป็นในการสื่อสารระหว่างหน่วยควบคุมอิเล็กทรอนิกส์ (ECU) ในรถยนต์ ที่มาของโปรโตคอล CAN bus นั้นเกิดจากความต้องการในการลดน้ำหนัก ลดต้นทุน และลดความซับซ้อนของระบบการเชื่อมต่อด้วยสายไฟแบบจุดต่อจุด (point-to-point) ก่อนหน้านี้การเชื่อมต่ออุปกรณ์ต่าง ๆ ในรถยนต์ใช้สายไฟหลายเส้นในการเชื่อมต่อ ซึ่งสร้างความยุ่งเหยิงและความซับซ้อนในการติดตั้ง การบำรุงรักษา และการขยายตัวของระบบ รูปที่ 1 แสดงตัวอย่างการใช้ CAN bus ในการลดความซับซ้อนของระบบ [2] CAN bus นั้นได้รับการพัฒนาอย่างต่อเนื่องตั้งแต่ที่ได้มีการเปิดตัวโพรโทคอลออย่างเป็นทางการในช่วงปี ค.ศ. 1980 อย่างมีนัยยะสำคัญ ทำให้ในปัจจุบัน CAN นั้นมีหลายรูปแบบให้เลือกใช้ได้อย่างเหมาะสมกับสภาพแวดล้อมอุตสาหากรรมที่แตกต่างกันไป ตัวอย่างเช่น CAN สำหรับรถยนต์ (CAN for Automotive): CAN เวอร์ชันนี้ถูกพัฒนาและปรับแต่งเฉพาะสำหรับใช้ในระบบอิเล็กทรอนิกส์ของรถยนต์ ถือเป็นเวอร์ชันที่นิยมนำมาประยุกต์ใช้กันอย่างแพร่หลายและได้รับการใช้งานอย่างกว้างขวางในอุตสาหกรรมยานยนต์ ความสามารถในการรับส่งข้อมูลความเร็วสูง อีกทั้งยังมีความน่าเชื่อถือสูง … Read More

แนะนำ Message Queue ที่น่าสนใจ Apache Pulsar!!

Image Credit: https://pulsar.apache.org แนะนำ Message Queue ที่น่าสนใจ Apache Pulsar!! สวัสดีครับเพื่อนๆ วันนี้ทางแอดมิน มี platform ของ message queue ดีๆที่น่าสนใจมานำเสนอเพื่อน ๆ ครับ หลายๆคนถ้าอยู่ในวงการ software มาซักพักก็น่าจะคุ้นเคยกับ apache kafka , mqtt , rabbitMQ ที่เป็น message queue ที่นิยมใช้งานใช่มั้ยครับ ทั้งนี้แอดมินขอเสนอ อีก 1 platform ที่น่าสนใจ เผื่อให้เพื่อนสามารถนำไปเป็นอีกตัวเลือกนึงในการนำไปใช้งานได้ครับ ซึ่งนั่นก็คือ Apache pulsar ครับ อนึ่งแอดมินไปเจอบทความที่น่าสนใจเกี่ยวกับเจ้า Apache pulsar ซึ่งมีความน่าสนใจยังไง ไปดูกันเลยครับ  Apache Pulsar คืออะไร? Apache Pulsar หรือเรียกกัน Pulsar เป็นแพลตฟอร์ม … Read More

Protobuf

โดยทั่วไปในการพัฒนา Software มักจะต้องมีการส่งข้อมูลไปมาระหว่าง Application/Server/Device และมักมีการ serialization ข้อมูลเพื่อส่งไปยังอีกจุดเป็นเรื่องปกติ โดยวิธีการ serialization data structure ที่หลายคนนึกถึงก็มักจะเป็น JSON หรือ XML เป็นต้น แต่ในวันนี้เราจะมาแนะนำเครื่องมือในการ serialization ข้อมูลที่น่าสนใจอีกตัวนั่นก็คือเครื่องมือที่ชื่อว่า Protobuf นั่นเอง https://www.freecodecamp.org/news/content/images/size/w2000/2020/05/unnamed-1.png Protobuf คืออะไร Protobuf หรือชื่อเต็มคือ Protocol buffer โดยแรกเริ่มเป็นเครื่องมือสำหรับ serialization ข้อมูลที่พัฒนาขึ้นมาโดย Google เพื่อใช้งานเป็นการภายในแทนการใช้ XML ที่มีขนาดใหญ่ในการส่งข้อมูล แต่ภายหลังก็ได้มีเปิด source code ออกสู่สาธารณะ โดย Protobuf มีจุดเด่นคือ ข้อมูลมีขนาดเล็กเนื่องจากเลือกที่จะ serialization ข้อมูลออกมาในรูปแบบ binary ไม่เหมือนกับ JSON หรือ XML ที่เก็บข้อมูลในรูปแบบ string ที่ใช้พื้นที่เยอะกว่า ทำการ serialization/deserialization … Read More

EtherCAT (Part 1)

ที่มารูป LINK EtherCAT เป็น Fieldbus Protocol ตัวหนึ่งที่มีความนิยมอย่างมากในระบบอุตสาหกรรมและระบบอัตโนมัติภายในโรงงาน แต่ว่าในปัจจุบัน ในประเทศไทยยังไม่มีการใช้งานอยู่มากนัก วันนี้จะพาไปทำความรู้จักกับ EtherCAT กันค่ะ EtherCAT คืออะไร EtherCAT ย่อมาจาก Ethernet Control Automation Technology เป็นฟิลด์บัสโปรโตคอลการสื่อสารชนิดหนึ่งสำหรับภายในอุตสาหกรรมที่อยู่บนพื้นฐานเครือข่าย IEEE 802.3 Ethernet ซึ่งพัฒนาโดย Beckhoff โดยโปรโตคอลได้พัฒนาขึ้นเพื่อเน้นการทำงานประมวลผลแบบ Real-time  ที่มีความยืดหยุ่นสูง สำหรับงานทางด้านควบคุมอัตโนมัติ โดยเฉพาะ สำหรับการสื่อสารภายในโปรโตคอลนั้น จะมีอุปกรณ์ EtherCAT Master ที่คอยควบคุมการทำงานของอุปกรณ์ EtherCAT Slave (หรือจะเรียกว่า Node ก็ได้) โดยมี Ethernet Frame เป็นตัวกลางในการสื่อสารโดยสื่อสารในชั้นของ Protocol Layer และ Data Link Layer รูป EtherCAT Network LINK … Read More

How to noise reduction for PCB design (part 2/3)

Photo by resources.altium.com สวัสดีครับ ท่านผู้อ่าน เจอกันอีกครั้งแล้วนะครับ สำหรับเนื้อหาในบทความนี้จะเป็นภาคต่อเนื่องจากครั้งก่อนที่ว่าเราจะทำการออกแบบ PCB อย่างไรเพื่อให้งานที่ออกแบบมีสัญญาณรบกวนให้น้อยที่สุด โดยในภาคนี้จะเน้นไปที่เรื่องเกี่ยวกับ Ground plane เป็นส่วนใหญ่ครับ ทำความเข้าใจวัตถุประสงค์ของบทความกันก่อนที่จะเข้าไปอ่านว่าเนื้อหาหลักส่วนใหญ่ที่กล่าวถึงในนี้จะเป็นสัญญาณรบกวนที่เกิดจากเส้นลายวงจรที่ใช้ส่งสัญญาณความถี่สูงเป็นหลัก เพราะเส้นสัญญาณความถี่สูงจะเป็นตัวสร้างสัญญาณรบกวนให้กับสิ่งที่อยู่รอบๆได้มาก ดังนั้นจึงขอแจ้งทำความเข้าใจเพื่อให้ผู้อ่านได้เข้าใจวัตถุประสงค์และนำไปปรับใช้กับงานออกแบบของท่านให้ได้เกิดประโยชน์กับท่านมากที่สุด ถ้าพร้อมแล้วไปเริ่มกันเลยครับ 1. ออกแบบโดยไม่กีดขวาง Ground plane ในการออกแบบลายวงจรพิมพ์เพื่อลดสัญญาณรบกวน จำเป็นต้องพิจารณาว่าจะไม่ทำให้การไหลของกระแสไฟฟ้าเบี่ยงหรืออ้อม จากรูป Vias ถูกจัดเรียงใกล้ชิดกันแบบต่อเนื่อง และ Ground plane (Ground ที่ Layer 2) ได้ถูกแบ่งออก ด้วยรูปแบบดังกล่าวกระแสส่วนใหญ่จะไหลผ่าน Vias (หมายถึง Vias ที่ 4 มุม) ส่งผลให้วงจรมีแนวโน้มที่จะเกิดสัญญาณรบกวนได้ เพราะกระแสมีการไหลอ้อมบริเวณที่มี Vias ติดกัน ถ้าหากต้องการเจาะ Vias ในจำนวนมากจริงๆ ด้วยเหตุผลด้านการออกแบบ ให้ทำระยะห่างระหว่างจุด Vias ตามรูป และปล่อยให้กระแสไหลผ่านระหว่างจุดเหล่านั้น การทำเช่นนี้กระแสสามารถไหลผ่านระหว่าง Vias … Read More

ทดสอบการสื่อสาร Modbus Protocol ด้วย QModBus

Modbus protocol ถือเป็นมาตรฐานโพรโทคอลการสื่อสารหนึ่งที่ได้รับความนิยมและใช้กันอย่างแพร่หลายในอุตสาหกรรมปัจจุบัน เนื่องจากตัว Modbus นั้นมีข้อดีอยู่หลายอย่างเช่นติดตั้งง่าย ใช้งานสะดวก การสื่อสารมีความเสถียร และที่สำคัญคือเป็น Open Protocol สำหรับผู้ใดที่ต้องการใช้งานก็สามารถนำไปพัฒนาต่อยอดได้โดยไม่มีค่าใช้จ่าย อีกทั้งสามารถเชื่อมต่ออุปกรณ์หรือเซ็นเซอร์ต่าง ๆ ได้มากถึง 247 ตัว โดยทั่วไปแล้ว Modbus นั้นจะมี Master อยู่ 1 ตัวเพื่อใช้ในการส่งคำสั่งไปยังอุปกรณ์ Slave ซึ่งสามารถมีไอดีได้ตั้งแต่ 1 – 247 โดยที่ Master นั้นจะทำการส่งคำสั่งอ่านหรือเขียนข้อมูลลงไปยัง Register ที่ใช้เก็บข้อมูลของอุปกรณ์ที่ต้องการได้เพียงแค่ระบุเลขไอดีเท่านั้น มาถึงตรงนี้แล้ว หากใครที่ยังสงสัย หรือต้องการข้อมูลเพิ่มเติมก็สามารถย้อนไปดูบทความที่ทาง บริษัท NDR Solution Co. Ltd. ของเราเขียนไว้ได้ ตั้งแต่เรื่องของ Fieldbus network เบื้องต้น และ Modbus Introduction หรือแม้แต่ มาทำความรู้จัก RS-485 กันเถอะ ซึ่งทางเรานั้นได้มีการเขียนบทความที่เกี่ยวข้องไว้หลากหลายบทความเลยทีเดียว … Read More

5 ปัญหาที่มักจะเกิดขึ้นกับการออกแบบ PCB

เรามาเรียนรู้แนวทางที่จะหลีกเลี่ยง 5 ปัญหาหรือข้อผิดพลาดกับการออกแบบ PCB ที่มักจะเกิดขึ้นระหว่างการออกแบบผลิตภัณฑ์ฮาร์ดแวร์บ่อยที่สุด Figure 1 Unassembled Mitayi Pico RP1 RP2040 boards from CIRCUITSTATE Electronics. PCB designed in KiCad and manufactured by PCBWay. Photo by Vishnu Mohanan  on Unsplash เมื่อเราพูดถึงการออกแบบผลิตภัณฑ์ฮาร์ดแวร์ มักจะมีข้อผิดพลาดเล็ก ๆ น้อย ๆ ที่จะพบเห็นซ้ำแล้วซ้ำเล่าอยู่เป็นประจำ โดยเฉพาะอย่างยิ่งข้อผิดพลาดเกี่ยวกับการออกแบบ PCB จากการเชื่อมต่อ (Net, Connection) และจุดยึดหรือจุดบัตกรีชิ้นส่วนอุปกรณ์อิเล็กทรอนิกส์ทั้งหมดเข้าไว้ด้วยกันบนบอร์ด เรามาตรวจสอบการออกแบบดูกันหน่อยว่า 5 ข้อผิดพลาดเกิดขึ้นกับ PCB ที่พบบ่อยที่สุด มีอะไรบ้าง 1 – Footprint หรือ Land Pattern ไม่ถูกต้อง … Read More