Top Banner
اﻻول اﻟﺪرس ﻓﻰ ﻣﻘﺪﻣﺔLabVIEW اﻟﻬﺪف: ﺑﻴﺌﺔ ﻋﻠﻰ اﻟﺘﻌﺮفLabVIEW . اﻟﻤﺤﺘﻮﻳﺎت: ١ ( هﻰ ﻣﺎVirtual Instruments ﻋﻨﺎﺻﺮهﺎ هﻰ وﻣﺎ. ٢ ( ﻋﻠﻰ اﻟﺘﻌﺮف ﻓﻰ اﻻدوات ﺷﺮﻳﻂFront Panel . ٣ ( ﻓﻰ اﻻدوات ﺷﺮﻳﻂ ﻋﻠﻰ اﻟﺘﻌﺮفBlock Diagram . ٤ ( اﻟﺘﻌﺮف ﻠﻰTools Palette . ٥ ( ﻋﻠﻰ اﻟﺘﻌﺮفControls Palette . ٦ ( ﻋﻠﻰ اﻟﺘﻌﺮفFunction Palette . ٧ ( و ﻣﺜﺎل ﺗﺤﻤﻴﻞ آﻴﻔﻴﺔ ﻋﻠﻰ اﻟﺘﻌﺮف ﺗﻨﻔﻴﺬﻩ. ٨ ( اﻟﻤﺼﺪر. هﻰ ﻣﺎVirtual Instruments ؟ اﻟﻤﺼﻤﻤﺔ اﻟﺒﺮﻧﺎﻣﺞ ﺗﺴﻤﻰ ﺑﻠﻐﺔLabVIEW ﺑﺎﺳﻢ) Virtual Instruments (VIs . اﻣﺘﺪاد ذات ﻣﻠﻔﺎت وهﻰvi . ﺗﺘﻜﻮن وVIs اﺳﺎﺳﻴﺔ ﻋﻨﺎﺻﺮ ﺛﻼث ﻣﻦ: وهﻰThe Front Panel وThe Block Diagram وThe Icon and Connectors Pane . ١ ( The Front Panel : اﻟﺒﺮﻧﺎﻣﺞ واﺟﻬﺔ هﻰ.
520

Lab VIEW - Basics

Jan 23, 2023

Download

Documents

Mehdi Salimi
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Lab VIEW - Basics

الدرس االول

LabVIEWمقدمة فى

:الهدف

.LabVIEWالتعرف على بيئة

:المحتويات

. وما هى عناصرهاVirtual Instruments ما هى) ١

.Front Panelشريط االدوات فى التعرف على) ٢

.Block Diagram التعرف على شريط االدوات فى)٣

.Tools Paletteلى التعرف ع) ٤

.Controls Paletteالتعرف على ) ٥

.Function Paletteالتعرف على ) ٦

.تنفيذه التعرف على آيفية تحميل مثال و )٧

.المصدر ) ٨

؟Virtual Instrumentsما هى . Virtual Instruments (VIs(باسم LabVIEW بلغة تسمى البرنامج المصممة

.viوهى ملفات ذات امتداد

:من ثالث عناصر اساسية VIsو تتكون

The Icon and و The Block Diagramو The Front Panel وهىConnectors Pane.

١ (The Front Panel:

.هى واجهة البرنامج

Page 2: Lab VIEW - Basics

.Indicatorsو Controlsبواسطة The Front Panelبناء و يتم

Page 3: Lab VIEW - Basics

Controls :

.و غيرها dialsو push buttonsو knobsمثل VIهى وحدات االدخال فى

.و هى تماثل وحدات االدخال فى االجهزة االلكترونية الحقيقية

Indicators:

. و غيرهاledsو graphsمثل VI فى هى وحدات االخراج او االظهار

.و هى تماثل وحدات االخراج و االظهار فى االجهزة االلكترونية الحقيقية

Page 4: Lab VIEW - Basics

ليتم Block Diagramالى Controls انه تنتقل البيانات من البرنامجفى و ما يحدث .Indicators الى Block Diagramتنفيذ آود البرنامج عليها ثم تظهر النتائج من

٢ (The Block Diagram :

.هو آود البرنامج الذى يتم تصميمه بالرسم

Page 5: Lab VIEW - Basics

terminalيوجد بالمقابل له Front Panelموجود فى Indicatorاو Controlلكل . The Block Diagramفى

او Controlبمجرد وضع Block Diagramيوضع تلقائيا فى terminal ١هذIndicator فىFront Panel.

الخاص terminalيحذف Front Panelمن Indicatorاو Control اى وعند حذف .به تلقائيا

.المقابل له Indicatorاو Controlاال بحذف terminal تستطيع حذف وال

Page 6: Lab VIEW - Basics

دوال و SubVIs على terminalsباالضافة الى The Block Diagram يحتوى

)Functions ( و ثوابت و هياآل بيانية)Structures ( ووصالت)Wires ( التى تكون

.مسار البيانات

٣(The Icon and Connector Pan :

.تظهر فى الطرف االعلى على اليمينمن النافذة Iconيوجد VIلكل

.يمكن ان تحتوى على رسم او آتابة او آالهما Icon هذة

Page 7: Lab VIEW - Basics

المستخدمة عندئذ باسم VI تسمى اخرى و VIعندما تستخدم آداله فى VIتمثل Iconهذة SubVI.

Connectors Pane:

.Block Diagramفى SubVIهى عبارة عن مجموعة وصالت تبين و تحدد طريقة وصل

Page 8: Lab VIEW - Basics

.SubVIو تعتبر هذة الوصالت هى المداخل و المخارج للـ

SubVIيمكن ان تكون VIحيث ان آل . فى الهيكل البنائى لبرامجه LabVIEWتكمن قوة .اخرى VIفى

.VIالموجودة فى SubVI لعدد معين و ال يوجد حد

Page 9: Lab VIEW - Basics

Front Panelشريط االدوات فى

.VI فى تنفيذ و تصميم يستخدم

.اذا آان هناك خطأ فى البرنامج تظهر هكذا . وتكون هكذا . لتنفيذ البرنامج

اخرى و يظهر اثناء التنفيذ للتنفيذ المستمر للبرنامج حتى توقف البرنامج او الضغط عليه مرة .المستمر للبرنامج هكذا

. لوقف البرنامج نهائيا وفى الحال وهى متاحة فقط اثناء تنفيذ البرنامج

.لوقف تنفيذ البرنامج مؤقتا و يسكمل تنفيذ البرنامج بالضغط عليه مرة اخرى

Blockمكان توقف الرنامج فى LabVIEWفى حالة الوقف المؤقت يظهر : ملحوظة Diagram.

الحجم ، اللون ،: قائمة منسدله لتغيير خصائص النصوص المكتوبة .نوع الخط

.دله لمحاذاة الوحدات مع بعضهاقائمة منس

.قائمة منسدله لتنظيم المسافات بين الوحدات

قائمة منسدله لترتيب الوحدات التى فوق بعضها فهى تحدد من يظهر فى االمام ومن يكون .فى الخلف

Block Diagram شريط االدوات فى

Highlight : بالضغط عليها يتم استعرض آيف يتم تنفيذ البرنامج وآيفية انتقال البيانات و . تظهر بهذا الشكل

Step Into : وبها تستطيع ان تدخل فى . لتنفيذ البرنامج خطوة واحدةsubVI او الهياآل .نفيذها خطوة خطوةلت )loops(التكرارية

Step Over : لتنفيذ البرنامح خطوة واحدة مع آل ضغطة مع اعتبار ان SubVI اوLoop الدخول فيهاتنفذ فى خطوة واحدة دون .

Page 10: Lab VIEW - Basics

Step Out : للخروج منloop اوSubVI فى خطوة واحدة.

Tools Palette

لوحة االدوات

:يتم فتحها من

Window<< Show Tools Palette

Tools Palette

. VIلتصميم و اختبارو تنفيذ LabVIEWوهى عبارة عن مجموعة االدوات االساسية فى بيئة

Page 11: Lab VIEW - Basics

Operating Tool :لتغيير قيم Controlsوعادة ما تستخدم اثناء تنفيذ . او نص مكتوب .البرنامج

Positional Tool : الختيار و تحريك و تغير حجم الوحدات)Objects.(

Labeling Tool : لتحرير اى نص او عمل نص فى اى مكان.

Wiring Tool : لربط الوحدات فىBlock Diagram.

Object Shortcut Menu : تماثل الضغط بالزر اليمن للمؤشر.

Scrolling Tool : لعمل انزالق للنافذة بدون استخدام شريط االنزالق.

Breakpoint : تستخدم فى اختبار . لعمل نقطة توقف يتوقف عندها البرنامج عن التنفيذ .البرنامج

Probe Tool : تستخدم لعمل نقطة عرض بيانات)Probe( لعرض القيم اثناء تنفيذ الرنامج .الختباره او معالجة اخطأه

Color Copy Tool : الخذ قيم اللون من اى موضع فى النافذة ليتم استخدامه بواسطةColoring Tool.

Coloring Tool : لتلوين الوحدات.

Controls palette

لوحة ادوات التحكم

: Front Panel نافذة يتم فتحها من

Window <<Show Controls palette

Page 12: Lab VIEW - Basics

!

Page 13: Lab VIEW - Basics

Error!

ALL CONTROLS

Page 14: Lab VIEW - Basics

Frontيمكن ايضا ان تفتح بالضغط بالزر االيمن للفأرة على نافذة Panel.

All Controlsبالمؤشر على ثم

Error!

Functions Palette

لوحة الدوال

: Block Diagram نافذة يتم فتحها من

Window <<Show Functions palette

Page 15: Lab VIEW - Basics

Error!

Functions Palette

لوحة الدوال

Page 16: Lab VIEW - Basics

نافذة موضع فىعلى يمكن ايضا ان تفتح بالضغط بالزر االيمن للفأرةBlock Diagram.

All Functionsثم بالمؤشر على

Page 17: Lab VIEW - Basics

Error!

تحميل و تنفيذ برنامج

Page 18: Lab VIEW - Basics

Error!

Page 19: Lab VIEW - Basics

Error!

Page 20: Lab VIEW - Basics
Page 21: Lab VIEW - Basics

Error!

Page 22: Lab VIEW - Basics
Page 23: Lab VIEW - Basics
Page 24: Lab VIEW - Basics
Page 25: Lab VIEW - Basics

المصدر

LabVIEW Basics Course Manual

شاء اهللالى اللقاء مع الدرس الثانى ان

Page 26: Lab VIEW - Basics

الدرس الثانى

VIوتحرير واختبارانشاء

الجزء االول

VIانشاء

Tools Pallette) لوحة االدوات: (

Window<<Show من Tools Paletteآما علمنا من الدرس السابق اننا نحصل على Tools Palette.

:ويمكن ان يكون اختيار االداة باحدى طريقتين

Automatic : يقومLabVIEW بتغير االداة تلقائيا الى االداة المناسبة.

Manual: االداة التى يريدها بالضغط على االداة فى يقوم المبرمج بأختيار Tools Palette.

Automatic Toolنضغط ايقونة Manualاو Automaticلجعل االختيار Selection الموجودة اعلىTools Palette.

:آما ذآرنا فى الدرس السابق انه

:من ثالث عناصر اساسية VI تتكون

Page 27: Lab VIEW - Basics

The Front Panel و The Block Diagramو The Icon and Connector Pane.

:The Front Panel: اوال

.Indicatorsو Controlsبواسطة The Front Panelيتم بناء

.Front Panelعلى Indicators و Controlsلوضع Controlsوتستخدم لوحة

.االآثر استخداما Indicators و Controlsسوف نعرض بعض امثلة

Numeric Controls And Indicators) ١:

.من اآثر الوحدات التى تستخدم

• Numeric Control

و القيمة و اسهم ) Label( على عدة خصائص مثل العنوان Numeric Controlويحتوى .لتغيير تلك القيمة

مستخدم البرنامج تغيرها اثناء تنفيذ البرنامج الدخال يستطيعNumeric Controlوقيمة .القيم للبرنامج

Page 28: Lab VIEW - Basics

• Numeric Indicator

.و القيمة ) Label( على عدة خصائص مثل العنوان Numeric Indicatorويحتوى

م اثناء تنفيذ البرنامج انما تتغير ال يستطيع ان يغيرها المستخدNumeric Indicatorوقيمة .Block Diagramمن خالل

Numeric Controlلتغيير قيمة

. Operating Toolيمكن استخدام االسهم بواسطة •

Page 29: Lab VIEW - Basics

او Labeling Toolبواسطة Controlبالضغط نقرتين على قيمة •Operating Tool مفتاح ثم ضغط. ثم آتابة القيمة الجديدة>ENTER< او او بالضغط على اى مكان ToolBar فى االعلى الموجودالضغط على االيقونة

.Controlخارج

٢ (Boolean Controls and Indicators:

) Switches(و هى تماثل المفاتيح Falseاو Trueتستخدم الدخال و اظهار القيم الثنائية .LEDsو ) Push Buttons( مفاتيح الضاغطة وال

.Round LEDsو Vertical Toggle Switchو من اآثر الوحدات استخداما

:ملحوظة

ة على الوحدااليمن للماوسبالضغط الزر Controlsو Indicatorsيمكن تغيير خصائص .هر لنا قائمة منسدله فيها ما يمكن تغيره فتظ Controlاو Indicatorسواء آانت

Page 30: Lab VIEW - Basics

!

:The Block Diagram :ثانيا

The Block Diagram يتكون من ثالث عناصر

Nodes و Terminals و Wires) وصالت او الروابط(.

Page 31: Lab VIEW - Basics

Nodes:

لديها مداخل او مخارج او آلهما و تقوم Block Diagramفى )Object(هى اى وحدة .بعملية ما اثناء تنفيذ البرنامج

. )Structures(آل البيانية االهي و SubVI و الدوال: هى Nodesو انواع

:الدوال

.LaBVIEW فى بيئة جاهزة مبنية وهى دوال اساسية

.Functions Paletteويمكن الحصول عليها من

Page 32: Lab VIEW - Basics

:مثال

SubVI :

Page 33: Lab VIEW - Basics

اخرى وهى تماثل VI الخاص بـ Block Diagramمبنية مسبقا تستخدم فى VIوهى Subroutine فى لغات البرمجة االخرى.

: )Structures (بيانيةالالهياآل

وهى عناصر تحكم فى العمليات

مثل

Terminals:

Node Terminalsو Indicator or Control Terminal:وهى نوعان

Indicator or Control Terminal:

يوجد Front Panelموجود فى Indicatorاو Controlلكل آما اوضحنا من قبل . The Block Diagramفى Terminalبالمقابل له

.Indicatorاو Controlالخاص بال Data Type له Terminalوهذا

التخزينية للقيمة و بالتالى مدى هذة يحدد نوع البيانات و ايضا آل من السعة Data Typeو .القيمة

.لون معين Data Typeولكل

Page 34: Lab VIEW - Basics

Node Terminals:

عبارة عن مجموعة وصالت تبين و تحدد طريقة Connector Paneيوجد لها Nodeلكل .Node اماآن االدخال و االخرج الخاص بـ ا أىوصله

Node Terminalsهذة الوصالت هى

Nodeالخاص بـ Connector paneولعرض

ثم نختار Node على للماوسنضغط بالزر االيمن

Visible items << Terminals

Page 35: Lab VIEW - Basics

Wires) وصالت او الروابط: (

. The Block Diagram) Object (مسارت البيانات بين وحدات هى

بمصدر وحيد للبيانات و لكن يمكن ان يصل هذة البيانات لكثر من مدخل ) رابط (Wireيتصل .SubVIلدوال او

Page 36: Lab VIEW - Basics

.الخاصة بالرابط ) Data Type(لكل رابط لون و شكل و سمك يعتمد على نوع البيانات

مصفوفة ذات بعد مصفوفة ذات بعدين اللون واحد

Scalar( وحيد نوع الرابط (القيمة

رقم ) برتقالى ( عشرى

(floating point)

رقم(ازرق (صحيح

Integer

رقمى(Numeric)

Page 37: Lab VIEW - Basics

اخضر ثنائى

(Boolean) (String) نص وردى

:Dataflow Programming )ثالثا

.البرمجة المعتمدة على تدفق البيانات

.Dataflowعلى تدفق البيانت او LabVIEW برامج يعتمد تنفيذ

تخرج Nodeو عند انتهاء تنفيذ . عندما تكون البيانات جاهزة على مداخلهافورا Nodeتنفذ .التالية لها فى مسار تدفق البيانات Nodeعلى مخارجها لتكون جاهزة للـ فورا النواتج

حيث تنفذ التعليمات تباعا Control Flowوذلك عكس لغات البرمجة االخرى التى تعتمد على . البرنامج حسب ترتيب آتابتها فى

. حاصل الجمع من٥٠برنامج يقوم بجمع رقمين ثم يقوم بطرح : مثال

وبعد . الجمع تلقائيادالة لذلك تنفذ ) Y وX( دالة الجمع ىنالحظ ان البيانات جاهز على مدخلالجمع يخرج الناتج على مخرج دالة الجمع لتكون البيانات جاهزة على مدخلى تنفيذ دالة ءانتها من يخرج الناتجها و بعد تنفيذدالة الطرحلذلك تنفذ ) ٥٠حاصل الجمع و الثابت (الطرح دالة

.Zالى اداة االظهار مخرج دالة الطرح

ين وتخرج الناتج الى دالة اال عندما تقوم دالة الجمع بجمع الرقم اى ان دالة الطرح ال تنفذ .الطرح

.ين مستقلين احدهما يبدأ بدالة الجمع واالخر يبدأ بدالة القسمةئآما بالشكل يوجد جز: ٢مثال

Page 38: Lab VIEW - Basics

نالحظ ان البيانات جاهزة على مداخل دالة الجمع و ايضا البيانات جاهزة على دالة القسمة فأى اذا البد من طريق تحدد من . تماما ضهماين مستقلين عن بعئحقيقا ال نعلم فالجز.منهما ينفذ اوال

.وهذا ما سنتعلمة فى الدروس القادمة ان شاء اهللا. سينفذ اوال ثم الذى يليه

CtoF.vi: مثال

:هدف المثال

تقوم بأخذ رقم يمثل درجة الحرارة بالسليزيوس وتحويلها الى رقم يمثل درجة VIانشاء .الحرارة بالفهرنهيت

The Front Panel

The Block Diagram

Page 39: Lab VIEW - Basics

:الخطوات

تحميل ملف جديد-١

LabVIEW قم بتحميل برنامج -١

.New VIاضغط -٢

Page 40: Lab VIEW - Basics

.جديدة VIلعمل . Blank VI اختر -٣

:Front Panelتصميم -٢

The Front Panel ستظهر لك

. Numeric Control ادراج -١

.وهو اداة التحكم التى سنستخدمها الدخال درجة الحرارة بالسليزيوس

Page 41: Lab VIEW - Basics

. بهذا الشكل آما فى الصورة التاليةControlيظهر لنا

هذا يعنى ان اى آتابة سنقوم بكتابتها ستحل محل آلمة . مظللةNumericالحظ ان آلمة Numeric.

او نضغط اى مكان ToolBarالموجود فى Enter Button ثم اضغط deg C نكتب .Enter او نضغطControl اخر خارج

ملحوظة

فاذا اردت بعد ان تعيد .Numeric مباشرة سيختفى التظليل من على آلمة deg Cاذا لم تكتب حتى تظلل ثم ) Numericآلمة ( Label قم بالضغط نقرتيين على deg Cالتظليل وتكتب

.deg Cاآتب

.Numeric Indicator ادراج -٢

.وهو اداة االظهار التى سنستخدمها الخراج درجة الحرارة بالفهرنهيت

Page 42: Lab VIEW - Basics

Error!

.يظهر لنا بهذا الشكل آما فى الصورة التالية

او اضغط اى مكان ToolBarالموجود فى Enter Button ثم اضغط deg Fنكتب .Enter او نضغط Indicatorاخر خارج

:ملحوظات

Page 43: Lab VIEW - Basics

.Indicator و اداة االظهار Controlالحظ الفرق بين اداة التحكم -١

.Labelلكل اداة يوجد لديها عنوان -٢

او Controlهذا العنوان يمكن ان يظهر او يختفى بالضغط بالزر االيمن للماوس على Indicatorثم اختيار

Visible Items<<Label

. الخاصة بالبرنامج The Front Panelاالن قمنا بتصميم

:The Block Diagram تصميم -٣

.Window<<Show Diagram او نختار Ctrl+Eنضغط

Page 44: Lab VIEW - Basics

. لكتابة آود البرنامجBlock Diagramلننتقل الى

:نالحظ االتى

موجود فى Control Terminal له Front Panel الموجود فى Control ان -١Block Diagram بنفس العنوان deg C.

موجود Indicator Terminal له Front Panel الموجود فى Indicator ابضا -٢ deg Fبنفس العنوان Block Diagramفى

Indicatorسمكا من االطار الخارجى للـ اآثر Control Terminal االطار الخارجى للـ -٣Terminal.

Terminal الخاص بالـ Data type وهى تعنى ان Terminals على DBLتوجد آلمه -٤ .Double-Precision Floating Point Numberهو

:تعليق

Data typeتحدد السعة التخزينية للمتغير ومدى االرقام التى يمكن ان يأخذها .

درجة حرارة سليزيوس الى درجة حرارة فهرنهيت نستخدم هذة العالقةللتحويل من

Deg F=1.8*Deg C+32

Page 45: Lab VIEW - Basics

ويمكن ان نكتبها بهذا الشكل

Deg C*1.8+32=Deg F

لعمل التحويل المطلوب وايضا Add و دالة الجمع Multiplyاذا سوف نحتاج الى دالة الضرب .٣٢٫٠ و ١٫٨نحتاج ثابتين بالقيم

.Multiplyلضرب ادراج دالة ا-١

Error!

اسحب رمز الدالة الى المكان الذى تريده ثم اضغط بالزر االيسر للماوس لوضعه فى المكان الذى .حددته

Page 46: Lab VIEW - Basics

.Addادراج دالة الجمع -٢

Error!

Page 47: Lab VIEW - Basics

اسحب رمز الدالة الى المكان الذى تريده ثم اضغط بالزر االيسر للماوس لوضعه فى المكان الذى .حددته

.Numeric Constants ادارج الثابتين -٣

كان الذى تريده ثم اضغط بالزر االيسر للماوس لوضعه الى المNumeric Constantاسحب .فى المكان الذى حددته

Page 48: Lab VIEW - Basics

اى انه يمكنك آتابة القيمة التى تريدها . مظلل ٠ وداخله رقم Numeric Constantيظهر .مباشرة

).١٫٨( وهى Numeric Constantاآتب قيمة

Page 49: Lab VIEW - Basics

او اضغط اى مكان اخر خارج الثابت ToolBarالموجود فى Enter Buttonاضغط .Enterاو اضغط

Page 50: Lab VIEW - Basics

تأآد من آتابة العالمة العشرية والصفر الذى على . آما سبق٣٢٫٠ادرج الثابت الثانى الذى قيمته .Data Type DBLيمينها حتى يكون له

الربط او التوصيل-٤

.االن وبعد ادراج الدوال والثوابت نقوم بالربط بينهم بأستخدام اداة الربط

او ممكن ) Terminal( تلقائيا عند وضعها على المداخل او المخارج تظهر اداة الربط .Tools Paletteان تختارها من

Page 51: Lab VIEW - Basics

.يتحرك معك الخط عندما تحرك اداة الربط Control Terminal الحظ بعد ربط الخط بـ

Page 52: Lab VIEW - Basics
Page 53: Lab VIEW - Basics

نكمل باقى الوصالت آما بالشكل

بهذا الشكلThe Block Diagramفى النهاية يصبح

Page 54: Lab VIEW - Basics

.االن انتهينا من تصميم البرنامج

الحظ

انه ال يوجد خط منقط-١

مما اثناء آتابة البرنامج و االن اصبحت هكذا ان ايقونة تنفيذ البرنامج آانت هكذا -٢ .يعنى انه ال يوجد خطأ فى الوصالت وان البرنامج يمكن ان ينفذ

:تخزين البرنامج -٤

او آجزء من مكتبة تحتوى عددة برامج viيمكنك تخزين البرنامج آهيئة ملف مستقل باالمتداد .llbوتكون بأمتداد

: تخزين الملف فى ملف مستقل-١

File << Saveاختر

Page 55: Lab VIEW - Basics

.حدد مكان التخزين و اسم الملف

Page 56: Lab VIEW - Basics

تخزين البرنامج فى مكتبة-٢

. اذا آان هذة اول مرة تخزنهFile<< Saveاختر

اذا آنت خزنته من قبل وتريد ان تخزنة باسم اخر او فى مكان File <<Save Asاو اختر .اخر

Page 57: Lab VIEW - Basics

تنفيذ البرنامج

Operating Tool باستخدام Deg C Control فى ادخل قيم الحرارة بالسليزيوس .الجديد وآتابة القيمة Controlاوبالضغط مرتين بالزر االيسر للماوس داخل

لتظهر قيمة درجة الحرارة Tool barفى ثم قم بتنفيذ البرنامج باستخدام ايقونة التنفيذ .Deg F Indicatorبالفهرنهيت فى

لتصبح هكذا بالضغط االيقونة يمكنك ان تستخدم التنفيذ المستمر العادة تنفيذ البرنامج تلقائيا.

.اليقاف التنفيذ المستمر نضغط ايقونة ايقاف التنفيذ

Page 58: Lab VIEW - Basics

ن شاء اهللا فى تكملة الدرس الثانى و الدرس الثالث الى القاء ا

واهللا الموفق

Page 59: Lab VIEW - Basics

الثالثالدرس

VIتحرير واختبار

Page 60: Lab VIEW - Basics

الفهرس

iii.......................................................................................................هدف الدرس

VI............................................................................................................1تحرير

1.........................................................................:جديدة ) Objects(اضافة وحدات

Objects( :...............................................................................1(اختيار الوحدات

2................................................................................................:تحريك الوحدات

3..................................................................................................:حذف الوحدات

Label: (.....................................................................................4(اضافة عنوان

Owned Labels. (.....................................................4(عناوين خاصة بالوحدات

Free Labels ( :........................................................................4(عناوين حرة

5.......................................................................... : (Wires)اختيار وحذف الروابط

Broken wires (:..................................................................7(الروابط المقطوعة

8..........................................................................................:تغيير خصائص الخط

Align Objects: (....................................................................9(محازاة الوحدات

10..............................................................................:المسافات بين الوحدات ضبط

10.........................................................: ومن تطبيقات اخرى VIsنسخ الوحدات بين

10...................................................................................................:تغيير اللون

VI:..............................................................................11تمرين عملى على تحرير

LabVIEW Help...........................................................................12التعرف على

Context Help :.............................................................................12 نافذة- اوال

LabVIEW Help: ...............................................................................17 -ثانيا

NI Example Finder:.........................................................................18 -ثالثا

VI..........................................................................................21اصالح االخطاء فى

Highlight Execution............................................23 . تنفيذ البرنامج باستخدام -1

23.......................................................:(Single-Stepping)التنفيذ بنظام الخطوة -2

i

Page 61: Lab VIEW - Basics

Probe. ........................................................................................25استخدام -3

1-Generic Probe:...................................................................................26

Probe:.................................................................27 فى Indicatorاستخدام -2

3-Supplied Probes: ...............................................................................29

4- Custom Probe:..................................................................................31

33............................................................):نقاط التوقف(Breakpoints استخدام -4

ii

Page 62: Lab VIEW - Basics

iii

هدف الدرس

. VIالتعرف على جميع العمليات الخاصة بتحرير •

.LabVIEW مع نسخة الموجودHelpالتعرف على استخدام انواع •

. قابلة للتنفيذVIالتعرف على طرق تتبع االخطاء الصلحها للوصول الى •

. VIالتعرف على الطرق المختلفة الختبار تنفيذ •

Page 63: Lab VIEW - Basics

1

VIتحرير

:جديدة ) Objects(اضافة وحدات

او Controlsالضافة ) Controls Palette(علمنا من الدروس السابقة اننا نستخدم لوحة الوحدات

Indicators فى Front Panel .

االيمن بالضغط بالزر (Constants) او ثوابت Indicators او Controls ايضا يمكن اضافة

Create واختيار Block Diagram فى Node Terminalللماوس على

: )Objects (اختيار الوحدات

Blockاو Front Panel الختيار وتحريك الوحدات فى Positioningتستخدم االداة

Diagram .

Page 64: Lab VIEW - Basics

2

على الوحدات المراد مع الضغط باالداة Shiftاآثر من وحدة نضغط المفتاح ار يتوالخ

.اختيارها

ر جميع ا على اى مكان وسحب االمؤشر مع استمرار الضغط لنختط باالداة ويمكن ايضا بالضغ

الوحدات التى نريدها

:تحريك الوحدات

. الختيار وتحريك الوحدات تستخدم االداة

Page 65: Lab VIEW - Basics

3

االسهم فى تحريك الوحدات دمختاو ان تس مكان اى الىفبعد اختيار الوحدة يمكنك ان تقوم بسحبها

.المختارة

. مع السهم لتسريع عملية التحريك Shiftستخدام السهم فى التحريك ان تضغط المفتاح عند انكويم

:حذف الوحدات

Edit>>Clear او اختيار Delete ثم ضغط المفتاح داة اال الوحدات باختيارها اوال بفيتم حذ

:)Undo/Redo(الغاء الخطوات

والعادة تلك Editمن القائمة Undoستخدم اها ئتريد الغاولو قمت بعمل بعض الخطوات

. من نفس القائمة Redoها اختر ائالخطوات بعد الغ

:نسخ الوحدات

.اذا اردت ان تحصل على اآثر من نسخة من اى وحدة

.Edit>>Past ثم اختر Edit>>Copy ثم اختر اختر الوحدة باالداة

مع الى مكان اخراسحب الوحدة ثم Ctrl ثم قم بالضغط المفتاح او اختر الوحدة باالداة

استمرار ضغط المفتاح

.

Page 66: Lab VIEW - Basics

4

:)Label (اضافة عنوان

.يستخدم العنوان لتعريف الوحدات

وهما) Labels(ويوجد نوعان من العناوين

.)Owned Labels (عناوين خاصة بالوحدات -

ت بتحريك ير مكانه منفردا ولكن اذا قميهذا العنوان يمكن تغ.فلكل وحدة يوجد لها عنوان

. سوف يتحرك معها العنوان الخاص بهاة الوحد

الخاص بالوحدة و اخفاء العنواناويمكن اظهار

: ) Free Labels(عناوين حرة -

اضافتها او تحريكها او حذفها دون اى ارتباط بأى مرتبطة بأى وحدة ويمكنتوهى ليس

.شىء اخر

Block او Front Panelسواء فى وهى تستخدم للكتابة فى اى مكان فى البرنامج

Diagram.

على اى مكان فارغ ثم اآتب ما تريدهLabeling والنشاء عنوان حر اضغط باالداة

او اضغط Toolbar الموجودة فى اضغط على او ثم اضغط على اى مكان اخر

. Enterالمفتاح

Page 67: Lab VIEW - Basics

5

: (Wires)اختيار وحذف الروابط

.Wire Segmentفى الرابط باسم يسمى اى جزء افقى او رأسى

.Bendتسمى Wire Segmentاثنين ونقطة التقاء

. Junction او اآثر تسمى Wire Segment ثالثة لكن اذا آات نقطة االلتقاء بين

Junction الى Junction التى تصل Wire Segment على انه آل Wire Branchيعرف

Junction بدون وجود اى Terminal الى Terminal او Terminal الى Junction او

.بينهما

Page 68: Lab VIEW - Basics

6

. الرابط ضغطة واحدة باستخدام االداة نضغط على Wire Segmentوالختيار

Branchر اوبالضغط مرتين نخت

ر الرابط آلهاوبالضغط ثالث مرات متتالية نخت

Page 69: Lab VIEW - Basics

7

.Deleteاح بالضغط على مفتهبعد اختيار اى جزء يمكن حذف

) :Broken wires(الروابط المقطوعة

هذا الخطأ يمكن ان يحدث .وهى تظهر فى صورة خط متقطع وهى تعنى ان هناك خطأ فى التوصيل

Data(السباب عديدة منها على سبيل المثال ان تصل وحدتين غير متجانستين فى نوع البيانات

Type (.

سبب الخطأ يوضح ععلى الخطأ يظهر مرب بتحريك االداة

ات متتالية طيمكن حذف الراوبط المقطوعة بالطريقة العادية باختيار الرابط بالضغط عليه ثالث ضغ

.Deleteثم ضغط المفتاح

لحذف جميع الروابط Ctrl+B او بالضغط Edit من القائمة Remove Edit Wiresاو ضغط

.المقطوعة

عة وذلك الن فى بعض االحيان تظهر ويع الروابط المقط يجب توخى الحذر عند حذف جم:تحذير

.عة النك لم تكمل بعد توصيل باقى الروابطوبعض الروابط مقط

Page 70: Lab VIEW - Basics

8

:الخط خصائص تغيير

باختيار النص الذى نريد تعديل خصائص نص ألى و حجم الخط Style و Font يمكن تغيير

.Text Settingالخط له و تغيير الخصائص من القائمة المنسدلة

. لها اآثر من نص Indicators او Controlsبعض

. Y-Axis و X-Axis و display indicator له عنوان و Graphمثل

واختيار التعديل من االداةكل نص منفردا بتظليل النص بواسطةلخط ال يمكن تعديل خصائص

.Text Settingالقائمة

Page 71: Lab VIEW - Basics

9

:)Align Objects(محازاة الوحدات

Alignاذا اردت محازاة مجموعة من الوحدات قم باختيارها اوال ثم اختر نوع المحازاة من القائمة

Objects.

Page 72: Lab VIEW - Basics

10

:ضبط المسافات بين الوحدات

Distributeاختر الوحدات التى تريد ضبط المسافات بينها ثم اختر آيفية ضبط المسافات من القائمة

Objects

: ومن تطبيقات اخرى VIsنسخ الوحدات بين

آما يمكن نسخ . Edit>>Past ثم Edit>>Copy الى اخرى باستخدام VIيمكن نسخ وحدات من

.Block Diagram او Front Panelصور او نصوص من تطبيقات اخرى الى

:تغيير اللون

فى Terminalsلون تغيير فمثال ال تستطيع . يمكن تغيير اللون لكثير من الوحدات ولكن ليس آلهم

Block Diagram النها دالة على Data Type.

ثم اضغط بالزر االيمن على الوحدة التى تريد تغيير لونها Coloringولتغيير اللون اختر االداة

.ثم اختر الون الذى تريده

Page 73: Lab VIEW - Basics

11

) السابقصفراء فى الشكللا داخل الدائردوالموج( من لوحة االلوان Tلجعل الوحدات شفافة اختر

:VIتمرين عملى على تحرير

الموجود مع الدرس على هيئة صفحة انترنت ثم قم بتنفيذه عملياEditing Exerciseشاهد العرض

Page 74: Lab VIEW - Basics

12

LabVIEW Helpالتعرف على

الموجودة والتعرف على االخطاءVI اختبارانشاء و فى LabVIEW Helpنظر الهمية استخدام

قبل التعرف على آيفية اختبار LabVIEW Helpرف على آيفية استخدام نتعسوف .فى البرنامج

VI.

: Context Help نافذة- اوال

او Front Panelالموجودة فى ) Objects(تظهر هذة النافذة المعلومات االساسية عن الوحدات

Block Diagram.

Context فى نافذة دةفبتحريك المؤشر على اى وحدة تظهر المعلومات االساسية عن هذة الوح

Help.

راالظهار هذة النافذة او اخفائها نخت

Help>>Show Context Help

.Toolbar فى الموجود (Show Context Help) او بالضغط علىCtrl+H او نضغط

Page 75: Lab VIEW - Basics

13

Block Diagram ) SubVi او Front Panelموجودة فى ةوحد اى ك المؤشر علىيحرتعند

Context هذة الوحدة فى تظهر ) Indicatorو ا Controlو ا Constantوا Functionو ا

Help على شكل ايقونة )icon (موضح بهاTerminals وعناوينها.

:Terminals اع منوتوجد ثالث انو

1- Required Terminals :

ابل للتنفيذ وسيظهر قبرنامج اليها لن يكون الل واذ لم تقم بالتوصي يجب ان تقوم بالتوصيل اليها

. بهذا الشكل Runمفتاح

.)Bold( بالخط الغليظ Context Helpفى نافذة Terminals تظهر عناوين هذة

Page 76: Lab VIEW - Basics

14

2- Recommended Terminals:

Terminals هذة صيل اليها ستأخذيعنى انك اذا لم تقم بالتو ( يفضل ان تقوم بالتوصيل اليها

. (Plain text)بالخط العادى Terminalsتظهر عناوين هذة و) Defaultالقيم االفتراضية

.تأخذ القيم االفترضيةس فهى Terminals بدون توصيل هذةVIويمكن تنفيذ

Page 77: Lab VIEW - Basics

15

3- Optional Terminals:

. بالخط الباهت Terminalsتظهر عناوين هذة . اختيارية التوصيل

:Context Help فى نافذة مفاتيحيوجد ثالث

1- Hide Optional Terminals and Full Path :

الملف الذى االختيارية آما يقوم بعرض مسار Terminalsيقوم هذا المفتاح باخفاء او اظهار

. فقط اسم الدالةظهارا آامال او SubVIالدالة او تخزن فيه

Page 78: Lab VIEW - Basics

16

2- Lock Context Help:

ففى هذة الحالة عندما نشير بالمؤشر Context Helpهذا المفتاح يقوم بتثبيت محتويات النافذة

.على وحدات اخرى ال تتغير محتويات النافذة

3- Detailed help:

Contextعروضة فى نافذة م للوحدة الLabVIEW Helpلو ان هناك معلومات اآثر فى

Help او بالضغط على آلمة يمكن عرض هذة المعلومات بالضغط على هذا المفتاح

Detailed Help فى اسفل النافذة .

Page 79: Lab VIEW - Basics

17

:LabVIEW Help -ثانيا

.LaBVIEW آاملة عن اى شىء تريده للبرمجة بواسطة Help ملفات LabVIEWيوجد مع

.Context Help من خالل نافذة LabVIEWولقد رأينا اننا يمكن فتح

من القائمةLabVIEW Helpآما يمكن فتح

Help >>Search the LabVIEW Help

Helpعلى اى وحدة واختيار وايضا بالضغط بالزر االيمن للماوس

Help على مثال

Page 80: Lab VIEW - Basics

18

:NI Example Finder - ثالثا

ل فيها لتناسب التطبيق الذى دي آثير من االمثلة التى يمكن ان تقوم بالتع LabVIEWيوجد مع نسخة

ما انها تفيد فى فهم آثير من فى تطبيقك آاتريده ويكن نسخ بعض االجزاء منها الستخدامه

.LabVIEWالموضوعات فى برمجة

سواء آان موجودا فى البحث والحصول على المثال الذى تريدهNI Example Finderويستخدم

.NI او على موقع شرآة LabVIEWمع نسخة

فى الشاشة االفتتاحية لـ Find Examples بالضغط على NI Example Finderويتم استدعاء

LabVIEW) Getting Started.(

Page 81: Lab VIEW - Basics

19

او باختيار

Help>>Find Example

تقوم بالضغط عليه ه سهل االستخدام فبعد تحديد المثال الذى تريد NI Example Finderو

. بتحميل المثال LabVIEWبالماوس ضغطتين متتاليتين ليقوم

Page 82: Lab VIEW - Basics

20

Page 83: Lab VIEW - Basics

VIاصالح االخطاء فى

وهذا يعنى ان يظهر مفتاح التنفيذ بهذة الصورة VIى عندما يوجد خطأ ما فى ربط الوحدات ف

VIتحتوى على اخطاء و غير قابله للتنفيذ .

واستكشاف اسبابها نضغط المفتاح يجب اصالح االخطاء اوال ولمعرفة االخطاء VIلتنفيذ

رااو نخت

View>>Error List

)Error list(وذلك لعرض نافذة بها قائمة باالخطاء

21

Page 84: Lab VIEW - Basics

LabVIEW فى القائمة السابقة نعرض الموضوع الموجود فى Helpوبالضغط على مفتاح

Helpوالذى يشرح الخطأ بالتفصيل وطريقة اصالحة خطوة بخطوة .

Data Typeمن اآثر االخطاء شيوعا هى الربط بين وحدتين مختلفتين فى و

حتى يصبح مفتاح التنفيذ ) Wires( ويجب ان يتم اصالح جميع االخطاء والتأآد من جميع الروبط

. قابلة للتنفيذ VI اى ان بهذا الشكل

22

Page 85: Lab VIEW - Basics

VIاختبار

بالصورة المتوقعة او انها VI قابلة التنفيذ ولكن لم تنفذ VIاذا تم اصالح جميع االخطاء واصبحت

تنفيذ ة ادوات لتتبعد يتيح لنا ع LabVIEW و .VIتعطى خطأ فى النتائج فالبد من اختبار تنفيذ

: منهاالبرنامج و اختباره

Highlight Execution .تنفيذ البرنامج باستخدام -1

ثم ) تحول الى ي (Block Diagram فى Toolbar الموجود فى بالضغط على مفتاح

يتم عرض حرآة تنفيذة البرنامج بالبطىء مع عرض حرآة تدفق الضغط على مفتاح التنفيذ ب

. البرنامجالبيانات اثناء تنفيذ

:(Single-Stepping)بنظام الخطوة التنفيذ -2

على هيئة خطوات يتم تنفيذ فى آل خطوة Block Diagramفى بعض االحيان تحتاج لتنفيذ

Node واحدة وهذا ما يعرف بـ Single-Steping بخطوة او التنفيذ بنظام الخطوة .

Toolbar الموجودين فى Step Out و Step Over و Step Intoالمفاتيح م تستخد

. فى تنفيذ البرنامج خطوة بخطوةBlock Diagram فى

23

Page 86: Lab VIEW - Basics

.احد المفاتيح السابقة نضغط لبداية تنفيذ البرنامج بنظام الخطوةو

الحالية وتكون Node يتم تنفيذ Step Over و Step Intoوبالضغط على المفتاحين

Node وة التاليةالتالية جاهزة التنفيذ فى الخط.

فى خطوة واحدة وال يتم الدخول فيها Node يتم تنفيذ Step Overعند الضغط على المفتاح

فسوف يتم تنفيذها آاملة فى خطوة واحدة و يتم االنتقال الى SubVI عبارة عن Nodeفمثال لو ان

Node تلك التالية فى الخطوة التالية دون الدخول فى التفاصيل الداخلية فى تنفيذ SubVI.

خطوة SubVI خطوة لتنفذ SubVIيتم الدخول فى Step Intoاما بالضغط على المفتاح

.بخطوة ايضا

الذى ينفذ حاليا وقت VIاو Structure او Block Diagram النهاء Step Out يستخدم

.الضغط على المفتاح ليتوف التنفيذ عند الخطوة لتالية او انتهاء التنفيذ تماما

دث ح سوف يظهر لنا نص يوضح ما الذى سي فى اى مرحلةبتحريك مؤشر الماوس على تلك المفاتيح

.ة المفاتيحنا هذطلو ضغ

لتكملة تنفيذ البرنامج بالطريقة Pauseيمكن اثناء التنفيذ بنظام الخطوة الضغط على االمفتاح

العادية

24

Page 87: Lab VIEW - Basics

عندما فى تكون SubVI يظهر سهم على ايقونة Highlightعند التنفيذ بالخطوة و تفعيل المفتاح

.فى حالة تنفيذ

. Probeاستخدام -3

. لمعرفة البيانات على المسارات وقت تنفيذ البرنامجProbeستخدم ي

. االداةبأستخدام Probeويمكن وضع

تيح ويعطى نتائج غير صحيحة فهى ت فى حالة اذا آان البرنامجك معقداProbeويستخدم •

.معرفة البيانات على اى مسار فى البرنامج اثناء تنفيذ البرنامج

25

Page 88: Lab VIEW - Basics

ظاهرا فى المقدمة Probeودائما ما يكون . فى البرنامج Probeويمكن وضع اآثر من •

.Block Diagram او Front Panelسواء آنت تستخدم

ة او مع او التنفيذ خطوة بخطوHighlight مع التنفيذ بواسطة Probeيمكن استخدام •

Breakpoints) لمعرفة مكان الخطأ فى البرنامج ) سنشرحها فى الفقرة القادمة.

. Probeال يمكن تعديل القيم التى تظهر فى نافذة •

. الموجودة على مساراتها Probes بـ VIاليتأثر تنفيذ •

: Probeويوجد اآثر من نوع للـ

1-Generic Probe:

.دفق خالل احد المساراتيستخدم لعرض البيانات التى تت

بالضغط بالزر االيمن للماوس على المسار واختيار Generic Probeويمكن الحصول على

Probe . من خاللكن محددا من قبليوهذا اذا لم Custom Probe )ا فى هذا سيأتى شرحه

.الموجود على هذا المسار) Data Type(لنوع البيانات ) الدرس

26

Page 89: Lab VIEW - Basics

:Probe فى Indicatorاستخدام -2

. لعرض البيانات على المسارات اثناء تنفيذ البرنامج Probe فى Indicatorيمكن استخدام

. المناسب للبيانات Indicatorوفى هذة الحالة نستخدم

. لمعرفة البيانات الدالة على اشارة على احد المسارات Probe فى Chart فمثال يمكن استخدام

نضغط بالزر االيمن للماوس على المسار ونختار Probe فى Indicatorولوضع

Custom Probe>>Controls

الذى نريده Controlثم نختار

27

Page 90: Lab VIEW - Basics

الذى تم عمله Probeهذا هو

28

Page 91: Lab VIEW - Basics

3-Supplied Probes:

. تعطى معلومات اآثر شمولية عن البيانات الموجودة على المسارVIوهى عبارة عن

يعطى ) فى الدروس القادمه ان شاء اهللاRefnumيتم شرح س ( VI Refnum Probeوفمثال

.Ref الخاصة بالـ Hex و مسار تخزينه و قيمه VIمعلومات عن اسم

فمثال يمكن وضع شرط عندما يتحقق على البيانات . مع البرنامج Probeويمكن ان تتفاعل هذة

الموجودة على المسار يتم ايقاف تنفيذ البرنامج

وهى تختلف حسب نوع البيانات . Custom Probe قائمة على فى اSupplied Probeتظهر

.الموجودة على المسار

29

Page 92: Lab VIEW - Basics

30

Page 93: Lab VIEW - Basics

4- Custom Probe:

Probe موجود فعال او انشاء Probe خاص بك وذلك بالتعديل فى Custom Probeعمل يمكن

نختار نضغط بالزر االيمن للماوس على المسار ثم Probeوالنشاء . جديد

Custom Probe>>New

.ريدهن الذى Probeفتظهر لنا مجموع نوافذ تحدد مواصفات

31

Page 94: Lab VIEW - Basics

هذا يصبح)Data Type( خاص لنوع معين من البيانات Probeعندما يتم عمل :ملحوظة

Probe هو Probe االفتراضى لهذ النوع من البيانات الذى يظهر عندما نضغط بالزر االيمن على

.Probeنختار المسار و

32

Page 95: Lab VIEW - Basics

4-Breakpoints)نقاط التوقف(:

VIاليقاف تنفيذ Block Diagram فى Breakpoint توضع نقاط التوقف بواسطة االداة

.عند وصول التنفيذ الى هذة النقاط

33

Page 96: Lab VIEW - Basics

Block diagramفى ) Wire( او مسار Node او VI على Break Pointويمكن ان توضع

فى المقدمةBlock Diagramتظهر نافذة ) Breakpoint(طة توقف عند نقVIعندما تتوقف

.الذى يحتوى نقطة التوقف Nodeويحدث وميض للمسار او

34

Page 97: Lab VIEW - Basics

مما على نقطة توقف موجودة فعال تظهر هذة االداة بهذا الشكلBreakpointعند تحريك اداة

Breakpoint ة التوقف بالضغط بهذة االداة على نقطBreakpoint نقطة توقف يعنى ان هناك

.تلك النقطةتزال

الموجود فى Pause يظهر المفتاح Breakpoint عند نقطة توقف VIعند توقف

Toolbarبهذا الشكل .

:وفى تلك الحالة يمكن عمل احدى تلك الخطوات

. Toolbar الموجودة فى تكملة تنفيذ البرنامج بنظام الخطوة بخطوة بواسطة المفاتيح -1

. للتأآد من القيم على المسارت Probe استخدام -2

.Front Panel الموجودة فى Controlsتغيير قيم الـ -3

لتكملة تنفيذ البرنامج حتى يصل البرنامج الى نقطة توقف اخرى او Pauseضغط المفتاح -4

.ها تنفيذ البرنامجتحتى ان

:تمرين عملى

. الدرس على هيئة صفحة انترنت ثم قم بتنفيذه عمليا الموجود معDebug Exerciseشاهد العرض

35

Page 98: Lab VIEW - Basics

بفضل اهللالثالثانتهى الدرس ا

باذن اهللا تعالىالرابعوالى الدرس

Page 99: Lab VIEW - Basics

SubVIانشاء الدرس الرابع

الدرس الرابع

SubVI انشاء

LabVIEWدروس تعليم منتدى مرآز الرواد للتقنية

Page 100: Lab VIEW - Basics

SubVIانشاء الدرس الرابع

الفهرس

ii....................................................................................................هدف الدرس

SubVI................................................................................................1ما هى

The Icon and Connector Pane................................................................1

1-The Icon...........................................................................................2

Icon Editor..........................................................................................3

2- Connector Pane...............................................................................5

Terminals) (Terminals Patterns............................................6تغيير شكل

Indicators ...............................................7 و Controls بـ Terminalsربط

The Help Window....................................................................................11

Terminal ...........................................................................11 تحديد نوع -1

VI.....................................................12 للـ ) Documentation( آتابة وصف-2

Indicator ......................................................13 و Controlآتابة وصف للـ -3

SubVI.........................................................................................15آيفية عمل

SubVI ..................................................................15 آا VIآيفية استخدام :اوال

16......................................................................... باالختيار SubVIعمل : ثانيا

Relink to SubVI................................................................................20

The VI Hierarchy Window......................................................................22

LabVIEWدروس تعليم i منتدى مرآز الرواد للتقنية

Page 101: Lab VIEW - Basics

SubVIانشاء لرابع الدرس ا

رسهدف الد

.SubVIفية انشاء و استخدام يالتعرف على آ -1

.VIالتعرف على الهيكل البنائى للـ -2

. Icon Editorاستخدام محرر االيقونات آيفية التعرف على -3

.Connector Paneالتعرف على آيفية اعدد -4

.VI للـ Documentation) فوص(عرف على آيفية عمل تال -5

LabVIEWدروس تعليم ii منتدى مرآز الرواد للتقنية

Page 102: Lab VIEW - Basics

SubVIانشاء الدرس الرابع

SubVIما هى . اخرىVI الخاص بـ Block Diagramم فى آاملة تستخد VIهى

.C مثل فى لغات البرمجة االخرى Sub Routineوهى تماثل

كوين اخرى لت VI قمت بانشائها يمكن ان تعيد استخدامها فى VI ن اى فا LabVIEWوهذة احدى مميزات

.وظيفة اآبر

.SubVIs على عدد غير محدود من VIويمكن ان تحتوى

.SubVIs ايضا يمكن ان تحتوى على العديد من SubVIوهذة

يمكن ان SubVIفكل . LabVIEWفى ) Hierarchical Nature( وهذا ما يسمى بطبيعة البناء الهيكلى

.SubVIsتحتوى هى االخرى على

The Icon and Connector Pane يجب ان تبنى VI الخاصة بـ Block Diagram و Front Panelبعد بناء

The Icon and Connector Pane الخاصة بها لكى تستطيع استخدامها آا SubVI.

LabVIEWدروس تعليم 1 منتدى مرآز الرواد للتقنية

Page 103: Lab VIEW - Basics

SubVIانشاء الدرس الرابع

1-The Icon

االيمن من نافذة هذة االيقونه موجودة فى الرآن العلوى . Iconيوجد VIعلمنا من الدرس االول ان لكل

Front panel او Block diagram.

.و آتابة او آالهماامكن ان تحتوى على رسم وهذة االيقونة ي VIوهذة االيقونة هى تمثل

التى تم فتحها دةالجدي VI عددعلى هو يدل والرقم الموجود على االيقونه و الشكل المبدئى لاليقونة هو

ستكون ايقونتها بهذا الشكل اخرى جديدة VIبمعنى انك اذا قمت بعمل . LabVIEWمنذ تشغيل برنامج

.واحدالحظ ان الرقم ازداد

هذة االيقون الى الشكل الذى تريده وذلك تعديل ويمكن

.Edit Iconيقونة واختيار على االللماوس بالضغط بالزر االيمن •

.او بالضغط ضغطتين متتاليتين على االيقونة •

LabVIEWدروس تعليم 2 منتدى مرآز الرواد للتقنية

Page 104: Lab VIEW - Basics

SubVIانشاء الدرس الرابع

او باختيار •

File >>VI Properties

Edit Icon ثم الضغط على Generalثم اختيار

.هذا البرنامج يتيح تعديل شكل االيقونات. Icon Editorسابقة تؤدى الى فتح آل الخيارات ال

Icon Editor

.ى تريدها ت ال Iconبهذا البرنامج تستطيع تصميم

LabVIEWدروس تعليم 3 منتدى مرآز الرواد للتقنية

Page 105: Lab VIEW - Basics

SubVIانشاء الدرس الرابع

: عدة اداوت وهى آالتالىIcon Editorويوجد فى برنامج

.نقطةب للرسم او المسح نقطة Pencilاالداة

اثناء Shift و اذا اردت ان يكون الخط افقيا او راسيا اضغط المفتاح .ط لرسم الخطو Lineاالداة

.رسم الخط

.ليكون لون الكتابة Icon لنسخ لون موجود فى Color Copyاالداة

. لملىء مساحة محددة بلون الكتابةFillاالداة

االداة ضغتتين متتاليتين يتم بالضغط على هذة .مستطيل فارغ بلون الكتابة لرسم Rectangleاالداة

. بلون الكتابة آلهارسم اطار خارجى لاليقونة

. لرسم مستطيل اطاره بلون الكتابة و مظلل بلون الخلفيةFilled Rectangleاالداة

بلون الكتابة م مستطيل على االيقونه آلها اطارهضغط ضغتتين متتاليتين على هذة االداة يتم رسلبا

.فيةومظلل بلون الخل

. الختيار مساحة معينة لمسحها او نسخها او نقلها الى مكان اخرSelectاالداة

يتم مسح محتوى االيقونه Deleteبالضغط على هذة االداة ضغطتين متتاليتين ثم الضغط على مفتاح

.آلها

صائص الخط ويمكن يتم فتح نافذة بها خبالضغط ضغطتين متتاليتين . للكتابة على االيقونةTextاالداة

.تعديل تلك الخصائص

لون الكتابة هو المستطيل االمامى ولون الخلفية المستطيل (و اختيار لون الكتابة ولون الخلفية الظهار

. وبالضغط على اى المستطيلين يتم اختيار اللون )الخلفى

LabVIEWدروس تعليم 4 منتدى مرآز الرواد للتقنية

Page 106: Lab VIEW - Basics

SubVIانشاء الدرس الرابع

2- Connector Pane

لها Connector Pane البد من اعداد SubVI آا VIلكى تستخدم

. Terminalsعبارة عن مجموعة من Connector Pane و

.VIودة فى ج موIndicators و Controls تمثل Terminals هذة

.SubVIلكى يمكن استخدامها آا VI هى تحدد المداخل والمخارج للـConnector Paneو

Iconضغط بالزر االيمن للماوس على ن VI للـ Connector Paneوالظهار

.Show Connectorونختار

LabVIEWدروس تعليم 5 منتدى مرآز الرواد للتقنية

Page 107: Lab VIEW - Basics

SubVIانشاء الدرس الرابع

يمكن ان يمثل مدخل او مخرج Terminal هذا Terminal يعبر عن Connector Paneآل مستطيل فى

. آما سنرىIndicator او Controlحسب هل هو مربوط بـ

يمكن ان يساعد هذا الشكل التخيلى على تقريب الصورة

.Indicatorاو Control باى ليست مربوطة Terminals الحظ من الشكل السابق انه يمكن ان يوجد

.Connector Paneفى مقابل Terminal ليس له Indicatror او Controlوايضا يمكن ان يكون هناك

Terminals) (Terminals Patternsتغيير شكل

االيمن للماوس على ضغط بالزر وذلك بال Terminals او عدد Terminalsيمكن تغير الشكل التنظيمى للـ

Connector pane ثم اختر Patterns تر ثم اخPatternالذى تريده .

LabVIEWدروس تعليم 6 منتدى مرآز الرواد للتقنية

Page 108: Lab VIEW - Basics

SubVIانشاء الدرس الرابع

Indicator او Control باى اى لن ترتبط زائدة Terminals بحيث يكون هناك Patternويفضل ان تختار

. فى المستقبل Indicator او Controlحتى يسهل التعديل اذا احتجت ان تضيف اى فى الوقت الحالى

.16دم اآثرمن لكن يفضل اال تستخ28 هو Terminalsاقصى عدد للـ

Flip وذلك بالضغط بالزر االيمن للماوس واختيار Connector Pane فى Terminalsيمكن تغيير ترتيب

Horizontal) المحور االفقى دوران على ( اوFlip Vertical ) او ) الدوران على المحور الرأسىRotate

90 Degree ) درجة90او الدوران (

.Terminal او حذف Terminalآما يمكن اضافة

:Indicators و Controls بـ Terminalsربط

بـ Connector Pane الموجودة فى Terminals يجب ربط VIللـ Connector Paneبعد تحديد

Controls و Indicators دة فى و الموجFront Panel.

Connector pane على اليسار فى Inputsل توضيح آيفية عمل الربط نؤآد انه يفضل على ان يكون وقب

. على اليمين وذلك لسهولة االستخدام وتجنب التعقيد Outputوتكون

LabVIEWدروس تعليم 7 منتدى مرآز الرواد للتقنية

Page 109: Lab VIEW - Basics

SubVIانشاء الدرس الرابع

: آيفية الربط

ثم Front Panel اظهر نافذة

.ضغط انه اصبح مظللظ بعد الح ستالTerminal اضعط على احد Wiringباستخدام االداة -1

او Control الذى تريد الربط معه ستالحظ ان Indicator او Controlاضغط بنفس االداة على -2

Indicatorفهكذا تم ربط قد احاطه خط منقط Terminal.

.Terminals اعد نفس الخطوات مع باقى -3

.والنهاء عملية الربط اضغط فى اى مكان فارغ-4

LabVIEWدروس تعليم 8 منتدى مرآز الرواد للتقنية

Page 110: Lab VIEW - Basics

SubVIانشاء الدرس الرابع

:ملحوظات

و Terminalsفى الربط اال انه اليوجد خط يربط بين Wiring على الرغم من استخدام االداة •

Controls او Indicators.

.Terminal اوال ثم Indicator او Controlفى عملية الربط يمكن ان تختار •

و اControls و Terminalsأذا حدث خطأ فى عملية الربط يمكن ان تزيل آل الروابط بين •

Indicator وذلك بالضغط بالزر االيمن واختيار Disconnect all Terminals.

واحد وذلك بالضغط علية بالزر االيمن وأختيار Terminalاو يمكن ازالة الرابط الخاص لـ •

Disconnect This Terminal.

LabVIEWدروس تعليم 9 منتدى مرآز الرواد للتقنية

Page 111: Lab VIEW - Basics

SubVIانشاء الدرس الرابع

.Show Iconيار نضغط بالزر االيمن للماوس واخت الى شكل االيقونة Connector Paneللرجوع من

LabVIEWدروس تعليم 10 منتدى مرآز الرواد للتقنية

Page 112: Lab VIEW - Basics

SubVIانشاء الدرس الرابع

The Help Window . SubVIعلومات المتاحة عن هذة م تظهر الSubVI وتحريك المؤشر على Context Helpعند اظهار نافذة

او Terminals Requiredدة وهل هذة الموجوTerminals و SubVIهذة العلومات مثل تعريف

Recommended او Optional .ض المعلومات عن هذة وتظهر النافذة ايضا بعTerminal . وهذا آله قد

.رأيناه فى الدرس السابق

.SubVI سوف نستخدمها فيما بعد آاالتى جديدة VIولكن ما يهمنا االن آيفية اعداد تلك المعلومات لـ

.Terminal تحديد نوع -1

Connectorجود فى المو Terminal بالضغط بالزر االيمن للماوس على Terminalيمكن تحديد نوع

Pane واختيار This connection is ثم نختار نوع Terminal.

:الحظ

.Recommended هو Terminalان االختيار المبدئى لنوع

.Required ه قابلة للتنفيذ اجعل نوعVIتكون كى ضرورى لTerminalلكى تجعل توصيل هذا

LabVIEWدروس تعليم 11 منتدى مرآز الرواد للتقنية

Page 113: Lab VIEW - Basics

SubVIانشاء الدرس الرابع

VI للـ )Documentation(فوص آتابة -2

VI Properties نضغط بالزر االيمن للماوس على االيقونه ثم نختار VIف للـ كتابة وصول

لتظهر لنا هذة النافذة

LabVIEWدروس تعليم 12 منتدى مرآز الرواد للتقنية

Page 114: Lab VIEW - Basics

SubVIانشاء الدرس الرابع

.Indicator و Controlآتابة وصف للـ -3

. فيها Indicator او Controlة ان تقوم بعمل وصف لكل د جديVI تصميم يفضل عند

Description and Tip واختيار Indicator او Controlلى يمن للماوس عبالضغط بالزر االوذلك

LabVIEWدروس تعليم 13 منتدى مرآز الرواد للتقنية

Page 115: Lab VIEW - Basics

SubVIانشاء الدرس الرابع

LabVIEWدروس تعليم 14 منتدى مرآز الرواد للتقنية

Page 116: Lab VIEW - Basics

SubVIانشاء الدرس الرابع

SubVI عملآيفية :SubVIيوجد طريقتين لعمل

.SubVI تم آتابتها من قبل آا VIاستخدام : االولى

.SubVI وتحويله الى Block Diagramاختيار جزء من الكود الموجود فى : الثانية

.SubVI آا VIآيفية استخدام :اوال

اخرى آا VI الخاص بها وتخزينها يمكن استخدامها فى Connector Pane وتجهيزVIبعد االنتهاء من آتابة

SubVI.

.Block Diagramفى <<Select a VI Function Palette باختياروذلك يتم

LabVIEWدروس تعليم 15 منتدى مرآز الرواد للتقنية

Page 117: Lab VIEW - Basics

SubVIانشاء الدرس الرابع

. باالختيارSubVIعمل : ثانيا

SubVI يقوم بوظيفة معينة ثم تحوله الى Block Diagramن جزء مPositioningيمكن ان تختار باالداة

وذلك باختيار

Edit>>Create SubVI

LabVIEWدروس تعليم 16 منتدى مرآز الرواد للتقنية

Page 118: Lab VIEW - Basics

SubVIانشاء الدرس الرابع

LabVIEWدروس تعليم 17 منتدى مرآز الرواد للتقنية

Page 119: Lab VIEW - Basics

SubVIانشاء الدرس الرابع

بالضغط على االيقونة ضغتتين متتاليتين ثم بعد ذلك نقوم بتعديل شكل االيقونة و تخزين SubVIويمكن فتح هذة

VIآما سبق .

LabVIEWدروس تعليم 18 منتدى مرآز الرواد للتقنية

Page 120: Lab VIEW - Basics

SubVIانشاء الدرس الرابع

يمنبالزر اال بالضغط ويظهر هذا الشكلExpandable Icon بشكل اخر وهو SubVIويمكن ان تظهر

.View as Iconاختيار و SubVI على ايقونة للماوس

LabVIEWدروس تعليم 19 منتدى مرآز الرواد للتقنية

Page 121: Lab VIEW - Basics

SubVIانشاء الدرس الرابع

Relink to SubVI

مستخدمة قبل SubVIهذة آانت و ) مثال Terminalsبزيادة عدد ( SubVI لـConector Paneعند تعديل

.VI لكى تسطيع تنفيذ SubVI فسوف تحتاج لعمل اعادة ربط هذة VIالتعديل فى

الربط يتم آالتالىواعادة

LabVIEWدروس تعليم 20 منتدى مرآز الرواد للتقنية

Page 122: Lab VIEW - Basics

SubVIانشاء الدرس الرابع

LabVIEWدروس تعليم 21 منتدى مرآز الرواد للتقنية

Page 123: Lab VIEW - Basics

SubVIانشاء الدرس الرابع

The VI Hierarchy Window اية عمل مشروع يتم تقسيم المشروع الى مجموعة من المهام وتقسيم البرنامج الى العديد من دعند ب

SubVIs. آيفية اعتماد هذة وآلما تعقد المشروع دعت الحاجة لوسيلة لمشاهدةSubVIs على بعضها وهذا

.الهيكل البنائى للمشروعما يسمى

SubVI فهى تظهر جميع VI Hierarchy Window هذة الوسيلة من خالل LabIVEWويتيح

.VI Hierarchy تسمى منها المشروع فى هيئة شجرةالموجودة بالذاآرة ويتكون

وتستخدم فى هذا الهيكل اسهم صغيرة هذة االسهم تدل على

. الشكل الموجود عليها السهم ظاهرة فى VI للSubVIs يدل ان جميع : سهم اسود •

. الشكل الموجود عليها السهم ليست ظاهرة فى VI للSubVIsيدل ان هناك : سهم احمر •

ليس VIهذة ولكن موجود عليها السهم ل اSubVI تنادى على VIيعنى ان هناك : ازرقسهم •

.الشكلظاهرة فى

LabVIEWدروس تعليم 22 منتدى مرآز الرواد للتقنية

Page 124: Lab VIEW - Basics

SubVIانشاء الدرس الرابع

LabVIEWدروس تعليم 23 منتدى مرآز الرواد للتقنية

Page 125: Lab VIEW - Basics

SubVIانشاء الدرس الرابع

. VI Hierarchy نافذة ء مشاهدةبالضغط على حروفها االولى مباشرة اثنا وذلك SubVIيمكن البحث عن

:التدريب العملى

. عليهم عمليا وقم بالتدريبThermometer و Edit Iconضين المرفقين للدرسشاهد العر

LabVIEWدروس تعليم 24 منتدى مرآز الرواد للتقنية

Page 126: Lab VIEW - Basics

SubVIانشاء الدرس الرابع

تم بحمد اهللا االنتهاء من الدرس الرابع

س الخامسالى اللقاء باذن اهللا تعالى مع الدر

LabVIEWدروس تعليم 25 منتدى مرآز الرواد للتقنية

Page 127: Lab VIEW - Basics

LabVIEWدروس تعليم

الدرس الخامسStructures

Page 128: Lab VIEW - Basics

الفهرس

iii...................................................................................................هدف الدرس

iv...........................................................................................................مقدمة

Loops) 1.....................................................................................)دوال التكرار

For Loop................................................................................................2

For Loop.............................................................................3آيفية ادراج

Auto Grow................................................................................5خاصية

For Loop.....................................................................................6حذف

Numeric Conversion........................................................................7

While Loop..........................................................................................10

While Loop.......................................................................12آيفية ادراج

Loops........................................14 مع Terminalsملحوظات حول استخدام

Shift Registersو Fedback Node..........................................................17

Shift Register......................................................................................18

Shift Register..................................................................18آيفية اضافة

Shift Register.....................................................................20مثال على

Shift Register..............................................................22 ثانى على مثال

Shift Register.............................................................24القيم االبتدائية للـ

Shift Register..............................................24آيفية تحديد القيم االبتدائية للـ

24.........................؟Shift Registerماذا يحدث اذا لم يتم تحديد القيم االبتدائية للـ

Feedback Nodes...................................................................................27

Feedback Node......................................................................28ادراج

29.....................؟Feedback Node تحديد القيم االبتدائية للـ ماذا يحدث اذا لم يتم

Case Structure.......................................................................................30

Selector Terminal......33آيفية تحديد الحاالت مع االنواع المختلفة للقيم الموصلة للـ

Default Case34............................................................ او الحالة االفتراضية

38....................................................................................اضافة وحذف حاالت

i

Page 129: Lab VIEW - Basics

Case Structure..............................................39االدخال و االخراج من و الى

Dialogs....................................................................................................41

1-Standard Dialogs............................................................................41

One Button Dialog..........................................................................42

Two Button Dialog..........................................................................43

Two Button Dialog..........................................................................44

2-Express Dialogs.............................................................................44

Display Message Express VI.......................................................44

Prompt User Express VI...............................................................46

The Sequence Structure......................................................................49

Flat Sequence Structure...................................................................49

Stacked Sequence Structure...........................................................49

Sequence Structure..................................................................50ادراج

Sequence Local ...............................................................................51

Sequence Local........................................................................52اضافة

Timing.........................................................................................55المؤقتات

55.........................................................................................الدوا ل االساسية

Wait (ms)................................................................................55دالة .1

Wait Until Next.......................................................................56دالة .2

Tick Count (ms).....................................................................57دالة .3

Express Timing Functions................................................................58

1. Express VI Time Delay..............................................................58

2. Elapsed Time Express VI..........................................................58

Formula Node........................................................................................60

Formula Node.....................................................................60آيفية ادراج

61...........................................................اضافة متغيرات داخلة ومتغيرات خارجة

Forumla Node.........................................................62آتابة المعادالت داخل

Expression Node...................................................................................65

ii

Page 130: Lab VIEW - Basics

هدف الدرس

.For Loop وWhile Loopالتعرف على دوال التكرار •

.Feedback node و Shift Registersالتعرف على •

.Case Structureالتعرف على •

.خراج رسائل للمستخدم اثناء تنفيذ البرنامج والطرق المختلفة الDialogs على التعرف •

.Flat and Stacked Sequence Structureالتعرف على •

.التعرف على طرق عمل التاخيرات الزمنية وحساب الوقت فى البرامج •

لكتابة وحساب المعادالت Expression Node و Formula Nodeالتعرف على •.الرياضية داخل البرنامج

iii

Page 131: Lab VIEW - Basics

مقدمة

Structures هى احد اهم انواع Nodes المستخدمة فىBlock Diagram.

: LabVIEW االساسية فى Structuresف نتعرف فى هذا الدرس على ووس

• For Loop

• While loop

• Case Structure

• Sequences Structure

• Formula Node

iv

Page 132: Lab VIEW - Basics

Loops) دوال التكرار(

نوعان اساسيان من LabVIEWفى ويوجد . لتكرار تنفيذ جزء من الكودLoopsتستخدم

Loops هما For Loop و While Loop.

For Loopمرات محدد من الد عدد ى لتكرار تنفيذ جزء معين من الكو وه.

تكرار جمع رقمين خمس مرات: مثال

While Loopمعين من الكود حتى يتحقق شرط معين اى حتى يكون هذا وهى لتكرار جزء

.آما سنرى المستخدم ب نوع الشرط حسFalse او Trueالشرط

من For Loop و While Loop يتم ادراج و

Function Palette>>Programming>>Structures

1

Page 133: Lab VIEW - Basics

For Loop . لتكرار تنفيذ الكود الموجود بداخلها عدد محدد من المرات For Loopتستخدم

.SubDiagram باسم For Loopد الموجود بداخل ويسمى الكو

:For loop 2 Terminalsوجد مع وي

Count Terminal وهو يحدد عدد مرات تنفيذ ما بداخل For loop ويتم توصيل العدد

.For Loopله من الخارج واذا تم توصيل له العدد صفر فلن ينفذ ما بداخل

Iteration Terminalففى اول مرة ينفذ . وهو يحتوى على عدد المرات التى تم تنفيذها

حتى يصل الى العدد وهكذاواحد بالقيمة فيها الكود يكون بالقيمة صفر و فى المرة الثانية يكون

N-1.

يساوى العدد الموصل الى Nحيث . N-1 يأخذ القيم من صفر الى Terminalفهذا

Count Termianl) عدد المرات التى سينفذ فيها الكود (.

2

Page 134: Lab VIEW - Basics

:ملحوظة

فهما يأخذان قيم صحيحة ما بين Long Integer هو و لكل من Data Typeالـ

.الحظ ان لونهما ازرق.1-232صفر الى

For Loopآيفية ادراج فىFor Loopآما ذآرنا توجد

Function Palettes>>Programming>>Structures

فى المكان For Loopثم ابدأ فى رسم . ليظهر المؤشر بهذا الشكل For Loopاختر

.ى تريدهالذ

3

Page 135: Lab VIEW - Basics

: هالحظ ان

ك بتحريكها على لوذا Positioning باستخدام االداة For Loopيمكن تغيير ابعاد •

ليصبح المؤشر على شكل سهم فنضغط بالمؤشر ونسحب االطار فى Loopاطار

.االتجاة الذى نريده

For Loop داخل Structure او اى SubVIيمكن ادراج اى دالة او •

4

Page 136: Lab VIEW - Basics

.Positioning Toolبواسطة و نقلها For Loop تحريك ايضا يمكن •

. ينتقل معا ما بداخلهاFor Loopعند نقل •

او دالة سيظهر ظل SubVI لتغطى على For Loopالحظ انه اذا قمت بتحريك •

.For Loopلهذة الدالة ليحذرك انها ليست داخل

:Auto Growخاصية

تتسع For Loop وهى ان Auto Growاصية لها خ For Loop بما فيها Structureآل

.ويكون آله ظاهرا ما بداخلها آلتلقائيا لتسع

Loopعلى اطار يمن للماوس بالزر االويمكن تفعيل هذا الخاصية او الغائها وذلك بالضغط

.Auto Growواختيار او الغاء اختيار

5

Page 137: Lab VIEW - Basics

:For Loopحذف

.Delete واضغط For Loopر داخلها اختفى بما For Loopاذا اردت حذف •

فقط واالبقاء على ما بداخلها نضغط بالزر االيمن للماوس على For Loopلحذف •

Remove For Loop ونختار For Loopاطار

6

Page 138: Lab VIEW - Basics

Numeric Conversion: اى رقم Long Integerهو Count Terminal للـ Data Typeذآرنا من قبل ان

.1-232صحيح ما بين الصفر و

الرقمية مثل Indicator او Control بالنسبة للـ Data Typeوجد انواع اخرى من وي

Double-Precision وSingle-Precision.

سوف يقوم ف Data Type مختلفيين فى نوع Terminals 2فاذا قمت بتوصيل بين

LabVIEWيضع عندئذ و.القيم الرقمية بين النوعين المختليفين بتحويلLabIVEW نقطة

.Coercion dot المحول اليه وهذة النقطة تسمى Terminalعلى

Count Terminal مختلف الى Data type له Terminalآذلك اذا قمت بتوصيل

. بعملية التحويل LabVIEWفسوف يقوم

7

Page 139: Lab VIEW - Basics

تجنب ذلكلو

Count Terminal بـ لو الموص Terminal الخاص بال Data Typeنغير -1

.I32 ونختار Representationط بالزر االيمن واختيار وذلك بالضغ

وله Count Terminalيتم توصيله تلقائيا بـ Control او Constantيمكن انشاء -2

Count Terminalوذلك بالضغط بالزر االيمن للماوس على . Data typeنفس

.Create>>Control او Create>>Constantواختيار

8

Page 140: Lab VIEW - Basics

9

Page 141: Lab VIEW - Basics

While Loop

. تنفيذ الكود الذى بداخلها حتى يتحقق شرط معين تكرار تعيد Structureهى عبارة عن

Iteration Terminal وهما Terminals 2 عدد While Loopيوجد للـ

Conditional Terminalو

1-Iteration Terminal :

For Loop الموجود فى Iteration Terminalوهو مثل

10

Page 142: Lab VIEW - Basics

ففى اول مرة ينفذ .While Loopى على عدد المرات التى تم تنفيذ فيها الكود داخل ووهو يحت

. الكود يزداد واحدفى آل مرة يعاد فيها تنفيذ فيها الكود يكون بالقيمة صفر و

2-Conditional Terminal:

ويتم اعادة تنفيذ ما بداخل . ) False او Boolean) True يأخذ قيم Terminalوهذا

While Loop حتى يكون الداخل الى هذا Terminal اما القيمة True او False وذلك

.Conditional Terminalيتوقف على نوع

:Terminalويوجد نوعان لهذا

: Stop If True-أ

هى Terminal اذا آانت القيمة الداخلة لهذا While Loopيتوقف تكرار تنفيذ ما بداخل

True.

فاذا Terminal ثم يتم فحص القيمة الداخلة لهذا While Loopما بداخل مرة ينفذ آلففى

While يعاد تنفيذ ما بداخل False واذا آانت While Loop يتم الخروج من Trueآانت

Loop.

2-Continue if True :

.True هى Terminal اذا آانت القيمة الداخلة لهذا While Loopيعاد تنفيذ ما بداخل

11

Page 143: Lab VIEW - Basics

فاذا Terminal ثم يتم فحص القيمة الداخلة لهذا While Loop مرة ينفذ ما بداخل آلى فف

يتم False واذا آانت القيمة الداخلة While Loop يعاد تنفيذ ما بداخل Trueآانت

.While Loopالخروج من

: انه الحظ

. مرة واحدة على االقلWhile Loopفى اى حالة ينفذ ما بداخل •

Terminal وذلك بالضغط بالزر االيمن على Terminals 2التحويل بين يمكن •

.واختيار النوع االخر

:While Loopادراج آيفية من While Loopيمكن ادراج

Function Palettes>>Programming>>Structures

12

Page 144: Lab VIEW - Basics

او من

Function Palettes>>Express>>Execution Control

ليظهر Function Palette نختارها من While Loopاج الدرFor Loopومثل

.While Loop ثم نقوم برسم المؤشر بهذ الشكل

13

Page 145: Lab VIEW - Basics

: فىFor Loop مع While Loopتتفق

ونقلها وتغيير ابعادهاLoopآيفية تحريك -1

Loop طريقة حذف -2

Auto Grow خاصية -3

:Loops مع Terminalsملحوظات حول استخدام Tunnel من خالل مربع صغير يسمى Loopsلبيانات و تخرج من والى تدخل ا

14

Page 146: Lab VIEW - Basics

قبل تنفيذ ما بداخل Loop تدخل الى Loopت الداخلة للـ ا فإن البيانDataflowوطبقا لمفهوم

Loopوتخرج البيانات من . اول مرةLoop بعد تنفيذ ما بداخل Loop اخر مرة اى بعد

.Loopانتهاء تكرار تنفيذ ما بداخل

:بعض االمثلة

• Terminal داخلLoop وموصل بـ Conditional Terminal

• Terminal خارجLoop وموصل بـ Conditional Terminal

• Indicator Terminal داخل Loop

15

Page 147: Lab VIEW - Basics

• Indicator Terminal خارج Loop وموصل بـ Loop

:امثلة اخرى

Conditional Terminal:Stop If True الى Falseتوصيل ثابت قيمته •

Conditional Terminal:Stop If True الى Trueتوصيل ثابت قيمته •

16

Page 148: Lab VIEW - Basics

Shift Registersو Fedback Node

ستجد انك فى حاجة لنقل While Loop او For Loop سواء Loopsعندما تتعامل

فذ فيها ما الى المرة التى ينLoopالبيانات من المرات السابقة التى تم تنفيذ فيها ما بداخل

. االنLoopبداخل

تنفيذة وسوف نعطيها رقم يدل على باسم Loopوللتوضيح سوف نسمى تنفيذ ما باخل

وثانى مرة 1تنفيذةنطلق عليها Loop ما بداخل فيها بيها فى التنفيذ فمثال اول مرة ينفذ تتر

.الخ ... 4 وتنفيذة3 وهكذا تنفيذ2لق عليها تنفيذةطن

ة التى تليها مثل نقل بيانات ذحيان نحتاج الى نقل البيانات من تنفيذة الى التنفيففى آثير من اال

. وهكذا2 الى تنفيذة1من تنفيذة

و Shift Registerوهناك طريقتين للحصول على بيانات من التنفيذات السابقة هما

Feedback Node.

17

Page 149: Lab VIEW - Basics

Shift Register

ة التى ذ الى التنفيWhile Loop او For loop البيانات من تنفيذة للـShift Registerتنقل

.تليها

. و من هذين الشكلين Shift Registerويتكون

الى Loopاو تنقل بيانات من خارج . البيانات من التنفيذة السابقة الى التنفيذة الحالية تنقل

.التنفيذة االولى

ت من اخر تنفيذة الى او تنقل البيانا.التالية البيانات من التنفيذة الحالية الى التنفيذة وتنقل

.Loopخارج

:Shift Registerآيفية اضافة

Add واختيار Loop بالضغط بالزر االيمن للماوس على اطار Shift Registerتضاف

Shift Register.

18

Page 150: Lab VIEW - Basics

. بنفس الطريقة Shift Registerيمكن اضافة اآثر من

رقم او ) Data typeاى ( اى نوع من البيانات Shift Register يمكن ان ينقل

Boolean و ولكن يجب ان تكون نوع البيانات الموصله للـ او نص او مصفوفة

.واحدة

19

Page 151: Lab VIEW - Basics

:Shift Registerمثال على Execution Highlighting نفذ البرنامج التالى باستخدام

.اربع مرات يعاد تنفيذ ما بداخلها For Loopsتالحظ ان آلتا

Shiftوذلك الننا لم نستخدم 3 االولى هو For Loop فى Indicator1وان خرج

Registersآل واحدة منها مستقل تنفيذتائج بين التنفيذات االربعة وآان فلم تنتقل الن .

20

Page 152: Lab VIEW - Basics

Shiftننا استخدمنا ال وذلك 6 الثانية هو For Loop فى Inidcator2اما خرج

Register نتيجة الجمع بين التنفيذة والتى تليها التى تنقل.

21

Page 153: Lab VIEW - Basics

.تحتفظ بالبيانات من التنفيذة السابقة Shift Registerعلمنا ان

. بالبيانات من عدة تنفيذات سابقة Shift Registerيمكن ايضا ان تحتفظ

Loop للـ اليسرى على الحافة Shift Register Terminalsوذلك يتم باضافة

Shift Register بالضغط بالزر االيمن على Shift Register Terminalsويتم اضافة

. اخر نكرر هذة العملية Terminal والضافةAdd Elementواختيار

Shift Register: على ثانى مثال

Stop(تاح ف و مShift Register بها While Loop والذى يتكون من آون المثال التالى

Control ( وعدد اربعةIndicator وهم X(i)و X(i-1)و X(i-2)و X(i-3)

22

Page 154: Lab VIEW - Basics

X(i-3) وX(i-2) وX(i-1) فى التنفيذة الحالية وتعرض i قيمة X(i)وفى هذا المثال يعرض

. التنفيذات السابقة من i قيم

قم بتنفيذ البرنامجHighlight Execution باستخدام

. هى صفرX(i-3) وX(i-2) وX(i-1) وX(i)ئية لـ تجد القيم المبد-1

الى X(i-1) وتنتقل قيمة X(i-3) الىX(i-2)عند انتهاء آل تنفيذة وقبل التنفيذة التالية تنتقل قيمة -2

X(i-2) وايضا تنتقل القيمة الحالية X(i) الى X(i-1)آما بالشكل .

وهذة هى النتائج للتنفيذات السته االولى

23

Page 155: Lab VIEW - Basics

: Shift Registerالقيم االبتدائية للـ

.Loop قبل الدخول فى تنفيذ Shift Registerيم هى ق

:)Shift Register) Initialize Shift Registerآيفية تحديد القيم االبتدائية للـ بـ Control او Constant برط Shift Registerتستطيع تحديد القيم االبتدائية

Terminals الموجود على الطرف االيسر .

؟Shift Register تحديد القيم االبتدائية للـ ماذا يحدث اذا لم يتم

Shift الخاصة بنوع البيانات التى تنقلها االفتراضية القيم Shift Registerسوف تأخذ

Registerاى مثال اذا آانت تلك البيانات رقمية )Numeric ( فسوف تكون القيم االبتدائية هى

.Falseوف تكون القيم االبتدائية هى فس) Boolean(صفر واذا آانت البيانات ارقام ثنائية

24

Page 156: Lab VIEW - Basics

هذة القيم االبتدائية قبل تنفيذ البرنامج الول مرة ولكن بعد انتهاء Shift Registerيأخذ و

باخر قيمه له لتكون القيم االبتدائية عند تنفيذ البرنامج Shift Registerيحتفظ البرنامج تماما

.للمرة الثانية

.ن تحديد القيم االبتدائة وعدم تحديدهاوالمثال التالى يوضح الفرق بي

آالتالىResult2و Result1القيم الموجودة فى عند تنفيذ البرنامجين الول مرة سوف تكون

ثابتة ولم تتغيراالبتدائيةولكن فى اعادة تنفيذ البرنامج نالحظ انه فى الحالة االولى القيمة

25

Page 157: Lab VIEW - Basics

احتفظ باخر قيمة له من تنفيذ البرنامج الول Shift Registerاما فى الحالة الثانية نجد ان

و اخذ هذة القيمة آقيمة ابتدائية فى تنفيذ البرنامج للمرة الثانية لذلك الناتج 10مرة وهى القيمة

. فى المرة الثانية20 فى المرة االولى الى 10تغير من

26

Page 158: Lab VIEW - Basics

Feedback Nodes

عندما نريد ربط بين For Loop او While Loop فى Feedback Nodeتستخدم

او الدالة او SubVI الـ نفسدخلم ودوال الى SubVIs او دالة او مجموعة SubVIخرج م

. والدوالSubVIsمجموعة

SubVIطيع وصل مخرج الى مدخل لنفس الدالة او ت لن نسDataflowفكما نعلم من مفهوم

نت البيانات جاهزة على مداخلها النها لن تنفذ و تخرج بيانات على مخارجها اال اذا آاوذلك

.وهو لن يحدث الن احد المدخل موصل باحد المخارج لها

لكى نجعل القيمة التى خرجت على احد Feedback Nodeففى هذة الحالة نستخدم

فى SubVIاخل لتلك الدالة او د هى القيمة الداخلة على احد المSubVIالمخارج لدالة او

.SubVI فيها هذة الدالة او المرة التالية التى تنفذ

. انتهاء التنفيذة الحالية لتنقلها الى التنفيذة التاليةبعد تحتفظ بقيمتها Shift Registerوهى مثل

27

Page 159: Lab VIEW - Basics

.و يمكن ان تنقل اى نوع من البيانات

يوصل اليه القيمة Terminal هذا Feedback Nodeمع Terminalويوجد

. Feedback Nodeاالبتدائية للـ

فى اول مرة Feedback Nodeهذة القيمة االبتدائية ستكون هى قيمة المدخل الموصل الية

.Loopتنفذ فيها

.Feedback Node يوضع تلقائيا بمجرد ادارج Terminalوهذا

. مسار تدفق البياناتFeedback Node السهم الموجود فى اتجاهوآما بالشكل يحدد

:Feedback Nodeادراج منFeedback Node اج يتم ادر

Function Palette>>Programming>>Structures

28

Page 160: Lab VIEW - Basics

؟Feedback Nodeماذا يحدث اذا لم يتم تحديد القيم االبتدائية للـ فهذة القيمة ستكون قيمة Feedback Nodeائية للـ داذا قمت بتحديد القيمة االبت

Feedback Node قبل الدخول فى التنفيذة االولى فى Loopذا سواء آان تنفيذ البرنامج ه و

. مرة او ثانى مرة او اى مرةولال

Feedback سوف يأخذ Feedback Nodeانما اذا لم يتم تحديد القيمة االلبتدائية للـ

Node القيمة االبتدائة الخاصة بنوع البيانات التى تنقلها وذلك قبل اول مرة تنفذ فيها Loop

لتكون تلك القيمة Loopخر قيمة له بعد انتهاء باFeedback Nodeولكن سوف يحتفظ

. وهكذاLoop فى المرةالتالية التى تنفذ فيها Feedback Nodeهى القيمة االبتدائية للـ

.Shift Registersوهذا مماثل لما يحدث فى

29

Page 161: Lab VIEW - Basics

Case Structure

مجة فى لغات البرIf….then…elseهى احد الطرق لتنفيذ الجمل الشرطية وهى تعادل

.االخرى

منCase Structureويتم ادراج

Function Palette>>Programming>>Structures

او من

Function Palette>>Express >>Execution Control

30

Page 162: Lab VIEW - Basics

وآل .Selector Terminal يسمى من عدة حاالت ومدخل Case Structure وتتكون

يتم Case Structureوعند تنفيذ .Subdiagramحالة يكتب فيها آود هذا الكود يسمى

. وتحدد القيمة التى يأخذها المدخل الحالة التى ستنفذتنفيذ حالة واحدة

.ولكل حالة اسم وهو القيمة التى ستنفذ عندها الحالة

.Labeling Tool باستخدام فيه ويمكن التعديل Selector Labelفى ويكتب اسم الحالة

عرض محتوى حالة واحدة ي على عدة حاالت ولكن Case Structureعادة ما تحتوى

السهم االيمنولعرض محتويات الحالة التالية نستخدم

. السهم االيسر و لعرض محتويات الحالة السابقة نستخدم

.و اختيار الحالة التى يراد عرضهاويمكن التنقل الى اى حالة وذلك بالضغط السهم

واختيار الحالة Show Caseار تي واخCase اطار ىلاوس عوبالضغط بالزر االيمن للما

التى تريدها

31

Page 163: Lab VIEW - Basics

32

Page 164: Lab VIEW - Basics

:Selector Terminalآيفية تحديد الحاالت مع االنواع المختلفة للقيم الموصلة للـ

False او True فان هناك حالتين هما Boolean اذا اآان دخل المدخل من النوع •

.فيمكن ان يوجد عدد نهائى من القيم) رقمى Numeric (اذا آان دخل المدخل من النوع •

على حالتين فقط ويمكن ان تضيف اليها الحاالت Case Structureوفى هذة الحالة تحتوى

.التى تريدها

. فاصلة ينها من قيمة ولعمل ذلك تكتب القيم بيمكن ان تكون للحالة اآثر

33

Page 165: Lab VIEW - Basics

للتعبير عن المدى.. مل ذلك نستخدم النقطتين آما يمكن ان تكون الحالة لمدى من القيم ولع

.20 الى 2 تعنى ان هذة الحالة لكل االرقام الصحيحة من 20..2فمثال

.3 تعنى ان الحالة لكل االرقام الصحيحة التى تساوى اواآبر من ..3و

Default Case او الحالة االفتراضية : .للمدخل ليس مخصص لها حالة هى الحالة التى ستنفذ اذا آانت القيمة الموصلة

34

Page 166: Lab VIEW - Basics

فقط فما هى الحالة التى ستنفذ اذا آان قيمة 3و2و1مثال اذا آانت الحاالت الموجودة هى للقيم

. مثال100الدخل

)Default Case(ستنفذ الحالة االفتراضية

. Defaultو الحالة االفتراضية يظهر بجوار القيمة المخصصة لها آلمة

.(Default Case)هى الحالة االفتراضية من الحاالت ويمكن جعل اى حالة

35

Page 167: Lab VIEW - Basics

فتكتب قيم الحاالت بين عالمتين تنصيص واذا ) نص (Stringاذا آان دخل المدخل من النوع •

. بوضعهم تلقائيا LabVIEWلم تضع العالمتين فسوف يقوم

. ال توجد بين عالمتين تنصيصDefaultالحظ ان آلمة

.اآثر من قيمة وذلك بكتابة القيم بينها فاصلةيمكن ان تكون للحالة

.Case Insensitive او Case Sensitiveيمكن ان نجعل الدخل

o Case Sensitive الحروف الصغيرة ف تعنى االخذ فى االعتبار الحروف الكبيرة

.ali ال يطابق ALIمثال

o Case Insensitive يرة فمثال تعنى انه الفرق بين الحروف الكبيرة والحروف الصغ

ALI تطابق Ali تطابق ali.

36

Page 168: Lab VIEW - Basics

:الحظ انه

بتحويل LabVEW فسوف يقوم Floating-Pointاذا تم توصيل رقم من النوع

. ثم يختار الحالة على اساس الرقم المحولI32القيمة الى رقم صحيح من النوع

Caseالى اى مكان على اطار ) Case Selector (يمكن نقل مكان المدخل

Structure.

37

Page 169: Lab VIEW - Basics

:اضافة وحذف حاالت يمكن اضافة حالة جديدة او حذف حالة او عمل نسخة من حالة موجودة و خيارات اخرى وذلك

.Case Structureبالضغط بالزر االيمن للماوس على اطار

وعند اختيار اعادة ترتيب الحاالت تظهر لنا نافذة نحدد فيها ترتيب الحاالت

38

Page 170: Lab VIEW - Basics

:Case Structureالى واالدخال و االخراج من .ته هى التى تحدد الحالة التى ستنفذوقيم ) Selector Terminal(ذآرنا ان هناك المدخل

وخرج اى عدد من المخرجاتنعدد من المدخالت الى الحاالت او يمكن ايضا ان ندخل اى

.Tunnelsذلك من خالل

.خالت ومخرجاتليس شرطا ان يكون للحاالت مد

.ن تستخدم الحالة آل المدخالت وليس شرطا ا

واال لن .ع الحاالت مي فالبد ان يوصل هذا المخرج فى جاذا تم توصيل مخرج فى اى حالةولكن

. لمخرج غير موصلTunnelف يعطى لك رسالة خطأ تفيد بانه هناك وينفذ البرنامج وس

39

Page 171: Lab VIEW - Basics

عند محاوله تنفيذ البرنامج تظهر لنا هذة الرسالةفى هذة الحالة

:الصالح هذا الخطأ نقوم باالتىو

40

Page 172: Lab VIEW - Basics

Dialogs ؟ آيف تجعل البرنامج يتفاعل مع المستخدم

وهذة الرسائل .سوف نتوقف قليال للتعرف عن آيف اخراج رسالة للمستخدم اثناء تنفيذ البرنامج

.Cancel او Okيمكن ان تحتوى على اآثر من زرار مثل زرار

.تتيح اظهار رسائل اثناء تنفيذ البرنامج التى االدوات على بعض LabVIEWويحتوى

مناالدواتويمكن ادراج هذة

Function Palette>>Programming>>Dialog & User Interface

:ر الرسائل ا الظهLabVIEW التى يتيحها االدواتويوجد نوعان من

1-Standard Dialogs :

41

Page 173: Lab VIEW - Basics

جد بها زرار او زرارين او ثالث بها نص وهذة الرسائل قد يوئل وهى دوال الظهار رسا

.زراير وذلك حسب الدالة المستخدمة

:كون عبارة عن تومدخالت هذة الدوال

.نص الرسالة التى تريد اظهارها للمستخدم اثناء تنفيذ البرنامج •

.Ok او Cancelاسماء الزراير التى ستوجد فى الرسالة مثل •

تخدم حتى يتم على اساسه تحديد مسار تنفيذ اما المخرجات فتحدد اى زرار قد ضغط عليه المس

.البرنامج

: همالثوعدد هذة الدوال ث

One Button Dialog .وهى الظهار رسالة ذات زرار واحد

مثال

42

Page 174: Lab VIEW - Basics

Two Button Dialog .Cancel و OK زرارى نوهى الظهار رسالة ذات زرارين عادة يكونا

:ويوجد لهذة الدالة ثالث مداخل

سالةمدخل لنص الر •

اذا True الن الدالة ستخرج القيمة Trueمدخل السم الزرار االول وهذا زرار •

.زرارضغط المستخدم هذا ال

. OKواذا لم يوصل هذا المدخل سيكون اسم الزرار

اذا False الن الدالة ستخرج القيمة Falseمدخل السم الزرار الثانى ويسمى زرار •

.ضغط المستخدم هذا الزرار

.Cancelيوصل هذا المدخل سيكون اسم الزرار واذا لم

مثال

43

Page 175: Lab VIEW - Basics

Two Button Dialog .Cancel و No و Yesالظهار رسالة ذات ثالث زراير عادة

:ويوجد لهذة الدالة عدة مداخل ولكن اهم هذة المداخل آما فى الدالتين السابقتين

مدخل نص الرسالة •

زرار فى يسار الرسالة واذا لم يوصل هذا مدخل السم الزرار االول وسيظهر هذا ال •

. Yesالمدخل سيكون اسم الزرار

الثانى وسيظهر هذا الزرار فى وسط الرسالة واذا لم يوصل هذا مدخل السم الزرار •

.NO المدخل سيكون اسم الزرار

مدخل السم الزرار الثالث وسيظهر هذا الزرار فى يمين الرسالة واذا لم يوصل هذا •

.Cancelيكون اسم الزرار المدخل س

.دالة مخرج واحد يحدد اى زرار تم الضغط عليههذة الويوجد ل

: بالقيمة وقيمة هذا المخرج ستكون

. اذا ضغط المستخدم الزرار االول0

. اذا ضغط المستخدم الزرار الثانى1

. اذا ضغط المستخدم الزرار الثالث2

. اى من الزراير اذا اغلق المستخدم الرسالة دون الضغط على3

2-Express Dialogs : ل للمستخدم تخبره بشىء معين او ئهلة االستخدام وسريعة الظهار رسا سExpress VIوهى

.تطلب منه ادخال بيانات معينة

. Prompt User Express VI و Display Message Express VIوهما

Display Message Express VI

.ار او زرارينزرظهار رسالة للمستخدم بها الExpress VIتستخدم هذة

44

Page 176: Lab VIEW - Basics

.One and Two Button Dialogs تشبة الدوال االساسية Express VIهذة

تظهر لنا نافذة يتم تحديد فيها خائص Block Diagram فى Express VIبمجرد ادراج

الرسالة التى نريدها

ائص وذلك بالضغط نافذة الخصتح يمكن ان نعيد فExpress VIوبعد ادراج هذة

ExpressVI ضغطتين متتاليتين او بالضغط عليها بالزر االيمن و اختيار Properties.

45

Page 177: Lab VIEW - Basics

وهو لتفعيل او عدم تفعيل اظهار الرسالةEnabled مدخل يسمى Express VIويوجد لهذة

:فاذا آان آانت القيمة الموصلة لهذا المدخل

True سوف يتم اظهار الرسالة عند تنفيذ Express VI.

False لن يتم اظهار الرسالة عند تنفيذ Express VI.

.وهذا للتحكم فى اظهار او عدم اظهار الرسالة من داخل البرنامج

مخرج قيمته تتوقف على الزرار الذى تم الضغط عليه من قبل Express VIويوجد لهذة

.المستخدم عند اظهار الرسالة

. دائماTrueى على زرار واحد فان هذا المخرج قيمته ففى حالة اذا آانت الرسالة تحتو

:اما فى حالة اذا آانت الرسالة تحتوى على زرارين فستكون قيمته

Trueاذا تم الضغط على الزرار االول .

Falseاذا تم الضغط على الزرار الثانى .

Two Button Dialog و One Button Dialogوهذا يماثل الدالتين

Prompt User Express VI

سالة ادخال خال بيانات محددة للبرنامج مثل روهى الظهار رسالة يمكن للمستخدم من خاللها اد

.اسم المستخدم وآلمة السر

46

Page 178: Lab VIEW - Basics

. تظهر لنا نافذة الخصائص لتحديد خصائص الرسالةExpress VIوبمجرد ادراج هذة

شكل الرسالة

47

Page 179: Lab VIEW - Basics

بعد تحديد خصائصهاExpress VIونة قشكل اي

48

Page 180: Lab VIEW - Basics

The Sequence Structure SubDiagram مجموعة من االآواد آل آود يسمى Sequence Structureتحتوى

ترتيب .ويوضع آل آود فى اطار.Sequence Structureتنفذ آلها بترتيب تواجدها فى

.طار هو ترتيب تنفيذ الكودهذا اال

و Flat Sequence Structure هما Sequence Structureويوجد نوعان من

Stacked Sequence Structure.

.SubDiagrams)(وهما يختلفان فقط فى طريقة عرض االآواد

Flat Sequence Structure آواد الموجدة داخل االطارت بالترتيب من تعرض االطارات او االآواد بجوار بعضها وتنفذ اال

.اليسار الى اليمين

Stacked Sequence Structure

).ة فى آل اطاردوالموج( فى طريقة عرض االآوادCase Structureثل وهى تما

49

Page 181: Lab VIEW - Basics

:Sequence Structureادراج من Sequence Structureيتم ادراج

Function Palette>>Programming>>Structures

Add Frame ونضغط Structureوالضافة اطار جديد نضغط بالزر االيمن اطار

After او Add Frame Before

50

Page 182: Lab VIEW - Basics

Sequence Local : بالربط بين االآواد عن طريقFlat Sequence Structureيتم نقل البيانات بين االطارات فى

Tunnels) ربط مباشر.(

51

Page 183: Lab VIEW - Basics

لنقل البيانات Sequence Local فيستخدم Stacked Sequence Structureاما فى حالة

.بين االطارات المختلفة

: Sequence Localاضافة Add Sequence Localيمن للماوس على االطار ونختار نضغط بالزر اال

52

Page 184: Lab VIEW - Basics

فى احد االطارت ويتم قراءة هذة القيمة فى االطارات Sequence Localنوصل قيمة الى

.االخرى

:ملحوظة

Flat and Stacked Sequenceفى اى وقت اثناء تصميم البرنامج يمكن التحويل بين

Structures .

53

Page 185: Lab VIEW - Basics

54

Page 186: Lab VIEW - Basics

Timing المؤقتات فهى تستخدم لقياس الزمن وعمل تزامن بين المهام المختلفة و LabVIEWللمؤقتات اهمية آبيرة فى

ال تستحوز على السرعة حتى بمعدل مناسب Loops لكى تعمل Loopsعمل تأخير فى عمل

.الكلية للمعالج

VIs Express Timing ة والدوال االساسي: ويوجد نوعان من المؤقتات

المؤقتات منجميع ويمكن ادراج

Function Palette >> Programming>> Timing

:الدوا ل االساسية

:Wait (ms)دالة .1اى انها تقوم بعمل .VI تنتظر عدد معين من ميللى ثانية ثم بعدها يستمر تنفيذ VIتجعل هذة الدالة

.1000ت ان يكون التأخير بالثوان اضرب عدد الثوانى فى اذا ارد. تأخير زمنى بالمللى ثانية

55

Page 187: Lab VIEW - Basics

:Wait Until Nextدالة .2

تساوى ) ويندوز مثال(نتظر حتى تكون الساعة الداخلية لنظام التشغيل ت VIتجعل هذة الدالة

.VIستمر تنفيذ ي وبعد ذلك) millisecond multiple(مضاعفات القيمة الداخلة للدالة

.الداخلة للدالة بالمللى ثانيةوتكون القيمة

ولكن هناك اختالف Wait Until Next ms Multiple والدالة Wait(ms)وتتشابة الدالتين

.بينهما

:ويتضح االختالف من المثال التالى

.10 هى Wait until Next ms Multipleلو ان القيمة الداخلة لدالة

.112 هى مثالساعة او مؤقت النظام قيمة و

وهو يعنى 120ى تكون الساعة الداخلية للنظام حت ميللى ثانية 8 فسوف تنتظر الدالة

.)القيمة الداخلة للدالة (10مضاعفات

وهكذا.10 ايضا مضاعفات 130وفى المرة التالية سوف تنتظر الى ان تكون الساعة

.الحظ انه حدث تزامن مع ساعة النظام

.10 لو ان القيمة الداخلة لها هى Wait (ms)اما بالنسبة للدالة

.112 ى مثال ساعة او مؤقت النظام هقيمةو

56

Page 188: Lab VIEW - Basics

اى انها انتظرت .122 ميللى ثانية لكى تكون الساعة الداخلية للنظام 10 فسوف تنتظر الدالة

مللى ثانية 10 وهكذا ستنتظر فى آل مرة تنفذ . ساعة النظام قيمة مللى ثانية بغض النظر عن10

. ساعة النظام قيمةظر عنبغض الن

آما انها تستخدم فى . ينفذ فى ازمنة محددة Loops فى جعل ما بداخل لذلك تستخدم الدالة

.عمل تزامن بين االحداث

فأنها فى اول مرة تنفذ فيها قد تنتظر اقل من القيمة Loopالحظ انه عندما تستخدم هذة الدالة فى

.الداخلة اليها آما فى المثال السابق

. على سرعة المعالجLoop ز وذلك حتى ال تستحوLoopsتستخدم الدالتين السابقتين بكثرة فى

مع Front Panelى مثل تفاعل عناصر رخفتقوم هذة الدوال بعمل التاخير الالزم لعمل المهام اال

.المستخدم

:Tick Count (ms)دالة .3 .اخلى لنظام التشغيل وذلك بالمللى ثانيةالمؤقت الد) الساعة(تستخدم هذة الدالة للحصول على

. من البرنامجتستخدم هذة الدالة فى حساب الوقت المنقضى فى تنفيذ جزء معين

57

Page 189: Lab VIEW - Basics

Express Timing Functions: VIs Express Timing توجد LabVIEWضافة الى الدوال االساسية الموجودة فى بيئة باال

.Elapsed Timeو Time Delayوهما

1. Express VI Time Delay: حدد لها زمن نExpress VI والفرق بينهما ان فى هذة Wait(ms)هى تماثل بالضبط دالة

.التأخير بالثوانى

. تظهر نافذة نحدد فيها زمن التأخير الذى نريدهExpress VI وعند ادراج

ة التى حددنا وهذة القيمة سوف تحل محل القيم Express VIويمكن توصيل قيمة التأخير الى

.بواسطة النافذة السابقة

2. Elapsed Time Express VI:

. ام ال) قيمته من قبلةمحدد( معرفة اذا آان قد انقضى وقت Express VIتتيح هذة

تظهر لنا نافذة نحدد فيها الوقت الذى نريد معرفة هل انقضى هذا Express VIعند ادراج تلك

.الوقت ام ال

58

Page 190: Lab VIEW - Basics

هلى انقضى الوقت ام الTime Has Elapsedة وتحدد القيم

فإن الوقت المحدد قد انقضىTrueفاذا آانت

. فإن الوقت لم ينقضى بعدFalseاما اذا اآانت

59

Page 191: Lab VIEW - Basics

Formula Node

. لكتابة المعادالت الرياضية Formula Nodeتستخدم فسوف LabVIEWية فى س بواسطة الدوال االساY=X2+X+1مثال لتطبيق هذة المعادلة

تكون بهذا الشكل

ستكون بهذا الشكلFormula Nodeولكن باستخدام

:Formula Nodeآيفية ادراج منFormula Nodeيتم ادرج

Factions Palette >>Programming >>Structures

60

Page 192: Lab VIEW - Basics

:تغيرات خارجةماضافة متغيرات داخلة ويمن للماوس وذلك بالضغط بالزر االيمكن اضافة اى عدد من المتغيرات الداخلة اوالخارجة

واختيارAdd Inputالضافة متغير داخل

Add Outputالضافة متغير خارج

ملحوظات

. متغيرين داخلين او خارجين بنفس االسم هناكال يمكن ان يكون • .يمكن ان يكون متغير خارج واخر داخل بنفس االسم • . من المتغيرات الداخلةالمتغيرات الخارجة يكون اطارها اآثر سمكا •

يمكن تغير المتغير من داخل الى خارج او العكس •

61

Page 193: Lab VIEW - Basics

:Forumla Nodeآتابة المعادالت داخل .C بطريقة مشابهة لكتابة الجمل فى لغة Fromula Nodeكتب المعادالت فى داخل ت

.تكتب المعادلة باستخدام الدوال و اسماء المتغيرات ;اصلة المنقوطة يوضع بعد آل معادلة الف

.Formula Nodeيمكن ان توجد اآثر من من معادلة فى ف آمتغير خارج او داخل على اطرا يوضع اى متغير يستخدم فى المعادالت يجب ان

Formula Node.

:ملحوظة فهناك مثال المتغيرات الوسيطة التى Nodeليس حتميا ربط المتغيرات الخارجة بخارج

.التتستخدم بين المعاد

62

Page 194: Lab VIEW - Basics

:ملحوظة .Formula Nodeليس هنا عدد محدد لعدد المتغيرات او عدد المعادالت المستخدمة فى

Positioning لتسع اى عدد من المعادالت وذلك باستخدام Fromula Nodeيمكن تكبير Tool

. ممكن من المعادالت عدد لكتابة اآبرNodeآما يمكن اظهار شريط انزالق راسى داخل

Formula Node داخل if … then…elseيمكن تطبيق الجملة الشرطية فمثال اذا اردنا تطبيق هذة الجملة

If (x>=0) then y=sqrt(x) else y=-99 endif

63

Page 195: Lab VIEW - Basics

تساوى y فاجعل قيمة المتغير 0ساوى اآبر من او ت x قيمة المتغير تاذا آان: والتى تعنى .xر يمتغقيمة الالجذر التربيعى ل

فاجعل ) 0اى اصغر من (0غير ذلك اى ليست اآبر وال تساوى xاذا آانت قيمة المتغير و ) . ليس له جذر تربيعىxداللة على ان المتغير (99- الرقم ساوىت yالمتغير قيمة

بهذا الشكلFormula Nodeوهذ المثال يمكن تطبيقه باستخدام

الشكلبهذااو

من y=(x>=0) ?sqrt(x) : -99 الجملةوتتكون

X>=0الشرط وهو ما بين القوسين .)Sqrt(x)( اذا تحقق الشرط y و هى فى هذا المثال قيمة ? بعد العالمة وهى ماThenعبارة .)99-( اذا لم يحقق الشرط y وهو فى هذا المثال قيمة : وهى ما بعد العالمة elseعبارة

لـ Help Context نشاهد Formula Nodeلمعرفة الدوال التى يمكن ان نستخدمها فى و

Formula Node.

64

Page 196: Lab VIEW - Basics

Expression Node واحدة ومدخل عبارة رياضيةفهى تحتوى على .Formula Nodeهى صورة مبسطة من

.واحد ومخرج واحد

.فليس لهما اسماءمخرج وحيد الوحيث ان المدخل وان

;وتكتب العبارة الرياضية بدون العالمة

.ر وحيد فى هذة العبارة الرياضية ويمكن ان نسمى هذة المتغير باى اسم ويستخدم متغي

.وهذا المتغير يعبر عن المدخل

والمخرج هو ناتج العبارة الرياضية

منExpression Nodeويتم ادارج

Function Palette>>Programming>>Numeric

65

Page 197: Lab VIEW - Basics

66

Page 198: Lab VIEW - Basics

تم بحمد اهللا تعالى االنتهاء من الدرس

لى القاء باذن اهللا تعالى فى الدرس السادسا

Page 199: Lab VIEW - Basics

LabVIEWدروس تعليم ادسسالدرس ال

Arrays and Clusters

Page 200: Lab VIEW - Basics

i

الفهرس

i.........................................................................................................الفهرس

iii..................................................................................................هدف الدرس

iv..........................................................................................................مقدمة

Arrays(.....................................................................................1(المصفوفات

1.............................................................................؟) Array(ماهى المصفوفة

Indicators......................................................3 او Controlsانشاء مصفوفة من

Block Diagram...........................................9 فى Constantsانشاء مصفوفة من

10.........................................................................حذف جميع عناصر المصفوفة

11.................................................................اضافة او حذف عنصر فى المصفوفة

13.......................................................للمصفوفة) شريط انزالق (Scrollbarاظهار

Auto-Indexing..................................................................14استخدام خاصية

For Loop..............17 لتحديد عدد مرات تكرار تنفيذ Auto Indexingاستخدام خاصية

19.................................................................................المصفوفات ذات بعدين

20....................................................................آيفية تكون مصفوفة ذات بعدين

For Loop.........................................22آيفية تكوين مصفوفة ذات بعدين باستخدام

24............................................................................الدول الخاصة بالمصفوفات

Initialize Array............................................................................25دالة

Array Size ................................................................................27دالة

Build Array.................................................................................28دالة

Array Subset..............................................................................31دالة

Index Array................................................................................32دالة

Delete from Array.......................................................................34دالة

Polymorphism.......................................................................................35

Page 201: Lab VIEW - Basics

ii

Compound Arithmetic Function.............................................................37

Clusters.................................................................................................43

Cluster Indicators....................................44 و Cluster Controlsآيفية انشاء

Block Diagram....................................................46 ثابت داخل Clusterانشاء

Cluster......................................................................47ترتيب العناصر داخل

SubVI...........................................49الى فى تمرير البيانات من وClusterاستخدام

Clusters.....................................................................49 خاصة بـاهم الدوال ال

Bundle........................................................................................50دالة

Unbundle...................................................................................53دالة

Bundle By Name........................................................................54دالة

Unbundle by Name....................................................................55دالة

Clusters................................................................56التحويل بين المصفوفات و

Cluster to Array..........................................................................57دالة

Array to Cluster..........................................................................58دالة

Clusters.................................................60المصفوفات و استخدام دوال المقارنة مع

Error Clusters ودوال Error-Handling........................................................64

66......................................................... و الدوال مع االخطاءSubVIsآيف تتفاعل

Error Case Structure..........................................................................66

Error Clusters...............................................................................68دمج

SubVI..................................................................69 داخل Errorآيفية تكوين

72.....................................................................آيفية اظهار رسالة خطأ للمستخدم

Explain Error................................................................................73نافذة

Loops.......................................................................74فى اختبار حدوث خطأ

Page 202: Lab VIEW - Basics

iii

هدف الدرس

.التعرف على المصفوفات والعمليات الخاصة بها •

. والعمليات الخاصة بهاClustersالتعرف على •

.Polymorphismالتعرف على معنى •

.Compound Arithmetic Functionالتعرف على •

.ث اثناء تنفيذ البرنامج على آيفية معالجة االخطاء التى تحدالتعرف •

Page 203: Lab VIEW - Basics

iv

مقدمة

وهما ) Data Type(فى هذا الدرس سوف نتعرف على نوعين مرآبين من انواع البيانات

.Clustersو) Arrays(المصفوفات

.ان النوعان يسهل تخزين البيانات والتعامل معهاووجود هذ

.LabVIEW بيئة فىاوسوف نتعرف على استخدامات عديدة لهما وايضا الدوال الخاصة بهم

خطاء التى تحدث اثناء تنفيذ البرنامج وبعض المهارات مل مع االا التعيةواخيرا سوف نتعرف آيف

.المهمة فى البرمجة

Page 204: Lab VIEW - Basics

1

)Arrays(المصفوفات

؟)Array (ةماهى المصفوف .)Data Type(نوع البيانات لها نفس العناصرمجموعة من هىةالمصفوف

.Controls و Indicators مثل) Scalar Value(صر تأخذ قيمة وحيدة لقد تعاملنا من قبل مع عناف

.35تساوى الخاص بدرجة الحرارة له قيمة وحيدة فى اى وقت فنقول مثال ان درجة الحرارة Indicatorفمثال

ولكن Control او Indicatorطيع ان نضعها فى تلن نسفاما اذا اردنا ان نمثل درجات الحرارة خالل اليوم

.و نصفها بانها مصفوفة درجات الحرارة ) Array(ضعها فى مصفوفة ن

او Control(من اى نوع مثل تكون هذة العناصر كن ان ويموآما قلنا تحتوى المصفوفة على عناصر

Indicator او Constant ( ... ماعداArray او Chart او Graph.

.بعاد او عدة ا او بعدين قد تكون ذات بعد واحدالمصفوفةو

. عنصر 1-231وعدد العناصر فى آل بعد يمكن ان يصل

:مثال يوضح مفهوم االبعاد

.حد هى مجموعة من العناصر فى صف وحيد او عمود وحيد االمصفوفة ذات البعد الو

.ر من مادة آل شهرثفمثال لو ان طالبا يمتحنون فى اآ

.ات بعد واحدواحدة فى شهر ما تكون مصفوفة ذدرجات الطالب فى مادة فان

Page 205: Lab VIEW - Basics

2

.اعمدةالمصفوفة دات البعدين مثل الجدول لها عدة صفوف و

.واحدفى شهر مثل درجات الطالب فى اآثر من مادة

.المصفوفة ذات ثالث ابعاد مثل مجموعة من الجداول

.شهرمثل درجات الطالب فى اآثر من مادة فى اآثر من

.المصفوفة )دليل (Index ة نستخدمفوللوصول الى اى عنصر فى المصفو

. هو عدد العناصر فى المصفوفةN حيث N-1 ياخذ القيم من صفر الى Indexوهذا

عناصر10 مصفوفة ذات بعد واحد بها :مثال

Page 206: Lab VIEW - Basics

3

آل ،ة مصفوفةئي فى ملف تمثل على ههاني او تخزهارسم يتم وللمصفوفات اهمية آبرى فمثال اى اشارة لكى

فكل ،Loopايضا للمصفوفات اهمية فى تخزين القيم التى تخرج من ، هذة االشارة عنصر بها يمثل نقطة فى

. تخرج عنصر فى المصفوفة آما سنوضحLoop ـتنفيذة ل

: Indicators او Controlsمصفوفة من انشاء :فى خطوتينFront Panel فى Indicators او Controlsتم انشاء مصفوفة من ي

عناصر المصفوفةعلى ة وهو الذى سيحتوى يتم ادارح اطار المصفوف -1

ويتم ادراجه من

Controls Palette>>Modern>>Array, Matrix & Cluster

.ن مصفوفة منهوي الذى نريده داخل اطار المصفوفة لتكIndicator او Controlيتم ادراج -2

Page 207: Lab VIEW - Basics

4

.ليط منهم وليس خIndicators او Controlsالحظ ان عناصر المصفوفة يمكن ان يكونوا

Page 208: Lab VIEW - Basics

5

فى Terminal يظهر له ه داخلIndicator او Control وقبل وضع اى المصفوفةعند ادراج اطار

Block Diagram لون هذا يكونو Terminal اسود ويوجد به قوسين فارغين حتى يتم تحديد الـData

type بوضع ويتم ذلك الخاص بهControl او Indicatorصفوفة او ثابت داخل اطار الم.

Data الى لون Terminal يتغير لون المصفوفةداخل اطار او ثابتIndicator او Controlوضع عندو

Typeآما يوضع بين القوسين فى . الخاص بالعنصر الذى وضع فيهاTerminal رمز هذا Data Type.

ير بينهما نضغط بالزر يديم وللتغ يمكن ان يكون على شكل ايقونة او يكون على الشكل القTerminalتذآر ان

.ير فى الشكل فقط وليس له اى تأثير اخري وهذا تغView as iconااليمن للماوس ونختار او نلغى اختيار

Page 209: Lab VIEW - Basics

6

على حافة العنصر داخل Positioning االداة وذلك بتحريكيير ابعاد العنصر داخل المصفوفة تغيمكن

. نريدها فنضغط ونسحب الى االبعاد التى اومينشربسهالمصفوفة حتى يظهر المؤشر على هيئة مؤ

ويكن تغيير عدد العناصر التى تظهر داخل اطار المصفوفة وذلك بتغيير ابعاد اطار المصفوفة وذلك بتحريك

فنضغط اوة مؤشر بسهمينيئالمصفوفة حتى يكون المؤشر على ه على اطار Positioningاالداة

.لتى نريدهاونسحب الى االبعاد ا

Page 210: Lab VIEW - Basics

7

يظهر العنصر داخل المصفوفة معتما اذا لم تحدد له قيمة ويتم تحديد قيمة العناصر بكتابة القيمة مباشرة فى

او بالضغط على العنصر اذا آان Numeric Controlالعنصر او استخدام االسهم فى حالة اذا آان العنصر

Booleanناء التنفيذ او تحدد قيم المصفوفة من داخل البرنامج اث.

Page 211: Lab VIEW - Basics

8

).الحظ ان الصفر قيمة(بر العناصر التى داخل المصفوفة هى العناصر التى تم تحديد قيم لها و تعت

.الخاص بالمصفوفة على رقم اول عنصر يظهر فى اطار العنصر ) الدليل( Indexتدل قيمة

.Indexواذا قمت بتغيير قيمة الدليل يظهر لك العنصر الذى رقمة يساوى قيمة

Page 212: Lab VIEW - Basics

9

:Block Diagram فى Constantsانشاء مصفوفة من

: على خطوتينBlock Diagram فى Constants انشاء مصفوفة من نفس الطريقة يتم ب

من) Array Constant( اطار المصفوفة ندرج -1

Function Palette>>Programming >>Array

داخل اطار المصفوفة ) Constant(ندرج ثابت -2

.Boolean او String او Numericابت يمكن ان يكون من النوع هذا الث

Page 213: Lab VIEW - Basics

10

:حذف جميع عناصر المصفوفة

على للماوس يمكن حذف جميع قيم العناصر الموجودة فى المصفوفة وجعلها فارغة وذلك بالضغط بالزر االيمن

Index ) واختيار -وليس على العنصر –) الدليل

Data Operation >>Empty Array

Page 214: Lab VIEW - Basics

11

: اضافة او حذف عنصر فى المصفوفةيمكن اضافة عنصر او حذف عنصر من مصفوفة بالضغط بالزر االيمن للماوس على العنصر داخل المصفوفة

و اختيار

Data Operation >>Insert Element Before

الضافة عنصر

او

Data Operation >>Delete Element

لحذف عنصر

Page 215: Lab VIEW - Basics

12

Page 216: Lab VIEW - Basics

13

: للمصفوفة)يط انزالقشر (Scrollbar رااظهوهناك . تتغير العناصر التى تظهر من خالل اطار المصفوفة فتستطيع مشاهدتها Indexعلمنا انه بتغيير قمية

قد يكون افقيا Scrollbar للمصفوفة وهذا Scrollbarة وهى اظهارفطريقة اخرى لتشاهد عناصر المصفو

)Horizontal(و رأسيا ا)Vertical (على للماوس بالزر االيمن ذلك بالضغطوIndex واختيار

Visible Items>>Vertical Scrollbar

او

Visible Items>> Horizontal Scrollbar

Page 217: Lab VIEW - Basics

14

:Auto-Indexing خاصيةاستخدام تقوم بتخزين قيم على اطارها فى For Loop او While Loopان هى Auto-Indexingة صيخا

بعد Loop يتم اضافة قيمة الى المصفوفة وتخرج هذة المصفوفة الى خارج Loopفيها مصفوفة فكل مرة تنفذ

. مباشرةLoopانتهاء عمل

.بعد انتهاء عملهاLoop نت هذة الخاصية غير مفعلة تخرج اخر قيمة فقط من اواذا آ

. ويمكن تعطيلهاFor Loopوهذة الخاصية مفعلة تلقائيا مع

. ويمكن تفعليلهاWhile Loopولكن هى معطلة تلقائيا مع

:مثال

عناصر آل عنصر به رقم عشوائى5 الخراج مصفوفة بها For Loopاستخدام

Page 218: Lab VIEW - Basics

15

.Disable Indexing واختيار Tunnel بالضغط بالزر االيمن على Auto Indexingيمكن الغاء تفعيل

. ليست مصفوفة و) Scalar(ة وحيدة وفى هذة الحالة تخرج فقط اخر قيمة لدالة الرقم العشوائى وهى قيم

Page 219: Lab VIEW - Basics

16

على هذا الخطأ وللتغلب )قيمة وحيدة ومصفوفة(الحظ ان الرابط اصبح مقطوعا النه يصل بين نوعين مختلفين

. بدال من مصفوفةNumeric Indicator عبارة عن اراداة االظهنجعل طوع وجعل الرابط غير مق

While و For Loopلة ادخال قيم عناصر مصفوفة الى فى حاAuto Indexingتستخدم ايضا خاصية

Loop.

فسوف يدخل قيمة العنصر .Auto Indexing مثال مع تفعيل For Loopفى حالة وصل مصفوفة الى دخل

ثم يدخل قيمة العنصر الثانى فى المصفوفة الى داخل . مع اول تنفيذةLoopاالول فى المصفوفة الى داخل

Loopوهكذا .ثانية مع التنفيذة ال

ال تدخل عناصر المصفوفة آلها مرة واحدة وانما يدخل عنصر عنصر مع Auto Indexingاى ان فى حالة

. آأنها قيم وحيدةLoopويتم التعامل مع هذة العناصر داخل .آل تنفيذة

Page 220: Lab VIEW - Basics

17

تم يط لفسوف تدخل آل عناصر المصفوفة آكل مع اول تنفيذة فق Auto Indexingاما فى حالة تعطيل خاصية

.Loopالتعامل معها آمصفوفة داخل

:For Loopتكرار تنفيذ لتحديد عدد مرات Auto Indexing خاصية استخدام

مفعلة فسوف يكون عدد مرات Auto Indexing و خاصية For Loopاذا تم توصيل مصفوفة الى داخل

ة الحالة وفى هذ). ودة فى المصفوفةعدد العناصر الموج( يساوى سعة هذة المصفوفة For Loopتكرار تنفيذ

.Terminal لـالداعى لتوصيل اى قيمة

Page 221: Lab VIEW - Basics

18

مع تفعيل خاصية For Loop وايضا توصيل مصفوفة الى دخل Terminal ـاذا تم توصيل قيمة الى ال

Auto Indexing د عدد مرات تنفيذ يتحديتم فسوفFor Loop القيمة الموصلة لـ ( باصغر القيميتين

.)لمصفوفةوسعة ا

يساوى For Loop فسوف يكون عدد مرات تنفيذ فاذا آانت سعة المصفوفة اصغر من القيمة الموصلة لـ

.سعة المصفوفة

يساوى For Loop اصغر من سعة المصفوفة فسوف يكون عدد مرات تنفيذ واذا آانت القيمة الموصلة لـ

.القيمة الموصلة الى

:مثال

Page 222: Lab VIEW - Basics

19

: بعدينالمصفوفات ذات . وهى تماثل الجدول حيث تخزن العناصر على هيئة صفوف واعمدة

) .دليلين (Index 2وهذة المصفوفات يحدد فيها العنصر بعدد

Index لتحديد رقم العمود و Indexلتحديد رقم الصف .

. الصف يبدأ بالرقم صفرIndex العمود و Indexوآل من

Page 223: Lab VIEW - Basics

20

:دينآيفية تكون مصفوفة ذات بع Add Dimension بالزر االيمن للماوس ونختار Indexنقوم بعمل مصفوفة ذات بعد واحد ثم نضغط على

Page 224: Lab VIEW - Basics

21

على اطار المصفوفة Positioning بتحريك االداة فى المصفوفة ويمكن عرض عدد اآبر من العناصر

سية او االفقية أهات الرطار فى احد االتجا فنضغط ونحرك اال او م ذو اتجاهينهحتى تتحول الى الس

. االخرهواعادة عمل ذلك فى االتجا

. مباشرةونالحظ انه عند تكوين المصفوفة تكون فارغة ونسطيع آتابة القيم التى نريدها فيها

وذلك بالضغط بالزر االيمن على . اآثر من بعد ة ان نقوم بحذف بعد من مصفوفة لهاويمكن بنفس الطريق

Indexتيار المصفوفة واخRemove Dimension.

Page 225: Lab VIEW - Basics

22

:For Loopتكوين مصفوفة ذات بعدين باستخدام آيفية بحيت - For Loop 2وباستخدام عدد . لعمل مصفوفة ذات بعد واحدFor Loopينا آيف يتم استخدام رأ

.يمكن تكوين مصفوفة ذات بعدين بها قيم Auto Indexingوتفعيل خاصية -تكون واحدة داخل االخرى

بعضا لتكوين الخارجية بتخزين هذة الصفوف فوقFor Loop الداخلية الصفوف وتقوم For Loopون و تك

.مصفوفة ذات بعدين

Page 226: Lab VIEW - Basics

23

Page 227: Lab VIEW - Basics

24

:الدول الخاصة بالمصفوفات .خاصة بالتعامل مع المصفوفاتLabVIEW توجد دوال آثيرة فى

وتوجد هذة الدوال فى

Function Palette>>Programming>>Array

Page 228: Lab VIEW - Basics

25

هرقيمتوالعنصر الثانى ) Index=0 (0 ترقيمهالترقيم فى المصفوفات يبدأ من الصفر فالعنصر االول : تذآرة

1) Index=1( وهكذا .

:Initialize Arrayدالة .نشاء مصفوفة بها عدد معين من العناصر وقيم هذة العناصر متساوية بإتقوم

:ومداخل هذة الدالة

اصرالقيمة التى ستأخذها العن •

فى آل بعدعدد العناصر •

.وخرج هذة الدالة مصفوفة بها عدد معين من العناصر متساويين فى القيمة وهى القيمة التى حددناها

.من الشكل فى االعلى الدالة اخرجت مصفوفة ذات بعد واحد

.من االبعادعدد الذى نريده لد ايقون الدالة السفل لة ذات بعدين او ثالثة او اآثر نمراج مصفوفوالخ

Page 229: Lab VIEW - Basics

26

امثلة

Page 230: Lab VIEW - Basics

27

: Array Sizeدالة

) .عدد العناصر(تخرج هذة الدالة سعة المصفوفة

.فاذا آانت المصفوفة ذات بعد واحد تخرج الدالة عدد عناصر المصفوفة

العنصر االول فيها قيمته عدد . اآثر من بعد تخرج الدالة مصفوفة ذات بعد واحد لهاواذا آانت المصفوفة

.قيمته عدد عناصر البعد الثانى وهكذافيها عناصر البعد االول والعنصر الثانى

امثلة

Page 231: Lab VIEW - Basics

28

:Build Arrayدالة .ن مصفوفة اآبريتقوم هذة الدالة باضافة عناصر للمصفوفة او بجمع بين مصفوفات او عناصر لتكو

. لها مخرج واحدهذة الدالةو

. الى اسفل بمد ايقون الدالة مداخلال عدد ادةيمكن زيلها مدخل واحد عند ادراجها وو

Add Inputضغط بالزر االيمن على ايقونة الدالة واختيار لاو با

ويمكن ان يوصل المدخل الى عنصر او مصفوفة ذات اى بعد ويعتمد خرج الدالة على نوعية المداخل وعلى

:ت ثالث حااللى ت تنفيذ هذة الدالة ا ويمكن تقسيم حاال Concatenateخاصية

. توصيل عناصرذات قيم وحيدة الى مداخل الدالة:اوال

نفس الترتيب هذة العناصر لهالة وخ من العناصر الداةفى هذة الحالة تخرج الدالة مصفوفة ذات بعد واحد مكون

.فى المصفوفة

Page 232: Lab VIEW - Basics

29

. الى المداخلمصفوفات ذات ابعاد مختلفة و عناصر توصيل:ثانيا

لة تقوم الدالة بتجميع المدخالت بالترتيب لتكوين مصفوفة ذات بعد يساوى اآبر بعد لمصفوفات فى هذة الحا

.المدخل

Page 233: Lab VIEW - Basics

30

الحظ ان شكل مدخل المصفوفة مختلف عن شكل مدخل العنصر

.وشكل مدخل العنصر عبارة عن مربع واحد وشكل مدخل المصفوفة عبارة عن مربعين متجاورين

.بعد واحد تعتبر عنصر فى مصفوفة ذات بعدينآما الحظ ان المصفوفة ذات

توصيل مصفوفات ذات ابعاد متساوية :ثالثا

. مفعلة ام الConcatenateوفى هذة الحالة يتوقف الخرج على خاصية

Concatenate نضغط بالزر االيمن للماوس على ايقونة الدالة ونختار Concatenateولتفعيل خاصية

.هالتفعيلها او الغاء تفعيل

مصفوفة ذات نفس ابعاد المصفوفات الداخلة عبارة عن مفعلة فان الخرج Concatenateاذا آانت خاصية

. عناصر المصفوفات الداخلة بالترتيبها هىوعناصر

Page 234: Lab VIEW - Basics

31

:Array Subset دالة

.تقوم باخراج جزء محدد من المصفوفة الداخلة لها

:ومداخل هذة المصفوفة آالتالى

.فة التى سنأخذ منها الجزءمدخل المصفو •

. وهو رقم اول عنصر فى الجزء الذى نريدهIndexمدخل ال •

. وهو عدد عناصر الجزء الذى نريدهLengthالمدخل •

مثال

Page 235: Lab VIEW - Basics

32

اآثر من بعد لها مصفوفةيمكن زيادة مداخل هذة الدالة بمد ايقونتها السفل وذلك الخراج جزء من

:Index Arrayدالة

. المصفوفةالة قيمة عنصر معين منتخرج هذة الد

. وذلك بمد ايقونة الدالة لزيادة عدد ابعاد مصفوفة الدخلاآثر من بعد لهاالمدخل يمكن ان يكون عبارة عن مصفوفة

:وهذا مثال لكيفية معرفة قيمة عنصر فى مصفوفة ذات بعدين

Page 236: Lab VIEW - Basics

33

.فوفة ذات بعدينويمكن باستخدام هذة الدالة الحصول على صف او عمود من مص

.فاذا اردنا الحصول على صف معين نحدد رقم الصف ونترك رقم العمود خاليا

.اردنا الحصول على عمود نحدد رقم العمود ونترك رقم الصف خاليا ذااو

Page 237: Lab VIEW - Basics

34

:Delete from Arrayدالة . من المصفوفة الداخلة اليهاجزءتقوم هذة الدالة بحذف

:ومداخل هذة الدالة

.المصفوفة التى نريد الحذف منها •

.طول الجزء الذى نريد حذفه •

.بداية الجزء الذى نريد حذفه •

: الدالة وتخرج

.المصفوفة بعد حذف العناصر منها •

.الجزء الذى تم خذفه •

مثال

Page 238: Lab VIEW - Basics

35

Polymorphism متين عدديتين نعلم ان الدوال الحسابية الجمع والطرح و الضرب و القسمة تقوم بعمليات حسابية بين قي

.وهذة القيم هى قيم وحيدة

مصفوفة او تقوم بعمليات حسابية بين بعملية حسابية بين قيمة وحيدة و ولكن هذة الدول يمكن ان تقوم

.مصفوفتين

.Polymorphism اختالف مداخل هذة الدوال فى السعة و التمثيل العددى هو ما يعرف بـو

.ع بين رقمين او بين رقم ومصفوفة او مصفوفتيندالة الجمع يمكن ان تقوم بالجم:امثلة

مثال

Page 239: Lab VIEW - Basics

36

:ملحوظة الناتج مصفوفة نفا) عدد العناصر (اذا قمت بعمل عملية حسابية بين مصفوفتين مختلفتين فى السعة

.سعتها هى نفس سعة اصغرهما

مثال

Page 240: Lab VIEW - Basics

37

Compound Arithmetic Function الدوال الحسابية المرآبة

. بين اآثر من قيمتين او منطقية عمل عمليات حسابيةلةهذة الداتتيح

مثال

او )Add ( جمع بعملية(Compound Arithmetic Function)ويمكن ان تقوم هذة الدالة

.Xorاو Or او Andو ا) Multiply (ضرب

ويتم ادراجها من

Function Palette>>Numeric

او

Function Palette>>Boolean

Page 241: Lab VIEW - Basics

38

Page 242: Lab VIEW - Basics

39

.Positioning باالداةالسفل ن ويمكن زيادة عدد المداخل بمد ايقونتها ادراج هذة الدالة يكون لها مدخالوعند

ولكن يمكن اختيار وظيفة AND او ) Add(معدة لتؤدى عملية الجمع عند ادراج الدالة فانها تكون

لدالة و اختيار وذلك بالضغط بالزر االيمن على ا. )Xor او Or او And او (Multiplyاخرى

Change Modeتيار الوظيفة ثم اخ.

ثم Change Mode على الدالة واختيار Operating ويمكن تغيير الوظيفة بالضغط باالداة

.اختيار الوظيفة

Page 243: Lab VIEW - Basics

40

.يمكن عكس اى من المداخل او المخرج

.وعند عكس مدخل او مخرج توضع عليه دائرة صغيرة

.Invertلزر االيمن للماوس على المدخل او المخرج ونختار نضغط باولعكس مدخل او المخرج

.x– ستعكس الى xمدخل او المخرج فى اشارة سالب فاذا آان قيمته فى حالة الجمع يعنى ضرب والعكس

.x/1 وتم عكسه ستكون قيمته xمدخل او المخرج بالقيمة حالة الضرب اذا آان وفى

x فمثال Not فتعكس حالة المدخل او المخرج بـ Xor او Orو اAndاما فى حالة العمليات المنطقية

.Not xعكسها

امثلة

Page 244: Lab VIEW - Basics

41

Page 245: Lab VIEW - Basics

42

Page 246: Lab VIEW - Basics

43

Clusters

Clusterيمكن ان العناصر ولكن عكس المصفوفات هذة العناصر مثل المصفوفة فهو مجموعة من

Numeric Controlفيمكن ان تحتوى على Data Type)(فى نوع البيانات تكون مختلفة

.انواع اخرى وBoolean Controlو

يانات الشخصية التى تحتوى على االسم وتاريخ الميالد وعنوان السكن و رقم ب مجموعة الوآمثال

.البيانات الشخصيةوهى ت المختلفة االنواع تندرج تحت اسم واحد اهى مجموعة من البيانالتليفون

ل واحد يوجد به عدة اسالك آل سلك يعبر عبارة عن آابفهو بكابل التليفون Clusterويمكن تشبية

.عن عنصر معين

عدة قيم النواع على حتى اذا آان يحتوى بـ خط واحدBlock Diagram يعبر عنه فى Clusterو

.مختلفة من البيانات

ان هذة البيانات وبالتالى لو.وبذلك تسطيع نقل عدة قيم من البيانات فى خط واحد بدال من عدة خطوط

. ستحتاج الى مخرج او مدخل واحدSubVIتخرج من دالة او ستدخل او

وتسمى هذة العملية Clusterفى يمكن تجميع عدة خطوط لبيانات مختلفه Block Diagramوفى

.Bundleبـ

. UnBundle الى عناصره للتعامل معها وتسمى هذة العملية بـ Clusterويمكن ان ايضا فك

Page 247: Lab VIEW - Basics

44

. ومحددة بالعناصر التى فيه سعة ثابتة Clusterو للـ

.Cluster اال اذا آانا لهم نفس العناصر و نفس ترتيب تلك العناصر فى Clusters 2وال يمكن ربط عدد

: Cluster Indicators و Cluster Controlsآيفية انشاء : على خطوتينClusterمثل المصفوفات يتم انشاء

من Clusterحتوى عناصر وهو الذى سي Clusterيتم ادراج اطار الـ -1

Controls Palette>>Modern>>Array, Matrix, & Cluster

.Cluster داخل اطار Indicators او Controlsيتم ادراج -2

Page 248: Lab VIEW - Basics

45

. وليس مختلطIndicators او آلها Controls يجب ان تكون آلها Clusterوالعناصر داخل

Block Diagram فى Terminalلقائيا يوضع له ت Front Panel داخل Clusterبمجرد ادراج

. Positioning بواسطة االداةClusterيمكن تغيير ابعاد

نضغط بالزر االيمن للماوس على Cluster على قدر العناصر داخل Clusterمساحة اطار ولجعل

ونختارClusterاطار

Page 249: Lab VIEW - Basics

46

Autosize>>Size to Fit

:Block Diagram ثابت داخل Cluster انشاء :آالتالى Block Diagram ثابت داخل Cluster انشاءيمكن

منCluster Constantادراج اطار : اوال

Function Palette>>Arrays and Clusters >>Cluster Constant

Page 250: Lab VIEW - Basics

47

او Boolean Constant او Numeric Constant( مثل Clusterادراج ثوابت داخل اطار : ثانيا

String Constant.(

: Clusterترتيب العناصر داخل

.Cluster اطار ل ترتيب وهذا الترتيب ليس مرتبطا بمكان العنصر داخClusterللعناصر داخل

. وفق ترتيب ادراجها داخل االطارClusterوترتب العناصر داخل

. وهكذا1 وثانى عنصر تم ادراجه ترتيبه رقم 0فاول عنصر تم ادراجة ترتيبة رقم

. يجب ان يكونا لهم نفس العناصر وبنفس الترتيب Clusters 2ب اهمية فلكى تربط بين وللترتي

Clusterر ا نضغط بالزر االيمن للماوس على اطClusterولمعرفة او تغيير ترتيب العناصر داخل

.Reorder Controls in Clusterونختار

.ون االسود ل بالواخرى مظللةو االبيض لون ليظهر ارقام فى مربعات مظلله با

.ون االبيض هى ترتيب العناصر الحالىلاالرقام الموجودة فى المربعات المظللة بال •

Page 251: Lab VIEW - Basics

48

.ون االسود هى الترتيب الجديد للعناصرلاالرقام الموجودة فى المربعات المظللة بال •

: مفاتيح Toolbarويظهر فى

. للخروج من عملية الترتيب بالترتيب الجديدOkمفتاخ •

.التغيرات فى الترتيبلعودة للترتيب القديم والغاء ل Revertمفتاح •

.الدخال ترتيب العنصرمربع •

Page 252: Lab VIEW - Basics

49

: SubVIالى فى تمرير البيانات من وClusterاستخدام .28هو VI خاصة بـ Connector Paneى ألTerminalsنعلم من الدرس الرابع ان اقصى عدد للـ

.قد يؤدى الى وجود اخطاء فى التوصيل وايضا الى بعض من التعقيد آبيرا فTerminalsولكن اذا آان عدد

Cluster فبواسطة SubVI فى تقليل عدد الوصالت التى تدخل او تخرج من Clusterدم وتستخ

SubVI وادخال او اخراج عدة قيم من والى Indicators او Controlsتستطيع تجميع عدد من

. واحد فقط Terminalبواسطة

:Clusters خاصة بـدوال الاهم ال

وهذة الدوال موجودة فى

Function Palette>>Programming>>Cluster & Variant

Page 253: Lab VIEW - Basics

50

: Bundleدالة جديد او تغير قيمة احد العناصر Clusterتقوم هذة الدالة بتجميع مجموعة من العناصر المنفردة فى

.موجودCluster الموجودة فى

. Positioning ل الدالة بمدها السفل باستخدام االداةويمكن زيادة عدد مداخ

. ومجموعة مداخل لعناصرClusterمدخل هذة الدالة عبارة عن مدخل لـ

. تم انشأه او تعديل قيم فيهClusterوالمخرج هو

نربط هذة العناصر الى مداخل الدالة وفى هذة . جديد من مجموعة من العناصر Clusterوالنشاء

يحتوى على العناصر Clusterوسوف تخرج الدالة . Clusterة ال يستخدم المدخل الخاص بـ الحال

. هى نفس ترتيب ربطها بالدالةClusterالداخلة وترتيب هذة العناصر فى

:ملحوظة . عند ربط العنصر بمدخل الدالة يظهر عند مدخل الدالة رمز يدل على نوع البيانات لهذا العنصر

Page 254: Lab VIEW - Basics

51

تلقائيا عندئذ يصبحCluster بـمدخل Cluster نقوم بتوصيل Cluster قيمة عنصر فى يريولتغ

ظهر عند آل مدخل سي وبنفس الترتيب آما Clusterعدد مداخل العناصر للدالة يساوى عدد عناصر

.نوع البيانات الخاصة بالعنصر

.تغيير قيمته نقوم بتوصيل القيمة الجديدة لمدخل العنصر المراد ثم

Page 255: Lab VIEW - Basics

52

ختلف فى نوع البيانات سوف يظهر الخط ة بمدخل عنصر اخر ومد لو تم توصيل القيمة الجدي :ملحوظة

.مقطوعة النه خطأ

Page 256: Lab VIEW - Basics

53

.نفس الوقتفى Cluster اآثر من عنصر فى قيميمكن تغيير

:Unbundleدالة

. الى عناصرهClusterتقوم هذة الدالة بفك

عدد مخارج الدالة فيصبح التى نريد فكهClusterم توصيل له ويوجد لهذة الدالة مدخل واحد يت

ويظهر على Cluster وآل مخرج يكون الحد العناصر الموجودة فى Cluster عناصريساوى عدد

.المخرج نوع بيانات العنصر

.Clusterوترتيب العناصر على مخارج الدالة هو نفس ترتيب العناصر فى

عناصرومن المهم معرفة ترتيب ال

.فترتيب العناصر هى الطريقة للتعرف على عنصر معين فهذة الدالة ال تتيح التعرف على اسم العنصر

Page 257: Lab VIEW - Basics

54

فهذين العنصر لن يفرق بينهما اال الترتيب ولوحدث ان يمكن ان يوجد عنصرين بنفس نوع البياناتف

. تيجة ستكون خطأخطأ النهم لهم نفس نوع البيانات ولكن النVIوصلت عنصر مكان االخر لن تعطى

: Bundle By Nameدالة

.ويتم تحديد العناصر بواسطة االسم . Cluster تقوم هذة الدالة بتغير قيمة عنصر او اآثر فى Bundleمثل دالة

. جديدClusterوال تستخدم هذة الدالة فى انشاء

Cluster عنصر فى وتستطيع ان تختار اىClusterوفى هذة الدالة يجب توصيل المدخل الخاص بـ

.لتغيير قيمته

.Positioning السفل بواسطة االداةمكن زيادة عدد مداخل الدالة بمد ايقونتهاوي

Page 258: Lab VIEW - Basics

55

نضغط على ) Clusterبعد توصيل (لتغيير قيمته Cluster والختيار عنصر معين من عناصر

.نها العنصر الذى نريده نختار مCluster لتظهر لنا قائمة بعناصر Operating باالداةالمدخل

: Unbundle by Nameدالة

.العنصراسم ويتم تحديد العنصر بواسطة Clusterتستخدم هذة الدالة للحصول على قيمة عنصر او اآثر من

. على مخرج الدالةCluster الى مدخل الدالة فيظهر اسم اول عنصر فى Clusterعند ادراج الدالة قم بتوصيل

ه واختر العنصر الذى تريدOperating خر اضغط على العنصر بواسطة االداةالختيار عنصر ا

.من قائمة العناصر

Page 259: Lab VIEW - Basics

56

.Positioning لزيادة عدد المخارج نمد ايقونة الدالة السفل بواسطة االداة

:Clustersالتحويل بين المصفوفات و .لعكس واClusterفى بعض االحيان تحتاج للتحويل بين المصفوفة الى

ويمكن ادراجهما من Clustersويوجد دالتان لتحويل بين المصفوفات و

Function Palette>>Programming>>Cluster & Variant

Function Palette>>Programming>>Arrey

Page 260: Lab VIEW - Basics

57

:Cluster to Arrayدالة

ع البيانات الى مصفوفة عدد معين من العناصر لها نفس نو بهClusterمن تقوم هذة الدالة بالتحويل

.بها نفس العدد من العناصر لنفس نوع البيانات

.Clusterوسيكون ترتيب العناصر فى المصفوفة هو نفس ترتيب العناصر فى

Page 261: Lab VIEW - Basics

58

. لها نفس نوع البيانات Cluster انه لكلى تستخدم هذة الدالة يجب ان تكون آل العناصر فى الحظ

عبارة عن مصفوفة فلن تسطيع ان تستخدم هذة Clusterصر داخل الحظ ايضا ان اذا آان احد العنا

. ال يسمع بوجود مصفوفة داخل مصفوفةLabVIEWالدالة الن

:Array to Clusterدالة به Clusterتقوم هذة الدالة بالتحويل من مصفوفة احادية تحتوى على عدد معين من العناصر الى

.اناتنفس العدد من العناصر بنفس نوع البي

ال يقوم LabVIEW وذلك الن Clusterوعند استخدام هذة الدالة يجب ان تحدد عدد العناصر فى

. تلقائيا مثل المصفوفاتClusterبتحديد حجم

فتظهر Cluster Sizeولتحديد عدد العناصر نضغط بالزر االيمن للماوس على ايقونة الدالة فنختار

Clusterلنا نافذة نحدد فيها عدد عناصر

Page 262: Lab VIEW - Basics

59

؟Clusterماذا يحدث اذا لم نحدد عدد العناصر فى

. 9هى Clusterالقيمة االبتدائية لعدد العناصر فى

على عناصر المصفوفة Cluster فسوف يحتوى 9فاذا آان عدد العناصر فى المصفوفة اقل من

ت ا اذا آان نوع البيان0 مثال( الضافة على عناصر مكملة قيمتها القيمة االبتدائية لنوع البيانات اب

Numeric ، False اذا آان نوع البيانات Boolean ( حتى يصبح العدد الكلى فىCluster

. عناصر9يساوى

Page 263: Lab VIEW - Basics

60

عناصر من 9 على اول Cluster فسوف يحتوى 9واذا آان عدد عناصر المصفوفة اآبر من

.عناصر المصفوفة فقط

: Array وClusterمثال على اهمية التحويل بين

تقوم بهذة الوظيفة مع دالة وحيث ان ال توجدClusterف المثال عكس ترتيب العناصر فى هد

Cluster سنقوم بتحويل Cluster الى Arrayالدالة م ونستخد Reverse 1D Array لعكس

.Clusterاصر ثم نحول المصفوفة الناتجة الى نترتيب الع

:Clusters و استخدام دوال المقارنة مع المصفوفات

Clusters 2للمقارنة بين مصفوفتين او يمكن استخدام دوال المقارنة

Page 264: Lab VIEW - Basics

61

Compare و Compare Elements ا همClustersوهناك نمطين للمقارنة بين المصفوفات و

Aggregates.

Comparison Modeوالختيار النمط نضغط على الزر االيمن للماوس على دالة المقارنة ونختار

. النمط الذى نريدهثم

Page 265: Lab VIEW - Basics

62

مع الذى يقابله الذى تقوم دالة المقارنة بمقارنة آل عنصر Compare Aggregatesوفى نمط

واذا لم تكن آل المقارنات True تخرج الدالة القيمة Trueآانت آل المقارنات نتيجتها ابله واذا يق

او Trueط تخرج قيمة وحيدة ان الدالة فى هذا النم .False تخرج الدالة القيمة Trueقيمتها

False.

رج وتخ تقوم دالة المقارنة بمقارنة آل عنصر مع الذى يقابله Compare Elementsوفى نمط

. بنفس ترتيب العناصرCluster آلها فى مصفوفة او اتنتائج المقارن

Page 266: Lab VIEW - Basics

63

Page 267: Lab VIEW - Basics

64

Error Clusters ودوال Error-Handling

Error Cluster وهو Cluster االخطاء التى تحدث اثناء نن و تمرير معلومات ع خاص لتخزي

.تنفيذ البرنامج

:منError-Out Cluster او Error-In Cluster على هيئة Clusterويمكن ادراج هذا

Controls Palette>>Modern>>Array , Matrix & Cluster

: من ثالث عناصر Error Clusterويتكون

1- Status :وهو من النوع Boolean وقيمته تكون True وتكون . لو ان هناك خطأFalse لو

.انه ليس هناك خطأ

2- Code : ويحمل رقم صحيح من النوعI32) - signed integer رقم صحيح يمكن ان يكون موجبا او

.طأ الذى حدث وهذا العنصر قيمته تحدد الخ )سالبا

Page 268: Lab VIEW - Basics

65

: فاذا آانت قيمته

. رقم آودى معينرقم الخطأ فلكل خطأ: موجب

.رقم التحذير فلكل تحذير رقم آودى معين: سالب

.لم يحدث خطأ: صفر

3- Source : سواء آان دالة او مصدر الخطأ لنص يحتوى على وصفSubVI .

تكملة مهمتها بسبب عدم توفر معلومات اساسية SubVIطيع الدالة او ت ال تسايحدث الخطأ غالبا عندم

.و ان اى من تلك المعلومات المهمة غير صالحةلتكمله مهمتها ا

. آمدخل او مخرجSubVI فى آثير من الدوال و عادةCluster ويستخدم هذا

Page 269: Lab VIEW - Basics

66

: و الدوال مع االخطاء SubVIsآيف تتفاعل حتى error out cluster فانها تخرج معلومات الخطأ فى SubVIاذا حدث خطأ داخل دالة او

. والدوال التى تليهاSubVIهزة للـ تكون هذة المعلومات جا

يحتوى على خطأ فانها ال تقوم باى عمل اال بعد error in او دالة على مدخلها SubVIاذا استقبلت

ليكون error out الى error in بتمرير VIواذا لم يتم ازالة سبب الخطأ تقوم .ازالة سبب الخطأ

.التى تليها SubVIsجاهزا للدوال و

: علومات الخطأ عن طريق تدفق البياناتانتشار م حتى يتم نشر SubVI للدوال و Error Clusters مداخل ومخراج البرنامج يفضل ربطعند تصميم

Error Clusterمتاحة للدالة تكون فبذلك المعلومات عن الخطأ الذى يحدث عن طريق تدفق البيانات

. التى ستنفذSubVIاو

Error Case Structure:

فانه يصبح للـ Case Structure لـ Case Selector بالمدخل Error Clusterعند توصيل

Case Structure حالتين :

Page 270: Lab VIEW - Basics

67

وهى الحالة التى ستنفذ اثناء تنفيذ البرنامج اذا آان ) لون اطارها احمر ( Errorالحالة االولى •

Error In Cluster يحتوى على خطأ )Status=True.(

وهى الحالة التى ستنفذ اثناء تنفيذ البرنامج اذا ) لون اطارها اخضر (No Error الحالة الثانية •

).Status=False( ال يحتوى على خطأ Error In Clusterآان

ا اذا لم هفهى ستنفذ مهمت .No Error داخل الحالة SubVI يوضع آود SubVIوغالبا عند تصميم

.ا التى قبلهSubVIsيأتى لها خطأ من الدوال او

لتنقل المعلومات عن الخطأ الى الى خارجهاError Cluster سوف تقوم بتمرير Errorوفى الحالة

. التى بعدهاSubVIsالدوال و

Page 271: Lab VIEW - Basics

68

:Error Clustersدمج .واحد يمكن جمعهم جميعا فى مسارError Clusterاذا آان هناك اآثر من مصدر او مسار للـ

.Error Clustersاآثر لدمج Merge Errors.viوتستخدم

ويتم ادراجها من

Function Palette >>Dialog & User Interface

Page 272: Lab VIEW - Basics

69

: ثالث مداخل VIومداخل هذة

Error In1 : مدخل لـError Clusterاالآثر اهمية .

Error In 2 : مدخل لـError Cluster واهمية هذا المدخل بعد اهمية Error In1

Error In3 : مدخل لـ Error Cluster واهمية هذا المدخل بعد اهمية Error In2.

Error Array in : مدخل لمصفوفة منError Clustersثاخل الثالد واهميتها تأتى بعد اهمية الم.

) Status=True(فاذا آان احد المداخل يحتوى على خطأ . وحيد VI Error Clusterهذة وتخرج

. المدخل اذ لهError Clusterتخرج الدالة

.ثر اهمية للمدخل اآError Cluster الدالة جولو آان هناك اآثر من مدخل يحتوى على خطأ تخر

تخرج ) فى آالهماStatus =True (اءحتويان على اخطي Error In 3 و Error In2ان لو:مثال

.اآثر اهميةنه ال Error In 2الدالة

ثر التحذيرات ن التحذيرات على المداخل وتخرج اآة عواذا لم يكن هناك اخطأ فى المداخل تبحث الدال

.اهمية ان وجدت

)No Error ( ال يحتوى على اخطاءError Clusterواذا لم هناك اى خطأ او تحذير تخرج الدالة

:SubVI داخل Errorآيفية تكوين .ن خطأ وتخرجهو اذا لم تستطع اآمال مهمتها الى سبب ان تكSubVIآيف يمكن جعل

آبر او يساوى الصفر فانها ا تقوم بحسا ب الجذر التربيعى لالعداد فاذا آان الدخل عدد SubVI: ثال م

تقوم بتكوين خطأ الن العدد سالب SubVIتحسب الجذر التربيعى و اذا آان الدخل عدد سالب فان

.Error Clusterوتقوم باخراج هذا الخطأ فى

Error Cluster from Error Codeلعمل ذلك نستخدم الدالة

Page 273: Lab VIEW - Basics

70

.Error Clusterالرقم الكودى للخطأ الى بتحويل VIتقوم هذة

:VIخل هذة ادمو

• Error Code : الرقم الكودى للخطأ.

• Error Message : وصف للخطأ هذا الوصف يظهر عند استخدامSimple Error Handler

يظهر الوصف التقليدى LabVIEWدخل فان واذا لم يوصل هذة الم) فى الجزء القادمحهسيأتى شر(

.Error Codeالخاص بـ

• Error in : مدخل Error Cluster الذى يحتوى على المعلومات عن اى خطأ حدث قبل عملVI.

:VI هذة مخرجو

• Error Out : Error Cluster يحتوى على معلومات عن الخطأ الخاص بالـError

Code وذلك فى حالة اذا آان Error In اليحتوى على خطأ اما فى حالة ان Error In

.Error In هو نفسه Error Outيحتوى على خطأ فان خرج

Page 274: Lab VIEW - Basics

71

Page 275: Lab VIEW - Basics

72

:آيفية اظهار رسالة خطأ للمستخدم .و ازالته فانه يمكن اظهار رسالة للمستخدم تبين حدوث الخطأ اعندما ال يستطيع البرنامج التعامل مع الخطأ

. الظهار رسالة للمستخدم بالخطأ الذى حدث Simple Error Handler .viتستخدم

منVIويتم ادراج هذة

Function Palette>>Programming>>Dialog & User Interface

فاذا آان هناك خطأ تخرج هذة الدالة VI فى البرنامج الى مدخل هذة Error Clusterويتم توصيل

.هذا الوصف مستخدم بهللوصف للخطأ آما انها تظهر رسالة

. الرسالة ع نوtype of dialog يحدد المدخل و

Page 276: Lab VIEW - Basics

73

.واحدواذا لم يوصل هذة المدخل تظهر رسالة بزرار

:Explain Errorنافذة على خطأ فيمكن Error Cluster Indicator او Error Cluster Control يحتوى اعندم

لى معلومات عن الخطأ باالضافة لوصف الخطأ واسباب التى تحتوى عExplain Errorاظهار نافذة

.حدوثه

Page 277: Lab VIEW - Basics

74

:Loopsاختبار حدوث خطأ فى .من عدمهث خطأ و فى اختبار حدError Cluster الموجود فى Statusيستخدم

.Unbundle by Nameك باستخدام الدالة لوذ

Page 278: Lab VIEW - Basics

75

.خطأ عملها فى حالة حدوث اليقافLoops فى داخل Statusويستخدم

Page 279: Lab VIEW - Basics

تم بحمد اهللا تعالى االنتهاء من الدرسالسابع الدرس معالى القاء باذن اهللا تعالى

[email protected]

Page 280: Lab VIEW - Basics

LabVIEWدروس تعليم

سابعالدرس الCharts and Graphs

Page 281: Lab VIEW - Basics

i

الفهرس

iv......................................................................................................هدف الدرس

1...............................................................................................................مقدمة

Waveform Charts.........................................................................................2

Chart ..........................................................................3انماط تحديث البيانات على

Strip Mode .............................................................................................4

Scope Node ..........................................................................................5

Sweep Mode .........................................................................................6

Waveform Chart.....................................................................8آيفية الرسم على

Chart يحتوى على رسم واحد )Single-Plot( ......................................................8

Chart يحتوى على اآثر من رسم )Multiple-Plot(.................................................9

Chart ...........................................................................................15خصائص

Digital Display .....................................................................................15

X) The X Scrollbar (.....................................................16شريط انزالق محور

Chart) Clear Chart (..........................................................17 نقط حذف جميع

Block Diagram .............................................19 من خالل Chartحذف جيمع نقط

Stack and Overly Plots ........................................................................22

Y...........................................................24لمحور ) Scale ( اضافة اآثر من تدريج

Chart History ..................................................................................28سعة

Graphs........................................................................................................30

Waveform Graphs......................................................................................31

Waveform Graph ............................................................................31ادارج

Graph ..................................................................................32آيفية الرسم على

Waveform Graph 32...................................................... يحتوى على رسم واحد

Waveform Graph 35................................................... يحتوى على اآثر من رسم

Page 282: Lab VIEW - Basics

ii

XY Graphs..................................................................................................37

XY Graph ............................................................................38آيفية الرسم على

XY Graph 38................................................................. يحتوى على رسم واحد

XY Graph 40.............................................................. يحتوى على آثر من رسم

XY Graph ...............................................40 فى Planesاستخدام انواع مختلفة من

Graphs.................................................................................43 وChartsمكونات

Scales (.............................................................................43(خصائص التدريج

AutoScale ...................................................................................45خاصية

Loose Fit.....................................................................................46خاصية

Formatting ..........................................................................................47

The Scale Legend...................................................................................54

The Plot Legend......................................................................................56

Graph Cursors.........................................................................................69

The Cursor Legend.................................................................................69

Cursor Legend........................................70 او Graph الى Cursorآيفية اضافة

Cursor....................................................................................71اعادة تسمية

Cursor..........................................................................................71تحريك

Cursor.......................................................................................73خصائص

Graph Annotations..................................................................................77

Graph....................................................................78 الى Annotationاضافة

Annotation.....................................................................................80حذف

Intensity Charts and Graphs.......................................................................81

Intensity Graph and Charts.......................................................82آيفية ادراج

Intensity Graph..........................................82 و Intensity Chartآيفية الرسم على

Color Scale..............................................................................................84

84........................................................................................لون للقيمتخصيص

3D Graphs..................................................................................................88

Page 283: Lab VIEW - Basics

iii

3D Surface Graph...................................................................................90

3D Surface Graph.............................................................91آيفية الرسم على

3D Parametric Graph..............................................................................95

3D Curve Graph......................................................................................97

3D Graph.....................................................................................99 خصائص

Time Stampsو Waveforms وDynamic Data..............................................102

Time Stamps.........................................................................................103

Constant........................103 او Indicator او Time Stamp Controlآيفية ادراج

Time Stamp.............................................................................105تغيير قيم

Time Stamp........................................................................108العمليات على

Numeric..........................................................111 وTime Stampالتحويل بين

Waveforms............................................................................................113

116...............................................................لمصفوفات واWaveformمقارنة بين

Waveform.......................................................................117الدوال الخاصة بـ

Digital Data............................................................................................127

Digital Waveform Graph........................................................................131

Dynamic Data........................................................................................133

Mixed Signal Graph..................................................................................136

Multi-Plot Cursor....................................................................................140

Graphs..........................................................142 او Chartsالحصول على صورة من

Page 284: Lab VIEW - Basics

iv

هدف الدرس

. الرسم عليهاآيفية وخصائصها وChartsالتعرف على •

. وآيفية الرسم عليهاWaveform Graphالتعرف على •

. وآيفية الرسم عليهاXY Graphالتعرف على •

.صها وخصائGraphs وChartsالتعرف على مكونات •

. وآيفية تمثيل البيانات عليهاIntensity Graphs وIntensity Chartsالتعرف على •

)3D Curve و3D Parametric و 3D Graphs)3D Surfaceالتعرف على •

و Time Stampالتعرف على انواع جديدة من البيانات لتمثيل وتخزين االشارات مثل •

Waveformsو Digital Waveform وDigital Data وDynamic Data.

. وآيفية الرسم عليهDigital Waveform Graphالتعرف على •

. وآيفية الرسم عليهMixed Signal Graphالتعرف على •

.Graphs وChartالتعرف على آيفية الحصول على صورة من •

Page 285: Lab VIEW - Basics

1

مقدمة .للرسومات اهمية آبيرة فى تمثيل البيانات والحصول منها على العديد من المعلومات

غنى بكثير من االدوات التى تتيح رسم و تمثيل االنواع المختلفه من البيانات LabVIEWو

وسنستعرض فى هذا الدرس بالتفصيل هذة االدوات و آيفية التعامل معها . فى افضل صورة

. وتهيئتها الفضل شكل

Page 286: Lab VIEW - Basics

2

Waveform Charts Charts هى نوع خاص من Numeric Indicator اشارة او اآثر الظهار رسم بيانى او .

هو Yوعادة ما يكون . X و Yلعالقة بين متغيرين وآما نعلم ان الرسم البيانى هو عبارة عن تمثيل بالرسم

.Xت التى نريد تمثيلها مع الزمن االبيان

منChartويتم ادراج

Controls Palette>>Modern>>Graph

Page 287: Lab VIEW - Basics

3

انها تظهر البيانات الجديدة Chartsمن خصائص و. آما سنرى Loops داخل Chartsوعادة ما تستخدم

.الرسم عند وصول بيانات جديدة بتحديث باستمرار تقومها الى جانب البيانات التى سبق اظهارها آما ان

. عدة انماط لتحديث البيانات عليه Chartويوجد للـ

:Chartانماط تحديث البيانات على .Sweep Mode و Scope Mode و Strip mode هى Chartلى يوجد ثالث انماط لتحديث البيانات ع

ثمChartويتم تحديد نمط تحديث البيانات بالضغط بالزر االيمن للماوس على

Advanced>>Update Mode

ثم نختار النمط الذى نريده

آما يمكن تغيير نمط التحديث اثناء تنفيذ البرنامج

Page 288: Lab VIEW - Basics

4

Strip Mode:

اقصى يسار التى تقعيتم اخفاء اقدم نقطة و Chart ة تظهر فى اقصى يميندديفة نقطة جند اضافى هذا النمط ع

Chart يحدث ازاحة لجميع النقط جهة اليسار اى.

Page 289: Lab VIEW - Basics

5

Scope Node:

عندئذ يتم حذف جميع النقط ليتم عرض النقط الجديدة من يتم عرض النقط حتى تصل النقط الى الحافة اليمنى

.وهكذا يتم تكرار هذة العملية ) اليسرىالحافة(البداية

Page 290: Lab VIEW - Basics

6

Sweep Mode:

ولكن ال يتم حذف يتم عرض النقط حتى تصل النقط الى الحافة اليمنى ففيه Scope Modeهذة النمط يشبة

ويظهر خط ثةيحدوتستبدل آل نقطة قديمة بنقطة ) الحافة اليسرى( من البداية حديثةالنقط وانما يتم عرض النقط ال

وهكذا )النقط القديمة على يمين الخط والنقط الحديثة على يسار الخط ( والحديثةةى يبين الفرق بين النقط القديمرأس

.يتم تكرار هذة العملية

Page 291: Lab VIEW - Basics

7

اي االنماط اسرع فى العرض ؟ط النمطين االخرين فان هذا النمفى يتم ازاحة النقط باعادة رسمها وهذا اليحدث Stripفى النمط النه نظرا

.ت عن النمطين االخريناابطىء فى عرض البيان

:ملحوظة

عتبر عداد لهذة القيم فعند اضافة قيمة جديدة ي فX اما المحور Y هى قيم المحور Chart على القيم التى تعرض

. بواحد X بزيادة قيمة LabVIEW يقوم Chartفى

. Chartبدال من Graph قيم معينة نستخدم Xوالعطاء محور

Page 292: Lab VIEW - Basics

8

:Waveform Chartفية الرسم على آي )Multiple-Plot( ويمكن عرض اآثر من رسم )Chart) Single Plotيمكن عرض رسم واحد على

Chart يحتوى على رسم واحد )Single-Plot( : :Chart رسم وحيد على طريقيتن لعملتوجد

وتضاف هذة القيمة له )Scalar Value( هى توصيل قيمة وحيدة Chartابسط الطرق لعرض بيانات على -1

.Chartآنقطة فى الرسم الموجود على

. لحصول على عدة نقط فى الرسمLoopsويمكن استخدام

مثال

بـ Chart مرة واحدة بدال من نقطة نقطة وذلك بتوصيل Chartيمكن ان تعرض مجموعة من القيم على -2

. عرضهابها القيم التى نريد ) Array(مصفوفة

Page 293: Lab VIEW - Basics

9

Loopsكن تكوين المصفوفة باستخدام ويم

:مثال

Chart يحتوى على اآثر من رسم )Multiple-Plot(: : Chartيوجد عدة طرق لعمل اآثر من رسم على

Page 294: Lab VIEW - Basics

10

بواسطة دالة(Scalar Values)قيم وحيدة وذلك بتجميع Chartيمكن عرض اآثر من رسم على -1

Bundle الموجودة فى

Function Palette>>Programming>> Cluster & Variant

.مستقل فى رسم Chartوآل قيمة ستضاف آنقطة على

Loop باستخدام Chart رسم اآثر من رسم على :مثال

Page 295: Lab VIEW - Basics

11

وآل Clusters يمكن ان نقوم بعمل مصفوفة من مرة واحدةولكى نضيف مجموعة من النقط فى آل رسم

Cluster نقطة فى آل رسملقيمة يحتوى.

فى مصفوفة باستخدام Clusters وايضا يمكن تجميع هذة Bundle باستخدام الدالة Cluster عمل ويمكن

Loops.

:مثال

Page 296: Lab VIEW - Basics

12

آل قيم وذلك بوضع مجموعة Chartهار اآثر من رسم على الظ ذات البعدينيمكن استخدام المصفوفات--2

.Chartرسم فى عمود فى المصفوفة وسوف تظهر هذة النقط مرة واحدة على

Page 297: Lab VIEW - Basics

13

: مثال

آل صف فى رسم بحيث يكون ان ترسم الصفوف Chartاذا اردنا عند توصيل مصفوفة ذات بعدين بـ :ملحوظة

.Chart الخاصة بـ Transpose Arrayنلغى اختيار خاصية بدال من االعمدةمستقل

هم الموجود السزالة الTranspose Array ونضغط على Chartوذلك بالضغط بالزر االيمن للماوس على

.على الخاصية ونعطل الخاصية

Page 298: Lab VIEW - Basics

14

Transpose 2Dولذلك سنزيل دالة Chart لـ Transpose Arrayففى المثال السابق سنلغى خاصية

Arrayالتى تحول الصفوف الى اعمدة .

فانها ال تلغى النقط الموجودة اصال على Chart عند تنفيذ البرنامج وعرض مجموعة نقط على :ملحوظة

Chartوسنرى بعد قليل آيفية حذف هذة النقط...ا وانما تضاف اليها وهكذ .

ط وعند هر ثالث رسومات فى آل رسم خمس نقوللتوضيح ففى المثال السابق عند تنفيذ البرنامج الول مرة تظ

.تنفيذ البرنامج مرة اخرى تضاف خمس نقط اخرى الى آل رسم وهكذا

Page 299: Lab VIEW - Basics

15

:Chartخصائص . سنستعرض بعضها وصائص عدة خChartيوجد لـ

Digital Display: . Chart يعرض اخر قيمة ظهرت على Chart - Digital Display رقمى يوجد لـIndicatorآأى

الضغط على وChart بالضغط بالزر االيمن للماوس على Digital Displayويمكن اظهار او اخفاء

Visible Items>>Digital Display

Page 300: Lab VIEW - Basics

16

:)X) The X Scrollbarمحور شريط انزالق Chart على تستطيع به استعراض النقط القديمة التى عرضن X على شريط انزالق على محور Chartيحتوى

.وليست ظاهرة

واختيار او Chartويمكن اظهار او اخفاء شريط االنزالق وذلك من خالل الضغط بالزر االيمن للماوس على

الغاء اختيار

Visible Items>>X Scrollbar

Page 301: Lab VIEW - Basics

17

:)Chart) Clear Chart حذف جميع نقط .Chart تضاف على النقط القديمة الموجودة على Chartآما علمنا ان اى نقط نعرضها على

).القديمة والحديثة( Chartولحذف جيمع النقط من على

ونختار Chartنضغط بالزر االيمن للماوس على

Data Operation >> Clear Chart

:ملحوظة

آما نعلم انه فى اثناء عدم تنفيذ البرنامج فهناك حالتين او نمطين للعمل هما

Run Mode و Edit Mode

ودوال و تغيير ابعاد Controls نستطيع ان نقوم بجميع عمليات تحرير البرنامج من اضافة Edit Modeوفى

.وغيرها وذلك عادة يكون اثناء تصميم البرنامج

اثناء التنفيذ وال لحالته فى حالة مشابهة VIال نستطيع عمل معظم عمليات التحرير ويكون Run Modeوفى

. قابلة للتنفيذVI اال اذا آانت Run Modeيمكن االنتقال الى حالة

Ctrl+M والعكس وذلك بالضغط على Run Mode الى Edit Modeويمكن االنتقال من حالة

او من القائمة

Operate>> Change to Run Mode

Page 302: Lab VIEW - Basics

18

Edit Modeاذا آنا فى حالة

او

Operate>> Change to Edit Mode

Run Modeاذا آنا فى حالة

Page 303: Lab VIEW - Basics

19

وذلك من خالل الضغط بالزر االيمن للماوس واختيار Run Mode فى Chartويمكن حذف جميع نقط

Clear Chartمباشرة

:Block Diagram من خالل Chartحذف جيمع نقط

. فانها تضاف على النقط القديمةChartا انه عند اعادة تنفيذ البرنامج وعرض نقط على آما ذآرن

لذلك تحتاج الى . تنفيذ البرنامج فيها فارغة فى آل مرة يبدأChartولكن فى بعض االحيان تحتاج ان تجعل

عمل ذلك من ويمكن . فى بداية تنفيذ البرنامجBlock Diagram من خالل Chartطريقة لحذف جميع نقط

.Property Nodeخالل

فى اى Indicators او Controls تتيح لنا التعامل مع خصائص معينة للـ Node هى Property Nodeو

.جزء من البرنامج وذلك سواء القراءة من هذة الخصائص او الكتابة فيها

.Chartودة فى وهى تحتوى على مصفوفة جميع قيم النقط الموجHistory Data خاصية Chartوللـ

ونقوم بتوصيل History Property Node فارغة وحذف جيمع النقط التى عليها نقوم بادراج Chartولجعل

.مصفوفة فارغة اليها

Page 304: Lab VIEW - Basics

20

ولعمل ذلك نتبع الخطوات االتية

Terminal وذلك بالضغط بالزر االيمن على Chart للـ History Property Nodeنقوم بادراج -1

واختيارBlock Diagram فى Chart الخاص بالـ

Crate>>Property Node>>History Data

Page 305: Lab VIEW - Basics

21

للكتابة بدال من القراءة وذلك بالضغط بالزر االيمن للماوس واختيارProperty Node نجعل -2

Change to Write

History Data Property ننشأ مصفوفة فارغة وذلك من خالل الضغط بالزر االيمن للماوس على -3

Node واختيار

Create>>Constant

Page 306: Lab VIEW - Basics

22

فى بداية تنفيذهChart يقوم هذا البرنامج بحذف جميع النقط التى على :مثال

Stack and Overly Plots:

وتسمى هذة الحالةY يمكن ان نجعل الرسومات مشترآة فى محور Chartعند عرض اآثر رسم على

Overly Plots. محور او ان نجعل لكل رسمY خاص به ومختلف عن االخرين وتسمى فى هذة الحالة

Stack Plots.

.)Y) Overlay Plotsوالوضع الطبيعى او االولى للرسومات انهم مشترآين فى محور

ل من ي للتحوStack plotsاختيار وChartويمكن التبديل بينهم بالضغط بالزر االيمن للماوس على

Overlay Plots الى Stack Plots .

Page 307: Lab VIEW - Basics

23

.Overlay Plots الى Stack Plots للتحويل من Overlay Plotsاو اختيار

Page 308: Lab VIEW - Basics

24

:Yلمحور ) Scale ( تدريجاضافة اآثر من تكون هذة الرسومات تختلف فى مدى االرقام مما Chartفى آثير من االحيان عند عرض اآثر من رسم على

.Yيستدعى وضع اآثر من تدريج لـ

ونختار Yمحور التدريج الموجود ل نضغط بالزر االيمن للماوس علىChart فى Yمحور ل تدريج والضافة

Duplicate Scale.

Page 309: Lab VIEW - Basics

25

وذلك بالضغط بالزر االيمن للماوس على التدريج Chart الى يمين Chartيمكن تغيير مكان التدريج من يسار

.Swap Scaleواختيار

Page 310: Lab VIEW - Basics

26

واختيار Chartبه وذلك من خالل الضغط بالزر االيمن للماوس على ويمكن تحديد لكل رسم التدريج الخاص

Properties) لفتح صفحة خصائصChart ( صفحة الرسومات واختيارPlots.

Page 311: Lab VIEW - Basics

27

:ملحوظات

اآثر من تدريج فيمكن حذف اى تدريج وذلك بالضغط بالزر االيمن للماوس على Yاذا آان لمحور •

.Deleteالتدريج واختيار

واختيار Chart وذلك بالضغط بالزر االيمن للـ Chartاع آل التدريجات الى يسار يمكن ارج •

Advanced>>Reset Scale Layout

Page 312: Lab VIEW - Basics

28

.X فهو تدريج وحيد لمحور X الى محور اضافيةال يمكن اضافة اى تدريجات •

:Chart Historyسعة مكن ان يحتفظ بقيمها ويمكن ان عدد النقط التى يان نقطة اى 1024 فان سعته هى Chartعند ادراج

ملحوظة ليس معنى ذلك انك لن تستطيع ان تضيف نقط جديدة ولكن عند اضافة نقط .(Chartتستعرضها على

.) جديدة ستحذف اقدم النقط

واختيار Chart وذلك بالضغط على 2,147,483,647 الى 10من بقيمة اخرى Chartويمكن تحديد سعة

Chart History Length لتظهر لنا نافذة نحدد فيها سعةChart.

Page 313: Lab VIEW - Basics

29

آلما آبر Chart وانما آلما آبرت سعة Chart عدد النقط التى تظهر على شاشة Chart ال تحدد سعة :ملحوظة

. والتى يمكن استعراضها بواسطة شريط االنزالقChartلقديمة التى يحتفظ بها اعدد النقط

Page 314: Lab VIEW - Basics

30

Graphs لجاهزة فى مصفوفة وتقوم برسم البيانات مرة واحد وال يمكن اضافة اى بيانات اخرى البيانات اGraphsترسم

.Chartsس كى الرسم اال باعادة الرسم وذلك عال

Intensity و XY Graphs و Waveform Graphs مثل Graphsوتوجد انواعى آثيرة من

Graphs 3 وD Graphs و Digital Waveform Graphsوانواع اخرى خاصة .

فى هذا الجزء وايضا سنتعرف علىXY Graphs و Waveform Graphوسوف نتعرف بالتفصيل

Intensity Graphs 3 وD Graphs وMixed Signal Graphs فى هذا الدرس.

Page 315: Lab VIEW - Basics

31

Waveform Graphs

لهذة البيانات تبدأ من رقم معين وتزداد X وقيم Y برسم بيانات على محور Waveform Graphsتقوم

اى ان المسافة بين ) 20,15,10,5,0 او 4,3,2,1,0مثال ( ثابت Xمة ثابته اى ان الفرق بين قيم بقي

. ستكون متساويةXالنقط المرسومة على محور

.Y قيمة واحدة فقط X لكل قيمة Graphوفى

:Waveform Graphادارج من Front Panel فى Waveform Graphيتم ادراج

Controls Palette>>Modern>>Graphs

Page 316: Lab VIEW - Basics

32

.Block Diagram فى Terminal يظهر له Front Panel بمجرد ادراجه فى Indicatorوآأى

:Graphآيفية الرسم على

Waveform Graphيحتوى على رسم واحد : Waveform هى توصيل مصفوفة الى Waveform Graphابسط الطرق للرسم على -1

Graph Terminalمصفوفة ستكون هى قيم وقيم ال. مباشرةY اما قيم X فستبدأ من الصفر

. فى المصفوفةYوتزداد واحد لكل قيمة

X= (1قيمة الزيادة فى قيم (dXو 0)=Xاول قيمة فى قيم ( X0اى ان

Page 317: Lab VIEW - Basics

33

:مثال

ورسم Auto Indexing باستخدام خاصية For Loopن مصفوفة ذات بعد واحد باستخدام يتكو

.Waveform Graph المصفوفة المتكونة على

.X ومقدار الزيادة لقيم Xفى آثير من االحيان نحتاج لتغيير القيمة التى تبدأ بها

.1 بقيمة غير dX بقيمة غير الصفر وايضا ان نجعل X0اى نجعل قيمة

ثالث مداخلBundleوفى هذة الحالة نجعل لدالة . Bundleيمكن عمل ذلك باستخدام الدالة

.)Xالقيمة التى تبدأ بها قيم ( X0 قيمة:االول

.)Y لكل قيمة Xمقدار الزيادة فى قيمة (dX قيمة :الثانى

.)Yقيم ( المصفوفة ذات البعد الواحد التى نريد رسمها :الثالث

.Waveform Graph Terminalومخرج الدالة يوصل الى

من Bundleويتم ادراج دالة

Function Palette>>Programming>>Cluster & Variant

Page 318: Lab VIEW - Basics

34

Arrays and عليك باالطالع على الدرس السابق Bundle لمعلومات اآثر عن دالة :ملحوظة

Clusters

.Bundleوهذا هو المثال السابق ولكن باستخدام الدالة

Page 319: Lab VIEW - Basics

35

dXو X0ويمكننا تغيير قيمة

dX=5و X0=100 :مثال

خمس ثوانى فانك بعد انتهاء القياس والحصول على لو انك تقيس درجات الحرارة آل:وآمثال عملى

اى بين آل dX= 5تجعل ف Waveform Graphمصفوفة بها قيم درجات الحرارة وترسمها على

. ثوانى5قراءة واخرى

Waveform Graph حتوى على اآثر من رسمي: آل صف فى نقوم بتكوين مصفوفة ذات بعدين وWaveform Graphلرسم اآثرمن رسم مستقل على

.dX=1 و X0=0وفى هذة الحالة تكون . رسم مستقل م رسمه فىتيهذة المصفوفة

Page 320: Lab VIEW - Basics

36

على هيئة صفوف فى مصفوفة ذات بعدين باستخدام دالة واحد ويمكن تجميع اآثر من مصفوفة ذات بعد

Build Array.

.كل رسمل) Xقيمة الزيادة فى قيم (dXو ) Xلقيمة التى تبدأ بها قيم ( X0لتغيير قيمة

.Build Array مع آل مصفوفة ذات بعد واحد ثم نقوم بتجميعم بدالة Bundleنستخدم دالة

Page 321: Lab VIEW - Basics

37

XY Graphs .Y و Xفلرسم اى نقطة يجب تحديد لها قيمة .Y وX برسم عالقة بين قيم XY Graphsتقوم

.ط اال باعادة الرسم فى انه يتم الرسم مرة واحدة وال يتم اضافة اى نقWaveform Graph مثل XY Graphو

من XY Graphويتم ادراج

Controls Palette>>Modern>>Graphs

Page 322: Lab VIEW - Basics

38

على رسم واحد او اآثر من XY Graph يمكن ان يحتوى Waveform Graphs وChartsومثل

.رسم

:XY Graphآيفية الرسم على 1- XY Graphيحتوى على رسم واحد :

a( بجمع مصفوفة قيمX ومصفوفة قيم Y بواسطة الدالة Bundle .

فى هذة الحالة ذات بعد واحدY او Xومصفوفة

من Bundle يتم ادراج دالة :ملحوظة

Function Palette>Programming>>Cluster & Variant

:مثال

Page 323: Lab VIEW - Basics

39

b( تجميع آل قيمة من قيم X مع القيمة المقابلة لها من Y فى Cluster بواسطة الدالة Bundle

.Clustersصفوفة من هذة ثم عمل م

:مثال

Page 324: Lab VIEW - Basics

40

2- XY Graphيحتوى على آثر من رسم :

لكل رسم بواسطة الدالة Y مع مصفوفة X نقوم بتجميع مصفوفة XY Graphلعرض اآثر من رسم على

Bundle آما فى طريقة عمل رسم واحد ثم نقوم بتجميع Clusters بواسطة الدالة ) الرسومات( الناتجة

Build Array.

:ثالم

:XY Graph فى Planesاستخدام انواع مختلفة من )Grid Lines( خطوط طولية وعرضية XY Graphتوجد فى

S Plane وNyquist مثل Planes خطوط اخرى خاصة تسمى XY Graphوتوجد فى

Radio Frequency (RF) مفيدة جدا فى بعض القياسات مثل قياسات Planesوهذة .Z Plane و

.ت و القياسات التى تعتمد على التردد وليس الزمنو الصوتيا

Page 325: Lab VIEW - Basics

41

ثم نختار Option Planes بالزر االيمن واختيار XY Graph بالضغط على Planesويتم تحديد هذة

. الذى نريده اظهاره او اخفاءهPlaneاو نلغى اختيار

Page 326: Lab VIEW - Basics

42

Page 327: Lab VIEW - Basics

43

Graphs وChartsمكونات وبوسطة هذة المكونات نستطيع تهيئة . يرة صائص آث وخ على مكوناتGraphs وChartsتحتوى

Chartsو Graphs بالشكل الذى نريده .

.خصائص والمكوناتوسوف نتعرف على اهم هذة ال

:) Scales(خصائص التدريج .Y او محور Xتوجد عدة خصائص لتدريج محور

ونختار Graph او Chartويمكن الوصول لتلك الخصائص بالضغط بالزر االيمن للماوس على

X Scale او Y Scaleيج محور در لتظهر لنا قائمة خصائص تX او محور Y.

Page 328: Lab VIEW - Basics

44

.وبالضغط بالزر االيمن للماوس على التدريج مباشرة تظهر لنا هذة القائمة مباشرة

Page 329: Lab VIEW - Basics

45

:AutoScaleخاصية

كون مدى التدريج يتفعيل هذة الخاصية تجعل القيمة الصغرى والقيمة الكبرى للتدريج تتغيرتلقائيا بحيث

.بافضل دقةآلها بحيث يتم اظهار النقط Graph او Chartهو مدى قيم النقط الموجودة فى

فى 1 الى0 ياخذ القيم من Y فان تدريج محور 1 الى 0 لجميع النقط من Yان مدى قيم وآمثال لو

.Y لمحور AutoScaleحالة تفعيل

Page 330: Lab VIEW - Basics

46

.Chart وغير مفعلة تلقائيا فى Graphs مفعلة تلقائيا فى AutoScaleوخاصية

وذلك Graph او Chart الى بطىء فى تحديث النقط على AutoScaleويمكن ان تؤدى خاصية

.النها تحتاج الى اعادة حساب التدريج وتعديله بحيث يناسب التحديث

ك وذلY او محور X يمكن تغيير التدريج لمحور AutoScaleوعند عدم تفعيل او تعطيل خاصية

وعادة يتم ذلك بكتابة القيمة . لكتابة القيم الجديدة Labeling او االداة Operatingباستخدام االداة

.الصغرى للتدريج او القيمة الكبرى للتدريج

:Loose Fitخاصية

Page 331: Lab VIEW - Basics

47

.تؤدى هذة الخاصية الى ان القيم الصغرى والكبرى للتدريج تأخذ مضاعافات الزيادة فى التدريج

فان القيمة الصغرى و القيمة )10اى ان التدريج آل (10 ان الزيادة فى التدريج تساوى فمثال لو

.10الكبرى للتدريج تساوى مضاعفات

:Formattingاالختيار

Page 332: Lab VIEW - Basics

48

على صفحة Chart او Graph تظهر لنا نافذة خصائص Formattingعند اختيار االختيار

Format and Precisionحة نستطيع ضبط االرقام المستخدمة فى التدريج ومن خالل هذة الصف

.من حيث النوع و عدد االرقام العشرية

.Scalesوتوجد صفحة اخرى بتفس النافذة وهى صفحة

Page 333: Lab VIEW - Basics

49

:وهذة الصفحة بها عدة خصائص للتدريج يمكن تعديلها وهذة الخصائص هى

Name: االسم الذى يظهر على التدريج )Scale Label.(

Show Scale Label : الظهار او اخفاء االسم الذى يظهر على التدريجScale Label.

Page 334: Lab VIEW - Basics

50

Show Scale: الظهار او اخفاء التدريج.

Log: لجعل التدريج لوغاريتمى )Logarithmic( .

Page 335: Lab VIEW - Basics

51

Inverted: والقيمة الصغرى على اليمين يسارلعكس التدريج بحيث تكون القيمة العظمى على ال

.Y او ان تكون القيمة العظمى السفل والقيمة الصغرى العلى بالنسبة لمحور Xحور نسبة لمبال

AutoScale: لتفعيل او تعطيل خاصية AutoScaleللتدريج .

The Scale Style and Colors: Minor وMajor Ticks و ايضا الوان آل من Minor Ticks و Major Ticks يتم تحدد شكل

Ticks و Marker text.

Page 336: Lab VIEW - Basics

52

Page 337: Lab VIEW - Basics

53

The Grid Style and Colors: هى الخطوط الطولية والعرضية التى تظهر فى Gird Linesو . Grid Linesوان اللتحديد شكل و

Chartخطوط وهى مثل خطوط الرسم البيانى و Grid Lines تظهر عند التىMajor Ticks

ويمكن . Minor Gridى تسم Minor Ticksتظهر عند التى Grid Linesو Major Gridتسمى

.وايضا يمكن اختيار لون هذة الخطوط. ها جميعاؤمن هذة الخطوط التى تظهر او اخفااختيار اى

Page 338: Lab VIEW - Basics

54

Scaling Factors: .Offsetوذلك بتحديد قيمة ) X) X0يمكن تحديد القيمة التى يبدأ عندها تدريج محور

.Multiplierوذلك بتحديد قيمة ) X) dXوايضا يمكن تحديد قيمة الزيادة فى تدريج محور

The Scale Legend:

. التى عرضناها Scaleالى خصائص بسرعة ويتيح الوصول Graph او Chartهو احد مكونات

. ويمكن تغيير هذا االسم من خالله Graph او Chartويظهر به اسماء التدريجات الموجودة بـ

Page 339: Lab VIEW - Basics

55

Positioning بواسطة االداة Scale Legend يمكن مد ني اذا آان هناك اآثر من تدريج:ملحوظة

. الظهار التدريجات االخرى

للوصول الى خصائص تدريج محور على الزرار وللوصول الى قائمة خصائصة التدريج نضغط

X للوصول الى خصائص تدريج محور او Y.

.عة الوصول اليهاوهذة الخصائص هى الخصائص التى عرضناها من قبل ولكن وضعت هنا لسر

. لكل تدريج وذلك بالضغط على الزرار AutoScaleويمكن تفعيل خاصية

مفعلة ويكون الزرار تكونAutoScale فان خاصية وعندما يكون هذا الرزار بهذا الشكل

. المجاور بهذا الشكل

علة ويكون الزرار مف تكون غيرAutoScale فان خاصية وعندما يكون هذا الرزار بهذا الشكل

. المجاور بهذا الشكل

Page 340: Lab VIEW - Basics

56

The Plot Legend : يستخدم فى تحديد خصائص الرسم مثل اسم الرسم و لونه وشكل الخط فيه وشكل ولون النقط المستخدمة

.فيه

اآثر من رسم هناك واذا آان Plot Legend يظهر رسم واحد فى Graph او Chartوعند ادراج

بحيث تظهر باقى Positioning بواسطة االداة Plot Legendيمكن مد Graphاو Chartعلى

.Plot Legendالرسومات فى

) Plot 1 و Plot 0(للرسم مثل يبدأ من الصفر ثم رقم Plot بكلمة Plot Legendيسمى الرسم فى

.LabVIEW فى Label مثل اى Labelingويمكن تعديل هذا االسم باستخدام االداة

Plot تتغير بحيث تسع اآبر اسم وهذة هى خاصية Plot Legendيير االسم فان ابعاد عند تغ

Legend Autosizing. ويمكن الغاء هذة الخاصية او تفعليها من خالل الضغط علىChart او

Graph واختيار او الغاء اختيار Plot Legend Autosizing.

Page 341: Lab VIEW - Basics

57

Plot ولكن يمكن اختيار Plot Legendها يتحرك معGraph او Chart عند تحريك :ملحوظة

Legendوتحريكها منفردا فى المكان الذى تريده .

Operating بواسطة االداةPlot Legendوللوصول الى خصائص الرسم او تعديلها نضغط على

. عليهلتظهر لنا قائمة بالخصائص ويمكن ايضا اظهار القائمة بالضغط بالزر االيمن للماوس

قائمة خاصة به Plot Legendلكل رسم فى وتوجد

Page 342: Lab VIEW - Basics

58

.وسنتعرف على هذة الخصائص بالتفصيل

:Common Plotاالختيار

النقط و الخط ويتميز هذة االختيار بتحديد شكل اشكال 6ويتيتح هذا االختيار تحديد شكل الرسم من بين

.و آيفية ربط النقط ببعض مرة واحد من خالل اختيار الشكل

Page 343: Lab VIEW - Basics

59

:Colorختيار اال

:Line Styleاالختيار .لتحديد شكل الخط المستخدم فى الرسم

Page 344: Lab VIEW - Basics

60

:Line Widthاالختيار

.لتحديد سمك الخط فى الرسم

:Anti-Aliasedاالختيار

ويحتاج هذا االختيار بعض الحسابات االضافية لجعل الرسم . يجعل هذا االختيار الرسم اآثر انسيابية

.ر انسيابية مما قد يؤدى الى بعض البطىء وتقليل الكفاءةاآث

Page 345: Lab VIEW - Basics

61

:Bar Plotsاالختيار القيم الموجودة فى الرسم هذة االعمدة يمكن ان تكون افقية او رأسية دينشىء هذا االختيار اعمدة عن

.مظللة وهذة االعمدة يمكن ان تكون فارغة او %1او % 75 او %100ويمكن ان يكون عرضها

:Fill Base Lineالختيار ا

لعمل تظليل وهذا التظليل يكون ما بين الرسم و صفر او سالب ما نهاية او النهاية او اى رسم اخر

.Graphاو Chartموجود اذا آان هناك اآثر من رسم على

Page 346: Lab VIEW - Basics

62

Page 347: Lab VIEW - Basics

63

:Interpolationاالختيار

ون توصيل او يتم التوصيل بينها دط ب فيمكن ان تكون النقيحدد هذا االختيار آيفية التوصيل بين النقط

.Histogramبخط مستقيم او التوصيل بينها بزاوية قائمة بطرق مختلفة مما يفيد فى عمل ما يسمى

:Point Styleاالختيار .ختيار شكل النقط الموجودة بالرسم يحدد هذا اال

Page 348: Lab VIEW - Basics

64

:Y Scale و X Scaleاالختيارين

.ن االختيارين التدريج الخاص بالرسميفيتم تحديد بهذ. حور اذا آان هناك اآثر من تدريج للم

Page 349: Lab VIEW - Basics

65

The Graph Palette:

او عمل Graphs او Charts لتحريك الجزء المخصص للرسم فى Graph Paletteتستخدم

.تكبير لجزء معين من الرسم

زء آل واحد منهم خاص بنمط معين للتعامل مع الجGraph Paletteويوجد ثالث زراير فى

.المخصص للرسم

:Standard Modeزرار سيأتى شرحها (Cursors على النمط العادى وفيه تستطيع الضغط على Graph وهذا يجعل

.لتحريكها على الرسم )بالتفصيل

:Pan زرار

وذلك . فى هذا النمط يمكن تحريك الجزء الخاص بالرسم الظهار اى جزء من الرسم غير ظاهر

. هذا النمط استخدام شريط االنزالقهاهر من الرسم ثم السحب ويشبجزء الظبالضغط على ال

Page 350: Lab VIEW - Basics

66

:)Zooming(زرار التكبيراو التصغير

.بالضغط على هذا الزرار تظهر لنا قائمة بها خيارات لطرق عمل تكبير جزء من الرسم

:التكبير بواسطة مستطيل

Y وXيتم رسم مستطيل حول جزء من الرسم بالضغط ثم السحب وعند الرفع من الضغط يتغير تدريج

. بحيث يظهر الجزء الذى تم اختياره بواسطة الرسم

:Xكبير بواسطة مستطيل عل محور تال

. لن يتغيرY فقط فتدريج محور Xبرسم مستطيل حول محور للتكبير يتم اختيار جزء من الرسم

Page 351: Lab VIEW - Basics

67

:Yطة مستطيل على محور التكبير بواس . لن يتغيرX فقط فتدريج محور Yيتم اختيار جزء من الرسم للتكبير برسم مستطيل حول محور

:آل الرسم الظهار التكبير

. بحيث يتم اظهار آل الرسم Y و Xيتغير تدريج محور

Page 352: Lab VIEW - Basics

68

:كبير حول نقطة تال

ية التكبير فلو تم الضغط على اى نقطة سيحدث حولها تكبير وستستمر عمليتم التكبير حول نقطة معينة

.حتى يتم اذالة الضغط

:ير حول نقطةالتصغ

ستمر عملية تة سيحدث حولها تصغير وسيتم التصغير حول نقطة معينة فلو تم الضغط على اى نقط

.التصغير حتى يتم اذالة الضغط

Page 353: Lab VIEW - Basics

69

Graph Cursors: ويتكون . بطريقة تفاعلية Graph لتحديد بيانات النقط على Cursorsعلى Graphsحتوى ت

Cursor من تقاطع خط رأسى له قيمة على محور X له قيمة على محور افقى وخط Y.

The Cursor Legend: .Graph الموجودة على Cursorsبيانات وخصائص على Cursor Legendيحتوى

.Cursor من على اآثر Graphويمكن ان يحتوى

Page 354: Lab VIEW - Basics

70

:Cursor Legend او Graph الى Cursorآيفية اضافة

نضغط بالزر االيمن Cursorوالضافة . الول مرة فانه يكون فارغا Cursor Legendعند اظهار

.Cursor ثم نختار نوع Create Cursor ونختار Cursor Legendللماوس على

Page 355: Lab VIEW - Basics

71

: هى Cursorsوهناك ثالث انواع من

Free : وهى انCursor يمكن تحريكه الى اى مكان على Graph نقط بدون االرتباط باى.

Single Plot : وهى انCursor الى اال يكون مرتبط بنقط رسم واحد وال يمكن تحريكه

.الرسمنقط هذا امكان

Multi-Plot : لـهذا النوع غير متاح اال Mixed Signal Graphs وسيأتى شرحها فى

.نهاية الدرس

. بعد اضافته ولعمل ذلك يجب اوال حذفه ثم اضافته من جديد بالنوع المرادCursorال يمكن تغيير نوع

:Cursorتسمية اعادة

.LabVIEW فى Label مثل تعديل اى Labeling باستخدام االداة Cursorيمكن تعديل اسم

:Cursorتحريك

باستخدام اداة التحريك Cursorتحريك -1

Page 356: Lab VIEW - Basics

72

على الشكل المعين الذى Operating الذى نريد تحريكه نشطا بان نضغط باالداة Cursor اوالنجعل

.بجوار االسم حتى يكون مظلال

. نشطاCursorيمكن جعل اآثر من

العلى او السفل او لليمين او ه النشطة فى اى اتجاCursorsثم نستخدم اداة التحريك فى تحريك

.ة زرارير آل زرار يتم الضغط عليه للتحريك فى اتجاه معينالشمال فهى مقسمة الى اربع

Page 357: Lab VIEW - Basics

73

الى Cursor ثم الضغط وتحريك Cursorباستخدام مؤشر الماوس وذلك بوضع المؤشر على -2

Cursorاو بوضع مؤشر الماوس على الخط االفقى او الرأسى ثم الضغط وتحريك المكان الذى تريده

.حالة ليس ضروريا ان يكون نشطافى هذة ال واما افقيا او رأسيا

او احد الخطوط مما يدل على امكانية Cursor يتغير شكل مؤشر الماوس عند وضعها على :ملحوظة

. التحريك

. المرتبط بنقط رسم اال الى امكان نقط هذا الرسمCursorال يمكن تحريك

وذلك Cursor Legendفى له Y و X فى المكان الذى نريده بتغيير قيمة Cursor يمكن وضع -3

.Labelingبواسطة االداة

:Cursorخصائص

.شكله وسمك الخط و Cursorوشكل عدة خصائص آاللون Cursorتوجد لـ

Page 358: Lab VIEW - Basics

74

.Attributes ثم Cursorوللوصول الى هذة الخصائص نضغط بالزر االيمن للماوس على اسم

Page 359: Lab VIEW - Basics

75

Page 360: Lab VIEW - Basics

76

Graph على Cursorآما يمكن اظهار اسم

تبط برسم معين يمكن ان نجعل الرسم ر مCursor وهناك Graphا آان هناك اآثر من رسم على اذ

.يرتبط برسم اخر

Page 361: Lab VIEW - Basics

77

بالزر االيمن للماوس Cursor Legendفى وذلك بالضغط على اسمهCursorيمكن حذف

.Deleteواختيار

Graph Annotations:

.Graph Annotation وذلك باستخدام Graphsى يمكن اضافة عالمة او تعليق على الرسومات ف

وهذة العالمات يمكن ان تكون للتوضيح او تحديد نقط معينة على الرسم مثل اعلى او اقل قيمة فى الرسم

.او االشارات

.)Label( و سهم و اسم Cursor من Annotationويتكون

:Annotation يوجد ثالث انواع من Cursorومثل

Free:رتبط باى رسم ويمكن ان يوجد على اى مكان على اى ليس مGraph.

Snap to All Plots: اى مرتبط بالرسومات الموجودة علىGraph اى ال يمكن ان يوجد

.Graphاال على اى نقطة على

Snap to One Plot : اى مرتبط برسم معين وال يمكن ان يوجد اال على نقط هذا الرسم.

Page 362: Lab VIEW - Basics

78

: Graph الى Annotation اضافة ثم Data Operationsبالزر االيمن للماوس ونختار Graph نضغط على Edit Modeاذا آنا

Create Annotation لتظهر لنا نافذة صغيرة بها خصائص Annotationالذى نريده .

Create Annotation ونختار Graph نضغط بالزر االيمن للماوس على Run Modeواذا آنا فى

. الذى نريدهAnnotationفذة صغيرة بها خصائص لتظهر لنا نا

Page 363: Lab VIEW - Basics

79

. Ctrl + M و العكس نضغط Run Mode الى Edit Mode للتحويل من :ملحوظة

Free بواسطة المؤشر وذلك حسب نوعه فاذا آان Annotation الخاص بـ Cursorيمكن تحريك

فيمكن تحريكه على النقط فقط آثر واذا آان متربط برسم او اGraphفيمكن تحريك الى اى مكان على

. يتحرك معه السهم واالسم معاCursorوعند تحريك

.Cursorويمكن تحريك االسم فقط بواسطة مؤشر الماوس وسيظل السهم يربط بين االسم و

Page 364: Lab VIEW - Basics

80

: Annotationحذف واختيارGraph بالضغط بالزر االيمن للماوس على Annotationيمكن حذف جميع

Data Operations >> Delete All Annotations

Edit Modeوذلك فى حالة

او نختار مباشرة

Delete All Annotations

Run Modeفى حالة

Page 365: Lab VIEW - Basics

81

Intensity Charts and Graphs

ماذا اذا اردنا ان نمثل ف. Y و Xومات فى بعدين فى رسم الرسGraphs وChartsشاهدنا آيف تستخدم

؟Z وY وXاد ثالث ابعرسم فى او نرسم

.ن الوا على هيئة Z فى تمثيل البعد الثالث Intensity Graphs و Intensity Chartsيستخدم

.Zويكون اللون فى هذة الحالة البعد الثالث . 255 الى 0فكل لون يحدد له رقم من

. درجات الحرارةاتفى ايضاح التوزيعات مثل توزيعهذة الطريقة ستخدم تويمكن ان

يوضح قيم االلوان ويعتبر دليال لقيم االلوان ويمكن تعديل Graphs وCharts مع Color Scaleيوجد

.هذة القيم آما سنرى

. العاديين Graphs وCharts آما هو الفرق بين Intensity Graph و Intensity Chartوالفرق بين

ةتظهر الرسومات مرة واحد Graphs يظهر القيم الجديدة المضافة مع القيم القديمة اما Chartفـ

. وعند الرسم عليها يتم ازالة اى رسومات قديمة عليها

Page 366: Lab VIEW - Basics

82

:Intensity Graph and Chartsآيفية ادراج من Intensity Graph and Chartsيتم ادراج

Controls Palette>>Modern>>Graphs

:Intensity Graph و Intensity Chartآيفية الرسم على البيانات على هيئة مصفوفة ذات بعدين آل قيمة فى Intensity Graph و Intensity Chartتأخذ

.Y ورقم العمود هو قيمة X ورقم الصف هو قيمة )Zقيمة (المصفوفة تمثل قيمة اللون

Page 367: Lab VIEW - Basics

83

Page 368: Lab VIEW - Basics

84

Color Scale: .Scale Color هى القيم الموجودة على Markers وهذة Scale Colorsعلى Markersتوجد

.Labelingمكن تعديل هذة القيم بواسطة االداة وي

واختيار Color Scale وذلك بالضغط بالزر االيمن للماوس علىMarkerويمكن اضافة

Add Marker

:تخصيص لون للقيم

يمن للماوس او بالزر اال Operation وذلك بالضغط علية باالداة Markerيمكن ان نخصص لون ألى

. لتظهر لنا لوحة االلوان ونخصص اللون الذى نريدهMarker Colorونختار

Page 369: Lab VIEW - Basics

85

ىجودة اآبر من القيمة الكبروآانت القيمة الم فماذا اذا. قيمة آبرى وقيمة صغرى Color Scaleيوجد فى

فما هو لون هذة القيمة؟صغرىاو اصغر من القيمة ال

Page 370: Lab VIEW - Basics

86

Color واالخر اعلى Color Scale ل مستطيلين صغيرين احدهما اسف Color Scaleيوجد فى

Scale.المستطيلين يحددان لون القيم االآبر من القيمة الكبرى والقيمة االصغر من القيمة الصغرى نهذا .

.يمكن تغيير لونى هذين المربعين بالضغط عليهم واختيار اللون الذى تريده

زر االيمن للماوس و نلغى متدرجة يمكن الغاء هذا التدرج بالضغط بالColor Scaleتكون االلون فى

Interpolate Colorاختيار

Page 371: Lab VIEW - Basics

87

فى معظم الخصائص Graphs وCharts مع Intensity Charts And Graphs يتفق :ملحوظة

. وتخصيص االلوانZباالضافة الى الخصائص الخاصة بالبعد

دة فى والموجوLabVIEWلمزيد من االمثلة يمكن االطالع على االمثلة الموجودة مع نسخة

Examples\general\graphs\intgraph.llb

الموجودين فى Heat Equation وSimulation of Tomographyوايضا المثاليين

Examples\analysis\mathxmpl.llb

Page 372: Lab VIEW - Basics

88

3D Graphs 3D و 3D Surface Graphحيث يوجد ابعاد رسم رسومات فى ثالث LabVIEWيمكن فى

Parametric Graph 3 وD Curve Graph لعمل رسومات فى ثالث ابعاد X و Y و Z.

.LabVIEW Professional انما توجد مع LabVIEW ال توجد فى النسخة االساسية لـGraphs وهذة

من 3D Graphsويتم ادراج هذة

Controls Palette>>Graphs

. ActiveX العادية وانما تعتمد على تقنية Graphs ليست آا 3D Graphsوهذة

ActiveXبـ بادراج ما يسمى LabVIEW يقوم Controls Palette من 3D Graphوعند اختيار

Container 3 وبداخلهD Graph Control فى Front Panel . ويقوم ايضا بادراج ما يسمى

Reference 3 لـD Control Graph و VIهذا موصول بها Reference وهذة VI هى المسئولة

. 3D Graphعلى عن اخراج الرسم

.3D Graph الخراج الرسم على به خاصةVI الثالثة 3D Graphsولكل نوع من انواع

Page 373: Lab VIEW - Basics

89

Page 374: Lab VIEW - Basics

90

3D Surface Graph . برسم اسطح فى ثالث ابعاد Graphيقوم هذا

3D Surface.vi هى Graph الخاصة بهذا VIو

:VIواهم مداخل هذة

• 3D Graph : 3وهذا هو مدخلD Graph Control Reference ويتم ادراج هذا Reference

.ال بهذا المدخل آما سبق ان اشرناو ويكون موص3D Graph Controlبمجرد ادراج

• X Vector: مدخل لمصفوفة ذات بعد واحد بها قيم احداثيات X وهذا المدخل اختيارى اى يمكن

.عدم التوصيل له آما سنرى

• Y Vector : د بها قيم احداثيات مدخل لمصفوفة ذات بعد واحY وهذا المدخل اختيارى اى يمكن

.عدم التوصيل له آما سنرى

• Z matrix: مدخل لمصفوفة ذات بعدين بها قيم احداثياتZ.

:VIومخرج هذة

3D Graph out : 3 هذا مخرج لـD Graph Control Reference الستخدامه مع اى VI

.اخرى

Page 375: Lab VIEW - Basics

91

:3D Surface Graphآيفية الرسم على

واالآتفاء بتوصيل مصفوفة ذات بعدين Y Vector و X Vectorيمكن عدم التوصيل الى المدخلين -1

.Z Matrixالى المدخل

.Z Matrix للمصفوفة ذات البعدين عمود هى رقم الY و قيم صف هى رقم الXوفى هذة الحالة تكون قيم

:مثال

Page 376: Lab VIEW - Basics

92

:مثال اخر

Page 377: Lab VIEW - Basics

93

و مصفوفة Y Vector و اخرى الى المدخل X Vectorواحد الى المدخل توصيل مصفوفة ذات بعد -2

يساوى عدد صفوفX ولكن يجب ان يكون عدد عناصر المصفوفة Z Matrixذات بعدين الى المدخل

واذا لم يتحقق هذا الشرط Zوفة ف يساوى عدد اعمدة المصY وايضا عدد عناصر المصفوفة Zالمصفوفة

.Y وXسيتم تجاهل المصفوفتين

Y وX فان احداثيات m مثال و رقم عمودn لها رقم صف مثال Zوفى هذة الحالة اى قيمة فى مصفوفة

).Y فى مصفوفة mالعنصر رقم (Y(m) و )X فى مصفوفة nالعنصر رقم (X(n)هى

. فى المثال السابقY وXسنحدد قيم : مثال

Page 378: Lab VIEW - Basics

94

Page 379: Lab VIEW - Basics

95

3D Parametric Graph . فى ثالث ابعاد Parametricطوح برسم سGraphقوم هذا ت

3D Parametric Surface.vi هى Graph الخاصة بهذا VIو

:VIواهم مداخل هذة

• 3D Graph: 3 وهذا هو مدخلD Graph Control Reference ويتم ادراج هذا

Reference 3 بمجرد ادراجD Graph Controlويكون موصال بهذا المدخل آما سبق ان اشرنا .

• X Matrix: كل السطح بالنسبة للمستوى ش مدخل لمصفوفة ذات بعدين تحددX.

• Y Matrix: كل السطح بالنسبة للمستوى ش مدخل لمصفوفة ذات بعدين تحددY.

• Z Matrix:كل السطح بالنسبة للمستوى شصفوفة ذات بعدين تحدد مدخل لمZ.

:VIومخرج هذة

3D Graph out : 3 هذا مخرج لـD Graph Control Reference الستخدامه مع اى VI

.اخرى

Page 380: Lab VIEW - Basics

96

:مثال

Page 381: Lab VIEW - Basics

97

3D Curve Graph

.فى ثالث ابعاد) Curve( برسم خط او منحنى Graphيقوم هذا

3D Curve.vi هى Graph الخاصة بهذا VIو

:VIواهم مداخل هذة

• 3D Graph : 3وهذا هو مدخلD Graph Control Reference ويتم ادراج هذا

Reference 3 بمجرد ادراجD Graph Control ويكون موصال بهذا المدخل آما سبق ان

.اشرنا

• X Vector : مدخل لمصفوفة ذات بعد واحد تحتوى على احداثياتXللنقط .

• Y Vector : مدخل لمصفوفة ذات بعد واحد تحتوى على احداثياتYللنقط .

• Z Vector :حداثيات مدخل لمصفوفة ذات بعد واحد تحتوى على اZللنقط .

:VIومخرج هذة

3D Graph out : 3 هذا مخرج لـD Graph Control Reference الستخدامه مع اى VI

.اخرى

Page 382: Lab VIEW - Basics

98

.Z فى مصفوفة Z و احداثيY فى مصفوفة Y و احداثيX فى مصفوفة Xآل نقطة فى الرسم لها احداثي .Z(m) و Y(m) و X(m) احداثياتها mالنقطة رقم : فمثال

:مثال

Page 383: Lab VIEW - Basics

99

3D Graphخصائص واختيار Graph وذلك بالضغط بالزر االيمن للماوس على 3D Graphيمكن اظهار خصائص

CWGraph3D>> Properties لتظهر لنا نافذة الخصائص

Page 384: Lab VIEW - Basics

100

. مع آل تغيير فى الخصائصGraph نافذة تظهر شكل Graphآما تظهر مع نافذة خصائص

.محورة االسم الذى يظهر على آل ومن امثلة الخصائص خاصي

Page 385: Lab VIEW - Basics

101

. تحريك الرسومات و دورانها فى ثالث ابعاد بطريقة تفاعلية مع المؤشرGraphsتتيح هذة .فالبضغط على الرسم وتحريك المؤشر فى اى اتجاه مع استمرار الضغط يدور الرسم مع حرآة المؤشر

.Graph لـ Track Mode تدوير الرسومات مرتبط بخاصية :ملحوظة

Page 386: Lab VIEW - Basics

102

Time Stampsو Waveforms وDynamic Data

تبطة بالزمن مثل االشارات و تغير درجة الحرارة رتحليلها فى البرنامج م يتم غالبا ما تكون البيانات التى

) Data Type( واع من البيانات الخاصةن اLabVIEWويوجد فى .او اى قيمة فيزيائية اخرى مع الزمن

Time Stampsوهذة البيانات الخاصة مثل .ل مع البيانات المرتبطة بالزمن لتسهيل التعام

.وسوف نشرح هذة االنواع من البيانات.Dynamic Data وDigital Data وWaveformsو

Page 387: Lab VIEW - Basics

103

Time Stamps ).الوقت يحتوى على جزء من الثانية(يقوم هذة النوع من البيانات بتخزين وعرض التاريخ و الوقت بدقة عالية

الدخال او عرض هذا النوع من البيانات وهماIndicator وControl ويوجد

Time Stamp Control وTime Stamp Indicator.

:Constantاو Indicatorاو Time Stamp Controlآيفية ادراج

منTime Stamp Control or Indicatorيتم ادراج

Controls Palette>>Modern>>Numeric

Page 388: Lab VIEW - Basics

104

Block Diagram فى Time Stamp Constant يتم ادراج اآم

من

Function Palette>>Programming>>Timing

اى يحتوى على (Time Stamp على نوع البيانات Numeric Control يمكن ان يحتوى :ملحوظة

. Date\Time وذلك بتحويل فورمات الرقم الى )الوقت والتاريخ

Page 389: Lab VIEW - Basics

105

:Time Stampتغيير قيم

يكون غير محدد الوقت و ال Constant او Indicator او Time Stamp Controlعند ادراج

.التاريخ

Page 390: Lab VIEW - Basics

106

:ويمكن تحديد الوقت والتاريخ او تغييرهم بعدة طرق

للماوس بالوقت والتاريخ الحاليين وذلك بالضغط بالزر االيمنTime Stampتحديد وقت وتاريخ -1

واختيار Controlعلى

Data Operations>>Set Time to Now

.Data/Time Browseاستخدام زرار -2

وبالضغط عليه تظهر لنا Data/Time Browse زرار Time Stamp Controlيوجد مع

.هما نريد خاللها نحدد الوقت والتاريخ الذين التى من وهى تشبه النتيجة ونافذة تحديد الوقت والتاريخ

Page 391: Lab VIEW - Basics

107

واختيار Time Stamp تحديد الوقت والتاريخ بالضغط بالزر االيمن للماوس على يمكن اظهار نافذة

Data Operations>>Set Time and Date

Data and Time حيث ليس لديهم زرار Constant و Indicatorوذلك مهم بالنسبة للـ

Browse.

Page 392: Lab VIEW - Basics

108

ثم نكتب القيمة الجديدة او Labeling بواسطة االداة Time Stampنظلل الجزء الذى نريد تغييره فى -3

تقليلها لزيادة القيمة التى ظللناها بواحد اوDown و Upنستخدم االسهم الموجودة فى لوحة المفاتيح

.Control مع نن الموجودياو نستخدم السهمي.بواحد

Time Stamp:العمليات على .ل على الوقت المستغرق فى حدث معين للحصوTime Stampيمكن القيام بعمل عملية الطرح بين اثنين

.والقيمة الناتجة من عملية الطرح هى قيمة رقمية تعبر عن الوقت بالتوانى

على هيئة وقت فيه قيم الثانية والدقائق والساعات بدال من الثوانى فقط Numeric يمكن جعل : ملحوظة

.Format and Precision وذلك من نافذة Relative Formatوذلك بان نجعل نوع الفورمات

Page 393: Lab VIEW - Basics

109

:مثال

الموجودة فى Get Date/Time In Secondsسنستخدم دالة

Function Palette >>Programming >> Timing

Page 394: Lab VIEW - Basics

110

للحصول على الوقت قبل وبعد تنفيذ جزء معين من البرنامج ثم نحسب الوقت المستغرق فى تنفيذ هذا

.Flat Sequence Structureايضا وسنستخدم .الجزء

.Add بواسطة الدالة Time Stampآما يمكن اضافة وقت بالثانية الى

Page 395: Lab VIEW - Basics

111

:Numeric وTime Stampالتحويل بين . Time Stamp و Numericلقد رأينا ان هناك عالقة بين

مثلل بينهم ل للتحويوتوجد دوا

استخدام هذة الدالة و يمكن . DBLرقم من نوع للتحويل الى To Double Precision Floatدالة

.DBL الى Time Stampللتحويل من

.Time Stamp الى Numeric من للتحويلTo Time Stampاو دالة

ويمكن ادراج هذة الدوال من.

Function Palette>> Programming >>Numeric >> Conversion

Page 396: Lab VIEW - Basics

112

او

Function Palette >> Programming >> Timing

Page 397: Lab VIEW - Basics

113

Waveforms من اآثر البيانات اهمية ويكثر التعامل معها هى االشارات او البيانات التى تتغير مع الزمن مثل تغيير

التى تستخدم فى االتصاالت ) Digital(وايضا االشارات الرقمية .الصوت او الضغط او الحرارة مع الزمن

.وبواسطة الكمبيوتر

للتعامل ) Data Type( نوع خاص من البيانات LabVIEWلسهولة التعامل مع هذة البيانات يوجد فى

.Waveforms وهو او البيانات المرتبطة بالزمنمع االشارات

: علىWaveformويحتوى

Time Stampفى البياناتقيمة زمن بداية تسجيل البيانات او زمن اول على يحتوى ) t0(

Numericليها بين آل قيمة والتى تى الزمن الفرق يحتوى على قيمة)dt(.

.)Y(مصفوفة ذات بعد واحد تحتوى على قيم البيانات

من ليها يمكن حساب زمن اى قيمة تالحظ انه بمعرفة زمن اول قيمة فى البيانات والزمن بين آل قيمة والتى

. االشارة او المصفوفةقيم

العمليات على يمكن القيام بكثير من Clusters مثل المصفوفات و LabVIEW فى Data Typeوآأى

Waveformsمثل الجمع و الطرح .

: هماWaveformويوجد نوعان من

1- Analog Waveform وهو للتعامل مع االشارات التماثلية .

Page 398: Lab VIEW - Basics

114

.Analog Waveformننا نقصد ا فقط فWaveformوعند ذآر آلمه

2- Digital Waveform للتعامل مع االشارات الرقمية .

.وان لونه برتقالى)Sinشكل مصغر لدالة ( هو Analog Waveformالحظ ان رمز

.وان لونه اخضر) Square Waveشكل مصغر لـ ( هو Digital Waveform رمزاما

.واللون والشكل مهمين فى التعرف على الدوال الخاصة بهما

منDigital Waveformو Waveform الخاصة بـ Indicators وControlsويتم ادراج

Controls Palette>>Modern>>I/O

Page 399: Lab VIEW - Basics

115

.Attribute وتحتوى ايضا على dtو t 0ذات بعد واحد و Y يحتوى على مصفوفة Waveformذآرنا ان

:Digital Waveform وAnalog Waveformعرف على هذة المكونات بالنسبة لـ تون

د من قيم تتغير عبارة عن مصفوفة ذات بعد واح Analog Waveform فانها فى حالةY:المصفوفة

.DBLوعادة تكون هذة القيم من النوع ) قيم االشارة(مع الزمن

Digital فاننا نستخدم اى اشارة رقمية فولت مثال5 و 0وفى حالة اذا آانت االشارة عبارة عن حالتين

Waveform لتخزين االشارة و معالجتها.

سوف نشرحه Digital Dataنات هو عبارة عن نوع اخر من البياDigital Waveform فى حالة Yو

ول دهذا الج)1و0( جدول من االرقام الثنائية عبارةDigital Dataو باختصار .بالتفصيل فى هذة الدرس

.يمثل مجموعة من االشارات الرقمية آما سنرى

t0 : آما ذآرنا فانها Time Stampقيمة فى ل فيها زمن او Yاو بداية تسجيل البيانات .

dt: بين آل قيمة والتى تليها فى المصفوفة ى الزمن الفرقيمة وحيدة تمثل وهى ق Y.

Attribute: وهذا المكون ليس ظاهرا حين ادراج Waveformنضغط بالزر االيمن للماوس ه والظهار

ونختارWaveformعلى

Visible Items>>Attribute

Page 400: Lab VIEW - Basics

116

المستخدمة كن تخزين فيه اى نوع من البيانات وهذا النوع من البيانات يمVariant من النوع Attributeو

او Channel مثل رقم Waveformلومات اضافية عن ع على مAttributeويحتوى .LabVIEWفى

. مكون اختيارى لتخزين اى معلومات اضافيةAttributeو .رقم جهاز

: والمصفوفاتWaveformمقارنة بين

: لها مميزات عن المصفوفات منهاWaveform مع المصفوفات اال ان Waveformتتشابة

Page 401: Lab VIEW - Basics

117

1- Waveform بها معلومات عن زمن االشارة فـt0 لذلك .تسجل بداية قياس االشارة التاريخ و الوقت

.Data Acquisition آروتهى مناسبة للتعامل مع االشارات المكتسبة من

باشرة مع م Waveform حيث يتم توصيل Waveform باستخدام Graphsسهولة الرسم على -2

Graphs عكس المصفوفات التى تحتاج الى استخدام Bundle لتحديد x0 و dx راجع الجزء الخاص بـ

Graphs.

Graphsسهولة رسم اآثر من رسم على -3

:Waveformالدوال الخاصة بـ . وللتعامل معهاWaveformتوجد دوال آثيرة النشاء

ويتم ادراج هذة الدوال من

Functions Palette>> Programming>>Waveform

Page 402: Lab VIEW - Basics

118

.Build Waveform ودالة Get Waveform Componentsومن اهم هذة الدوال

: Get Waveform Componentsدالة

.Y او dt او t0 من Waveformوتستخدم هذة الدالة فى الحصول على مكونات

.Clusterالتى تستخدم مع Unbundleوتشبه هذة الدالة دالة

. الذى نريد الحصول على احد مكوناته Waveform :هذة الدالةومدخل

.Waveformاى من مكونات :ومخارجها

.ويمكن زيادة عدد المداخل بمد ايقونة الدالة السفل

. ونختار نوع المخرج الذى نريدهOperatingوالختيار نوع المخرج نضغط على المخرج بواسطة االداة

Page 403: Lab VIEW - Basics

119

اى يمكن استخدامها مع Polymorphism خاصية Get Waveform Componentsلدالة

Digital Waveform وستتغير المخارج الى مكونات Digital Waveform آما سيتغير رمز المدخل

. Digital Waveform الى رمز Analog Waveform من رمز

Page 404: Lab VIEW - Basics

120

. على المخرج للماوسن يمكن اضافة مخرج او تحديد نوعه او حذفة وذلك بالضغط بالزر االيم :ملحوظة

:Build Waveformدالة

. موجودةWaveform او بتعديل مكونات جديدة Waveformنشاء إة الدالة بتقوم هذ

و مداخل هذة الدالة

. الذى نريد تعديل مكوناتهWaveformمدخل

.المداخل ويمكن زيادة عدد هذة ) Attribute اوdtاو to او Waveform) Yمداخل الى من مكونات

ومخرج هذة الدالة

الجديدة او المعدلة Waveformمخرج

Page 405: Lab VIEW - Basics

121

تظهر لنا Operatingنة الدالة السفل لزيادة عدد المداخل وبالضغط على المدخل باالداة ويمكن مد ايق

قائمة نختار منها نوع المدخل

تى على المداخلجديدة بالمكونات ال Waveform يتم انشاء Waveformاذا لم يتم توصيل مدخل

Page 406: Lab VIEW - Basics

122

.ودة على مداخل الدالةكونات الموج فى المدخل فانه يتم استبدال مكوناتها بالمWaveformاذا تم توصيل

Digital اى يمكن استخدامها مع Polymorphism ايضا خاصية Build Waveformلدالة

Waveform وستتغير المداخل الى مكونات Digital Waveformلمدخل والمخرج آما سيتغير رمز ا

. Digital Waveform الى رمز Analog Waveform من رمز

Page 407: Lab VIEW - Basics

123

. يمكن اضافة مدخل او تحديد نوعه او حذفة وذلك بالضغط بالزر االيمن للماوس على المدخل :ملحوظة

.Waveformتوجد مجموعات اخرى من الدوال خاصة بـ

الموجودة فىAnalog Waveform دوالمثل مجموعة

Function Palette>>Programming>>Waveform>>Analog Waveform

من جمع وطرح وضرب والحصول على Analog Waveformsوتقوم هذة الدوال بالعمليات على

.اعلى واصغر نقطة

Page 408: Lab VIEW - Basics

124

Waveforms يجب ان تكون Waveform على اآثر من ات الدوال التى تقوم بعملي:ملحوظة

.dt لها نفس اليهاالداخلة

الموجودة فى Waveform Generationمجموعة

Function Palette>>Programming>>Waveform>>Analog Waveform

>>Waveform Generation

Sine وNoise وSingle and Multitoneوتقوم هذة الدوال باخراج انواع مختلفة من االشارات مثل

Waveو Square Waveو Triangle Wave وSawtoothى واخر...

الموجودة فىWaveform Measurementsمجموعة الدوال

Function Palette>>Programming>>Waveform>>Analog Waveform

>>Waveform Measurements

Page 409: Lab VIEW - Basics

125

Frequency Domain و Time Domain فىWaveformوتقوم هذة الدوال بعمل قياسات على

وقياسات FFTو ايضا Phaseو Amplitude و Tone Frequency و RMS و DCمثل

...اخرى

الموجودة فىDigital Waveformمجموعة الدوال الخاصة بالعمليات على

Function Palette>>Programming>>Waveform>>Digital Waveform

Page 410: Lab VIEW - Basics

126

مثل البحث فى االشارة او ضغط او فك Digital Waveform وتقوم هذة الدوال بالعمليات الخاصة بـ

. وغيرهاWaveformضغط

الموجودة فى Digital Conversion الدوالمجموعة

Function Palette>>Programming>>Waveform>>Digital Waveform

>> Digital Conversion

. الى صور اخرى والعكسDigital Dataبتحويل وتقوم هذة الدوال

الموجودة فى Waveform File I/Oمجموعة الدوال

Function Palette>>Programming>>Waveform>> Waveform File I/O

. من ملفاتWaveforms فى ملفات وايضا تستدعى Waveformsوتقوم هذة الدوال بتخزين

Page 411: Lab VIEW - Basics

127

Digital Data

.Digital Waveform هى احد مكونات Digital Data (Y)علمنا ان

هذة االعمدة ، يتكون جدول يتكون من اعمدة ائى بحيثن يتم تمثيل االرقام بالنظام الثDigital Dataوفى

.فى هذة االشارة والصفوف هى القيم المتعاقبة )1 او 0 القيمة اشارة رقمية تكون فيهااى (Signalsتمثل

من Digital Data Controlيمكن ادراج

Controls Palette>>Modern>>I/O

Page 412: Lab VIEW - Basics

128

. القيمة وآتابة القيمة الجديدة بتظليلDigital Dataيمكن تعديل القيم الموجودة فى

آما يمكن اضافة صف او عمود او حذف صف او عمود وذلك من الضغط بالزر االيمن الماوس على

Digital Data.

Page 413: Lab VIEW - Basics

129

اول مرة تكون فارغة ويمكن ادخال القيم اليها مباشرة او استخدام Digital Data عند ادراج :ملحوظة

.دوال التحويل آما سنرى

. وهذا الرمز مهم فى التعرف على الدوال الخاصة به هو Digital Data رمز :ملحوظة

الى انواع اخرى من البيانات مثل مصفوفة من االرقام الثنائية او مصفوفة Digital Dataيمكن تحويل

من االرقام الصحيحة وايضا يمكن العكس وذلك من خالل دوال التحويل

Digital Conversionالموجودة فى

Function Palette>>Programming>>Waveform>>Digital Waveform

>> Digital Conversion

:امثلة

Digital Data التحويل من مصفوفة ذات بعدين لقيم ثنائية الى -1

الى) بت8 من مكون U8) Unsigned Integerمصفوفة بها ارقام صحيحة من النوع تحويل -2

Digital Data.

Page 414: Lab VIEW - Basics

130

Digital Data اى انها تعمل مع اآثر من نوع من البيانات مثل Polymorphicذة الدوال ه:ملحوظة

الختيار نوع البيانات الذى Polymorphic VI Selector لذلك يوجد معها Digital Waveformو

.Polymorphic VI Selectorنريد التعامل معه وذلك بالضغط على

Page 415: Lab VIEW - Basics

131

Digital Waveform Graph .Digital Waveform او Digital Data برسم القيم الرقمية الموجودة فىGraph يقوم هذا

من Waveform Graph Digitalيتم ادراج

Controls Palette>>Modern>>Graphs

Digital Waveform او Digital Data بتوصيل Digital Waveform Graphيتم الرسم على

.Graphالى

Page 416: Lab VIEW - Basics

132

Digital Waveform Graph بـDigital Dataيوضح توصيل مثال بسيط -1:امثلة

.Digital Waveform Graph الى Digital Waveformتوصيل -2

Page 417: Lab VIEW - Basics

133

Dynamic Data التى تقيس االشارات او تقوم بتحليلها او التعامل معها تستخدم نوع خاص من Express VIتقريبا آل

.Dynamic Dataالبيانات وهو

ويمكن اعتبارها آا مصفوفة من Waveformsارة عن مجموعة من عبDynamic Dataو

Waveforms. ولكنDynamic Dataاآثر مرونة و ديناميكيه .

من السهل جمع عدة اشارات مختلفه فى مسار ف تجعل التعامل مع االشارات سهل Dynamic Data و

Data مع آروت تظهر اهميتها عند التعاملو.واحد ومن السهل فصل و رسم هذة االشارات

Acquisition.

.Graph يتم توصيلها مباشرة بـ Dynamic Dataولرسم

موجودة فىExpress VI Simulate :ملحوظة

Functions Palette>>Express>>Signal Analysis

. بعملية الدمج بينهم LabVIEW مع بعض وسيقوم Dynamic Dataيمكن توصيل اآثر من خرج لـ

Page 418: Lab VIEW - Basics

134

وهذة الدوال موجودة فى Dynamic Dataل خاصة بالتعامل مع االشارات او توجد دوا

Page 419: Lab VIEW - Basics

135

Function Palette>>Express>>Signal Manipulation

ل من ي بتجميع اآثر من اشارة او فصلهم او اختيار اشارة معينة وايضا التحوExpress VIsوتقوم هذة

الى )Scaler Values( والقيم الوحيدة Waveformsو انواع البيانات االساسية مثل المصفوفات

Dynamic Dataوالعكس ايضا .

ألول Convert to Dynamic Data او Convert from Dynamic Data عند ادراج :ملحوظة

.ت التى سنحول اليها او منهاامرة تظهر لنا نافذة نحدد فيها نوع البيان

Page 420: Lab VIEW - Basics

136

Mixed Signal Graph ونريد رسمهم مع بعض لنرى عالقة هذة االشارات مع Digitalواشارة Analog يكون لدينا اشارةماعند

.Mixed Signal Graph فاننا نستخدم هابعض

Mixed Signal Graphويتم ادراج

Controls Palette>>Modern>>Graphs

لتجميع اى بيانات قابلة للرسم مثل Bundle نستخدم دالة Mixed Signal Graphوللرسم على

.Digital Waveformاو Waveformفوفة ذات بعد واحد او بعدين او مص

لرسمها Bundle يمكن ادخالها آمدخل الى دالة Graphs وCharts مع هافكل بيانات الرسم التى ذآرنا

.Mixed Signal Graphعلى

Page 421: Lab VIEW - Basics

137

ها لجميع الرسومات واحد فيجب ان تكون آل الرسومات لX يكون تدريج Mixed Signal Graphوفى

. تقريباXنفس تدريج

:ملحوظة منBundleيتم ادراج دالة

Function Palette>> Programming >>Cluster & Variant

آل مجموعة ) Groups( يتم تقسيم الرسومات الى مجموعات Mixed Signal Graphعند الرسم على

.مستقلة ) Plot Area(منطقة رسم ترسم على

يتم تقسم الرسومات الى ) Digital(واخرى رقمية ) Analog(ثلية وعادة عند وجود اشارات تما

Group 0وترسم . احداهما لالشارات التماثلية واالخرى للرقمية Group 1 وGroup 0مجموعتين

.Plot area 1 على Group 1 وترسم Plot area 0على

.فالمجموعة ال يمكن ان تحتوى على اشارات تماثلية واخرى رقمية معا

:ال مث

Page 422: Lab VIEW - Basics

138

موجود فى Mixed Signal Graph المثال على :ملحوظة

Examples\general\Graphs\Mixed Signal Graph.vi

Graphيدة وذلك بالضغط بالزر االيمن للماوس على د جGroupجديد ومعه Plot Areaيمكن اضافة

Add Plot Areaواختيار

Page 423: Lab VIEW - Basics

139

الجديدة ليتم رسمها فى Groupادراجها فى االخرى وGroupsويمكن سحب اى من الرسومات من

Plot Area ولكن تذآر ان . الجديدةGroup قد تحتوى على اشارات تماثلية او رقمية لكن ليس النوعين

.فى نفس الوقت

Page 424: Lab VIEW - Basics

140

Multi-Plot Cursor

مع وهذا النوع غير متاح اال Multi-Plot Cursor منها النوع Cursorsذآرنا انه يوجد ثالث انواع من

Mixed Signal Graph . وهذاCursor يمكن ان يعطى اآثر من قيمة لـ Y عند قيمة معينة لـ X.

. مختلفةPlot areaتكون لرسومات مختلفة تكون فى Yهذة القيم لـ

ثم نختار نوعAdd Cursor ونختار Cursor Legend نضغط على Cursorوآما علمنا الضافة

Cursor) Mutli-Plot(.

Page 425: Lab VIEW - Basics

141

Cursor لها وذلك بالضغط على Yيعطى قيمة س التى Plots نحدد Multi-Plot Cursorافة بعد اض

.Plot اآثر من نحدد او All Plotsالحظ اننا يمكن ان نختار . الذى نريده Plot ثم Watchواختيار

Page 426: Lab VIEW - Basics

142

Graphs او Chartsالحصول على صورة من لوضعها فى تقرير او Graphs او Chartsى على فى آثير من االحيان نحتاج الى صورة للرسومات الت

. فى هئية ملف Graphاو Chart الحصول على صورة لـ LabVIEWويتيح .عرض

ونختارGraphاو Chartولعمل ذلك نضغط بالزر االيمن للماوس على

Export Simplified Image

Run Mode اذا آنا فى

او

Data Operation >> Export Simplified Image

Edit Modeاذا آنا فى

.ومسارهلتظهر لنا نافذة نحدد فيها نوع ملف الذى نريده

Page 427: Lab VIEW - Basics

143

Page 428: Lab VIEW - Basics

144

وال Plot Legend و Digital Display يظهر فيها منطقة الرسم و Graph او Chartوصورة

.Cursor Palette او Graph Paletteاو Scale Legendشريط االنزالق او يظهر بها

Intensity او Intensity Chartsصية الحصول على صورة الرسم ليس متاحة لـ خا:ملحوظة

Graph.

Page 429: Lab VIEW - Basics

Œ…‚Ö]<àÚ<ð^ãjÞ÷]<±^Ãi<]<‚Û<<

