78
1 บทที่ 1 บทนา 1.1 ความสาคัญของปัญหา เนื่องด้วยโลกเราในปัจจุบัน เทคโนโลยีได้เข้ามาเป็นส ่วนหนึ ่งภาคอุตสาหกรรมของ ประเทศ ซึ ่งมีการขยายตัวเป็นจานวนมาก โดยเครื่องจักรถูกนาเข้ามาช่วยในกระบวนการต่างๆ ใน อุตสาหกรรม ไม่ว่าจะเป็นขั ้นตอนการผลิต ขั ้นตอนการบรรจุลงในหีบห่อต่างๆ หรือแม ้แต่ ขั ้นตอนการขนส่งก็เช่นกัน ซึ ่งเครื่องจักรต่างๆ ที่ใช้ในกระบวนการเหล่านั ้น มีความจาเป็นต ้องมี ระบบสมองกลเข้ามาช่วยในการควบคุมการทางาน ซึ ่งเรามักจะใช้ PLC (Programmable Logic Controller) ในการควบคุมเครื่องจักรต่างๆ และการสื่อสารกันของเครื่องจักร จึงมีความสาคัญมาก เพื่อให้กระบวนการต่างๆเป็นไปได้อย่างถูกต้องและรวดเร็ว [1] โดยมักจะใช้การสื่อสารด้วย โปรโตคอลมอดบัส ซึ ่งเป็นการสื่อสาร ข้อมูลอินพุต / เอาต์พุต และรีจิสเตอร์ภายใน PLC ซึ ่งถูก คิดค้นโดย บริษัท Modicon (ปัจจุบันคือบริษัท Schneider Electric) และโปรโตคอลมอดบัสนี ้ไดเป็นที่ยอมรับกันอย่างกว้างขวาง ในการติดต่อสื่อสารที่เป็นแบบ Network Protocol อัน เนื่องมาจากมอดบัสเป็นระบบเปิด ไม่มีค่าใช้จ่าย รวมทั ้งเชื่อมต่อและพัฒนาง่าย และยังสามารถนา โปรโตคอลนี ้ไปใช้งานร่วมกับอุปกรณ์อื่นๆ เช่น Power Meter, Remote I/O, PLC เป็นต้น นอกจากนี ้โปรโตคอลมอดบัส ยังสามารถรองรับและใช้งานร่วมกับ Application จาพวก SCADA และ HMI Software ได้อีกด้วย ในการส่งสัญญาณการสื่อสารไร้สายในโรงงานอุตสาหกรรมที่มีเครื่องจักรกลขนาดใหญมักจะพบกับปัญหาสัญญาณรบกวนที่เกิดจากคลื่นแม่เหล็กไฟฟ้า การส่งข้อมูลในบริเวณดังกล่าว อาจพบกับปัญหาความผิดพลาดของข้อมูลเนื่องจากสัญญาณรบกวน การติดต่อสื่อสารแบบไร้สาย ด้วยแสงที่มองเห็น VLC (Visible Light Communication) จึงเป็นทางเลือกที่ใช้เป็นตัวส ่งผ่าน สัญญาณข้อมูลดิจิตอลที่มีศักยภาพและมีความน่าสนใจในการพัฒนาเนื่องจากการสื่อสารด้วยแสงทีมองเห็นอาจหลอด LEDs (Light Emitting Diodes) ในการกาเนิดแสงพร้อมกับการส่องสว่าง ทีไม่ได้รับผลกระทบจากสัญญาณรบกวนที่มาจากคลื่นแม่เหล็กไฟฟ้า ดังนั ้นการพัฒนาระบบการ ติดต่อแบบไร้สายเพื่อใช้ในการสื่อสารไร้สายในโรงงานอุตสาหกรรมที่มีสัญญาณรบกวนจากคลื่น แม่เหล็กไฟฟ้าจึงมีความจาเป็น และเป็นที่มาของการนาการติดต่อสื่อสารแบบไร้สายด้วยแสงทีมองเห็นได้ มาใช้งานร่วมกับโปรโตคอลมอดบัสในโครงงานชิ ้นนี ้ เพื่อที่จะแก้ปัญหาการเดิน

1.1 ความส าคัญของปัญหาdspace.spu.ac.th/bitstream/123456789/4639/4/4._Project...1.1 ความส าค ญของป ญหา เน องด

  • Upload
    others

  • View
    6

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 1.1 ความส าคัญของปัญหาdspace.spu.ac.th/bitstream/123456789/4639/4/4._Project...1.1 ความส าค ญของป ญหา เน องด

1

บทท 1

บทน า

1.1 ความส าคญของปญหา

เนองดวยโลกเราในปจจบน เทคโนโลยไดเขามาเปนสวนหนงภาคอตสาหกรรมของประเทศ ซงมการขยายตวเปนจ านวนมาก โดยเครองจกรถกน าเขามาชวยในกระบวนการตางๆ ในอตสาหกรรม ไมวาจะเปนขนตอนการผลต ขนตอนการบรรจลงในหบหอตางๆ หรอแมแตขนตอนการขนสงกเชนกน ซงเครองจกรตางๆ ทใชในกระบวนการเหลานน มความจ าเปนตองมระบบสมองกลเขามาชวยในการควบคมการท างาน ซงเรามกจะใช PLC (Programmable Logic Controller) ในการควบคมเครองจกรตางๆ และการสอสารกนของเครองจกร จงมความส าคญมาก เพอใหกระบวนการตางๆเปนไปไดอยางถกตองและรวดเรว[1] โดยมกจะใชการสอสารดวยโปรโตคอลมอดบส ซงเปนการสอสาร ขอมลอนพต / เอาตพต และรจสเตอรภายใน PLC ซงถกคดคนโดย บรษท Modicon (ปจจบนคอบรษท Schneider Electric) และโปรโตคอลมอดบสนไดเปนทยอมรบกนอยางกวางขวาง ในการตดตอสอสารทเปนแบบ Network Protocol อนเนองมาจากมอดบสเปนระบบเปด ไมมคาใชจาย รวมทงเชอมตอและพฒนางาย และยงสามารถน าโปรโตคอลนไปใชงานรวมกบอปกรณอนๆ เชน Power Meter, Remote I/O, PLC เปนตน นอกจากนโปรโตคอลมอดบส ยงสามารถรองรบและใชงานรวมกบ Application จ าพวก SCADA และ HMI Software ไดอกดวย

ในการสงสญญาณการสอสารไรสายในโรงงานอตสาหกรรมทมเครองจกรกลขนาดใหญมกจะพบกบปญหาสญญาณรบกวนทเกดจากคลนแมเหลกไฟฟา การสงขอมลในบรเวณดงกลาวอาจพบกบปญหาความผดพลาดของขอมลเนองจากสญญาณรบกวน การตดตอสอสารแบบไรสายดวยแสงทมองเหน VLC (Visible Light Communication) จงเปนทางเลอกทใชเปนตวสงผานสญญาณขอมลดจตอลทมศกยภาพและมความนาสนใจในการพฒนาเนองจากการสอสารดวยแสงทมองเหนอาจหลอด LEDs (Light Emitting Diodes) ในการก าเนดแสงพรอมกบการสองสวาง ทไมไดรบผลกระทบจากสญญาณรบกวนทมาจากคลนแมเหลกไฟฟา ดงนนการพฒนาระบบการตดตอแบบไรสายเพอใชในการสอสารไรสายในโรงงานอตสาหกรรมทมสญญาณรบกวนจากคลนแมเหลกไฟฟาจงมความจ าเปน และเปนทมาของการน าการตดตอสอสารแบบไรสายดวยแสงทมองเหนได มาใชงานรวมกบโปรโตคอลมอดบสในโครงงานชนน เพอทจะแกปญหาการเดน

Page 2: 1.1 ความส าคัญของปัญหาdspace.spu.ac.th/bitstream/123456789/4639/4/4._Project...1.1 ความส าค ญของป ญหา เน องด

2

สายสญญาณเชอมโยงระหวางตวอปกรณตางๆ และลดทอนปญหาทเกดจากคลนแมเหลกไฟฟา ทงยงเปนการประยกตสงทมอยแลวเดมใหมความสามารถใชงานไดหลากหลายมากขนอกดวย

1.2 วตถประสงคของโครงงาน

- เพอทจะศกษาวธการใชงานรวมทงขอดและขอเสย ของการตดตอสอสารแบบโปรโตคอลมอดบสผานแสงทมองเหนได - เพอทจะศกษาระบบการตดตอสอสารดวยโปรโตคอลมอดบสทใชกบอปกรณตางๆ ในภาคอตสาหกรรม - เพอทจะพฒนารปแบบการตดตอสอสารของอปกรณใหมความสะดวกรวดเรวมากยงขน

1.3 ขอบเขตของโครงงาน

- มชดจ าลองการสอสารดวยโปรโตคอลมอดบส RTU ผานแสงทมองเหนได - สามารถรบสญญาณ RS-485 เพอน าไปใชในชดการสอสาร - ระยะหางการสอสารไรสายไมนอยกวา 3 เมตร - มอปกรณแมขาย 1 ตว และลกขาย 3 ตว ทสามารถใชกบตวกระตนทแตกตางกนได - มชดคมอทอานงาย และมรายละเอยดตางๆของโครงงาน

Page 3: 1.1 ความส าคัญของปัญหาdspace.spu.ac.th/bitstream/123456789/4639/4/4._Project...1.1 ความส าค ญของป ญหา เน องด

3

1.4 โครงสรางของโครงงาน

ภาพท 1.1 โครงสรางโครงงาน

1.5 ประโยชนของโครงงาน

- ไดรบความรเกยวกบระบบโปรโตคอลมอดบส - ไดรบความรเกยวกบการตดตอสอสารแบบไรสายดวยแสงทมองเหนได (VLC) - ไดมชดทดลองส าหรบเรยนรไวใหผทสนใจระบบการตดตอสอสารแบบไรสายดวยแสงทมองเหนได ไดท าการศกษาและทดลอง

Page 4: 1.1 ความส าคัญของปัญหาdspace.spu.ac.th/bitstream/123456789/4639/4/4._Project...1.1 ความส าค ญของป ญหา เน องด

4

บทท 2 ทฤษฎทเกยวของ

2.1 โปรโตคอลมอดบส (Modbus Protocol)[2]

มอดบสเปนการสอสารทอาศยหลกการแมขายและลกขาย สอสารแบบอนกรมทเปนโครงขาย (Serial Communication Network ) และจะมเพยงแมขายเพยงตวเดยวเทานน ทควบคมการสอสารบนโครงขาย ทมลกขายจ านวนหลายตว และตามมาตรฐานนน สามารถมลกขายในโครงขายไดสงสดอยท 247 ตว การสอสารโดยโปรโตคอลมอดบสจะตองเรมตนการตดตอสอสารทแมขายเสมอ โดยทตวลกขายจะไมสามารถตอบสนองหรอสงขอมลใดๆได ถาไมมการรองขอจากแมขาย และระหวางตวลกขายดวยกนนน จะไมมการสอสารระหวางกน แมขายสามารถสงการรองขอไปยงลกขายได 2 ลกษณะ คอ

1. แบบโหมดยนคาสต (Unicast Mode) ในลกษณะน แมขายจะใชหมายเลขแบบระบตวลกขาย หลงจากทลกขายรบขอมล กจะประมวลผลการรองขอนนของแมขาย จากนนจะท างานตามชดขอมลนนของแมขาย และจะตอบกลบโดยทเฟรมขอมลจะมหมายเลขของลกขายตอบกลบไปยงแมขายดวยในโหมดน และการสอสารนนจะม 2 ชดขอมล คอ 1. ขอมลการรองขอจากแมขาย และ 2. ขอมลการตอบสนองกลบจากลกขาย โดยทแตละขอมลการสอสารนนตองมหมายเลขของลกขายอยในชวงจาก 1 ถง 247 และไมซ ากน จงจะมความอสระจากลกขายตวอนๆ

ภาพท 2.1 การสอสารโหมดยนคาสต

Page 5: 1.1 ความส าคัญของปัญหาdspace.spu.ac.th/bitstream/123456789/4639/4/4._Project...1.1 ความส าค ญของป ญหา เน องด

5

2. แบบโหมดบรอดคาสต (Broadcast Mode) ในโหมดน แมขายจะสามารถสงการรองขอไปยงลกขายทกตวในเวลาเดยวกนได แตจะไมมขอมลตอบกลบมาจากลกขายใดๆ ซงการรองขอในโหมดนมกเปนค าสง ประเภทใหท าแบบตองยอมรบค าขอน โดยส าหรบฟงกชนประเภทเขยนในโหมดบรอดคาสตน ในสวนของหมายเลขลกขายจะเปนหมายเลข 0 ในการก าหนดชดขอมลการรองขอไปยงลกขาย

ภาพท 2.2 การสอสารโหมดบรอดคาสต

โครงสรางของโปรโตคอลมอดบสทใชในการสอสารนน มดวยกน 3 ชนด ซงขอมล

แตกตางกนออกไปตามรหสค าสง ซงโครงสรางโดยรวมจะเปนดงตอไปน 1. โปรโตคอลมอดบสชนด RTU จะมชดเฟรมขอมลดงตอไปน - สวนท 1 ในชดเฟรมขอมล จะเปนการสงสญญาณเพอเรมตนของชดขอมลทจะท าการ

สง โดยวธการหยดสงขอมลเปนเวลามากวาหรอเทากบ 3.5 เทา ของเวลาทใชในการสงขอมล 1 ตวอกษร

- สวนท 2 ในชดเฟรมขอมล จะเปนสวนของหมายเลขของอปกรณ(Address) ซงมขนาด 1 ไบต โดยในเฟรมรองขอนจะใชระบถงตวลกขาย ทจะรบค ารองขอทสงไปถง และในสวนของเฟรมการตอบสนองจะเรมตนดวยหมายเลขของลกขายทตอบสนองกลบเชนเดยวกน ในโครงขายของโปรโตคอลมอดบส โดยตามมาตรฐานนนหมายเลขของลกขายจะอยในชวงระหวาง 1 ถง 247 ลกขาย และในทางปฏบต แมขายหนงตว มกจะมลกขาย อยท 1 ถง 10 ตวเทานน เพราะ เมอมจ านวนลกขายมาก ประสทธภาพของการสอสารกจะลดลงตามไปดวย

- สวนท 3 ในชดเฟรมขอมล คอ สวนของรหสค าสง ซงมขนาด 1 ไบต โดยในการรองขอของแมขายจะระบรหสค าสงทใหตวลกขายด าเนนการ ซงเมอลกขายด าเนนการตามรหสค าสงตามทรองขอไดแลวนน ลกขายจะตอบสนองโดยใชหมายเลขค าสงเดยวกนเพอยนยน

Page 6: 1.1 ความส าคัญของปัญหาdspace.spu.ac.th/bitstream/123456789/4639/4/4._Project...1.1 ความส าค ญของป ญหา เน องด

6

- สวนท 4 ในชดเฟรมขอมล คอ สวนของขอมล ซงมขนาดตามรหสค าสงนนทใชในเฟรมรองขอของแมขาย และในสวนของเฟรมตอบกลบของลกขายจะมขนาดเทากบขอมลทแมขายรองขอในรปแบบยนยน

