การประยุกต ใช ไมโครคอนโทรลเลอร...

60
การประยุกตใชไมโครคอนโทรลเลอรทําหนาที่เปน PLC PROGRAMMABLE LOGIC CONTROLLER USING MICROCONTROLLER สวรส กิตติโสภา อมรรัตน จันทรศรี ปริญญานิพนธนี้เปนสวนหนึ่งของการศึกษาตามหลักสูตรปริญญาวิศวกรรมศาสตรบัณฑิต ภาควิชาวิศวกรรมไฟฟา คณะวิศวกรรมศาสตร มหาวิทยาลัยบูรพา ปการศึกษา 2551

Upload: others

Post on 16-Mar-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: การประยุกต ใช ไมโครคอนโทรลเลอร ทําหน าที่เป น PLC ... · use the PLC in many proposes of control easily

การประยุกตใชไมโครคอนโทรลเลอรทําหนาที่เปน PLCPROGRAMMABLE LOGIC CONTROLLER USING MICROCONTROLLER

สวรส กิตติโสภาอมรรัตน จันทรศรี

ปริญญานิพนธนี้เปนสวนหนึ่งของการศึกษาตามหลักสูตรปริญญาวิศวกรรมศาสตรบัณฑิตภาควิชาวิศวกรรมไฟฟา คณะวิศวกรรมศาสตร

มหาวิทยาลัยบูรพาปการศึกษา 2551

Page 2: การประยุกต ใช ไมโครคอนโทรลเลอร ทําหน าที่เป น PLC ... · use the PLC in many proposes of control easily

การประยุกตใชไมโครคอนโทรลเลอรทําหนาที่เปน PLCPROGRAMMABLE LOGIC CONTROLLER USING MICROCONTROLLER

สวรส กิตติโสภาอมรรัตน จันทรศรี

โครงงานนี้เปนสวนหนึ่งของการศึกษาตามหลักสูตรปริญญาวิศวกรรมศาสตรบัณฑิต

ภาควิชาวิศวกรรมไฟฟา คณะวิศวกรรมศาสตรมหาวิทยาลัยบูรพาปการศึกษา 2551

Page 3: การประยุกต ใช ไมโครคอนโทรลเลอร ทําหน าที่เป น PLC ... · use the PLC in many proposes of control easily

PROGRAMMABLE LOGIC CONTROLLER USING MICROCONTROLLER

Sawaros KittisopaAmornrat Junsri

A THESIS SUBMITTED IN PARTIAL FULFILLMENT OF REQUIREMENTFOR THE DEGREE OF BACHELOR OF ENGINEERING

DEPARTMENT OF ELECTRICAL ENGINEERINGBURAPHA UNIVERSITY 2008

Page 4: การประยุกต ใช ไมโครคอนโทรลเลอร ทําหน าที่เป น PLC ... · use the PLC in many proposes of control easily

ปริญญานิพนธ การประยุกตใชไมโครคอนโทรลเลอรทําหนาที่เปน PLCโดย นางสาวสวรส กิตติโสภา

นางสาวอมรรัตน จันทรศรี อาจารยที่ปรึกษา ดร.เฉลิมภัณฑ ฟองสมุทรจํานวนหนา 77 หนาปการศึกษา 2551

ภาควิชาวิศวกรรมไฟฟา คณะวิศวกรรมศาสตร มหาวิทยาลัยบูรพา อนุมัติโครงงานทางวิศวกรรมนี้เปนสวนหนึ่งของการศึกษาตามหลักสูตรปริญญาวิศวกรรมศาสตรบัณฑิต

...................................................ประธานกรรมการสอบปริญญานิพนธ(อาจารยบัณฑร จิตตสุภาพ)

...................................................กรรมการสอบปริญญานิพนธ(อาจารยดร.มนตรี โพธิโสโนทัย)

...................................................อาจารยที่ปรึกษา(อาจารยดร.เฉลิมภัณฑ ฟองสมุทร)

...................................................หัวหนาภาควิชาวิศวกรรมไฟฟา(ผูชวยศาสตราจารยดร.ณยศ คุรุกิจโกศล)

Page 5: การประยุกต ใช ไมโครคอนโทรลเลอร ทําหน าที่เป น PLC ... · use the PLC in many proposes of control easily

บทคัดยอ

โปรแกรมเมเบิลลอจิกคอนโทรลเลอร หรือ PLC เปนอุปกรณที่ใชควบคุมการทํางานของเครื่องจักร หรือระบบตางๆ แทนวงจรรีเลยแบบเกาที่มีขอเสียคือการเดินสายและการเปลี่ยนแปลงเงื่อนไขในการควบคุมมีความยุงยาก ในปจจุบันโปรแกรมเมเบิลลอจิกคอนโทรลเลอรจึงเขามาทดแทนวงจรรีเลย เพราะโปรแกรมเมเบิลลอจิกคอนโทรลเลอรใชงานไดงายกวา โครงงานเลมนี้นําเสนอการใชประโยชนจากไมโครคอนโทรลเลอร และมีการอธิบายการทํางานของไมโครคอนโทรลเลอรโครงงานเลมนี้เปนตัวอยางสําหรับนักศึกษาที่สนใจนําไมโครคอนโทรลเลอรไปใชงานเนื่องจากมีการอธิบายวงจรและตัวอยางซอฟตแวรใหอยางละเอียดสามารถนําไปสรางใชงานไดมีการศึกษาวงจรสวนตางๆของโปรแกรมเมเบิลลอจิกคอนโทรลเลอรอุตสาหกรรมสวนฮารดแวรที่นํามาเผยแพรไดมีการทดลอง และสรุปผลการทดลอง

ในดานซอฟตแวรการสั่งไมโครคอนโทรลเลอรใหทํางานตามความตองการของผูใช โครงงานนี้จึงมีการพัฒนาใหการสั่งงานจากผูใชสามารถทําไดงายและรวดเร็วมากขึ้น และทดสอบแนวคิดดวยการเขียนโปรแกรมขึ้นมาทดลองใชงาน มีการคิดชุดคําสั่งเพื่อใหไมโครคอนโทรลเลอรทํางานแตละคําสั่งไดเร็วที่สุด วิธีนี้มีขอดีที่ลดอุปกรณและตนทุนลง และมีความยืดหยุนกวา เพราะสามารถปรับการใชงานใหเหมาะสมกับงานได

โครงงานนี้สรางอุปกรณทํางานพื้นฐานไดเหมือนโปรแกรมเมเบิลลอจิกคอนโทรลเลอรแตไมสามารถแทนโปรแกรมเมเบิลลอจิกคอนโทรลเลอรไดในทุกกรณี ปริญญานิพนธนี้ไดระบุความบกพรองหรือความสามารถที่ขาดไป ไวเปนแนวทางการพัฒนาตอ และยังแสดงใหเห็นแนวทางหรือกระบวนการคิดในการสรางฮารดแวร และซอฟตแวรรวมทั้งทดสอบแสดงการใชงานแบบจําลองทดสอบไฟจราจรและการกลับทางหมุนมอเตอรไฟตรง

คําสําคัญ: โปรแกรมเมเบิลลอจิกคอนโทรลเลอร, พีแอลซี, แลดเดอรไดอะแกรม, ไมโครคอนโทรลเลอร

Page 6: การประยุกต ใช ไมโครคอนโทรลเลอร ทําหน าที่เป น PLC ... · use the PLC in many proposes of control easily

Abstract

PLC (Programmable logic controller) is most widely used in the control processespecially the production line of many industries. PLC is also capable for replacing the use of conventional circuits of relay. The reason is that, the main disadvantages of the conventional circuit are the difficulty of wiring and the change of controlling condition occurred frequently. Nowadays, the conventional circuit of relay has been already replaced by PLC because we can use the PLC in many proposes of control easily.

This project aims to design the PLC by using microcontroller PIC18F4550 as a central control unit. The designed PLC with C# program is used to control electronic circuits and there are command package in our proposed PLC. It allows user enter commands PLC simply.

This project proposed the PLC by using microcontroller that it mostly works the same of commercial PLCs. However, the designed PLC is not available for all cases, i.e., sequential and non-sequential commands. The experimental results show that the designed PLC is capable for controlling traffic light and for rotating electric motor. Finally, the disadvantages of our PLC were concluded as a guide for future improvement.

Keywords: Programmable logic controller, PLC, Ladder Diagram, Microcontroller

Page 7: การประยุกต ใช ไมโครคอนโทรลเลอร ทําหน าที่เป น PLC ... · use the PLC in many proposes of control easily

กิตติกรรมประกาศ

การจัดทําโครงงานทางวิศวกรรมศาสตรนี้สําเร็จลุลวงไปดวยดี ทางคณะผูจัดทําขอขอบพระคุณผูชวยศาสตราจารยดร.ณยศ คุรุกิจโกศล หัวหนาภาควิชาวิศวกรรมไฟฟา อาจารยดร.เฉลิมภัณฑ ฟองสมุทร ที่ปรึกษาการทําโครงงานครั้งนี้ และคณาจารยทุกทานในภาควิชาวิศวกรรมไฟฟาที่ใหการสนับสนุนและใหความรวมมือในการจัดทําโครงงาน ตลอดจนใหแนวคิด แนวทางการแกไขปญหา และใหความชวยเหลือเสมอม รวมทั้งคุณสรไกร ไกรปุย คุณนพรัตน นิลสําราญ ที่ใหความชวยเหลือและแนะนําในการทําโครงงานครั้งนี้รวมถึงเพื่อนนักศึกษาทุกทานที่เอื้อเฟออุปการณตางๆ ในการทดลอง

ที่สําคัญที่สุดขอขอบพระคุณบิดา มารดา อันเปนที่เคารพรักยิ่ง ซึ่งเลี้ยงดูและใหการสนับสนุนเสมอมา และใหโอกาสทางการศึกษาใหกําลังใจในทุกๆดาน ขอกราบขอบพระคุณมา ณ ที่นี้

Page 8: การประยุกต ใช ไมโครคอนโทรลเลอร ทําหน าที่เป น PLC ... · use the PLC in many proposes of control easily

สารบัญ