Œ…‚Ö]<îÊ<±^Ãi<]<áƒ^e<ð^ÏÖ]<±]Ý^ÏÖ]<< <

[email protected]

Page 430: Lab VIEW - Basics

LabVIEWدروس تعليم

ثامنالدرس الStrings and Files

Page 431: Lab VIEW - Basics

i

الفهرس

iii..................................................................................................هدف الدرس

1...........................................................................................................مقدمة

Strings......................................................................................................2

String Control و String Indicator...........................................................2

String Controls...........................................................................3خصائص

3................................................................................طريقة اظهار النصوص

Limit Single Line........................................................................6خاصية

Update Value while Type..........................................................7خاصية

The Scrollbar....................................................................9شريط االنزالق

Tables) 11........................................................................................)الجداول

Listboxs..................................................................................................15

Selection Mode(..................................................................16(نمط االختيار

Strings................................................................................22الدوال الخاصة بـ

String Length................................................................................22الدالة

Concatenate Strings.....................................................................23الدالة

Format Into String.........................................................................24الدالة

Format String......................................................................25تحديد آيفية

Get Date/Time String....................................................................31دالة ال

Format Date/Time String..............................................................34الدالة

Parsing Factions.................................................................................36

String Subset.............................................................................36الدالة

Scan from String........................................................................37الدالة

Match Pattern............................................................................40الدالة

File Input /Output....................................................................................50

High Level File I/O.........................................................................51اوال

Write to Measurement File Express VI............................................51

Read from Measurement File Express VI........................................56

Page 432: Lab VIEW - Basics

ii

Write to Spreadsheet File VI............................................................61

Read from Spreadsheet File VI........................................................65

Text Spreadsheet.................69 وملفات Excel Spreadsheetالفرق بين ملفات

Low Level File I/O..........................................................................71ثانيا

Text Files......................................................................71آيفية التعامل مع

Open/Create/Replace File......................................................71دالة ال

Close File...............................................................................72الدالة

Write to Text File....................................................................73الدالة

Read from Text File................................................................77دالة ال

Binary..........................................................81آيفية التعامل مع الملفات من النوع

Write to Binary File....................................................................81الدالة

Read from Binary File................................................................84الدالة

Page 433: Lab VIEW - Basics

iii

هدف الدرس

. وخصائصهاStringsالتعرف على •

.Stringsالتعامل مع التعرف على الدوال الخاصة ب •

. والعكسStringsالتعرف على آيفية تحويل االرقام الى •

.Table وListBoxالتعرف على العناصر •

.File Pathالتعرف على •

.LabVIEWانواع مختلفة من الملفات وآيفية التعامل معها فى التعرف على •

Page 434: Lab VIEW - Basics

1

مقدمة

وسوف )النص (String وهو جة الدرس سوف نتعرف على عنصر هام جدا فى لغات البرمفى هذا

وآيفية معالجتها LabVIEW والدوال الخاصة بها فى Stringsنتعرف على آيفية التعامل مع

آما .الى استخدامات اخرى او استقبالها من اجهزة القياس اوهاووضعها فى الشكل المناسب الرسال

وملفات Textات مثل ملفات انواع مختلفة من الملفمنجاعها سنتعرف على آيفية تخزينها واستر

Binary . ت القياس وهما اآما سنتعرف على نوعين جديدين من الملفات لتخزين بيانLVMو TDM.

Page 435: Lab VIEW - Basics

2

Strings ASCIIويطلق عليها ) Characters( هو عبارة عن مجموعة من الحروف Stringالنص او

Characters . يسمى ) رقم خاص بكل حرف(حرف آود ويوجد لكلASCII Code، فكما نعلم ان

. آل البيانات داخل الحاسب االلى تكون على هيئة ارقام

حرف ايضارموز وال و 9 الى 0رقام من االف االبجدية الصغيرة و الكبيرة و و الحر تشملوهذة الحروف

Carriage Returnاو) سطر جديد(New Lineاو )المسافة (Spaceغير قابله لالظهار او الطباعة مثل

.طباعة او اظهار النص ال شكل على الغير قابلة للطباعة يكون لها تأثيرفوو الحر

الظهار LabVIEW فى String Constant و String Indicator و String Controlويوجد

ف نتعرف على و وسStrings آما يوجد دوال آثيرة للتعامل مع Stringsو ادخال و التعامل مع

.اهمها فى هذا الدرس

String Control و String Indicator

من Front Panel فى String Indicator او String Controlيتم ادراج

Controls Palette>>Modern>>Strings & Path

Page 436: Lab VIEW - Basics

3

منBlock Diagram فى String Constantويتم ادراج

Functions Palette>>Programming>>String

String Controlsخصائص

: خصائص منهاة عدStringsـ لتوجد

طريقة اظهار النصوص . باآثر من طريقة String Controlيمكن اظهار النصوص فى

نضغط عليه بالزر االيمن للماوس و نختار String Controlولتغيير طريقة اظهار النص فى

.الطريقة التى نريدها

Page 437: Lab VIEW - Basics

4

: وهذة الطرق هى

Normal Display .ورة الطبيعية التى نعتاد عليها وهذة الطريقة هى الطريقة االساسيةوفيها يظهر النص بالص

‘’\” Code Display

بالنظام ASCII Codeيليها رقم \ العالمة وفيه تظهر الحروف الغير قابلة للطابعة على هيئة

.لكل حرف ) Hex(سى عشر االسد

. بالنظام السداسى عشر20 للمسافة هىASCII Codeحيث ان ) Space( يمثل المسافة 20\ مثال

. يليها حرف \وتوجد حروف غير قابلة للطباعة آثيرة االستخدام تظهر فى صورة العالمة

.s\ تظهر بالصورة 20\ بالصورة تظهران المسافة بدال من مثال

وهذا الجدول يوضح آيف تظهر الحروف الغير قابلة للطباعة فى هذا النمط

للحرف بالنظام السداسى عشرASCII Codeدها وبع\العالمة FF\ الى 00\

)FF\(او ) 0C\( حروف آبيرة مثال ASCII Codeوالحروف المكونة لـ

\b Backspace) BS ( يكافىءASCII Code) \08(

\f Form feed) FF ( يكافىءASCII Code) \0C(

\n New Line) LF ( يكافىءASCII Code) \0A(

\r Carriage Return) Cr (كافىء يASCII Code) \0D(

\t Tab) HT ( يكافىءASCII Code) \09(

\s Space يكافىء ASCII Code) \20(

\\ Backslash) \ ( يكافىءASCII Code) \5C(

:ملحوظات

. تكون حرف صغيرةt\ فى t وحرف s\ فى s الحروف الخاصة مثل حرف -1

. واذا آتبت آحروف آبيرة لن يتم تفسيرها آحروف خاصة

على LabIVEW يعتبرها B\ وBackspace فهى ال تعنى B\ اما Backspace تعنى b\مثال

.ASCII Code \0Bانها

Page 438: Lab VIEW - Basics

5

.0A\ او FF\ حروف النظام السداسى عشر تكون حروف آبيرة مثل -2

مثال

:ملحوظات

.Stringتغيير نمط االظهار ال يؤثر على محتوى -1

تى يتم ارسالها او استقبالها من اجهزة القياس عن طريق يستخدم هذا النمط فى اختبار النصوص ال -2

Serial Portحيث يتم استخدام حروف غير قابلة للطباعة مثل ، مثال New line \n او

Carriage Return \rالنهاء االوامر و البيانات المرسلة عند مخاطبة اجهزة القياس .

Password Display

.*ما تظهر بدال منها الرمز وفى هذا النمط ال تظهر الحروف ان

ظهر بدال فى هذا النمط ال تظهر الحروف التى تكتبها وانما يString Controlفعند ادخال حروف فى

Block فى String Control Terminalولكن القيمة التى يتم قراءتها من خالل * منها الرمز

Diagramهى مجموعة الحروف التى ادخلتها .

. فى ادخال آلمات السرString Controlخدم ستط عندما يويستخدم هذا النم

Page 439: Lab VIEW - Basics

6

Hex Display بدال لكل الحروف الموجودة فى النص بالنظام السداسى عشرASCII Codeفى هذا النمط يتم اظهار

.من الحروف

Limit Single Lineخاصية

وعند ادخال الحروف بسطر واحد String Controlتحدد هذة الخاصية عدد السطور الممكنة فى

. فهذا يعنى انه تم االنتهاء من ادخال السطرEnterوضغط

ادخال الحروف اثناءEnter و الضغط –وهذة هى الحالة العادية –اما عند عدم اختيار هذة الخاصية

.Control فانه يتم االنتقال الى سطر جديد فى String Controlالى

ونختارString Controlر االيمن للماوس على ولتفعيل هذة الخاصية نضغط بالز

Limit to Single Line

Page 440: Lab VIEW - Basics

7

Update Value while Typeخاصية

Block الخاصة بهم فى Terminals ال يتم تغيير قيمة String Controlعند الكتابة على

Diagramهاء عملية الكتابة وذلك سواء بالضغط ت اال بعد انEnter لى اى الضغط بالماوس عب او

. الموجود فى شريط االدوات او بالضغط على الزرار Control ان اخر خارجمك

. غير آامل قبل االنتهاء من آتابتهوذلك حتى ال يتم قراءة النص

Update Value اثناء الكتابة فاننا نفعل الخاصية Terminalة مولكن اذا اردت ان يتم تحديث قي

while Type

Page 441: Lab VIEW - Basics

8

Page 442: Lab VIEW - Basics

9

String بالضغط بالزر االيمن للماوس على Update Value while Typingة يل خاصيويتم تفع

Controlواختيار Update Value while Typing

The Scrollbarشريط االنزالق .Front Panelيستخدم شريط االنزالق لعرض النصوص الكبيرة فى اقل مساحة من

وذلك بالضغط بالزر String Indicator او String Controlيمكن اظهار شريط االنزالق داخل و

واختيار Stringااليمن للماوس على

Visible Items>>Scrollbar

Page 443: Lab VIEW - Basics

10

Page 444: Lab VIEW - Basics

11

Tables) الجداول( Table عبارة عن مصفوفة ذات بعدين من Strings يتم عرضها فى هيئة صفوف واعمدة مثل اى

.مصفوفة

من Table Indicator او Table Controlويتم ادراج

Controls Palette>>Modern>>List & Table

لكتابة اسماء (Rows Headerوايضا ) لكتابة اسماء لالعمدة (Columns Headerويمكن اظهار

واختيارTableلك بالضغط بالزر االيمن للماوس على ويتم ذTableلـ ) الصفوف

Visible Items>>Column Headers

اوColumn Headerالظهار

Page 445: Lab VIEW - Basics

12

Visible Items>>Row Headers

Row Headersالظهار

. وباقى البيانات خطين متقاربينColumn Headers و Row Headersويفصل بين

Column و Row Headers ويمكن الكتابة او تعديل اسماء الصفوف و اسماء االعمدة فى

Headers مباشرة باستخدام االداة Operating او Labeling مثل اى Label اخر فى

LabVIEW.

باستخدام Diagram Blockآما يمكن تحديد او قراءة اسماء الصفوف واالعمدة من خالل

Property Node.

Page 446: Lab VIEW - Basics

13

:ملحوظة

ويمكن استخدام الدوال الخاصة Strings عبارة عن مصفوفة ذات بعدين من Tableآما ذآرنا فان

ت حول هذة الدوال راجع الدرس السادس ولمزيد من المعلوماTableبالمصفوفات للتعامل مع

Arrays and Clusters.

Page 447: Lab VIEW - Basics

14

مثل المصفوفات وهو يحدد رقم الصف والعمود الول خلية Table خاص بـ Display Indexيوجد

.Tableتظهر فى الرآن العلوى االيسر لـ

Page 448: Lab VIEW - Basics

15

Listboxs Multi-Column Listbox و Listbox هما LabVIEW فى Listboxesن من ايوجد نوع

ويتم ادراجهمها من

Controls Palette>>Modern>> List & Table

. به اآثر من عمودMulticolumn Listbox به عمود واحد اما Listboxن اوالفرق بينهما

Items اثناء تصميم البرنامج يمكن الكتابة Edit Modeوفى Item يسمى Listboxوآل سطر فى

.Labeling او Operating بواسطة االداة Listboxفى

Page 449: Lab VIEW - Basics

16

.Property Node باستخدام Block Diagram من خالل Itemsآما يمكن تحديد

و قيمة . بالضغط عليها Listbox فى Itemsر من اذ البرنامج يمكن للمستخدم ان يختيفى اثناء تنف

Listbox) Listbox Value ( الصفوف هى رقم الصف الذى اختاره المستخدم او مصفوفة ارقام

وذلك Item واحد او اآثر من Itemويمكن للمستخدم ان يختار .تضحيالتى اختارها المستخدم آما س

).Selection Mode(وفقا لمنط االختيار

)Selection Mode(نمط االختيار نضغط بالزر النمط ولتحديد Listboxفى خدم ت التى يمكن ان يختارها المسItems عدد ط آل نميحدد

. ثم النمط الذى نريدهSelection Modeن للماوس ونختار االيم

:وهذة االنماط هى

. واحد فقط Item او Itemيمكن للمستخدم ان ال يختار اى :or 1 Item 0 النمط

. مختارItem واحد فقط والبد ان يكون هناك Itemيستطيع المستخدم ان يختار : Item 1النمط

.Items او ان يتم اختيار اى عدد من Items يتم اختيار اى من يمكن ان ال :or More 0النمط

. واحد مختارItem مثل النمط السابق ولكن البد ان يكون على االقل :or More 1النمط

. التى تم اختيارها Items هى ارقام Listboxقيمة

يمتها هى رقم ق) Scalar Value( قيمة وحيدة Listboxوفى حالة النمطين االولين يكون خرج

Item الذى تم اختياره وفى حالة عدم اختيار اى Item 1- تكون هذة القيمة تساوى.

Page 450: Lab VIEW - Basics

17

Page 451: Lab VIEW - Basics

18

التى تم Itemsعبارة عن مصفوفة فيها ارقام Listboxوفى حالة النمطين االخرين يكون خرج

. التى تم اختيارهاItemsوعدد عناصر هذة المصفوفة هى عدد .اختيارها

Page 452: Lab VIEW - Basics

19

.Itemsعند اختيار باقى Ctrl المفتاح ثم نضغطItemنختار اول :Item الختيار اآثر من : ملحوظة

صفوف هذة الصفوف يمكن موعةاردت ان تعرض مجموعة من البيانات فى مج مفيدة اذا Listboxsو

.آثرعدة اعمدة وتريد من المستخدم ان يختار احد هذة البيانات او ال مقسمة او واحد فى عمودان تكون

ال تسع النص الموجود بها فانه عند تنفيذ البرنامح ووضع المؤشر ListBoxاذا آانت احد الخاليا فى

. تظهر بها النص الموجود فى الخلية آامالTip Stripعلى هذة الخلية فان

ن عمود بالزر االيمالعمود تحتوى على اآثر من سطر وذلك بالضغط على خاليا اى آما يمكن ان نجعل

اسطة الضغط و بطيع ان نكتب اآثر من سطر فى الخلية ثم نستMulti-line Inputللماوس ونختار

.Enterعلى

Page 453: Lab VIEW - Basics

20

مكنا نضغط بالزر م اثناء تنفيذ البرنامج ولجعل هذا Listboxال يستطيع المستخدم تعديل محتوى خاليا

.Editable Cells ونختار الخاصية Listboxااليمن للماوس على

Page 454: Lab VIEW - Basics

21

يتم تظليل اول خلية من اليسار فى هذا الصف ولتظليل الصف آله Listboxختيار اى صف فى عند ا

ونختارListboxنضغط بالزر االيمن للماوس على

Selection Mode>>Highlight Entire Row

يمكن ضافة صف او عمود او حذف او عمود وذلك من خالل الضغط بالزر االيمن للماوس على اى

ود صف او عم

Page 455: Lab VIEW - Basics

22

Stringsالدوال الخاصة بـ ولسوف نتعرف على اهم Strings للتعامل مع LabVIEWمثل المصفوفات توجد دوال آثيرة فى

ويتم ادراج هذة الدوال من.هذة الدوال

Functions Palette>>Programming>>String

String Lengthدالة ال

).String(النصتقوم هذة الدالة باخراج عدد االحرف الموجودة فى

مثال

Page 456: Lab VIEW - Basics

23

Concatenate Stringsالدالة . واحدStringن ي بالترتيب لتكوStringتقوم هذة الدالة بدمج اآثر من

لزيادة عدد المداخل للدالة وزيادة عدد Positioningيمكن مد ايقونة الدالة السفل بواسطة االداة

Stringsالتى يمكن ادماجها .

مثال

Page 457: Lab VIEW - Basics

24

وستقوم الدالة بدمج Stringsان يكون المدخل لهذة الدالة مصفوفة ذات بعد واحد من يمكن آما

Strings الموجودة فى المصفوفة بالترتيب واخراجها فى Stringواحد .

آثيرا فى تكوين االوامر التى نريد ارسالها الى اجهزة القياس او Concatenate Stringsوتفيد دالة

.تخزينها فى ملفن سطور معينة نريد يتكو

وايضا استخالص االرقام من ) String( نصوص الىفى آثير من االحيان نحتاج الى تحويل االرقام

الدالةالنصوص وتوجد دوال آثيرة تقوم بهذة المهام ولكن سنتعرف على اهم هذة الدوال وهما

Format into String و الدالةScan from String وسنتعرف على الدالة Format into

String فى هذا الجزء وبعد قليل سنتعرف على الدالة Scan from String.

Format into Stringالدالة

.بالشكل الذى نريده) String(تقوم هذة الدالة بتحويل انواع مختلفة من البيانات الى نص

:عبارة عنالى نص ويمكن ان تكون هذة البيانات التى نريد تحويلها

.ده بشكل اخرنص نري

File Path )مسار لملف(.

Page 458: Lab VIEW - Basics

25

Enumerated Type شبيه بـ ListBox.

Time Stamp راجع الدرس السابق( يحتوى على معلومات عن الوقت و التاريخ(.

Boolean )رقم ثنائى(.

.)Float او Integer(رقم صحيح او به آسر عشرى

رقام الى نصوصدالة لتحويل االلويكثر استخدام هذة ا

داخل هذة الدالة هىوم

Format String : وهو نص به مجموعة ارقام ورموز لتحديد شكلString الذى نريده وسنوضح

. الناتجStringآيفية تحديد هذا المدخل وتأثيره على

Initial String: وهو نص نريده ان يتضمن فى بدايةStringالناتج .

Input: الى وهو مدخل البيانات التى نريد تحويلهاString ويمكن زيادة عدد المدخل من هذا النوع

... و Input 1 و Input 0 بحيث يكون لدينا Positioningبمد االيقونة الدالة السفل بواسطة االداة

. الناتجStringل اآثر من قيمة الى نفس يهكذا وبذلك يمكن تحو

تلقائيا وفقايتغير ئيا ولكنهمبد) DBL ( هو Inputرمز الموجود على المدخل ال يكون :ملحوظة .لنوع البيانات الموصل به

ومخرج هذة الدالة هو

Resulting String: وهو String الناتج بعد تحويل البيانات الداخلة الى نص بالشكل المحدد فى

Format String ودمجها مع النص Initial String.

Format Stringآيفية تحديد

ومجموعة اخرى من االرقام والرموز تحدد طريقة % اساسا من الرمز Format Stringيتكون

.Format Stringالتحويل وتوجد طريقتين لتحديد

Page 459: Lab VIEW - Basics

26

بالضغط على ايقونة الدالة مرتين متاليتين او الضغط عليها Format Stringيمكن تحديد المدخل -1

Format Stringة تحديد لتظهر لنا نافذEdit Format Stringبالزر االيمن للماوس و اختيار

وهذة قائمة بالعمليات التى يمكن اختيارها

.اليهويتوقف نوع العمليةعلى نوع البيانات الداخلة و الشكل المراد تحويلها

مثال

Page 460: Lab VIEW - Basics

27

يدويا Format Stringآتابة -2

Format Stringوسوف نعرض آيفية آتابة . % من العالمة Format Stringوآما ذآرنا يتكون

.Stringلتحويل بعض البيانات آثيرة االستخدام الى

Format Stringف نستعرض بعض االشكال المختلفة لـ ووس

Page 461: Lab VIEW - Basics

28

Floatتحويل ارقام بها آسر عشرى من النوع

number1.number2 f % بهذا الشكل Format Stringيكون

.الناتج String يحدد عدد احرف Number1حيث

. االرقام العشرية يحدد عددNumber2و

f% واالآتفاء بـ Number2او Number 1عدم آتابة يمكن :ملحوظة

:امثلة

. الناتجString وسيظهر هذا النص آما هو Format Stringيمكن آتابة نص فى

Page 462: Lab VIEW - Basics

29

Format String داخل Initial Stringيمكن ايضا ان نكتب

)3.64E2مثال (Scientific Notation الى float –pointتحويل االرقام من النوع

ونتبع نفس التعليمات السابقةf بدال من eونستخدم فى هذة الحالة الحرف

)Decimal Format(تحويل االرقام الى ارقام صحيحة

% مع العالمة dنستخدم الحرف

Page 463: Lab VIEW - Basics

30

. 0 مع تحديد ان عدد االرقام العشرية يساوى fويمكن ايضا ان نستخدم الحرف

النصوص تحويل

. Format String فى sيمكن ان يكون البيانات الداخلة نص فنستخدم الحرف

)Boolean(تحويل االرقام الثنائية

.dخدام الحرف وذلك باست)True=>1 و False=>0 (1 او 0يمكن تحويل االرقام الثنائية الى

Page 464: Lab VIEW - Basics

31

وذلك Result String فى FALSEاو TRUE الى آلمتى Booleanآما يمكن ان تتحول قيمة

.sباستخدام الحرف

.Result Stringفى % العالمة الظهار Format stringفى %% نستخدم :ملحوظة

للتعرف عليها Edit Format Stringيوجد اشكال اخرى من البيانات يمكن تحويلها ويمكنك استخدام

.Helpاو االطالع على اآثر

Get Date/Time Stringدالة ال يحتوى String (Time Stringو ) يحتوى على التاريخDate String)Stringرج هذة الدالة تخ

نا يتم توصيلها الى مدخل الدالة او يكونTime Stamp من نوالوقت والتاريخ يكونا) لى الوقتع

).لحظة تنفيذ الدالة(الوقت والتاريخ الحاليين

ويتم ادراج الدالة من

Functions Palette>>Programming>>Timing

Page 465: Lab VIEW - Basics

32

:ولهذة الدالة ثالث مداخل

Date Format : يحدد شكل التاريخ الذى سنحصل عليه وقيمها آالتالى:

)0( )Short( 1/21/94ويكون التاريخ بهذا الشكل.

)1( )Long( ويكون التاريخ بهذا الشكلFriday, January 21, 1994.

)2( )Abbreviated( ويكون التاريخ بهذا الشكلFri, Jan 21, 1994.

Time Stamp : وهوTime Stampن ستخرجهم الدالةيذل الذى يحتوى على الوقت والتاريخ ال

.)وقت تنفيذ الدالة(اذا لم يوصل هذا المدخل تخرج الدالة الوقت والتاريخ الحاليين

Want seconds :يتم توصيل الى هذا المدخل قيمة:

Trueالظهار الثوانى مع الوقت .

Falseلعدم اظهار الثوانى مع الوقت وهذا هى الحالة العادية .

False اى اذا لم يوصل هذا المدخل فان قيمته تكون

.وال يتم اظهار الثوانى مع الوقت

:امثلة

Page 466: Lab VIEW - Basics

33

Page 467: Lab VIEW - Basics

34

Format Date/Time Stringالدالة هر او اسم مثل اسم الش به معلومات محددة من الوقت والتاريخStringتقوم هذة الدالة باخراج

يوصل بمدخل الدالة او Numeric او Time Stamp والوقت والتاريخ يمكن ان يكونا من .االسبوع

وهذة .الى مدخل الدالةNumericاو Time Stampيكونا الوقت والتاريخ الحاليين اذا لم يوصل

Get Date/Time Stringالدالة اآثر شمولية من الدالة

هذة الدالة من ادراج ويتم

Functions Palette>>Programming>>Timing

يحتويان على الوقت Time Stampمدخل ال الى Numeric او Time Stamp ويتم توصيل

.والتاريخ واذا لم يوصل هذا المدخل يكون الوقت والتاريخ هو الوقت والتاريخ الحاليين

. و شكلها المعلومة التى نريدهاTime Format Stringويحدد المدخل

وهذة االآواد حدد شكل المعلومة التى ستخرجاآواد آل آود ي على Time Format Stringويحتوى

: يمكن ان تكون آالتالى

معنى الكود ودـالك

%a مختصر مثل اليوماسم Sat

%b مختصر مثل الشهر اسم Feb

%c الوقت و التاريخ آما فى اعدادات جهازك

%d 21 الرقم اليوم مكون من خانتين مث

%H ساعة24رقم يمثل الساعة بنظام

%I ساعة12رقم يمثل الساعة بنظام

%m 03رقم مكون من خانتين يمثل الشهر مثل

%M رقم يمثل عدد الدقائق

%p احدى العالمتينAM او PMاللتان تعنيان صباحا او مساءا

%S رقم يمثل عدد الثوانى فى الوقت

Page 468: Lab VIEW - Basics

35

%x ىالتاريخ بالنظام المحل

%X الوقت بالنظام المحلى

%y 08رقم مكون من خانتين يمثل عدد السنين فى القرن مثال

%Y 2008قرن مثال رقم يمثل العام متضمنا ال

%<digit>u

3u%مثال

عدد االرقام العشريةdigitجزء من الثانية حيث يمثل

0.465مثال

c%نه يأخذ القيمة العادية له وهى فاTime Format String اذا لم يوصل المدخل :ملحوظة .والتى معناها الوقت والتاريخ آما فى اعدادات جهازك

على اآثر من آود بجانب ايضا اى حروف او Time Format String يمكن ان يحتوى :ملحوظة

. الناتجString آما هى فى وستظهر هذة الرموز والحروفرموز

Page 469: Lab VIEW - Basics

36

Parsing Factions مثال من استقبال بيانات من جهاز قياس او تم ن لديك نص تم الحصول عليهان يكوفى آثير من االحي

ة يموتحتاج الى تفسير هذا النص او استخالص بعض المعلومات منه مثل رقم يمثل ق. قراءته من ملف

.تعرض بعض هذة الدوالسوتوجد دوال تساعد فى تفسير النصوص وسن.القياس

String Subsetالدالة .String جزء من باستقطاع الدالة تقوم هذة

:ومداخل هذة الدالة

String: وهو مدخل لـ String الذى نريد استقطاع جزء منه .

Offset:واذا لم يوصل هذا المدخل فان . والترقيم يبدأ من الصفرو بداية الجزء الذى نريد استقطاعه وه

.البداية تكون من الصفر

Length: حروف الجزء الذى نريد استقطاعه واذا لم يوصل هذا المدخل فان وهو مدخل لطول او عدد

.Stringالى نهاية ) offset(الجزء المستقطع من البداية

. يحتوى على الجزء المستقطعStringومخرج الدالة هو

Page 470: Lab VIEW - Basics

37

Scan from Stringالدالة تخالص االعداد فهى تقوم باسFormat into Stringوظيفة هذة الدالة هى عكس وظيفة الدالة

تمثل عدد الى قيمة رقمية String فى مجموعة حروفبتحويل فالدالة تقوم . Stringsالرقمية من

) او نقطة Eاو e او – او + او 9 الى 0(وهذة الحروف قد تشمل على

ومداخل هذة الدالة هى

Input String : وهو مدخلStringالذى نريد استخالص البيانات منه .

Format String : وهو يحدد نوع البيانات التى نريد استخالصها ومحتوىFormat String مثل

ا او وي وايضا آما سنرى يمكن آتابته يدFormat into String فى دالة Format Stringالمدخل

.Edit Scan Stringاستخدام النافذة

Initial Scan Location: مكان او رقم اول حرف سنقوم باستخالصه.

:هى ومخارج هذة الدالة

Remaining String :الجزء المتبقى من ووهStringبعد عملية البحث .

Offset Past String :رقم اول حرف بعد الجزء الذى تم استخالصهوهو .

Output:آما هو موجود فى ها هى البيانات التى استخلصناها ونوع Format String.

خدم الستخالص قيم تص انواع مختلفة من البيانات ولكن عادة تسويمكن استخدام هذة الدالة الستخال

. Stringsرقمية من

ونستخدم Strings على هيئة Serial Portوآمثال يتم استقبال البيانات من اجهزة القياس من خالل

. المستقبلةStringsص القيم المقاسة من هذة الدالة الستخال

Page 471: Lab VIEW - Basics

38

اخل نكتب دStringتخالص قيمة عددية من دويا والس بكتابته يFormat Stringويمكن تحديد

Format String والحرف % العالمة f هكذا %f.

مرتين متتاليتين وذلك بالضغط Format String لتحديد Edit Scan Stringويمكن استخدام النافذة

.Edit Scan String بالزر االيمن واختيار س على الدالة او الضغط على الدالةبالزر االيسر للماو

تلقائيا وسيكون موصال Format Stringريد استخالصها سيتم وضع نوبعد تحديد نوع البيانات التى

.بالدالة

البيانات التى وشكل يعبران عن نفس المعنى وهو نوعScan String وFormat String الحظ ان

.نريد استخالصها

Page 472: Lab VIEW - Basics

39

امثلة

ويخرج آما هو وتفيد هذة String من خالصه وسيتم استFormat Stringيمكن آتابة نص ثابت فى

.تضح من المثالي نص و عدد آما منالطريقة فى استخالص شكل معين مكون

Page 473: Lab VIEW - Basics

40

Match Exact وذلك بتحديد العملية Edit Scan Stringويمكن عمل ذلك من خالل نافذة

String وآتابة Temp ثم اضافة عملية وجعلها العملية Scan Number.

Match Patternالدالة ويعتمد شكل النص الذى نريده على . عن نص بشكل معين Stringتقوم هذة الدالة بالبحث فى

Regular Expressionوهو صيغة تحتوى على حروف ورموز تحدد شكل النص الذى نريده .

: هى ومدخل هذة الدالة

String: وهو Stringريد البحث عنه الذى يحتوى على النص الذى ن.

Page 474: Lab VIEW - Basics

41

Regular Expression: وهى صيغة تحتوى على حروف ورموز لتحديد شكل النص الذى نريده

.وسنوضح آيفية آتابة هذة الصيغة

Offset: وهى رقم الحرف فى Stringلم يتم اذا الذى سنبدأ منه عملية البحث وقيمة هذا المدخل

.0التوصيل اليه هى

:ومخارج هذة الدالة هى

Before Substring: الجزء من وهوString تم الحصول عليه الذى يسبق النص الذى.

Match String : وهو النص الذى تم الحصول عليه من عملية البحث.

After Substring : وهو الجزء منStringالذى يليى النص الذى تم الحصول عليه .

Offset Past Match: ن النص الذى تم الحصول عليه رقم اخر حرف مهو الرقم الذى يلي.

.Regular Expressionثة اجزاء بناء على صيغة ال الى ثStringبعد عملية البحث تم تقسيم ه ونالحظ ان

:ها آالتالى فان المخارج تكون قيمStringواذا لم يتم ايجاد النص المراد داخل

Before Substring: محتوى آل يحتوى علىString الذى نبحث فيه.

Match String: تكون فارغة.

After Substring: تكون فارغة.

Offset Past Match: مما يعنى انه لم يتم ايجاد النص المراد داخل 1- بـكون قيمتهي String.

.String عبارة عن آلمة نريد ان نبحث عنها فى Regular Expressionيمكن ان يكون :مثال

Page 475: Lab VIEW - Basics

42

على رموز خاصة لتحديد شكل النص الذى نريد البحث Regular Expressionويمكن ان تحتوى

:تعرض هذة الرموز ومعناهاسمعنى وسنعنه ولكل رمز داللة او

Matching Patternمعناه من خالل الدالة الرمز

النقطة ومعناها اى حرف فى هذا المكان .

gثم حرف اى حرف ثم lتعنى ابحث عن اى آلمة تتكون من الحرف l.g مثال

lug او lag او legمثل الكلمات

ومعناها ان ما قبلها مباشرة قد ال يكون موجودا او موجودا مرة واحدة فقط ?

e وهنا حرف bt مباشرة مثل t ثم الحرف b الحرف من تعنى ابحث عن آلمة تتكونbe?t مثال

. ليس موجودا?الذى هو قبل العالمة

موجودا e وهنا حرف bet مثل آلمة t ثم الحرف e ثم الحرف bاو ان تتكون الكلمة من الحرف

.مرة واحدة

t وe وذلك الن هناك حرف بين best ال تنطبق على الكلمة be?tوالصيغة

الغاء تفسير الرمز الذى بعدها على انه رمز خاص وانما تفسيره على انه حرف عادىمعناهاو

النقطة على انها اى حرف آما سبق تعنى نقطة عادية ولن يتم تفسير .\ مثال

تعنى عالمة استفهام وال يتم تفسير العالمة آما سبق ?\وايضا

فى تمثيل الحروف الغير قابلة للطباعة فمثال\وتستخدم العالمة

\b معناها Backspace

\f معناهاForm Feed

\

\n معناها New Line

Page 476: Lab VIEW - Basics

43

\sمعناها مسافة

\r معناها Carriage Returnالرجوع الول السطر

\t معناها Tab

\xx) حيثxx ومعناها الحرف الذى ) رقم بالنظام السداسى عشرASCII Code له هو xx

