Fieldbus network เบื้องต้น

Fieldbus network คือ image: e.lapp.com/jp/   เรามาเริ่มกันด้วยพื้นฐานกันก่อนเลยครับ Fieldbus คือ ระบบ bus ที่เชื่อมต่อกับอุปกรณ์จำพวกเซ็นเซอร์ เครื่องวัด หรืออุปกรณ์ที่ใช้สำหรับควบคุมต่างๆ ภายในโรงงาน เพื่อแลกเปลี่ยนข้อมูล Fieldbus นั้นจะมีโพรโทคอลที่มีรูปแบบการสื่อสารเป็นของตัวเอง (กำหนดขึ้นเอง) ซึ่งจะทำให้อุปกรณ์ที่เชื่อมต่อ เช่น เซ็นเซอร์ อุปกรณ์ควบคุม เป็นต้น สามารถแลกเปลี่ยนข้อมูลได้โดยไม่มีสัญญาณแปลกปลอม และ Fieldbus ส่วนใหญ่นี้ มักจะใช้ระบบที่มี master-slave ในการทำงานครับ ประโยชน์ของฟิลด์บัส การพัฒนาเทคโนโลยี Fieldbus ขึ้นมานั้น ทำให้มีข้อได้เปรียบมากมายในโลกของการสื่อสารเชิงอุตสาหกรรมโรงงาน ซึ่งมีทั้งเรื่องของประสิทธิภาพและราคา ประโยชน์ของเจ้า Fieldbus มีอะไรบ้าง เราไปดูกันเลยครับ 1.ลดข้อกำหนดการเดินสาย image: Flaticon.com ประโยชน์ที่โดดเด่นที่สุดของระบบ Fieldbus มีลักษณะการต่อสายโดยพื้นฐานรูปแบบอนุกรม ความต้องการในการเดินสายที่ลดลง และการอนุญาตให้อุปกรณ์หลายร้อยรายการเชื่อมต่อกับจุดเชื่อมต่อและคอนโทรลเลอร์จุดเดียว จำนวนสายเคเบิ้ลที่ต้องใช้ในเครือข่ายจึงลดลงอย่างมากเมื่อเทียบกับการกำหนดค่าการเดินสายแบบขนาน นอกจากการลดจำนวนสายเคเบิลที่ต้องการแล้ว ความยาวของสายเคเบิลที่จำเป็นในระบบ Fieldbus ยังลดลงอีกด้วย ความซับซ้อนในการเดินสายเคเบิ้ลของระบบจึงลดลงอย่างมาก … Read more

Stack กับ Heap คืออะไรกันนะ?

ในการเขียนโค้ดในภาษาใดก็ตาม ไม่ว่าจะเป็น C, Python หรือภาษาอื่น ๆ แทบจะทุกภาษาล้วนจะต้องมีการประกาศตัวแปรชนิดต่าง ๆ เช่น int double หรือพวกตัวแปรที่มีความซับซ้อนมากขึ้นมาอย่าง array หรือ struct รวมถึงการจองพื้นที่ไว้ส่วนหนึ่งเพื่อเอาไว้เก็บค่าบางอย่างเพื่อใช้ในโปรแกรม โดยปกติแล้ว เมื่อประกาศตัวแปร พื้นที่ภายในหน่วยความจำจะถูกจองเอาไว้ใช้สำหรับตัวแปรที่เราประกาศ หรือพื้นที่ที่เราจองไว้ แต่ว่าพื้นที่ภายในหน่วยความจำพวกนี้ถูกจองอยู่ตรงไหนของระบบ แล้วถูกจองด้วยวิธีแบบไหนกันนะ? มาทำความรู้จักส่วนประกอบภายในหน่วยความจำกันเล็กน้อยค่ะ ภายในหนึ่งโปรแกรมจะมีการจองพื้นที่หนึ่ง ๆ ไว้สำหรับใช้งานภายในโปรแกรม โดยพื้นที่ตรงนี้จะมีโครงสร้างตามรูปด้างล่างนี้ค่ะ Process Memory Layout สำหรับภาษา C   รูปนี้จะจำลองตัว Process Memory Layout ที่ใช้กันภายในภาษา C และ C++ ค่ะ ในภาษาอื่นๆ อาจจะแตกต่างกันเล็กน้อย ภายใน Process Memory Layout จะแบ่งออกเป็นสองส่วนหลักๆ คือ Static Memory Layout โดยในส่วนนี้จะใช้ในการเก็บโค้ดที่มีการแปลงเป็น Machine … Read more

