คอนโทรล MSComm
สำหรับการใช้งาน Visual Basic ตั้งแต่เวอร์ชัน 2 เป็นต้นมา ใน Visual Basic จะมีคัสตอมคอนโทรลสำหรับการสื่อสารอนุกรมผ่านทางพอร์ตอนุกรมของคอมพิวเตอร์มาให้ โดยใน Visual Basic เวอร์ชัน 2 และเวอร์ชัน 3 จะใช้ชื่อว่า MSCOMM.VBX ส่วนเวอร์ชัน 4 ใช้ชื่อว่า MSCOMM16.OCX สำหรับการทำงานกับระบบปฏิบัติการ 16 บิตและ MSCOMM32.OCX สำหรับการทำงานกับระบบปฏิบัติการ 32 บิต สำหรับใน Visual Basic เวอร์ชัน 5 จะมีเพียง MSCOMM32.OCX เท่านั้นเพราะถูกออกแบบมาให้ใช้งานกับระบบปฏิบัติการ 32 บิต
MSComm จัดเตรียมทางเลือกเอาไว้ 2 ทางเพื่อความสะดวกในการสื่อสารข้อมูล ทางแรกคือ การสื่อสารข้อมูลที่กระตุ้นด้วยเหตุการณ์ (event-driven communications ) เป็นรูปแบบการใช้งานที่มีประสิทธิภาพมากสำหรับการตอบสนองแบบทันทีทันใด เช่น เมื่อตัวอักษรถูกส่งมาที่พอร์ตอนุกรมหรือเกิดการเปลี่ยนแปลงที่ขา Data Carrier Detect (DCD) หรือขา Request To Send (RTS) เหตุการณ์ ONCOMM ของ MSComm จะสามารถตรวจจับสัญญาณนั้นได้ทันที ซึ่งจะกล่าวถึงรายละเอียดในหัวข้อคุณสมบัติ CommEvent ต่อไป ส่วนทางเลือกที่สองเป็นการคอยตรวจสอบค่าเหตุการณ์และความผิดพลาดที่เกิดขึ้นด้วยการดูค่าที่เปลี่ยนแปลงภายในคุณสมบัติ CommEvent หลังจากให้โปรแกรมทำงานในฟังก์ชั่นต่างๆ ไปเรียบร้อยแล้ว ซึ่งวิธีนี้ใช้งานได้ดีในกรณีที่โปรแกรมมีขนาดเล็ก
คอนโทรล MSComm 1 ตัวสามารถควบคุมการทำงานของพอร์ตอนุกรมได้ 1 พอร์ต ถ้าในโปรแกรมที่ใช้งานต้องการติดต่อกับพอร์ตอนุกรมมากกว่า 1 พอร์ตจะต้องใช้คอนโทรล MSComm มากกว่า 1 ตัวเพื่อควบคุมพอร์ตอนุกรมในแต่ละพอร์ต แอดเดรสของพอร์ตอนุกรมและแอดเดรสของการเกิดอินเตอร์รัปต์สามารถเปลี่ยนแปลงได้จากการแก้ไขค่าที่ Control Panel
ถึงแม้ว่า คอนโทรล MSComm จะมีคุณสมบัติ (property) มากมายหลากหลายตัว แต่สามารถทำความเข้าใจได้ไม่ยากดังนี้
CommPort
ใช้ในการกำหนดและอ่านค่าพอร์ตอนุกรมที่ติดต่ออยู่ (COM1,COM2 ,COM3,COM4)
รูปแบบการใช้งาน
object.CommPort[ = value ]
โดย Value เป็นค่าของพอร์ตอนุกรม ชนิดของข้อมูลเป็น Integer ค่า Value สามารถกำหนดได้ในช่วง 1-16 (ค่าเริ่มต้นกำหนดไว้ที่ 1) เมื่อมีการกำหนดค่าแล้วทำการเปิดพอร์ตโดยใช้คุณสมบัติ PortOpen แต่ว่าพอร์ตนั้นไม่มีอยู่ในระบบ MSCOMM จะสร้างสัญญาณแสดงข้อผิดพลาด error 68 ขึ้นมา ซึ่งหมายถึง อุปกรณ์ตัวนี้ไม่มีอยู่ในระบบ ดังนั้นการเขียนโปรแกรมจึงจำเป็นต้องกำหนดตำแหน่งของพอร์ตอนุกรมก่อนที่ใช้คำสั่ง OpenPort

Read More

ตั้งค่าคุณสมบัติต่อไปนี้โดยไม่คำนึงถึงเทคนิคที่คุณใช้:

  • คุณสมบัติ CommPort: การตั้งค่าคุณสมบัตินี้เป็นตัวเลขไปยังพอร์ตสื่อสารที่ต้องการ ค่าที่ถูกต้องคือ 1, 2, 3 หรือ 4 ขึ้นอยู่กับพอร์ตอนุกรมที่พร้อมใช้งาน และการกำหนดค่าของคอมพิวเตอร์แต่ละตัว ค่าเหล่านี้ตรงกับ Com1, Com2, Com3 และ Com4 ตามลำดับ
  • ตั้งค่าคุณสมบัติ: ชุดคุณสมบัติอักขระนี้อัตรารับส่งข้อมูล พาริตี้ บิตข้อมูล และ บิตหยุดกำหนดอุปกรณ์เชื่อมต่อกับพอร์ตอนุกรม คุณสมบัตินี้เป็นตัวอักขระ รายการที่คั่นด้วยจุลภาค ตัวอย่างเช่น เพื่อตั้งค่าพอร์ตอนุกรม 14,400 บอด แม้กระทั่งพาริตี้ บิตข้อมูล 7 และ 1 บิตหยุด ตั้งไว้สตริ:
       14400,E,7,1
  • คุณสมบัติ PortOpen: การตั้งค่าคุณสมบัตินี้ทางตรรกะเพื่อ true to เปิดการสื่อสารกับพอร์ตอนุกรมพอร์ต นอกจากนี้คุณยังสามารถตรวจสอบคุณสมบัตินี้เมื่อต้องการตรวจสอบพอร์ตที่เปิดได้อย่างถูกต้อง

Read More

คุณสมบัติการส่งข้อมูลไปยังพอร์ตอนุกรมที่ใช้ตัวควบคุม mscomm จะเป็นดังนี้:

CommPort

คุณสมบัติCommPortระบุหมายเลขพอร์ตสื่อสาร คุณสมบัติที่เป็นตัวเลขที่สอดคล้องกับสารพอร์ต โดยค่าเริ่มต้น คุณสมบัตินี้ถูกตั้งค่าเป็น 1 ที่สอดคล้องกับ com1 ค่าที่ถูกต้องคือ 1, 2, 3 หรือ 4 ขึ้นอยู่กับพอร์ตอนุกรมที่ติดตั้งบนคอมพิวเตอร์และตั้งค่าคอนฟิกของพวกเขา

การตั้งค่า

ตั้งค่าคุณสมบัติกำหนดค่าอัตรารับส่งข้อมูล พาริตี้ บิตข้อมูล และบิตการหยุดสำหรับพอร์ตอนุกรม ตั้งค่าคุณสมบัติเป็นสายอักขระที่ประกอบด้วยแต่ละค่าที่คั่นด้วยจุลภาค โดยค่าเริ่มต้นการตั้งค่าคุณสมบัติเป็นดังนี้:

ดังนี้ 9600, N, 8, 1

คุณสมบัตินี้สอดคล้องกับ บอด 9600 ไม่มีพาริตี้ ข้อมูล 8 บิต และบิตหยุด 1

Read More