41 له بالنظام السداسى عشر هو ASCII Code آبير الن A تعنى الحرف 41\ مثال

ابحث عن الذى بعدها ولكن فى اول فمعناها Regular Expressionاذا جاءت اول حرف فى ^

String واذا آان ليس اول Stringابق فهو ال يط

مثلString اول is بحيث تكون String معناها ابحث فى is^ مثال

is the exam easy

The exam is easy التى تحتوى على Stringولكن لن يحدث تطابق مع

ومعناها اى حرف مما بداخلها

c او الحرف b او الحرف a تعنى الحرف [abc] مثال

m سواء آان حرف man اى ابحث عن آلمة man وايضا Man تتطابق من an[Mm] مثال

. صغيرينanبها آبير او صغيروالحرفين االخرين

وهذة الرموز هى[ ]وهناك رموز خاصة تستخدم داخل القوسن

وف الكبيرة او مدى من الحروف الشرطة معناها مدى من االرقام او مدى من الحر -

الصغيرة

9 الى 0 معناها اى رقم من [9-0] مثال

g الى a معناها اى حرف صغير من [a-g] مثال

Q الى L معناها اى حرف آبير من [L-Q] مثال

[ ]الرمزين االتيين لهما معنى فقط اذا جاؤا آأول حرف داخل القوسين