หนาบทคัดยอ………………………………………………………………………..…………….……..…… iiAbstract……………………………………………………………………………..……….…..………. iiiกิตติกรรมประกาศ…………………………………………………………………..…….……..……… ivสารบัญ……………………………………………………………………………..……….……..…….. vสารบัญรูป……………………………………...………………………………………………..……….. viiiสารบัญตาราง……………………………………………………………………………….…....……… xii

บทที่ 1 บทนํา……………………………………………………………………………….......……….. 11.1 บทนํา………………………………………………………………………..…..….......... 11.2 วัตถุประสงค…………………………………………………………………………….... 21.3 ขอบเขตของการทําโครงงาน………………………………………………..…..……..... 21.4 ประโยชนที่คาดวาจะไดรับ...……………………………………………………...…...... 2

บทที่ 2 ทฤษฎีเบื้องตน…………………….………………………………………………………..….. 32.1 โปรแกรมเมเบิลลอจิกไมโครคอนโทรลเลอร………………………………………........ 3

2.1.1 ประวตัิโปรแกรมเมเบิลลอจิกไมโครคอนโทรลเลอร…..……………………....... 32.1.2 การจําแนกขนาดของโปรแกรมเมเบิลลอจิกไมโครคอนโทรลเลอร…………….. 42.1.3 การจําแนกโครงสรางภายนอกโปรแกรมเมเบิลลอจิกไมโครคอนโทรลเลอร …. 52.1.4 การจําแนกโครงสรางภายในโปรแกรมเมเบิลลอจิกไมโครคอนโทรลเลอร…….. 62.1.5 การทํางานของโปรแกรมเมเบิลลอจิกไมโครคอนโทรลเลอร..…………............ 92.1.6 ชนิดของสัญญาณโปรแกรมเมเบิลลอจิกไมโครคอนโทรลเลอร........................ 102.1.7 ระบบควบคุมเดิม………………………………………………………...………. 102.1.8 การเขียนโปรแกรม………………………………………………………...…….. 102.1.9 การโปรแกรมอุปกรณโปรแกรมเมเบิลลอจิกไมโครคอนโทรลเลอร……………. 112.1.10 การใชโปรแกรมเมเบิลลอจิกไมโครคอนโทรลเลอร…………………………… 112.1.11 แผนผังการใชโปรแกรมเมเบิลลอจิกไมโครคอนโทรลเลอร……………....…..2.1.12 การเขียนโปรแกรมภาษาแลดเดอร (Ladder)………………….………..……..

12 13

2 2.22 2.3

วงจรอิเล็กทรอนิกส…………………..…………………………………………………. Microcontroller ตระกูล PIC…………………………………………………..………..

22 23

Page 9: การประยุกต ใช ไมโครคอนโทรลเลอร ทําหน าที่เป น PLC ... · use the PLC in many proposes of control easily

สารบัญ (ตอ)

2.4 ออปโตคัปเปลอร (Optocoupler).............................................................................2.5 ULN2803………………………………………………………………………………….2.6 รีเลย (Relay)………………………………………….……..…………….………........2.7 74LS07…………………………………………………………………….……………..

หนา 25

2729

31

บทที่ 3 หลักการ แนวคิด และการออกแบบโครงงาน………………………………………………..….……………… 333.1 หลักการและแนวคิด………………………………………………………..……………. 333.2 การออกแบบฮารดแวร…………………………………………………...……………… 3.2.1 การออกแบบดานอินพุต………………………………………………….………. 3.2.2 การออกแบบดานเอาทพุต…………………………………………….………….. 3.2.3 การออกแบบวงจรเบิรน (เปนสวนการรับโปรแกรม) และโหมดแสดงผล…….… 3.2.4 การออกแบบแหลงจายไฟ………………………………………….……………..

33 34 36 38 40

3.3 การออกแบบซอฟตแวร…………………………………………...…………………….. 3.3.1 โปรแกรมการทํางาน………………………………………………………………. 3.3.2 สวนติดตอกับผูใช...........................................................................................3.4 รูปแบบซอฟตแวร…………………………….…………………………………………..

42 42 42 44

บทที่ 4 ผลการทดลองและการอภิปรายผลการทดลอง………………………….…………………..…. 474.1 การทดลองการควบคุมไฟจราจร………….……………………………….…………… 674.2 การทดลองการกลับทางหมุนของมอเตอรไฟตรง……………………….……………..4.3 ผลการทดลองการควบคุมไฟจราจร…………………………………….….………..….4.4 ผลการทดลองการกลับทางหมุนของมอเตอรไฟตรง………………………..…….……

7847555759

บทที่ 5 สรุปผลโครงงานและขอเสนอแนะ…………………………………………………...……...….. 615.1 สรุปผลโครงงาน…………………..………………………………..…………………….. 615.2 ปญหาที่เกิดขึ้น…………………...………………………………………...…………….5.3 ขอเสนอแนะ............................................................................................................

61 62

Page 10: การประยุกต ใช ไมโครคอนโทรลเลอร ทําหน าที่เป น PLC ... · use the PLC in many proposes of control easily

สารบัญ (ตอ)

เอกสารอางอิง…………………………………………………………………………………………....หนา 63

ภาคผนวก…………………………………………………………………………………………...…… 64ภาคผนวก ก แผนลําดับการทํางานและโปรแกรมการทํางานของ PLC Program………… 65ภาคผนวก ข โปรแกรมการทํางานการประยุกตใชไมโครคอลโทลเลอรทําหนาที่เปน โปรแกรมเมเบิลลอจิกไมโครคอนโทรลเลอร………………………………….ภาคผนวก ค คูมือการใชงานการประยุกตใชไมโครไมโครคอนโทรลเลอรทําหนาที่เปน โปรแกรมเมเบิลลอจิกไมโครคอนโทรลเลอร...............................................

66

73

Page 11: การประยุกต ใช ไมโครคอนโทรลเลอร ทําหน าที่เป น PLC ... · use the PLC in many proposes of control easily

สารบัญรูป

รูปที่ หนา2.1 เครื่องโปรแกรมเมเบิลลอจิกคอนโทรลเลอร………………….…………………………………. 52.2 Siemens LOGO และ โปรแกรมเมเบิลคอนโทรลเลอร ที่มีโครงสรางแบบ Compact …..….... 62.3 โครงสรางภายในของโปรแกรมเมเบิลคอนโทรลเลอร……………………………………..….… 72.4 พร็อกซิมิตี้สวิตซ………...……………………………………………………….………...…….. 82.5 ลิมิตสวิตซตางๆ…………………………………………………………………………...……… 82.6 ไทเมอร………………………………………………………………………………….…...…… 82.7 โฟโตอิเล็กทริกสวิตซ……………………………………………………………………..……… 92.8 เอ็นโคดเดอร……………………………………………………………………………….….…. 92.9 การทํางานของโปรแกรมเมเบิลคอนโทรลเลอร………………………………………….……… 92.10 Flowchart การทํางานของโปรแกรมเมเบิลคอนโทรลเลอร ………………………….….…… 122.11 แลดเดอร (Ladder) 3 อินพุตแบบออเกต (or gate)…………………………………….…….. 132.12 แลดเดอร 3 อินพุตแบบ AND gate ……………………………………………..……….…… 142.13 แลดเดอร 3 อินพุตแบบ OR gate ………………………………….………………….……... 142.14 วงจรแลดเดอร (Ladder) แบบ NOT gate ……………………………………….……….….. 152.15 วงจรแลดเดอรแบบคงสภาวะ……………………………………………………....………….. 152.16 วงจรแลดเดอร (Ladder) แบบเซต/รีเซต (SET/RESET)…………………………..………… 162.17 ลักษณะของพัลซ (Pulse)……………………………………………………….….………….. 162.18 ฟงกชันการตรวจจับพัลซ (Pulse) ในขอบขาขึ้น…………………………………….….….…. 172.19 การทํางานของ Timer Delay ON …………………………………………………..…….…… 172.20 การทํางานของ Timer Delay OFF ………………………………………………….………… 182.21 การทํางานของ Up Counter ……………………………………………………….….………. 192.22 Timing diagram การทํางานของตัวนับแบบเพิ่มคา (Up Counter)………………….…….…. 192.23 การทํางานของตัวนับแบบลดคา (Up-Down Counter)………………………….….………… 202.24 การทํางานของ Shift Register……………………………………………………….………… 212.25 ไมโครคอนโทรลเลอร PIC 18F4550………………………………………………………….. 242.26 โครงสรางของ PIC18F4550………………………………………………………..…….…… 242.27 แสดงสัญลักษณอุปกรณเชื่อมตอทางแสง…………………………………………………….. 25

Page 12: การประยุกต ใช ไมโครคอนโทรลเลอร ทําหน าที่เป น PLC ... · use the PLC in many proposes of control easily

สารบัญรูป (ตอ)

รูปที่ หนา2.28 โครงสรางของ LVT-847……….………………………………………………………………. 252.29 ความสัมพันธระหวาง VCE และ IF ………………………………………………………..…… 262.30 ความสัมพันธระหวาง IC และ VCE …………………………………………………….….…… 272.31 แสดงการหนวงสัญญาณของออปโตคัปเปลอร…………………………………….………..… 272.32 ULN 2803…………………………………………….……………………………….…..…… 272.33 แสดง Logic Diagram…………………….…………………………….……………….…..…. 282.34 Outline Dimension …………………………………………….…….…………………..……. 282.35 แสดง Representative Schematic Diagrams ………………………………………...…….. 282.36 ULN2803 Input Current versus Input Voltage ………………………………….……..….. 292.37 รีเลย และ สัญลักษณของรีเลย……………………………………………………………..….. 302.38 หนาสัมผัสรีเลย………………………………………………………………………………..... 312.39 Pin Arrangement………………………………………………………………………………. 31 2.40 Test Method…………………………………………………………………………………… 323.1 วงจรอินพุต………………………………………………………………………………….….… 353.2 วงจรเอาตพุต…………………………………………………………………………….….…… 373.3 วงจรเบิรน (เปนสวนการรับโปรแกรม) และสวนแสดงผล……………………………………… 393.4 วงจรแหลงจายไฟ………………………………………………………………………………………..…………… 413.5 บล็อกไดอะแกรมการทํางานของโปรแกรม……………………………………………..…….… 423.6 Flowchart สวนติดตอกับผูใช............................................................................................... 433.7 PLC Program…………………………………………………………………………….………. 443.8 แสดงการเลือกพอรตอินพุต……………………………………………………………………… 443.9 แสดงการเลือกอินพุต เอาตพุตและ Delay (ms)…………………………………………....…. 453.10 แสดงการกําหนดอินพุตและเอาตพุตที่เราตองการใชงานตามขั้นตอนที่กําหนด …...……… 453.11 เมื่อกดปุมรันโปรแกรมจะทําการคอมไพลคําสั่งเปน File.hex……………………………. 463.12 File.hex ที่ไดจากการ Compile program……………………………………………………… 464.1 PLC PROGRAM…………………………………………………………………………….……. 474.2 การกําหนดอินพุตโดยพอรต A0 และ A1 ทําการดําเนินการ And กันทาง ลอจิก……………... 48

