<< Go Back

ภาษาโลโก้ เป็นภาษาที่ใช้สัญลักษณ์หรือคำสั่งง่าย ๆ แทนการทำงานของระบบไมโครคอนโทรลเลอร์ ซึ่งสื่อความหมาย สามารถทำให้ผู้ใช้งานสามารถเข้าใจได้ทันที หลักการทำงานของภาษาโลโก้นั้น จะต้องพึ่งเครื่องมือที่สำคัญคือ ตัวแปลภาษาโลโก้ ซึ่งจะทำหน้าที่แปลภาษาของโปรแกรมที่เขียนขึ้น เพื่อส่งต่อไปยังไมโครคอนโทรลเลอร์ให้เข้าใจและทำงานได้ตามที่เราต้องการโดยหลักการทำงานของภาษาโลโก้จะต้องประกอบด้วยส่วนสำคัญ 2 ส่วนด้วยกันคือ
1. ส่วนฮาร์ดแวร์ เป็นส่วนไมโครคอนโทรลเลอร์ที่บรรจุโปรแกรมแปรภาษาโลโก้(LOGO Interpreter) ลงในหน่วยความจำโปรแกรมภายในตัว และต่อหน่วยความจำเพิ่มเติมเพื่อใช้เก็บโปรแกรมที่ผู้ใช้เขียนขึ้น
2. ส่วนซอฟต์แวร์ เป็นส่วนที่ทำหน้าที่เป็นพื้นที่เขียนโปรแกรมหรือ เท็กซ์เอดิเตอร์(Text Editor) จากนั้นจะทำการตรวจสอบไวยกรณ์หรือหลักภาษาของโปรแกรม พร้อมทั้งคอมไพล์โปรแกรมที่ผู้ใช้เขียนขึ้นให้อยู่ในรูปของ ไบต์โค้ด (Byte Code) ซึ่งตัวอินเตอร์พรีตเตอร์สามารถเข้าใจและนำไปประมวลผลได้ และยังใช้ดาว์นโหลดหรือส่งไบต์โค้ดจากคอมพิวเตอร์ไปยังตัวอินเตอร์พรีตเตอร์อีกด้วยชุด LOGO 877 สามารถเขียนโปรแกรมควบคุมการทำงานได้2 รูปแบบ  คือ

แบบกราฟิก โดยใช้โปรแกรม Logo Blocksเป็นการเขียนโปรแกรมโดยการนำเอาบล็อกของคำสั่งต่าง ๆ มาวางต่อกัน
แบบตัวอักษร จะใช้โปรแกรม Cricket Logoซึ่งเป็นโปรแกรมแบบ Open Source ซึ่งการเขียน โปรแกรมในลักษณะนี้จะเหมือนกับการเขียนโปรแกรมบน Text Editor ทั่วไป

1. การติดตั้งโปรแกรม Logo Blocks ตัวไฟล์โปรแกรมจะอยู่ในแผ่นซีดีรอม ให้ทำตามขั้นตอน ดังต่อไปนี้ ดับเบิลคลิกที่ไฟล์ติดตั้ง (Install Logo Blocks1.01)

2. คลิกที่ปุ่ม         ที่หน้าต่าง Introduction

3. คลิกที่ปุ่ม        ที่หน้าต่าง Choose Install Folder

4. คลิกที่ปุ่ม     ที่หน้าต่าง Choose Shortcut Folder

5. คลิกที่ปุ่ม         ที่หน้าต่าง Pre-Installation Summary

6. โปรแกรมจะทำการติดตั้ง Logo Blocks ในขั้นตอนนี้ให้รอสักครู่โปรแกรมจะขึ้นหน้าต่าง  Install Complete ให้คลิกที่ปุ่ม Done  เป็นอันเสร็จสิ้น    ขั้นตอนการติดตั้งโปรแกรม Logo Blocks

เมื่อการติดตั้งโปรแกรมเสร็จเรียบร้อย และทำการเปิดโปรแกรมขึ้นมาครั้งแรก จะปรากฏหน้าต่างของโปรแกรม Logo Blocks ดังรูป

 

เมื่อติดตั้งโปรแกรม Logo Blocks   เสร็จเรียบร้อยแล้ว ในการเรียกใช้งานให้เรียกโปรแกรมจากเมนู Start เหมือนโปรแกรมบนวินโดวส์ทั่วไป โดยไปที่เมนู Programs  เลือกคำสั่ง  Logo Blocks  เลือกคำสั่ง  Logo Blocks หลังจากที่เปิดโปรแกรมขึ้นมา โปรแกรมจะเปิดหน้าต่าง About ขึ้นมาก่อนเพื่อแสดง รุ่นของโปรแกรม วันเดือนปีที่ ผลิตโปรแกรม และผู้สร้างโปรแกรมนี้ขึ้นมา จากนั้นส่วนหน้าต่าง About ก็จะหายไปเอง

เมนูคำสั่งของโปรแกรม Logo Blocks

เมนู File        ประกอบด้วยคำสั่งย่อยดังนี้   

#  New              ใช้สร้างโปรแกรมใหม่ขึ้นมา โดยโปรแกรมจะแสดงหน้าต่าง
#  Open             ใช้เปิดไฟล์ที่เคยบันทึกไว้ ถ้าใช้คำสั่งนี้ในขณะที่มีงานค้างอยู่ที่หน้าจอ
#  Save              ใช้บันทึกงานเดิมที่นำมาแก้ไขใหม่
#  Save as          ใช้บันทึกงานที่สร้างขึ้นมาใหม่ หรืองานเดิมที่ต้องการเปลี่ยนชื่อใหม่
#  Quit               ใช้ออกจากโปรแกรม

  เมนู Edit       ประกอบด้วยคำสั่งย่อยดังนี้

#  Undo                        เป็นการยกเลิกการกระทำคำสั่งครั้งสุดท้าย หลังจากยกเลิกแล้ว เมนู Undo จะกลายเป็นเมนู Redo แทนเพื่อให้ผู้ใช้สามารถยกเลิกคำสั่ง Undo ได้
#  Cut               เป็นคำสั่งตัดบล็อกที่เลือกไว้แล้ว เพื่อรอคำสั่ง Paste นำบล็อกที่ตัดไปวาง ในตำแหน่งที่ต้องการ Copy เป็นคำสั่งคัดลอกบล็อกที่เลือกไว้ เพื่อรอ คำสั่ง Paste นำบล็อกที่คัดลอกไปวางในตำแหน่งที่ต้องการ
#  Paste             นำบล็อกที่ได้จากคำสั่ง Cut หรือคำสั่ง Copy มาวางไว้ที่หน้าต่าง สร้างบล็อก
#  Clear                        เป็นการลบบล็อกที่ได้เลือกไว้ออกจากหน้าต่างสร้างบล็อก
#  Select All      เป็นการเลือกบล็อกทั้งหมดที่แสดงอยู่บนหน้าจอ
#  Preferences   เป็นคำสั่งเรียกเข้าสู่หน้าต่างการกำหนดค่าเบื้องต้นให้กับโปรแกรม  ใช้เลือกพอร์ตอนุกรมเพื่อติดต่อสื่อสารกับ Logo Interpreter

เมนู Projects ประกอบด้วยคำสั่งย่อยดังนี้

#   Download Block       ทำหน้าที่ในการดาว์นโหลดโปรแกรมที่เราเขียนขึ้น     ลงบนตัวบอร์ดที่มี Logo Interpreter รันอยู่ การทำงานของเมนูนี้ เหมือนกับปุ่มดาว์นโหลดที่อยู่ด้านล่างซ้ายของหน้าต่างโปรแกรม Logo Blocks

            เมื่อเราคลิกที่     Download Block เพื่อดาว์นโหลด เมนูจะยังคง ค้างที่หน้าจอ จนกว่าการดาว์นโหลดจะเสร็จสิ้น และถ้าคลิกที่ปุ่ม Download เพื่อทำการดาว์นโหลดนั้น ตัวปุ่ม Download จะจมลงไป จนกว่าการดาว์นโหลดจะเสร็จสิ้น ปุ่มจึงจะคืนตัวกลับมา

#   Display Logo Code   เป็นการแสดงภาษา Logo แบบตัวอักษร จากบล็อกโปรแกรมที่ เราเขียนขึ้น

#   Run Selected Blocks                         เป็นคำสั่งใช้ Run เฉพาะบล็อกที่ต้องการตามที่ได้เลือกไว้ โดยโปรแกรม Logo Blocks จะดาว์นโหลดเฉพาะบล็อกนั้นไปยังบอร์ดที่มี Logo Interpreter รันอยู่แล้วสั่งให้ทำงานทันที
#   Compress Procedure Blocks             เป็นการบีบอัดบล็อกโปรแกรมย่อยให้อยู่ในรูปของบล็อก ๆ  เดียวโดยที่บล็อกโปรแกรมนั้นยังทำงานได้ตามปกติ

#   OpenUp  Procedure Blocks เป็นการขยายบล็อกโปรแกรมย่อยที่ถูกบีบอัดให้ เป็นปกติเหมือนเดิม