او غير قابل للكتابة ماعدا الحروف التى بعدها او فى معناها اى حرف سواء قابل للكتابة ~

المدى الذى بعدها

9 الى 0 وتعنى اى حرف ماعدا الحروف فى المدى من [9-0~] مثال

[ ]

التى ماعدا الحروفTabمعناها اى حرف من الحروف القابلة للكتابة وايضا المسافة و ^

فى المدى الذى بعدها بعدها او

0ماعدا الحروف من Tab اى حرف قابل للكتابة بما فيها المسافة او تعنى[9-0^] مثال

9الى

معناها اى عدد من الحرف الذى قبله ولكن البد ان يوجد على االقل مرة واحدة +

ثم e ثم اى عدد اآبر من الواحد من الحرف b تعنى اى آلمة تتكون من الحرف be+t مثال

Page 477: Lab VIEW - Basics

44

يجب ان e الن الحرف bt وال تطابق beeet و beet و bet وهى تطابق الكلمات tالحرف

يتواجد على االقل مرة واحدة

معناها اى عدد من الحرف الذى قبله ويمكن اال يكون الحرف موجودا *

او ان يكون بينهما اى عدد من t ثم يليه الحرف b معناها اى آلمة تتكون من الحرف be*t مثال

eالحرف

وهكذاbeeet و beet و bet و btوتطابق الكلمات