ทำความรู้จักกับ VS Code extensions: Todo Tree กัน

โปรแกรมแก้ไขข้อความ หรือเท็กซ์อิดิเตอร์ (Text editor) คือสิ่งที่นักพัฒนาซอฟต์แวร์หลาย ๆ คนใช้เป็นเครื่องมือในการปรับปรุงและพัฒนาโปรแกรม หรือพูดง่าย ๆ ก็คือโปรแกรมที่นักพัฒนาใช้ในการเขียนโปรแกรมนั่นเอง เนื่องด้วยเท็กซ์อิดิเตอร์นั้นมีฟีเจอร์ต่าง ๆ ที่ช่วยให้นักพัฒนาสามารถแก้ไขโปรแกรมได้อย่างมีประสิทธิภาพ แยกสัดส่วนของโปรแกรมที่เขียนขึ้นมาได้อย่างเป็นสัดส่วน มี User Interface (UI) ที่น่าใช้งาน รวมถึงมีฟีเจอร์พื้นฐานช่วยเน้นข้อความเป็นสีต่าง ๆ ทำให้สามารถแยกแยะโค้ดได้อย่างชัดเจนอีกด้วย ในปัจจุบันเท็กซ์อิดิเตอร์มีให้เลือกใช้มากมายหลายแพลตฟอร์ม ตัวอย่างเช่น Eclipse, Atom, Sublime Text, Vim หรือโปรแกรมพื้นฐานอย่าง Notepad++ ก็ตาม แต่มีเท็กซ์อิดิเตอร์หนึ่งที่ไม่มีใครไม่รู้จัก นั่นคือ “Visual Studio Code” หรือ “VS Code” ที่เรารู้จักกันนั่นเอง VS Code นั้นถือเป็นเท็กซ์อิดิเตอร์ที่ถูกพัฒนาขึ้นโดยบริษัทยักษ์ใหญ่อย่าง Microsoft สามารถติดตั้งใช้งานได้ทั้งระบบปฏิบัติการ Windows, Linux รวมถึง macOS ก็ได้เช่นกัน VS Code นั้นเป็นที่นิยมสูงอันดับต้น ๆ … Read more

กว่าจะมาถึงฟังก์ชัน main ต้องทำอะไรบ้างนะ?

หลาย ๆ ท่านที่กำลังเขียนโปรแกรมหรือเคยเรียนเขียนโปรแกรมมาอาจจะรู้จักกันดีกับฟังก์ชันที่ชื่อว่า main ซึ่งในภาษา C นั้น ฟังก์ชัน main มักจะถูกบอกกล่าวว่าเป็นจุดเริ่มต้นของการทำงานโปรแกรม จริง ๆ แล้วในเชิงลึกนั้น โปรแกรมนั้นไม่ได้เริ่มจาก ฟังก์ชัน main แต่จะเริ่มจากสิ่งที่เรียกว่า startup routine ซึ่งเจ้าสิ่งนี้แหละเป็นส่วนสำคัญต่อการทำให้โปรแกรมทำงานครับ ทั้งนี้ผู้เขียนได้นำบทความที่น่าสนใจของเรื่องนี้จากต่างประเทศ มาแปลให้ผู้ที่สนใจได้อ่านกันครับ สงสัยจริง ๆ ก่อนฟังก์ชัน main มีอะไร? การเขียนโปรแกรมโดยใช้ภาษา C บน Windows หรือ Linux/UNIX จะเขียนโปรแกรมตั้งแต่ในฟังก์ชัน main เป็นต้นไป อย่างไรก็ตาม ดังที่กล่าวขั้นต้นโปรแกรมไม่ได้เริ่มต้นด้วยฟังก์ชัน main ก่อนหน้าฟังก์ชัน main นั้นจะมีสิ่งที่เรียกว่า startup routine อยู่ครับ ในเชิงงาน embedded หรือ งานที่เกี่ยวข้องกับบอร์ด microcontroller จำเป็นต้องทำความเข้าใจ startup routine เพื่อให้โปรแกรมทำงาน อีกทั้งในบางครั้งการดีบักโปรแกรมโดยที่ไม่รู้ว่า … Read more