- สวนท 5 จะเปน 2 ไบตสดทายของเฟรมขอมล ซงจะเปนการตรวจสอบขอผดพลาดคาขอมล ทเปนตวเลขทถกค านวณโดยใชวธการ CRC-16 ซงเปนการตรวจสอบเพอทจะท าใหแนใจวาอปกรณจะไมตอบสนองค าขอทมความผดพลาด

- สวนท 6 ของเฟรมขอมล จะเปนการสงสญญาณเพอหยดของชดขอมลทจะท าการสง และเปนการเรมตนชดขอมลถดไปอกดวย โดยวธการหยดสงขอมลเปนเวลามากวาหรอเทากบ 3.5 เทา ของเวลาทใชในการสงขอมล 1 ตวอกษร

ตารางท 2.1 แสดงรปแบบทวไปของโครงสรางของโปรโตคอลมอดบส RTU

Start หมายเลข รหสค าสง ชดขอมล CRC Stop (Start)

≥ 3.5 Character time 1 ไบต 1 ไบต N x 1 ไบต 2 ไบต ≥ 3.5 Character time

3. โปรโตคอลมอดบสชนด ASCII จะมความแตกตางจากโหมด RTU ตรงทในโหมด RTU ขอมลทจะสงขนาด 1 ไบต น ามารวมกบบตประกอบตางๆ เปนชดขอมล แตส าหรบชนด ASCII จะมองขอมล 1 ไบต นนออกมาเปนตวอกษร 2 ตว จากนนกจะท าการคนหารหส ASCII ของตวอกษรทง 2 ตวนนแลวท าการสงรหส ASCII ทง 2 คานออกไป ซงจะไดผลเทากบการสงขอมลขนาด 1 ไบต ในโหมด RTU จะมชดเฟรมขอมลดงตอไปน

- สวนท 1 ในชดเฟรมขอมล จะเปนการสงสญญาณเพอเรมตนของชดขอมลทจะท าการสง ขนาด 1 ตวอกษร

- สวนท 2 ในชดเฟรมขอมล จะเปนสวนของหมายเลขของอปกรณเหมอนกบชนด RTU ซง เปนขอมล ASCII ทจะมขนาด 2 ตวตวอกษร

- สวนท 3 ในชดเฟรมขอมล คอ สวนของรหสค าสงเหมอนกบชนด RTU ซงเปนขอมล ASCII ทจะมขนาด 2 ตวตวอกษร

- สวนท 4ในชดเฟรมขอมล คอ สวนของขอมลทมขนาด 2~252 ตวอกษรขนอยกบชนดของรหสค าสงทใชงาน

- สวนท 5 จะเปน 2 ไบตสดทายของเฟรมขอมล ซงจะเปนการตรวจสอบขอผดพลาดคาขอมล โดยใชวธการ LRC ซงเปนการตรวจสอบเพอทจะท าใหแนใจวาอปกรณจะไมตอบสนองค าขอทมความผดพลาด

Page 7: 1.1 ความส าคัญของปัญหาdspace.spu.ac.th/bitstream/123456789/4639/4/4._Project...1.1 ความส าค ญของป ญหา เน องด

7

- สวนท 6 ของเฟรมขอมล จะเปนการสงสญญาณเพอหยดของชดขอมลทจะท าการสง และเปนการเรมตนชดขอมลถดไปอกดวย โดยมขนาด 2 ตวอกษร

ตารางท 2.2 แสดงรปแบบทวไปของโครงสรางของโปรโตคอลมอดบส ASCII

Start หมายเลข รหสค าสง ชดขอมล LRC Stop

1 Character time

2 Character 2 Character 2~252

Character 2 Character

2 Character CR,LF

3. โปรโตคอลมอดบสชนด TCP/IP ใชงานในเครอขาย Ethernet โดยจะใช Gateway ตดตอและแปลงรปแบบการสอสารขอมล โดยการสอสารของโปรโตคอลมอดบส RTU/ASCII นน จะเปนการสอสารผานทาง RS-232/422/485 นนจะถก Gateway แปลงใหเปนโปรโตคอลชนด TCP/IP เพอใชในการตดตอสอสารในเครอขาย Ethernet ตอไป

ตารางท 2.3 แสดงชวงต าแหนงการเกบขอมลและประเภทของขอมล และรหสค าสงทถกใชในการสอสารผานโปโตคอลมอดบสตามแตละรหสค าสงตามมาตรฐาน รหสค าสง

ขนาดในการควบคม

รายละเอยด ต าแหนงเกบ

ขอมล ประเภท

01 1 บต อานคาบต (Read Coils) 00001 - 10000 อาน-สง 05 1 บต สงบตท างาน (Write Single Coil)

15 N × 1 บต สงบตท างานแบบชด (Write Multiple Coils) 02 1 บต อานคาอนพต (Read Discrete Inputs) 10001 - 20000 อาน 03 16 บต อานสถานะขอมล (Read Holding Registers)

40001 - 50000 อาน-สง 06 16 บต แกไขคาขอมล (Write Single Register) 16 N × 16 บต แกไขคาขอมลแบบชด (Write Multiple Registers) 04 16 บต อานคาขอมล (Read Input Register) 30001 - 40000 อาน

Page 8: 1.1 ความส าคัญของปัญหาdspace.spu.ac.th/bitstream/123456789/4639/4/4._Project...1.1 ความส าค ญของป ญหา เน องด

8

2.1.1 รหสค าสง 01 : อานคาบต (Read Coils) ชดรหสค ารองขอ ของรหสค าสงนจะใชในการอานสถานะของบตเอาตพตในอปกรณลก

ขาย โดยค าขอจะระบหมายเลขของลกขายหมายเลข 1-247 ทมขนาด 1 ไบต ตามดวยรหสค าสง 01 ขนาด 1 ไบต และตามดวยต าแหนงเรมตนของบตเอาตพตทตองการรสถานะ ทมขนาด 2 ไบต และตอมาจะระบจ านวนทตองการทราบสถานะของบตเอาตพตได 1-2000 ชด ทมขนาด 2 ไบต เชนเดยวกน

ตารางท 2.4 เฟรมรองขอรหส 01

หมายเลขลกขาย รหสค าสง ต าแหนงเรมตน จ านวน ตรวจสอบความผดพลาด

(CRC 16)

1 to 247 01 00000 to 65535 1 to 2000 Check from Data 0x01 to 0xF7 0x01 0x0000 to 0xFFFF 0x0001 to 0x07D0 Check from Data

1 ไบต 1 ไบต 2 ไบต 2 ไบต 2 ไบต

ชดรหสขอความตอบกลบ จะแสดงหมายเลขลกขาย ทมขนาด 1 ไบต ตามดวยรหส

ค าสงทมขนาด 1 ไบต ตามดวยจ านวนไบต ของสถานะขอมลทไดท าการตอบกลบมา ทมขนาด 1 ไบต และตามดวยชดสถานะของขอมล ซงสถานะของขอมลจะแสดงเปนบต 1 = ON และ 0 = OFF ของบตเอาตพต และถาหากปรมาณการสงกลบมาไมครบ 8 บตในไบต กจะแสดงศนยเพอใหครบไบตทสมบรณของขอมล มขนาด 1 ไบต × จ านวนไบต ของสถานะขอมลทไดท าการตอบกลบมา

ตารางท 2.5 เฟรมตอบกลบรหส 01

หมายเลขลกขาย รหสค าสง จ านวนไบตของ

ขอมล สถานะของขอมล

ตรวจสอบความผดพลาด (CRC 16)

1 to 247 01 จ านวนไบต แสดงสถานะ Check from Data 0x01 to 0xF7 0x01 จ านวนไบต แสดงสถานะ Check from Data

1 ไบต 1 ไบต 1 ไบต N ไบต 2 ไบต

Page 9: 1.1 ความส าคัญของปัญหาdspace.spu.ac.th/bitstream/123456789/4639/4/4._Project...1.1 ความส าค ญของป ญหา เน องด

9

2.1.2 รหสค าสง 02 : อานคาอนพต (Read Discrete Inputs) ชดรหสค ารองขอ ของรหสค าสงนจะใชในการอานสถานะของบตอนพต ในอปกรณลก

ขาย โดยค าขอจะระบหมายเลขของลกขายหมาย 1-247 ทมขนาด 1 ไบต ตามดวยรหสค าสง 02 ขนาด 1 ไบต และตามดวยต าแหนงเรมตนของบตอนพตทตองการรสถานะ ทมขนาด 2 ไบต และตอมาจะระบจ านวนทตองการทตองการทราบสถานะของบตอนพตได 1-2000 ชด ทมขนาด 2 ไบต เชนเดยวกน

ตารางท 2.6 เฟรมรองขอรหส 02

หมายเลขลกขาย รหสค าสง ต าแหนงเรมตน จ านวน ตรวจสอบความผดพลาด

(CRC 16)

1 to 247 02 00000 to 65535 1 to 2000 Check from Data

0x01 to 0xF7 0x02 0x0000 to 0xFFFF 0x0001 to 0x07D0 Check from Data 1 ไบต 1 ไบต 2 ไบต 2 ไบต 2 ไบต

ชดรหสขอความตอบกลบ จะแสดงหมายเลขลกขาย ทมขนาด 1 ไบต ตามดวยรหสค าสง

ทมขนาด 1 ไบต ตามดวยจ านวนไบต ของสถานะขอมลทไดท าการตอบกลบมา ทมขนาด 1 ไบต และตามดวยชดสถานะของขอมล ซงสถานะของขอมลจะแสดงเปนบต 1 = ON และ 0 = OFF ของบตอนพต หากปรมาณการสงออกกลบมาไมครบ 8 บต ในไบตจะแสดงศนยเพอใหครบไบตทสมบรณของขอมล มขนาด 1 ไบต × จ านวนไบต ของสถานะขอมลทไดท าการตอบกลบมา ตารางท 2.7 เฟรมตอบกลบรหส 02

หมายเลขลกขาย รหสค าสง จ านวนไบตของ

ขอมล สถานะของขอมล

ตรวจสอบความผดพลาด (CRC 16)

1 to 247 02 จ านวนไบต แสดงสถานะ Check from Data

0x01 to 0xF7 0x02 จ านวนไบต แสดงสถานะ Check from Data 1 ไบต 1 ไบต 1 ไบต N × 1 ไบต 2 ไบต

Page 10: 1.1 ความส าคัญของปัญหาdspace.spu.ac.th/bitstream/123456789/4639/4/4._Project...1.1 ความส าค ญของป ญหา เน องด

10

2.1.3 รหสค าสง 03 : อานสถานะขอมล (Read Holding Registers) ชดรหสค ารองขอ ของรหสค าสงน จะใชในการอานสถานะของ อนาลอกเอาตพตใน

อปกรณลกขาย โดยค าขอจะระบหมายเลขของลกขายหมาย 1-247 ทมขนาด 1 ไบต ตามดวยรหสค าสง 03 ขนาด 1 ไบต และตามดวยต าแหนงเรมตนของอนาลอกเอาตพต ทตองการรสถานะ ทมขนาด 2 ไบต และตอมาจะระบจ านวน ทตองการทตองการทราบสถานะของอนาลอกเอาตพตได 1-2000 ชด ทมขนาด 2 ไบต เชนเดยวกน

ตารางท 2.8 เฟรมรองขอรหส 03

หมายเลขลกขาย รหสค าสง ต าแหนงเรมตน จ านวน ตรวจสอบความ

ผดพลาด (CRC 16)

1 to 247 03 00000 to 65535 1 to 2000 Check from Data 0x01 to 0xF7 0x03 0x0000 to 0xFFFF 0x0001 to 0x07D0 Check from Data

1 ไบต 1 ไบต 2 ไบต 2 ไบต 2 ไบต

ชดรหสขอความตอบกลบ จะแสดงหมายเลขลกขาย ทมขนาด 1 ไบต ตามดวยรหสค าสง

ทมขนาด 1 ไบต ตามดวยจ านวนไบต ของสถานะขอมลทไดท าการตอบกลบมาทมขนาด 2 ไบต และตามดวยชดสถานะของขอมล ซงสถานะของขอมลจะแสดงเปนขอมลขนาด 2 ไบต × จ านวนไบต ของสถานะขอมลทไดท าการตอบกลบมา ตารางท 2.9 เฟรมตอบกลบรหส 03

หมายเลขลกขาย รหสค าสง จ านวนไบตของ

ขอมล สถานะของขอมล

ตรวจสอบความผดพลาด (CRC 16)

1 to 247 03 จ านวนไบต แสดงสถานะ Check from Data 0x01 to 0xF7 0x03 จ านวนไบต แสดงสถานะ Check from Data

1 ไบต 1 ไบต 1 ไบต N × 2 ไบต 2 ไบต

Page 11: 1.1 ความส าคัญของปัญหาdspace.spu.ac.th/bitstream/123456789/4639/4/4._Project...1.1 ความส าค ญของป ญหา เน องด

11

2.1.4 รหสค าสง 04 : อานคาขอมล (Read Input Register) ชดรหสค ารองขอ ของรหสค าสงนจะใชในการอานสถานะของอนาลอกเอาตพต ใน

อปกรณลกขาย โดยค าขอจะระบหมายเลขของลกขายหมาย 1-247 ทมขนาด 1 ไบต ตามดวยรหสค าสง 04 ขนาด 1 ไบต และตามดวยต าแหนงเรมตนของอนาลอกเอาตพต ทตองการรสถานะ ทมขนาด 2 ไบต และตอมาจะระบจ านวนทตองการทตองการทราบสถานะของอนาลอกเอาตพตได 1-2000 ชด ทมขนาด 2 ไบต เชนเดยวกน ตารางท 2.10 เฟรมรองขอรหส 04

หมายเลขลกขาย รหสค าสง ต าแหนงเรมตน จ านวน ตรวจสอบความ

ผดพลาด (CRC 16)

1 to 247 04 00000 to 65535 1 to 2000 Check from Data 0x01 to 0xF7 0x04 0x0000 to 0xFFFF 0x0001 to 0x07D0 Check from Data

1 ไบต 1 ไบต 2 ไบต 2 ไบต 2 ไบต

ชดรหสขอความตอบกลบ จะแสดงหมายเลขลกขาย ทมขนาด 1 ไบต ตามดวยรหสค าสง

ทมขนาด 1 ไบต ตามดวยจ านวนไบต ของสถานะขอมลทไดท าการตอบกลบมา ทมขนาด 1 ไบต และตามดวยชดสถานะของขอมล ซงสถานะของขอมลจะแสดงเปนขอมลขนาด 2 ไบต × จ านวน ไบต ของสถานะขอมล ทไดท าการตอบกลบมา

ตารางท 2.11 เฟรมตอบกลบรหส 04

หมายเลขลกขาย รหสค าสง จ านวนไบตของ

ขอมล สถานะของขอมล

ตรวจสอบความผดพลาด (CRC 16)

1 to 247 04 จ านวนไบต แสดงสถานะ Check from Data 0x01 to 0xF7 0x04 จ านวนไบต แสดงสถานะ Check from Data

1 ไบต 1 ไบต 1 ไบต N × 2 ไบต 2 ไบต

Page 12: 1.1 ความส าคัญของปัญหาdspace.spu.ac.th/bitstream/123456789/4639/4/4._Project...1.1 ความส าค ญของป ญหา เน องด

12

2.1.5 รหสค าสง 05 : สงบตท างาน (Write Single Coil) ชดรหสค ารองขอ ของรหสค าสงนจะใชในการควบคม หรอเปลยนแปลงสถานะของบต