فهى تعنى ان يكون ما قبلها يكون موجودا Regular Expressionاذا جاءت آاخر حرف فى $

Stringفى نهاية

.String فى نهاية deg تتطابق اذا آانت الكلمة $degفمثال

دى وليس رمزا فسيكون حرف عاRegular Expressionاذا جاء هذة الرمز ليس فى نهاية

خاصا

باستخدام الرموز السابقةRegular Expressionة بعض االمثلة لـ وهذ

Regular Expression الكلمات التى تتطابق معه

VOLTS VOLTS

[Vv][Oo][Ll][Tt][Ss] معناها ابحث عن آلمة اول حرف بهاV آبير او صغير ثم الحرف

صغيرا اوL آبيرا او صغيرا ثم الذى يليه الحرف Oالذى يليه الحرف

آبيرا وهكذا

ويمكن ان يكون اى حرف فيها آبير او صغير voltآلمة اى ابحث عن

وهكذا vOLTs او volts او VOLTS او Voltsمثل

- او عالمة +مسافة او عالمة ابحث عن [-+ ]

اى مجموعة من االرقام المتتابعة وعدد هذا االرقام واحد او اآثر +[0-9]

[\t\r\n\s]+ حرف او آثر من الحروف المسافة ومجموعة تتكون من Tab وNew