Page 13: การประยุกต ใช ไมโครคอนโทรลเลอร ทําหน าที่เป น PLC ... · use the PLC in many proposes of control easily

สารบัญรูป (ตอ)

รูปที่ หนา4.3 กํานดเอาตพุตพอรต D7 และกําหนดคา Delay…………………………………………...…… 484.4 กดปุม Add จะปรากฏขอมูลที่ผูใชเลือกดานซายมือเปนขั้นตอนที่ 1………….………………. 494.5 การเลือกพอรต D6 ปอนคา Delay 6 วินาที แลวกดปุม Add เปนขั้นตอนที่ 2….………...… 494.6 การเลือกพอรต D4 ปอนคา Delay 10 วินาที แลวกดปุม Add เปนขั้นตอนที่ 3………………. 504.7 File.hex สําหรับเบิรนใส PIC18F4550………………………………………………………….. 504.8 กดสวิตซเลือกโหมดรันเพื่อเบิรน PIC18F4550………………………………………………… 514.9 กดปุม Detect เพื่อหา PIC18F4550…………………………………………………………….. 514.10 กดปุม Erase เพื่อลบขอมูลใน PIC18F4550………………………………………………….. 524.11 กดปุมเปดแฟมเพื่อเลือก PLC.hex…………………………………………………………..… 524.12 เลือกที่ Setting………………………………………………………………………………..… 534.13 รูปการเลือกเครื่องหมายถูกออก……………………………………………………………..… 534.14 กดปุม Program All…………………………………………………………………………..… 544.15 การเปลี่ยนเปนโหมดโปรแกรม……………………………………………………………….... 544.16 เลือกอินพุตพอรต A0…………………………………………………………………………... 554.17 แสดงขั้นตอนที่ 1………..………………………………………………………………….…… 554.18 การเลือกพอรตเอาตพุต และกําหนดคา Delay……………………………………………….. 564.19 แสดงการกําหนดคา ขั้นตอนที่ 2…….…………………………………………………………. 564.20 กดสวิตซ A0 และ A1……………………………………………………………………………. 574.21 ไฟจราจรสีแดงทํางาน………………………………………………………………………….... 574.22 ไฟจราจรสีเหลืองทํางาน……………………………………………………………………..… 584.23 ไฟจราจรสีเขียวทํางาน…………………………………………………………………….……. 584.24 มอเตอรทํางานโดยหมุนไปทางซาย…………………….……………………………………… 594.25 มอเตอรทํางานโดยหมุนทางขวา……………………………………….………………………. 60ก.1 แผนลําดับการทํางานการประยุกตใชไมโครคอนโทรลเลอรทําหนาที่เปน PLC…………….…. 66ค.1 สวนของโปรแกรมสั่งการทํางาน……………………………………………………………….… 73ค.2 สวนการเบิรนโปรแกรม…………………………………………………………………………... 73ค.3 สวนวงจร………………………………………………………………………………………….. 74

etectetectetect

etect

Page 14: การประยุกต ใช ไมโครคอนโทรลเลอร ทําหน าที่เป น PLC ... · use the PLC in many proposes of control easily

สารบัญรูป (ตอ)

รูปที่ หนาค.4 สวนวงจรแสดงผล………………………………………………………………………………… 74ค.5 ไอคอนโปรแกรม………………………………………………………………………………….. 75ค.6 การปอนคําสั่งอินพุต และเอาทพุทการใช……………………………………………………….. 75ค.7 เลือกโหมดโปรแกรมเปลี่ยนเปนหลอดไดโอดเปลงแสงสีแดง………………………………….. 76ค.8 ไอคอนโปรแกรม WinPic800……………………………………………………………………. 76ค.9 การเบิรนโปรแกรมเสร็จสมบูรณ…………………………………………………………………. 77ค.10 เครื่อง PLC ทํางานตามโปรแกรมที่สั่งไว…………………………………………………...…. 77

Page 15: การประยุกต ใช ไมโครคอนโทรลเลอร ทําหน าที่เป น PLC ... · use the PLC in many proposes of control easily

สารบัญตาราง

ตารางที่ หนาตารางที่ 2.1 ขอมูลการจําแนกขนาดของโปรแกรมเมเบิลลอจิกคอนโทรลเลอร…………………….. 4ตารางที่ 2.2 เปรียบเทียบวงจรรีเลยกับโปรแกรมเมเบิลคอนโทรลเลอร…………….….…………… 23ตารางที่ 2.3 Absolute Maximum Ratings (Ta=25 C) ของ Optocoupler LTV-847……………… 26

Page 16: การประยุกต ใช ไมโครคอนโทรลเลอร ทําหน าที่เป น PLC ... · use the PLC in many proposes of control easily

บทที่ 3

หลักการ แนวคิด และการออกแบบโครงงาน

เนื่องจากในปจจุบันไดมีการใช เครื่องโปรแกรมเมเบิลลอจิกคอนโทรลเลอรในโรงงานอุตสาหกรรมอยางแพรหลายซึ่งเคร่ืองโปรแกรมเมเบิลลอจิกคอนโทรลเลอรนั้นมีราคาสูงมาก ดังนั้นจึงไดทําเครื่องโปรแกรมเมเบิลลอจิกคอนโทรลเลอรที่มีการประยุกตใชไมโครคอนโทรลเลอรทําหนาที่เปนโปรแกรมเมเบิลลอจิกคอนโทรลเลอรขึ้นโดยการปอนคาอินพุตและเอาตพุตในสวนติดตอกับผูใชที่สรางขึ้นมาแลวทําการโปรแกรมผานชุดเบิรนไปท่ีไมโครคอนโทรลเลอร (PIC18F4550) ซึ่งในการทํางานจะแบงออกเปน 2 โหมด คือ 1.โหมดโปรแกรม 2.โหมดรัน ในโหมดโปรแกรมจะปอนอินพุต เอาตพุต ดีเลย เมื่อกดปุม Add จะทําการตรวจคําสั่งและคาที่ผูใชปอนใหโปรแกรม และสงคาไปที่หนวยความจําที่ใชเก็บคา แลวอานจากหนวยความจํา แลวแสดงผลที่สวนติดตอกับผูใชวาโปรแกรมทําอะไรไปบาง โหมดรัน คือ เมื่อกดปุมรันจะเปนโหมดที่แปลงรหัสที่เก็บจากหนวยความจําไปเปนโคดที่จะทําใหไมโครคอนโทรลเลอรทํางานแทนไดเสมือนโปรแกรมเมเบิลลอจิกคอนโทรลเลอร

3.1 หลักการและแนวคิด

การออกแบบนั้นตองคํานึงถึงสวนตางๆที่จะมีในโครงงานทั้งสวนฮารดแวร และซอฟตแวรในสวนฮารดแวรจะมีวงจรการปอนอินพุต การแสดงผลเอาตพุต สวนการรับโปรแกรมและสวนแสดงผล ดังนั้น การออกแบบของโครงงานจึงแบงออกเปน 2 สวน คือ 1.การออกแบบฮารดแวร 2.การออกแบบซอฟตแวร โดยวงจรทั้ง 2 สวนสามารถแสดงรายละเอียดได ดังนี้

3.2 การออกแบบฮารดแวร

โดยการออกแบบฮารดแวรแบงเปนสวนตางดังนี้1. การออกแบบดานอินพุต2. การออกแบบดานเอาตพุต3. การออกแบบวงจรเบิรน (เปนสวนการรับโปรแกรม) และวงจรแสดงผล4. การออกแบบแหลงจายไฟ

Page 17: การประยุกต ใช ไมโครคอนโทรลเลอร ทําหน าที่เป น PLC ... · use the PLC in many proposes of control easily

3.2.1 การออกแบบดานอินพุต

โปรแกรมเมเบิลลอจิกคอนโทรลเลอรปกติจะมีภาคอินพุตหลายแบบใหเลือกติดตั้งใชงานให เหมาะกับงานแตละแบบ เชน การรับคาแบบอนาลอก หรือ เปนอินพุตแบบดิจิตอลสวนไมโครคอนโทรลเลอร (PIC 18F4550) ปกติภาคอินพุตก็มีใหเลือกใชทั้งแบบอนาลอกและดิจิตอล (Analog and Digital) ทําใหตอกับแหลงกําเนิดสัญญาณไดโดยตรง การเชื่อมตอโดยตรงนี้จะไดความสามารถตรวจจับสัญญาณสูงสุดที่ไมโครคอนโทรลเลอร (PIC 18F4550) ทําได แตการเชื่อมตอโดยตรงอาจทําใหไมโครคอนโทรลเลอรเสียหายไดโดยตรงจากความผิดปกติจากอินพุต ดังนั้นเราจึงมีการสรางภาคอินพุตเปนบัฟเฟอร (Buffer) ปองกันไมโครคอนโทรลเลอรเสียหายซึ่งมีขอดี คือ ทนแรงดันกระชากไดสูงโดยไมเสียหาย ทําการตอสลับขั้วบวก,ลบโดยไมเสียหาย แยกวงจรทางไฟฟาระหวางอินพุตและโปรแกรมเมเบิลลอจิกคอนโทรลเลอรออกจากกัน เมื่อมีแรงดันสูงมากเขามาจะชํารุดเฉพาะภาคอินพุตโดยไมมีผลกระทบตอภาคประมวลผล และขอมูลในหนวยความจํา ทนสัญญาณรบกวนไดดีขึ้น สวนขอเสีย คือ ไมสามารถวัดสัญญาณอนาลอกไดใชไดแตลอจิก “0” และ “1” มีการหนวงสัญญาณไปเล็กนอย (lag) มีผลกระทบจากอุณหภูมิเล็กนอย ทําใหความสามารถในการแยกความแตกตางของลอจิก 0 และ 1 ลดลง อินพุตอิมพิแดนซลดลงมาก ไมสามารถวัดสัญญาณความถี่สูงๆไดเสมือนการตอตรงเขากับไมโครคอนโทรลเลอร