#   Clicket Monitor       เป็นหน้าต่างที่ใช้แสดงค่าที่รับมาจากบอร์ด Logo เมื่อบอร์ด Logo ทำคำสั่ง Send

 

บล็อกคำสั่งทั้งหมดที่ใช้ในการเขียนโปรแกรมเพื่อพัฒนาบอร์ด นั้นสามารถแบ่งออกได้เป็น 5 กลุ่ม โดยแต่ละกลุ่มจะมีพื้นสีของบล็อกที่แตกต่างกันไป เพื่อจุดประสงค์ให้จดจำได้ง่าย

                     เป็นกลุ่มแสดงลักษณะการทำงาน ใช้บล็อกสีเขียว

                     เป็นกลุ่มคำสั่งกำหนดเงื่อนไขการควบคุมการทำงานใช้บล็อกสีเหลือง

                     เป็นกลุ่มคำสั่งที่เกี่ยวกับอุปกรณ์เซ็นเซอร์ ใช้บล็อกสีแดง

                     เป็นกลุ่มคำสั่งที่เกี่ยวกับลอจิก ตัวเลข และการคำนวณทางคณิตศาสตร์ ใช้บล็อกสีน้ำเงิน

                     เป็นกลุ่มคำสั่งเกี่ยวกับโปรแกรมย่อย ใช้บล็อกสีม่วง

บล็อกคำสั่งในกลุ่ม Action (สีเขียว)

˜                 คำสั่งหมุนมอเตอร์ 

˜                        เป็นคำสั่งให้ มอเตอร์ A หรือ มอเตอร์ B  หรือทั้งมอเตอร์ A และ B  หมุนตัวอย่างการใช้งาน

                       ตัวอย่างการใช้งาน

                คำสั่งหยุดมอเตอร์ 

˜                        เป็นคำสั่งให้มอเตอร์ A หรือมอเตอร์ B หรือทั้งมอเตอร์ a และ b หยุดหมุน

                       ตัวอย่างการใช้งาน

                คำสั่งกำหนดทิศทางของมอเตอร์ไปด้านหน้าหรือไปด้านหลัง

                       -  thisway        เป็นคำสั่งที่กำหนดให้มอเตอร์หมุนไปข้างหน้า ไม่ว่าก่อนหน้านี้มอเตอร์จะหมุนไปทิศทางใดก็ตาม

                       -  thatway        เป็นคำสั่งที่กำหนดให้มอเตอร์หมุนไปข้างหลัง ไม่ว่าก่อนหน้านี้มอเตอร์จะหมุนไปทิศทางใดก็ตาม

                        ตัวอย่างการใช้งาน

                คำสั่งกำหนดทิศทางการหมุนไปในทิศตรงข้าม   

                       reverse       เป็นคำสั่งที่กำหนดให้มอเตอร์หมุนไปในทิศตรงกันข้าม กับทิศทางการหมุนก่อนหน้านี้

                       ตัวอย่างการใช้งาน

                คำสั่งให้มอเตอร์ทำงานตามเวลาที่กำหนด   

                       onfor      เป็นคำสั่งที่กำหนดให้มอเตอร์หมุนเท่ากับจำนวนเวลาที่กำหนดหลังจากนั้นให้ออกไปทำงานในคำสั่งอื่นต่อไป

                       ตัวอย่างการใช้งาน

                คําสั่งส่งเสียงออกลําโพง   

                       beep         เป็นคำสั่งส่งเสียง “ ติ้ด “ ออกทางลำโพง 1 ครั้ง

                       ตัวอย่างการใช้งาน

                คำสั่งหน่วงเวลา   

                       wait            ใช้หน่วงเวลาตามคาบเวลาที่กำหนด โดยสามารถกำหนดได้สูงสุดเท่ากับ 65,535 มีหน่วยเป็น 0.1 วินาที

                       ตัวอย่างการใช้งาน

                คำสั่งอ่านค่านับเวลาจากไทเมอร์และรีเซตค่านับเวลา   

                       -  timer           เป็นตัวไทเมอร์ที่ทำงานอย่างอัตโนมัติในตัว Logo877 ซึ่งตัวไทเมอร์นี้จะเริ่มต้นนับค่าจาก 0 ถึง 65,535 แล้วเริ่มต้นนับใหม่

                       -  resettime         รีเซตค่าไทเมอร์ให้เริ่มต้นนับใหม่

                       ตัวอย่างการใช้งาน

                คำสั่งสร้างช่องว่างเพื่อป้องกันการซ้อนทับ   

                       - Blank           บล็อกนี้ใช้เมื่อไม่ต้องการให้บล็อกที่วางต่อกันนั้น เกิดการซ้อนทับกัน บล็อกนี้ไม่มีผลใด ๆ กับการทำงานของโปรแกรม

 