Line و Carriage Return

ولكن هذة المجموعة ال على االقل واحد مهاى مجموعة حروف عدد +[0-9~]

9 الى 0االرقام من تحتوى على اى رقم من

^Level تتطابق اذا آانت آلمة Level موجود فى بداية String

The Level=10 وال تتطابق مع Level=10مثل

Volt$ تتطابق اذا آانت آلمةVolt فى نهاية String

وال تتطابق مع The Input =10 Voltمثل

The Input =10 Volt Only

Page 478: Lab VIEW - Basics

45

اى مجموعة حروف بين قوسين او قوسين فارغين (*.)

اى حرفمعناها . الحظ ان

اى عدد من الحرف الذى قبلها او ان يكون غير معناها*والعالمة

دموجو

وهذا آله بين قوسين

ن ال يحتويان على ي القوسهذيناى مجموعة حروف بين قوسين ولكن )*[()~](

.اى اقواس

ن فارغينيويمكن ان يكون القوس

تعنى اى حرف ماعدا القوسين[()~] الحظ ان

تعنى اى عدد من الحروف ماعدا االقواس ويمكن ان ال *[()~]وان

يوجد اى حرف

)*[()~](ن يوهذا آله بين قوس

]القوس [ ] ]

[cd][ao][tg] اى آلمة تبدأ بالحرفc اوd ثم الحرف a او o ثم الحرف t او g