ก ารทํ า งานนั้ น ใ ช ก า ร เชื่ อ ม โยงทางแสงด วยออปโตคัป เปลอรทํ า ให อิ นพุ ต แล ะไมโครคอนโทรลเลอรแยกกันทางไฟฟาออปโตคัปเปลอรที่ใชคือเบอร LTV847 ซึ่งเปนทรานซิสเตอรออปโตคัปเปลอร ในการแยกการอินเตอรเฟสกับอุปกรณภายนอกสวนใหญก็เปนสวิตซ หรือไมก็หนาคอนแทคของรีเลยโดยผานไฟ 24 โวลต เขาอินพุต

Page 18: การประยุกต ใช ไมโครคอนโทรลเลอร ทําหน าที่เป น PLC ... · use the PLC in many proposes of control easily

รูปที่ 3.1 วงจรอินพุต

470

R1

470

R2

470

R3

470

R4

470

R5

470

R6

470

R7

470

R8

470

R9

470

R10

470

R11

470

R12

LED2LED

LED3LED

LED4LED

LED5LED

LED6LED

LED7LED

LED8LED

LED9LED

LED10LED

LED11LED

LED1LED

LED12LED

C1R12 R23R34 R4

5 R56 R67 R78

R89RP1

RP4k7

C1 R12

R23 R34R45 R5

6 R67 R78 R89

RP2

*

5V

5V

1

23

45

67

8 9

1011

1213

1415

16

U1

1

23

45

67

8 9

1011

1213

1415

16

U3

1

23

45

67

8 9

1011

1213

1415

16

U2

12

CON1

*

12

CON2

*

12

CON3

*

12

CON4

*

12

CON5

*

12

CON6

*

12

CON7

*

12

CON8

*

12

CON9

*

12

CON10

*

12

CON11

*

12

CON12

*

DIN 6DIN 5DIN 4DIN 3DIN 2DIN 1

DIN 7DIN 8DIN 9DIN 10DIN 11DIN 12

5V

Page 19: การประยุกต ใช ไมโครคอนโทรลเลอร ทําหน าที่เป น PLC ... · use the PLC in many proposes of control easily

3.2.2 การออกแบบดานเอาตพุต

ใชสงขอมูลที่ไมโครคอนโทรลเลอรประมวลผลเสร็จแลวไปแสดงผลโดยในที่นี้ใหเปนวงจรรีเลยเพื่อควบคุมเอาตพุตโดยใช ไอซี ULN 2803 ทําหนาที่ในการขับกระแสไฟฟาไปที่รีเลย

Page 20: การประยุกต ใช ไมโครคอนโทรลเลอร ทําหน าที่เป น PLC ... · use the PLC in many proposes of control easily

2.4k

R21

2.4k

R19

2.4k

R23

LED17 LED18 LED19LED16

L1

L2

NO

NC

C

RY1RELAY 24 V

L1

L2

NO

NC

C

RY2RELAY 24V

L1

L2

NO

NC

C

RY3RELAY 24 V

L1

L2

NO

NC

C

RY4RELAY 24 V

L1

L2

NO

NC

C

RY5RELAY 24 V

L1

L2

NO

NC

C

RY6RELAY 24 V

L1

L2

NO

NC

C

RY7RELAY 24 V

L1

L2

NO

NC

C

RY8RELAY 24V

2.4k

R25

2.4k

R27

2.4k

R29

2.4k

R31

2.4k

R33

LED20 LED21 LED22 LED23

+24V +24V +24V+24V+24V+24V+24V+24V

in11

in22

in33

in44

in55

in66

in77

in88

GND9 VCC 10

out8 11out7 12out6 13out5 14out415out3 16out2 17out1 18

U6

*

+24V

DOUT0DOUT1DOUT2DOUT3DOUT4DOUT5DOUT6DOUT7

1 2 3

CON13HEADER 3

1 2 3

CON14HEADER 3

1 2 3

CON15HEADER 3

1 2 3

CON16HEADER 3

1 2 3

CON17HEADER 3

1 2 3

CON18HEADER 3

1 2 3

CON19HEADER 3

1 2 3

CON20HEADER 3

1

DIODE

500R18

2

DIODE

3

DIODE

500R20

500R22

4

DIODE

500R24

D1

DIODE

500R26

D2

DIODE

500R28

500R30

D3

DIODE

D4

DIODE

500R32

รูปที่ 3.2 วงจรเอาตพุต

Page 21: การประยุกต ใช ไมโครคอนโทรลเลอร ทําหน าที่เป น PLC ... · use the PLC in many proposes of control easily

3.2.3 การออกแบบวงจรเบิรน (เปนสวนการรับโปรแกรม) และโหมดแสดงผล

ขา ACK และ IC 74LS07 ใชเช็คการตอของสายดาวนโหลดระหวางคอมพิวเตอรเขากับบอรด หากสายขาดหรือมีความผิดปกติ โดยถาการตอสายถูกตองโปรแกรมที่ใชเขียนไมโครคอนโทรลเลอรจะเช็คโดยการสงลอจิก “0” มาตามสายที่ตอเขากับบอรดแลว ลอจิก “0” จะถูกสงไปที่ IC 74LS07 และสงกลับมาตามสาย ACK เขาสูคอมพิวเตอร ดังนั้นโปรแกรมจะทราบไดทันทีวาสายตอถูกหรือไมโดยดูจากลอจิก “0” ที่สงไปนั้นถูกสงกลับมาตามสาย ACK หรือไม

การทํางานนั้นเมื่อกดปุมรันจากสวนติดตอกับผูใชทําการแปลงโคดเสร็จแลวจะสงผานขอมูลจากคอมพิวเตอรไปยังไมโครคอนโทรลเลอร

วงจรแสดงโหมดรัน และโหมดโปรแกรมโดยหลอดไดโอดเปลงแสงทั้ง 2 หลอด ถาหลอดไดโอดเปลงแสงสีเขียวทํางานแสดงวาอยูในโหมดรันตามปกติ ถาหลอดไดโอดเปลงแสงสีแดงทํางาน คือ อยูในโหมดโปรแกรม

Page 22: การประยุกต ใช ไมโครคอนโทรลเลอร ทําหน าที่เป น PLC ... · use the PLC in many proposes of control easily

A11

Y12

A23

Y24

A35

Y36

GND7

Y48

A49

Y510

A511

Y612

A613

VCC14

U4

74LS07

11

22

33

44

55

66

7 7

88

J1

RJ-8P

C1

R1 2

R23

R3 4

R45

RP3

R-PACK5PIN

MCLR/VPP1

RA0/AN02

RA2/AN2/VREF-4

RA3/AN3/VREF+5

RA1/AN13

RA4/T0CKI6

RA5/AN4/SS7

OSC1/CLKIN13

OSC2/CLKOUT14

RC0/T1OSO/T1CKI15

RC1/T1OSI/CCP2 16

RC2/CCP117

RC3/SCK/SCL 18

RC4/SDI/SDA23

RC5/SDO24

RC6/TX/CK25

RC7/RX/DT26

RB0/INT 33

RB134

RB235

RB3/PGM36

RB437

RB538

RB6/PGC39

RB7/PGD40

RE0/RD/AN58

RE1/WR/AN69

RE2/CS/AN710

VDD11

VSS12

RD0/PSP019

RD1/PSP120

RD2/PSP2 21

RD3/PSP322

RD4/PSP4 27

RD5/PSP528

RD6/PSP6 29

RD7/PSP730

VSS31

VDD 32

U5

PIC18F4550

5V

5V

X-TAL1

*100nFC3

100nFC2

SW1

*470R

R135V

LED13

RUN

LED14

PGM

VPP

PIC_PGD

PIC_PGC

PIC_VPPRx

Rx

Rx

5V

10kR14

SW2SW-PB

5V

DIN 1DIN 2DIN 3DIN 4DIN 5DIN 6

Q1

PNP

+14V

4.7k

R17

1kR15

LED15VPP

2kR16

100nFC5

DATA

CLK

VSS

DATAACK

VSS

CLK

DATAD0

D3D1

DOUT0DOUT1DOUT2DOUT3DOUT4

DOUT5

DOUT6DOUT7

0.1uFC1

Cap

0.1uF

C4

Cap

DIN 7DIN 8DIN 9

DIN 10

DIN 11DIN 12

รูปที่ 3.3 วงจรเบิรน (เปนสวนการรับโปรแกรม) และสวนแสดงผล

Page 23: การประยุกต ใช ไมโครคอนโทรลเลอร ทําหน าที่เป น PLC ... · use the PLC in many proposes of control easily

3.2.4 การออกแบบแหลงจายไฟ

ภาคจายไฟไดมีการออกแบบใหสวนประมวลผลกลาง (ไมโครคอนโทรลเลอร) ทํางานตอไปไดชั่วระยะเวลาหนึ่งเมื่อไฟดับ โดยใชตัวเก็บประจุสํารองไฟ ธรรมชาติของตัวเก็บประจุเมื่อมีการจายกระแสออกมาแรงดันจะลดลงเรื่อยๆ เมื่อแรงดันต่ํามากๆ หนวยประมวลผลจะเร่ิมทํางานผิดพลาดแตกอนที่สวนประมวลผลกลางจะทํางานผิดพลาดภายในไมโครคอนโทรลเลอร (PIC 18F4550) มีวงจรตรวจระดับแรงดันไฟเลี้ยงต่ํากวาที่กําหนดหรือเรียกวา บราวนเอาตดีเท็ค (Brown-out detect :BOD) หากพบวาไฟเลี้ยงของไมโครคอนโทรลเลอรต่ําลงถึงจุดที่กําหนดก็จะกําเนิดสัญญาณรีเซ็ตภายในสงไปยังสวนประมวลผลกลาง เพื่อเริ่มตนการทํางานใหม ถาหากไฟเลี้ยงกลับมาอยูในระดับปกติระบบจะสามารถปฏิบัติงานตอไปไดอยางไมติดขัด การใชบราวนเอาตดีเท็คจะชวยแกปญหาไมโครคอนโทรลเลอรทํางานผิดพลาดหรือหยุดการทํางานจากความไมสม่ําเสมอของไฟเลี้ยง ดังนั้นเงื่อนไข คือ ตองมีไฟเลี้ยงปกติ 5 โวลต หรือไมต่ํากวา 3.7 โวลต