เอาตพต ในอปกรณลกขาย โดยค าขอจะระบหมายเลขของลกขายหมาย 1-247 ทมขนาด 1 ไบต ตามดวยรหสค าสง 05 ขนาด 1 ไบต และตามดวยต าแหนงของบตเอาตพต ทตองการควบคม ทมขนาด 2 ไบต และตอมาจะระบสถานะทตองการใหบตเอาตพตนนมคาทมขนาด 2 ไบต เชนเดยวกน

ตารางท 2.12 เฟรมรองขอรหส 05

หมายเลขลกขาย รหสค าสง ต าแหนง เอาตพต คาของ เอาตพต ตรวจสอบความ

ผดพลาด (CRC 16)

1 to 247 05 00000 to 65535 0 or 1 Check from Data 0x01 to 0xF7 0x05 0x0000 to 0xFFFF 0x0000 or 0xFF00 Check from Data

1 ไบต 1 ไบต 2 ไบต 2 ไบต 2 ไบต

ชดรหสขอความตอบกลบ จะแสดงหมายเลขลกขายทมขนาด 1 ไบต ตามดวยรหสค าสงท

มขนาด 1 ไบต ตามดวยต าแหนงของบตเอาตพตทควบคม จ านวน 2 ไบต ตามดวยสถานะของขอมลทไดท าการควบคม ซงสถานะของขอมลจะแสดงเปนบต 1 = ON และ 0 = OFF ของบต หากปรมาณการสงกลบมาไมครบ 8 บต ในไบต จะแสดงศนยเพอใหครบไบตทสมบรณของขอมล มขนาด 2 ไบต ของสถานะขอมลทท าการตอบกลบมา

ตารางท 2.13 เฟรมตอบกลบรหส 05

หมายเลขลกขาย รหสค าสง ต าแหนง เอาตพต คาของ เอาตพต ตรวจสอบความ

ผดพลาด (CRC 16)

1 to 247 05 00000 to 65535 0 or 1 Check from Data 0x01 to 0xF7 0x05 0x0000 to 0xFFFF 0x0000 or 0xFF00 Check from Data

1 ไบต 1 ไบต 2 ไบต 2 ไบต 2 ไบต

Page 13: 1.1 ความส าคัญของปัญหาdspace.spu.ac.th/bitstream/123456789/4639/4/4._Project...1.1 ความส าค ญของป ญหา เน องด

13

2.1.6 รหสค าสง 06 : แกไขคาขอมล (Write Single Register) ชดรหสค ารองขอ ของรหสค าสงนจะใชในการควบคมหรอเปลยนแปลงสถานะอนาลอก

เอาตพตในอปกรณลกขาย โดยค าขอจะระบหมายเลขของลกขายหมาย 1-247 ทมขนาด 1 ไบต ตามดวยรหสค าสง 06 ขนาด 1 ไบต และตามดวยต าแหนงของอนาลอกเอาตพต ทตองการควบคมทมขนาด 2 ไบต และตอมาจะระบสถานะทตองการใหอนาลอกเอาตพต นนมคา ทมขนาด 2 ไบต เชนเดยวกน ตารางท 2.14 เฟรมรองขอรหส 06

หมายเลขลกขาย รหสค าสง ต าแหนง เอาตพต คาของ Register ตรวจสอบความ

ผดพลาด (CRC 16)

1 to 247 06 00000 to 65535 0 or 65535 Check from Data 0x01 to 0xF7 0x06 0x0000 to 0xFFFF 0x0000 or 0xFFFF Check from Data

1 ไบต 1 ไบต 2 ไบต 2 ไบต 2 ไบต

ชดรหสขอความตอบกลบ จะแสดงหมายเลขลกขาย ทมขนาด 1 ไบต ตามดวยรหสค าสง

ทมขนาด 1 ไบต ตามดวยต าแหนงของบตเอาตพตทควบคม จ านวน 2 ไบต ตามดวยสถานะของขอมลทไดท าการควบคม ซงสถานะของขอมลจะแสดงเปนขอมล 0 - 65535 ซงมขนาด 2 ไบต ตารางท 2.15 เฟรมตอบกลบรหส 06

หมายเลขลกขาย รหสค าสง ต าแหนง เอาตพต คาของ Register ตรวจสอบความ

ผดพลาด (CRC 16)

1 to 247 06 00000 to 65535 0 or 65535 Check from Data 0x01 to 0xF7 0x06 0x0000 to 0xFFFF 0x0000 or 0xFFFF Check from Data

1 ไบต 1 ไบต 2 ไบต 2 ไบต 2 ไบต

Page 14: 1.1 ความส าคัญของปัญหาdspace.spu.ac.th/bitstream/123456789/4639/4/4._Project...1.1 ความส าค ญของป ญหา เน องด

14

2.1.7 รหสค าสง 15 : สงบตท างานแบบชด (Write Multiple Coils) ชดรหสค ารองขอ ของรหสค าสงนจะใชในการควบคม หรอเปลยนแปลงสถานะของบต

เอาตพต ในอปกรณลกขายเปนกลมโดยค าขอจะระบหมายเลขของลกขายหมาย 1-247 ทมขนาด 1 ไบต ตามดวยรหสค าสง 15 ขนาด 1 ไบต และตามดวยต าแหนงเรมตนของบตเอาตพตทตองการควบคมทมขนาด 2 ไบต และตอมาจะระบจ านวนทตองการทตองการควบคมสถานะของบตเอาตพต ทมขนาด 2 ไบต และตอมาจะระบจ านวนไบตของขอมลทควบคมทมขนาด 1 ไบต และตามดวยสถานะทตองการควบคมใหบตเอาตพต ชดนนมคา 1 ไบต × จ านวนไบต ของขอมลทไดท าการควบคม

ตารางท 2.16 เฟรมรองขอรหส 15

ชดรหสขอความตอบกลบ จะแสดงหมายเลขลกขาย ทมขนาด 1 ไบต ตามดวยรหสค าสง ทมขนาด 1 ไบต ตามดวยต าแหนงของบตเอาตพตชดทควบคม จ านวน 2 ไบต ตามดวยจ านวนขอมลทไดท าการควบคมทมขนาด 2 ไบต

ตารางท 2.17 เฟรมตอบกลบรหส 15

หมายเลขลกขาย รหสค าสง ต าแหนง เอาตพต จ านวน

บตเอาตพต ตรวจสอบความ

ผดพลาด (CRC 16)

1 to 247 15 00000 to 65535 1 to 1968 Check from Data 0x01 to 0xF7 0x0F 0x0000 to 0xFFFF 0x0001 to 0x07B0 Check from Data

1 ไบต 1 ไบต 2 ไบต 2 ไบต 2 ไบต

หมายเลข ลกขาย

รหสค าสง

ต าแหนงเรมตน จ านวนบต เอาตพต

คาของ เอาตพต ตรวจสอบความ

ผดพลาด (CRC 16)

1 to 247 15 00000 to 65535 1 to 1968 0 or 1 Check from Data

0x01 to 0xF7 0x0F 0x0000 to 0xFFFF 0x0001 to 0x07B0 0x0000 or 0xFF00 Check from Data

1 ไบต 1 ไบต 2 ไบต 2 ไบต N x 1 ไบต 2 ไบต

Page 15: 1.1 ความส าคัญของปัญหาdspace.spu.ac.th/bitstream/123456789/4639/4/4._Project...1.1 ความส าค ญของป ญหา เน องด

15

2.1.8 รหสค าสง 16 : แกไขคาขอมลแบบชด (Write Multiple Registers) ชดรหสค ารองขอ ของรหสค าสงน จะใชในการควบคมหรอเปลยนแปลงสถานะของ

ขอมล ในอปกรณลกขายเปนกลม โดยค าขอจะระบหมายเลขของลกขายหมาย 1-247 ทมขนาด 1 ไบต ตามดวยรหสค าสง 16 ขนาด 1 ไบต และตามดวยต าแหนงเรมตนของอนาลอกเอาตพตทตองการควบคม ทมขนาด 2 ไบต และตอมาจะระบจ านวนทตองการทตองการควบคมสถานะของอนาลอกเอาตพต ทมขนาด 2 ไบต และตอมาจะระบจ านวนไบตของขอมลทควบคม ทมขนาด 1 ไบต และตามดวยสถานะทตองการควบคมใหอนาลอกเอาตพตชดนนมคา 2 ไบต × จ านวนไบต ของขอมลทไดท าการควบคม

ตารางท 2.18 เฟรมรองขอรหส 16

หมายเลข ลกขาย

รหสค าสง ต าแหนงเรมตน จ านวน Register จ านวนไบตของขอมล

คาของเอาตพต ตรวจสอบความ

ผดพลาด (CRC 16)

1 to 247 16 00000 to 65535 1 to 1968 จ านวนไบต 0 or 1 Check from Data

0x01 to 0xF7 0x10 0x0000 to 0xFFFF 0x0001 to 0x07B0 จ านวนไบต 0x0000 or 0xFF00 Check from Data

1 ไบต 1 ไบต 2 ไบต 2 ไบต 1 ไบต N x 2 ไบต 2 ไบต

ชดรหสขอความตอบกลบ จะแสดงหมายเลขลกขาย ทมขนาด 1 ไบต ตามดวยรหสค าสงทมขนาด 1 ไบต ตามดวยต าแหนงของอนาลอกเอาตพตชดทควบคม จ านวน 2 ไบต ตามดวยจ านวนขอมลทไดท าการควบคม ทมขนาด 2 ไบต

ตารางท 2.19 เฟรมตอบกลบรหส 16

หมายเลขลกขาย รหสค าสง ต าแหนง เอาตพต จ านวน Register ตรวจสอบความผดพลาด

(CRC 16)

1 to 247 16 00000 to 65535 1 to 1968 Check from Data 0x01 to 0xF7 0x10 0x0000 to 0xFFFF 0x0001 to 0x07B0 Check from Data

1 ไบต 1 ไบต 2 ไบต 2 ไบต 2 ไบต

Page 16: 1.1 ความส าคัญของปัญหาdspace.spu.ac.th/bitstream/123456789/4639/4/4._Project...1.1 ความส าค ญของป ญหา เน องด

16

2.2 ทฤษฎของการตดตอสอสารผานแสงทมองเหนได (Visible Light Communication)[3]

2.2.1 องคประกอบของแสงทมองเหนได แสงขาว ประกอบดวยแสงหลายสทรวมกน ซงประกอบดวยเจดส ไดแก มวง คราม น าเงน เขยว เหลอง สม แดง โดยสมวงจะมพลงงานมากสด (ความยาวคลนสน) และพลงงานจะลดลงเรอยๆ ตามล าดบ จนกระทงสแดงทมพลงงานต าสด (ความยาวคลนยาว)

ปรากฏการณการแยกสของแสงขาว เชน น าปรซมไปวางใหแสงสองผาน เมอแสงเดนทางผานตวกลางทมดชนหกเหแตกตางกน ดวยความยาวคลนทตางกนจะหกเหดวยมมทไมเทากน เราจงมองเหนสแสงขาวแยกออกเปนสตางๆ ได และเมอน าฉากไปรบกจะแสดงปรากฏการณธรรมชาตอยางหนง คอ การเกดรง ซงเกดจากการทแสงเดนทางผานหยดไอน าในอากาศ ท าใหเกดการหกเหของแสงเกดเปนการแยกสของแสงขาวขน

ภาพท 2.3 การหกเหของแสงเมอเดนทางผานปรซม

2.2.2 สเปกตรมของแสงขาว (Spectrum of Visible Light) คลนแสงทตาของมนษยสามารถมองเหนไดอยในชวงประมาณ 380-780 nm ถานยนตา

ถกกระตนดวยแสงตลอดทงชวงความยาวคลน (380-780 nm) ผลกคอ จะมองเหนแสงนนเปนแสงขาว แตถาคลนแสงถกดดกลนแสงไปบางสวน แสงทตามองเหนจะเปนสผสม (Complementary)

ภาพท 2.4 ความยาวของคลนแสงแตละประเภท

Page 17: 1.1 ความส าคัญของปัญหาdspace.spu.ac.th/bitstream/123456789/4639/4/4._Project...1.1 ความส าค ญของป ญหา เน องด

17

2.2.3 พฒนาการมาตรฐานการสอสารทางแสงทมองเหนได

การใชงานความถยานแสงทมองเหน คอระหวางความยาวคลน 380 – 780 nm หรอความถ 380 – 780 THz ซงยานความถดงกลาว เปนยานความถทมากกวายานความถ 3 THz ซงเปนยานความถสงสดทหนวยงานก ากบดแลการใชงานคลนความถของแตละประเทศมการควบคมการใชงาน โดยทเครอขายการสอสารดวยแสง สามารถแบงตามลกษณะการใชงาน ดงน 1. โครงขายพนฐาน (Infrastructure)

- ถกตดตงในต าแหนงทแนนอน ไมสามารถเคลอนยายไปต าแหนงอน - มพลงงานใชอยางไมจ ากด - ไมถกจ ากดดานขนาดหรอรปทรง - แหลงก าเนดแสงสามารถใหคาความสวางไดมาก สามารถน าไปใชในการ สอสารไดทงระยะใกลและระยะไกล - ความเรวในการสอสารสามารถรองรบไดทงการสอสารความเรวต าและการ สอสารความเรวสง

2. เคลอนทได (Mobile) - อปกรณจะไมถกตดตงอยกบท - มขอจ ากดดานพลงงานและขนาดของอปกรณ - แหลงก าเนดแสงใหความสวางไดจ ากด - สงผลตอระยะทางการสอสารทไมไกล - ความเรวในการสอสารทมความเรวต า

3. ยานพาหนะ (Vehicle) - มขอจ ากดอยระหวางกลาง คอ ต าแหนงของอปกรณจะเคลอนทได แตพลงงาน ยงคงจ ากดอย - ใชในการสอสารระยะไกลทความเรวในการสอสารไมสงนก

4. สเปกตรมในสภาวะการกล าสญญาณ - สามารถจ าแนกความแตกตางระหวางสภาวะปกตทไมมการกล าสญญาณและ สภาวะทมการกล าสญญาณได - ท าใหทราบถงชวงเวลาทชองทางการสอสารไมถกใชงานได (Clear Channel Assessment : CCA)

Page 18: 1.1 ความส าคัญของปัญหาdspace.spu.ac.th/bitstream/123456789/4639/4/4._Project...1.1 ความส าค ญของป ญหา เน องด

18

5. สถาปตยกรรมของมาตรฐาน ประกอบดวย - ชนฟสกคอล (Physical Layer : PHY) ก าหนดมาตรฐานในสวนประกอบของ อปกรณรบ–สงแสง และกลไกการควบคมทางวงจรตางๆ - ชนแมท (Medium Access control Layer : MAC)

ภาพท 2.5 โครงสรางสถาปตยกรรมของมาตรฐาน

ภาพท 2.6 รปแบบชนฟสกคอล

Page 19: 1.1 ความส าคัญของปัญหาdspace.spu.ac.th/bitstream/123456789/4639/4/4._Project...1.1 ความส าค ญของป ญหา เน องด

19

รปแบบ PHY I - เพอใชงานภายนอกอาคาร - ใชกบความเรวของการสอสารทไมสงมากนกในชวงประมาณหลกรอย Kbps

- ใชเทคนคการกล า OOK (On-Off Keying : OOK) และเทคนคการกล า VPPM (Variable Pulse Position Modulation : VPPM)