บล็อกคำสั่งในกลุ่ม Sensor (สีแดง)

                บล็อกสวิตช์ 

                       -  switch         ให้ผลลัพธ์ออกมาเป็นสถานะลอจิกคือ ถูกกดเป็นลอจิก 1 และ ไม่ถูกกดเป็นลอจิก 0 มีตำแหน่งของสวิตซ์ให้เลือก 2 จุดคือ switcha และ switch

                       ตัวอย่างการใช้งาน

                บล็อกเซนเซอร์ sensor   

                       ตัวอย่างการใช้งาน

                บล็อกส่งค่าข้อมูลแบบอนุกรม send 

                       เป็นคำสั่งที่ใช้ส่งข้อมูล ที่อ่านได้จากเซนเซอร์ หรือข้อมูลตัวแปรหรือข้อมูลที่ได้จากการสุ่ม ๆ ค่ารูปแบบการส่งข้อมูลเหมือนกับมาตรฐานการสื่อสารอนุกรมทั่ว ๆ ไปคือ
                       - 9,600 บิตต่อวินาที
                       - ไม่มีพาริตี้ ( non parity )
                       - จำนวนบิตข้อมูล ( data ) 8 บิต
                       - บิตหยุด ( stop ) 1 บิต

                       ตัวอย่างการใช้งาน

  คำสั่งสำหรับบันทึกและเรียกคืนค่าข้อมูล

                เป็นคำสั่งที่ทำงานกับพื้นที่ ที่ใช้เก็บข้อมูลซึ่งมีขนาด 28,672 ไบต์ สามารถรักษาข้อมูลที่เก็บไว้ได้โดยไม่มีไฟเลี้ยงจ่ายให้ คำสั่งที่เกี่ยวข้องมีดังนี้

                บล็อกสำหรับบันทึกค่าข้อมูล   record   

                บล็อกคำสั่งจะนำข้อมูลที่ตามมาด้านหลังไปบันทึกไว้ในหน่วยความจำที่ชี้โดยตัวชี้ข้อมูล( Data Pointer ) หรือ DP จากนั้นจะเพิ่มค่าตัวชี้ข้อมูลขึ้น 1 ค่า เพื่อชี้ข้อมูลในตำแหน่งถัดไป

                บล็อกสำหรับลบค่าข้อมูล   erase 

                บล็อกสำหรับเคลียร์ค่าตัวชี้ข้อมูล   resetdp   

                       ตัวอย่างการใช้งาน

บล็อกคำสั่งในกลุ่ม Control (สีเหลือง)

                คำสั่งรอจนเงื่อนไขเป็นจริง waituntil 

                       บล็อกคำสั่งการทำงาน จะวนลูปอยู่ที่เดิม จนกว่าเงื่อนไขที่กำหนดไว้จะเป็นจริง

                       ตัวอย่างการใช้งาน

                คำสั่งวนลูปซ้ำตามจำนวนรอบที่ระบุ repeat 

                       บล็อกคำสั่งการทำงานของโปรแกรม จะวนรอบทำซ้ำโปรแกรมที่ตามมาด้านล่าง จนกว่าจะครบตามตัวเลขที่กำหนดไว้ โดยสามารถกำหนดตัวเลขได้ตั้งแต่ 1 ถึง 65,535

                       ตัวอย่างการใช้งาน

                คําสั่งวนรอบการทํางานแบบไม่สิ้นสุด   loop   

                       บล็อกคำสั่งการทํางานของโปรแกรม จะวนทําคําสั่งไปเรื่อย ๆ ไม่มีการหยุด

                       ตัวอย่างการใช้งาน

                คำสั่งตรวจสอบเงื่อนไข ทำคำสั่งถ้าที่เงื่อนไขเป็นจริง if than   

                       บล็อกคำสั่งของโปรแกรมจะทำการตรวจสอบบล็อกขวามือด้านบน ถ้าเงื่อนไขเป็นจริง ให้ทำคำสั่งที่บล็อกขวามือด้านล่าง ถ้าเงื่อนไขไม่เป็นจริงให้ข้ามไปทำคำสั่งถัดไป

                       ตัวอย่างการใช้งาน

                คําสั่งตรวจสอบเงื่อนไข ทางเลือก 2 ทาง if then else   

                       บล็อกคำสั่งของโปรแกรมทำการตรวจสอบเงื่อนไขในบล็อกขวาด้านบน ถ้าเงื่อนไข