Page 24: การประยุกต ใช ไมโครคอนโทรลเลอร ทําหน าที่เป น PLC ... · use the PLC in many proposes of control easily

รูปที่ 3.4 วงจรแหลงจายไฟ

BRIDGE1

BRIDGE

12

CON21

18VACC112200uF

C10

0.1uF5V

+14V

C9 0.1uF

C7

0.1uF +

100uFC6

+

100uFC8

5DIODE

+24V

J2

JACK-DC

IN1 OUT 3

GN

D2

IC?

7805

IN1 OUT 3

GN

D2

IC?

78XX

Page 25: การประยุกต ใช ไมโครคอนโทรลเลอร ทําหน าที่เป น PLC ... · use the PLC in many proposes of control easily

3.3 การออกแบบซอฟตแวร

การออกแบบซอฟตแวรแบงเปน 2 สวน มีดังนี้1. โปรแกรมการทํางาน2. สวนติดตอกับผูใช

3.3.1 โปรแกรมการทํางาน

ในสวนติดตอกับผูใชไดใชโปรแกรม Microsoft visual studio 8 สรางโปรแกรมสําหรับใชงานกับ PLC ที่สรางขึ้น เรียกโปรแกรมนี้วา “PLC PROGRAM” เขียนโดยใชภาษาซีชารปเมื่อเรากดปุมรันที่โปรแกรม โปรแกรมจะทําการแปลงขอมูลที่ผูใชทําการเลือกลงไปในโปรแกรมเปนภาษาซีที่ใชสําหรับโปรแกรม CCSC.exe ใชสําหรับเขียนไมโครคอนโทรลเลอร PIC18F4550 และทําการเรียกโปรแกรม CCSC.exe มาคอมไพลใหเปน File.hex โดยมีบล็อกไดอะแกรมการทํางานของโปรแกรม ดังนี้

รูปที่ 3.5 บล็อคไดอะแกรมการทํางานของโปรแกรม

3.3.2 สวนติดตอกับผูใช

1.สวนอินพุต มีพอรตอินพุตใหเลือกใชงานทั้งหมด 12 อินพุต สามารถเลือกใชงานไดครั้งละหลายอินพุต

โดยสามารถนําอินพุตมาดําเนินการ And หรือ Or (Boolean logic) กันไดตามตองการเมื่อเลือกไดแลวกด Add อินพุตที่เราตองการใชไปที่ชองอินพุต

2.สวนเอาตพุต มีพอรตเอาตพุตใหเลือกทั้งหมด 8 เอาตพุต สามารถเลือกใชงานไดครั้งละหลายเอาตพุต

แตละเอาตพุตสามารถกําหนดคา Delay ไดตามตองการของผูใช3.การทํางานของสวนติดตอกับผูใช การทํางานของโปรแกรมจะทํางานเปนขั้นตอนและทํางานเปนลําดับเทานั้นโดยการเลือก

อินพุตที่จะใหทํางานและเลือกตัวดําเนินการ And (And Operator) ของอินพุตหรือตัวดําเนินการ Or (Or Operator) ของอินพุตแลวกดสงคาไปที่หนาจอแสดงผลสามารถเคลียร (Clear) คําสั่งอินพุตไดถา

ภาษาซีชารปPLC PROGRAM

ภาษาซีFile.c

File.hex

Page 26: การประยุกต ใช ไมโครคอนโทรลเลอร ทําหน าที่เป น PLC ... · use the PLC in many proposes of control easily

กําหนดคาผิด และกําหนดคาเอาตพุต และกําหนดใหเอาตพุตสามารถ Delay ไดสามารถสั่งไดหลายขั้นตอนตามความตองการของผู ใช เมื่อกดปุมรันจะทําให เปน File.hex เพื่อ เตรียมเบิรนลงไปไมโครคอนโทรลเลอร (PIC 18F4550)

4. Flowchart แสดงการทํางานของสวนติดตอกับผูใช

รูปที่ 3.6 Flowchart สวนติดตอกับผูใช

No

Yes

PLC.hex

END

Yes

Press “RUN”

Press“Ando”

Save SelectionNo

Select inputs

Start

Set Boolean logic

Set Output

Press “Add”

Set Delay

Show info

Page 27: การประยุกต ใช ไมโครคอนโทรลเลอร ทําหน าที่เป น PLC ... · use the PLC in many proposes of control easily

3.4 รูปแบบซอฟตแวร

แสดงลักษณะรูปแบบโปรแกรมที่ใชกับเครื่อง PLC ดังรูปที่ 3.7

การปอนพอรตอินพุตหลายอินพุตโดยเลือกตัวดําเนินการ AND หรือ OR กันทางบูลีนลอจิก ดั งรูปที่ 3.8

รูปที่ 3.7 PLC Program

Page 28: การประยุกต ใช ไมโครคอนโทรลเลอร ทําหน าที่เป น PLC ... · use the PLC in many proposes of control easily

เมื่อทําการกําหนดพอรตอินพุตตามที่ตองการเสร็จแลวจึงกําหนดพอรตเอาตพุตที่ตองการใชและกําหนดคา Delay ที่ตองการใหเอาตพุต Delay ดังรูปที่ 3.9

รูปที่ 3.9 แสดงการเลือกอินพุต เอาตพุตและ Delay (ms)

เมื่อทําการกําหนดพอรตอินพุต เอาตพุต และกําหนดคา Delay เสร็จแลวทําการกดปุม Add เปนขั้นตอนที่ 1 ซึ่งถาผูใชตองการใหทําหลายๆขั้นตอนตามตองการกําหนดใหปอนคําสั่งเพิ่มโดยทําตามขั้นตอนเดิม ดังรูปที่ 3.10

รูปที่ 3.8 แสดงการเลือกพอรตอินพุต

รูปที่ 3.10 แสดงการ Add อินพุตและเอาตพุตที่ผูใชตองการตามขั้นตอนที่กําหนด

Page 29: การประยุกต ใช ไมโครคอนโทรลเลอร ทําหน าที่เป น PLC ... · use the PLC in many proposes of control easily

เมื่อ Add คําสั่งตามที่ตองการแลวกดปุมรัน PLC program จะเรียกโปรแกรมคอมไพล ไฟล PLC.c ใหเปน PLC.hex ดังรูปที่ 3.11

รูปที่ 3.11 เมื่อกดปุมรันโปรแกรมจะทําการคอมไพลคําสั่งเปน File.hex (CCSC Compiler by Palitroquez)

เมื่อกดรันแลวจะได PLC.hex ดังรูป 3.12

รูปที่ 3.12 File.hex ที่ไดจากการ Compile program

Page 30: การประยุกต ใช ไมโครคอนโทรลเลอร ทําหน าที่เป น PLC ... · use the PLC in many proposes of control easily

บทที่ 4

ผลการทดลองและการอภิปรายผลการทดลอง

4.1 การทดลองการควบคุมไฟจราจร

วิธีการใชโปรแกรมอธิบายจากการทดสอบการควบคุมไฟจราจร คือ ควบคุมการติดดับของไฟแดง ไฟเหลือง และไฟเขียวโดยใหไฟแดงทํางานเปนเวลา 10 วินาที และหยุดการทํางานขั้นตอนตอไป คือ ไฟเหลืองทํางานเปนเวลา 6 วินาที และหยุดการทํางาน และขั้นตอนตอไป คือ ไฟเขียวทํางานเปนเวลา 10 วินาที และหยุดการทํางานทํางานวนรอบไปเรื่อยๆจะกวาจะทําการโปรแกรมเขาไปใหม โดยมีขั้นตอนการทดลองดังนี้

1. ปอนโปรแกรมใหอินพุต A0 และ A1 ทําการดําเนินการ AND (And Operator) กันทางลอจิก (ถาสั่งพอรตไหนใหทํางานใหอินพุตหรือเอาตพุตนั้นเปนลอจิก High) และเลือกพอรต D7 ใหเปนเอาตพุตไฟแดงและใหไฟแดงทํางานเปนเวลา 10 วินาทีกําหนดชอง Delay 10000 ms เพราะมีหนวยเปน ms (ปฏิบัติตามขั้นตอนในการปอนโปรแกรม ดังรูปท่ี 4.1)

รูปที่ 4.1 PLC PROGRAM

Page 31: การประยุกต ใช ไมโครคอนโทรลเลอร ทําหน าที่เป น PLC ... · use the PLC in many proposes of control easily

รูปที่ 4.2 การ Add อินพุตโดยพอรต A0 และ A1 ทําการดําเนินการ AND กันทางลอจิก

รูปที่ 4.3 กําหนดเอาตพุตพอรต D7 และกําหนดคา Delay

Page 32: การประยุกต ใช ไมโครคอนโทรลเลอร ทําหน าที่เป น PLC ... · use the PLC in many proposes of control easily

รูปที่ 4.4 ปุมAdd ถูกกดจะปรากฏขอมูลที่ผูใชกําหนดดานซายมือเปนขั้นตอนที่ 1

2. เลือกพอรต D6 ใหเปนเอาตพุตไฟเหลืองและกําหนดใหไฟเหลืองทํางานเปนเวลา 6 วินาทีกําหนดชอง Delay 6000 ms เพราะมีหนวยเปนมิลลิวินาที แลวปุม Add ถูกกดจะปรากฏจอแสดงผลดานซายมือ (ปฏิบัติตามขั้นตอนในการปอนโปรแกรม ดังรูปที่ 4.5)