รปแบบ PHY II - เพอใชงานภายในอาคาร - ใชกบความเรวของการสอสารระดบกลางในชวงประมาณหลกสบ Mbps

- ใชเทคนคการกล า OOK (On-Off Keying : OOK) และเทคนคการกล า VPPM (Variable Pulse Position Modulation : VPPM)

รปแบบ PHY III - เพอใชการประยกตใชกบการสอสารทมจ านวนตวรบและตวสงหลายตว - ใชกบความเรวของการสอสารอยในชวงประมาณหลกสบ Mbps - ใชเทคนคการกล า CSK (Color-Shift Keying : CSK)

2.2.4 มาตรฐานการสอสารดวยแสงทมองเหนได IEEE 802.15.7[4] เปนการสงขอมลโดยการกล าความเขมของแหลงก าเนดแสง เชน แอลอด (LEDs) และ

เลเซอรไดโอด (LDS) ทมความเรวมากกวาการรบรถงการเปลยนแปลงของตามนษย ซงในมาตรฐานนมการก าหนดคณลกษณะส าคญ ดงน

1. โทโพโลยของเครอขายในรปแบบการสงผานขอมลดวยโทโพโลยสตาร เพยรทเพยร หรอการกระจาย 2. การก าหนดแอดเดรสสน 16 บต หรอยาว 64 บต 3. การก าหนดการเขาถงตวกลางในลกษณะการก าหนดเวลาเขาถง หรอการก าหนดให เขาถงแบบสมทมกลไกปองกนการชน 4. โปรโตคอลการตอบกลบเมอไดรบขอมล เพอเสถยรภาพนาเชอถอ 5. การก าหนดดชนชวดคณภาพ (Wavelength Quality Indication : WQI) 6. รองรบการมองเหนไดของแสง 7. รองรบการปรบเปลยนส 8. รองรบความมเสถยรภาพของส

Page 20: 1.1 ความส าคัญของปัญหาdspace.spu.ac.th/bitstream/123456789/4639/4/4._Project...1.1 ความส าค ญของป ญหา เน องด

20

2.2.5 มาตรฐานการสอสารทางแสงแบบไรสาย CP1223 (Visible Light Beacon System for Multimedia Applications)[5]

มาตรฐานนก าหนดความหมายของการสอสารทศทางเดยวโดยผานตวกลางแสงทมองเหน ดวยการสงรหสระบตวตนขอมลส าหรบอปกรณมลตมเดยดวยแสงทสามารถมองเหนได

ภาพท 2.7 แสงทสามารถมองเหนไดส าหรบอปกรณมลตมเดย

โปรโตคอล คอ โครงสรางของอนเตอรเฟซดานบนจดเชอมตอ (a) ทก าหนดโดยมาตรฐานน โปรโตคอลทประกอบดวยโครงสรางของสองระนาบ ในการสงมอบระนาบขอมล และระนาบรหสระบตวตน ในจ านวนการสงออกนนชนฟสกคอล (L1: PHYSICAL) และชนเฟรมของ ชนทสอง (L2: FRAME) คอชนทใชรวมกนระนาบขอมลและระนาบรหสระบตวตน สวนชนทสามและชนทอยเหนอขนไปมการแบงออกเปนระนาบขอมลและระนาบรหสระบตวตน ใหขอมลของแสงทสามารถมองเหนไดจะไดรบการจดต าแหนงในของบคคลทสามชน ( L3 : ID ) และการสงขอมลโดยตรงจากรหสระบตวตนทไดรบการสรางขนมาจากขอมลทชน (L3: DATA) เปนไปไดทจะใชชนขอมลและชนรหสระบตวตนพรอมกนในครงเดยวในชนทสองได

Page 21: 1.1 ความส าคัญของปัญหาdspace.spu.ac.th/bitstream/123456789/4639/4/4._Project...1.1 ความส าค ญของป ญหา เน องด

21

ภาพท 2.8 โครงสรางของขอมลในโปรโตคอลอนเตอรเฟซ เปนระบบการสงขอมลส าหรบการกล าสญญาณของแสงทมองเหนไดดวยวธ 4 PPM จะตองถกน ามาใชเปนวธการเขารหสสญญาณดงกลาว ซงมวธตางๆ เชน I-4PPM ( กลบดานจาก 4 PPM ) เพอทจะเฉลยคาความเขมแสง ใหอยในระดบทไมมผลกระทบตอสายตามนษย

ภาพท 2.9 การกล าสญญาณ I-4 PPM

Page 22: 1.1 ความส าคัญของปัญหาdspace.spu.ac.th/bitstream/123456789/4639/4/4._Project...1.1 ความส าค ญของป ญหา เน องด

22

2.3 PLC (Programmable Logic Controller) และไมโครคอนโทรลเลอร (Microcontroller)[6]

PLC เปนอปกรณควบคมอเลกทรอนกส ทมหนวย ความจ าในการเกบโปรแกรม ส าหรบควบคมการท างานของอปกรณตางๆ หรอเครองควบคมเชงตรรกะทสามารถโปรแกรมได เปนเครองควบคมอตโนมตทสามารถโปรแกรมได PLC นนถกสราง และพฒนาขนมาเพอแทนทวงจรรเลย อนเนองมาจากความตองการทอยากไดเครองควบคมทมราคาถก และสามารถใชงานไดอยางอเนกประสงค รวมทงสามารถเรยนรการใชงานไดงาย

2.3.1 โครงสรางทวไปของ PLC ลกษณะโครงสรางทวไป เหมอนกบอปกรณไมโครคอนโทรลเลอร (Microcontroller) คอ

อปกรณควบคมขนาดเลก ซงบรรจความสามารถทคลายคลงกบระบบคอมพวเตอร โดยใน PLC ไดรวมเอาซพย หนวยความจ า พอรตอนพต-เอาตพต และหนวยจายพลงงานไฟฟา ซงเปนสวนประกอบหลกส าคญของระบบคอมพวเตอรเขาไวดวยกน โดยท าการบรรจเขาไวในตวถงเดยวกน หรอแยกเปนชดประกอบกนได

ภาพท 2.10 ลกษณะโครงสรางทวไปของ PLC

Page 23: 1.1 ความส าคัญของปัญหาdspace.spu.ac.th/bitstream/123456789/4639/4/4._Project...1.1 ความส าค ญของป ญหา เน องด

23

โครงสรางโดยทวไป ของ PLC นน สามารถแบงออกมาไดเปน 4 สวนใหญๆ ดงตอไปน 1. หนวยประมวลผลกลางหรอซพย (CPU : Central Processing Unit) ท าหนาท

ประมวลผลและควบคม ซงเปรยบเสมอนสมองของ PLC ภายในประกอบดวยวงจรลอจกหลายชนดและมไมโครโปรเซสเซอรเบส (Micro Processor Based) เพอใหผใชสามารถออกแบบวงจรได CPU จะยอมรบขอมลจากอปกรณอนพทตางๆ จากนนจะท าการประมวลผลและเกบขอมลโดยใชโปรแกรมจากหนวยความจ า หลงจากนนจะสงสงขอมลทเหมาะสมและถกตองออกไปยงอปกรณเอาตพต 2. หนวยความจ า (Memory) ท าหนาทเกบรกษาโปรแกรมและขอมลทใชในการท างาน โดยขนาดของหนวยความจ าจะถกแบงออกเปนบตขอมล(Data Bit) ภายในหนวยความจ า 1 บต กจะมคาสภาวะทางลอจก 0 หรอ 1แตกตางกนแลวแตค าสง หนวยความจ าภายในระบบของ PLC จะแบงออกเปน 2 ประเภท คอ

- Volatile Memory จะเปนหนวยความจ าชนดทขอมล จะสญหาย เมอไมมการจายก าลงงานไฟฟาใหกบหนวยความจ า หนวยความจ าแบบนจะงายในการเปลยนแปลง หรอ ลบ ขอมล หนวยความจ าประเภทน ไดแก RAM เปนตน

- Non-Volatile Memory จะเปนหนวยความจ าทสามารถเกบขอมล ไวไดขณะทไมม การจายก าลงงานไฟฟาใหกบหนวยความจ า แตหนวยความจ าแบบน จะยากในการเปลยนแปลง หรอ แกไข ขอมลภายใน หนวยความจ าประเภทน ไดแก ROM, EPROM และ EEPROM เปนตน 3. สวนตดตอกบอปกรณภายนอก ซงมดวยกน 2 ลกษณะคอ พอรตอนพต และพอรตสงสญญาณหรอพอรตเอาตพต สวนนจะใชในการเชอมตอกบอปกรณภายนอก ถอวาเปนสวนทส าคญมาก ใชรวมกนระหวางพอรตอนพต เพอรบสญญาณอาจจะดวยการกดสวตช เพอน าไปประมวลผลและสงไปพอรตเอาตพต เพอแสดงผล

4. หนวยจายพลงงานไฟฟา ( Power supply unit ) ท าหนาท ปรบระดบแรงดนไฟฟาใหมระดบทเหมาะสมทจะจายใหกบ หนวยประมวลผลกลาง , หนวยอนพท ,หนวยเอาตพตนอกจากนยงจายแรงดนไฟฟาใหกบการสอสารขอมลระหวางหนวยประมวลผลกลาง กบอปกรณภายนอก เชน โมดลอนพทและเอาตพตระยะไกล(Input Module / Remote Output) , อปกรณทใชในการเขยนโปรแกรม(Programmer) เปนตน

ซงหนวยจายพลงงานไฟฟา ของ PLC สามารถทจะเลอกไดวา จะใชกบแรงดน AC ( 120-220 VAC ) หรอ DC ( 24-125 VDC ) ขนอยกบความตองการของผใช ดงนน จงจ าเปนจะตองเลอกใชหนวยจายก าลงไฟฟาทเหมาะสมกบการใชงาน

Page 24: 1.1 ความส าคัญของปัญหาdspace.spu.ac.th/bitstream/123456789/4639/4/4._Project...1.1 ความส าค ญของป ญหา เน องด

24

บทท 3 การออกแบบทางโครงงาน

3.1 การออกแบบชดทดลอง PLC ส าหรบตดตอสอสารดวยโปรโตคอลมอดบส

เพอออกแบบชดทดลอง PLC ส าหรบเปนชดการเรยนรและศกษาการสอสารดวยโปรโตคอลมอดบส ทสามารถใชงานรวมกบอปกรณทมใชงานจรงในภาคอตสาหกรรม จงมการเลอกใชงานอปกรณทเหมาสมส าหรบชดทดลองดงตอไปน

3.1.1 เลอกรนของ PLC ทเหมาะสมส าหรบชดทดลอง PLC ยหอ Mitsubishi รน FX3S-30MR/ES เปน PLC ขนาดเลก แตประสทธภาพสง และยงสามารถตอขยายเพมฟงกชนส าหรบการเชอมตอการสอสารดวยโปรโตคอลมอดบส RS-485 ไดอกดวย ซงเหมาะส าหรบชดทดลองนเปนอยางมาก และลกษณะการเขยนโปรแกรมควบคมเหมอนกนกบ PLC ชดทมขนาดใหญ ซงท าใหน าไปประยกตใชงานเกยวกบการควบคมอปกรณไดมากมายอกดวย

ภาพท 3.1 Mitsubishi PLC รน FX3S-30MR/ES

ตารางท 3.1 คณสมบตของ Mitsubishi PLC รน FX3S-30MR/ES ความจโปรแกรมภายใน 4,000 Step EEPROM, 16,000 Step ใชงาน ชนดค าสง Sequence, Step Ladder

แหลงจายไฟ AC : 100 ~ 240V, 50/60 Hz.

กระแสกระชากตอนเปดวงจร AC : Max 28A, ไมเกน 5ms/AC200V

แหลงจายไฟภายใน DC : 24V, 400mA

รายละเอยดอนพต 16 จด, DC : 24V, 7mA

รายละเอยดเอาตพต 14 จด, 2A/1 จด, 8A/4 จดรวม, AC 250V, DC 30V

ชองการสอสาร RS-422 : 1 ch, USB(MINI B) : 1 ch

Page 25: 1.1 ความส าคัญของปัญหาdspace.spu.ac.th/bitstream/123456789/4639/4/4._Project...1.1 ความส าค ญของป ญหา เน องด

25

3.1.2 เลอกอปกรณตอเสรมฟงกชนพอรตสอสารมอดบส RS-485 ใหกบ PLC อปกรณตอเสรมฟงกชนยหอ Mitsubishi รน MFX3S-30MR/ES เปนอปกรณตอเสรมฟงกชนส าหรบ PLC ทเปนตวแปลงพเศษส าหรบการสอสารแบบ RS-485 ทใชโปรโตคอลมอดบส

ภาพท 3.2 อปกรณตอเสรมฟงกชน FX3U-485ADP-MB

คณสมบต - Communication Interface : RS-485 - Transmission Speed : 300,600,1200,2400,4800,9600,19200 bps - Transmission Distance : Up to 500m - Protocol : Modbus RTU or Modbus ASCII - Maximum Slaves : 16 Slaves - Maximum Write Data : 123 words or 1968 coils - Maximum Read Data : 125 words or 2000 coils - Slave Number : 1 to 247

3.1.3 เขยนโปรแกรมก าหนดคาให PLC ท างาน การใชงาน PLC จ าเปนตองเขยนโปรแกรมล าดบการท างานของสวนตางๆใหกบ

Mitsubishi PLC นนใชซอฟแวร GX-Work2 ในการเขยนโปรแกรม ซงสามารถเขยนไดหลากหลายลกษณะตามแตผใชงานตองการ เชน Sequential Function Chart (SFC) language, Ladder Logic, Function Block Diagram (FBD) และ Structured Text เปนตน

Page 26: 1.1 ความส าคัญของปัญหาdspace.spu.ac.th/bitstream/123456789/4639/4/4._Project...1.1 ความส าค ญของป ญหา เน องด

26

ภาพท 3.3 หนาตางซอฟแวร GX-Work2

3.1.3.1 การเขยนโปรแกรมใหกบ PLC ท างานเปนแมขาย จ าเปนตองก าหนดคาพารามเตอรทจ าเปน เพอทจะใหแมขายน นท างานไดอยางถกตอง ซงมขนตอนการเขยนโปรแกรมดงตอไปน

ภาพท 3.4 ตวอยางค าสงก าหนดคาพารามเตอรส าหรบมอดบสแมขาย

Page 27: 1.1 ความส าคัญของปัญหาdspace.spu.ac.th/bitstream/123456789/4639/4/4._Project...1.1 ความส าค ญของป ญหา เน องด

27

1. การก าหนดคาพารามเตอรการสอสารใหกบ Device : D8400 ซงจากรปแบบทใชงานโปโตคอลมอดบสแมขายนน จากรายละเอยดตามตารางก าหนดคา D8400 จงไดคา D8400 = H1081 (Connection type: RS485, Baud rate: 9600 bps, Stop bit: 1 bit, Parity: Not provide, Data length: 8 bit)

ตารางท 3.2 การก าหนดคา Device : D8400

2. การก าหนดคาโปรโตคอลใหกบ Device : D8401 ซงจากรปแบบทใชงานโปโตคอลม

อดบสรวมกบการตดตอสอสารผานแสงทมองเหนได CP1223 นน จากรายละเอยดตามตารางก าหนดคา D8401 จงไดคา D8401 = H1 ( Modbus serial, Modbus Master, RTU Mode)

ตารางท 3.3 การก าหนดคา Device : D8401