و هكذاcog و cot و dot و dog و catمثل

ولكنها ال تدعم آل امكانيات String سريعة وفعالة فى البحث داخل Match Patternوالدالة

Regular Expressionى ذات امكانيات اآبر ولكنها بطيئة نسبية وهى دالة وتوجد دالة اخر

Match Regular Expression

مها مع هذة الدالة يمكن االستعانة واستخداRegular Expressionولالطالع على امكانيات اآثر لـ

.بالبحث فى االنترنت وهناك مصادر آثيرة فى هذة الموضوع

Page 479: Lab VIEW - Basics

46

File Paths الملفات اتعامل مع الملفات نتعرف على نوع من البيانات لتمثيل مسارتعرف على آيفية التان نقبل

.File Path وهو Hard diskوالمجلدات على وحدات التخزين مثل

File Path Indicator وFile Path Control الملفاتمساراتتمثيل لLabVIEWويوجد فى

.File Path Constant و

منFront Panel فى File Path Indicator او File Path Control ادراج يتمو

Controls Palette>>Modern>>String & Path

منBlock Diagram فى File Path Constantويتم ادراج

Functions Palette>>Programming>>File I/O>>File Constants

Page 480: Lab VIEW - Basics

47

دات الموجودة على وحدات زرار لفتح نافذة لتصفح الملفات والمجلFile Path Controlويوجد مع