รูปที่ 4.5 กําหนดพอรต D6 และกําหนดคา Delay 6 วินาที เมื่อปุม Add ถูกกดเปนขั้นตอนที่ 2

Page 33: การประยุกต ใช ไมโครคอนโทรลเลอร ทําหน าที่เป น PLC ... · use the PLC in many proposes of control easily

3. กําหนดพอรต D4 ใหเปนเอาตพุตไฟเขียวและใหไฟเขียวทํางานเปนเวลา 10 วินาทีกําหนดคา Delay 10000 ms เพราะหนวยเปน ms เมื่อปุม Add ถูกกด ขอมูลที่ถูกปอนจะปรากฏอยูจอแสดงผลดานซายมือ (ปฏิบัติตามขั้นตอนในการปอนโปรแกรม ดังรูปที่ 4.6)

รูปที่ 4.6 กําหนดพอรต D4 กําหนดคาคา Delay 10 วินาทีเมื่อปุม Add ถูกกดเปนขั้นตอนที่ 3

4. เมื่อทําการปอนคําสั่งไดตามขั้นตอนที่ตองการและปุมรัน (Run) ถูกกดโปรแกรมจะคอมไพลโปรแกรมใหเปน File.hex เพื่อเบิรนใส PIC18F4550 แลวนําไปใชงานได (ปฏิบัติตามขั้นตอนดังรูปที่ 4.7)

รูปที่ 4.7 File.hex สําหรับเบิรนใส PIC18F4550

Page 34: การประยุกต ใช ไมโครคอนโทรลเลอร ทําหน าที่เป น PLC ... · use the PLC in many proposes of control easily

5. เมื่อได File.hex นําไปเบิรนลง PIC18F4550 โดยใชโปรแกรม Winpic800 เปดโปรแกรมWinpic800 และกดปุมเลือกโหมดรันที่บอรดโปรแกรมเมเบิลลอจิกไมโครคอนโทรลเลอรจะมีปุมเลือกโหมดถาเลือกโหมดรันหลอดไดโอดเปลงแสงสีแดง (LED) จะทํางาน (ปฏิบัติตามขั้นตอนดังรูปที่ 4.8)

รูปที่ 4.8 กดสวิตซเลือกโหมดรันเพื่อเบิรน PIC18F4550

6. เมื่อเปดโปรแกรมแลวใหกดปุม Detect วาตรงกับ PIC ที่ผูใชกําหนด

รูปที่ 4.9 กดปุม Detect เพื่อตรวจหา PIC18F4550

กดปุมDetect

ปุมกดเลือกโหมด

หลอดไดโอดเปลงแสงสีแดงทํางาน

Page 35: การประยุกต ใช ไมโครคอนโทรลเลอร ทําหน าที่เป น PLC ... · use the PLC in many proposes of control easily

7. กดปุม Erase เพื่อทําการลบโปรแกรมที่มีอยูใน PIC18F4550 เพื่อทําการเบิรนโปรแกรมลงไปอีกครั้ง

รูปที่ 4.10 กดปุม Erase เพื่อลบขอมูลใน PIC18F4550

8.เปดหนาตาง Open ขึ้นมาเพื่อเลือก File ชื่อ PLC.hex แลวกด Open

รูปที่ 4.11 กดปุมเปดแฟมเพื่อเลือก PLC.hex

กดปุมErase

Page 36: การประยุกต ใช ไมโครคอนโทรลเลอร ทําหน าที่เป น PLC ... · use the PLC in many proposes of control easily

9. เมื่อเลือกแฟม และกดปุม Setting เพื่อทําการตั้งคา

รูปที่ 4.12 กําหนดที่ Setting

10. เลือกเครื่องหมายถูกที่ชอง CP2, CP3, CPD, EBTR2, EBTR3, LVP ออก

รูปที่ 4.13 รูปการเลือกเครื่องหมายถูกออก

etect

เลือก Setting

etect

Page 37: การประยุกต ใช ไมโครคอนโทรลเลอร ทําหน าที่เป น PLC ... · use the PLC in many proposes of control easily

11. กดปุม Program All เสร็จสิ้นการเบิรน

รูปที่ 4.14 กดปุม Program All

12. เปลี่ยนโหมดมาเปนโหมดโปรแกรมโดยกดปุมที่เครื่องโปรแกรมเมเบิลลอจิกไมโครคอนโทรลเลอรใหหลอดไดโอดเปลงแสงเปนสีเขียว

รูปที่ 4.15 การเปลี่ยนเปนโหมดโปรแกรม

13. วงจรเริ่มการทํางานตามโปรแกรมที่ผูใชปอนคา

กดปุมProgram All

etect

กดปุมเปลี่ยนโหมด

หลอดไดโอดเปลงแสงสีเขียวทํางาน

etect

Page 38: การประยุกต ใช ไมโครคอนโทรลเลอร ทําหน าที่เป น PLC ... · use the PLC in many proposes of control easily

4.2 การทดลองการกลับทางหมุนของมอเตอรไฟตรง

การควบคุมใหมอเตอรกลับทางหมุนแบบอัตโนมัติ คือเมื่อสวิตซถูกกดมอเตอรไฟตรงหมุนไปทางซาย 10 วินาที และหมุนขวา 10 วินาที โดยปฏิบัติตามขั้นตอน ดังนี้

1. กําหนดพอรตฝงอินพุตใหเปน A0 เลือกเอาตพุตพอรต D2 และ กําหนดคา Delay 6000 ms มอเตอรทํางานโดยหมุนไปทางซาย

รูปที่ 4.16 เลือกอินพุตพอรต A0

2. เมื่อปุม Add ถูกกดจะแสดงคําสั่งทางจอแสดงผลดานซายของโปรแกรมเปนขั้นตอนที่ 1

รูปที่ 4.17 แสดงขั้นตอนที่ 1

Page 39: การประยุกต ใช ไมโครคอนโทรลเลอร ทําหน าที่เป น PLC ... · use the PLC in many proposes of control easily

3. เลือกเอาตพุตพอรต D7 และใหกําหนดคา Delay เปนเวลา 6 วินาที และมอเตอรทํางานโดยหมุนไปทางขวาเมื่อปอนคาที่ตองการเรียบรอยแลวกดปุม Add โปรแกรมจะแสดงขั้นตอนที่ 2 ที่จอแสดงผลดานซายมือของโปรแกรม

รูปที่ 4.18 การเลือกพอรตเอาตพุต และกําหนดคา Delay

รูปที่ 4.19 แสดงการปอนคาขั้นตอนที่ 2

4. กดปุมรันจะไดไฟลชื่อ PLC.hex5. เปดโปรแกรม Winpic800 เพื่อทําการเบิรนไฟล PLC.hex ลงใน PIC18F4550 โดยขั้นตอน

การเบิรนปฏิบัติเหมือนการควบคุมไฟจราจร6. การตอมอเตอรเขากับเทอรมินอลเอาตพุตพอรตของเครื่องพีแอลซี

Page 40: การประยุกต ใช ไมโครคอนโทรลเลอร ทําหน าที่เป น PLC ... · use the PLC in many proposes of control easily

4.3 ผลการทดลองการควบคุมไฟจราจร

1. เมื่อสวิตซ A0 และ A1 ซึ่งฝงอินพุตของการทดลองนํามาผานตัวดําเนินการ And คือเมื่อสวิตซที่ตอพอรต A0 ถูกกดจะเปลี่ยนสภาวะลอจิกเปน High และสวิตซที่ตอกับพอรต A1 ถูกกดจะเปลี่ยนสาภวะลอจิกเปน High สวิตซทั้งสองจะตองถูกกดเพื่อใหอยูในสภาวะทํางาน High แลวการควบคุมไฟจราจรจะเริ่มทํางาน

รูปที่ 4.20 สวิตซ A0 และ A1 ถูกกด

2. เมื่อสวิตซถูกกดพรอมกัน 2 อินพุต (การทดลองสั่งใหสวิตซนํามาผานตัวดําเนินการ AND) เอาตพุตไฟแดงทํางาน และ Delay เปนเวลา 10 วินาที

รูปที่ 4.21 ไฟจราจรสีแดงทํางาน

Page 41: การประยุกต ใช ไมโครคอนโทรลเลอร ทําหน าที่เป น PLC ... · use the PLC in many proposes of control easily

3. เมื่อไฟแดงทํางานเปนเวลา 10 วินาทีแลวจะดับตอมาไฟเหลืองจะทํางานเปนเวลา 6 วินาทีแลวจะหยุดทํางาน (จากการสั่งทางโปรแกรม)

รูปที่ 4.22 ไฟจราจรสีเหลืองทํางาน

4. เมื่อไฟเหลืองทํางานเปนเวลา 6 วินาที และหยุดการทํางานตอมาไฟเขียวจะทํางานเปนเวลา 10 วินาทีและจะหยุดการทํางาน (จากการสั่งทางโปรแกรม)

รูปที่ 4.23 ไฟจราจรสีเขียวทํางาน

Page 42: การประยุกต ใช ไมโครคอนโทรลเลอร ทําหน าที่เป น PLC ... · use the PLC in many proposes of control easily

5. เมื่อไฟเขียวหยุดทํางาน และจะวนลูป (Loop) ไปเรื่อยๆ คือเริ่มจากไฟจราจรสีแดงทํางาน 10 วินาที และหยุดการทํางานตอมาไฟจราจรสีเหลืองทํางานเปนเวลา 6 วินาที และหยุดการทํางานตอมาไฟเขียวทํางานเปนเวลา 10 วินาที และหยุดการทํางานซึ่งจะทํางานวนลูปแบบนี้ไปเรื่อยๆ จนกวาจะมีการโปรแกรมใหมหรือปดสวิตซ หรืออินพุตเขามาไมเปนไปตามที่โปรแกรมไว

4.4 ผลการทดลองการกลับทางหมุนของมอเตอรไฟตรง

1. เมื่อสวิตซที่ตออยูกับอินพุตพอรต A0 ถูกกดหลอดไดโอดเปลงแสงสีแดงที่อยูขางอินพุต A0 จะสวาง เปนลอจิก high ทํางานเมื่อมีอินพุตเขามาเอาตพุตพอรต D2 จะเปน High ทําใหมีไฟไปเลี้ยงมอเตอรทําใหมอเตอรหมุนไปทางซาย เปนเวลา 6 วินาที แลวหลอดไดโอดเปลงแสง จะดับแลวทํางานขั้นตอน ตอไป