ทำความรู้จักกับ RISC-V

หากพูดถึงสถาปัตยกรรมคอมพิวเตอร์ที่เป็นที่รู้จักในปัจจุบันหลายๆคนอาจจะนึกถึงสถาปัตยกรรม x86 จาก Intel และ AMD ในอุปกรณ์จำพวก Desktop PC/Server หรือสถาปัตยกรรม ARM ที่ให้ผู้ผลิตต่างๆซื้อ License เพื่อไปผลิตและปรับแต่งเองในอุปกรณ์จำพวก Smart phone หรือ Microcontroller แต่ในตอนนี้กำลังมีอีกสถาปัตยกรรมที่กำลังได้รับความสนใจเพิ่มขึ้นมานั่นก็คือสถาปัตยกรรมที่มีชื่อว่า RISC-V RISC-V คืออะไร RISC-V (ออกเสียงว่า risk five) เป็นสถาปัตยกรรมคอมพิวเตอร์แบบ RISC ที่ถูกวิจัยและพัฒนาขึ้นที่ University of California, Berkeley ในปี 2010 โดยชื่อ RISC-V สื่อมาจากว่าเป็นงานวิจัยที่เกี่ยวกับสถาปัตยกรรม RISC รุ่นที่ 5 ของศาสตราจารย์ David Patterson หนึ่งในผู้ร่วมออกแบบ RISC-V  และในปี 2015 ก็ได้จัดตั้ง RISC-V Foundation ขึ้นมาเพื่อดูแล และจัดการแนวทางเกี่ยวกับการพัฒนาตัว RISC-V ต่อไป … Read more

SoC คืออะไร ต่างจากหน่วยประมวลผลแบบอื่นอย่างไรกันนะ

Photo by Pixabay บางคนอาจจะไม่เคยได้ยินคำว่า SoC หรือ System on Chip หรือใครที่อยู่ในวงการสมาร์ทโฟนก็อาจจะเคยได้ยินกันมาบ้างว่า ชิปบนสมาร์ทโฟนหรือแท็บเล็ตนั้นล้วนแต่เป็นชิปแบบ SoC แล้ว SoC มันคืออะไรกันแน่นะ วันนี้จึงจะมาสรุปข้อมูลพื้นฐานเกี่ยวกับ SoC กันค่ะ SoC คืออะไร ต่างจากหน่วยประมวลผลแบบอื่นอย่างไรกันนะ SoC ย่อมาจากคำว่า System on Chip ซึ่งเมื่อแปลตรงตัวในภาษาไทยก็คือ “ระบบที่อยู่บนชิป” นั่นก็คือ การออกแบบชิปโดยนำวงจรและส่วนประกอบอิเล็กทรอนิกส์ต่างๆ ที่เป็นส่วนประกอบบนคอมพิวเตอร์หลายๆ ตัวรวมถึงไมโครคอนโทรลเลอร์หรือไมโครโพรเซสเซอร์ไปไว้ในบนชิปเพียงตัวเดียว ภาพแสดงถึงส่วนประกอบที่ถูกรวมอยู่ภายใน SoCPhoto by appcodelabs จุดเริ่มต้นของ SoC เทคโนโลยีชิป SoC นั้นได้ถูกประดิษฐ์สำเร็จครั้งแรกในนาฬิกาดิจิตอลในปี 1974 ซึ่งสำหรับตัว SoC ที่อยู่บนนาฬิกาดิจิตอลเรือนนี้ได้รวมแผงวงจร LCD สำหรับหน้าจอนาฬิกา วงจรจับเวลา กับชิป Intel 5810 CMOS เข้าเป็นชิปเดียวกันจากจุดเริ่มต้นตรงนี้นำไปสู่การพัฒนาชิป SoC เครื่องคิดเลขอิเล็กทรอนิกส์ … Read more

