لقد قررت طرح درس عن هذه التحكمية نظرا لإفتقار الموقع لها ومواقع البرمجة العربية الأخرى وأيضا لشد انتباه العاملين والدارسين في مجال التحكم الصناعي والأتمتة.
بسم الله الرحمن الرحيم
التحكمية التسلسلية MSComm
اذا أردت التجول في Visual Basic والإطلاع على أنواع التحكميات فستجد التحكمية MSComm الخاصة بالإتصالات التسلسلية والتي تسمح لك بالولوج المباشر الى البوابات التسلسلية في الحاسب الشخصي والتخاطب مع تجهيزاته مباشرة,فهذه التحكمية بسيطة جدا بحد ذاتها والأبسط كيفية تمكينها.
عند تحميل Visual Basic يتم إعطاؤه عددا أساسيا من التحكميات في صندوق الأدوات الموجودة في بيئة التطوير,هذه التحكميات هي تحكميات أساسية وضرورية لتحقيق معظم التطبيقات البدائية بلغة Visual Basic ويمكن توسيع هذه التحكميات ليس فقط بالتحكمية MSComm الخاصة بالإتصالات التسلسلية بل أيضا بالتحكمية ActiveX و OLE و Kodak Image و Macrovision و Shockwave إضافة على العديد من التحكميات و الأغراض الأخرى التي يمكنك استخدامها.
لإضافة التحكمية MSComm الى التحكميات المتاحة انقر على قائمة Project ثم انقر على Components من هذه القائمة فيظهر صندوق الحوار المبين في الشكل (1) حيث تقوم بإختيار Microsoft Comm Control كما هو مبين في الشكل (1)(المرفق).
بعد إضافة هذه التحكمية الى صندوق الأدوات تستطيع إستخدامها في تطبيقاتك.
لبيان بساطة التعامل مع التحكمية MSComm قمت بإنشاء برنامج تحكم بذراع (سنتحدث لا حقا عنه) كما استخدمت التحكمية MSComm لتأمين واجهة التخاطب الأولوية مع المبرمجة YAP التي نستخدمها لبرمجة المتحكمات الصغرية PICmicro من شركة Microship حيث أردت تأمين واجهة بسيطة تحت النظام Windows من أجل بيان كيفية عمل المبرمجة وتبسيطه وقد توصلت الى ما هو مبين في الشكل(2)بعد إضافة هذه التحكمية الى صندوق الأدوات تستطيع إستخدامها في تطبيقاتك.
لبيان بساطة التعامل مع التحكمية MSComm قمت بإنشاء برنامج تحكم بذراع (سنتحدث لا حقا عنه) كما استخدمت التحكمية MSComm لتأمين واجهة التخاطب الأولوية مع المبرمجة YAP التي نستخدمها لبرمجة المتحكمات الصغرية PICmicro من شركة Microship حيث أردت تأمين واجهة بسيطة تحت النظام Windows من أجل بيان كيفية عمل المبرمجة وتبسيطه وقد توصلت الى ما هو مبين في الشكل(2)(المرفق)
لكي نتعامل مع التحكمية MSComm بعد وضعها في صندوق الأدوات قمت بوضع أيقونتها الممثلة على شكل هاتف في صندوق الحوار وعند تنفيذ التطبيق ستكون أيقونة الهاتف هذه غير مرئية للمستخدم.
لتبدئة التحكمية MSComm قمت بإستخدام التسلسل المنصوح به التالي:
1) تحديد جهاز البوابة التسلسلية الذي نود استخدامه.
2) ضبط السرعة وصيغة المعطيات التي نود استخدامها.
3) تعريف حجم الذاكرة المؤقتة(buffer) .
4) فتح البوابة والبدئ بإستخدامها.
الكود المستخدم لتحقيق هذه الوظائف موجود في البرنامج الجزئي Form_Load مما يعني أنه يتم تمكين البوابة قبل تنفيذ صندوق الحوار الأساسي, وعلى الرغم من أن قيم التحكمية تشرح نفسها بنفسها إلا أننا سنغطيها لا حقا في هذا الدرس.
Private Sub From_Load () ' On From Load, Setup Serial Port 3 for YAP Programmer MSComm3 .CommPort = 3 MSComm3 .Settings = "1200,N,8,1" MSComm3 .InputLen = 0 MSComm3 .PortOpen = True Text1.Text = "Turn On YAP Programmer" End Sub
بعد تبدئة البوابة وتشغيلها نستخدم مؤقتا لاستقصاء البوابة التسلسلية كل 50 ms وإظهار المعطيات في مربع النص عند ورودها.
Private Sub Timer1_Timer() ' Interrupt every 50 msecs and Read in the Buffer Dim InputString InputString = MSComm3.Input If (InputString <> "") Then If (Text1.Text = "Turn on YAP Programmer") Then Text1.Text = "" ' Clear the Display Buffer End If Text1.Text = Text1.Text + InputString End If End Sub
هذا الكود يطلب من المستخدم تشغيل المبرمجة أولا فإذا كانت المبرمجة تعمل عند إسقبال المعطيات يتم مسح هذا الطلب عن الشاشة ويتم إظهار المعطيات على الشاشة بحسب ترتيب ورودها.
من أجل العمليات المتخصصة (مثل البدئ ببرمجة المتحكم الصغري) استخدمنا تحكميات الأزرار CommandButton التي ترسل المعطيات الى المبرمجة عبر البوابة التسلسلية بإستخدام الكود التالي:
Private Sub Command1_Click () ' Open File for Processing Handle = Open () End Sub
عبر هذه التحكميات أصبح بالإمكان التحكم بالمبرمجة YAP باستخدام الأزرار و الماوس من خلال صندوق الحوار بشكل أبسط و أسهل وأكثر فعالية (أي بنسبة أخطاء أقل) مما لو كان على المستخدم إدخال الأوامر يدويا, وإحدى الميزات الجيدة في هذا التطبيق هي مربع الحوار الذي يتم تحديثه بشكل مستمر من خلال البرنامج الجزئي لمقاطعة المؤقت والذي يبين ما الذي يحدث فعليا في المبرمجة YAP ويسمح للمستخدم ايجاد المشاكل واصلاحها بسهولة باللغة.