3. การก าหนดคาสวนอนนน สามารถใชคาตามตวอยางไดเลย

Page 28: 1.1 ความส าคัญของปัญหาdspace.spu.ac.th/bitstream/123456789/4639/4/4._Project...1.1 ความส าค ญของป ญหา เน องด

28

3.1.3.2 การเขยนโปรแกรมค าสงให PLC แมขายสงงาน ลกขายตามรหสค าสงตางๆ นนจะใชค าสง ADPRW เปนรหสใชงานฟงกชนสอสารดวยโปรโตคอลมอดบสของ Mitsubishi PLC ซงตองก าหนดคาในรหสฟงกชนดงน

ภาพท 3.5 รปแบบฟงกชน ADPRW ของ Mitsubishi PLC

- สวนท 1 เปนการประกาศใชงานฟงกชน ADPRW - สวนท 2 (S) เปนการก าหนดหมายเลขลกขายทตองการตดตอสอสารดวย - สวนท 3 (S2) เปนการก าหนดรหสค าสงของโปรโตคอลมอดบส - สวนท 4 ถง 6 เปนการก าหนดคาพารามเตอรเฉพาะของแตละรหสค าสงของโปรโต คอลมอดบส ซงสามารถดรายละเอยดไดจากตารางตอไปน

ตารางท 3.4 ก าหนดคาพารามเตอรของฟงกชน ADPRW

Page 29: 1.1 ความส าคัญของปัญหาdspace.spu.ac.th/bitstream/123456789/4639/4/4._Project...1.1 ความส าค ญของป ญหา เน องด

29

5. การสงขอมลเพอทจะใหลกขายท างานอยางถกตองนน จ าเปนตองก าหนดต าแหนงของหนวยความจ าใหถกตอง ซง Mitsubishi PLC นนมหมายเลขหนวยความจ าตางๆส าหรบโปรโตคอลมอดบสดงตอไปน ตารางท 3.5 ตารางต าแหนงของหนวยความจ า Mitsubishi PLC

Page 30: 1.1 ความส าคัญของปัญหาdspace.spu.ac.th/bitstream/123456789/4639/4/4._Project...1.1 ความส าค ญของป ญหา เน องด

30

3.1.3.1 การเขยนโปรแกรมใหกบ PLC ท างานเปนลกขาย จ าเปนตองก าหนดคาพารามเตอรทจ าเปน เพอทจะใหแมขายน นท างานไดอยางถกตอง ซงมขนตอนการเขยนโปรแกรมดงตอไปน

ภาพท 3.6 ตวอยางค าสงก าหนดคาพารามเตอรส าหรบมอดบสลกขาย

1. การก าหนดคาพารามเตอรการสอสารใหกบ Device : D8400 ซงจากรปแบบทใชงาน

โปโตคอลมอดบสแมขายนน จากรายละเอยดตามตารางก าหนดคา D8400 จงไดคา D8400 = H1081 (Connection type: RS485, Baud rate: 9600 bps, Stop bit : 1 bit, Parity: Not provide, Data length: 8 bit)

Page 31: 1.1 ความส าคัญของปัญหาdspace.spu.ac.th/bitstream/123456789/4639/4/4._Project...1.1 ความส าค ญของป ญหา เน องด

31

ตารางท 3.6 การก าหนดคา Device : D8400

2. การก าหนดคาโปรโตคอลใหกบ Device : D8401 ซงจากรปแบบทใชงานโปโตคอลม

อดบสรวมกบการตดตอสอสารผานแสงทมองเหนได CP1223 นน จากรายละเอยดตามตารางก าหนดคา D8401 จงไดคา D8401 = H11 ( Modbus serial, Modbus Slave, RTU Mode)

ตารางท 3.7 การก าหนดคา Device : D8401

3. การก าหนดคาหมายเลขลกขายใหกบ PLC ลกขายนน ตองก าหนดคาใหกบ Device :

D8414 ซงหมายเลขท Mitsubishi PLC สามารถก าหนดไดคอ 1 ถง 247 4. การก าหนดคาสวนอนนน สามารถใชคาตามตวอยางไดเลย

Page 32: 1.1 ความส าคัญของปัญหาdspace.spu.ac.th/bitstream/123456789/4639/4/4._Project...1.1 ความส าค ญของป ญหา เน องด

32

3.1.4 การออกแบบโครงสรางชดทดลอง PLC ส าหรบสอสารดวยโปรโตคอลมอดบส เพอใหชดทดลอง PLC ส าหรบสอสารดวยโปรโตคอลมอดบสนน สามารถน าไปใชงาน

รวมกบหองปฏบตการของมหาวทยาลยศรปทมได ผจดท าจงไดออกแบบใหอปกรณ PLC อยภายในกลองอเนกประสงคทท ามาจากอะครลค ทมขนาดทสามารถตดตงในโครงขาตงของหองปฏบตการของมหาวทยาลยศรปทมได

ภาพท 3.7 โครงสรางกลองอเนกประสงคส าหรบชดทดลอง PLC

Page 33: 1.1 ความส าคัญของปัญหาdspace.spu.ac.th/bitstream/123456789/4639/4/4._Project...1.1 ความส าค ญของป ญหา เน องด

33

3.2 การออกแบบชดทดลองไมโครคอนโทรลเลอรอเนกประสงค Arduino ส าหรบตดตอสอสารดวยโปรโตคอลมอดบส

เพอออกแบบชดทดลองไมโครคอนโทรลเลอรอเนกประสงค Arduino ส าหรบเปนชดการเรยนรและศกษาการสอสารดวยโปรโตคอลมอดบส ทสามารถน ามาประยกตใชงานไดอยางหลากหลาย จงท าใหตองมการเลอกใชงานอปกรณทเหมาสมส าหรบชดทดลองดงตอไปน

3.2.1 เลอกรนของบอรดไมโครคอนโทรลเลอรอเนกประสงค Arduino ทเหมาะสม

ส าหรบชดทดลอง บอรด Arduino UNO R3 เปนบอรดไมโครคอนโทรลเลอรทใช AVR ขนาดเลกเปนตวประมวลผลและสงงานเหมาะส าหรบน าไปใชในการศกษาเรยนรระบบไมโครคอนโทรลเลอร และน าไปประยกตใชงานเกยวกบการควบคมอปกรณ อนพต / เอาตพต ตางๆ ไดมากมาย และยงมพอรตสอสารทสามารถน ามาตออปกรณเสรมเพอทจะใชงานกบโปโตคอลมอดบส RS-485 ไดอกดวย

ภาพท 3.8 บอรด Arduino UNO R3

ตารางท 3.8 คณสมบต Arduino UNO R3 Microcontroller ATmega328 Operating Voltage 5V Input Voltage (recommended) 7-12V Input Voltage (limits) 6-20V Digital I/O Pins 14 (of which 6 provide PWM output) Analog Input Pins 6 DC Current per I/O Pin 40 mA Flash Memory 32 KB (ATmega328) of which 0.5 KB used by bootloader SRAM 2 KB (ATmega328) EEPROM 1 KB (ATmega328) Clock Speed 16 MHz

Page 34: 1.1 ความส าคัญของปัญหาdspace.spu.ac.th/bitstream/123456789/4639/4/4._Project...1.1 ความส าค ญของป ญหา เน องด

34

ภาพท 3.9 โครงสรางของบอรด Arduino UNO R3

3.2.2 เลอกอปกรณตอเสรมส าหรบสอสารมอดบส RS-485 ใหกบ Arduino UNO R3 บอรดแปลงสญญาณ 3B-RS485 ทท าหนาทแปลงสญญาณ RS-485 เปน UART เนองดวย

Arduino UNO R3 ใชงานวงจรสอสารแบบ UART (Universal Asynchronous Receiver Transmitter) ท าใหจ าเปนตองมการแปลงสญญาณ RS-485 เปน UART แบบรบและสงขอมลคนละชวงเวลา (Half-Duplex) ทใชการเปรยบเทยบระดบแรงดนของสญญาณรบและสงระหวางสายสง 2 เสน และใชตดตอสอสารดวยโปรโตคอลมอดบส

ภาพท 3.10 บอรดแปลงสญญาณ 3B-RS485

Page 35: 1.1 ความส าคัญของปัญหาdspace.spu.ac.th/bitstream/123456789/4639/4/4._Project...1.1 ความส าค ญของป ญหา เน องด

35

คณสมบต - แปลงสญญาณ RS-485/UART - ชพ Driver MAX13487 (Auto Direction) - สามารถสงสญญาณไดระยะไกลสงสด 1.2 km. - อตราการสอสารสงสด 500kbps - อตรากระแสรบ-สงสญญาณ 250µA - แรงดนไฟเลยงท 5 VDC

ภาพท 3.11 โครงสรางของ IC MAX13487

3.2.3 เขยนโปรแกรมชดค าสงให Arduino

การเขยนโปรแกรมชดค าสงใหบอรด Arduino จ าเปนตองใชซอฟแวร Arduino IDE (Integrated Development Environment) ในการเขยนโปรแกรมใหบอรด Arduino ซงใชงานไดทงบนระบบปฏบตการ Window ทกระบบปฏบตการ และมขนตอนการเขยนโปรแกรมดงตอไปน 1. เลอกชนดของบอรด Arduino ทน ามาใชงาน ซงมดวยกนหลายชนด ผใชงานจ าเปนตองทราบรนของบอรดทน ามาใชงานดวย โดยในโครงงานชนนใชรน Arduino Uno

ภาพท 3.12 เลอกบอรด Arduino ทใชงาน

Page 36: 1.1 ความส าคัญของปัญหาdspace.spu.ac.th/bitstream/123456789/4639/4/4._Project...1.1 ความส าค ญของป ญหา เน องด

36

2. เลอกพอรตทใชสอสารระหวางคอมพวเตอรกบบอรด Arduino ซงมความจ าเปนอยางมาก เพราะคอมพวเตอรนนจ าเปนตองก าหนดพอรตใชงานเพอใหสามารถสอสารไดอยางถกตอง

ภาพท 3.13 เลอกพอรตทใชงาน

3. ท าการเขยนโปรแกรมให Arduino สอสารดวยโปรโตคอลมอดบสส าหรบแมขาย โดยการประกาศตวแปลแบบ Array ทมล าดบตามเฟรมของรหสค าสงนนๆทตองการ เชน ชดรหสค าสง 02 เปนตน

ภาพท 3.14 เขยนโปรแกรมโปรโตคอลมอดบสแมขาย

4. ท าการเขยนโปรแกรมให Arduino สอสารดวยโปรโตคอลมอดบสส าหรบลกขาย โดยการประกาศตวแปลแบบ Array ส าหรบจดเกบขอมลทรบเขามา จากนนท าการเขยนโปรแกรมตรวจสอบความถกตองของชดขอมล และใหอปกรณลกขายนท างานตามค าสง เชน ชดรหสค าสง 05 ใหบตเอาตพตมสถานะเปน ON เปนตน

ภาพท 3.15 เขยนโปรแกรมโปรโตคอลมอดบสลกขาย

Page 37: 1.1 ความส าคัญของปัญหาdspace.spu.ac.th/bitstream/123456789/4639/4/4._Project...1.1 ความส าค ญของป ญหา เน องด

37

3.3 การออกแบบโปรแกรมใชงานโปรโตคอลมอดบสกบการตดตอสอสารผานแสงทมองเหนได ดวยชดการเรยนร VLC-CP1223 Development board v1.0

เพอออกแบบชดทดลองการใชงานโปรโตคอลมอดบสกบการตดตอสอสารผานแสงทมองเหนได ดวยชดการเรยนร VLC-CP1223 Development board v1. นน ตองมการเขยนโปรแกรมประยกตใชงานดงตอไปน

3.3.1 ชดทดลอง VLC-CP1223 Development board v1.0 ชดทดลอง VLC-CP1223 Development board v1.0 ประมวลผลขอมลใหม ท าใหสามารถ

รบขอมลโปรโตคอลมอดบส และน ามาแปลงเปนชดเปนชดทดลองทพฒนาระบบการสอสารดวยแสงสวางตามมาตรฐาน CP1223 เมอน ามาท าการเขยนโปรแกรมขอมล CP1223 และ I-4PPM เพอการสอสารดวยแสงสวางทมองเหนได

ภาพท 3.16 ชดทดลอง VLC-CP1223 Development board v1.0

คณสมบต

- เปนชดอปกรณทสามารถเขยนโปรแกรมควบคมการท างานของ ไมโครคอนโทรลเลอรได Arduino Pro Micro (mini Leonardo) - มความถนาฬกา 16 MHz - มอปกรณสงขอมลสองสวางดวยหลอด LED High Brightness 1W แสงสขาวทม คาความเขมการสองสวาง 100 lm - มอปกรณรบขอมล Photodiode SFH213 ทมพนทรบสญญาณ 1 2mm และการ ตอบสนอง 0.65 A/W และชวงของความยาวคลนท 400 nm ถง 1100 nm

Page 38: 1.1 ความส าคัญของปัญหาdspace.spu.ac.th/bitstream/123456789/4639/4/4._Project...1.1 ความส าค ญของป ญหา เน องด

38

ภาพท 3.17 โครงสรางวงจรของชดทดลอง VLC-CP1223 Development board v1.0

3.3.2 เขยนโปรแกรมชดค าสงให VLC-CP1223 Development board v1.0 สอสารดวย โปรโตคอลมอดบสบนการตดตอสอสารผานแสงทมองเหนได CP1223 การเขยนโปรแกรมให VLC-CP1223 Development board v1.0 สอสารดวยโปรโตคอล

มอดบสบนการตดตอสอสารผานแสงทมองเหนได CP1223 นน จ าเปนตองดาวนโหลด Library ทชอวา SARGMET_VLC_CP1223 เขามาในซอฟแวร Arduino IDE เพอใชในการเขยนโปรแกรมใหบอรด Arduino ท างานได และสามารถน าตวอยางโปรแกรมมาประยกตใชงานได โดยมขนตอนการเขยนโปรแกรมดงตอไปน

1. ท าการเปดโปรแกรม Arduino IDE ขนมา 2. ท าการเลอกเมน Sketch > Include Library > Add .ZIP Library…. 3. เลอกไฟยทเกบ Library : SARGMET_VLC_CP1223 ไว แลวท าการกด Open 4. เลอกตวอยางจากเมน File > Examples > VLC-CP1223_QuickStarterCode

Page 39: 1.1 ความส าคัญของปัญหาdspace.spu.ac.th/bitstream/123456789/4639/4/4._Project...1.1 ความส าค ญของป ญหา เน องด

39

ภาพท 3.18 ขนตอนการดาวนโหลด Library เขามาในซอฟแวร Arduino IDE

ภาพท 3.19 ขนตอนการดาวนโหลด Library เขามาในซอฟแวร Arduino IDE

3.3.3 เขยนโปรแกรมรบคาชดขอมลโปรโตคอลมอดบส และสงขอมลดวย VLC CP1223 เขยนโปรแกรมรบคาชดขอมลโปรโตคอลมอดบส และสงขอมลดวย VLC CP1223 จะใช

วธน าตวอยางโปรแกรม EX1_Transmitter มาประยกตใชงาน ซงมการเขยนโปรแกรมดงน 1. ประกาศตวแปลส าหรบเกบขอมลโปรโตคอลมอดบสทรบเขามาชนด unsigned char แบบ array ขนาด 17 ขอมล เชน unsigned char msg[17]={}; เปนตน 2. เขยนค าสงตรวจสอบการรบขอมลผาน serial port เชน if (Serial1.available()) เปนตน 3. เขยนเงอนไขส าหรบเกบขอมลไปยงตวแปลทไดประกาศไว เชน