.التخزين لتحديد المسار الذى نريده

Page 481: Lab VIEW - Basics

48

File Pathويمكن تحديد خصائص نافذة التصفح وذلك من خالل الضغط بالزر االيمن للماوس على

Control واختيار Browse Option.

.فيها خصائص نافذة التصفح وآيفية اختيار الملفاتلتظهر لنا نافذة نحدد

Page 482: Lab VIEW - Basics

49

شكل نافذة الخصائص بعد تحديد خصائصهاوهذا

:ملحوظه هامة

ونافذة التصفح الخاصة به فقط مسار الملف الستخدامه فيما بعد من File Path Controlتحدد

.خالل الدوال الخاصة بـالملفات

اصبح موجودا ولكن حددنا مساره لكى يتم هفمثال اذا حددنا مسار ملف جديد فليس معنى ذلك ان

. الملفات التعاملشاءه بعد ذلك من خالل دوالان

.زرار التصفح يمكن الضغط عليه لفتح نافذة التصفح اثناء تصميم البرنامج او اثناء تنفيذه

Page 483: Lab VIEW - Basics

50

File Input /Output مكتبة آاملة من LabVIEWهمية الكبيرة لتخزين البيانات فى الملفات واستعادتها يوجد فى النظرا ل

. هذا الدرس على الدوال االساسية للتعامل مع الملفات فىلملفات وسوف نتعرفالدوال للتعامل مع ا

ويمكن ادراج هذة الدوال االساسية من

Factions Palette>>Programming>>File I/O

: وهماLabVIEW التى تتعامل مع الملفات فى VIsويوجد نوعان من الدوال او

High-Level File I/O

قراءة لة االستخدام تقوم بجميع العمليات الخاصة بالملفات من فتح اوانشاء وآتابة او سهVIsوهى دوال و

وهى نسبيا بطيئة ويفضل عدم وضعها فى . معينة فورمات وهى تتعامل مع ملفات ذات ،غلق للملفاتو

Loop لتكرار عملية القراءة او الكتابة فى الملفات ومن هذة VIsالتى سنتعرف عليها :

Write to Measurement File Express VI

Read from Measurement File Express VI

Write to Spreadsheet File

Read from Spreadsheet File

Low-Level File I/O:

ملفات فهناك دالة لفتح او انشاء محددة على الوتتميز هذة الدوال بالمرونة حيث ان آل دالة تقوم بعملية

. اخرى للقراءة واخرى لغلق الملفوبة الملف واخرى للكتا

ومن هذة الدوال التى سنتعرف عليها. وتتميز هذة الملفات بسرعة القراءة والكتابة

Open/Create/Replace File

Page 484: Lab VIEW - Basics

51

Close File

Write to Text File

Read From Text File

Write to Binary File

Read from Binary File

: هذة الدوال نوضح النوعين االساسين من الملفاتدأ التعرف علىان نبوقبل

ويتم قراءة هذا النوع من .Bytes وفيه تخزن الملفات على هيئة Binary Files :النوع االول

. التى خزن بها واال ستكون البيانات التى تم قراءتها غير صحيحةالملفات بنفس الطريقة

يانات على هيئة حروف وآل حرف يخزن آرقم وهذا الرقم وفيه تكون البText File :النوع الثانى

وهذا الـ Stringلذلك عند التخزين فى هذة الملفات نحول ما نريده الى . للحرفASCII Codeهو

String يتم تخزينه فى الملف بالـ ASCII Code. وما يميز هذة الملفات انه يمكن ان يتم قراءتها

.Binary Filesولكنها تأخذ سعه تخزينية اآبر من .Notepadبواسطة برامج تحرير النصوص مثل

High Level File I/Oاوال

Write to Measurement File Express VI

:هذا الملف يمكن ان يكون من النوع ، فى ملف بتخزين البيانات Express VIتقوم هذة

• Measurement Data File من النوع Text

)text-based measurement file ( وهو يكون باالمتدادLVM برامج ب يمكن فتحهو

والبيانات فى .Excel مثل Spreadsheet او برامج Notepadتحرير النصوص مثل

).,( او يمكن ان نجعلها مفصولة بـ فاصلة عادية Tab تكون مفصولة بـ لف يمكن ان هذا الم

مثل وقت وتاريخ الحصول على على معلومات عن البيانات ايضا LVMيحتوى الملف قد و

.هذة البيانات

Page 485: Lab VIEW - Basics

52

• Measurement Data File من النوع Binary وهو يكون باالمتداد TDM ويمكن

وياخذ مساحة فى التعامل LVM وهو اسرع من النوع . تخزين فيه اى نوع من البيانات .LVM وع النن تخزينها فى ملف منعباآثر دقة فيه تخزينية اصغر ويمكن تخزين االرقام

.DAQ لتخزين االشارات التى يتم قياسها بواسطة آروت Express VIعادة ما تستخدم هذة

لتحديد خصائص الملف الذى Express VI اتدا تظهر لنا نافذة اعدExpress VI هذة عند ادراج

ر االيسر ويمكن فتح هذة النافذة فى اى وقت بالضغط مرتين متتاليتن بالز. تم تخزين البيانات فيهيس

.VIللماوس على ايقون

Page 486: Lab VIEW - Basics

53

:نتعرف على االختيارات فى هذة النافذة

Page 487: Lab VIEW - Basics

54

: هىExpress VI هذة اخلمد

Page 488: Lab VIEW - Basics

55

Express VIج مخار

Dynamic Data بحيث تكون من النوع Express VIالى هذة تخزينها وتدخل البيانات المراد

Dynamic Dataمكن تحويل اى نوع من البيانات الى وي.الذى يمكن تجميع فيه اآثر من اشارة

التى يمكن ادراجها منConvert To Dynamic Dataبواسطة

Functions Palette>>Express>>Signal Manipulation

Page 489: Lab VIEW - Basics

56

تخزين مصفوفة :مثال

Read from Measurement File Express VI

او Text Fileاو LVM ة فى ملفات من النوع باستدعاء البيانات المخزنExpress VIتقوم هذة

.TDMالنوع

Page 490: Lab VIEW - Basics

57

لتحديد خصائص الملف و Express VI تظهر لنا نافذة اعدادات Express VIوعند ادراج هذة

.عهااجيتم استرالبيانات التى س

.VIويمكن فتح هذة النافذة فى اى وقت بالضغط مرتين متتاليتين بالزر االيسر للماوس على ايقونة

:و االختيارات الموجودة فى هذة النافذة هى

Page 491: Lab VIEW - Basics

58

Header قد تكون البيانات فى الملف على هيئة مجموعات من البيانات آل مجموعة لها :ملحوظة

وفى آل مرة يتم القراءة من الملف يتم قراءة مجموعة من تلك البيانات حتى يتم االنتهاء من قراءة الملف

.لبيانات فى مجموعة واحدةوقد توجد ا. آله

Page 492: Lab VIEW - Basics

59

يحتوى على بيانات بهذا الشكلTextملف :مثال

ات آما بالشكلنقوم بعمل االعداد

Page 493: Lab VIEW - Basics

60

Page 494: Lab VIEW - Basics

61

وآما نعلم Dynamic Data بقراءة البيانات من الملف واخراجها على هيئة Express VIتقوم هذة

صورة اخرى وذلك باستخدام لرسمها ويمكن تحويلها الى اى Graphيمكن توصيلها مباشرة الى

Convert from Dynamic Data التى يمكن ادارجها من

Functions Palette>>Express>>Signal Manipulation

قراءة مصفوفة من البيانات من ملف :مثال

Write to Spreadsheet File VI

على هيئة Textن النوع بتخزين البيانات الرقمية الموجودة فى مصفوفة الى ملف مVIتقوم هذة

Spreadsheet حيث يمكن فتحه بسهولة ببرامج Spreadsheet مثل Excel.

. فى ملفString ثم تكتب هذا String تقوم بتحويل االرقام الموجودة فى المصفوفة الى VIوهذة

.اليهد ويتم اضافة البيانات ووهذا الملف يمكن ان يكون ملف جديدا او ان يكون ملف موج

Page 495: Lab VIEW - Basics

62

: آالتالىVIومداخل هذة

Format: حديد شكل االرقام عند تحويلها الى لت وهوString وتخزينها فى الملف وصيغة Format

اى رقم ذو 3f.% هى Formatواذا لم يوصل هذا المدخل فان قيمة .هى آما ذآرناها فى هذا الدرس

.3آسر عشرى وعدد االرقام العشرية تساوى

File Path: الملف ويمكن تحديد مسار الملف من خالل اسم ومسار File Path Control او يكون

عند VI يتم توصيل هذا المدخل او ان قيمة مسار الملف فارغة ستظهر لمواذا . اخرى VIخرج ألى

.تنفيذها نافذة التصفح الى المستخدم تطلب منه تحديد مسار واسم الملف المراد التخزين فيه

2 D Data: بيانات التى نريد تخزينها اذا آانت فى مصفوفة ذات بعدين مدخل ال.

1 D Data: مدخل البيانات التى نريد تخزينها اذا آانت فى مصفوفة ذات بعد واحد .

فسيتم تخزين المصفوفة ذات البعد 1D Data و2D Data اذا تم التوصيل الى المدخلين :ملحوظة

.تجاهل المصفوفة ذات البعدينيتم الواحد و

Append to File? : لو ان هذا المدخلTrue تقوم هذة VI باضافة البيانات الى البيانات المخزن

دة فى الملف بالبيانات الجديدة التى وت الموجا باستبدال البيانVI تقوم Falseواذا آانت .بالملف سابقا

.False يتم التوصيل اليه هى اذا لم وقيمة هذا المدخل . تم تخزينهايس

.تم انشاء الملف وستخزن البيانات بهي س اذا لم يكن الملف موجود:ة ملحوظ

Transpose?: اذا آان هذا المدخلTrue يتم تحويل اعمدة المصفوفة الى صفوف والصفوف الى

.دةاعمدة بحيث تخزن االعمدة على هيئة صفوف فى الملف و الصفوف تخزن على هيئة اعم

ويل وهذا هو الوضع العادى فى حالة عدم فوفة آما هى بدون تحتم تخزين المص يFalseاما اذا آان

.توصيل هذا المدخل

Delimiter: نوع الفاصل بين البيانات فى الصف فى الملف والقيمة العادية هى Tab ويمكن توصيل

).;(او الفاصلة المنقوطة ) ,(اى فاصل مثل الفاصلة العادية

Page 496: Lab VIEW - Basics

63

تخزين مصفوفة ذات بعدين:مثال

Page 497: Lab VIEW - Basics

64

من و تم ادراج دالة :حوظة مل

Functions Palette>>Mathematics>>Elementary & Spatial Functions>>

Trigonometric Function

منوتم ادراج الثابت

Functions Palette>>Programming>>Math & Scientific Constants

Page 498: Lab VIEW - Basics

65

نافذة التصفح عند التنفيذ و اظهرت الدالة عند عدم توصيل مسار الملف الى مدخل الدالة:ملحوظة

. وتظهر رسالة تفيد بذلك43 اى لم يحدد مسار الملف سيحدث الخطأ رقم Cancelوضغط المستخدم

Read from Spreadsheet File VI ثم يحتوى على بيانات رقميهText بقراءة عدد معين من السطور او الصفوف من ملف VIتقوم هذة

.سطور او الصفوف الى مصفوفة من االرقامتحويل هذة ال

).رقمه(من اوله او من بداية حرف معين يتم تحديد مكانه بقراءة الملف VIويمكن ان تقوم

Page 499: Lab VIEW - Basics

66

. للمصفوفة قبل اخراجهاTranspose بعمل VIويمكن ان تقوم هذة

:هىVIومداخل هذة

Format: صيغة تحدد شكل االرقام عند تحويلها من String قم وقيمةر الى Format العادية

"%.3f " 3=اى رقم ذو آسر عشرى وعدد االرقام العشرية.

File Path: اذا لم يوصل هذا المدخل او آان المسار فارغا سيتم . ف الذى سيتم القراءة منه لالم مسار

.تحديد مسار الملفاج نافذة التصفح للمستخدم لخرا

Number of Rows :وعدد السطور التى يتم قراءتها .تهاور سيتم قراءلسط لتحديد اقصى عدد من ا

يتم ) 1-(ة هذا المدخل اقل من الصفر يماذا آان ق.يمكن ان يكون اقل اذا تم الوصول الى نهاية الملف

.م التوصيل اليهوف وهذة هى قيمة المدخل اذا لم يتقراءة آل السطور او آل الصف

Start of Read Offset: لف الذى ستبدأ منه عملية القراءة وهو يعبر عن رقم وهو المكان فى الم

.الحرف فى الملف الذى ستبدأ منه عملية القراءة

اسماء مثل وقت وتاريخ القياس و( البيانات فيه معلومات عن Header اذا آان الملف يتكون من مثال

فسوف نبدأ 57 هى Header ثم البيانات الرقمية التى نريد قراءتها وآان عدد حروف هذا )تاالبيان

).الترقيم يبدأ من الصفر (57من الحرف رقم

. اى من بداية الملف0 هى لهذا المدخلالقيمة العاديةو

Max Character/Row: واذا لم يوصل هذا .هااقصى عدد من الحروف فى الصف سيتم قراءت

. وهى تعنى آل حروف الصف0المدخل فان القيمة العادية له هى

Transpose?: اذا آان المدخل True يتم عمل Transpose للمصفوفة الناتجة اى تحويل

.صفوفها الى اعمد واعمدتها الى صفوف

. وهى القيمة العادية تخرج المصفوفة آما هى بدون تحويلFalseاذا آان المدخل

Delimiter: والقيمة العادية هى . نوع الفاصل المستخدم فى الملفTab.

Page 500: Lab VIEW - Basics

67

:تالى آالVIومخارج

New File Path: مسار الملف الذى تمت عملية القراءة منه.

All Rows: مصفوفة ارقام ذات بعدين تحتوى على البيانات التى تم قراءتها.

First Row: ات بعد واحد تحتوى فقط على اول صف من البيانات التى تم قراءتهاذمصفوفة ارقام.

Mark After Read: وهو رقم الحرف الذى .لذى توقفت عنده عملية القراءة وهو المكان فى الملف ا

.يلى ما تم قراءته مباشرة

EOF?) End of File(: اذا آان قيمته Trueفهذا يعنى انه تم الوصول الى نهاية الملف فى عملية القراءة .

Page 501: Lab VIEW - Basics

68

:مثال

:ملحوظات

Write to Spreadsheet File VI وRead To Spreadsheet File VIس لهما مدخل لي

فهما يقومان بالتعامل مع االخطاء داخليا لذا يفضل استخدامهما فى Error Clusterاو مخرج لـ

.التطبيقات البسيطة وليس التطبيقات المتقدمة

الخاص بهما وذلك يؤدى مزيدا من الفهم لطريقة Block Diagram ومشاهدة VIمن المفيد فتح هذين

.عملهما

Page 502: Lab VIEW - Basics

69

Text Spreadsheet وملفات Excel Spreadsheetالفرق بين ملفات لها فورمات Binary هى ملفات من النوع XLS ذات االمتداد Excel Spreadsheetملفات

او البرامج المعدة لذلك وال يمكن فتحها ببرامج تحرير Excelطة برنامج اسخاصة يتم فتحها بو

.Binary وذلك النها آما ذآرنا من النوع Notepadالنصوص مثل

ببرامج تحرير اى يمكن فتحها Text هى ملفات من النوع Text Spreadsheetاما الملفات

.Notepadالنصوص مثل

فى نفس السطرويفصل بين البيانات وعادة تخزن البيانات فى هذة الملفات على هيئة صفوف او سطور

Tab لذى يلية بـ ويفصل بين آل سطر وا.او اى فاصلة اخرى) ,( او الفاصلة العاديةCarriage

Return و LineFeed) \r\n.(

.csv او txtوهذة الملفات يمكن ان نضع لها اى امتداد مثل

: نتبع الخطوات االتية Excelولفتح هذة الملفات بوسطة برنامج

Page 503: Lab VIEW - Basics

70

Page 504: Lab VIEW - Basics

71

Low Level File I/Oثانيا :هم لكى نتعامل مع الملفات هناك ثالث خطوات متتابعة نقوم بعملهم

Rufnum) Referenceفتح او انشاء الملف المراد التعامل معه وعند فتحه نحصل على -1

Number (من خالله يتم تحديد الملف فى باقى الخطوات.

.الى الملف القراءة او الكتابه من و-2

. غلق الملف-3

. فحص حدوث اى خطأ وهذة ليست خطوة اساسيه فى التعامل مع الملفات -4

ليتا فتح و غلق الملف تبطأن من سرعة الكتابة او القراءة من الملف ولذلك يفضل فتح الملف وعند وعم

.انتهاء آل عمليات الكتابة والقراءة نغلقه

Read and Write to و Read and Write to Measurement File Express VIsو

Spreadsheet Fileلذلك اليفضل استخدام هذة . لق وغ اوقراءة تقوم بهذة الخطوات من فتح وآتاب

VI داخل Loops.

.دوال االساسية لعمل هذة الخطواتلوسنتعرف على ا

وسنتعرف اوال Binary Fileو Text File وآما ذآرنا ان هناك نوعان اساسيان من الملفات وهما

.Binary File ثم آيفية التعامل مع Text Fileعلى آيفية التعامل مع

Text Filesآيفية التعامل مع

Open/Create/Replace Fileدالة ال للملف وهو رقم يدل على الملف لكى Refnumتقوم هذة الدالة بفتح او انشاء او استبدال ملف وتخرج

.يتم التعامل معه خالل باقى الدوال

Page 505: Lab VIEW - Basics

72

الصحيح Operationف او انشاءه ويجب ان نختار نوع العملية لوتقوم هذة الدالة بالخطوة االولى لفتح الم

ويكون الملف موجودا فسينتج خطأ ويمكن االطالع ) Create(اختيار العملية انشاء : مثل واال قد يحدث خطأ

. التى يمكن ان تحدث لمعرفة االخطاءHelpعلى

Create ونختار Operationولتحديد نوع العملية يفضل ان نضغط بالزر االيمن للماوس على المدخل

Constant

Close Fileلة الدا

.تقوم هذة الدالة بغلق الملف الذى تم فتحه من قبل

Page 506: Lab VIEW - Basics

73

VIsث خطأ ام ال بواسطة د الخارج من هذة الدالة لمعرفة هل حError Clusterويمكن ان نستخدم

.Simple Error Handler.viالخاصة بالتعامل مع االخطاء مثل

:ملحوظات

.نهاية البرنامج قبل قوم بغلقهنعند فتح اى ملف يجب ان

Text Files ليست خاصتين لـ Close File و Open/Create/Replace Fileالدالتين

. مع جميع انواع الملفاتنتخدماسفقط وانما ي

Write to Text File الدالة Array of(الى ملف او آتابة مصفوفة من النصوص ) String(تقوم هذة الدالة بكتابة نص

Strings (ث سيكون آل نص فى المصفوفة عبارة عن سطر فى الملفالى ملف بحي.

Page 507: Lab VIEW - Basics

74

. File للملف الى المدخل Refnum او File Pathويمكن تحديد الملف لهذة الدالة بواسطة توصيل

تقوم الدالة بانشاء الملف اذا لم يكن موجودا واذا آان موجودا تقوم File Pathوفى حالة توصيل

جديد فى الملف ثم تقوم بغلق الملف وبالتالى ليس هناك حاجة لغلق بحذف محتوياته وتكتب النص ال

.Close Fileالملف بواسطة الدالة

بالتتابع بمعنى عند آتابة نص فى الملف فى فان الدالة تقوم بكتابة النص Refnum توصيل وعند

عند آتابه نصوص الملف ثم آتابة نص اخر فانه سوف يلى النص الذى آتبناه من قبله فى الملف وهكذا

File Position او File Markerوحقيقا فى هذة الحالة تتم الكتابه فى المكان الذى يحدده .اخرى

. وهو الذى سنوضحه بعد االمثلة

Page 508: Lab VIEW - Basics

75

فى سطر String يتم آتابة آل Write to Text File الى الدالة Stringsعند توصيل مصفوفة من

.مستقل

مثال

كون من ت الذى ي End of lineر فى الملف و آتابة سطر جديد نستخدم الثابت النهاء الكتابة فى سط

Carriage Return وLine Feed \r\n.

. للملف قبل تخزين البيانات الرقمية Header آما فى المثال السابق يمكن انشاء الحظ انه

Page 509: Lab VIEW - Basics

76

File Markerاو File Position File Marker او File Positionيحدد المكان الذى نقف فيه فى الملف وهو يمثل عدد هو رقم

.وهو يحدد مكان الكتابة فى او القراءة من الملف.الحروف من بداية الملف حتى المكان الذى نقف فيه

Fileكتابة فى الملف او القراءة منه يتغير قيمة الوعند بداية فتح الملف تكون قيمته صفر وعند

Position التى تم آتابتها او قراءتها بمقدار عدد الحروف.

سيكون يساوى صفر فعند الكتابة ستتم الكتابة من بداية File Positionاذا فتحنا ملف فان :مثال

100اوى بعد الكتابة ستسFile Position حرف فان قيمة 100 عدد مثالالملف فاذا آتبنا فى الملف

وبعد تمام 100 حرف فان الكتابة ستبدأ من المكان 50فاذا آتبنا عدد .كون هذا مكان الكتابة التالية وسي

. وهكذا 150 يساوى File Positionالكتابة سيكون

.ويحدث نفس الشىء فى حالة القراءة

.يساوى صفر فان الكتابة او القراءة ستكون فى بداية الملف File Positionواذا آان

.تكون فى نهاية الملفواذا آان يساوى عدد حروف الملف فان القراءة والكتابة س

تم ت وبالتالى المكان الذى سFile Position وايضا تغيير قيمة File Positionال لمعرفة ووتوجد د

وايضا دوال لمعرفة حجم الملف . منه القراءة وتتم فيه الكتابة

وهذة الدوال هى

ويمكن ادراج هذة الدوال من

Functions Palette >>Programming>>I/O File>>Advanced File Functions

Page 510: Lab VIEW - Basics

77

تحديد الكتابة فى نهاية ملف موجود:مثال

Read from Text Fileدالة

.Textتقوم هذة الدالة بالقراءة من ملف من النوع

Page 511: Lab VIEW - Basics

78

Countوهذا العدد يتم تحديده من خالل المدخل .وتقوم هذة الدالة بقراءة عدد معين من الحروف من الملف

فان الدالة تقوم بقراءة الملف آله وهذة الحالة العادية اى انه اذا لم ) 1-(ته اصغر من الصفر واذا آانت قيم

. يتم قراءة الملف آله حتى نهايتهCountنوصل قيمة الى المدخل

:امثلة

اءة تتم القراءة من اول الملف ثم بعد ر تساوى صفر وعند القFile Positionعند فتح ملف يكون قيمة

هى رقم اخر حرف تم قراءته فعند القراءة مرة اخرى تتم من File Position القراءة تكون قيمة عملية

وهكذا حتى يتم غلق الملفالجديد File Position مكان

Page 512: Lab VIEW - Basics

79

:مثال

وايضا الحروف Tab عند قراءة الحروف من الملفات يجب االخذ فى االعتبار المسافات و الحرف :ملحوظة

Carriage Return و Line Feed (\n)سطر من اول البداية الباعة مثل نهاية االسطر والغبر قابلة للط

)\r.( ولمشاهدة هذة الحروف يمكن ان نجعلString Indicator فى الحالة Code Display"\."

Readيمكن ان تقوم هذة الدالة بقراءة االسطر من الملف سطر سطر وذلك بالضغط على ايقونة الدالة ونختار

Lines.

Page 513: Lab VIEW - Basics

80

اليه يتم ) 1-(وعند توصيل القيمة يحدد عدد االسطر التى سيتم قراءتها Countوفى هذة الحالة المدخل

.قراءة آل اسطر الملف

. بها فيه محتوى سطر آامل من الملفString آل Stringsتقوم الدالة باخراج مصفوفة من

.تى تم قراءتها الموجودة فى المصفوفة هو عدد االسطر الStringsوعدد

:امثلة

ايضا يتم قراءة الملف بشكل تتابعىقراءة االسطرفى حالة

Page 514: Lab VIEW - Basics

81

Binaryآيفية التعامل مع الملفات من النوع لذلك فهى اسرع ASCII Code آما هى دون تحويلها الى Binaryيتم تخزين البيانات فى الملفات من النوع

.Notepadملفات اليمكن فتحها بالبرامج تحرير النصوص مثل فى التعامل وتأخذ مساحة اصغر وهذة ال

محتوى هذة الملفات يجب ان نعلم نوع نقرأويتم تخزين اى نوع من البيانات فى هذة النوعية من الملفات ولكى

لفات تح هذة المفلذلك عادة نقوم بعمل برنامج لتخزين الملفات واخر ل. البيانات الموجودة فى الملف وآيفية تخزينها

. والقراءةرنامج بعمل الوظيفتين معا الكتابة يقوم نفس الب اناو

النشاء ملف او فتح ملفOpen/Create/Replace Fileويمكن استخدام الدوال

.Textها مع الملفات من النوع ا آما استخدمنBinaryمع الملفات من النوع لغلق الملف Close File والدالة

للقراءة من Read From Binary File للكتابة فى الملفات و الدالة Write To Binary Fileوتوجد الدالة

.الملف

Write to Binary Fileالدالة وهذة البيانات يمكن ان توجد فى اى صورة . Binaryتستخدم هذة الدالة لكتابة بيانات فى الملفات من النوع

)Array ، Cluster ، Waveform ...(

Page 515: Lab VIEW - Basics

82

: الدالة هى ومداخل هذة

Prepend Array or string Size?: ونجعل قيمته

True: اذا اردنا ان يرفق LabVIEW معلومات عن حجم String او Array اذا آنا نخزن اى

. اى قيمةه هى قيمة المدخل اذا لم نوصل لTrueو. من النوعين

False:اذا اردنا تخزين البيانات بدون اى معلومات اضافية عن الحجم.

Prompt : تصفح للمستخدم لتحديد الملف المراد للمستخدم فى حالة اظهار نافذة ال مدخل الرسالة التى ستظهر

اذا لم يتم التوصيل لهذا "Choose or enter file path"نص الرسالة سيكون .التخزين فيه

.المدخل

File: يتم توصيل الى هذا المدخل مسار اوRefnum لهذا وفى حالة عدم التوصيل.فيه للملف المراد التخزين

.تصفح للمستخدم عند تنفيذ الدالةالمدخل يتم اظهار نافذة ال

لف اذا لم يكن فان الدالة تقوم بانشاء الماو اظهار نافذة التصفح Fileفى حالة تم توصيل مسار للملف لمدخل و

وجوداف محتويات الملف وتخزين البيانات الجديدة اذا آان م او تقوم بحذاموجود

File Position فان الدالة تقوم بالكتابة فى الملف فى المكان الذى يحدده Refnumاما فى حالة توصيل

) اى بداية الملف(والذى تكون قيمته فى بداية فتح الملف بصفر

.Set File Position و Get File Position نستخدم الدوال File Positionولتغيير مكان

وللحصول على سعة الملف نستخدم الدالة . يساوى سعة الملف File Positionة الملف نجعل وللتخزين فى نهاي

Get File Size آما رأينا فى حالة التعامل مع الملفات من النوع Text.

Page 516: Lab VIEW - Basics

83

Data: ويتم توصيل البيانات التى نريد تخزينها الى هذا المدخل وهذة البيانات يمكن ان تكون فى اى صورة

...)Cluster ،Stringمصفوفة ، (

Byte Order: يحدد طريقة تمثل االرقام الصحيحة فى الذاآرة فكما نعلم ان االرقام الصحيحة يمكن ان رقم

).4Bytes) 32 Bit مثل Byteتتكون من اآثر من

. المكون للرقم فى الذاآرةBytesيحدد ترتيب تخزين Byte Order و

)0 (Big-Endian: بر للرقم يخزن فى العنوان االصغر فى الذاآرة ان البايت االآهو يعنى

.Macويستخدم هذا الترتيب فى انظمة التشغيل مثل

.وهذة هى قيمة المدخل اذا لم يتم التوصيل اليه

)1 (Native ، Host Order:التشغيل وهو يعنى اتباع الترتيب المتبع فى النظام

.الموجود

)2 (Little-Endian: االصغر للرقم يخزن فى العنوان االصغر فى و يعنى ان البايت

.Linux و Windowsالذاآرة ويستخدم هذة الترتيب فى انظمة التشغيل مثل

Page 517: Lab VIEW - Basics

84

منSin Wave.viيتم ادراج :ملحوظة

Functions Palette>>Programming>>Signal Generation

Read from Binary Fileالدالة الستخدام هذة الدالة البد من تحديد نوع البيانات المخزن فى . Binary Fileات من البيان بقراءةهذة الدالةتقوم

) Bytes) Byte Orderآما يجب ان تكون ترتيب تخزين .الملف للدالة حتى تتم عملية القراءة بالشكل الصحيح

.هو نفس ترتيب القراءة

Page 518: Lab VIEW - Basics

85

.بد ان تتوافق مع نوع البيانات المخزنةتم قراءتها والي يحدد نوع البيانات التى س :Data typeوالمدخل

ةيحدد عدد القيم من نوع البيانات الذى حددناه واذا لم يوصل هذة المدخل يتم قراءة قيمة واحد :Countو المدخل

.من نوع البيانات

النوع وان هذةDBLآما يمكن قراءة الملف بطريقة اخرى حيث اننا نعلم ان القيم المخزنة هى ارقام من النوع

. بايت 8من البيانات يشغل سعة تخزينية تساوى

.8ت سيكون عدد االرقام المخزنة تساوى خارج قسمة حجم الملف على ايبالتالى بمعرفة حجم الملف بالب

الموجودة فى Get File sizeويمكن معرفة حجم الملف باستخدام الدالة

Functions Palette >>Programming>>I/O File>>Advanced File Functions

Page 519: Lab VIEW - Basics

86

Page 520: Lab VIEW - Basics

87

تم بحمد اهللا االنتهاء من الدرس

الى اللقاء باذن اهللا مع الدرس القادم

[email protected]