เป็นจริง ให้ทำงานตามคำสั่งของบล็อกด้านล่างทางซ้ายมือ แต่ถ้าเงื่อนไขเป็นเท็จ ให้ทำงานตามคำสั่งของบล็อกด้านล่างทางขวามือ

                       ตัวอย่างการใช้งาน

 

บล็อกคําสั่งในกลุ่ม Number (สีน้ำเงิน)

                บล็อกสําหรับกําหนดค่าตัวแปร  global variable 

                       ใช้สําหรับกําหนดตัวแปร เพื่อนําไปใช้งานในโปรแกรม ในการกําหนดค่าตัวแปร 1 ตัวนั้น จะปรากฏบล็อกสําหรับกําหนดค่าตัวแปร และบล็อกค่าตัวแปรนั้น ๆ ขึ้นมา

                       ตัวอย่างการใช้งาน

                บล็อกกำหนดค่าตัวแปร   number 

                       ค่าที่กำหนดได้มีค่าตั้งแต่ 0 - 65,535

                บล็อกสำหรับสุ่มค่าตัวเลข   random

                       สามารถสุ่มตัวเลขได้ตั้­งแต่ 0 - 255 โดยสามารถกำหนดช่วงการสุ่มได้ด้วยการดับเบิลคลิกที่บล็อกนี้

                       ตัวอย่างการใช้งาน

                บล็อกสําหรับเปรียบเทียบค่าตัวเลข   < , > , =   

                       สามารถนำค่าข้อมูลที่ได้จากเซนเซอร์ , ค่าจากบล็อก random หรือค่าตัวแปรนำมาเปรียบเทียบค่ากัน เพื่อนำไปใช้กับคำสั่งตรวจสอบเงื่อนไขต่าง ๆ

                บล็อกคําสั่งประมวลผลทางลอจิก  and , or

                          And       ใช้เปรียบเทียบเงื่อนไขทางลอจิก 2 เงื่อนไข ถ้าเงื่อนไขทั้งสองเป็นจริงทั้งคู่ผลลัพธ์ที่ได้จะเป็นจริง แต่ถ้าเงื่อนไขตัวใดตัวหนึ่งเป็นเท็จ ผลลัพธ์ที่ได้จะเป็นเท็จ

                          Or          ใช้เปรียบเทียบเงื่อนไขทางลอจิก 2 เงื่อนไข ถ้าเงื่อนไขทั้งสองเป็นเท็จทั้งคู่ ผลลัพธ์ที่ได้จะเป็นเท็จ แต่ถ้ามีเงื่อนไขตัวใดตัวหนึ่งเป็นจริง ผลลัพธ์ที่ได้จะเป็นจริง

                       ตัวอย่างการใช้งาน

                บล็อกคําสั่งประมวลผลทางคณิตศาสตร์   + , - , x , /

                       ในการประมวลผลทางตัวเลขสามารถทําได้สูงสุด 16 บิต

บล็อกคำสั่งในกลุ่ม Procedure

                บล็อกโปรแกรมหลัก  main

                       เป็นบล็อกเริ่มต้นของทุกโปรแกรมสามารถเรียกใช้งานบล็อกนี้จากโปรแกรมหลักได้เพื่อให้โปรแกรมทำงานซ้ำ

                       ตัวอย่างการใช้งาน

                บล็อกเริ่มต้นโปรแกรมย่อย  proc   

                       เพื่อลดความซับซ้อน จึงควรแยกโปรแกรมในส่วนต่าง ๆ ออกเป็นโปรแกรมย่อย โดยเมื่อสร้าง โปรแกรมย่อยขึ้นมาตัวหนึ่ง โปรแกรม Logo Blocks จะช่วยสร้างบล็อกสำหรับนำโปรแกรมย่อยไปใช้งานให้ทันทีโดยอัตโนมัติ

 

                       ตัวอย่างการใช้งาน

                บล็อกสร้างชุดคำสั่ง

                       ในการใช้ภาษา Logo Blocks นั้นบางทีถ้าเราต้องการเขียนโปรแกรมที่มีความซับซ้อนหรือโปรแกรมที่ภาษา Logo Blocks ไม่สามารถเขียนได้ เราก็อาจใช้บล็อกสร้างชุดคำสั่งมาช่วยได้ โดยการเขียนโปรแกรมโลโก้แบบตัวอักษรลงในช่อง Enter Code แล้วเลือกไปที่โหมด Make blocks for procedure calls เพื่อให้โปรแกรม Logo Blocks สร้างบล็อกคำสั่งขึ้นมาใหม่ ซึ่งเราสามารถเรียกใช้งานชุดคำสั่งที่เขียนขึ้นได้

                       ตัวอย่างการใช้งาน

 

<< Go Back