4. เขยนเงอนไขส าหรบสงชดขอมลทเกบไวดวย VLC CP1223 เชน

for(j=0;j<16;j++)

{

msg[j] = (unsigned char)Serial1.read();

}

setupDATA('0',msg);

for(int i=0; i<20;i++)

{

transmitALL();

}

Page 40: 1.1 ความส าคัญของปัญหาdspace.spu.ac.th/bitstream/123456789/4639/4/4._Project...1.1 ความส าค ญของป ญหา เน องด

40

3.3.4 เขยนโปรแกรมรบขอมลดวย VLC CP1223 และสงคาชดขอมลโปรโตคอลมอดบส เขยนโปรแกรมรบขอมลดวย VLC CP1223 และสงคาชดขอมลโปรโตคอลมอดบส จะใช

วธน าตวอยางโปรแกรม EX2_Receiver_Serial มาประยกตใชงาน ซงมการเขยนโปรแกรมดงน 1. ประกาศตวแปลส าหรบเกบขอมล VLC ทรบเขามาชนด unsigned char แบบ array ขนาด 17 ขอมล เชน unsigned char VLCin[17]={}; เปนตน 2. เขยนค าสงตรวจสอบการรบขอมล VLC เชน if(VLCread()==1)เปนตน 3. เขยนเงอนไขส าหรบเกบขอมลไปยงตวแปลทไดประกาศไว เชน

4. เขยนเงอนไขส าหรบสงขอมลผาน serial port เชน

for(int x=1;x<9;x++)

{

VLCin = PAYLOAD_IN[x];

}

for(int x=1;x<9;x++)

{

Serial1.write(VLCin[x]);

}

Page 41: 1.1 ความส าคัญของปัญหาdspace.spu.ac.th/bitstream/123456789/4639/4/4._Project...1.1 ความส าค ญของป ญหา เน องด

41

บทท 4 การทดลองและผลการทดลอง

4.1 การทดลองชดทดลอง PLC ส าหรบตดตอสอสารดวยโปรโตคอลมอดบส

4.1.1 วตถประสงค

เพอทดสอบการตดตอสอสารโปรโตคอลมอดบสกบชดทดลอง PLC ทไดท าการเขยนโปรแกรมจดการขอมลโปรโตคอลมอดบส

4.1.2 ขนตอนการทดลอง

1. ก าหนดชดรหสค าสงโปรโตคอลมอดบสทตองการทดสอบ - 01 อานคาบต (Read Coils) - 02 อานคาอนพต (Read Discrete Inputs) - 04 อานคาขอมล (Read Input Register) - 05 สงบตท างาน (Write Single Coil) - 15 สงบตท างานแบบชด (Write Multiple Coils)

2. เขยนโปรแกรมให PLC รบ-สงขอมลมอดบสตามรหสค าสงทไดก าหนดไว 3. ท าการตดตงชดทดลอง PLC เขากบโครงขาตงส าหรบทดลองในหองปฏบตการ

ภาพท 4.1 การตดตงชดทดลอง PLC เขากบโครงขาตงส าหรบทดลองในหองปฏบตการ

Page 42: 1.1 ความส าคัญของปัญหาdspace.spu.ac.th/bitstream/123456789/4639/4/4._Project...1.1 ความส าค ญของป ญหา เน องด

42

4. ท าการตอสายเชอมโยงโครงขายโปรโตคอลมอดบสเขากบชดทดลอง PLC

ภาพท 4.2 การตอสายเชอมโยงโครงขายโปรโตคอลมอดบสกบ PLC

ภาพท 4.3 การตอสายเชอมโยงโครงขายโปรโตคอลมอดบสกบ FX3U-485ADP-MB

5. ท าการทดสอบการตดตอสอสาร และบนทกผลการทดสอบ

Page 43: 1.1 ความส าคัญของปัญหาdspace.spu.ac.th/bitstream/123456789/4639/4/4._Project...1.1 ความส าค ญของป ญหา เน องด

43

ตารางท 4.1 ผลการทดลองสอสารโปรโตคอลมอดบส กบชดทดลอง PLC

อนดบ รหสค าสง ต าแหนงทตดตอ ผลการท างาน

ได ไมได

1 01 M100

2 01 M101

3 01 M102

4 02 X00

5 02 X01

6 02 X02

7 05 Y00

8 05 Y01

9 05 Y02

10 15 Y00 ~ Y02

11 15 Y03 ~ Y04

4.1.3 วจารณผลการทดลอง จากการทดลอง ท าใหสามารถเขาใจถงการเขยนโปรแกรมใชงาน Mitsubishi PLC

ส าหรบการก าหนดคาพารามเตอร และการใชงานฟงกชน ADPRW ใหสามารถสอสารดวยโปรโตคอลมอดบสระหวางแมขาย และลกขาย พรอมทงการตอสายสญญาณสอสารเชอมโยงโครงขายดวย RS-485 ได ซงจากผลการทดลองแสดงใหเหนวา ชดทดลอง PLC สามารถใชงานโปรโตคอลมอดบสรหสค าสง 01, 02, 05 และ 15 ได

Page 44: 1.1 ความส าคัญของปัญหาdspace.spu.ac.th/bitstream/123456789/4639/4/4._Project...1.1 ความส าค ญของป ญหา เน องด

44

4.2 การทดลองชดทดลองไมโครคอนโทรลเลอรอเนกประสงค Arduino ส าหรบตดตอสอสารดวยโปรโตคอลมอดบส

4.2.1 วตถประสงค

เพอทดสอบการตดตอสอสารดวยโปรโตคอลมอดบสกบบอรด Arduino ทไดท าการเขยนโปรแกรมจดการขอมลโปรโตคอลมอดบส

4.2.2 ขนตอนการทดลอง

1. ก าหนดชดรหสค าสงโปรโตคอลมอดบสทตองการทดสอบ - 01 อานคาบต (Read Coils) - 02 อานคาอนพต (Read Discrete Inputs) - 04 อานคาขอมล (Read Input Register) - 05 สงบตท างาน (Write Single Coil) - 15 สงบตท างานแบบชด (Write Multiple Coils)

2. ท าการเขยนโปรแกรมใหบอรด Arduino แมขายท างานตามรหสค าสงทก าหนด 3. ท าการตดตงชดทดสอบ Arduino รวมกบอปกรณแปลงสญญาณ 3B-RS485

ภาพท 4.4 การตดตงชดทดสอบ Arduino รวมกบอปกรณแปลงสญญาณ 3B-RS485

Page 45: 1.1 ความส าคัญของปัญหาdspace.spu.ac.th/bitstream/123456789/4639/4/4._Project...1.1 ความส าค ญของป ญหา เน องด

45

4. ท าการทดสอบการตดตอสอสาร 5. ท าการบนทกผลการทดสอบ 6. ท าการสรปผลการทดสอบ ตารางท 4.2 ผลการทดลองสอสารโปรโตคอลมอดบส กบบอรด Arduino

อนดบ รหสค าสง ต าแหนงขาททดสอบ

ผลการท างาน

ได ไมได

1 01 4

2 01 5

3 01 6

4 02 4

5 02 5

6 02 6

7 04 A0

8 04 A1

9 04 A2

10 05 8

11 05 9

12 05 10

13 15 8 ~ 10

14 15 11 ~12

4.2.3 วจารณผลการทดลอง จากการทดลอง ท าใหสามารถเขาใจถงการเขยนโปรแกรมค าสงใหกบบอรด Arduino สามารถสอสารดวยโปรโตคอลมอดบส และสามารถใชรวมกบอปกรณแปลงสญญาณ RS-485/UART ดวยบอรดแปลงสญญาณ 3B-RS485 ได ซงจากผลการทดลองแสดงใหเหนวาชดทดลอง บอรด Arduino สามารถใชงานโปรโตคอลมอดบสค าสง 01, 02, 04, 05 และ 15 ได

Page 46: 1.1 ความส าคัญของปัญหาdspace.spu.ac.th/bitstream/123456789/4639/4/4._Project...1.1 ความส าค ญของป ญหา เน องด

46

4.3 การทดลองชดทดลอง PLC ตดตอสอสารดวยโปรโตคอลมอดบส ผานแสง ทมองเหนไดดวยชดการเรยนร VLC-CP1223 Development board v1.0

4.3.1 วตถประสงค

เพอทดสอบชดทดลอง PLC ทตดตอสอสารดวยโปรโตคอลมอดบส ผานแสงทมองเหนไดดวยชดการเรยนร VLC-CP1223 Development board v1.0 ทไดท าการเขยนโปรแกรมจดการขอมลการตดตอสอสาร

4.3.2 ขนตอนการทดลอง

1. ก าหนดชดรหสค าสงโปรโตคอลมอดบสทตองการทดสอบ - 05 สงบตท างาน (Write Single Coil) - 15 สงบตท างานแบบชด (Write Multiple Coils)

2. เขยนโปรแกรมให PLC รบ-สงขอมลมอดบสตามรหสค าสงทไดก าหนดไว 3. ท าการตดตงชดทดลอง PLC เขากบชดการเรยนร VLC-CP1223 Development board

v1.0 ผานพอรต RS-485

ภาพท 4.5 การตดตงชดทดลอง PLC เขากบชดการเรยนร VLC-CP1223 Development board v1.0

Page 47: 1.1 ความส าคัญของปัญหาdspace.spu.ac.th/bitstream/123456789/4639/4/4._Project...1.1 ความส าค ญของป ญหา เน องด

47

4. ท าการทดสอบการตดตอสอสาร 5. ท าการบนทกผลการทดสอบ 6. ท าการสรปผลการทดสอบ

ตารางท 4.3 ผลการทดลองสอสารโปรโตคอลมอดบสบน VLC-CP1223

อนดบ รหสค าสง ต าแหนงทตดตอ ผลการท างาน

ได ไมได

1 05 Y00

2 05 Y01

3 05 Y02

4 15 Y00 ~ Y02

5 15 Y03 ~ Y04

4.3.3 วจารณผลการทดลอง จากการทดลอง ท าใหสามารถเขาใจถงการเขยนโปรแกรมค าสงใหกบชดการเรยนร VLC-CP1223 Development board v1.0 สามารถสอสารดวยโปรโตคอลมอดบส รวมกบการสอสารผานแสงทมองเหนได CP1223 และสามารถใชรวมกบอปกรณแปลงสญญาณ RS-485/UART ดวยบอรดแปลงสญญาณ 3B-RS485 ได ซงจากผลการทดลองแสดงใหเหนวาชดทดลองสามารถใชงานโปรโตคอลมอดบสค าสง 05 และ 15 ได ซงชวยเพมประสทธภาพในการสอสารใหกบโปรโตคอลมอดบส ใหสามารถมระยะในการสงขอมลไกลขน มโครงขายเพมขน เนองจากการสอสารผานแสงทมองเหนได CP1223 นน มลกษณะเปนบอรดคราส ทไมตองการตอบรบขอมลตอบกลบจากลกขาย ท าใหสามารถมจ านวนลกขายไดมากขน และมขอเสยคอการสอสารผานแสงทมองเหนได CP1223 นน มการก าหนดความเรวในการสอนอยกวาโปรโตคอลมอดบส ท าใหเกดขอจ ากดมากขน

Page 48: 1.1 ความส าคัญของปัญหาdspace.spu.ac.th/bitstream/123456789/4639/4/4._Project...1.1 ความส าค ญของป ญหา เน องด

48

4.4 การทดลองประสทธภาพการรบ-สงของมลผานแสงทมองเหนไดดวยชด ทดลอง VLC-CP1223 Development board v1.0 ดวยการวดระยะรบขอมล

4.4.1 วตถประสงค

เพอศกษาการท างาน และประสทธภาพการรบ-สงขอมลผานแสงทมองเหนได ของชดทดลอง VLC-CP1223 Development board v1.0 ในลกษณะตางๆ เพอประกอบการตดสนใจเลอกใชงานอปกรณรบ-สงขอมลผานแสงทมองเหนไดในโครงงานชนน

4.4.2 ขนตอนการทดลอง

1. จดเตรยมอปกรณทจะใชในการทดลอง - ชดทดลอง VLC-CP1223 Development board v1.0 - ลกซมเตอร - คอมพวเตอร - ตลบเมตร

2. ท าการเขยนโปรแกรมส าหรบสงขอมลเพอทดสอบ โดยเขยนโปรแกรมก าหนดจ านวนครงในการสงขอมล ใหมจ านวนครงท 10, 20, 30, 40, 50 และ 60 ครง

ภาพท 4.6 การเขยนโปรแกรมสงขอมล VLC

3. ท าการตดตงอปกรณตวสงขอมลทระยะสงกวา 3.5 เมตร และท าการตดตงอปกรณตวรบพรอมกบลกซมเตอร ทระยะในแนวตรงท 25, 50, 75, 100, 150, 200, 250, 300 และ 350 ซม. ตามล าดบ

Page 49: 1.1 ความส าคัญของปัญหาdspace.spu.ac.th/bitstream/123456789/4639/4/4._Project...1.1 ความส าค ญของป ญหา เน องด

49

ภาพท 4.7 การตดตงอปกรณตวสง-ตวขอมลททดสอบแนวตรง

4. ปดสวตซแสงไฟภายนอก จากนนอานคาความเขมแสงทบรเวณตวรบ และจ านวนครงทรบคาได และบนทกผลลงตาราง

5. เปดสวตซแสงไฟภายนอก และอานคาจ านวนครงทรบคาได และบนทกผลลงตาราง

ภาพท 4.8 การทดลองสงสญญาณขอมลในระยะแนวตรง

Page 50: 1.1 ความส าคัญของปัญหาdspace.spu.ac.th/bitstream/123456789/4639/4/4._Project...1.1 ความส าค ญของป ญหา เน องด

50

ตารางท 4.4 ผลการทดลองสงสญญาณขอมลในระยะแนวตรง

ระยะความสง (ซม.) ในทมแสงสวาง 300-400 ลกซ ในทมแสงสวางนอยกวา 10 ลกซ

จ านวนครงทสง/จ านวนครงทรบได จ านวนครงทสง/จ านวนครงทรบได 10 20 30 40 50 60 10 20 30 40 50 60

25 3 7 11 14 20 23 5 9 13 17 21 24 50 3 8 11 15 19 24 4 9 13 18 19 23 75 3 7 12 14 19 25 5 8 15 17 19 25

100 3 8 11 14 18 24 5 9 11 17 21 27 150 3 8 12 16 19 26 5 8 12 19 18 25 200 3 7 10 15 18 24 5 8 13 19 20 27 250 4 8 11 16 18 23 5 8 11 18 19 22 300 4 8 12 16 19 21 4 9 13 16 21 24 350 4 8 10 15 18 22 5 8 9 14 18 21

อตราการรบขอมล (%) 33.3 38.3 37.0 37.5 37.3 39.3 47.8 42.2 40.7 43.1 39.1 40.4

ภาพท 4.9 ผลการทดลองจ านวนครงทรบไดในทมแสงสวาง 300-400 ลกซ

ภาพท 4.10 ผลการทดลองจ านวนครงทรบไดในทมแสงสวางนอยกวา 10 ลกซ

0

10

20

30

25 75 125 175 225 275 325

จ านวนครงทรบได

ระยะความสง (ซม.)

จ านวนคร งทรบไดในทมแสงสวาง 300-400 ลกซ

10

20

30

40

50

60

0

10

20

30

25 75 125 175 225 275 325

จ านวนครงทรบได

ระยะความสง (ซม.)

จ านวนคร งทรบไดในทมแสงสวางนอยกวา 10 ลกซ

10

20

30

40

50

60

Page 51: 1.1 ความส าคัญของปัญหาdspace.spu.ac.th/bitstream/123456789/4639/4/4._Project...1.1 ความส าค ญของป ญหา เน องด

51

6. ท าการตดตงอปกรณตวรบพรอมกบลกซมเตอรทระยะในแนวรศมท 25, 50, และ 75 ซม. ตามล าดบ

ภาพท 4.11 การทดลองสงสญญาณขอมลในระยะแนวรศม

7. ปดสวตซแสงไฟภายนอก จากนนอานคาความเขมแสงทบรเวณตวรบ และจ านวนครงทรบคาได และบนทกผลลงตาราง

8. เปดสวตซแสงไฟภายนอก และอานคาจ านวนครงทรบคาได และบนทกผลลงตาราง

ภาพท 4.12 การทดลองสงสญญาณขอมลในระยะแนวรศม

Page 52: 1.1 ความส าคัญของปัญหาdspace.spu.ac.th/bitstream/123456789/4639/4/4._Project...1.1 ความส าค ญของป ญหา เน องด

52

ตารางท 4.5 ผลการทดลองสงสญญาณขอมลในระยะแนวรศม

ระยะความสง (ซม.)

จ านวนครงทรบได ทมแสงสวาง 300-400 ลกซ

จ านวนครงทรบได ทมแสงสวางนอยกวา 10 ลกซ

สง 30 ครง ทระยะรศม (ซม.) สง 30 ครง ทระยะรศม (ซม.) 25 50 75 25 50 75

25 9 0 0 12 0 0 50 13 0 0 11 0 0 75 11 9 0 13 10 0 100 10 8 0 11 12 0 150 11 10 0 12 11 0 200 9 9 8 11 12 9 250 10 8 9 10 10 8 300 8 9 8 8 8 10 350 9 10 9 10 8 9

อตราการรบขอมล (%) 33.3 23.3 12.6 36.3 26.3 13.3

ภาพท 4.13 ผลการทดลองจ านวนครงทรบไดในทมแสงสวาง 300-400 ลกซ

ภาพท 4.14 ผลการทดลองจ านวนครงทรบไดในทมแสงสวางนอยกวา 10 ลกซ

0

5

10

15

25 75 125 175 225 275 325

จ านวนครงทรบได

ทระยะรศม (ซม.)

จ านวนคร งทรบได ทมแสงสวาง 300-400 ลกซ

25

50

75

0

5

10

15

25 75 125 175 225 275 325

จ านวนครงทรบได

ทระยะรศม (ซม.)

จ านวนคร งทรบไดทมแสงสวางนอยกวา 10 ลกซ

25

50

75

Page 53: 1.1 ความส าคัญของปัญหาdspace.spu.ac.th/bitstream/123456789/4639/4/4._Project...1.1 ความส าค ญของป ญหา เน องด

53

4.4.3 วจารณผลการทดลอง

จากการทดลองแสดงใหเหนวาชดทดลอง VLC-CP1223 Development board v1.0 นนไดมการแกไขปญหาผลกระทบจากแสงรบกวนภายนอกในระดบทสามารถใชงานในสภาวะการท างานปกตในพนทปด ทมแสงจากแหลงก าเนดแสงจากหลอดไฟ

4.5 การทดสอบผลกระทบจากแสงภายนอก กบชดทดลอง VLC-CP1223 Development board v1.0

4.5.1 วตถประสงค

เพอศกษาผลกระทบทเกดขนจากแสงภายนอก ทมผลกบการสอสารผานแสงทมองเหนได รวมทงประสทธภาพของอปกรณตวรบขอมลผานแสงทมองเหนไดนอกดวย และยงเปนการทราบถงขอจ ากดในการน าชดทดลอง VLC-CP1223 Development board v1.0ไปตดตงใชงานจรงไดอกดวย

4.5.2 ขนตอนการทดลอง

1. จดเตรยมอปกรณทจะใชในการทดลอง - ชดทดลอง VLC-CP1223 Development board v1.0 - ลกซมเตอร - คอมพวเตอร - ตลบเมตร - โคมไฟ

2. ท าการเขยนโปรแกรมส าหรบสงขอมลเพอทดสอบ โดยเขยนโปรแกรมก าหนดจ านวนครงในการสงขอมล ใหมจ านวนครงท 30 ครง

ภาพท 4.15 การเขยนโปรแกรมสงขอมล VLC

Page 54: 1.1 ความส าคัญของปัญหาdspace.spu.ac.th/bitstream/123456789/4639/4/4._Project...1.1 ความส าค ญของป ญหา เน องด

54

3. ท าการตดตงอปกรณตวรบขอมลพรอมกบลกซมเตอร และตดตงตวสงทระยะในแนวตรงท 30, 40, 50, 60, 70, 80, 90 และ 100 ซม. ตามล าดบ

ภาพท 4.16 การตดตงอปกรณตวรบขอมลรวมกบลกซมเตอร และโคมไฟ

4. ตดตงแสงไฟภายนอก ใหมคาความเขมแสงทบรเวณตวรบอยท 100, 200, 300, 400, 600, 800, 1000, 1500 และ 2000 ลกซ

5. เปดตวสง VCL จากนนอานคาการรบขอมล และความเขมแสงรวมทบรเวณตวรบ และบนทกผลลงตาราง

ภาพท 4.17 การตดตงอปกรณตวรบขอมลพรอมกบลกซมเตอร

Page 55: 1.1 ความส าคัญของปัญหาdspace.spu.ac.th/bitstream/123456789/4639/4/4._Project...1.1 ความส าค ญของป ญหา เน องด

55

ตารางท 4.6 ผลการทดลองแสงรบกวนภายนอกระยะความสงในแนวตรง ระยะความสง

(ซม.)

แสงรบกวนภายนอก/แสงรวมทเกดขน (ลกซ)

100 200 300 400 600 800 1000 1500 2000

รบคา

แสงรวม

รบคา

แสงรวม

รบคา

แสงรวม

รบคา

แสงรวม

รบคา

แสงรวม

รบคา

แสงรวม

รบคา

แสงรวม

รบ คา

แสงรวม

รบ คา

แสงรวม

30 ได 1400 ได 1400 ได 1450 ได 1520 ได 1620 ได 1750 ได 1780 ได 2020 ได 2390

40 ได 1000 ได 1000 ได 1100 ได 1230 ได 1420 ได 1650 ได 1650 ได 1980 ได 2370

50 ได 700 ได 700 ได 830 ได 960 ได 1220 ได 1370 ได 1480 ได 1920 ได 2310

60 ได 600 ได 600 ได 720 ได 820 ได 1040 ได 1260 ได 1410 ได 1850 ไมได 2250

70 ได 400 ได 500 ได 600 ได 700 ได 890 ได 1160 ได 1360 ได 1770 ไมได 2190

80 ได 300 ได 430 ได 530 ได 620 ได 810 ได 1080 ได 1220 ได 1720 ไมได 2160

90 ได 180 ได 370 ได 480 ได 570 ได 780 ได 980 ได 1190 ไมได 1610 ไมได 2110

100 ได 160 ได 300 ได 420 ได 530 ได 760 ได 960 ได 1140 ไมได 1570 ไมได 2050

ภาพท 4.18 ผลการทดลองแสงรบกวนภายนอกระยะความสงในแนวตรง

4.5.3 วจารณผลการทดลอง

จากการทดลองแสดงใหเหนวาชดทดลอง VLC-CP1223 Development board v1.0 นนมขอจ ากดในการสอสาร ในสถานททมแสงรบกวนภายนอก ซงการน าไปตดตงใชงานนน จ าเปนตองค านงถงแสงรบกวนจากภายนอกดวย

0

500

1000

1500

2000

2500

30 40 50 60 70 80 90 100

แสงรวมทเกดขน (ลกซ)

ระยะความสง (ซม.)

การทดลองแสงรบกวนภายนอกระยะความสงในแนวตรง

100

200

300

400

600

800

1000

1500

2000

Page 56: 1.1 ความส าคัญของปัญหาdspace.spu.ac.th/bitstream/123456789/4639/4/4._Project...1.1 ความส าค ญของป ญหา เน องด

56

4.6 ทดลองตวสงสญญาณแสงชนดตางๆ และตวรบสญญาณแสงชนดทม วงจรขยายสญญาณในตว

4.6.1 วตถประสงค

เพอศกษาสภาวะการรบสญญาณของอปกรณตวรบชนดมวงจรขยายสญญาณในตว และในลกษณะตางๆ เชน IC TSL12S เพอประกอบการตดสนใจเลอกใชงานอปกรณรบสญญาณแสงทมองเหนไดในโครงงานชนน

4.6.2 ขนตอนการทดลอง

1. จดเตรยมอปกรณทจะใชในการทดลอง - IC TSL12S - LED แสงสขาว - ตวตานทานขนาด 250 Ω - Oscilloscope - ตลบเมตร

2. ท าการทดลองสงสญญาณดวยหลอด LED 1 หลอด ในพนทมด และตดตงตวรบสญญาณทระยะ 4, 8, 12, 16 และ 20 ซม.

3. ตดตง Oscilloscope กบสญญาณเอาตพตของตวรบ 4. อานคาสญญาณ และบนทกผลลงในตาราง

ภาพท 4.19 การทดลองสงสญญาณดวยหลอด LED 1 หลอด ในพนทมด

Page 57: 1.1 ความส าคัญของปัญหาdspace.spu.ac.th/bitstream/123456789/4639/4/4._Project...1.1 ความส าค ญของป ญหา เน องด

57

ตารางท 4.7 ผลการทดลองสงสญญาณดวยหลอด LED 1 หลอด ในพนทมด

5. ท าการทดลองสงสญญาณดวยหลอด LED 1 หลอด ในพนทมแสงสวาง และตดตงตวรบสญญาณทระยะ 4, 8, 12, 16 และ 20 ซม.

6. ตดตง Oscilloscope กบสญญาณเอาตพตของตวรบ 7. อานคาสญญาณ และบนทกผลลงในตาราง

ภาพท 4.20 การทดลองสงสญญาณดวยหลอด LED 1 หลอด ในพนทสวาง

ตารางท 4.8 ผลการทดลองสงสญญาณดวยหลอด LED 1 หลอด ในพนทสวาง

8. ท าการทดลองสงสญญาณดวยหลอด LED Array ในพนทมมด และตดตงตวรบสญญาณทระยะ 50, 100, 150, 200, 250 และ 300 ซม.

9. ตดตง Oscilloscope กบสญญาณเอาตพตของตวรบ 10. อานคาสญญาณ และบนทกผลลงในตาราง

อนดบ ระยะหาง (cm)

แรงดนดานสง (V)

แรงดนตอบสนองดานรบ (V)

สญญาน + สญญาน - ความตางของสญญาณ

1 4 4 4.2 2.4 1.8

2 8 4 3 2.2 0.8

3 12 4 2.6 2.2 0.4

4 16 4 2.4 2.2 0.2

5 20 4 2.2 2.1 0.1

อนดบ ระยะหาง (cm)

แรงดนดานสง (V)

แรงดนตอบสนองดานรบ (V)

สญญาน + สญญาน - ความตางของสญญาณ

1 4 4 4.4 4.4 0

2 8 4 4.4 4.4 0

3 12 4 4.4 4.4 0

4 16 4 4.4 4.4 0

5 20 4 4.4 4.4 0

Page 58: 1.1 ความส าคัญของปัญหาdspace.spu.ac.th/bitstream/123456789/4639/4/4._Project...1.1 ความส าค ญของป ญหา เน องด

58

ภาพท 4.21 การทดลองสงสญญาณดวยหลอด LED Array ในพนทมด

ตารางท 4.9 ผลการทดลองสงสญญาณดวยหลอด LED Array ในพนทมด

11. ท าการทดลองสงสญญาณดวยหลอด LED Array ในพนทมมด และตดตงตวรบสญญาณทระยะ 50, 100, 150, 200, 250 และ 300 ซม.

12. ตดตง Oscilloscope กบสญญาณเอาตพตของตวรบ 13. อานคาสญญาณ และบนทกผลลงในตาราง

ภาพท 4.22 การทดลองสงสญญาณดวยหลอด LED Array ในพนทสวาง

อนดบ ระยะหาง (cm) แรงดนดานสง

(V)

แรงดนตอบสนองดานรบ (V)

สญญาน + สญญาน - ความตางของสญญาณ

1 50 4.0 4.2 1.6 2.6

2 100 4.0 4.0 1.6 2.4

3 150 4.0 3.2 1.4 1.8

4 200 4.0 1.8 1.2 0.6

5 250 4.0 1.5 1.0 0.5

6 300 4.0 1.4 1.0 0.4

Page 59: 1.1 ความส าคัญของปัญหาdspace.spu.ac.th/bitstream/123456789/4639/4/4._Project...1.1 ความส าค ญของป ญหา เน องด

59

ตารางท 4.10 ผลการทดลองสงสญญาณดวยหลอด LED Array ในพนทสวาง

4.6.3 วจารณผลการทดลอง

จากการทดลองแสดงใหเหนถงผลกระทบจากแสงสวางอน มผลตอการตดตอสอสารผานแสงทมองเหนได ทท าใหตวรบไมสามารถแยกแยะสญญาณขอมลทสงเขามาทตวรบได เนองจากวงจรขยายสญญาณภายในของอปกรณตอบสนองสญญาณแสงนน มการขยายทไมสามารถก าหนดอตราการขยายได จงท าใหเกดขอจ ากดของการน าไปใชงานในสถานททมแสงภายนอกรบกวน

อนดบ ระยะหาง (cm) แรงดนดานสง

(V)

แรงดนตอบสนองดานรบ (V)

สญญาน + สญญาน - ความตางของสญญาณ

1 50 4.0 4.4 4.4 0.0

2 100 4.0 4.4 4.4 0.0

3 150 4.0 4.4 4.4 0.0

4 200 4.0 4.4 4.4 0.0

5 250 4.0 4.4 4.4 0.0

6 300 4.0 4.4 4.4 0.0

Page 60: 1.1 ความส าคัญของปัญหาdspace.spu.ac.th/bitstream/123456789/4639/4/4._Project...1.1 ความส าค ญของป ญหา เน องด

60

บทท 5

สรปผลการท าโครงงาน

โครงงานนไดท าการศกษาการสอสารดวยโปรโตคอลมอดบส การสอสารผานแสงท