แนะนำโมดูล ESP32 มีแบบไหนบ้าง เลือกใช้อย่างไรดีนะ

หลาย ๆ คนน่าจะคุ้นหูหรือรู้จัก ESP32 มากันบ้างแล้วใช่ไหมล่ะ ? สาเหตุก็คงเป็นเพราะในทุกวันนี้ IoT (Internet of Things) เข้ามามีบทบาทในชีวิตประจำวันเรามากขึ้นเรื่อย ๆ อุปกรณ์หลาย ๆ อย่างรอบตัวก็เริ่มมีความสามารถในการเชื่อมต่อกับอินเทอร์เน็ต ทำให้ผู้ใช้สามารถเข้าถึงข้อมูลของอุปกรณ์ได้สะดวกมากขึ้นไม่ว่าจะอยู่ที่ไหนก็ตามขอแค่มีอินเทอร์เน็ตเท่านั้น

มารู้จัก ARM CPU กันดีกว่า

Photo by Vishnu Mohanan on Unsplash α╕½α╕Ñα╕▓α╕ó α╣å α╕äα╕Öα╕ùα╕╡α╣êα╕äα╕╕α╣ëα╕Öα╣Çα╕äα╕óα╕üα╕▒α╕Üα╕üα╕▓α╕úα╣Çα╕èα╣çα╕äα╕¬α╣Çα╕¢α╕üα╕äα╕¡α╕íα╕₧α╕┤α╕ºα╣Çα╕òα╕¡α╕úα╣îα╕½α╕úα╕╖α╕¡α╣éα╕ùα╕úα╕¿α╕▒α╕₧α╕ùα╣î α╕üα╣çα╕äα╕çα╕êα╕░α╣Çα╕äα╕óα╣Çα╕½α╣çα╕Öα╕äα╕│α╕ºα╣êα╕▓ ARM α╕ùα╕╡α╣êα╕¡α╕óα╕╣α╣êα╣âα╕Öα╕½α╕▒α╕ºα╕éα╣ëα╕¡ CPU α╣üα╕Üα╕Üα╕£α╣êα╕▓α╕Öα╣åα╕òα╕▓α╕üα╕▒α╕Öα╕íα╕▓α╕Üα╣ëα╕▓α╕ç α╣Çα╕₧α╕╖α╣êα╕¡α╕Öα╣åα╣Çα╕äα╕óα╕¬α╕çα╕¬α╕▒α╕óα╕üα╕▒α╕Öα╕íα╕▒α╣ëα╕óα╕ºα╣êα╕▓ ARM α╕äα╕╖α╕¡α╕¡α╕░α╣äα╕ú α╣Çα╕¡α╕▓α╣äα╕¢α╣âα╕èα╣ëα╕çα╕▓α╕Öα╕¡α╕░α╣äα╕úα╣äα╕öα╣ëα╕Üα╣ëα╕▓α╕ç α╕ºα╕▒α╕Öα╕Öα╕╡α╣ëα╣Çα╕úα╕▓α╕êα╕░α╣Çα╕Ñα╕óα╕íα╕▓α╕Öα╕│α╣Çα╕¬α╕Öα╕¡α╕Üα╕ùα╕äα╕ºα╕▓α╕íα╕êα╕▓α╕üα╕òα╣êα╕▓α╕çα╕¢α╕úα╕░α╣Çα╕ùα╕¿α╕íα╕▓α╕¬α╕úα╕╕α╕¢ α╣âα╕½α╣ëα╣Çα╕₧α╕╖α╣êα╕¡α╕Ö α╣å α╣äα╕öα╣ëα╕úα╕╣α╣ëα╕êα╕▒α╕üα╕½α╕Öα╣ëα╕▓α╕ùα╕╡α╣êα╣üα╕Ñα╕░α╕¢α╕úα╕░α╣éα╕óα╕èα╕Öα╣îα╕éα╕¡α╕ç ARM α╕üα╕▒α╕Ö α╕äα╕ºα╕▓α╕íα╣Çα╕¢α╣çα╕Öα╕íα╕▓α╕éα╕¡α╕ç ARM ARM α╕ûα╕╣α╕üα╕₧α╕▒α╕Æα╕Öα╕▓α╕äα╕úα╕▒α╣ëα╕çα╣üα╕úα╕üα╣éα╕öα╕óα╕Üα╕úα╕┤α╕⌐α╕▒α╕ù Acorn Computer Limited α╣âα╕Öα╕¢α╕╡ 1983~1985 α╣Çα╕¢α╣çα╕Öα╣éα╕¢α╕úα╣Çα╕ïα╕¬α╣Çα╕ïα╕¡α╕úα╣î RISC α╕òα╕▒α╕ºα╣üα╕úα╕üα╕ùα╕╡α╣êα╕ûα╕╣α╕üα╕Öα╕│α╕íα╕▓α╕₧α╕▒α╕Æα╕Öα╕▓α╣âα╕Öα╣Çα╕èα╕┤α╕çα╕₧α╕▓α╕ôα╕┤α╕èα╕óα╣î α╕òα╣êα╕¡α╕íα╕▓α╣âα╕Öα╕¢α╕╡ 1990 α╣äα╕öα╣ëα╣üα╕óα╕üα╕¡α╕¡α╕üα╕íα╕▓α╣Çα╕¢α╣çα╕Öα╕Üα╕úα╕┤α╕⌐α╕▒α╕ù Advanced RISC Machines Limited α╣éα╕öα╕óα╕íα╕╡α╣Çα╕¢α╣ëα╕▓α╕½α╕íα╕▓α╕óα╣Çα╕₧α╕╖α╣êα╕¡α╕éα╕óα╕▓α╕óα╕üα╕▓α╕úα╣âα╕èα╣ëα╕çα╕▓α╕Öα╣Çα╕ùα╕äα╣éα╕Öα╣éα╕Ñα╕óα╕╡ ARM α╣éα╕öα╕óα╣Çα╕ëα╕₧α╕▓α╕░ α╣üα╕Ñα╕░α╣âα╕Öα╣Çα╕ºα╕Ñα╕▓α╕Öα╕▒α╣ëα╕Öα╣Çα╕¡α╕ç ARM6 α╕ïα╕╢α╣êα╕çα╣Çα╕¢α╣çα╕Ö α╕£α╕Ñα╕┤α╕òα╕áα╕▒α╕ôα╕æα╣î ARM α╕òα╕▒α╕ºα╣üα╕úα╕üα╕üα╣çα╣äα╕öα╣ëα╕ûα╕╖α╕¡α╕üα╕│α╣Çα╕Öα╕┤α╕öα╕éα╕╢α╣ëα╕Öα╕íα╕▓ α╕ùα╕▓α╕çα╕£α╕╣α╣ëα╕₧α╕▒α╕Æα╕Öα╕▓α╣äα╕öα╣ëα╕òα╕▒α╣ëα╕çα╕èα╕╖α╣êα╕¡α╣éα╕¢α╕úα╣Çα╕ïα╕¬α╣Çα╕ïα╕¡α╕úα╣îα╕òα╕▒α╕ºα╕Öα╕╡α╣ëα╕ºα╣êα╕▓ Advanced RISC … Read more