Thai I/O Today

การติดต่อสื่อสาร I/O Serial Port แบบ โปรโตคอล(Protocal)

    เนื้อหานี้จะเป็นการอธิบายถึงการสื่อสารด้วยคำสั่งมาตราฐานที่มีการตกลงกัน(Protocal)ระหว่าง หน่วยประมวลผลต้นทางกับหน่วยประมวลผลปลายทาง เช่น PC กับ PC ,PC กับ Microcontroller ,PC กับ Modem เป็นต้น

    จากที่ผมได้เขียนโปรแกรม PC Remote Control ติดต่อผ่าน TCP/IP และให้ Download ไปลองใช้กัน ก็ได้มีผู้สนใจสอบถามถึงวิธีการเขียนโปรแกรม รวมทั้งเรื่องการติดต่อกับไมโครคอนโทรลเลอร์ ซึ่งผู้ที่ไม่มีอุปกรณ์ประเภทไมโครคอลโทรลเลอร์ไว้ทดลองก็สามารถจะใช้ PC ของเรานี้ เขียนโปรแกรมจำลองเป็นฝ่ายไมโคคอนโทรลเลอร์ได้สำหรับทำความเข้าใจถึงวิธีติดต่อ ส่งคำสั่งเพื่อไป ควบคุมหรือตรวจสอบสถานะของหน่วยประมวลปลายทางได้

ในส่วนของ modem นั้นบริษัทผู้ผลิตจะมีคำสั่งมาตราฐานที่รู้จักกันคือ AT Command แต่เราสามารถจะกำหนดเงื่อนไขคำสั่งในการติดต่อสื่อสารของเราเองก็ทำได้ โดยในที่นี้จะแนะนำการติดต่อสื่อสารผ่าน Serial port ทั้งนี้แนวทางการเขียนโปรแกรมสามารถนำไปใช้ในแบบการติดต่อผ่าน TCP/IP ได้เหมือนกัน 

โปรโตคอล ที่จะส่งนั้นในความหมายของผม คือข้อความ,รหัส หรือ อักษร ซึ่งฝ่ายผู้รับปลายทางจะต้องรู้ว่ารับคำสั่งนั้นมาแล้วต้องไปทำอะไร เช่น ส่งข้อความว่า "Check Time" โดยกำหนดว่าถ้ามีคำสั่งนี้มาถึงฝั่งผู้รับก็หน่วยประมวลผลฝั่งผู้รับส่งค่าเวลา ณ ขณะนั้นไปให้ฝ่ายที่ส่งข้อความ เป็นต้น แล้วเราจะเขียนโปรแกรมอย่างไร MScomm1.Output="Check Time"

โปรแกรมของฝ่ายรับโปรโตคอล 

เขียนชุดคำสั่งนี้ใน MSComm1_Oncomm() ซึ่งเมื่อ Com port มีรับข้อมูลมาจะเกิด Event Massage ขึ้น ชื่อ comEvReceive โดยเราใช้ Properties ชื่อ CommEvent มาเป็นเงื่อนไขในการรับโปรโตคอล และส่งหรือทำเงื่อนไขที่กำหนด 

    Sub MSComm1_OnComm()

    Select Case MSComm1.CommEvent
             Case comEvReceive  

        Buffer = MSComm1.Input   ' Properties สำหรับรับข้อมูล

                   ' ตรวจสอบเงื่อนไขของโปรโตคอล

                   Select Case StrConv(Buffer, vbUnicode)   

                       Case Is ="Check Time"    ' หรือจะเขียนว่า Case "Check Time" ก็ได้

                             MSComm1.Output=Time ' ส่งค่าเวลากับไปยังฝ่ายส่งโปรโตคอล

                 End Select

     End Select

โปรแกรมตัวอย่าง

ผมได้จัดทำโปรแกรมตัวอย่างสำหรับเพื่อนำไปประยุกต์ใช้งาน ซึ่งก็จะมีคำอธิบายไว้ด้วย โดยให้คุณ Copy Code ด้านล่างทั้งหมดไป Paste ลงใน Text Editor(Notepad สะดวกดี)
จากนั้น Save As เป็นไฟล์นามสกุล FRM เช่น frmprotocal.frm  เราก็จะได้ Visual Basic Form หากเปิดฟอร์มใน Visual Basic แล้วไม่มี MSComm 6 ให้คุณ Add Control นี้ใหม่ นะครับ

 

สิ่งที่จะได้จากบทความนี้

1. รู้ถึงวิธีเขียนโปรแกรมติดต่อสื่อสารแบบโปรโตคอล
2. นำไปประยุกต์ใช้กับงานควบคุมระยะไกล หรือรับส่งข้อมูล
3. สามารถจำลองการทำงานของหน่วยประมวลผลปลายทางได้(เช่น ไมโครคอลโทรลเลอร์,PLC ฯลฯ)
4. นำรูปแบบนี้ไปใช้กับการติดต่อสื่อสารวิธีอื่นๆได้

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


The Title Subject
 


 

 

 

 

 

 

 

 


< Binhood Studio< Thai Mail< Twin Lotus< Phuket Arcadia Beach Resort< Major Cineplex< Advance Accessories


Hosted by www.Geocities.ws

1