มองเหนไดตามมาตรฐาน CP1223 ของประเทศญปน การใชงานอปกรณ Mitsubishi PLC และไดท าการออกแบบชดทดลองโดยท าการประยกตการสอสารดวยแสงทมองเหนไดตามมาตรฐาน CP1223 บนอปกรณ PLC ทใชโปรโตคอลมอดบส โดยให PLC ท าหนาทเปนชดอปกรณแมขายและลกขายทรบสงขอมลดวยโปรโตคอลมอดบส และประยกตใชชดพฒนา VLC-CP1223 Development board v1.0 เพอเปนอปกรณแปลงสญญาณของโปรโตคอลมอดบส RS-485 เปนสญญาณแสงตามมาตรฐาน CP1223 และจากการทดลองแสดงใหเหนวาโปรโตคอลมอดบสไดมขอจ ากดจากอปกรณของผผลตทท าใหสามารถใชงานไดจรงทระยะความยาวของสายสญญาณอยท 500 เมตร และมลกขายไดสงสด 16 ลกขาย โดยการตดตอสอสารผานแสงทมองเหนไดนน ท าใหขอจ ากดของอปกรณน นลดนอยลง คอมระยะการตดตอสอสารทมากขน เมอน าระยะของสายสญญาณมารวมกบระยะของการตดตอสอสารดวยแสง และท าใหมจ านวนลกขายมากขนเทากบ จ านวนลกขายทสามารถรบคาจากแสงของอปกรณสงสญญาณแสงได เนองจากไมมการตอบกลบของสญญาณจากลกขายนนเอง และขอจ ากดของอปกรณสงสญญาณแสงนน จากการทดลองท 4.4 มระยะการตดตอสอสารผานแสงทมองเหนไดมากกวา 3.5 เมตรในแนวตรง และมรศมการตดตอสอสารผานแสงตามรศมของโคม และจากการทดลองท 4.5 แสดงใหเหนวาไมสามารถรบขอมลไดในขณะทมแสงรบกวนจากผานนอกมากกวา 1,500 ลกซ ทระยะหางในแนวตรงมากกวา 80 ซม. ท าใหการสอสารผานแสงทมองเหนไดน เหมาะสมกบการน าไปใชงานกบสถานททไมมแสงรบกวนจากผานนอก แตขอจ ากดอนๆ ของการสอสารผานแสงทมองเหนได CP1223 นน ยงมความจ าเปนทตองทดลอง เพมเตม เพอใหไดขอมลมากพอส าหรบการออกแบบเพอน าไปใชงานรวมกบระบบทมขนาดใหญมากขน

Page 61: 1.1 ความส าคัญของปัญหาdspace.spu.ac.th/bitstream/123456789/4639/4/4._Project...1.1 ความส าค ญของป ญหา เน องด

61

เอกสารอางอง [1] บรษท รเวอรพลส จ ากด “ซอฟแวรควบคมระบบการผลตแบบกงอตโนมต และแบบอตโนมต

การควบคมคณภาพวเคราะหขอมลเชงสถต” http://riverplusblog.com/2011/08/18/plc-protocol-การสอสารแบบ-modbus-protocol/

[2] MODBUS.ORG, "MODBUS Application Protocol Specification V1.1b3", 2012 [3] ปรชา กอเจรญ และคณะ, เอกสารประกอบประกอบการฝกอบรมครงท ๒: โครงการกองทน กสทช.โครงการพฒนาความพรอมระดบประเทศของการสอสารดวยแสงสวาง: การถายทอด เทคโนโลยการพฒนาบคลากรดานกจการโทรคมนาคม การจดท ารางมาตรฐาน และสอ (Visible Light communications for Thailand: Technology Transfer, Human Resource Development, Industrial Standard Survey, and Its Publications),มหาวทยาลยศรปทม, 2558. [4] IEEE Communications Society, “IEEE 802.15.7 visible light communication: modulation schemes and dimming support” 2012 [5] Japan Electronics and Information Technology Industries Association (JEITA) guidelines,

“JEITA CP-1223 Visible Light Beacon System”, http://www.jeita.or.jp/japanese/standard/book/CP-1223/#page=1

[6] MELSEC FX Series Programmable Contrillers User's Manual, "FX3U MODBUS Serial Communication Edition", Mitsubishi Electric, 2007

Page 62: 1.1 ความส าคัญของปัญหาdspace.spu.ac.th/bitstream/123456789/4639/4/4._Project...1.1 ความส าค ญของป ญหา เน องด

62

ภาคผนวก

1. โปรแกรม PLC สอสารดวยโปรโตคอลมอดบสส าหรบแมขาย

Page 63: 1.1 ความส าคัญของปัญหาdspace.spu.ac.th/bitstream/123456789/4639/4/4._Project...1.1 ความส าค ญของป ญหา เน องด

63

Page 64: 1.1 ความส าคัญของปัญหาdspace.spu.ac.th/bitstream/123456789/4639/4/4._Project...1.1 ความส าค ญของป ญหา เน องด

64

Page 65: 1.1 ความส าคัญของปัญหาdspace.spu.ac.th/bitstream/123456789/4639/4/4._Project...1.1 ความส าค ญของป ญหา เน องด

65

Page 66: 1.1 ความส าคัญของปัญหาdspace.spu.ac.th/bitstream/123456789/4639/4/4._Project...1.1 ความส าค ญของป ญหา เน องด

66

Page 67: 1.1 ความส าคัญของปัญหาdspace.spu.ac.th/bitstream/123456789/4639/4/4._Project...1.1 ความส าค ญของป ญหา เน องด

67

2. โปรแกรม PLC สอสารดวยโปรโตคอลมอดบสส าหรบลกขาย

Page 68: 1.1 ความส าคัญของปัญหาdspace.spu.ac.th/bitstream/123456789/4639/4/4._Project...1.1 ความส าค ญของป ญหา เน องด

68

Page 69: 1.1 ความส าคัญของปัญหาdspace.spu.ac.th/bitstream/123456789/4639/4/4._Project...1.1 ความส าค ญของป ญหา เน องด

69

3. โปรแกรม Arduino สอสารดวยโปรโตคอลมอดบสส าหรบลกขาย #include <modbus.h> #include <modbusDevice.h> #include <modbusRegBank.h> #include <modbusSlave.h> /* PINS Add more registers if needed Digital input pins 2,3,4,5,6,7 Digital output pins 8,9,12,13 Analog output pins 10,11 (PWM) Analog input pins 0,1,2,3,4,5 */ modbusDevice regBank; modbusSlave slave; int AI0,AI1,AI2,AI3,AI4,AI5; void setup() { regBank.setId(1); ///Set Slave ID //Add Digital Input registers regBank.add(10002); regBank.add(10003); regBank.add(10004); regBank.add(10005); regBank.add(10006); regBank.add(10007); // Add Digital Output registers regBank.add(8);

Page 70: 1.1 ความส าคัญของปัญหาdspace.spu.ac.th/bitstream/123456789/4639/4/4._Project...1.1 ความส าค ญของป ญหา เน องด

70

regBank.add(9); regBank.add(12); regBank.add(13); //Analog input registers regBank.add(30001); regBank.add(30002); regBank.add(30003); regBank.add(30004); regBank.add(30005); regBank.add(30006); //Analog Output registers regBank.add(40010);

regBank.add(40011);

slave._device = &regBank; slave.setBaud(9600); pinMode(2,INPUT); pinMode(3,INPUT); pinMode(4,INPUT); pinMode(5,INPUT); pinMode(6,INPUT); pinMode(7,INPUT); pinMode(8,OUTPUT); pinMode(9,OUTPUT); pinMode(12,OUTPUT); pinMode(13,OUTPUT); } void loop(){ while(1){

Page 71: 1.1 ความส าคัญของปัญหาdspace.spu.ac.th/bitstream/123456789/4639/4/4._Project...1.1 ความส าค ญของป ญหา เน องด

71

//Digital Input byte DI2 = digitalRead(2); if (DI2 >= 1)regBank.set(10002,1); if (DI2 <= 0)regBank.set(10002,0); byte DI3 = digitalRead(3); if (DI3 >= 1)regBank.set(10003,1); if (DI3 <= 0)regBank.set(10003,0); byte DI4 = digitalRead(4); if (DI4 >= 1)regBank.set(10004,1); if (DI4 <= 0)regBank.set(10004,0); byte DI5 = digitalRead(5); if (DI5 >= 1)regBank.set(10005,1); if (DI5 <= 0)regBank.set(10005,0); byte DI6 = digitalRead(6); if (DI6 >= 1)regBank.set(10006,1); if (DI6 <= 0)regBank.set(10006,0); byte DI7 = digitalRead(7); if (DI7 >= 1)regBank.set(10007,1); if (DI7 <= 0)regBank.set(10007,0); //Digital output int DO8 = regBank.get(8); if (DO8 <= 0 && digitalRead(8) == HIGH)digitalWrite(8,LOW); if (DO8 >= 1 && digitalRead(8) == LOW)digitalWrite(8,HIGH); int DO9 = regBank.get(9); if (DO9 <= 0 && digitalRead(9) == HIGH)digitalWrite(9,LOW); if (DO9 >= 1 && digitalRead(9) == LOW)digitalWrite(9,HIGH); int DO12 = regBank.get(12); if (DO12 <= 0 && digitalRead(12) == HIGH)digitalWrite(12,LOW); if (DO12 >= 1 && digitalRead(12) == LOW)digitalWrite(12,HIGH);

Page 72: 1.1 ความส าคัญของปัญหาdspace.spu.ac.th/bitstream/123456789/4639/4/4._Project...1.1 ความส าค ญของป ญหา เน องด

72

int DO13 = regBank.get(13); if (DO13 <= 0 && digitalRead(13) == HIGH)digitalWrite(13,LOW); if (DO13 >= 1 && digitalRead(13) == LOW)digitalWrite(13,HIGH); //Analog input ***READ Twice deliberately AI0 = analogRead(0); delay(10); AI0 = analogRead(0); regBank.set(30001, (word) AI0); delay(10); AI1 = analogRead(1); delay(10); AI1 = analogRead(1); regBank.set(30002, (word) AI1); delay(10); AI2 = analogRead(2); delay(10); AI2 = analogRead(2); regBank.set(30003, (word) AI2); delay(10); AI3 = analogRead(3); delay(10); AI3 = analogRead(3); regBank.set(30004, (word) AI3); delay(10); AI4 = analogRead(4); delay(10); AI4 = analogRead(4); regBank.set(30005, (word) AI4); delay(10);

Page 73: 1.1 ความส าคัญของปัญหาdspace.spu.ac.th/bitstream/123456789/4639/4/4._Project...1.1 ความส าค ญของป ญหา เน องด

73

AI5 = analogRead(5); delay(10); AI5 = analogRead(5); regBank.set(30006, (word) AI5); delay(10); //Analog output word AO10 = regBank.get(40010); analogWrite(10,AO10); delay(10); word AO11 = regBank.get(40011); analogWrite(11,AO11); delay(10); slave.run(); } }

Page 74: 1.1 ความส าคัญของปัญหาdspace.spu.ac.th/bitstream/123456789/4639/4/4._Project...1.1 ความส าค ญของป ญหา เน องด

74

4. โปรแกรม Arduino ส าหรบรบคาชดขอมลโปรโตคอลมอดบส และสงขอมลดวย VLC CP1223 /* Example 1 VLC-CP1223 Course Transmit Multi VLC-CP1223 DATA created 10 NOV 2015 modified 22 NOV 2015 By. Kata Jaruwongrungsee Credit: This work used the VLC-CP1223 driver-code VLC_CP1223_QSC.h "VLC-CP1223 QUICK STARTER CODE", Kata Jaruwongrungsee, CC-BY Which is licensed under a Creative Commons Attribution 4.0 International License. To view a copy of this license, visit http://creativecommons.org/licenses/by/4.0/ */ #include"VLC_CP1223_QSC.h" //Add this file & include it first void setup() { startVLC_OUT(5); //SET VLC_out PIN (default = 5) //PWM PIN IS NEEDED (3,5,6,9,10 for Leonardo) Serial1.begin(9600); } void loop() { //SET MESSAGE TO SEND //--->> FUNCTION: setupMessage( FTYPE(1 byte) , STRING DATA(max 16 byte) ) //Ex. setupMessage('1',"VLC-CP1223 DEMO "); //PRINT SENDING MESSAGE AT DEFAULT SERIAL PORT (Serial.begin(XX); is needed) //--->> FUNCTION: printPAYLOAD(); //Ex. printPAYLOAD();

Page 75: 1.1 ความส าคัญของปัญหาdspace.spu.ac.th/bitstream/123456789/4639/4/4._Project...1.1 ความส าค ญของป ญหา เน องด

75

char j; unsigned char msg[17]={}; while(true){ transmitALL(); //save serial input if (Serial1.available()) { for(j=0;j<16;j++) { unsigned char inModbus = (unsigned char)Serial1.read(); msg[j] = inModbus; delay(100); } //--->> TRANSMIT DATA - FUNCTION: transmitALL(); setupDATA('0',msg); for(int i=0; i<20;i++){ transmitALL(); } } } }

Page 76: 1.1 ความส าคัญของปัญหาdspace.spu.ac.th/bitstream/123456789/4639/4/4._Project...1.1 ความส าค ญของป ญหา เน องด

76

5. โปรแกรม Arduino ส าหรบรบขอมลดวย VLC CP1223 และสงคาชดขอมลโปรโตคอลมอดบส /* Example 2 VLC-CP1223 Course Show Received VLC DATA on Serial Port created 10 NOV 2015 modified 12 JAN 2015 By. Kata Jaruwongrungsee Credit: This work used the VLC-CP1223 driver-code VLC_CP1223_QSC.h "VLC-CP1223 QUICK STARTER CODE", Kata Jaruwongrungsee, CC-BY Which is licensed under a Creative Commons Attribution 4.0 International License. To view a copy of this license, visit http://creativecommons.org/licenses/by/4.0/ */ #include"VLC_CP1223_QSC.h" //Add this file & include it first #define LED1 4 #define LED2 6 #define LED3 8 void setup() { startVLC_IN(7); //SET VLC_IN PIN (default 7); startVLC_OUT(5); //SET VLC_OUT PIN (default 5); pinMode(LED1, OUTPUT); digitalWrite(LED1,0); pinMode(LED2, OUTPUT); digitalWrite(LED2,0); pinMode(LED3, OUTPUT); digitalWrite(LED3,0); Serial1.begin(9600); }

Page 77: 1.1 ความส าคัญของปัญหาdspace.spu.ac.th/bitstream/123456789/4639/4/4._Project...1.1 ความส าค ญของป ญหา เน องด

77

void loop() { unsigned int errcount = 0; //NO-DATA TIMEOUT unsigned char Serialout [8]; //Main Function is "VLCread()" //which return 1(integer) when data is correct //and return 0(integer) when no data detected //IF DATA IS DETECTED PAYLOAD_IN[0-17] (byte) will be updated //PAYLOAD_IN[0] = FTYPE, ID //PAYLOAD_IN[1-17] = MESSAGE while(true) { if(VLCread()==1) { //<<----- VLC Signal Detecting errcount = 0; if(PAYLOAD_IN[2]==0x05) { digitalWrite(LED1,0);digitalWrite(LED2,1);digitalWrite(LED3,0); for(int x=1;x<9;x++) { unsigned char VLCin = PAYLOAD_IN[x]; Serial1.write(VLCin); } delay(1000); } else if(PAYLOAD_IN[2]==0x0F) { digitalWrite(LED1,0);digitalWrite(LED2,0);digitalWrite(LED3,1); for(int x=1;x<11;x++) { unsigned char VLCin = PAYLOAD_IN[x];

Page 78: 1.1 ความส าคัญของปัญหาdspace.spu.ac.th/bitstream/123456789/4639/4/4._Project...1.1 ความส าค ญของป ญหา เน องด

78

Serial1.write(VLCin); } delay(1000); } else {digitalWrite(LED1,1);digitalWrite(LED2,0);digitalWrite(LED3,0); } } } }