รูปที่ 4.24 มอเตอรทํางานโดยหมุนไปทางซาย

2. เมื่อมอเตอรทํางานโดยหมุนไปทางซายเปนเวลา 6 วินาที และหยุดการทํางานพอรต D7 ฝงเอาตพุตจะทํางานเปนขั้นตอนที่ 2 หลอดไดโอดเปลงสีแดงขางเอาตพุตพอรต D7 ทํางานแสดงวารีเลยของพอรตเอาตพุต D7 ทํางานเปนผลทําใหมอเตอรทํางานโดยหมุนไปทางขวาเปนเวลา 6 วินาทีแลวหลอดไดโอดเปลงแสงจะหยุดการทํางานแสดงวารีเลยของเอาตพุตพอรต D7 หยุดทํางาน และวนลูปตามที่โปรแกรมไวจนกวาจะมีการกดรีเซต (Reset) หรือไมมีอินพุตเขามา

Page 43: การประยุกต ใช ไมโครคอนโทรลเลอร ทําหน าที่เป น PLC ... · use the PLC in many proposes of control easily

รูปที่ 4.25 มอเตอรทํางานโดยหมุนไปทางขวา

Page 44: การประยุกต ใช ไมโครคอนโทรลเลอร ทําหน าที่เป น PLC ... · use the PLC in many proposes of control easily

บทที่ 5

สรุปผลโครงงานและขอเสนอแนะ

5.1 สรุปผลโครงงาน

จากการทดลองจะเห็นวา การประยุกตใชไมโครคอนโทรลเลอรทําหนาที่เปนเมเบิลโลจิกคอนโทรลเลอร สามารถสั่งการใหไฟจราจรสามารถทํางาน หยุดการทํางาน และหนวงเวลาไดตามตองการโดยการใชไมโครคอนโทรลเลอร เพื่อเปนตัวสั่งการทํางานผาน ULN2803 เพื่อขับกระแสใหรีเลยทํางาน ตามคําสั่ง ไฟแดงทํางาน 10 วินาที และหยุดการทํางานขั้นตอนตอไป คือ ไฟเหลืองทํางานเปนเวลา 6 วินาที และหยุดการทํางาน และไฟเขียวทํางาน 10 วินาที และหยุดการทํางานโดยมีอินพุตเปนสวิตซผานตัว LTV847 เปนออปโตคัปเปลอร เพื่อเปนการแยกวงจรทางไฟฟาอยางชัดเจน และสงขอมูลไปยังไมโครคอนโทรลเลอรใหทํางานตามโปรแกรมที่กําหนด

ในการควบคุมการกลับทางหมุนของมอเตอรก็สามารถทําไดตามโปรแกรมกําหนดเปนอยางดี ผานรีเลย 2 ตัว ใหกลับทางหมุนของมอเตอรไฟตรงโดยทํางานหมุนไปทางซาย และหมุนไปทางขวาไดตามเวลาที่กําหนดใหโปรแกรม

จากการทํางานการประยุกตใชไมโครคอนโทรลเลอรทําหนาที่เปนโปรแกรมเมเบิลโลจิกคอนโทรลเลอรนั้น มีประสิทธิภาพการทํางานตรงตามวัตถุประสงคที่ผูจัดทําโครงงานกําหนดไว

5.2 ปญหาที่เกิดขึ้น

1. รีเลยที่ใชสามารถขับกระแสไดขาละ 500 mA เทานั้น จึงไมสามารถนําไปใชกับโหลดที่ตองการกระแสมากๆ ได

2. เนื่องจากไมสามารถเขียนโปรแกรมแปลงแลดเดอรไดอะแกรมเปนภาษาซีสําหรับสั่งไมโครคอนโทรลเลอรได จึงเปลี่ยนมาใชวิธีการสั่งการทํางานโดยตรงจากพอรตไมโครคอนโทรลเลอร

3. ไมสามารถรับสัญญาณอินพุตเปนสัญญาณแบบดิจิตอลไดสามารถรับไดเฉพาะสัญญาณแบบอนาลอก

Page 45: การประยุกต ใช ไมโครคอนโทรลเลอร ทําหน าที่เป น PLC ... · use the PLC in many proposes of control easily

5.3 ขอเสนอแนะ

1. ควรใชไอซี TIP32 แทน ULN2803 จะทําใหขับกระแสไดมากขึ้น 2. ควรคิดวิธีการเขียนโปรแกรมสั่งการทํางานเครื่องพีแอลซีเปนภาษาแลดเดอร สําหรับผูที่ตองการ

ศึกษาภาษาแลดเดอรซึ่งเปนภาษาที่นิยมใชงานกับเครื่องพีแอลซี 3. ควรปรับปรุงโครงงานใหสามารถรับอินพุตเปนสัญญาณแบบดิจิตอลได

Page 46: การประยุกต ใช ไมโครคอนโทรลเลอร ทําหน าที่เป น PLC ... · use the PLC in many proposes of control easily

เอกสารอางอิง

[1] สุขชาตรี ประสมสุข “PLC คอมพิวเตอรชวยงานดานอุตสาหกรรม”, dss.go.th [Online]. แหลงที่มา: http://www.dss.go.th/dssweb/st-articles/files/sti_1_2545_plc.pdf [พฤศจิกายน 2551].

[2] พรจิต ประทุมสุวรรณ “แมคคาทรอนิกส”, chontech.ac.th [online].แหลงที่มา:http://www.chontech.ac.th/~electric/html/plc.htm [พฤศจิกายน 2551].

[3] TOTAL TECHNOLOGY SUPPLY CO., LTD., tts2001.com [Online]. แหลงที่มา :http://www.tts2001.com/plcs/basicplc.htm [กันยายน 2551].

[4] Jeed “การเขียนโปรแกรมภาษาแลดเดอร”, kmitl.ac.th [online]. แหลงที่มา:http://webserv.kmitl.ac.th/~taweepolsuesut/plcbook/chap6.pdf [สิงหาคม 2551].

[5] เกริก ภิรมยโสภา “ไมโครคอนโทรลเลอร PIC18F4550”, mcudevzone.com [online]. แหลงที่มา:http://www.mcudevzone.com/archives/Manual/TRAINING%20PIC18F4550/TRAINING%20PIC 18F4550.pdf [พฤศจิกายน 2551].

[6] อาจารยสุรีย โปทาสาย “ออปโตคัปเปลอร”, sptc.ac.th [Online]. แหลงที่มา:http://www.sptc.ac.th/prapruet/devicesweb/books/book_16.htm [พฤศจิกายน 2551].

[7] อาจารยบัณฑิต จามรภูมิ. คูมือการใชงาน Protel Dxp [Altium Designer]. เชียงใหม: บัณฑิตเพรส,2550

[8] ดอนสัน ปงผาบ. การเขียนโปรแกรมภาษาซีในงานควบคุม. พิมพครั้งที่ 6. กรุงเทพ: สํานักพิมพ ส.ส.ท.สมาคมสงเสริมเทคโนโลยี (ไทย-ญี่ปุน), 2546

[9] ประจิน พลังสันติกุล. เรียนรูและใชงาน CCS C คอมไพเลอร. พิมพครั้งที่ 1. กรุงเทพ: บริษัทอินโนเวตีฟ เอ็กเพอริเมนต จํากัด, 2551

Page 47: การประยุกต ใช ไมโครคอนโทรลเลอร ทําหน าที่เป น PLC ... · use the PLC in many proposes of control easily

ภาคผนวก

Page 48: การประยุกต ใช ไมโครคอนโทรลเลอร ทําหน าที่เป น PLC ... · use the PLC in many proposes of control easily

ภาคผนวก ก

แผนลําดับการทํางานและโปรแกรมการทํางานของ PLC Program

แผนลําดับการทํางานการประยุกตใชไมโครคอนโทรลเลอรทําหนาที่เปนโปรแกรมเมเบิลลอจิกคอนโทรลเลอร

รูปที่ ก.1 แผนลําดับการทํางานการประยุกตใชไมโครคอนโทรลเลอรทําหนาที่เปนโปรแกรมเมเบิลลอจิกคอนโทรลเลอร

NoYes

Yes

No

PLC.hex

END

Press “RUN”

Press“Undo” Save

Select inputs

Start

Set Boolean

Set Output

Press “Add”

Set Delay

Show info

Page 49: การประยุกต ใช ไมโครคอนโทรลเลอร ทําหน าที่เป น PLC ... · use the PLC in many proposes of control easily

ภาคผนวก ข

โปรแกรมการทํางานการประยุกตใชไมโครคอลโทลเลอรทําหนาที่เปนโปรแกรมเมเบิลลอจิกคอนโทรลเลอร

/** Created by SharpDevelop.* User: sorn* Date: 6/2/2552* Time: 23:11* * To change this template use Tools | Options | Coding | Edit Standard Headers.*/

using System;using System.Collections.Generic;using System.Drawing;using System.Windows.Forms;using System.IO;using System.Diagnostics;namespace ControlPLC{

/// <summary>/// Description of MainForm./// </summary>

public partial class MainForm : Form{

private List<String> outText = new List<string>();private List<Storage> listStep = new List<Storage>();

public MainForm(){

//// The InitializeComponent() call is required for Windows Forms designer support.

Page 50: การประยุกต ใช ไมโครคอนโทรลเลอร ทําหน าที่เป น PLC ... · use the PLC in many proposes of control easily

//InitializeComponent();

//// TODO: Add constructor code after the InitializeComponent() call.//

}

void loadInputItem(){inputModel.Items.Clear();for(int i=0; i<6; i++){

inputModel.Items.Add("A"+i.ToString());}{

inputModel.Items.Add("C1"); inputModel.Items.Add("C2"); inputModel.Items.Add("C6"); inputModel.Items.Add("C4"); inputModel.Items.Add("C5");

}}void MainFormLoad(object sender, EventArgs e){

loadInputItem();}void CmdAddClick(object sender, EventArgs e){

Storage store = new Storage();String tmp = "";tmp += "\r\nOutput : ";for (int i=0;i<listOut.Items.Count ;i++ ) {

if (listOut.GetItemChecked(i)) {String tmpItem = listOut.Items[i].ToString();store.output.Add(tmpItem);tmp += tmpItem + " ";

}

Page 51: การประยุกต ใช ไมโครคอนโทรลเลอร ทําหน าที่เป น PLC ... · use the PLC in many proposes of control easily

}tmp += "\r\nInput : ";for (int i=0;i<listInput.Items.Count ;i++ ) {

String tmpItem = listInput.Items[i].ToString();store.input.Add(tmpItem);tmp += tmpItem + " ";

}store.delay = Convert.ToInt32(tbDelay.Text);listStep.Add(store);tmp += "\r\ndelay : " + tbDelay.Text + " ms";tmp += "\r\n-------------------\r\n";outText.Add(tmp);String[] item = outText.ToArray();tbConsole.Clear();for (int i=0;i<item.Length; i++) {

tbConsole.AppendText("Step " + (i+1).ToString());tbConsole.AppendText(item[i]);

}groupStep.Text = "Step " + (outText.Count + 1);clearValue();

}void clearValue(){

for (int i=0;i<listOut.Items.Count ;i++ ) {listOut.SetItemChecked(i,false);

}loadInputItem();listInput.Items.Clear();tbDelay.Text = "0";

}void CmdInputItemInClick(object sender, EventArgs e){

if(inputModel.SelectedIndex > -1 ){int size = listInput.Items.Count;String item = (String)inputModel.SelectedItem;if(size > 0)

Page 52: การประยุกต ใช ไมโครคอนโทรลเลอร ทําหน าที่เป น PLC ... · use the PLC in many proposes of control easily

listInput.Items.Add("AND");listInput.Items.Add(item);inputModel.Items.Remove(item);

}}void ListInputClick(object sender, EventArgs e){

int index = listInput.SelectedIndex;String logic = (String)listInput.SelectedItem;if (logic == "AND")

listInput.Items[index] = "OR";else if(logic == "OR")

listInput.Items[index] = "AND";}void createPlcCode(){

FileStream aFile = new FileStream("PLC.c", FileMode.Create);StreamWriter sw = new StreamWriter(aFile);sw.WriteLine("#include <18F4450.h>");sw.WriteLine("#device adc=8");sw.WriteLine("");sw.WriteLine("#FUSES NOWDT");sw.WriteLine("#FUSES WDT128");sw.WriteLine("#FUSES HS");sw.WriteLine("#FUSES NOPROTECT");sw.WriteLine("#FUSES BROWNOUT");sw.WriteLine("#FUSES BORV20");sw.WriteLine("#FUSES NOPUT");sw.WriteLine("#FUSES VREGEN");sw.WriteLine("#FUSES STVREN");sw.WriteLine("#FUSES NODEBUG");sw.WriteLine("#FUSES LVP");sw.WriteLine("#FUSES NOWRT");sw.WriteLine("#FUSES LPT1OSC");sw.WriteLine("");sw.WriteLine("#use delay(clock=20000000)");

Page 53: การประยุกต ใช ไมโครคอนโทรลเลอร ทําหน าที่เป น PLC ... · use the PLC in many proposes of control easily

sw.WriteLine("#use fast_io(B)");sw.WriteLine("");sw.WriteLine("#use fast_io(C)");sw.WriteLine("void main()");sw.WriteLine("{");sw.WriteLine("setup_adc_ports(NO_ANALOGS|VSS_VDD);");sw.WriteLine("setup_adc(ADC_OFF|ADC_TAD_MUL_0);");sw.WriteLine("setup_wdt(WDT_OFF);");sw.WriteLine("setup_timer_0(RTCC_INTERNAL);");sw.WriteLine("setup_timer_1(T1_DISABLED);");sw.WriteLine("setup_timer_2(T2_DISABLED,0,1);");sw.WriteLine("set_tris_a(0b11111111);");sw.WriteLine("set_tris_c(0b00111111);");sw.WriteLine("set_tris_d(0x00);");sw.WriteLine("output_d(0);");sw.WriteLine("while (TRUE){");foreach(Storage s in listStep){

if(s.input.Count > 0){String tmpIn = "while(";foreach(String sIn in s.input){

if((sIn != "AND") && (sIn != "OR")){tmpIn += "(input(PIN_" + sIn +"))";}else {tmpIn += (sIn == "AND") ? "||" : "&&";}

}tmpIn += ");";sw.WriteLine("\t" + tmpIn);

}if(s.output.Count > 0) {

foreach(String output in listOut.Items){String outCode = "output_low(PIN_";foreach(String sOut in s.output){

if(sOut == output){outCode = "output_high(PIN_";

Page 54: การประยุกต ใช ไมโครคอนโทรลเลอร ทําหน าที่เป น PLC ... · use the PLC in many proposes of control easily

break;}

}//tmpOut += outCode + output + ");\n\t";sw.WriteLine("\t" + outCode + output + ");");

}//sw.WriteLine("\t" + tmpOut);

}sw.WriteLine("\tdelay_ms(" + s.delay.ToString() + ");");

}sw.WriteLine("}");sw.WriteLine("}");sw.Close();

}void CmdRunClick(object sender, EventArgs e){

createPlcCode();try{ProcessStartInfo info = new ProcessStartInfo();

info.FileName = "ccsc"; info.Arguments = "+FH I=\"C:\\Program Files\\PICC\\Devices\" PLC.c"; //MessageBox.Show(info.Arguments); Process.Start(info);

}catch(Exception){}

progress.Visible = true; progress.Maximum = 1000; for (int i = 0; i < 1000; i++) { progress.Value = i; } progress.Visible = false;

Page 55: การประยุกต ใช ไมโครคอนโทรลเลอร ทําหน าที่เป น PLC ... · use the PLC in many proposes of control easily

}void CmdUndoClick(object sender, EventArgs e){

if(listStep.Count > 0){int size = listStep.Count;listStep.RemoveAt(size - 1);outText.RemoveAt(size - 1);groupStep.Text = "Step " + (listStep.Count + 1).ToString();tbConsole.Clear();int i = 1;foreach(String s in outText){

tbConsole.AppendText("Step " + i.ToString());tbConsole.AppendText(s);i++;

}}

}void CmdClearInputClick(object sender, EventArgs e){

loadInputItem();listInput.Items.Clear();

}

private void inputModel_SelectedIndexChanged(object sender, EventArgs e)}

}

Page 56: การประยุกต ใช ไมโครคอนโทรลเลอร ทําหน าที่เป น PLC ... · use the PLC in many proposes of control easily

ภาคผนวก ค

คูมือการใชงานการประยุกตใชไมโครคอลโทลเลอรทําหนาที่เปนโปรแกรมเมเบิลลอจิกคอนโทรลเลอร

รายละเอียดของการประยุกตใชไมโครคอลโทลเลอรทําหนาที่เปน โปรแกรมเมเบิลลอจิกคอนโทรลเลอร

การประยุกตใชไมโครคอลโทลเลอรทําหนาที่เปน โปรแกรมเมเบิลลอจิกคอนโทรลเลอร ประกอบดวย สวนของโปรแกรมสั่งการทํางาน ดังรูป ค.1 สวนการเบิรนโปรแกรม ดังรูป ค.2 สวนวงจรเบิรน ดังรูป ค.3 สวนวงจรแสดงผล ดังรูป ค.4

รูปที่ ค.2 สวนการเบิรนโปรแกรม

รูปที่ ค.1 สวนของโปรแกรมสั่งการทํางาน

Page 57: การประยุกต ใช ไมโครคอนโทรลเลอร ทําหน าที่เป น PLC ... · use the PLC in many proposes of control easily

รูปที่ ค.3 สวนวงจรเบิรน

รูปที่ ค.4 สวนวงจรแสดงผล

Page 58: การประยุกต ใช ไมโครคอนโทรลเลอร ทําหน าที่เป น PLC ... · use the PLC in many proposes of control easily

วิธีการใชงานการประยุกตใชไมโครคอลโทลเลอรทําหนาที่เปนโปรแกรมเมเบิลลอจิกคอนโทรลเลอร

1.ทําการเปดโปรแกรมสั่งการทํางานของโปรแกรมเมเบิลลอจิกคอนโทรลเลอร ขึ้นมาเพื่อปอนคาคําสั่งโปรแกรมการทํางาน

2. ทําการปอนคําสั่งการใชงาน

รูปที่ ค.5 ไอคอนโปรแกรม controlPLC

รูปที่ ค.6 การปอนคําสั่งอินพุท และเอาทพุทการใชงาน

Page 59: การประยุกต ใช ไมโครคอนโทรลเลอร ทําหน าที่เป น PLC ... · use the PLC in many proposes of control easily

3. กดปุมรันเพื่อแปลงคําสั่งเปน file.hex 4. กดปุมโปรแกรมที่เครื่องโปรแกรมเมเบิลลอจิกคอนโทรลเลอร เปลี่ยนใหเปนหลอด

ไดโอดเปลงแสงสีแดงเพื่อทําการเบิรนโปรแกรม

5. เปดโปรแกรม WinPic800.exe ขึ้นมาเลือก file.hex เพื่อเบิรนโปรแกรม

รูปที่ ค.7 เลือกโหมดโปรแกรมเปลี่ยนเปนหลอดไดโอดเปลงแสงสีแดง

รูปที่ ค.8 ไอคอนโปรแกรม WinPic800

Page 60: การประยุกต ใช ไมโครคอนโทรลเลอร ทําหน าที่เป น PLC ... · use the PLC in many proposes of control easily

6. ทําการเบิรนโปรแรมลงเครื่องโปรแกรมเมเบิลลอจิกคอนโทรลเลอร

7. กดปุมรันที่ เครื่ อง โปรแกรมเมเบิลลอจิกคอนโทรลเลอร เปลี่ ยนให เปนหลอดไดโอดเปลงแสงสีเขียว เพื่อทําการรันโปรแกรม

รูปที่ ค.9 การเบิรนโปรแกรมเสร็จสมบูรณ

รูปที่ ค.10 เครื่องโปรแกรมเมเบิลลอจิกคอนโทรลเลอร ทํางานตามโปรแกรมที่สั่งไว