Professional Documents
Culture Documents
เริ่มต้นใช้งานโปรแกรม MATLAB Simulink แบบพื้
เริ่มต้นใช้งานโปรแกรม MATLAB Simulink แบบพื้
คำนำ
การโปรแกรมมิง่ คอมพิวเตอร์ดว้ ยภาษาแบบใช้รูปภาพ (Graphic User Interface: GUI)
ในปั จจุบนั ได้รบั การพัฒนาไปไกลมาก มีความง่าย สะดวก และคุณ สมบัติอ่นื ที่น่าสนใจมากขึ้น
สามารถตอบโจทย์ของผูใ้ ช้งานได้ตรงตามความต้องการ โปรแกรม MATLAB เป็ นภาษาโปรแกรม
ที่ส ืบ ทอดและพัฒ นามาจากภาษา FORTRAN ถู กออกแบบให้ม าใช้งานด้านการค านวณทาง
คณิตศาสตร์โดยเฉพาะ จึงเป็ นแพลตฟอร์มทีส่ าคัญสาหรับการศึกษาด้านวิศวกรรม วิทยาศาสตร์
และการวิจยั เป็ นเครื่องมือที่น่าสนใจอย่างมากสาหรับผู้เริม่ ต้น จุดเด่นที่เห็นได้ชดั ของโปรแกรม
MATLAB คือ ไม่จาเป็ นต้องประกาศประเภทตัวแปร หรือชนิดของข้อมูล ล่วงหน้ า ยิง่ ถ้าเป็ นการ
คานวณข้อมูลประเภท เวกเตอร์ เมทริกซ์ อาร์เรย์หลายมิติ และจานวนเชิงซ้อนแล้ว โปรแกรม
MATLAB มีความง่ายและสะดวกในการใช้งานอย่างมาก
MATLAB GUI เป็ นโปรแกรมมิง่ คอมพิวเตอร์ด้วยรูปภาพโปรแกรมหนึ่งที่เต็มไปด้วย
คุณสมบัติท่นี ่ าใช้งาน และมีสมรรถนะสูงด้านการคานวณทางคณิตศาสตร์ และการอินเทอร์เฟซ
ติดต่อประสานกับผูใ้ ช้งาน เครื่องมือสาหรับการสร้าง GUI ทีน่ าเสนอนี้สามารถเรียนรูแ้ ละนาไปใช้
งานได้กบั ผูใ้ ช้งานหลายระดับได้แก่ นักเรียนระดับมัธยมศึกษาตอนปลาย ระดับ ปวช. ปวส. และ
นักศึกษาในระดับปริญ ญาตรี สาขาวิศวกรรมศาสตร์และวิทยาศาสตร์ ครู-อาจารย์ นักวิชาการ
นักวิจยั หรือผูท้ ส่ี นใจ จะเป็ นคู่มอื หรือหนังสือที่จะช่วยให้การเรียนรูก้ ารใช้งานโปรแกรมได้ง่ายขึน้
สะดวก รวดเร็วในการทาความเข้าใจและนาไปใช้งาน
หวัง เป็ นอย่ า งยิ่ ง ว่ า ต าราเล่ ม นี้ จ ะช่ ว ยเปิ ดมุ ม มองใหม่ ๆ ในการโปรแกรมมิ่ ง
คอมพิวเตอร์สาหรับผู้เริม่ ต้นที่กาลังมองหาเครื่องมือในการเขียนโปรแกรมที่เป็ นภาษาแรก หรือ
เป็ นภาษาทางเลือกสาหรับผูใ้ ช้งานการโปรแกรมคอมพิวเตอร์อยู่แล้ว
สุวทิ ย์ เมาะราษี
มิถุนายน 2562
(ผูเ้ ขียน)
สารบัญ
เรื่อง หน้ า
ปกใน (1)
ข้อมูลหนังสือ (2)
เกีย่ วกับผูเ้ ขียน (3)
คานา (4)
สารบัญ (5)
การโปรแกรมภาษา MATLAB (MATLAB Programming)
บทที่ 1 แนะนา MATLAB และการติ ดตัง้ 1-1
บทนา ................................................................................................................... 1-1
1.1 คุณลักษณะของโปรแกรม MATLAB ........................................................... 1-1
1.2 ลักษณะการโปรแกรมและการทางานของ MATLAB ................................... 1-2
1.3 จุดเริม่ ต้นของโปรแกรม MATALB .............................................................. 1-3
1.4 ส่วนประกอบสาคัญของ MATLAB .............................................................. 1-4
1.5 โปรแกรม MATLAB Simulink...................................................................... 1-9
1.6 ส่วนประกอบสาคัญของ MATLAB Simulink ................................................ 1-10
1.7 การติดตัง้ โปรแกรม MATLAB ..................................................................... 1-15
ระบบปฏิบตั กิ ารทีร่ องรับ - R2018b ........................................................... 1-15
ตรวจสอบสมรรถนะของระบบปฏิบตั กิ ารและเครื่องคอมพิวเตอร์ ............... 1-15
ดาวน์โหลดไฟล์ตดิ ตัง้ โปรแกรม MATLAB .................................................. 1-17
1) การลงทะเบียนสมาชิก (Log in or create account) ..................... 1-18
2) ดาวน์โหลดโปรแกรมติดตัง้ .......................................................... 1-23
3) การติดตัง้ โปรแกรม MATLAB r2018b ......................................... 1-26
สรุปท้ายบท ......................................................................................................... 1-34
สารบัญ (ต่อ)
เรื่อง หน้ า
กาหนดชื่อตัวแปร ....................................................................................... 2-10
ตัวแปรในเวิรค์ สเปซ ................................................................................... 2-11
2.4 เลขจานวนและฟั งก์ชนั ............................................................................... 2-12
หมายเหตุ: คาแนะนา.................................................................................. 2-17
2.5 การเขียนโค้ดและภาษาสคริปต์ .................................................................. 2-18
หมายเหตุ: ข้อสังเกต .................................................................................. 2-19
รันโค้ดไฟล์สคริปต์ ...................................................................................... 2-21
โครงสร้างของการเขียนโค้ด: ไฟล์สคริปต์ ................................................... 2-22
หมายเหตุ: ข้อสังเกต .................................................................................. 2-24
2.6 ข้อผิดพลาดและการตรวจสอบโปรแกรม .................................................... 2-25
แจ้งเตือนข้อผิดพลาด ................................................................................. 2-25
แบบแปลนของโปรแกรม ............................................................................ 2-27
หมายเหตุ: ข้อแนะนา ................................................................................. 2-29
2.7 การใช้งาน Debugger .................................................................................. 2-29
สรุปท้ายบท ......................................................................................................... 2-32
สารบัญ (ต่อ)
เรื่อง หน้ า
ดึงค่าเอลิเมนต์ในเวกเตอร์ (Sub-vectors) ........................................ 3-14
การต่อเวกเตอร์ (Vector Concatenating) ......................................... 3-16
คาสัง/ฟั
่ งก์ชนั ทางสถิติ (Statistical functions) .................................. 3-17
3.5 ฟั งก์ชนั rand และ randi .............................................................................. 3-18
สรุปท้ายบท ......................................................................................................... 3-20
บทที่ 5 คาสังควบคุ
่ มโปรแกรม 5-1
บทนา ................................................................................................................... 5-1
5.1 การทางานแบบมีเงือ่ นไข............................................................................ 5-2
สารบัญ (ต่อ)
เรื่อง หน้ า
คาสัง่ if – end ............................................................................................. 5-2
คาสัง่ if – else – end .................................................................................. 5-3
คาสัง่ if – elseif – else – end ...................................................................... 5-4
5.2 คาสังเงื่ อ่ นไขเชิงตรรกะ .............................................................................. 5-6
หมายเหตุ: ข้อแนะนา ................................................................................. 5-7
5.3 Logical variables......................................................................................... 5-7
5.4 การทางานแบบวนซ้า ................................................................................. 5-10
คาสัง่ for – end ........................................................................................... 5-10
หมายเหตุ: ข้อแนะนา ................................................................................. 5-11
คาสัง่ while – end ....................................................................................... 5-11
5.5 การทางานแบบเลือกเงือ่ นไข คาสัง่ switch – case ..................................... 5-13
สรุปท้ายบท ......................................................................................................... 5-14
สารบัญ (ต่อ)
เรื่อง หน้ า
บทที่ 7 เริ่ มต้นใช้งาน MATLAB Simulink 7-1
บทนา ................................................................................................................... 7-1
7.1 แนะนา MATLAB Simulink.......................................................................... 7-1
7.2 การเปิ ดใช้งาน MATLAB Simulink .............................................................. 7-3
7.3 การสร้างโมเดล (Creating a Model)............................................................ 7-9
การเปิ ดและจัดหน้าต่างทางาน ................................................................... 7-9
การเลือกบล็อกเซตชุดคาสัง่ ....................................................................... 7-10
การเลือกและปรับขนาดบล็อกเซต .............................................................. 7-12
การเลือกมากกว่า 1 บล็อกเซต................................................................... 7-13
การแสดงชื่อบล็อกเซต ............................................................................... 7-14
การกาหนดชื่อให้กบั บล็อกเซต ................................................................... 7-14
การ Duplicate บล็อกเซต............................................................................ 7-14
การกาหนดสีให้กบั บล็อกเซต ..................................................................... 7-16
การสร้างเส้นเชื่อมต่อระหว่างบล็อกเซต ..................................................... 7-17
การสร้างเส้นเชื่อมต่อแบบอัตโนมัติ ............................................................ 7-18
วิธกี ารสร้างเส้นเชื่อมต่ออัตโนมัตริ ะหว่าง 1 บล็อกเซต .................... 7-18
วิธกี ารสร้างเส้นเชื่อมต่ออัตโนมัตเิ ป็ นกลุ่มบล็อกเซต ....................... 7-18
การสร้างเส้นแยกสาขา ............................................................................... 7-19
การจัดตาแหน่งเส้นเชื่อม ............................................................................ 7-20
การแทรกบล็อกเซตเข้าไปในเส้นเชื่อม ....................................................... 7-20
การดึงบล็อกเซตออกจากเส้นเชื่อม ............................................................ 7-21
คาอธิบายประกอบบล็อกเซต...................................................................... 7-21
การตัง้ ค่าคุณสมบัตบิ ล็อกคาอธิบาย ................................................. 7-23
บล็อกคาอธิบายสัญลักษณ์ทางคณิตศาสตร์ ............................................... 7-24
หมายเหตุ: ข้อสังเกต .................................................................................. 7-26
สร้างเส้นเชื่อมต่อแนวทแยงมุม .................................................................. 7-29
การจัดแนวตาแหน่งของบล็อกเซต ............................................................. 7-31
การระบุพน้ื ทีใ่ ห้กบั กลุ่มบล็อกเซต .............................................................. 7-32
สารบัญ (ต่อ)
เรื่อง หน้ า
การสร้างพืน้ ทีก่ ลุ่มบล็อกเซต ........................................................... 7-32
การเปลีย่ นสีพน้ื หลังให้กบั พืน้ ทีก่ ลุ่มบล็อกเซต................................. 7-33
การย้ายพืน้ ทีก่ ลุ่มบล็อกเซต ............................................................. 7-34
การสร้างระบบย่อย (Sub-System) ............................................................. 7-35
หมายเหตุ: ข้อแนะนา ................................................................................. 7-36
การเปิ ดระบบย่อย Sub-System .................................................................. 7-37
7.4 การรันโปรแกรมและพืน้ ฐานซิมมูเลชัน ....................................................... 7-38
การควบคุมการรันโปรแกรมด้วยปุ่มควบคุม ............................................... 7-39
สังรั
่ นและหยุดโปรแกรมชัวคราวเป็่ นสเต็ป ....................................... 7-41
การควบคุมการรันโปรแกรมด้วยบล็อกเซต ................................................ 7-42
การใช้บล็อกเซต “Stop” .................................................................... 7-42
หมายเหตุ: ข้อแนะนา ................................................................................. 7-43
การใช้บล็อกเซต “Assertion” สาหรับการหยุดชัวคราว ่ (Pause) ....... 7-44
7.5 หน้าต่าง Simulink Editor (เพิม่ เติม) ............................................................ 7-47
ส่วนประกอบหน้าต่างโดยรวม Editor Layout .............................................. 7-47
Title bar ............................................................................................ 7-47
Menu bar และ Toolbar ..................................................................... 7-48
Palette menu .................................................................................... 7-48
Explorer bar ..................................................................................... 7-49
Model Browser ................................................................................. 7-49
7.6 การใช้งาน Simulation Stepper ................................................................... 7-49
สถานะการใช้งาน Simulation Stepper ........................................................ 7-51
การปรับตัง้ พารามิเตอร์ .............................................................................. 7-52
7.7 การใช้งาน Conditional Breakpoints ............................................................ 7-54
การเพิม่ จุดและการแก้ไขจุด Conditional Breakpoints ................................. 7-55
ข้อจากัด Conditional Breakpoints ............................................................... 7-56
แสดงข้อมูลทีจ่ ุด Conditional Breakpoints ................................................... 7-57
7.8 การเรียกใช้งานคาสังด้ ่ วยคียด์ ่วนและเมาส์ ................................................. 7-59
สารบัญ (ต่อ)
เรื่อง หน้ า
คียด์ ่วนสาหรับมุมมอง/วิวโมเดล ................................................................. 7-59
คียด์ ่วนสาหรับแก้ไขโมเดล ......................................................................... 7-59
คียด์ ่วนสาหรับจัดการโมเดล ....................................................................... 7-60
คียด์ ่วนสาหรับ Simulation และ Code Generation ...................................... 7-60
คียด์ ่วนสาหรับ Debugging และ Breakpoints.............................................. 7-61
7.9 การอัพเดทคุณลักษณะของไดอะแกรม ...................................................... 7-61
7.10 การพิมพ์โมเดลเบือ้ งต้น ............................................................................. 7-65
การพิมพ์บล็อกไดอะแกรมระบบย่อย (Sub-System) .................................. 7-67
7.11 คานวณสมการคณิตศาสตร์ดว้ ยโมเดล ....................................................... 7-70
ตัวอย่างที่ 1: แปลงค่าอุณหภูมจิ ากหน่วยองศาฟาเรนไฮน์
เป็ นองศาเซลเซียส ..................................................................................... 7-70
ตัวอย่างที่ 2: แปลงหน่วยอุณหภูมิ โมเดล 2.............................................. 7-82
1) เงือ่ นไขโปรแกรม ......................................................................... 7-83
2) แยกส่วนประกอบไดอะแกรมจากสมการ ..................................... 7-83
3) การเขียนโมเดล ........................................................................... 7-84
4) การตัง้ ค่าคุณสมบัตบิ ล็อกเซต...................................................... 7-85
5) การรันโปรแกรม .......................................................................... 7-90
6) ผลลัพธ์การรันโปรแกรม .............................................................. 7-91
ตัวอย่างที่ 3: การคานวณสมการเชิงอนุพนั ธ์............................................. 7-94
1) เงือ่ นไขโปรแกรม ......................................................................... 7-94
2) แยกส่วนประกอบไดอะแกรมจากสมการ ..................................... 7-94
3) การเขียนโมเดล ........................................................................... 7-95
4) การตัง้ ค่าคุณสมบัตบิ ล็อกเซต...................................................... 7-96
5) การรันโปรแกรม .......................................................................... 7-100
6) ผลลัพธ์การรันโปรแกรม .............................................................. 7-100
7) สร้างและปรับปรุงบล็อกไดอะแกรม ............................................. 7-101
8) การรันโปรแกรมและผลลัพธ์ ........................................................ 7-104
สรุปท้ายบท ......................................................................................................... 7-106
สารบัญ (ต่อ)
เรื่อง หน้ า
บทที่ 8 ชนิ ดของข้อมูลบน Simulink 8-1
บทนา ................................................................................................................... 8-1
8.1 ชนิดของข้อมูลทีส่ นับสนุนบน MATLAB Simulink ....................................... 8-1
8.2 การแสดงชนิดข้อมูลบนเส้นเชื่อมต่อ ........................................................... 8-2
หมายเหตุ: ข้อแนะนา ................................................................................. 8-5
8.3 มาตรฐานข้อมูลบน Simulink...................................................................... 8-5
8.4 ชนิดข้อมูลแบบจุดตรึง Fixed-Point............................................................ 8-5
8.5 การแปลงชนิดข้อมูลด้วยบล็อกเซต Data type conversion ....................... 8-6
สรุปท้ายบท ......................................................................................................... 8-8
สารบัญ (ต่อ)
เรื่อง หน้ า
2) เงือ่ นไขโปรแกรม ......................................................................... 9-24
3) เขียนโมเดล/บล็อกไดอะแกรม ..................................................... 9-25
4) การตัง้ ค่าคุณสมบัตบิ ล็อกเซต...................................................... 9-25
5) กาหนดคุณสมบัตกิ ารรันโปรแกรม............................................... 9-30
6) ผลลัพธ์การรันโปรแกรม .............................................................. 9-30
9.3 บล็อกเซตทางานแบบวนซ้า (Iterator Control Flow Statements) ............ 9-34
บล็อกเซต For Iterator Subsystem ............................................................. 9-35
1) การตัง้ ค่าคุณสมบัตบิ ล็อกเซต ..................................................... 9.37
2) กาหนดคุณสมบัตกิ ารรันโปรแกรม .............................................. 9.38
3) ผลลัพธ์การรันโปรแกรม .............................................................. 9.39
หมายเหตุ: ข้อแนะนา ................................................................................. 9.39
บล็อกเซต บล็อกเซต While-do Iterator Subsystem ................................... 9.40
1) การตัง้ ค่าคุณสมบัตบิ ล็อกเซต ..................................................... 9.42
2) กาหนดคุณสมบัตกิ ารรันโปรแกรม .............................................. 9.44
3) ผลลัพธ์การรันโปรแกรม .............................................................. 9.44
หมายเหตุ: ข้อแนะนา ................................................................................. 9.45
บทที่ 2
เริ่มต้นใช้งาน MATLAB
บทนำ
ในฐานะที่โ ปรแกรม MATLAB เป็ นเครื่อ งคิด เลขที่ท รงพลัง และเป็ นแพลตฟอร์ม
(Platform) ทีเ่ ต็มไปด้วยสมรรถนะสาหรับการเขียนโปรแกรมทีม่ คี วามง่าย และมีความสะดวกเหมาะ
สาหรับผู้เริม่ ต้นใหม่ เนื้อหาในบทนี้จะเป็ นการเรียนรู้การใช้งานโปรแกรม MATLAB แบบพื้นฐาน
หรือฉบับเบื้องต้นก่อนเป็ นอันดับแรก ซึ่งจะนาเสนอตัวอย่างและการนาไปใช้งานจะเน้นทางด้าน
ตัวเลข และการแก้ไขปั ญหาทางคณิตศาสตร์พน้ื ฐานแบบง่ายๆ ฝึกเขียนโค้ดตอบโต้การโปรแกรมมิง่
แบบทีละคาสัง่ (Immediate Mode) เรียนรูเ้ รื่องของตัวแปร และการใช้งานฟั งก์ชนั ทางคณิตศาสตร์
เป็ นต้น เพือ่ ให้ผใู้ ช้งานมีความคุน้ เคยและมีทกั ษะการใช้งานโปรแกรมเพิม่ ขึน้ ดังนี้
ใช้งานโปรแกรม MATLAB Desktop เพือ่ ประมวลผลคาสังบนหน้ ่ าต่าง Command
Window
สร้างตัวแปร และกาหนดค่าให้กบั ตัวแปร
เรียกใช้งานฟั งก์ชนั ทางคณิตศาสตร์ เช่น sine, cosine และ exponential เป็ นต้น
เรียนรูก้ ารหาข้อมูลเพิม่ เติมจาก Help ของ MATLAB
ฝึกเขียนโค้ดและโปรแกรมมิง่ แบบทีละคาสัง่ (Immediate mode code writing)
กาหนดค่าตัวแปร คานวณหาคาตอบ และแสดงผลลัพธ์บนหน้าต่าง Command
Window
ฝึกเขียนโค้ด ทดสอบการทางานโปรแกรม (MATLAB debugger) และรันไฟล์สคริปต์
(Script Mode code writing) บนหน้าต่าง Editor Window
ดับเบิ้ลคลิก
คลิกไอคอน
คลิกเลือก
รูปที่ 2.1 เรียกใช้งาน MATLAB จากหน้าเดสก์ทอ็ ป และ Start หรือ Programs menu
Command Window
Current Folder browser
Workspace Window
คลิกไอคอน
พิมพ์คำสั่ง
รูปที่ 2.7 การเรียกใช้งานโปรแกรม Editor สาหรับการเขียนโค้ด
รูปที่ 2.8 หน้าต่าง Figure ทีเ่ รียกใช้งานโดยใช้คาสัง่ figure และ plot บน Command window
ดับเบิ้ลคลิก
คลิกไอคอน
Pull-Down เมนู
คลิกเลือก
กำหนดชื่อตัวแปร
ชื่อของตัวแปร <Variable names> MATLAB อนุ ญาตให้ใช้ช่อื ตัวแรกต้องเป็ นตัวอักษร
(ภาษาอังกฤษ) ห้ามใช้ตวั เลขเป็ นตัวแรก จากนัน้ จะใช้อกั ษรหรือตัวเลขก็ได้ ไม่อนุญาตให้ใช้อกั ขระ
พิเศษใดๆ แต่ใช้เครื่องหมายขีดล่างได้ ( _ , Underscores) อีกอย่างหนึ่งชื่อตัวแปรจะประกาศชื่อ
ยาวๆ ได้ แต่ขอให้มคี วามเหมาะสมและถูกต้อง ถ้ายาวมากเกินจาเป็ นอาจเกิดความผิดพลาดได้
เมื่อเราเขียนโค้ดและนาไปใช้งานจริง ตัวอย่างการกาหนดชื่อให้กบั ตัวแปรแสดงดังตารางที่ 2.1
ตัวแปรในเวิร์กสเปซ
ตัวแปรทัง้ หมดทีเ่ รากาหนดขึ้นนัน้ โปรแกรม MATLAB จะจัดการเก็บไว้ทห่ี น่วยความจา
ของคอมพิวเตอร์โดยอัตโนมัติ และแสดงให้เห็นอยู่ทห่ี น้าต่าง Workspace เมื่อผูใ้ ช้งานปิ ดโปรแกรม
MATLAB หรือเคลียร์เซสชันด้วยคาสัง่ “clear” บน Command window แล้ว ตัวแปรต่างๆ ในหน้าต่าง
Workspace จะถูกลบหายไป
แต่ว่าโปรแกรม MATLAB ได้ออกแบบให้ผู้ใช้งานสามารถบันทึกไฟล์ตวั แปรต่างๆ แล้ว
โหลดกับ มาใช้ง านได้ ใ นภายหลัง หลัง จากที่ไ ด้ปิ ด โปรแปรมไปแล้ว นี้ เ ป็ น จุ ด เด่ น ข้อ หนึ่ ง ของ
โปรแกรม MATLAB ยังมีคาสังที ่ ่จาเป็ นที่จะต้องจดจาและเรียนรู้ ซึ่งจะเกี่ยวข้องกับตัวแปรและใช้
จัดการตัวแปรต่างๆ ในหน้าต่าง Workspace ดังนี้
ตัวอย่างการใช้คาสังต่
่ างๆ เกี่ยวกับตัวแปรบนหน้าต่าง Workspace แสดงดังรูปที่ 2.16
จะเป็ นการเรียกใช้งานคาสัง่ เกี่ยวกับ whos, who, clear ส่วนคาสังอื ่ ่นๆ ตามตารางที่ 2.2 ผูใ้ ช้งาน
สามารถสร้างตัวแปรขึน้ มาแล้วทดลองใช้คาสังและดู
่ ผลลัพธ์ทเ่ี กิดขึน้ ด้วยตัวของท่านเอง
2.4 เลขจำนวนและฟังก์ชัน
เลขจานวนในโปรแกรมภาษา MATLAB จะกาหนดค่าเริม่ ต้นเป็ นประเภท Double ให้โดย
อัตโนมัติ ไม่ว่าผูใ้ ช้งานจะกาหนด/สร้างค่าตัวเลขให้กบั ตัวแปรใดๆ หรือคานวณทางคณิตศาสตร์ใดๆ
ระหว่างตัวแปรด้วยกันก็ตาม แสดงผลลัพธ์ดงั รูปที่ 2.17
กับ การแสดงผลด้า นข้อ มู ล ตัว เลขของโปรแกรม MATLAB ยกตัว อย่ า ง เช่ น ตัว เลขจ านวน
3.141592653589793 x 1018 เมื่อผูใ้ ช้งานนาตัวเลขไปเขียนคาสัง่ โดยจะป้ อนบน Command window
จะสามารถเขียนได้ คือ 3.141592653589793e18 หรือ 3.141592653589793 x 10^18 (เครื่องหมาย
^ คือ ตัว เลขยกก าลัง ) ซึ่ง ให้ผ ลลัพ ธ์เ ท่ากัน โปรแกรม MATLAB จะแสดงผลลัพ ธ์ บ นหน้ า ต่ า ง
Command window ด้วยค่า 3.1416e+18 แสดงดังรูปที่ 2.18
ส่ ว นตัว เลขจ านวนเชิ ง ซ้ อ น ( Complex numbers, a+jb ) เป็ น จ านวนตัว เลขหนึ่ ง ที่
โปรแกรม MATLAB ออกแบบให้ผู้ใช้สามารถคานวณหาผลลัพธ์ ได้ ไม่ว่าจะเป็ นการบวก -การลบ
การคูณ-การหาร แม้กระทังการหาผลลั
่ พธ์ของสมการจานวนเชิงซ้อน เป็ นต้น
ทดลองเขียนค าสังการค
่ านวณทางคณิต ศาสตร์ข องจ านวนเชิง ซ้อ น ได้แก่ การบวก
การลบ การคูณ การหาร และหาผลลัพธ์สมการทีอ่ ยู่ในรูปจานวนเชิงซ้อน แสดงดังรูปที่ 2.20 – 2.21
p1 x n + ... + pn x + pn +1 = 0 (2.0)
หมายเหตุ
มาตรฐานสัญลักษณ์ตวั กระทาทางคณิตศาสตร์ รวมทัง้ ฟั งก์ชนั อื่นๆ ผู้ใช้งานสามารถ
ศึกษาได้จาก Help หรือ Documentation ของโปรแกรม MATLAB ได้ โดยคลิกเลือกแท็บ HOME
และคลิกเลือกไอคอนคอนโทรล Help แสดงดังรูปที่ 2.23
คลิกเลือก
2.5 การเขียนโค้ดและภาษาสคริปต์
จากหัวข้อทีผ่ ่านๆ มา ได้นาเสนอและแสดงตัวอย่างการใช้งานคาสังเกี ่ ่ยวกับการคานวณ
ทางคณิตศาสตร์ไปบ้างแล้ว ถ้าต้องการเขียนคาสังเพื ่ ่อแก้ไขปั ญหาคณิตศาสตร์จะต้องดาเนินการ
อย่างไรบ้าง เขียนคาสังอะไร ่ รันคาสังที ่ ไ่ หน เห็นผลลัพธ์เป็ นอย่างไร ส่วนหัวข้อนี้ จะนาเสนอการ
เขียนโค้ดทีจ่ ะทาให้ผใู้ ช้งานได้มองเห็นประโยชน์ และสมรรถนะของโปรแกรม MATLAB มากขึน้ กว่า
ทีเ่ ห็นว่าเป็ นได้มากกว่าเครื่องคิดเลขขนาดใหญ่แค่นนั ้
อี ก อย่ า งหนึ่ ง หัว ข้ อ นี้ จ ะน าเสนอการเขีย นโค้ ด หรือ การใช้ ภ าษาสคริ ป ต์ เ พื่ อ ให้
คอมพิวเตอร์แก้ไขปั ญหาหรือคานวณโจทย์ทม่ี ลี กั ษณะคล้ายๆ กัน เพียงแต่เปลีย่ นแค่ขอ้ มูลอินพุท
นาเข้า หรือถ้าหากผูใ้ ช้งานต้องการคานวณซ้าๆ หลายรอบ การเขียนโค้ดและรันด้วยไฟล์สคริปต์จะ
เป็ นแนวทางหนึ่ง ที่เ หมาะสม ทาให้ส ะดวก และประหยัดเวลากว่ า การที่จ ะต้อ งมาคีย์ค าสัง่ บน
Command window ซ้าๆ
ยกตัวอย่าง โจทย์ทางวิทยาศาสตร์ ที่หลายท่านอาจจะคุ้นเคยตอนสมัยเรียนมัธยมต้น
การคานวณค่าอุณหภูมเิ มื่อเปลีย่ นหน่วยอุณหภูมริ ะหว่างองศาฟาเรนไฮต์ (Fahrenheit: F) กับองศา
องศาเซลเซียส (Celsius: C) โดยจะต้องมีตวั แปรหรือค่าทีจ่ ะต้องกาหนด แสดงดังสมการข้างล่าง
9
แปลงองศา C เป็ นองศา F F = C + 32 (2.1)
5
5
แปลงองศา F เป็ นองศา C C = ( F − 32) (2.2)
9
คลิกไอคอน
พิมพ์คำสั่ง
รูปที่ 2.24 การเรียกใช้งานโปรแกรม Editor สาหรับการเขียนโค้ด
เขีย นโค้ด แล้ว ท าการบัน ทึก ไฟล์ส คริป ต์ ช่ือ “CFConversion.m” โดยคลิก ที่ ไ อคอน
คอนโทรล Save และเลือกเมนู Save จะปรากฏหน้าต่าง หรือ dialog box “Select File for Save As”
ทาการเลือกโฟลเดอร์บนั ทึกไฟล์ และตัง้ ชื่อไฟล์ เสร็จแล้วคลิกปุ่ม “Save” ดังรูปที่ 2.26
ข้อสังเกต
หน้าต่างหรือ dialog box “Select File for Save As” สาหรับบันทึกไฟล์งาน ถ้าผู้ใช้งาน
บันทึกไฟล์ลงบนโฟลเดอร์ “C:\Program Files\MATLAB\R2018b\bin” MATLAB จะไม่อนุญาตให้
บันทึกข้อมูลใดๆ ลงในโฟลเดอร์หรือไดเรกทรอรีน้ี เนื่องจากเป็ นโฟลเดอร์ระบบสาหรับ การทางาน
ของ MATLAB เท่านัน้ เมื่อจะรันโค้ดหรือจะบันทึกไฟล์งานใดๆ ให้ผู้ใช้งานเปลี่ยนแปลงโฟลเดอร์
ปั จจุบัน เป็ นโฟลเดอร์ส าหรับรันโปรแกรมที่ส ร้างขึ้นโดยเฉพาะ หากผู้ใ ช้งานไม่เ ปลี่ยนแปลง
ไดเรกทรอรี โปรแกรม MATLAB จะแสดงหน้าต่างแจ้ง เตือนการเขียน/อ่านไฟล์บนโฟลเดอร์ระบบ
ของ MATLAB ดังรูป 2.25
เริม่ ต้นใช้งานโปรแกรม MATLAB IDE
(Getting Started with MATLAB IDE) บทที่ 2
หน้า 2–20 MATLAB IDE Programming
โฟลเดอร์ระบบของโปรแกรม
รูปที่ 2.25 dialog box “Select File for Save As” การบันทึกไฟล์งานลงโฟลเดอร์ระบบของ MATLAB
คลิกไอคอน
คลิกเลือก
เส้นทางโฟลเดอร์ใหม่
พิมพ์ชื่อไฟล์
คลิกปุ่ม
รูปที่ 2.26 บันทึกไฟล์งาน
รันโค้ดไฟล์สคริปต์
เมื่อบันทึกไฟล์โค้ด โปรแกรมแล้ว ทาการทดสอบการรันไฟล์สคริปต์ โดยคลิกที่ไอคอน
คอนโทรล “Run” (สีเขียว) บนโปรแกรม Editor แสดงดังรูปที่ 2.27 หรือกดคียด์ ่วน F5
คลิกไอคอน
“Change Folder” ดังรูปที่ 2.28 ต่อจากนัน้ MATLAB จะเปลีย่ น Current Folder ไปเป็ นโฟลเดอร์ท่ี
บันทึกไฟล์งานทันที (สามารถสังเกตได้ทห่ี น้าโปรแกรม MATLAB IDE)
ต่อจากนัน้ โค้ดที่เขียนขึ้นจะถูก ประมวลผล และแสดงผลลัพธ์บนหน้าต่าง Command
window แสดงดังรูปที่ 2.8
คลิกปุ่ม
โครงสร้างของการเขียนโค้ด/ไฟล์สคริปต์
การเขียนโค้ด/ไฟล์สคริ ปต์ที่ดี ควรจะมีรายละเอียดหรือโครงสร้างที่ประกอบด้วย
ส่วนต่างๆ ที่มีและแสดงสาระสาคัญๆ ซึ่งผูใ้ ช้งานควรทีจ่ ะเรียนรูแ้ ละทาความเข้าใจ เพราะว่ามี
ประโยชน์อย่างมากเมื่อต้องการนามาพัฒนาหรือแก้ไขในคราวต่อไป โครงสร้างของการเขียนโค้ด
ดังกล่าวควรประกอบด้วยสาระสาคัญ (แสดงดังรูปที่ 2.29) ดังนี้
Head block
Initial block
ข้อสังเกต
การแบ่งโครงสร้างของโค้ด หรือไฟล์สคริปต์ออกเป็ นส่วนๆ ดังที่กล่าวแล้วข้างต้น นัน้
จะสังเกตเห็นเครื่องหมาย %%... จะเป็ นตัวบ่งบอกบล็อกของส่วนต่างๆ ถ้าหากเป็ นคาอธิบายหรือ
Comment อื่นๆ จะใช้เครื่องหมาย % เพียงเครื่องหมายเดียว แสดงดังรูปที่ 2.29
บรรทัด ว่าง ส าหรับ ตัว แปรภาษาของ MATLAB ( Interpreter ) จะยกเว้น หรือ ข้ามไป
ผูเ้ ขียนโค้ดสามารถสร้างบรรทัดว่างได้หลายๆ บรรทัดเพื่อแบ่งช่วงแต่ละบล็อกออกเป็ นส่วนๆ และ
ทาให้การมองเห็นโค้ด สังเกตได้งา่ ย ชัดเจน เด่นชัดขึน้ ได้
คาสัง่ disp(…) เป็ นคาสังพิ
่ มพ์ผลลัพธ์หรือแสดงผลออกทางหน้าต่าง Command window
สามารถพิมพ์ค่าข้อมูลประเภทตัวเลข (Double, Integer) และข้อความ (String, Char) ได้ในบรรทัด
เดียวกัน เพียงแต่ตอ้ งคันข้
่ อมูล/ตัวแปรแต่ละตัวด้วยเครื่องหมายคอมม่า (,) ดังตัวอย่างด้านล่าง
disp(['<text>',num2str(<variablename>)]);
2.6 ข้อผิดพลาดและการตรวจสอบโปรแกรม
ข้อผิดพลาด และข้อบกพร่องเป็ นเรื่องปกติทอ่ี าจจะเกิดขึน้ เมื่อต้องทดสอบโปรแกรมหรือ
นาโปรแกรมไปใช้งานจริง เป็ นธรรมชาติของโปรแกรมที่จะต้องแจ้งเตือ นหรือแสดงข้อความให้
ผู้ออกแบบหรือผู้สร้างโปรแกรมทราบว่ามีสงิ่ ไม่ปกติเกิดขึ้น ซึ่งอาจส่งผลลัพธ์ท่ขี ดั แย้งเชิงตรรกะ
ความถูกต้องแม่นยาของโปรแกรม เพื่อให้ผเู้ ขียนโค้ดได้รแู้ ละแก้ไขให้มคี วามถูกต้อง สมบูรณ์ทส่ี ุด
ฉะนัน้ ไม่ต้องไปแปลกใจอะไรๆ กับข้อผิดพลาดที่อาจจะเกิดขึ้นกับโปรแกรมของเรา ผมเองคิดว่า
“สิ บขายังรู้พลาด นักปราชญ์ยงั รู้พลัง้ ” กิ้งกือมีขาเป็ นร้อยยังเดินตกบ่อตกท่อได้ นับประสาอะไร
กับคนสองขา จะไม่พลาดกันบ้าง
แจ้งเตือนข้อผิดพลาด
ผูพ้ ฒั นาโปรแกรม/ผูเ้ ขียนโค้ดต้องทาความเข้าใจให้ตรงกันก่อนว่า การได้มาซึ่งโปรแกรม
ดีๆ หรือ โค้ด ดีๆ มาใช้ง านนั น้ ได้ม าจากกระบวนการเขีย นโปรแกรม บ่ อ ยๆ หรือ ได้ม าจาก
ประสบการณ์ทงั ้ สิน้ เมื่อมีขอ้ ผิดพลาดเกิดขึน้ แล้วได้ทาการแก้ไขข้อผิดพลาดนัน้ ตรวจสอบซ้าแล้ว
ซ้าอีก ในทีส่ ุดจึงได้โปรแกรมทีท่ างานได้ถูกต้อง
โปรแกรม MATLAB จะมีระบบตรวจสอบข้อผิดพลาดมาให้พร้อม เพื่อแจ้งเตือนให้ผเู้ ขียน
โค้ดทราบเกี่ยวกับการตัง้ ชื่อตัวแปร การใช้เครื่องหมายทางคณิตศาสตร์ การใช้งานฟั งก์ชนั และการ
ระบุพ ารามิเ ตอร์ท่ีไ ม่เ หมาะสม เป็ นต้น ทาให้ง่าย สะดวกต่อ การแก้ไขโค้ดให้ถู กต้อ งตามหลัก
ไวยากรณ์ (MATLAB syntax) ทัง้ 2 หน้าต่าง คือ เขียนโค้ดบน Command window และเขียนโค้ดบน
MATLAB Editor แสดงดังรูปที่ 2.30
ข้อความแจ้งเตือนการผิดพลาด
สัญลักษณ์แจ้งเตือนการผิดพลาด
แบบแปลนของโปรแกรม
ผูเ้ ขียนมีแนวความคิดว่า การเขียนโปรแกรมก็เปรียบเหมือนการสร้างบ้าน ถ้าสร้างบ้าน
ไม่อาศัยแบบแปลนหรือโมเดล/แบบจาลองทีอ่ ยากจะสร้างให้มนั สาเร็จ บ้านหลังนัน้ อาจจะได้ไม่ตรง
ตามทีจ่ นิ ตนาการไว้ หรืออาจจะสร้างไม่เสร็จเลยก็ได้
โปรแกรมก็เช่นเดียวกัน จะต้องมีแบบแปลนซึ่งจะเป็ นเหมือนไกด์ไลน์นาทางให้เราเขียน
โค้ดเพือ่ ประมวลผล คานวณ ให้ได้ผลลัพธ์ทถ่ี ูกต้อง ตรงตามความต้องการได้
ตามหลักการแล้ว ผู้เขียนโค้ดควรที่จะต้องมีโครงร่างของโปรแกรมเสียก่อน จึงทาการ
เขียนโค้ดตามโครงร่างนัน้ โครงร่างที่ว่านี้ คือ โค้ดสัญลักษณ์ (pseudo code) หรือ ผังงานของ
โปรแกรม (Flow chart) ซึง่ จะเป็ นไกด์ไลน์ หรือแผนทีน่ าทางอย่างดีให้ผเู้ ขียนโค้ด ได้ดาเนินงานให้
สาเร็จได้อย่างรวดเร็ว ไม่เกิดความผิดพลาด และสามารถนาโค้ดมาพัฒนาต่อในภายหลังได้ง่ายขึน้
แสดงโค้ดสัญลักษณ์ และผังงานโปรแกรม ดังรูปที่ 2.32 เป็ นตัว อย่างแบบแปลนของ
โปรแกรมบวกเลข 5 จานวน แสดงให้เห็นความง่ายถึงล าดับขัน้ ตอนของบล็อกค าสังส่ ่ ว นต่ างๆ
ได้แ ก่ บล็อ กค่ าเริ่มต้น บล็อ กตัว แปรอินพุ ทที่จ ะต้อ งใช้ง าน บล็อ กการค านวณ และบล็อ กการ
แสดงผลลัพธ์ เป็ นต้น
ข้อแนะนำ
ข้อแนะนาประการหนึ่ง จากประสบการณ์การเขียนโค้ดเพื่อไม่ให้เกิดขึ้นผิดพลาด หรือ มี
บักในภายภาคหน้า เมื่อได้โครงร่างหรือผังงานของโปรแกรมแล้ว ไม่ควรเขียนโค้ดให้เสร็จในครัง้
เดียวแล้วจึงรันโค้ด/ทดสอบโปรแกรม ควรเขียนโค้ดไปด้วยและทดสอบผลลัพธ์ไปด้วยพร้อมๆ กัน
ซึ่งเป็ นการดีบกั กิ้ง/ตรวจสอบความผิดพลาดไปในขัน้ ตอนเดียวกัน จะทาให้โปรแกรมมีขอ้ ผิดพลาด
น้อย และแก้ไขปั ญหาโค้ดได้เร็วกว่าการทีจ่ ะต้องมาแก้ไขโค้ดจานวนหลายๆ บรรทัด ตามหลักการ
พื้นฐานการเขียน/พัฒนาโปรแกรมที่ว่า “Start small and add gradually.” หรือถ้าผู้ใช้งานมีความ
คล่องตัว เชี่ยวชาญหรือ สะดวกแบบเขียนรวดเดียวจบแล้ว จึงทดสอบโค้ดก็ส ามารถทาได้ไ ม่ผ ิด
กฎหมายหรือข้อห้ามใดๆ
คลิกไอคอนคอนโทรล
คลิกเลือก
จุดเริ่มต้น Break-point
รูปที่ 2.35 กาหนดจุดเริม่ ต้น Break-point
ไอคอนคอนโทรล
จุดเริ่มต้น Break-point
4) รัน โค้ ด โดยคลิก ไอคอนคอนโทรล Run ปุ่ มสีเ ขีย ว บนแท็บ EDITOR หน้ า ต่ า ง
โปรแกรม Editor จะเข้าสู่โหมด Debugger จะมีรูปลูกศรสีเขียวปรากฏขึ้นหลังเครื่องหมายสีแดง ที่
บรรทัด 11 แสดงดังรูปที่ 2.36 และไอคอนคอนโทรลสาหรับใช้งานดีบกั ได้แก่ “Continue” “Step”
และ “Quit Debugging” จะปรากฏขึน้ พร้อมกัน ดังรูป
คลิกเลือก
สรุปท้ายบท
โปรแกรม MATLAB เป็ นโปรแกรมทีม่ สี มรรถนะสูง จากตัวอย่างทีน่ าเสนอข้างต้น เป็ นการ
ใช้งานตัวแปรเก็บข้อมูลเพียงค่าเดียว แล้วนาไปประมวลผล ในบทต่อๆ ไปจะนาเสนอข้อมูลทีอ่ ยู่ใน
รูปของ Array สามารถเก็บข้อมูลได้ทงั ้ ประเภทตัวเลข และสตริง (ตัวอักษร) จะได้เรียนรู้และเห็น
ประสิทธิภาพการจัดการข้อมูลตัวเลขแบบ Array ด้วยคาสังต่ ่ างๆ ของ MATLAB ทีส่ ามารถจัดการ
ข้อมูลได้งา่ ย สะดวก และประมวลผลข้อมูลจานวนมากได้อย่างรวดเร็ว
บทที่ 7
เริ่มตนใชงาน MATLAB Simulink แบบพื้นฐาน
บทนำ
เนื้อหาในบทนี้จะเป็ นการเรียนรูก้ ารใช้งานโปรแกรม MATLAB Simulink แบบปูพ้นื ฐาน
เริม่ ตัง้ แต่เบือ้ งต้นเหมาะสําหรับผูท้ ไ่ี ม่เคยเขียนโปรแกรมแบบกราฟิ กมาก่อน เมื่อได้เรียนรูแ้ ละฝึก
ปฏิบ ตั ิต ามแล้วหวังว่าคงจะสามารถนํ าไปพัฒนาโปรแกรมที่มีความซับซ้อนได้ ซึ่งจะได้เ รียนรู้
เกีย่ วกับการเริม่ ใช้งานโปรแกรม Simulink คําแนะนําเกีย่ วกับคุณสมบัตขิ องหน้าต่างโปรแกรมและ
บล็อกไลบรารี การใช้งานบล็อกคําสัง่ การเปิ ดงาน/การบันทึกงานโมเดล การพิมพ์งานโมเดล
ออกทางเครื่องพิมพ์ การใช้คยี ์ด่วนและเมาส์ประกอบการเขียนโปรแกรมเพื่อความรวดเร็วในการ
สร้างโมเดล เป็ นต้น โดยผูใ้ ช้งานจะมีความคุน้ เคยและมีทกั ษะการใช้งานโปรแกรมเพิม่ ขึน้ ดังนี้
การเปิ ดใช้งานโปรแกรม MATLAB Simulink และส่วนประกอบของโปรแกรม
การใช้งานบล็อกเซต (Blocksets) ทัวไป ่ ได้แก่ บล็อกเซตทางคณิตศาสตร์ และ
วิทยาศาสตร์ ทีเ่ ป็ นตัวอย่างการคํานวณแบบง่ายๆ เป็ นต้น
ฝึกการเขียนโมเดลและการโปรแกรมมิง่ แบบทีละบล็อกเซต/บล็อกไดอะแกรม และ
การปรับตัง้ ค่าคุณสมบัตใิ ห้กบั บล็อกเซตเหล่านัน้
ฝึกการเขียนโมเดล ทดสอบการทํางาน และโดยรันโปรแกรมบนหน้าต่างทํางาน
“Simulink Editor”
เรียกใช้งานคําสังด้
่ วยคียด์ ว่ นและเมาส์ ประกอบการเขียนโปรแกรมเพือ่ ความรวดเร็ว
ในการสร้างโมเดล
Input Output
Process
รูปที่ 7.1 ตัวอย่างบล็อกเซตฟั งก์ชนั ทีป่ ระกอบด้วย Input, Process และ Output
3) คลิกไอคอน
1) ใชคำสั่ง
2) ใชเมนู
ผูใ้ ช้งานเลือกใช้วธิ ใี ดวิธหี นึ่ง เมือ่ โปรแกรม MATLAB ถูกเปิ ดใช้งานแล้ว จะแสดงหน้าต่าง
“Simulink Start Page” ดังรูปที่ 7.4 ซึง่ เป็ นหน้าต่างเริม่ ต้นก่อนการเขียนโปรแกรมแบบกราฟิ ก
ทีห่ น้าต่าง “Simulink Start Page” ประกอบด้วย 3 ส่วนหลักๆ จุดมุง่ หมายเพือ่ ให้ผใู้ ช้งาน
มีความสะดวกต่อการใช้งาน คือ 1) เปิ ดงานทีเ่ คยทํางานไว้แล้ว หรือ 2) ตัดสินใจเลือกสร้างงานใหม่
ตามหมวดหมู่ และประเภทของงานด้า นต่า งๆ ( Template) ได้แ ก่ Aerospace, Audio System,
Communications, DSP System, Embedded Coder เป็ นต้น และหรือ 3) ผูใ้ ช้งานยังสามารถศึกษา
และเรียนรูต้ วั อย่างโมเดล Simulink ทีโ่ ปรแกรม MATLAB ได้จดั เตรียมเป็ นหมวดหมู่ไว้ให้เรียบร้อย
แล้ว แสดงดังรูปที่ 7.4
เปดงานเดิม
สรางโมเดลใหม
ตัวอยางโมเดล
หน้ าต่างที่สําคัญๆ ของโปรแกรม MATLAB Simulink คือ หน้ าต่าง “Simulink Editor”
โดยได้ออกแบบมาเพื่อสนับสนุ นการทํางานให้กบั ผู้ใช้งานใช้สําหรับการออกแบบ/แก้ไขโมเดล
(เปรียบเทียบเหมือนกับโปรแกรม MATLAB Desktop Editor ทีใ่ ช้สาํ หรับการเขียนโค้ด/แก้ไขโค้ด)
โดยทีผ่ ใู้ ช้งานสามารถโหลดไฟล์มาเพือ่ การแก้ไขเพิม่ เติมอีก หรือนําโมเดลมารันภายหลังได้ และยัง
คลิกไอคอน
คลิกไอคอน
บล็อกคำสั่ง
เสนเชื่อม
ดับเบิ้ลคลิก
คลิกไอคอน
คลิกไอคอน
คลิกไอคอน
การเลือกบล็อกเซตชุดคำสั่ง
การเขียนโปรแกรมแบบ GPL ต้องใช้บล็อกเซตจากหน้าต่าง “Simulink Library Browser”
ซึ่ง MATLAB ได้ทําการจัดแบ่งออกเป็ นหมวดหมู่แล้ว การนํ าบล็อกเซตมาใช้งานทําได้โดยคลิกที่
บล็อกเซตทีต่ อ้ งการ “คลิ กเมาส์ซ้าย” ค้างไว้ “ลาก” (Drag) รูปบล็อกเซตนัน้ ไป “วาง” แล้วปล่อย
เมาส์ (Drop) บนหน้าต่างทํางาน “Simulink Editor” รูปที่ 7.11 แสดงการลากบล็อกเซต “Product”
จากหมวดหมู่ “Simulink/Math Operations” ซึ่งเป็ นบล็อกเซตทีม่ หี น้าทีก่ ารทํางานสําหรับการคูณ
เลขจํานวนใดๆ และทําการนําบล็อกเซตไปวางไว้ทห่ี น้าต่างทํางาน “Simulink Editor”
คลิกลากแลววาง
รูปที่ 7.11 การลากและวางบล็อกเซตไปยังหน้าต่าง Simulink Editor
พิมพ keyword
บล็อกเซตผลลัพธ
การเลือกและปรับขนาดบล็อกเซต
บล็อกเซตแต่ละบล็อกเซต ที่ปรากฏอยู่บนหน้าต่างทํางาน (Simulink Editor) สามารถ
เพิ่ ม-ลดขนาดของบล็อกเซต ให้เหมาะสมตามความต้องการของผูใ้ ช้งานได้ โดย “คลิ ก” ทีบ่ ล็อก
เซตนัน้ จะปรากฏ “สี่เหลี่ยมสี นํ้าเงิ นล้อมรอบบล็อกเซต” นัน้ (Small black square “handles”)
แสดงดังรูปที่ 7.14 แสดงบล็อกเซต “Constant” ทีถ่ ูกคลิกเลือก ให้ผใู้ ช้งานเลือ่ นเคอร์เซอร์เมาส์ไปที่
ตําแหน่ งมุมใดๆ ของบล็อกเซต แล้วเคอร์เซอร์เมาส์จะเปลีย่ นเป็ นรูปเปลีย่ นขนาด (Resize) ดังรูป
ต่อจากนัน้ ผูใ้ ช้งานจะสามารถทําการเลื่อนเมาส์เพือ่ เพิม่ -ลดขนาดบล็อกเซตได้
การเลือกมากกวา 1 บล็อกเซต
เราสามารถเลือกบล็อกเซตมากกว่าหนึ่งบล็อกได้ โดยใช้เมาส์ลากให้ครอบคลุมทุกๆ
บล็อกเซต เพือ่ แบ่งบล็อกเซตออกเป็ นกลุ่มโมเดลย่อยๆ ทําให้งา่ ยต่อการมองและการวิเคราะห์หรือ
การแก้ไขโปรแกรม สิง่ ทีเ่ กิดขึน้ หลังจากทําการเลือกบล็อกเซตเป็ นกลุ่ม ผูใ้ ช้งานสามารถจัดการหรือ
ตัง้ ค่าคุณสมบัตติ ่างๆให้กบั บล็อกเซต ได้แก่ Create Subsystem, Comment Out, และ Create Area
แสดงการใช้งานดังรูปที่ 7.15 โดยจะปรากฏเมนูไอคอน “…” จุดสีน้ําเงิน 3 จุด ทําการเลื่อนเมาส์ไป
ทีจ่ ุด 3 จุดนัน้ จะปรากฏเมนูไอคอนย่อยๆ ซึง่ มีฟังก์ชนั งานต่างๆ ให้ผใู้ ช้งานได้ใช้ตงั ้ ค่าคุณสมบัต.ิ
ให้กบั บล็อกเซต แสดงผลลัพธ์ดงั รูปข้างล่าง
คลิกและลากเมาสเพื่อเลือกบล็อกเซต
เมนูไอคอนฟงกชันตางๆ
เมนูไอคอน
การแสดงชือ่ บล็อกเซต
เมื่อเลือกและวางบล็อกเซตไว้ทห่ี น้าต่าง “Simulink Editor” ครัง้ แรกแล้วนัน้ จะไม่แสดงชือ่
ของบล็อกเซต ผูใ้ ช้งานสามารถกําหนดคุณสมบัตใิ ห้แสดงชื่อได้ โดยการคลิ กที่บล็อกเซตนัน้ จะ
ปรากฏเมนูไอคอน “…” ต่อจากนัน้ ผูใ้ ช้งานคลิกทีเ่ มนูไอคอนนี้ จะมีเมนูยอ่ ยแสดงดังรูปที่ 7.16 แล้ว
คลิกเลือกเมนูไอคอน “Show Block Name” ผลลัพธ์แสดงดังรูปข้างล่าง
คลิกเลือก
เมนูไอคอน
เมนูไอคอนฟงกชันตางๆ
สำหรับบล็อกเซต
การกำหนดชื่อใหกับบล็อกเซต
การคลิกเลือกบล็อกเซต 1 ครัง้ นอกจากจะตัง้ ค่าคุณสมบัตกิ ารแสดงชื่อบล็อกเซตได้แล้ว
ผูใ้ ช้งานสามารถเปลี่ยนชื่ อบล็อกเซตใหม่ได้ จากรูปที่ 7.17 เลื่อนเคอร์เซอร์เมาส์ไปที่ช่อื บล็อก
เซต “Constant” รูปเคอร์เซอร์เมาส์จะเปลีย่ นเป็ นรูป “TextSelect, I” ทําการเปลีย่ นชือ่ บล็อกเซตใหม่
แสดงดังรูปข้างล่าง
คลิกเมนู
คลิกคัดลอก
คลิกวาง
การกำหนดสีใหกับบล็อกเซต
โปรแกรม Simulink ออกแบบให้ผู้ใช้งานสามารถตัง้ ค่าคุณสมบัตสิ ขี องบล็อกเซต และ
สีพน้ื หลังของบล็อกเซตได้ เพือ่ ง่ายต่อการจดจําและแยกแยะบล็อกเซตคําสังต่ ่ างๆ ให้สะดวกต่อการ
ดูแยกแยะแต่ละบล็อกเซตทีเ่ หมือนกัน และง่ายต่อการวิเคราะห์โปรแกรม ในการปรับตัง้ ค่าสีให้กบั
บล็อกเซตนี้ ทําได้โดยคลิ กขวาที่ บล็อกเซตที่ ต้องการตัง้ ค่ าคุณสมบัติจะปรากฏเมนู ใ ช้งาน
แสดงดังรูปที่ 7.20 ต่อจากนัน้ คลิกเลือกเมนู “Format” และเลือก “Foreground Color” สําหรับ
กําหนดสีให้กบั ชือ่ และรูปบล็อกเซต (สี default จะกําหนดเป็ นสีดาํ ) ส่วน “Background Color” สําหรับ
กําหนดสีพน้ื หลังของบล็อกเซต (สี default จะกําหนดเป็ นสีขาว)
ค่าสีสําหรับ “Foreground Color” และ “Background Color” ผู้ใช้งานสามารถกําหนดสี
มาตรฐานได้ทงั ้ หมด 12 สี ได้แก่ 'black', 'white', 'red', 'green', 'blue', 'cyan', 'magenta', 'yellow',
'gray', 'lightBlue', 'orange', และ 'darkGreen' ถ้าต้องการกําหนดเป็ นสีอ่นื ๆ สามารถคลิกเลือกทีเ่ มนู
ย่อย “Custom” จะมีหน้าต่าง “Select Color” ให้เลือกและกําหนดเป็ นค่าสีใหม่ได้ ดังรูปที่ 7.21
คลิกเมนู
เมนูสำหรับตั้งคา
คุณสมบัติสีบล็อกเซต
รูปที่ 7.20 เมนู “Format” สําหรับกําหนดค่าสี “Foreground Color” และ “Background Color”
การสรางเสนเชื่อมตอระหวางบล็อกเซต
การเขียนโปรแกรมแบบ GPL นอกจากจะใช้บล็อกเซตแทนคําสังหรื ่ อฟั งก์ชนั ใดๆ แล้ว ยัง
ใช้ เส้ นเชื่ อมต่ อเพื่อแสดงหรือกําหนดทิ ศทางของสัญญาณจากบล็อกเซตหนึ่ งไปยังบล็อก
เซตหนึ่ ง การสร้างเส้นเชื่อมต่อจากบล็อกเซตหนึ่งไปยังบล็อกเซตหนึ่งนัน้ ทําได้ง่ายมาก โดยการ
เลื่อนเคอเซอร์เมาส์ไปวางไว้ทต่ี ําแหน่ ง Output port ของบล็อกเซต เคอเซอร์เมาส์จะแสดงเป็ นรูป
กากบาท (Precision Select, + ) แสดงหรือบ่งบอกให้รู้ว่าเป็ นจุดเริม่ ต้นเพื่อการลากเส้นเชื่อมต่อ
ต่อจากนัน้ “คลิ กค้างไว้” แล้วลากเคอเซอร์เมาส์ไปยัง Input port ของบล็อกเซตที่ต้องการจะ
เชือ่ มต่อ แสดงการใช้งานดังรูปที่ 7.23
เริม่ ต้นใช้งานโปรแกรม MATLAB Simulink
7–17
(Getting Started with MATLAB Simulink) บทที่ 7
หนา 7–18 MATLAB Simulink Programming
การสรางเสนเชื่อมตอแบบอัตโนมัติ
Simulink มีวธิ สี ร้างเส้นเชื่อมระหว่างบล็อกเซตโดยอัตโนมัติ ทําให้ผใู้ ช้งานไม่จําเป็ นต้อง
วาดเส้นเชื่อมต่อด้วยตนเอง เมื่อเชื่อมต่อระหว่างบล็อกเซตแล้ว โปรแกรม Simulink จะจัดเส้นทาง/
ทิศทางของเส้นเชือ่ มต่อ และหลีกเลีย่ งการซ้อนทับกับเส้นเชือ่ มต่ออื่นๆ ทีม่ อี ยูแ่ ล้วให้โดยอัตโนมัติ
วิ ธีการสร้างเส้นเชื่อมต่ออัตโนมัติระหว่าง 1 บล็อกเซต
แสดงวิธกี ารใช้งาน ดังรูปที่ 7.24 ทําได้โดย
1. คลิกเมาส์ทบ่ี ล็อกเซตอันแรกให้ Active (บล็อกเซตต้นทาง)
2. กดคีย์ “Ctrl” ค้างไว้ และคลิกเมาส์ท่บี ล็อกเซตที่ต้องการเชื่อมต่อด้วย (บล็อกเซต
ปลายทาง)
2.กดคีย Ctrl+คลิกเมาส
1.คลิกให Active
วิ ธีการสร้างเส้นเชื่อมต่ออัตโนมัติเป็ นกลุ่มบล็อกเซต
แสดงวิธกี ารใช้งาน ดังรูปที่ 7.25 ทําได้โดย
1. ใช้เมาส์ลากครอบบล็อกเซตต้นทางให้ Active
2. กดคีย์ “Ctrl” ค้างไว้ และคลิกเมาส์ทบ่ี ล็อกเซตปลายทางทีต่ อ้ งการเชือ่ มต่อ
2.กดคีย Ctrl+คลิกเมาส
1.เลือกบล็อกเซต
รูปที่ 7.25 การสร้างเส้นเชือ่ มต่ออัตโนมัตเิ ป็ นกลุ่มบล็อกเซต
การสรางเสนแยกสาขา
เส้น แยกสาขาเป็ น เส้น ที่เ ริ่ม ต้น จากเส้น เชื่อ มต่ อ ที่มีอ ยู่แ ล้ว เพีย งแต่ ว่า ต้อ งการเพิ่ม
จุดเชื่อมแล้วลากเส้นเชื่อมต่อไปยังอินพุทของบล็อกเซตอื่นด้วย การใช้เส้นแยกสาขาทําให้เรา
สามารถเชือ่ มต่อสายสัญญาณเส้นเดียวไปยังอินพุทของบล็อกเซตได้มากกว่า 1 บล็อกเซต
จากรูปที่ 7.26 เป็ นการสร้างเส้นแยกสาขาจากเอาต์พุทบล็อกเซต “Product” ไปยังอินพุท
ของบล็อกเซต “Scope” และ “Display” มีวธิ กี ารดังต่อไปนี้
วิ ธีการสร้างเส้นแยกสาขา
แสดงการใช้งาน ดังรูปที่ 7.26 ทําได้โดย
1. ใช้เมาส์คลิกทีเ่ ส้นและจุดทีจ่ ะสร้างเส้นแยกสาขา
2. กดคีย์ “Ctrl” ค้างไว้และลากเมาส์ไปทีอ่ นิ พุทของบล็อกเซตปลายทาง (Display)
1.คลิกเสนและเลือกจุดแยก
2.ลากเสนไปยังอินพุทบล็อก
รูปที่ 7.26 วิธกี ารสร้างเส้นแยกสาขา
การจัดตำแหนงเสนเชื่อมตอ
การสร้างเส้นเชื่อมต่อระหว่างบล็อกทีผ่ ่านมา โปรแกรมจะเป็ นผูก้ ําหนดให้โดยเฉพาะ จะ
เป็ นเส้นเชื่อมต่อทีม่ กี ารหักมุมฉาก 90 องศา ผูใ้ ช้งานสามารถจัดระยะและตําแหน่ งให้เส้นเชื่อมได้
เพื่อให้มองโปรแกรมดูง่ายขึน้ และมีความสวยงาม ทําได้โดยใช้เมาส์คลิกทีเ่ ส้นนัน้ ค้างไว้ แล้วย้าย
เคอร์เซอร์เมาส์ไปตําแหน่ งใหม่ทต่ี อ้ งการ กล่าวคือ ถ้าเส้นเชื่อมต่อเป็ นแนวตัง้ การเคลื่อนย้าย
เมาส์จะเป็ นแนวซ้าย-ขวา และถ้าเส้นเชื่อมต่อเป็ นแนวนอน การเคลื่อนย้ายเมาส์จะเป็ นแนว
ขึน้ และลง แสดงดังรูปที่ 7.27
การแทรกบล็อกเซตเขาไปในเสนเชื่อม
การเขีย นโปรแกรมแบบการเขียนโค้ด เมื่อต้องการแก้ไ ขหรือปรับปรุงโปรแกรมใหม่
บางครัง้ อาจจะมีก ารพิม พ์แ ทรกคํ า สัง่ เพิ่ม เติม เข้า ไป สํ า หรับ การเขีย นโปรแกรมแบบ GPL
เช่นเดียวกัน ผูใ้ ช้งานสามารถแทรกบล็อกเซตคําสังเข้ ่ าไประหว่างเส้นเชื่อมที่ต้องการจะแทรกได้
เพียงแต่ว่า บล็อกเซตทีจ่ ะนํ าเข้าไปแทรกนัน้ จะต้องมีอนิ พุทและเอาต์พุทเดียว แสดงตัวอย่างการ
แทรกบล็อกเซตดังรูปที่ 7.28 ทําได้โดยการคลิ กที่ บล็อกเซตที่ ต้องการจะนํ าไปแทรก ค้างไว้
ลากมันไปทับที่ เส้นเชื่อมต่อที่ต้องการแทรกแล้ววางลง (ปล่อยปุ่มเมาส์) โปรแกรมจะทําการ
แทรกบล็อกเซตระหว่างเส้นเชือ่ มนัน้ ให้โดยอัตโนมัติ ดังรูปข้างล่าง
คลิกลากและวาง
การดึงบล็อกเซตออกจากเสนเชื่อมตอ
เมื่อบล็อกเซตถูกเชื่อมต่ออยูร่ ะหว่างเส้นเชือ่ มแล้ว ผูใ้ ช้งานสามารถดึงบล็อกเซตนัน้ แยก
ออกมาวางไว้เพื่อนําไปเชื่อมต่อกับบล็อกเซตอื่นๆ (ไม่ตอ้ งลบบล็อกเซตนัน้ ทิง้ ไป) ทําได้โดยกดคีย์
“Shift” ค้างไว้ คลิ กเมาส์ที่บล็อกเซตนัน ้ ลากแล้ววางไปไว้ที่ตาํ แหน่ งที่ต้องการ แสดงดังรูปที่
7.29 ส่วนเส้นเชือ่ มเดิมโปรแกรมจะยังคงแสดงร่องรอยและทิศทางให้เห็นเป็ นเส้นประสีแดงดังรูป
คำอธิบายประกอบบล็อกเซต
การเขียนโปรแกรมแบบการเขียนด้วยโค้ด แต่ละบรรทัด/คําสัง่ ผู้ใช้งานสามารถเขียน
คําอธิบายกํากับไว้ก่อนหรือหลังคําสังได้
่ โดยใช้เครือ่ งหมายกํากับทีโ่ ปรแกรมนัน้ ๆ กําหนดไว้
โปรแกรม MATLAB Simulink ออกแบบมาให้ผู้ใช้งานสามารถเขียนคําอธิบายประกอบ
บล็อ กเซตบนพื้น ที่ว่ า งๆ บนหน้ า งต่ า งทํา งานได้ แสดงการใช้ง านดัง รู ป ที่ 7.30 ซึ่ง เมื่อ สัง่ รัน
โปรแกรมแล้ว บล็อกเซตคําอธิบายนี้ จะไม่ถูกนํามาประมวลผลด้วย
คำอธิบายบล็อกเซต
1. ดับเบิ้ลคลิก
2. คลิกเพื่อเขียนคำอธิบาย
เมนูจัดการขอความ
3. เขียนคำอธิบาย
รูปที่ 7.31 สร้างบล็อกคําอธิบายประกอบบล็อกเซต
คลิกและเคลื่อนยายเมาส
เพื่อจัดตำแหนงขอความ
รูปที่ 7.32 จัดตําแหน่งบล็อกคําอธิบาย
คลิกปุมขวา
บล็อกคำอธิบายสัญลักษณทางคณิตศาสตร
การเขียนโปรแกรมคอมพิวเตอร์ เราคงหนีไม่พน้ การนําสมการคณิตศาสตร์มาใช้งานหรือ
นําสมการมาเพื่อประมวลผลข้อมูล Simulink ยังสามารถนําสมการ/สัญลักษณ์ทางคณิตศาสตร์และ
สัญลักษณ์อ่นื ๆ เช่น ตัวอักษรกรีก เป็ นต้น มาเขียนลงในคําอธิบายประกอบบล็อกเซตได้อกี ด้วย ซึง่
โปรแกรม Simulink จะสนับสนุนฟอร์แมตแบบ “TeX” มีขนั ้ ตอนวิธกี ารใช้งาน ดังนี้
1. ดับเบิล้ คลิกบนพืน้ ทีว่ ่างบนหน้าต่างทํางาน จะปรากฏข้อความ “create annotation”
คลิกที่ขอ้ ความ “create annotation” จะปรากฏกรอบสีเหลี่ยมสีน้ํ าเงิน และไอคอน
เมนูสาํ หรับการจัดการข้อความ ดังรูป 7.34
2. คลิกไอคอนเมนู “Insert Equation” จะปรากฏหน้าต่าง “Edit Equation” ขึน้
3. ทํา การเขีย นสมการ/สัญ ลัก ษณ์ ท างคณิ ต ศาสตร์รูป แบบ “TeX” ลงในช่ อ ง “Enter
equation code:” เสร็จแล้วคลิกปุ่ม “OK” แสดงการใช้งาน ดังรูปที่ 7.35
2. คลิกเมนูไอคอน
1. ดับเบิ้ลคลิก
3. เขียนสมการ
3. เขียนสมการ
คลิกปุม
หมายเหตุ
ผูใ้ ช้งานสามารถดู “สัญลักษณ์ทางคณิตศาสตร์ ตัวอักษรกรีกและอักขระอื่นๆ ทีโ่ ปรแกรม
Simulink สนับสนุ นรูปแบบ “TeX” ทีน่ อกเหนือจากตัวอย่างทีไ่ ด้นําเสนอไปแล้ว มีความคุน้ เคยและ
ถูกนํามาใช้งานบ่อยๆ แสดงดังตารางที่ 7.1 เมือ่ จะนําสัญลักษณ์ไปใช้งานให้ใช้คาํ สัง่ TeX command
ไปพิมพ์หรือคัดลอกไปวางบนบล็อกข้อความได้
รูป ที่ 7.37 - 7.38 แสดงการใช้บ ล็อ กคํา อธิบ ายเกี่ย วกับ สมการคณิ ต ศาสตร์ ที่ใ ช้ใ น
โปรแกรม MATLAB Simulink ในรูปแบบ TeX formatting commands
สรางเสนเชื่อมตอแนวทแยงมุม
ที่ผ่านมาได้นําเสนอการสร้างเส้นเชื่อมต่อระหว่างบล็อกเซตที่มเี ส้นเชื่อมต่อหักมุม 90
องศา Simulink ยังออกแบบให้ผใู้ ช้งานสามารถสร้างเส้นเชือ่ มทีม่ ลี กั ษณะเป็ นเส้นทแยงมุมได้ดว้ ย
เราไม่สามารถวาดเส้นเชือ่ มต่อแนวทแยงมุมได้ตงั ้ แต่ตอนเริม่ ต้น แต่การวาดเส้นเชื่อมต่อ
ระหว่างบล็อกเซตโปรแกรมจะกําหนดให้เป็ นแนวเส้นตรงและเปลี่ยนทิศทางแนวเส้นให้เป็ น 90
การจัดแนวตำแหนงของบล็อกเซต
เมื่อมีจํานวนบล็อกเซตมากขึน้ การจัดวางตําแหน่ งให้มคี วามสวยงามทุกๆ บล็อกเซตคง
จะเป็ นงานทีต่ อ้ งใช้เวลามากและไม่ใช่วธิ ที ส่ี ะดวกต่อการทํางานด้วย โปรแกรม Simulink มีฟังก์ชนั
การจัดวางตําแหน่งบล็อกเซตให้สะดวกขึน้ ด้วยการใช้งานฟั งก์ชนั “Align”
การจัดวางตําแหน่ งบล็อกเซตให้ง่ายขึน้ ทําได้โดยเลือกบล็อกเซต (highlights) ที่จะทํา
“Align” จะเห็นเป็ นเส้นกรอบสีเ่ หลีย่ มสีน้ําเงิน ซึง่ Simulink จะใช้บล็อกเซตทีไ่ ฮไลต์เป็ นข้อมูลอ้างอิง
สําหรับการจัดตําแหน่ งบล็อกเซต รูปที่ 7.40 เป็ นตัวอย่างการเลือกบล็อกอ้างอิงเพื่อทําการจัดวาง
ตําแหน่ง ต่อจากนัน้ คลิ กปุ่ มขวาของเมาส์ จะปรากฏรายการเมนูต่างๆ คลิกเลือก “Arrange” และ
“Align Top” ผลลัพธ์ทไ่ี ด้จะเป็ นการจัดตําแหน่งทุกๆ บล็อกเซตให้ชดิ ขอบบน แสดงดังรูปที่ 7.41
เลือกบล็อกเซต
คลิกปุมขวาเมาส
คลิกเลือก
การระบุพื้นที่ใหกับกลุมบล็อกเซต
นอกจากผูใ้ ช้งานจะสามารถเขียนข้อความใส่เข้าไปในบล็อกคําอธิบายเพื่ออธิบายหน้าที่
การทํางานของบล็อกเซต หรือรายละเอียดๆ อื่นของโปรแกรมบนหน้าต่างทํางานได้แล้ว ยังสามารถ
ระบุพน้ื ทีเ่ ป็ นกลุ่มบล็อกเซตได้ (Box and Label Areas of a Model) เพือ่ แยกแยะฟั งก์ชนั การทํางาน
ออกเป็ นกลุ่มๆ ติดป้ ายคําอธิบาย และสามารถย้ายกลุ่มบล็อกเซตได้งา่ ยขึน้ ซึง่ มีวธิ กี ารใช้งานดังนี้
การสร้างพืน้ ที่กลุ่มบล็อกเซต
1. เลือกพื้นที่บล็อกเซตเพื่อทําการจัดกลุ่มบล็อกเซต โดยใช้เมาส์ลากให้ครอบคลุม
บล็อกเซตทีต่ อ้ งการจัดเป็ นกลุ่มพืน้ ที่ แสดงดังรูปที่ 7.42
2. คลิ กที่ ไอคอนเมนู “…” (Action bar) และเลือกเมนูไอคอน “Create Area” จะได้
พืน้ ทีก่ ลุ่มบล็อกเซต (Box and Label Areas) แสดงดังรูปที่ 7.43
3. พิ มพ์ชื่อพืน ้ ที่กลุ่มบล็อกเซต (ถ้าหากผูใ้ ช้งานต้องการระบุชอ่ื บล็อกพืน้ ที)่
เลือกบล็อกเซต
รูปที่ 7.42 เลือกพืน้ ทีบ่ ล็อกเซตเพือ่ จัดเป็ นกลุ่มบล็อกเซต
คลิกไอคอนเมนู
คลิกไอคอนเมนู
รูปที่ 7.43 ใช้เมนูไอคอน “Create Area” เพือ่ สร้างพืน้ ทีก่ ลุ่มบล็อกเซต
พิมพชื่อบล็อกพื้นที่
คลิกเลือกสี
รูปที่ 7.46 เมนู “Area Color” สําหรับเปลีย่ นสีพน้ื หลังให้กบั พืน้ ทีก่ ลุ่มบล็อกเซต
รูปที่ 7.47 ผลลัพธ์การเปลีย่ นสีพน้ื หลัง สี “Green” ให้กบั พืน้ ทีก่ ลุ่มบล็อกเซต
การย้ายพืน้ ที่กลุ่มบล็อกเซต
พืน้ ทีข่ องกลุ่มบล็อกเซต นอกจากจะมีขอ้ ความติดป้ าย ใส่สพี น้ื หลังให้มคี วามเด่นชัด และ
แยกความแตกต่างออกเป็ นส่วนต่างๆ ได้แล้ว ผูใ้ ช้งานยังสามารถย้ายกลุ่มบล็อกเซตนัน้ ๆ ไปทัง้ ชุด
ได้ โดยไม่กระทบต่อการจัดวางรูปแบบบล็อกเซตและเส้นเชือ่ มต่อภายในกลุ่มบล็อก
การย้ายพื้นที่กลุ่มบล็อกเซตทําได้โดย เลื่อนเคอร์เซอร์เมาส์ไปบนพื้นที่ กลุ่มบล็อก
เคอร์เซอร์เมาส์จะเปลีย่ นเป็ นสัญลักษณ์ “Move” แล้ว คลิ กเมาส์ค้างไว้ ลากและวาง ไปปล่อยบน
หน้าต่างพืน้ ทีท่ าํ งานได้ตามต้องการ แสดงดังรูปที่ 7.48
การสรางระบบยอย (Sub-System)
เมือ่ เราออกแบบและเขียนโปรแกรมหรือโมเดลทีม่ จี าํ นวนบล็อกเซตมากขึน้ ความซับซ้อน
และความยุ่งเหยิงของเส้นเชื่อมต่อระหว่างบล็อกเซตจะเกิดขึน้ ตามมาด้วย Simulink มีวธิ กี ารจัดการ
กับปั ญหานี้ และทําให้ดงู า่ ยขึน้ โดยการจัดกลุ่มบล็อกเซตให้เป็ น “ระบบย่อย” (Sub-System)
Sub-System คือ ชุดการเชื่อมต่อของบล็อกเซตที่ถูกรวบรวมไว้เป็ นระบบเดียว ดังนัน้
โปรแกรมหนึ่งโปรแกรมหรือโมเดลหนึ่งโมเดล เราสามารถแยกออกเป็ นระบบย่อย หรือ Sub-System
แล้วเชื่อมต่อกันเป็ นระบบใหญ่ได้ โดยที่ Sub-System หนึ่งจะประกอบด้วย Input, Process block,
และ Output เหมือนบล็อกเซตคําสังทั ่ วไป
่
คลิกไอคอนเมนู
คลิกไอคอนเมนู
รูปที่ 7.49 การสร้าง Sub-System
หมายเหตุ
การเปลี่ยนชื่อ Sub-System ดําเนินการเหมือนกับการเปลี่ยนชื่อบบล็อกเซตทัวไป
่ โดย
คลิกทีช่ อ่ื Sub-System นัน้ แล้ว ลบ-เพิม่ -พิมพ์ชอ่ื ใหม่ลงไปได้ แสดงดังรูปที่ 7.52
พิมพชื่อ
การเปดระบบยอย Sub-System
การที่จะดูระบบภายในของ Sub-System โดยแสดงเป็ นลําดับ ชัน้ เข้าไปนัน้ เราจะใช้
หน้าต่าง “Model Browser” หรือใช้คาํ สังนํ
่ าทางบนหน้าต่างทํางาน “Simulink Editor”
การเปิ ดหน้าต่าง “Model Browser” ทําได้โดยคลิ กที่เมนูไอคอนคอนโทรล “Hide/Show
Model Browser” อยู่ที่ตําแหน่ งล่ างซ้ ายของหน้ าต่ างทํางาน แสดงดัง รูป ที่ 7.53 จะปรากฏ
หน้าต่างย่อยแยกออกภายในหน้าต่างทํางาน ดังรูปที่ 7.54 เมื่อผูใ้ ช้งานต้องการเปิ ด Sub-System
สามารถคลิกทีช่ อ่ื Sub-System นัน้ ในหน้าต่าง “Model Browser”
คลิกเมนูไอคอน
รูปที่ 7.53 คลิกเมนูไอคอน “Hide/Show Model Browser”
เริม่ ต้นใช้งานโปรแกรม MATLAB Simulink
7–37
(Getting Started with MATLAB Simulink) บทที่ 7
หนา 7–38 MATLAB Simulink Programming
คลิกชื่อ Sub-System
7.4 การรันโปรแกรมและพื้นฐานซิมมูเลชัน
เมื่อผูใ้ ช้งานสร้างโปรแกรมหรือโมเดลแล้ว สามารถทดสอบโปรแกรมหรือสังรั ่ นโปรแกรม
ได้ เพียงแค่ใช้เมาส์คลิกเมนูไอคอนคอนโทรล “Run” บนหน้าต่างทํางาน “Simulink Editor” แสดงดัง
รูปที่ 7.55
บางโมเดล ผูใ้ ช้งานอาจจะมีการนําบล็อกเซตทีเ่ กีย่ วข้องกับแหล่งกําเนิดสัญญาณ ฉะนัน้
เมือ่ มีการสังให้
่ รนั โปรแกรมจึงมีเรือ่ งของเวลาเข้ามาเกีย่ วข้องด้วย ก่อนทีจ่ ะเริม่ การจําลองหรือสังรั
่ น
โปรแกรมนัน้ จะต้องมีการกําหนด “เวลาเริ่ ม” และ “เวลาหยุด” ของการรันโปรแกรมด้วย
การควบคุมการรันโปรแกรมดวยปุมควบคุม
การเริม่ ต้น “รันโปรแกรม” ทําได้โดยการคลิกทีไ่ อคอนคอนโทรล “Run” ทีแ่ ถบเครื่องมือ
โมเดลบนหน้าต่างทํางาน “Simulink Editor” แสดงดังรูปที่ 7.55
ปุมสั่งรันโปรแกรม
ไอคอน Stop
ไอคอน Pause
Progress bar
สังรั
่ นและหยุดโปรแกรมชัวคราวเป็
่ นสเต็ป
มีการสังรั
่ นโปรแกรมอีกอย่างหนึ่ง คือ “Step Forward” เป็ นการสังรั
่ นโปรแกรมให้ทํางาน
และหยุดชัวคราว
่ กล่าวคือ ประมวลผลและแสดงผลลัพธ์แล้วหยุดเป็ นสเต็ปจนกว่าจะครบตามเวลา
ที่กําหนดไว้ โดยคลิกที่เมนู ไอคอน “Step Forward” สังเกตผลลัพธ์ท่ไี ด้จากการประมวลผลด้วย
บล็อกเซต “Scope”, Progress bar ทีแ่ สดงความคืบหน้าและการเปลีย่ นแปลงทางเวลา ดังรูปที่ 7.59
การควบคุมการรันโปรแกรมดวยบล็อกเซต
การใช้บล็อกเซต “Stop”
ผูใ้ ช้งานสามารถหยุดการรันโปรแกรมช่วงใดช่วงหนึ่งระหว่างบล็อกเซตในโปรแกรมได้
โดยลากเส้นเชือ่ มต่อจุดนัน้ ไปยังบล็อกเซต “Stop” เมื่อสังรั่ นโปรแกรมและดําเนินการประมวลผลไป
ถึงจุดทีม่ บี ล็อกเซต Stop เชือ่ มต่ออยู่ โปรแกรมจะยุตกิ ารรันทันที แสดงดังรูปที่ 7.61 – 7.62
หมายเหตุ
บล็อกเซต “Stop” จะทํางานเมื่ออินพุตบล็อกเซตมีสถานะไม่เป็ นศูนย์ (Nonzero) จากรูปที่
7.61 ถ้าผูใ้ ช้งานตัง้ ค่าบล็อกเซต “Constant”, Constant value: “0” โปรแกรมจะไม่หยุดทํางาน
ปอนคำสั่ง
Uncheck
รูปที่ 7.64 ตัง้ ค่าคุณสมบัตบิ ล็อกเซต “Assertion”
4.Explorer bar
3.Palette menu
รูปที่ 7.67 หน้าต่างทํางาน Simulink Editor
ส่ว นนี้ จ ะนํ า เสนอส่ว นประกอบและรายละเอีย ดของหน้ า ต่า งทํา งาน Simulink Editor
เพิม่ เติม จุดประสงค์เพื่อไม่ให้หวั ข้อส่วนประกอบของโปรแกรม MATLAB Simulink ทีผ่ ่านมาก่อน
หน้านัน้ มีเนื้อหาทีล่ ะเอียดและยาวมากเกินไป จึงได้นํามาเสนอและอธิบายไว้ในหัวข้อนี้ ซึง่ ถ้าหาก
อยากจะไปศึกษาหัวข้ออื่นๆ จะได้ขา้ มเนื้อหาตรงส่วนนี้ไป
ส่วนประกอบและรายละเอียดของหน้าต่างโปรแกรม Simulink Editor มีดงั นี้
ชื่อโมเดล ชื่อระบบยอย
Fit to View
Annotation
ชื่อระบบยอย
ชื่อโมเดล
ชื่อระบบยอย
เมื่อ คลิก ที่ป่ ุ ม “Stepping Options” จะปรากฏหน้ า ต่า งตอบโต้ “Simulink Stepping
Options” แสดงดังรูปที่ 7.74 ทีห่ น้าต่างตอบโต้น้ี ให้คลิกเลือก Check box: Enable stepping back
เมื่อเลือก Stepping back เป็ น Enable แล้ว และเมื่อสังรั
่ นโปรแกรม ปุ่มไอคอนคอนโทรล “Stepping
Options” จะเปลี่ยนเป็ นปุ่มไอคอน “step back” แสดงดังรูปที่ 7.75 และเราสามารถใช้งานการรัน
โปรแกรมแบบย้อนหลังได้ ขณะทีท่ าํ งานโหมดนี้อยู่ สามารถเข้าถึงหน้าต่างตอบโต้เพือ่ ตัง้ ค่า Enable
stepping back ได้อกี ครัง้ โดยใช้เมนูหลัก Simulation และคลิกเลือก Stepping Options ดังรูปที่ 7.76
รูปที่ 7.75 ปุ่มไอคอน Stepping Options เปลีย่ นเป็ นปุ่มไอคอน step back เมือ่ รันโปรแกรม
คลิกเลือก
จากรู ป ที่ 7.77 เมื่อ รัน โปรแกรมและมีก ารหยุ ด รัน ชัว่ คราว ที่แ ถบสถานะเวลาจะมี
เครื่องหมายดอกจัน (*) ซึ่งหมายถึงโปรแกรมได้ผ่านการประมวลผลและตรวจสอบขัน้ สูงของตัว
“Solver” ไปแล้วตามเวลาทีแ่ สดง ซึง่ เป็ นเวลาทีร่ นั โปรแกรมขณะใดขณะหนึ่งทีเ่ สร็จสมบูรณ์ล่าสุด
การปรับตั้งพารามิเตอร
ในขณะทีใ่ ช้ Simulation Stepper เมื่อการรันโปรแกรมถูกสังให้
่ หยุดชัวคราว
่ เราสามารถ
เปลี่ยนแปลงและปรับตัง้ ค่าพารามิเตอร์ได้ รวมทัง้ การตัง้ ค่า “Solver” บางอย่างได้ อย่างไรก็ตาม
การเปลี่ยนแปลงและปรับตัง้ ค่าพารามิเตอร์ขณะรันโปรแกรมแบบชัวคราว ่ จะมีผลกระทบต่อตัว
“Solver” เมื่อสังรั
่ นโปรแกรมในสเต็ปช่วงเวลาถัดไป ผลลัพธ์การรันโปรแกรมทีไ่ ด้ อาจจะไม่ตรงกับ
ผลลัพธ์การรันโปรแกรมก่อนหน้าทีจ่ ะมีการปรับตัง้ ค่าพารามิเตอร์ หรือได้ผลลัพธ์ทไ่ี ม่คลาดคิดได้
รูปที่ 7.79 ผลลัพธ์บน Scope เมือ่ คลิกปุ่มรัน Step Forward จํานวน 30 สเต็ป
รูปที่ 7.80 ผลลัพธ์บน Scope เมือ่ คลิกปุ่มรัน Step Back จํานวน 3 สเต็ป
เลือกเสนเชื่อมตอ และ
คลิกปุมขวา
คลิกเลือก
คลิกเลือก
ใสคา
รูปที่ 7.82 หน้าต่างตอบโต้สาํ หรับกําหนดเงือ่ นไขการทํางานให้กบั จุด Breakpoint
ที่ห น้ า ต่ า ง “Add Conditional Breakpoints” ( รูป ที่ 7.82) จะต้อ งตัง้ ค่ า เงื่อ นไขให้ก ับ
Breakpoint เพือ่ ให้โปรแกรมหยุดรันเมื่อเงื่อนไขเป็ นจริ ง โดยคลิกเลือกเงือ่ นไขที่ “drop-down list”
และใส่ค่าคงทีท่ ช่ี ่อง “Text box” (ตัวอย่างการกําหนดเงื่อนไขให้โปรแกรมหยุด มากกว่า หรือ น้ อย
กว่า “0” ดังรูปที่ 7.83) ต่อจากนัน้ คลิกปุ่ม “OK” จะปรากฏสัญลักษณ์ Enabled breakpoint ปุ่มสีแดง
บนหน้าต่างทํางาน ดังรูปที่ 7.84
รูปที่ 7.83 หน้าต่างตอบโต้ Conditional Breakpoints List แสดงเงือ่ นไขทีก่ าํ หนดและการตัง้ ค่าคงที่
สัญลักษณ Breakpoint
เลือกเสนเชื่อมตอ และ
คลิกปุมขวา
คลิกเลือก
คียดวนสำหรับมุมมอง/วิวโมเดล
ตารางที่ 7.4 คียด์ ว่ นสําหรับมุมมอง/วิวโมเดล
คําสัง่ คียด์ ่วน/เมาส์
Zoom in Ctrl + “+”
Zoom out Ctrl + “-”
Zoom to normal (100%) Alt + “1”
Fit diagram to screen Spacebar
Pan 1. ใช้เมาส์ คลิกปุ่ม “scroll wheel” ค้างไว้พร้อมเลื่อนเคอร์เซอร์
เมาส์ไปมา (เคอร์เซอร์เมาส์เปลีย่ นเป็ นรูปมือ, Link select)
2. กดคีย์ Spacebar ค้างไว้ พร้อมกับคลิกปุ่มซ้ายเมาส์และเลื่อน
เคอร์เซอร์ไปมา (เคอร์เซอร์เมาส์เปลีย่ นเป็ นรูปมือ, Link select)
Print Ctrl + “P”
คียดวนสำหรับแกไขโมเดล
ตารางที่ 7.5 คียด์ ว่ นสําหรับแก้ไขโมเดล
คําสัง่ คียด์ ่วน
Open model Ctrl + “O”
Create a new model Ctrl + “N”
Select all blocks Ctrl + “A”
Cut Ctrl + “X”
Delete selection Delete หรือ Backspace
Paste Ctrl + “V”
Move selection Arrow keys
Undo Ctrl + “Z”
Redo Ctrl + “Y”
Find block Ctrl + “F”
คียดวนสำหรับจัดการโมเดล
ตารางที่ 7.6 คียด์ ว่ นสําหรับการจัดการโมเดล
คําสัง่ คียด์ ่วน/เมาส์
Select multiple blocks Shift + คลิกปุ่มซ้ายเมาส์
Rotate block clockwise Ctrl + “R”
Rotate block counterclockwise Ctrl + Shift + “R”
Flip block Ctrl + “I”
Duplicate block Ctrl + “C”, แล้วกดคีย์ Ctrl + “V”
Disconnect block Shift + ใช้เมาส์คลิกทีบ่ ล็อกแล้วลากออก
Create subsystem from selected blocks Ctrl + “G”
Comment through a block เลือกบล็อก Comment และ Ctrl + Shift + “Y”
Uncomment Ctrl + Shift + “X”
Go to library block Ctrl + “L”
7.9 การอัพเดทคุณลักษณะของไดอะแกรม
การเขียนโปรแกรมแบบการเขียนโค้ด ตามปกติผเู้ ขียนจะต้องทําการประกาศชื่อตัวแปร
และประเภทของตัวแปร แต่การเขียนโปรแกรมแบบรูปภาพกราฟิ กด้วย Simulink นี้ จากหัวข้อที่
ผ่านๆ มา จะเห็นว่าผูเ้ ขียนโปรแกรมมีความสะดวกมาก ไม่ตอ้ งประกาศตัวแปรและกําหนดชนิดของ
ตัวแปร โปรแกรมจะกําหนดคุณสมบัตขิ องบล็อกเซตให้มคี วามเหมาะสมโดยอัตโนมัติ มีเพียงแต่การ
กําหนดค่าทีใ่ ห้กบั บล็อกเซตบางตัวเท่านัน้
เมื่อมีการเขียนโปรแกรมและได้ใช้บล็อกเซตจํานวนมาก ผูเ้ ขียนโปรแกรมอาจจะไม่ได้ใส่
ใจหรือละเลยในรายละเอียดการกําหนดคุณสมบัตหิ รือคุณลักษณะต่างๆ (Attributes) ของบล็อกเซต
ได้แก่ ชนิดของข้อมูลและประเภทของสัญญาณ เป็ นต้น ได้
โปรแกรม MATLAB Simulink จะพยายามกําหนดค่าทีเ่ หมาะสมทีส่ ุดให้กบั บล็อกเซตทีเ่ รา
ไม่ได้กําหนดคุณลักษณะให้บล็อกเซต และ MATLAB จะแสดงค่าคุณสมบัตบิ ล็อกเซตนัน้ ให้ดว้ ย ถ้า
หากว่ า MATLAB ไม่ ส ามารถกํ า หนดค่ า คุ ณ สมบัติใ ห้ ไ ด้ มัน จะหยุ ด การปรับ ปรุ ง และแสดง
ข้อผิดพลาดทางหน้าต่างกล่องโต้ตอบให้ผใู้ ช้งานทราบ
กระบวนการทัง้ หมดทีก่ ล่าวมาข้างต้น ซึง่ โปรแกรม MATLAB Simulink ได้ดําเนินการนัน้
เรียกว่า “การอัพเดตไดอะแกรม” (Updating the diagram)
การอัพเดทไดอะแกรมนี้ โปรแกรมจะดําเนินการให้เราตัง้ แต่ตอนเริม่ เขียนโมเดลเป็ น
บล็อกไดอะแกรมขึน้ และจะดําเนินการปรับปรุงพร้อมเปลี่ยนแปลงคุณสมบัตไิ ดอะแกรมให้ล่าสุด
เมือ่ ผูใ้ ช้งานสังรั
่ นโปรแกรมหรือทําการ Simulation
ฉะนัน้ เมื่อเราเริม่ ต้นเขียนโปรแกรม เราสามารถเรียกใช้ MATLAB Simulink ให้ทําการ
อัพเดทไดอะแกรมได้ทุกเมื่อ การอัพเดทไดอะแกรมจะช่วยเราโดยมันจะคอยเตือนและแก้ไขปั ญหา
ทีอ่ าจจะเกิดขึน้ ยังระบุจุดทีเ่ ป็ นปั ญหาให้ดว้ ยในขณะทีเ่ รากําลังสร้างโมเดลหรือเขียนโปรแกรมอยู่
ทําให้เราสามารถทราบปั ญหาแล้วแก้ไขงานได้อย่างมีประสิทธิภาพยิง่ ขึน้ ด้วย
หากผู้ใช้งานต้องการใช้งานกระบวนการ “อัพเดทไดอะแกรม” ในเวลาที่กําลังเขียน
โปรแกรม Simulink อยูใ่ ห้ดาํ เนินการดังนี้
คลิกเลือก
มีตวั อย่างการใช้งานการอัพเดทไดอะแกรมและการดําเนินการการอัพเดทไดอะแกรมของ
โปรแกรม MATLAB Simulink มานํ าเสนอและแสดงผลที่เกิดขึ้น ผู้ใช้งานสามารถฝึ กปฏิบตั เิ พื่อดู
ผลลัพธ์ได้ดงั นี้
1) สร้างโมเดลขึ้นมา 1 โมเดล โดยทําการเลือกบล็อกเซตและสร้างเชื่อมต่อเป็ นโมเดล
หรือบล็อกไดอะแกรม แสดงดังรูปที่ 7.89
2) แสดงข้อมูลคุณสมบัติของบล็อกเซต โดยจะแสดงเกี่ยวกับประเภทของข้อมูลหลัง
บล็อกเซต “Constant” และ “Gain” บนเส้นเชื่อมต่อระหว่างบล็อกเซต ซึ่ง MATLAB จะกําหนด
คุณสมบัตใิ ห้โดยอัตโนมัตเิ ป็ นประเภท Double ทัง้ สองบล็อกเซต ซึ่งจะใช้เมนู ท่หี น้าต่างทํางาน
Simulink Editor คลิกเลือกเมนเมนู Display > Signals & Ports > Port Data Types แสดงการใช้งาน
เมนูดงั รูปที่ 7.90
คลิกเลือก
ต่อจากนัน้ โมเดลหรือบล็อกไดอะแกรมจะแสดงผลลัพธ์ปรากฏชนิดข้อมูลของบล็อกเซต
ทัง้ สองบล็อกเซตเป็ นข้อมูลชนิด Double ดังรูปที่ 7.91
3) เปลี่ยนชนิ ดข้อมูลเอาท์พท
ุ ของบล็อกเซต “Constant” โดยดับเบิล้ คลิกทีบ่ ล็อกเซต
“Constant” จะปรากฏหน้าต่างตอบโต้ “Block Parameters: Constant” (ดังรูปที่ 7.92) ทําการเปลีย่ น
Output data type ของบล็อกเซตเป็ นแบบ Single แสดงดังรูปที่ 7.92
คลิกแท็บ
คลิกเลือก
คลิกปุม
รูปที่ 7.92 การเปลีย่ น Output data type ของบล็อกเซต Constant ให้เป็ นแบบ Single
7.10 การพิมพโมเดลเบื้องตน
เนื้อหาในส่วนนี้จะนําเสนอตัวอย่างการพิมพ์เบื้องต้น ซึ่งเป็ นโหมดการพิมพ์ท่ี MATLAB
ตัง้ ไว้เ ป็ น ค่า มาตรฐาน ซึ่ง ผู้ใ ช้ง านไม่ ต้อ งไปปรับ ตัง้ ค่า อะไรให้วุ่น วายมากนัก เพีย งแค่ โ หมด
มาตรฐานก็เพียงพอต่อการนําไปใช้งานจัดทําเป็ นรีพอร์ตได้แล้ว โดยจะนําโมเดล vdp (van der Pol
Equation) มาเป็ นโมเดลตัวอย่างในการใช้งาน ซึ่งผ่านตาผูอ้ ่านในหัวข้อทีผ่ ่านมา และวิธกี ารพิมพ์
ระบบย่อย (Sub-System) ด้วยโมเดล Engine Timing Model with Closed-Loop Control มีวธิ กี ารดังนี้
1) เปิ ดโมเดล vdp โดยพิมพ์คําสัง่ “vdp” บนหน้ าต่าง Command window ต่อจากนัน้
MATLAB จะเปิ ดโมเดล vdp บนหน้าต่างทํางาน Simulink Editor แสดงดังรูปที่ 7.94
2) สังพิ
่ มพ์โมเดล ทีห่ น้าต่างทํางาน Simulink Editor คลิกเลือกเมนู File > Print > Print
หรือใช้คยี ์ด่วน Ctrl + P จะปรากฏหน้ าต่างตอบโต้ “Print Model” (ดังรูปที่ 7.95) การกําหนดค่า
สําหรับการพิมพ์จะใช้ค่ามาตรฐานที่โปรแกรม MATLAB กําหนดไว้แล้วดังรูป แต่ในตัวอย่างนี้จะ
ทดลองพิมพ์โมเดลออกเป็ นไฟล์ .pdf ซึ่งสามารถดูผลลัพธ์รูปบล็อกไดอะแกรมโดยไม่ต้องสังงาน ่
ออกทางเครื่องพิมพ์ ทําการคลิกเลือกที่ CheckBox “Print to File” และคลิกปุ่ม “...” เพือ่ ตัง้ ชื่อไฟล์
ทีจ่ ะบันทึก ต่อจากนัน้ คลิกทีป่ ่ มุ “Print” แสดงวิธกี ารใช้งานดังรูปที่ 7.96
คลิกเลือก
คลิกปุม
เพื่อตั้งชื่อไฟลบันทึก .pdf
คลิกปุม
การพิมพบล็อกไดอะแกรมระบบยอย (Sub-System)
รูปที่ 7.98 เปิ ดโมเดล Engine Timing Model with Closed-Loop Control ด้วยคําสังบนหน้
่ าต่าง
Command window
รูปที่ 7.99 โมเดล Engine Timing Model with Closed-Loop Control: sldemo_enginewc
คลิก
คลิกเลือก
2) สังพิ
่ มพ์โมเดล ทีห่ น้าต่างทํางาน Simulink Editor คลิกเลือกเมนู File > Print > Print
หรือใช้คยี ด์ ว่ น Ctrl + P จะปรากฏหน้าต่างตอบโต้ “Print Model” ทดลองกําหนดค่าการพิมพ์โมเดล
ออกเป็ นไฟล์ .pdf และตัง้ ชื่อไฟล์ .pdf โดยคลิกที่ป่ ุม “...” ทําการตัง้ ชื่อไฟล์ทจ่ี ะบันทึก ต่อจากนัน้
คลิกทีป่ ่ มุ “Print” เราจะได้ไฟล์โมเดลระบบย่อยสําหรับงานพิมพ์แล้ว ทดลองเปิ ดไฟล์งานพิมพ์ ด้วย
โปรแกรม Acrobat Reader จะได้ผลลัพธ์โมเดลระบบย่อยดังรูปที่ 7.102 ซึง่ จะมีลกั ษณะเหมือนกัน
กับการพิมพ์โมเดลหลักในตัวอย่างข้างต้นทีไ่ ด้นําเสนอไปแล้ว
7.11 คำนวณสมการคณิตศาสตรดวยโมเดล
ตัง้ แต่หวั ข้อที่ 7.1 – 7.10 ผู้อ่านได้เรียนรู้และฝึ กปฏิบตั ิการใช้งาน MATLAB Simulink
เกี่ยวกับหน้าที่หรือฟั งก์ชนั การทํางานของส่วนประกอบต่างๆ ของโปรแกรม MATLAB Simulink
ได้แก่ เมนูหลัก/ย่อย หน้าต่างทํางาน การใช้งานบล็อกเซตคําสัง่ การเปิ ดงาน/การบันทึกงานโมเดล
การพิม พ์ง านโมเดลออกทางเครื่อ งพิม พ์ การใช้ค ีย์ด่ว นและเมาส์ป ระกอบการเขีย นโปรแกรม
เพือ่ ความรวดเร็วในการสร้างโมเดล
ในหัวข้อนี้ จะนํ าเสนอตัวอย่างเพื่อฝึ กเขียนโมเดลหรือบล็อกไดอะแกรม พูดง่ายๆ คือ
เขียนโปรแกรมเพื่อการคํานวณสมการทางคณิตศาสตร์ ตัวอย่างแรก จะแสดงให้เห็นว่าการเขียน
โปรแกรมโดยใช้ภาษากราฟิ กหรือรูปภาพ (Graphical programming language) จะต้องเขียนคําสัง่
เพื่อหาคําตอบได้อย่างไร? ขัน้ ตอนการออกแบบ/สร้างแบบจําลอง Math Operations ง่ายๆ แนะนํา
การใช้บล็อกเซต (Block sets) เกี่ยวกับ “Math Operations” ต่างๆ นํามาประกอบกันเป็ นโครงข่าย
เพื่อหาคําตอบ และแสดงผลลัพธ์ด้วยบล็อกเซต “Display” และ “Scope” ซึ่งตามปกติเราอาจจะ
คํานวณหาคําตอบโดยใช้เครื่องคิดเลข หรือใช้ MATLAB Desktop ได้ โดยพิมพ์คําสังบน ่ Command
line บน Command Window
ตัวอยางที่ 1: แปลงคาอุณหภูมิจากหนวยองศาฟาเรนไฮนเปนองศาเซลเซียส
โจทย์กําหนดให้สร้างโมเดลเพื่อแปลงค่าอุณหภูมจิ ากหน่ วยองศาฟาเรนไฮน์ (F) เป็ น
องศาเซลเซียส (C) โดยจะนําสมการการแปลงหน่วยอุณหภูมิ ตามสมการที่ (1) มาเป็ นโปรแกรม
c f − 32
=( ) (7.1)
5 9
5
=c ( f − 32) (7.2)
9
9
=f c + 32 (7.3)
5
หนาตางทำงาน
Simulink Editor
หนาตางชุดบล็อกเซต
Simulink Library Browser
บล็อก Constant
บล็อก Product
บล็อก Subtract
บล็อก Display
3 ) กํา หนดชื่ อ คุณ สมบัติ บ ล็อ กเซต สัง เกตบล็ อ กไดอะแกรมบนหน้ า ต่ า งทํ า งาน
“Simulink Editor” ในรูปที่ 7.107 เมือ่ ลากบล็อกเซตมาวางในครัง้ แรก จะเห็นว่าไม่แสดงชื่อบล็อกเซต
ใดๆ ให้ทําการแสดงชื่อบล็อกเซต โดยการคลิ กที่ บล็อกเซตนัน้ จะปรากฏเมนู ไอคอน “…” แล้ว
คลิกที่เมนู ไอคอนนี้ จะมีเมนู ย่อยปรากฏขึน้ (ดังรูปที่ 7.108) คลิกเลือกเมนู ไอคอน “Show Block
Name” ให้แสดงชือ่ ทุกๆ บล็อกเซต ผลลัพธ์แสดงดังรูป 7.108 ข้างล่าง
คลิกเลือก
❷ ใสคาคงที่
❶ ดับเบิ้ลคลิก
คลิกปุม
❷ ใสคาคงที่
❶ ดับเบิ้ลคลิก
คลิกปุม
❶ คลิกไอคอน
❷ คลิกเลือก
❸ พิมพชื่อไฟล
คลิกปุม ❹
คลิกไอคอน
รูปที่ 7.117 คํานวณอุณหภูมอิ งศา c เมือ่ อุณหภูมอิ งศา f มีคา่ เท่ากับ 100
❷ ใสคาคงที่
❶ ดับเบิ้ลคลิก
คลิกปุม
1) เงื่อนไขโปรแกรม
1. ข้อมูลอุณหภูมอิ นิ พุท c เป็ นข้อมูลแบบเวกเตอร์แถว
2. แสดงผลลัพธ์การคํานวณในรูปแบบกราฟ เปรียบเทียบข้อมูลอินพุทและเอาต์พทุ
3. บัน ทึก ข้อ มู ล อิน พุ ท และเอาต์ พุ ท อุ ณ หภู ม ิอ งศา c , และ f เก็ บ ไว้ ท่ีต ัว แปรชื่อ
“degree” แสดงบนหน้าต่าง “Workspace window”
2) แยกสวนประกอบไดอะแกรมจากสมการ
ก่อนการเริม่ ต้นเขียนโปรแกรม ทําการพิจารณาสมการที่ (7.3) เพื่อหาความสัมพันธ์หรือ
ความเกี่ยวข้องระหว่างสมการกับบล็อกเซต ว่าเราจะต้องใช้บล็อกเซต/ฟั งก์ชนั อะไรบ้าง? นํ ามา
เขียนเป็ นโมเดล แสดงความสัมพันธ์ ดังรูปที่ 7.120
รวมสัญญาณ: Mux
อินพุท: Ramp
เอาตพุท: Scope คาคงที่: Constant
9
=
f c + 32
5
เอาตพุท: To Workspace การบวก: Sum
การคูณ: Gain
รูปที่ 7.120 ความสัมพันธ์ระหว่างสมการกับบล็อกเซต
3) การเขียนโมเดล
จากการฝึกปฏิบตั ใิ นตัวอย่างที่ 1 ผูใ้ ช้งานคงจะพอมองเห็นลําดับขัน้ ตอน และวิธกี ารเขียน
โปรแกรมด้วย MATLAB Simulink แล้ว ซึง่ การทีเ่ ราจะได้บล็อกเซตต่างๆ มาเขียนโมเดลนัน้ จะได้มา
จากการนําสมการมาวิเคราะห์เพือ่ แยกส่วนประกอบว่าสมการมีเทอมใดบ้าง ซึง่ ได้แก่ ค่าคงทีต่ ่างๆ
ตัวแปรอินพุท ตัวแปรเอาต์พุท เครื่องหมายดําเนินการทางคณิตศาสตร์ และการแสดงผลลัพธ์
ต่อจากนัน้ เราจะนํ าส่วนประกอบเหล่านัน้ มาเลือกบล็อกเซตต่างๆและกําหนดชื่อคุณสมบัตใิ ห้กบั
บล็อกเซตซึง่ มีความสอดคล้องกับเทอมของสมการด้วย ได้ดงั ตารางที่ 7.10
มีขอ้ สังเกตอย่างหนึ่งทีอ่ ยากจะให้พจิ ารณา คือ ลําดับการวางตําแหน่ งบล็อกเซต เมื่อเรา
ได้บล็อกเซตทีจ่ ะนํามาเขียนโปรแกรม แล้วจะมีหลักในการวางบล็อกเซตอย่างไร? ผูเ้ ขียนขอเสนอ
หลักการวางบล็อกเซต คือ “การย้ายฝัง่ เทอมสมการ” จากสมการในรูปที่ 7.120 เมื่อย้ายฝั ง่ เทอม
สมการ จะได้ผลลัพธ์ แสดงดังรูปที่ 7.121 ซึง่ จะทําให้เรามองส่วนประกอบของสมการ ได้แก่ ตัวแปร
อินพุท ค่าคงที่ ตัวดําเนินการทางคณิตศาสตร์ และตัวแปรเอาต์พุท เป็ นเหมือนกับระบบๆ หนึ่ง
ทีป่ ระกอบด้วย อิ นพุท โปรเซส และเอาต์พทุ นันเอง ่ แสดงดังรูปที่ 7.121
โปรเซส
9
ตัวแปรอินพุท c + 32 =f ตัวแปรเอาตพุท
5
รูปที่ 7.121 สมการทีถ่ ูกย้ายฝั ง่ ทําให้มองเห็นเป็ นระบบๆ หนึ่งประกอบด้วย Input, Process, Output
4) การตั้งคาคุณสมบัติบล็อกเซต
บล็อกไดอะแกรมดังรูปที่ 7.122 จะต้องทําการปรับตัง้ ค่า/กําหนดค่าคุณสมบัตใิ ห้เหมาะสม
ได้แก่ ชือ่ บล็อกเซต และค่าคุณสมบัติ เป็ นต้น มีลาํ ดับการกําหนดค่า ดังนี้
4.1) บล็อกเซต Ramp โดยเปลีย่ นชื่อจาก Ramp เป็ น “Ramp C degree” และกําหนดค่า
คุณสมบัตใิ ห้กบั บล็อกเซต ดังรูปที่ 7.124
ใสคาคงที่
คลิกปุม
ใสคาคงที่
คลิกปุม
รูปที่ 7.125 ตัง้ ค่าคุณสมบัตบิ ล็อกเซต (Block Parameters: Gain (x9/5))
ใสคาคงที่
คลิกปุม
รูปที่ 7.126 ตัง้ ค่าคุณสมบัตบิ ล็อกเซต (Block Parameters: 32)
4.4) บล็อกเซต Sum เปลีย่ นชื่อจาก Sum เป็ น “Sum (+)” บล็อกเซตนี้ไม่ตอ้ งกําหนดค่า
คุณสมบัตใิ ดๆ
4.5) บล็อกเซต Scope เปลี่ยนชื่อจาก Scope เป็ น “Scope F degree” และกําหนดค่า
คุณสมบัตใิ ห้กบั บล็อกเซต ดังรูปที่ 7.127
ข้อสังเกตเมื่อคลิกลากและวางบล็อกเซตไว้ทห่ี น้าต่างทํางาน Simulink Editor สัญญาณ
อินพุทพอร์ตจะมี 1 อินพุท ทําการปรับตัง้ ค่าสัญญาณอินพุทให้มจี าํ นวนพอร์ต 2 อินพุท วิธกี ารดังนี้
คลิกเลือก
เลือกขอมูลที่เสนที่ 1 อินพุท
เลือกความหนาเสน
เลือกสีเสน
คลิกปุม
เลือกขอมูลเสนที่ 2 เอาตพุท
เลือกรูปแบบเสน
เลือกสีเสน
คลิกปุม
รูปที่ 7.128 ปรับตัง้ ค่าคุณสมบัตกิ ารแสดงผลกราฟบนหน้าต่าง Scope จํานวน 2 ข้อมูล
ใสจำนวนพอรตอินพุท
กำหนดชื่อตัวแปร
เลือกขอมูลแบบ Array
กำหนดรูปแบบ Array
คลิกปุม
รูปที่ 7.130 กําหนดค่าคุณสมบัตบิ ล็อกเซต To Workspace
เมือ่ ดําเนินการ “ตัง้ ค่าคุณสมบัตบิ ล็อกเซต” ให้กบั บล็อกเซตทุกๆ ตัว ตัง้ แต่ขนั ้ ตอนที่ 4.1
ถึง 4.6 แล้ว เราจะได้บล็อกไดอะแกรมแบบเสร็จสมบูรณ์ แสดงดังรูปที่ 7.131
5) การรันโปรแกรม
ก่อนการรันโปรแกรม จะต้องมีการกําหนดคุณสมบัตกิ ารรันเสียก่อน เพราะว่า โมเดลนี้ มี
เรื่องของเวลาเข้ามาเกีย่ วข้องด้วย กล่าวคือ บล็อกเซต Ramp และ บล็อกเซต Scope จะเป็ นบล็อก
เซตทีท่ าํ งานมีเวลาเข้ามาเกีย่ วข้อง ดังนัน้ จะต้องกําหนดเวลาเริม่ ต้น-สิน้ สุดสําหรับการรันโปรแกรม
โดยคลิกที่ Text box: “Simulation stop time” และใส่ขอ้ มูลเวลาเป็ น 100 เพือ่ ให้โปรแกรม
ประมวลผลจําลองโมเดล ตัง้ แต่เวลาเริม่ ต้นที่ 0 วินาที และเวลาสิน้ สุดที่ 100 วินาที ดังรูปที่ 7.132
ต่อจากนัน้ คลิ กไอคอนคอนโทรล “Run”
ใสขอมูลทางเวลา
คลิกปุม Run
รูปที่ 7.132 กําหนดค่าคุณสมบัตกิ ารรันโปรแกรม/โมเดลจําลองเชิงเวลา
ขอความแสดง Ready
รูปที่ 7.133 การประมวลผลแบบจําลองหรือโมเดลอย่างถูกต้องและเสร็จสมบูรณ์
6) ผลลัพธการรันโปรแกรม
ดูผลลัพธ์ท่คี ํานวณได้จากการแปลงหน่ วยอุณหภูมอิ งศา C เป็ นหน่ วยองศา F ได้โดย
ดับเบิ้ลคลิ กที่บล็อกเซต Scope จะปรากฏกราฟจํานวน 2 เส้น คือ เส้นประสีน้ําเงิน และเส้นทึบสี
เขียว ดังรูปที่ 7.134 เส้นประสีนํ้าเงิ น คือ เอาต์พุทการคํานวณมีหน่ วยเป็ นองศา F โดยแกน
นอน คือ หน่ วยองศา C มีค่าตัง้ แต่ 0 – 100 องศา, แกนตัง้ คือ ค่าทีค่ ํานวณได้มหี น่ วยเป็ นองศา F
ส่วนเส้นสีเขียว คือ ข้อมูลอินพุทหน่วยองศา C มีความชันเท่ากับ 1 แสดงให้เห็นจํานวนข้อมูล
จากกราฟเส้นประสีน้ําเงินในรูปที่ 7.134 จะสังเกตเห็นว่า เมื่ออุณหาองศา C มีค่าเท่ากับ
0 อุณหภูมอิ งศา F จะเท่ากับ 32
ทดลองพิมพ์คาํ สังเพื
่ อ่ พล็อตกราฟบนหน้าต่าง “Figure” ที่ Command line ด้วยคําสัง่
fx >> plot(degree2(:,1)', degree2(:,2)','--b');
MATLAB จะเปิ ดหน้าต่าง Figure และพล็อตกราฟเส้นจํานวน 1 เส้น แสดงดังรูปที่ 7.138
ตัวอยางที่ 3: การคำนวณสมการเชิงอนุพันธ
ในตัวอย่างที่ 2 ได้ฝึกปฏิบตั กิ ารเขียนโปรแกรมคํานวณสมการเชิงเส้นไปแล้ว ในส่วนนี้มา
ทดลองเขียนสมการเชิงอนุ พนั ธ์ (Differential Equation) บ้าง โดยใช้ Simulink เพื่อหาคําตอบและ
แสดงผลลัพธ์ดว้ ยการพล็อตกราฟ
ก่อนอื่น ขอทบทวนทฤษฎีวชิ าแคลคูล สั เกี่ยวกับสมการเชิงอนุ พนั ธ์สกั เล็กน้ อย ก่อน
เข้าเนื้อหาการเขียนโปรแกรม ดังนี้
กําหนดให้ f ( x) เป็ นฟั งก์ชนั ทีม่ ี x เป็ น “ตัวแปรอิ สระ” (ตัวแปรต้น) เมื่อ y = f ( x)
แล้วเราเรียก y ว่า “ตัวแปรตาม”
สมการดิฟเฟอเรนเชียล มีต้นกําเนิดมาจากปั ญหาทางคณิตศาสตร์ และฟิ สกิ ส์ ซึ่งพอจะ
แยกรายละเอียดของแต่ละปั ญหาทีน่ ําเข้าสู่สมการดิฟเฟอเรนเชียล ได้แก่ ปั ญหาเกี่ยวกับความชัน
เส้นโค้ง ความชันของเส้นสัมผัสเส้นโค้ง เป็ นต้น ยกตัวอย่าง เช่น กําหนดเส้นโค้งทีผ่ ่านจุด P( x, y)
มีความชันเป็ น 2 เท่าของผลบวกของคู่อนั ดับทัง้ สอง จะได้ว่า ความชันของเส้นโค้ง y = f ( x) คือ
dy
อนุพนั ธ์ ทีจ่ ุด ( x, y ) ใดๆ ดังนัน้ จะได้สมการดิฟเฟอเรนเชียล คือ
dx
dy
= 2( x + y )
dx
1) เงื่อนไขโปรแกรม
1. ใช้สมการดิฟเฟอเรนเชียลที่ (7.4) นําไปเขียนโปรแกรมด้วย Simulink
2. แสดงผลลัพธ์การคํานวณในรูปแบบกราฟ เปรียบเทียบข้อมูลอินพุทและเอาต์พทุ
3. นําสัญญาณ u รูปคลื่นแบบ square wave ป้ อนเข้าไปในโมเดล (สมการ) และ
แสดงผลลัพธ์ดว้ ยการพล็อตกราฟเปรียบเทียบสัญญาณอินพุทและเอาต์พทุ โดย
ใช้สมการที่ (7.5) และ (7.7)
y '+ 2 y = 1 (7.4)
y '(t ) + 2 y (t ) + u (t ) =
1 (7.5)
2) แยกสวนประกอบไดอะแกรมจากสมการ
ก่อนการเริม่ ต้นเขียนโปรแกรม ทําการพิจารณาสมการที่ (7.4) เพื่อหาความสัมพันธ์หรือ
ความเกี่ยวข้องระหว่างสมการกับบล็อกเซต แสดงความสัมพันธ์ ดังรูปที่ 7.139 ต้องทําการจัด
เรียงลําดับเทอมของสมการใหม่ โดยจัดเรียงออเดอร์ของเทอมอนุ พนั ธ์ให้เป็ นเอาต์พุท อยู่ทางฝั ง่
ขวามือ และเทอมอื่นๆ เป็ นโพเซส อยู่ทางฝั ง่ ซ้ายมือ โดยเรียงลําดับค่าคงที่ และตัวแปร ตามลําดับ
แสดงดังรูปที่ 7.139
เอาตพุท : Scope
คาคงที่: Constant เอาตพุท : Scope
1 + (−2 y ) =y '
การบวก/รวม: Sum อนุพันธ: Integrator
การคูณ/ขยาย: Gain
รูปที่ 7.139 ความสัมพันธ์ระหว่างสมการกับบล็อกเซต
3) การเขียนโมเดล
นําสมการทีแ่ สดงความสัมพันธ์ระหว่างบล็อกเซตกับเทอมของสมการ และตารางบล็อก
เซตและการกําหนดคุณสมบัต/ิ คุณลักษณะที่ 7.11 มาเขียนบล็อกไดอะแกรม ได้ดงั รูปที่ 7.140
4) การตั้งคาคุณสมบัติบล็อกเซต
บล็อกไดอะแกรมดังรูปที่ 7.140 จะต้องทําการปรับตัง้ ค่า/กําหนดค่าคุณสมบัตใิ ห้เหมาะสม
ได้แก่ ชือ่ และค่าคุณสมบัตบิ ล็อกเซต เป็ นต้น มีลาํ ดับขัน้ ตอนวิธี ดังนี้
4.1) บล็อกเซต Constant ใช้ช่ือเริม่ ต้นเดิม คือ “Constant” และกําหนดค่าคุณสมบัติ
ให้กบั บล็อกเซต ดังรูปที่ 7.141
ใสคาคงที่
คลิกปุม
รูปที่ 7.141 ตัง้ ค่าคุณสมบัตบิ ล็อกเซต (Block Parameters: Constant)
4.2) บล็อกเซต Sum ใช้ช่อื เริม่ ต้นเดิม คือ “Sum” และกําหนดค่าคุณสมบัตใิ ห้กบั บล็อก
เซต ดังรูปที่ 7.142 สังเกตช่อง Text box: “List of signs” จะใช้เครือ่ งหมาย “|++” หมายถึง กําหนดให้
สามารถรับอินพุทพอร์ตเพือ่ การรวมสัญญาณได้ มีจาํ นวน 2 พอร์ตอินพุท
กำหนดเครื่องหมาย
คลิกปุม
4.3) บล็อกเซต Gain ใช้ช่อื เริม่ ต้น คือ “Gain” และกําหนดค่าคุณสมบัตใิ ห้กบั บล็อกเซต
ดังรูปที่ 7.143
ใสคาคงที่
คลิกปุม
รูปที่ 7.143 ตัง้ ค่าคุณสมบัตบิ ล็อกเซต (Block Parameters: Gain)
4.5) บล็อกเซต Scope ใช้ช่อื เริม่ ต้น คือ “Scope” และกําหนดค่าคุณสมบัตใิ ห้กบั บล็อก
เซต ดังรูปที่ 7.145
ข้อสังเกตเมื่อคลิกลากและวางบล็อกเซต Scope ไว้ท่หี น้าต่าง Simulink Editor ครัง้ แรก
สัญญาณอินพุทพอร์ตจะมี 1 อินพุท ทําการปรับตัง้ ค่าสัญญาณอินพุทให้มจี ํานวนพอร์ต 2 พอร์ต
อินพุท โดย คลิ กขวาที่บล็อกเซต Scope จะปรากฏเมนูตอบโต้ คลิกเลือก Signals & Ports>Number
of Input Ports> 2 ดังรูป (หากลืม ดูการปรับตัง้ ค่าในตัวอย่างที่ 2 หัวข้อที่ 4.5)
ปรับ ตัง้ คุ ณสมบัติการแสดงผลกราฟ 2 ข้อมูล ที่หน้ าต่าง Scope ให้มีหน้ าต่ างกราฟ
แยกกันเป็ น 2 แถว 1 คอลัมน์ โดย ดับเบิ้ลคลิ กที่บล็อกเซต Scope ซึง่ จะปรากฏหน้าต่างตอบโต้
“Scope” แสดงดังรูปที่ 7.145 ต่อจากนัน้ คลิกทีเ่ มนู View และเลือก “Layout …” แล้วจะมีเมนูตอบ
โต้ให้ผใู้ ช้งานคลิกเลือกรูปแบบ Layout แสดงหน้าต่างกราฟ ทําการคลิกเลือก Layout จํานวน 2 แถว
ผลลัพธ์แสดงดังรูปข้างล่าง
ส่วนการแสดงสัญลักษณ์/คําอธิบายเส้นกราฟ ด้วย “Legend” ให้ผใู้ ช้งานคลิกทีเ่ มนู View
และเลือก “Legend …” แสดงดังรูปที่ 7.145 ข้างล่าง
คลิกเลือก
คลิกเลือก
คลิกเลือก
5) การรันโปรแกรม
ก่อนการรันโปรแกรม ให้กาํ หนดคุณสมบัตกิ ารรันเวลาเริม่ ต้น-สิน้ สุด โดยคลิกที่ Text box:
“Simulation stop time” และใส่ขอ้ มูลเวลาเป็ น 5 วินาที เพื่อให้โปรแกรมประมวลผลจําลองโมเดล
ตัง้ แต่เวลาเริม่ ต้นที่ 0 วินาที และเวลาสิน้ สุดที่ 5 วินาที ต่อจากนัน้ คลิ กไอคอนคอนโทรล “Run”
ใสขอมูลทางเวลา
คลิกปุม Run
6) ผลลัพธการรันโปรแกรม
ดูผลลัพธ์การรันโมเดลโดย ดับเบิ้ ลคลิ กที่ บล็อกเซต Scope จะปรากฏหน้ าต่างการ
แสดงกราฟจํานวน 2 กราฟ บนหน้าต่าง Scope แสดงดังรูปที่ 7.147
1 − 2 y (t ) + u (t ) =
y '(t ) (7.7)
7) สรางและปรับปรุงบล็อกไดอะแกรม
จากรูปบล็อกไดอะแกรมที่ 7.148 ทําการนํ าโมเดลในรูปที่ 7.140 มาเพิม่ เติมสัญญาณ
อินพุท u (t ) ด้วยบล็อกเซต Signal Generator กําหนดค่าคุณสมบัตกิ ารแสดงผลลัพธ์ขอ้ มูลเอาต์พุท
ด้วยบล็อกเซต Scope และการตัง้ ค่าคุณสมบัติบล็อกเซต Sum การตัง้ การปรับตัง้ ค่าคุณสมบัติ
บล็อกเซต จํานวน 3 บล็อกเซต มีวธิ กี ารดังนี้
7 .1) บล็อ กเซต Signal Generator ใช้ช่ือ เริ่ม ต้น เดิม คือ “Signal Generator” และ
กําหนดค่าคุณสมบัตใิ ห้กบั บล็อกเซต ดังรูปที่ 7.149 ซึง่ จะใช้สญ
ั ญาณแบบ Square wave มีความถี่
ขนาด 1 Rad/Sec. และมีแอมพลิจดู ขนาด 1 หน่วย
7.2) บล็อกเซต Sum ใช้ช่อื เริม่ ต้นเดิม คือ “Sum” และกําหนดค่าคุณสมบัตใิ ห้กบั บล็อก
เซต ดัง รูป ที่ 7.150 สัง เกตช่ อ ง Text box: “List of signs” จะใช้เ ครื่อ งหมาย “|+++” หมายถึง
กําหนดให้สามารถรับอินพุทพอร์ตเพือ่ การรวมสัญญาณได้เป็ นจํานวน 3 พอร์ต แสดงดังรูปข้างล่าง
กำหนดเครื่องหมาย
คลิกปุม
รูปที่ 7.150 ตัง้ ค่าคุณสมบัตบิ ล็อกเซต (Block Parameters: Sum)
7.3) บล็อกเซต Scope ใช้ช่อื เริม่ ต้นเดิม คือ “Scope” ซึ่งการนํ าโมเดลมาแก้ไข ในส่วน
ของบล็อกเซต Scope จะมีสญ ั ญาณอินพุทเพียง 2 อินพุท ทําการเพิม่ จํานวนอินพุทให้เป็ น 3 พอร์ต
โดย คลิ กขวาที่ บล็อกเซต Scope จะปรากฏเมนู ตอบโต้ คลิกเลือก Signals & Ports>Number of
Input Ports> 3 ดังรูป เมื่อคลิกเลือกจํานวนพอร์ตแล้ว บล็อกเซต Scope จะปรากฏจํานวนอินพุท
พอร์ตเพิม่ ขึน้ ตามทีเ่ ลือกไว้
คลิกเลือก คลิกเลือก
คลิกเลือก
เลือกกลุมขอมูลชุดที่ 2
เลือกขอมูลอินพุทเสนที่ 2
เลือกความหนาเสน
เลือกสีเสน
คลิกปุม
รูปที่ 7.152 กําหนดค่าคุณสมบัตกิ ารแสดงผลกราฟบนหน้าต่าง Scope ชุดข้อมูล u (t )
8) รันโปรแกรมและผลลัพธ
ก่อนการรันโปรแกรม ให้กาํ หนดคุณสมบัตกิ ารรันเวลาเริม่ ต้น-สิน้ สุด โดยคลิกที่ Text box:
“Simulation stop time” และใส่ขอ้ มูลเวลาเป็ น 20 วินาที เพื่อให้โปรแกรมประมวลผลจําลองโมเดล
ตัง้ แต่เวลาเริม่ ต้นที่ 0 วินาที และเวลาสิน้ สุดที่ 20 วินาที ต่อจากนัน้ คลิ กไอคอนคอนโทรล “Run”
ต่ อ จากนัน้ ดูผ ลลัพ ธ์ก ารรัน โมเดล โดยดับเบิ้ ลคลิ กที่ บล็อกเซต Scope จะปรากฏ
หน้าต่างการแสดงกราฟจํานวน 3 กราฟ บนหน้าต่าง Scope แสดงดังรูปที่ 7.153
(1) คลิก
(2) คลิกปุม
(3) คลิกเลือก
สรุปทายบท
เนื้อหาในบทนี้เป็ นการเรียนรูก้ ารใช้งานโปรแกรม MATLAB Simulink แบบปูพน้ื ฐาน โดย
เริม่ ตัง้ แต่เบื้องต้น เริม่ การใช้งานโปรแกรม Simulink คําแนะนํ าเกี่ยวกับคุณสมบัติของหน้ าต่าง
โปรแกรมและบล็อกไลบรารี การใช้งานบล็อกคําสัง่ การเปิ ดงาน/การบันทึกงานโมเดล การพิมพ์งาน
โมเดลออกทางเครื่องพิมพ์ การใช้คยี ด์ ่วนและเมาส์ประกอบการเขียนโปรแกรมเพือ่ ความรวดเร็วใน
การสร้างโมเดล รวมทัง้ มีตวั อย่างการฝึกการเขียนโมเดลและการโปรแกรมมิง่ แบบทีละบล็อกเซต/
บล็อกไดอะแกรม และการปรับตัง้ ค่าคุณสมบัตใิ ห้กบั บล็อกเซตต่างๆ แบบพอให้เข้าใจคอนเซ็ปต์
หรือมองเห็นรูปแบบภาพรวมของบล็อกไดอะแกรมว่าทํางานอย่างไร
I am Wits:
ชอบเรี ยน ชอบศึกษาหาความรู ้ เขียนโปรแกรม สร้างเพจ/บล็อก แชร์ความรู ้ ฯลฯ
- สุวิทย์ เมาะราษี
- เกิด 23 ตุลาคม 2517 ที่จงั หวัดร้อยเอ็ด
- | โปรแกรมเมอร์อิสระ |
- E-mail: suvit.sci@gmail.com, มือถือ: 08 5579 4707
การศึกษา:
- ม.3 โรงเรี ยนโพธิกลางพิทยาคม จังหวัดร้อยเอ็ด
- ปวช. (ไฟฟ้ากาลัง) วิทยาลัยเทคนิคร้อยเอ็ด จังหวัดร้อยเอ็ด
- ปวส. (ไฟฟ้ากาลัง) วิทยาลัยเทคนิคท่าหลวงซิเมนต์ไทยอนุสรณ์ จังหวัดสระบุรี
งานที่สนใจ:
- Image Processing Technology, Computer Vision, Neural Network Algorithm, Deep Learning:
Convolutional Neural Network: CNN., and Micro-Controller Programming etc.
- Self-study and Self-development, Programming (C, C#, C++, Python, and MATLAB), Control
Electronic using micro-controllers and programming etc.
Line QR-code: