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
الدرس االول
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:
.هى واجهة البرنامج
.Indicatorsو Controlsبواسطة The Front Panelبناء و يتم
Controls :
.و غيرها dialsو push buttonsو knobsمثل VIهى وحدات االدخال فى
.و هى تماثل وحدات االدخال فى االجهزة االلكترونية الحقيقية
Indicators:
. و غيرهاledsو graphsمثل VI فى هى وحدات االخراج او االظهار
.و هى تماثل وحدات االخراج و االظهار فى االجهزة االلكترونية الحقيقية
ليتم Block Diagramالى Controls انه تنتقل البيانات من البرنامجفى و ما يحدث .Indicators الى Block Diagramتنفيذ آود البرنامج عليها ثم تظهر النتائج من
٢ (The Block Diagram :
.هو آود البرنامج الذى يتم تصميمه بالرسم
terminalيوجد بالمقابل له Front Panelموجود فى Indicatorاو Controlلكل . The Block Diagramفى
او Controlبمجرد وضع Block Diagramيوضع تلقائيا فى terminal ١هذIndicator فىFront Panel.
الخاص terminalيحذف Front Panelمن Indicatorاو Control اى وعند حذف .به تلقائيا
.المقابل له Indicatorاو Controlاال بحذف terminal تستطيع حذف وال
دوال و SubVIs على terminalsباالضافة الى The Block Diagram يحتوى
)Functions ( و ثوابت و هياآل بيانية)Structures ( ووصالت)Wires ( التى تكون
.مسار البيانات
٣(The Icon and Connector Pan :
.تظهر فى الطرف االعلى على اليمينمن النافذة Iconيوجد VIلكل
.يمكن ان تحتوى على رسم او آتابة او آالهما Icon هذة
المستخدمة عندئذ باسم VI تسمى اخرى و VIعندما تستخدم آداله فى VIتمثل Iconهذة SubVI.
Connectors Pane:
.Block Diagramفى SubVIهى عبارة عن مجموعة وصالت تبين و تحدد طريقة وصل
.SubVIو تعتبر هذة الوصالت هى المداخل و المخارج للـ
SubVIيمكن ان تكون VIحيث ان آل . فى الهيكل البنائى لبرامجه LabVIEWتكمن قوة .اخرى VIفى
.VIالموجودة فى SubVI لعدد معين و ال يوجد حد
Front Panelشريط االدوات فى
.VI فى تنفيذ و تصميم يستخدم
.اذا آان هناك خطأ فى البرنامج تظهر هكذا . وتكون هكذا . لتنفيذ البرنامج
اخرى و يظهر اثناء التنفيذ للتنفيذ المستمر للبرنامج حتى توقف البرنامج او الضغط عليه مرة .المستمر للبرنامج هكذا
. لوقف البرنامج نهائيا وفى الحال وهى متاحة فقط اثناء تنفيذ البرنامج
.لوقف تنفيذ البرنامج مؤقتا و يسكمل تنفيذ البرنامج بالضغط عليه مرة اخرى
Blockمكان توقف الرنامج فى LabVIEWفى حالة الوقف المؤقت يظهر : ملحوظة Diagram.
الحجم ، اللون ،: قائمة منسدله لتغيير خصائص النصوص المكتوبة .نوع الخط
.دله لمحاذاة الوحدات مع بعضهاقائمة منس
.قائمة منسدله لتنظيم المسافات بين الوحدات
قائمة منسدله لترتيب الوحدات التى فوق بعضها فهى تحدد من يظهر فى االمام ومن يكون .فى الخلف
Block Diagram شريط االدوات فى
Highlight : بالضغط عليها يتم استعرض آيف يتم تنفيذ البرنامج وآيفية انتقال البيانات و . تظهر بهذا الشكل
Step Into : وبها تستطيع ان تدخل فى . لتنفيذ البرنامج خطوة واحدةsubVI او الهياآل .نفيذها خطوة خطوةلت )loops(التكرارية
Step Over : لتنفيذ البرنامح خطوة واحدة مع آل ضغطة مع اعتبار ان SubVI اوLoop الدخول فيهاتنفذ فى خطوة واحدة دون .
Step Out : للخروج منloop اوSubVI فى خطوة واحدة.
Tools Palette
لوحة االدوات
:يتم فتحها من
Window<< Show Tools Palette
Tools Palette
. VIلتصميم و اختبارو تنفيذ LabVIEWوهى عبارة عن مجموعة االدوات االساسية فى بيئة
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
!
Error!
ALL CONTROLS
Frontيمكن ايضا ان تفتح بالضغط بالزر االيمن للفأرة على نافذة Panel.
All Controlsبالمؤشر على ثم
Error!
Functions Palette
لوحة الدوال
: Block Diagram نافذة يتم فتحها من
Window <<Show Functions palette
Error!
Functions Palette
لوحة الدوال
نافذة موضع فىعلى يمكن ايضا ان تفتح بالضغط بالزر االيمن للفأرةBlock Diagram.
All Functionsثم بالمؤشر على
Error!
تحميل و تنفيذ برنامج
Error!
Error!
Error!
المصدر
LabVIEW Basics Course Manual
شاء اهللالى اللقاء مع الدرس الثانى ان
الدرس الثانى
VIوتحرير واختبارانشاء
الجزء االول
VIانشاء
Tools Pallette) لوحة االدوات: (
Window<<Show من Tools Paletteآما علمنا من الدرس السابق اننا نحصل على Tools Palette.
:ويمكن ان يكون اختيار االداة باحدى طريقتين
Automatic : يقومLabVIEW بتغير االداة تلقائيا الى االداة المناسبة.
Manual: االداة التى يريدها بالضغط على االداة فى يقوم المبرمج بأختيار Tools Palette.
Automatic Toolنضغط ايقونة Manualاو Automaticلجعل االختيار Selection الموجودة اعلىTools Palette.
:آما ذآرنا فى الدرس السابق انه
:من ثالث عناصر اساسية VI تتكون
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وقيمة .القيم للبرنامج
• Numeric Indicator
.و القيمة ) Label( على عدة خصائص مثل العنوان Numeric Indicatorويحتوى
م اثناء تنفيذ البرنامج انما تتغير ال يستطيع ان يغيرها المستخدNumeric Indicatorوقيمة .Block Diagramمن خالل
Numeric Controlلتغيير قيمة
. Operating Toolيمكن استخدام االسهم بواسطة •
او Labeling Toolبواسطة Controlبالضغط نقرتين على قيمة •Operating Tool مفتاح ثم ضغط. ثم آتابة القيمة الجديدة>ENTER< او او بالضغط على اى مكان ToolBar فى االعلى الموجودالضغط على االيقونة
.Round LEDsو Vertical Toggle Switchو من اآثر الوحدات استخداما
:ملحوظة
ة على الوحدااليمن للماوسبالضغط الزر Controlsو Indicatorsيمكن تغيير خصائص .هر لنا قائمة منسدله فيها ما يمكن تغيره فتظ Controlاو Indicatorسواء آانت
!
:The Block Diagram :ثانيا
The Block Diagram يتكون من ثالث عناصر
Nodes و Terminals و Wires) وصالت او الروابط(.
Nodes:
لديها مداخل او مخارج او آلهما و تقوم Block Diagramفى )Object(هى اى وحدة .بعملية ما اثناء تنفيذ البرنامج
. )Structures(آل البيانية االهي و SubVI و الدوال: هى Nodesو انواع
:الدوال
.LaBVIEW فى بيئة جاهزة مبنية وهى دوال اساسية
.Functions Paletteويمكن الحصول عليها من
:مثال
SubVI :
اخرى وهى تماثل 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ولكل
Node Terminals:
عبارة عن مجموعة وصالت تبين و تحدد طريقة Connector Paneيوجد لها Nodeلكل .Node اماآن االدخال و االخرج الخاص بـ ا أىوصله
Node Terminalsهذة الوصالت هى
Nodeالخاص بـ Connector paneولعرض
ثم نختار Node على للماوسنضغط بالزر االيمن
Visible items << Terminals
Wires) وصالت او الروابط: (
. The Block Diagram) Object (مسارت البيانات بين وحدات هى
بمصدر وحيد للبيانات و لكن يمكن ان يصل هذة البيانات لكثر من مدخل ) رابط (Wireيتصل .SubVIلدوال او
.الخاصة بالرابط ) Data Type(لكل رابط لون و شكل و سمك يعتمد على نوع البيانات
مصفوفة ذات بعد مصفوفة ذات بعدين اللون واحد
Scalar( وحيد نوع الرابط (القيمة
رقم ) برتقالى ( عشرى
(floating point)
رقم(ازرق (صحيح
Integer
رقمى(Numeric)
اخضر ثنائى
(Boolean) (String) نص وردى
:Dataflow Programming )ثالثا
.البرمجة المعتمدة على تدفق البيانات
.Dataflowعلى تدفق البيانت او LabVIEW برامج يعتمد تنفيذ
تخرج Nodeو عند انتهاء تنفيذ . عندما تكون البيانات جاهزة على مداخلهافورا Nodeتنفذ .التالية لها فى مسار تدفق البيانات Nodeعلى مخارجها لتكون جاهزة للـ فورا النواتج
حيث تنفذ التعليمات تباعا Control Flowوذلك عكس لغات البرمجة االخرى التى تعتمد على . البرنامج حسب ترتيب آتابتها فى
. حاصل الجمع من٥٠برنامج يقوم بجمع رقمين ثم يقوم بطرح : مثال
وبعد . الجمع تلقائيادالة لذلك تنفذ ) Y وX( دالة الجمع ىنالحظ ان البيانات جاهز على مدخلالجمع يخرج الناتج على مخرج دالة الجمع لتكون البيانات جاهزة على مدخلى تنفيذ دالة ءانتها من يخرج الناتجها و بعد تنفيذدالة الطرحلذلك تنفذ ) ٥٠حاصل الجمع و الثابت (الطرح دالة
.Zالى اداة االظهار مخرج دالة الطرح
ين وتخرج الناتج الى دالة اال عندما تقوم دالة الجمع بجمع الرقم اى ان دالة الطرح ال تنفذ .الطرح
.ين مستقلين احدهما يبدأ بدالة الجمع واالخر يبدأ بدالة القسمةئآما بالشكل يوجد جز: ٢مثال
نالحظ ان البيانات جاهزة على مداخل دالة الجمع و ايضا البيانات جاهزة على دالة القسمة فأى اذا البد من طريق تحدد من . تماما ضهماين مستقلين عن بعئحقيقا ال نعلم فالجز.منهما ينفذ اوال
.وهذا ما سنتعلمة فى الدروس القادمة ان شاء اهللا. سينفذ اوال ثم الذى يليه
CtoF.vi: مثال
:هدف المثال
تقوم بأخذ رقم يمثل درجة الحرارة بالسليزيوس وتحويلها الى رقم يمثل درجة VIانشاء .الحرارة بالفهرنهيت
The Front Panel
The Block Diagram
:الخطوات
تحميل ملف جديد-١
LabVIEW قم بتحميل برنامج -١
.New VIاضغط -٢
.جديدة VIلعمل . Blank VI اختر -٣
:Front Panelتصميم -٢
The Front Panel ستظهر لك
. Numeric Control ادراج -١
.وهو اداة التحكم التى سنستخدمها الدخال درجة الحرارة بالسليزيوس
. بهذا الشكل آما فى الصورة التاليةControlيظهر لنا
هذا يعنى ان اى آتابة سنقوم بكتابتها ستحل محل آلمة . مظللةNumericالحظ ان آلمة Numeric.
او نضغط اى مكان ToolBarالموجود فى Enter Button ثم اضغط deg C نكتب .Enter او نضغطControl اخر خارج
ملحوظة
فاذا اردت بعد ان تعيد .Numeric مباشرة سيختفى التظليل من على آلمة deg Cاذا لم تكتب حتى تظلل ثم ) Numericآلمة ( Label قم بالضغط نقرتيين على deg Cالتظليل وتكتب
.deg Cاآتب
.Numeric Indicator ادراج -٢
.وهو اداة االظهار التى سنستخدمها الخراج درجة الحرارة بالفهرنهيت
Error!
.يظهر لنا بهذا الشكل آما فى الصورة التالية
او اضغط اى مكان ToolBarالموجود فى Enter Button ثم اضغط deg Fنكتب .Enter او نضغط Indicatorاخر خارج
:ملحوظات
.Indicator و اداة االظهار Controlالحظ الفرق بين اداة التحكم -١
.Labelلكل اداة يوجد لديها عنوان -٢
او Controlهذا العنوان يمكن ان يظهر او يختفى بالضغط بالزر االيمن للماوس على Indicatorثم اختيار
Visible Items<<Label
. الخاصة بالبرنامج The Front Panelاالن قمنا بتصميم
:The Block Diagram تصميم -٣
.Window<<Show Diagram او نختار Ctrl+Eنضغط
. لكتابة آود البرنامج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
ويمكن ان نكتبها بهذا الشكل
Deg C*1.8+32=Deg F
لعمل التحويل المطلوب وايضا Add و دالة الجمع Multiplyاذا سوف نحتاج الى دالة الضرب .٣٢٫٠ و ١٫٨نحتاج ثابتين بالقيم
.Multiplyلضرب ادراج دالة ا-١
Error!
اسحب رمز الدالة الى المكان الذى تريده ثم اضغط بالزر االيسر للماوس لوضعه فى المكان الذى .حددته
.Addادراج دالة الجمع -٢
Error!
اسحب رمز الدالة الى المكان الذى تريده ثم اضغط بالزر االيسر للماوس لوضعه فى المكان الذى .حددته
.Numeric Constants ادارج الثابتين -٣
كان الذى تريده ثم اضغط بالزر االيسر للماوس لوضعه الى المNumeric Constantاسحب .فى المكان الذى حددته
اى انه يمكنك آتابة القيمة التى تريدها . مظلل ٠ وداخله رقم Numeric Constantيظهر .مباشرة
).١٫٨( وهى Numeric Constantاآتب قيمة
او اضغط اى مكان اخر خارج الثابت ToolBarالموجود فى Enter Buttonاضغط .Enterاو اضغط
تأآد من آتابة العالمة العشرية والصفر الذى على . آما سبق٣٢٫٠ادرج الثابت الثانى الذى قيمته .Data Type DBLيمينها حتى يكون له
الربط او التوصيل-٤
.االن وبعد ادراج الدوال والثوابت نقوم بالربط بينهم بأستخدام اداة الربط
او ممكن ) Terminal( تلقائيا عند وضعها على المداخل او المخارج تظهر اداة الربط .Tools Paletteان تختارها من
.يتحرك معك الخط عندما تحرك اداة الربط Control Terminal الحظ بعد ربط الخط بـ
نكمل باقى الوصالت آما بالشكل
بهذا الشكلThe Block Diagramفى النهاية يصبح
.االن انتهينا من تصميم البرنامج
الحظ
انه ال يوجد خط منقط-١
مما اثناء آتابة البرنامج و االن اصبحت هكذا ان ايقونة تنفيذ البرنامج آانت هكذا -٢ .يعنى انه ال يوجد خطأ فى الوصالت وان البرنامج يمكن ان ينفذ
:تخزين البرنامج -٤
او آجزء من مكتبة تحتوى عددة برامج viيمكنك تخزين البرنامج آهيئة ملف مستقل باالمتداد .llbوتكون بأمتداد
: تخزين الملف فى ملف مستقل-١
File << Saveاختر
.حدد مكان التخزين و اسم الملف
تخزين البرنامج فى مكتبة-٢
. اذا آان هذة اول مرة تخزنهFile<< Saveاختر
اذا آنت خزنته من قبل وتريد ان تخزنة باسم اخر او فى مكان File <<Save Asاو اختر .اخر
تنفيذ البرنامج
Operating Tool باستخدام Deg C Control فى ادخل قيم الحرارة بالسليزيوس .الجديد وآتابة القيمة Controlاوبالضغط مرتين بالزر االيسر للماوس داخل
لتظهر قيمة درجة الحرارة Tool barفى ثم قم بتنفيذ البرنامج باستخدام ايقونة التنفيذ .Deg F Indicatorبالفهرنهيت فى
لتصبح هكذا بالضغط االيقونة يمكنك ان تستخدم التنفيذ المستمر العادة تنفيذ البرنامج تلقائيا.
.اليقاف التنفيذ المستمر نضغط ايقونة ايقاف التنفيذ
ن شاء اهللا فى تكملة الدرس الثانى و الدرس الثالث الى القاء ا
فى احد االطارت ويتم قراءة هذة القيمة فى االطارات Sequence Localنوصل قيمة الى
.االخرى
:ملحوظة
Flat and Stacked Sequenceفى اى وقت اثناء تصميم البرنامج يمكن التحويل بين
Structures .
53
54
Timing المؤقتات فهى تستخدم لقياس الزمن وعمل تزامن بين المهام المختلفة و LabVIEWللمؤقتات اهمية آبيرة فى
ال تستحوز على السرعة حتى بمعدل مناسب Loops لكى تعمل Loopsعمل تأخير فى عمل
.الكلية للمعالج
VIs Express Timing ة والدوال االساسي: ويوجد نوعان من المؤقتات
المؤقتات منجميع ويمكن ادراج
Function Palette >> Programming>> Timing
:الدوا ل االساسية
:Wait (ms)دالة .1اى انها تقوم بعمل .VI تنتظر عدد معين من ميللى ثانية ثم بعدها يستمر تنفيذ VIتجعل هذة الدالة
.1000ت ان يكون التأخير بالثوان اضرب عدد الثوانى فى اذا ارد. تأخير زمنى بالمللى ثانية
55
: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
اى انها انتظرت .122 ميللى ثانية لكى تكون الساعة الداخلية للنظام 10 فسوف تنتظر الدالة
مللى ثانية 10 وهكذا ستنتظر فى آل مرة تنفذ . ساعة النظام قيمة مللى ثانية بغض النظر عن10
. ساعة النظام قيمةظر عنبغض الن
آما انها تستخدم فى . ينفذ فى ازمنة محددة Loops فى جعل ما بداخل لذلك تستخدم الدالة
.عمل تزامن بين االحداث
فأنها فى اول مرة تنفذ فيها قد تنتظر اقل من القيمة Loopالحظ انه عندما تستخدم هذة الدالة فى
.الداخلة اليها آما فى المثال السابق
. على سرعة المعالجLoop ز وذلك حتى ال تستحوLoopsتستخدم الدالتين السابقتين بكثرة فى
مع Front Panelى مثل تفاعل عناصر رخفتقوم هذة الدوال بعمل التاخير الالزم لعمل المهام اال
.المستخدم
:Tick Count (ms)دالة .3 .اخلى لنظام التشغيل وذلك بالمللى ثانيةالمؤقت الد) الساعة(تستخدم هذة الدالة للحصول على
. من البرنامجتستخدم هذة الدالة فى حساب الوقت المنقضى فى تنفيذ جزء معين
57
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
هلى انقضى الوقت ام الTime Has Elapsedة وتحدد القيم
فإن الوقت المحدد قد انقضىTrueفاذا آانت
. فإن الوقت لم ينقضى بعدFalseاما اذا اآانت
59
Formula Node
. لكتابة المعادالت الرياضية Formula Nodeتستخدم فسوف LabVIEWية فى س بواسطة الدوال االساY=X2+X+1مثال لتطبيق هذة المعادلة
تكون بهذا الشكل
ستكون بهذا الشكلFormula Nodeولكن باستخدام
:Formula Nodeآيفية ادراج منFormula Nodeيتم ادرج
Factions Palette >>Programming >>Structures
60
:تغيرات خارجةماضافة متغيرات داخلة ويمن للماوس وذلك بالضغط بالزر االيمكن اضافة اى عدد من المتغيرات الداخلة اوالخارجة
واختيارAdd Inputالضافة متغير داخل
Add Outputالضافة متغير خارج
ملحوظات
. متغيرين داخلين او خارجين بنفس االسم هناكال يمكن ان يكون • .يمكن ان يكون متغير خارج واخر داخل بنفس االسم • . من المتغيرات الداخلةالمتغيرات الخارجة يكون اطارها اآثر سمكا •
يمكن تغير المتغير من داخل الى خارج او العكس •
61
:Forumla Nodeآتابة المعادالت داخل .C بطريقة مشابهة لكتابة الجمل فى لغة Fromula Nodeكتب المعادالت فى داخل ت
.تكتب المعادلة باستخدام الدوال و اسماء المتغيرات ;اصلة المنقوطة يوضع بعد آل معادلة الف
.Formula Nodeيمكن ان توجد اآثر من من معادلة فى ف آمتغير خارج او داخل على اطرا يوضع اى متغير يستخدم فى المعادالت يجب ان
:ملحوظة .Formula Nodeليس هنا عدد محدد لعدد المتغيرات او عدد المعادالت المستخدمة فى
Positioning لتسع اى عدد من المعادالت وذلك باستخدام Fromula Nodeيمكن تكبير Tool
. ممكن من المعادالت عدد لكتابة اآبرNodeآما يمكن اظهار شريط انزالق راسى داخل
Formula Node داخل if … then…elseيمكن تطبيق الجملة الشرطية فمثال اذا اردنا تطبيق هذة الجملة
If (x>=0) then y=sqrt(x) else y=-99 endif
63
تساوى 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
Expression Node واحدة ومدخل عبارة رياضيةفهى تحتوى على .Formula Nodeهى صورة مبسطة من
.واحد ومخرج واحد
.فليس لهما اسماءمخرج وحيد الوحيث ان المدخل وان
;وتكتب العبارة الرياضية بدون العالمة
.ر وحيد فى هذة العبارة الرياضية ويمكن ان نسمى هذة المتغير باى اسم ويستخدم متغي
Graphs..........................................................142 او Chartsالحصول على صورة من
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التعرف على آيفية الحصول على صورة من •
1
مقدمة .للرسومات اهمية آبيرة فى تمثيل البيانات والحصول منها على العديد من المعلومات
غنى بكثير من االدوات التى تتيح رسم و تمثيل االنواع المختلفه من البيانات LabVIEWو
وسنستعرض فى هذا الدرس بالتفصيل هذة االدوات و آيفية التعامل معها . فى افضل صورة
. وتهيئتها الفضل شكل
2
Waveform Charts Charts هى نوع خاص من Numeric Indicator اشارة او اآثر الظهار رسم بيانى او .
هو Yوعادة ما يكون . X و Yلعالقة بين متغيرين وآما نعلم ان الرسم البيانى هو عبارة عن تمثيل بالرسم
.Xت التى نريد تمثيلها مع الزمن االبيان
منChartويتم ادراج
Controls Palette>>Modern>>Graph
3
انها تظهر البيانات الجديدة Chartsمن خصائص و. آما سنرى Loops داخل Chartsوعادة ما تستخدم
.الرسم عند وصول بيانات جديدة بتحديث باستمرار تقومها الى جانب البيانات التى سبق اظهارها آما ان
. عدة انماط لتحديث البيانات عليه Chartويوجد للـ
:Chartانماط تحديث البيانات على .Sweep Mode و Scope Mode و Strip mode هى Chartلى يوجد ثالث انماط لتحديث البيانات ع
ثمChartويتم تحديد نمط تحديث البيانات بالضغط بالزر االيمن للماوس على
Advanced>>Update Mode
ثم نختار النمط الذى نريده
آما يمكن تغيير نمط التحديث اثناء تنفيذ البرنامج
4
Strip Mode:
اقصى يسار التى تقعيتم اخفاء اقدم نقطة و Chart ة تظهر فى اقصى يميندديفة نقطة جند اضافى هذا النمط ع
Chart يحدث ازاحة لجميع النقط جهة اليسار اى.
5
Scope Node:
عندئذ يتم حذف جميع النقط ليتم عرض النقط الجديدة من يتم عرض النقط حتى تصل النقط الى الحافة اليمنى
.وهكذا يتم تكرار هذة العملية ) اليسرىالحافة(البداية
6
Sweep Mode:
ولكن ال يتم حذف يتم عرض النقط حتى تصل النقط الى الحافة اليمنى ففيه Scope Modeهذة النمط يشبة
ويظهر خط ثةيحدوتستبدل آل نقطة قديمة بنقطة ) الحافة اليسرى( من البداية حديثةالنقط وانما يتم عرض النقط ال
وهكذا )النقط القديمة على يمين الخط والنقط الحديثة على يسار الخط ( والحديثةةى يبين الفرق بين النقط القديمرأس
.يتم تكرار هذة العملية
7
اي االنماط اسرع فى العرض ؟ط النمطين االخرين فان هذا النمفى يتم ازاحة النقط باعادة رسمها وهذا اليحدث Stripفى النمط النه نظرا
.ت عن النمطين االخريناابطىء فى عرض البيان
:ملحوظة
عتبر عداد لهذة القيم فعند اضافة قيمة جديدة ي فX اما المحور Y هى قيم المحور Chart على القيم التى تعرض
. بواحد X بزيادة قيمة LabVIEW يقوم Chartفى
. Chartبدال من Graph قيم معينة نستخدم Xوالعطاء محور
8
:Waveform Chartفية الرسم على آي )Multiple-Plot( ويمكن عرض اآثر من رسم )Chart) Single Plotيمكن عرض رسم واحد على
Chart يحتوى على رسم واحد )Single-Plot( : :Chart رسم وحيد على طريقيتن لعملتوجد
وتضاف هذة القيمة له )Scalar Value( هى توصيل قيمة وحيدة Chartابسط الطرق لعرض بيانات على -1
.Chartآنقطة فى الرسم الموجود على
. لحصول على عدة نقط فى الرسمLoopsويمكن استخدام
مثال
بـ Chart مرة واحدة بدال من نقطة نقطة وذلك بتوصيل Chartيمكن ان تعرض مجموعة من القيم على -2
. عرضهابها القيم التى نريد ) Array(مصفوفة
9
Loopsكن تكوين المصفوفة باستخدام ويم
:مثال
Chart يحتوى على اآثر من رسم )Multiple-Plot(: : Chartيوجد عدة طرق لعمل اآثر من رسم على
10
بواسطة دالة(Scalar Values)قيم وحيدة وذلك بتجميع Chartيمكن عرض اآثر من رسم على -1
Bundle الموجودة فى
Function Palette>>Programming>> Cluster & Variant
.مستقل فى رسم Chartوآل قيمة ستضاف آنقطة على
Loop باستخدام Chart رسم اآثر من رسم على :مثال
11
وآل Clusters يمكن ان نقوم بعمل مصفوفة من مرة واحدةولكى نضيف مجموعة من النقط فى آل رسم
Cluster نقطة فى آل رسملقيمة يحتوى.
فى مصفوفة باستخدام Clusters وايضا يمكن تجميع هذة Bundle باستخدام الدالة Cluster عمل ويمكن
Loops.
:مثال
12
آل قيم وذلك بوضع مجموعة Chartهار اآثر من رسم على الظ ذات البعدينيمكن استخدام المصفوفات--2
.Chartرسم فى عمود فى المصفوفة وسوف تظهر هذة النقط مرة واحدة على
13
: مثال
آل صف فى رسم بحيث يكون ان ترسم الصفوف Chartاذا اردنا عند توصيل مصفوفة ذات بعدين بـ :ملحوظة
.Chart الخاصة بـ Transpose Arrayنلغى اختيار خاصية بدال من االعمدةمستقل
هم الموجود السزالة الTranspose Array ونضغط على Chartوذلك بالضغط بالزر االيمن للماوس على
.على الخاصية ونعطل الخاصية
14
Transpose 2Dولذلك سنزيل دالة Chart لـ Transpose Arrayففى المثال السابق سنلغى خاصية
Arrayالتى تحول الصفوف الى اعمدة .
فانها ال تلغى النقط الموجودة اصال على Chart عند تنفيذ البرنامج وعرض مجموعة نقط على :ملحوظة
Chartوسنرى بعد قليل آيفية حذف هذة النقط...ا وانما تضاف اليها وهكذ .
ط وعند هر ثالث رسومات فى آل رسم خمس نقوللتوضيح ففى المثال السابق عند تنفيذ البرنامج الول مرة تظ
.تنفيذ البرنامج مرة اخرى تضاف خمس نقط اخرى الى آل رسم وهكذا
15
:Chartخصائص . سنستعرض بعضها وصائص عدة خChartيوجد لـ
Digital Display: . Chart يعرض اخر قيمة ظهرت على Chart - Digital Display رقمى يوجد لـIndicatorآأى
الضغط على وChart بالضغط بالزر االيمن للماوس على Digital Displayويمكن اظهار او اخفاء
Visible Items>>Digital Display
16
:)X) The X Scrollbarمحور شريط انزالق Chart على تستطيع به استعراض النقط القديمة التى عرضن X على شريط انزالق على محور Chartيحتوى
.وليست ظاهرة
واختيار او Chartويمكن اظهار او اخفاء شريط االنزالق وذلك من خالل الضغط بالزر االيمن للماوس على
الغاء اختيار
Visible Items>>X Scrollbar
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
18
Edit Modeاذا آنا فى حالة
او
Operate>> Change to Edit Mode
Run Modeاذا آنا فى حالة
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ولجعل
.مصفوفة فارغة اليها
20
ولعمل ذلك نتبع الخطوات االتية
Terminal وذلك بالضغط بالزر االيمن على Chart للـ History Property Nodeنقوم بادراج -1
واختيارBlock Diagram فى Chart الخاص بالـ
Crate>>Property Node>>History Data
21
للكتابة بدال من القراءة وذلك بالضغط بالزر االيمن للماوس واختيارProperty Node نجعل -2
Change to Write
History Data Property ننشأ مصفوفة فارغة وذلك من خالل الضغط بالزر االيمن للماوس على -3
Node واختيار
Create>>Constant
22
فى بداية تنفيذهChart يقوم هذا البرنامج بحذف جميع النقط التى على :مثال
Stack and Overly Plots:
وتسمى هذة الحالةY يمكن ان نجعل الرسومات مشترآة فى محور Chartعند عرض اآثر رسم على
Overly Plots. محور او ان نجعل لكل رسمY خاص به ومختلف عن االخرين وتسمى فى هذة الحالة
Stack Plots.
.)Y) Overlay Plotsوالوضع الطبيعى او االولى للرسومات انهم مشترآين فى محور
ل من ي للتحوStack plotsاختيار وChartويمكن التبديل بينهم بالضغط بالزر االيمن للماوس على
Overlay Plots الى Stack Plots .
23
.Overlay Plots الى Stack Plots للتحويل من Overlay Plotsاو اختيار
24
:Yلمحور ) Scale ( تدريجاضافة اآثر من تكون هذة الرسومات تختلف فى مدى االرقام مما Chartفى آثير من االحيان عند عرض اآثر من رسم على
.Yيستدعى وضع اآثر من تدريج لـ
ونختار Yمحور التدريج الموجود ل نضغط بالزر االيمن للماوس علىChart فى Yمحور ل تدريج والضافة
Duplicate Scale.
25
وذلك بالضغط بالزر االيمن للماوس على التدريج Chart الى يمين Chartيمكن تغيير مكان التدريج من يسار
.Swap Scaleواختيار
26
واختيار Chartبه وذلك من خالل الضغط بالزر االيمن للماوس على ويمكن تحديد لكل رسم التدريج الخاص
Properties) لفتح صفحة خصائصChart ( صفحة الرسومات واختيارPlots.
27
:ملحوظات
اآثر من تدريج فيمكن حذف اى تدريج وذلك بالضغط بالزر االيمن للماوس على Yاذا آان لمحور •
.Deleteالتدريج واختيار
واختيار Chart وذلك بالضغط بالزر االيمن للـ Chartاع آل التدريجات الى يسار يمكن ارج •
Advanced>>Reset Scale Layout
28
.X فهو تدريج وحيد لمحور X الى محور اضافيةال يمكن اضافة اى تدريجات •
:Chart Historyسعة مكن ان يحتفظ بقيمها ويمكن ان عدد النقط التى يان نقطة اى 1024 فان سعته هى Chartعند ادراج
ملحوظة ليس معنى ذلك انك لن تستطيع ان تضيف نقط جديدة ولكن عند اضافة نقط .(Chartتستعرضها على
.) جديدة ستحذف اقدم النقط
واختيار Chart وذلك بالضغط على 2,147,483,647 الى 10من بقيمة اخرى Chartويمكن تحديد سعة
Chart History Length لتظهر لنا نافذة نحدد فيها سعةChart.
29
آلما آبر Chart وانما آلما آبرت سعة Chart عدد النقط التى تظهر على شاشة Chart ال تحدد سعة :ملحوظة
. والتى يمكن استعراضها بواسطة شريط االنزالقChartلقديمة التى يحتفظ بها اعدد النقط
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 فى هذا الدرس.
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
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اى ان
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
34
Arrays and عليك باالطالع على الدرس السابق Bundle لمعلومات اآثر عن دالة :ملحوظة
Clusters
.Bundleوهذا هو المثال السابق ولكن باستخدام الدالة
35
dXو X0ويمكننا تغيير قيمة
dX=5و X0=100 :مثال
خمس ثوانى فانك بعد انتهاء القياس والحصول على لو انك تقيس درجات الحرارة آل:وآمثال عملى
اى بين آل dX= 5تجعل ف Waveform Graphمصفوفة بها قيم درجات الحرارة وترسمها على
. ثوانى5قراءة واخرى
Waveform Graph حتوى على اآثر من رسمي: آل صف فى نقوم بتكوين مصفوفة ذات بعدين وWaveform Graphلرسم اآثرمن رسم مستقل على
.dX=1 و X0=0وفى هذة الحالة تكون . رسم مستقل م رسمه فىتيهذة المصفوفة
36
على هيئة صفوف فى مصفوفة ذات بعدين باستخدام دالة واحد ويمكن تجميع اآثر من مصفوفة ذات بعد
Build Array.
.كل رسمل) Xقيمة الزيادة فى قيم (dXو ) Xلقيمة التى تبدأ بها قيم ( X0لتغيير قيمة
.Build Array مع آل مصفوفة ذات بعد واحد ثم نقوم بتجميعم بدالة Bundleنستخدم دالة
37
XY Graphs .Y و Xفلرسم اى نقطة يجب تحديد لها قيمة .Y وX برسم عالقة بين قيم XY Graphsتقوم
.ط اال باعادة الرسم فى انه يتم الرسم مرة واحدة وال يتم اضافة اى نقWaveform Graph مثل XY Graphو
من XY Graphويتم ادراج
Controls Palette>>Modern>>Graphs
38
على رسم واحد او اآثر من XY Graph يمكن ان يحتوى Waveform Graphs وChartsومثل
.رسم
:XY Graphآيفية الرسم على 1- XY Graphيحتوى على رسم واحد :
a( بجمع مصفوفة قيمX ومصفوفة قيم Y بواسطة الدالة Bundle .
فى هذة الحالة ذات بعد واحدY او Xومصفوفة
من Bundle يتم ادراج دالة :ملحوظة
Function Palette>Programming>>Cluster & Variant
:مثال
39
b( تجميع آل قيمة من قيم X مع القيمة المقابلة لها من Y فى Cluster بواسطة الدالة Bundle
.Clustersصفوفة من هذة ثم عمل م
:مثال
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 و
.ت و القياسات التى تعتمد على التردد وليس الزمنو الصوتيا
41
ثم نختار Option Planes بالزر االيمن واختيار XY Graph بالضغط على Planesويتم تحديد هذة
. الذى نريده اظهاره او اخفاءهPlaneاو نلغى اختيار
42
43
Graphs وChartsمكونات وبوسطة هذة المكونات نستطيع تهيئة . يرة صائص آث وخ على مكوناتGraphs وChartsتحتوى
Chartsو Graphs بالشكل الذى نريده .
.خصائص والمكوناتوسوف نتعرف على اهم هذة ال
:) Scales(خصائص التدريج .Y او محور Xتوجد عدة خصائص لتدريج محور
ونختار Graph او Chartويمكن الوصول لتلك الخصائص بالضغط بالزر االيمن للماوس على
X Scale او Y Scaleيج محور در لتظهر لنا قائمة خصائص تX او محور Y.
44
.وبالضغط بالزر االيمن للماوس على التدريج مباشرة تظهر لنا هذة القائمة مباشرة
45
:AutoScaleخاصية
كون مدى التدريج يتفعيل هذة الخاصية تجعل القيمة الصغرى والقيمة الكبرى للتدريج تتغيرتلقائيا بحيث
.بافضل دقةآلها بحيث يتم اظهار النقط Graph او Chartهو مدى قيم النقط الموجودة فى
فى 1 الى0 ياخذ القيم من Y فان تدريج محور 1 الى 0 لجميع النقط من Yان مدى قيم وآمثال لو
.Y لمحور AutoScaleحالة تفعيل
46
.Chart وغير مفعلة تلقائيا فى Graphs مفعلة تلقائيا فى AutoScaleوخاصية
وذلك Graph او Chart الى بطىء فى تحديث النقط على AutoScaleويمكن ان تؤدى خاصية
.النها تحتاج الى اعادة حساب التدريج وتعديله بحيث يناسب التحديث
ك وذلY او محور X يمكن تغيير التدريج لمحور AutoScaleوعند عدم تفعيل او تعطيل خاصية
وعادة يتم ذلك بكتابة القيمة . لكتابة القيم الجديدة Labeling او االداة Operatingباستخدام االداة
.الصغرى للتدريج او القيمة الكبرى للتدريج
:Loose Fitخاصية
47
.تؤدى هذة الخاصية الى ان القيم الصغرى والكبرى للتدريج تأخذ مضاعافات الزيادة فى التدريج
فان القيمة الصغرى و القيمة )10اى ان التدريج آل (10 ان الزيادة فى التدريج تساوى فمثال لو
.10الكبرى للتدريج تساوى مضاعفات
:Formattingاالختيار
48
على صفحة Chart او Graph تظهر لنا نافذة خصائص Formattingعند اختيار االختيار
Format and Precisionحة نستطيع ضبط االرقام المستخدمة فى التدريج ومن خالل هذة الصف
.من حيث النوع و عدد االرقام العشرية
.Scalesوتوجد صفحة اخرى بتفس النافذة وهى صفحة
49
:وهذة الصفحة بها عدة خصائص للتدريج يمكن تعديلها وهذة الخصائص هى
Name: االسم الذى يظهر على التدريج )Scale Label.(
Show Scale Label : الظهار او اخفاء االسم الذى يظهر على التدريجScale Label.
50
Show Scale: الظهار او اخفاء التدريج.
Log: لجعل التدريج لوغاريتمى )Logarithmic( .
51
Inverted: والقيمة الصغرى على اليمين يسارلعكس التدريج بحيث تكون القيمة العظمى على ال
.Y او ان تكون القيمة العظمى السفل والقيمة الصغرى العلى بالنسبة لمحور Xحور نسبة لمبال
AutoScale: لتفعيل او تعطيل خاصية AutoScaleللتدريج .
The Scale Style and Colors: Minor وMajor Ticks و ايضا الوان آل من Minor Ticks و Major Ticks يتم تحدد شكل
Ticks و Marker text.
52
53
The Grid Style and Colors: هى الخطوط الطولية والعرضية التى تظهر فى Gird Linesو . Grid Linesوان اللتحديد شكل و
Chartخطوط وهى مثل خطوط الرسم البيانى و Grid Lines تظهر عند التىMajor Ticks
ويمكن . Minor Gridى تسم Minor Ticksتظهر عند التى Grid Linesو Major Gridتسمى
.وايضا يمكن اختيار لون هذة الخطوط. ها جميعاؤمن هذة الخطوط التى تظهر او اخفااختيار اى
54
Scaling Factors: .Offsetوذلك بتحديد قيمة ) X) X0يمكن تحديد القيمة التى يبدأ عندها تدريج محور
.Multiplierوذلك بتحديد قيمة ) X) dXوايضا يمكن تحديد قيمة الزيادة فى تدريج محور
The Scale Legend:
. التى عرضناها Scaleالى خصائص بسرعة ويتيح الوصول Graph او Chartهو احد مكونات
. ويمكن تغيير هذا االسم من خالله Graph او Chartويظهر به اسماء التدريجات الموجودة بـ
55
Positioning بواسطة االداة Scale Legend يمكن مد ني اذا آان هناك اآثر من تدريج:ملحوظة
. الظهار التدريجات االخرى
للوصول الى خصائص تدريج محور على الزرار وللوصول الى قائمة خصائصة التدريج نضغط
X للوصول الى خصائص تدريج محور او Y.
.عة الوصول اليهاوهذة الخصائص هى الخصائص التى عرضناها من قبل ولكن وضعت هنا لسر
. لكل تدريج وذلك بالضغط على الزرار AutoScaleويمكن تفعيل خاصية
مفعلة ويكون الزرار تكونAutoScale فان خاصية وعندما يكون هذا الرزار بهذا الشكل
. المجاور بهذا الشكل
علة ويكون الزرار مف تكون غيرAutoScale فان خاصية وعندما يكون هذا الرزار بهذا الشكل
. المجاور بهذا الشكل
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.
57
Plot ولكن يمكن اختيار Plot Legendها يتحرك معGraph او Chart عند تحريك :ملحوظة
Legendوتحريكها منفردا فى المكان الذى تريده .
Operating بواسطة االداةPlot Legendوللوصول الى خصائص الرسم او تعديلها نضغط على
. عليهلتظهر لنا قائمة بالخصائص ويمكن ايضا اظهار القائمة بالضغط بالزر االيمن للماوس
قائمة خاصة به Plot Legendلكل رسم فى وتوجد
58
.وسنتعرف على هذة الخصائص بالتفصيل
:Common Plotاالختيار
النقط و الخط ويتميز هذة االختيار بتحديد شكل اشكال 6ويتيتح هذا االختيار تحديد شكل الرسم من بين
.و آيفية ربط النقط ببعض مرة واحد من خالل اختيار الشكل
59
:Colorختيار اال
:Line Styleاالختيار .لتحديد شكل الخط المستخدم فى الرسم
60
:Line Widthاالختيار
.لتحديد سمك الخط فى الرسم
:Anti-Aliasedاالختيار
ويحتاج هذا االختيار بعض الحسابات االضافية لجعل الرسم . يجعل هذا االختيار الرسم اآثر انسيابية
.ر انسيابية مما قد يؤدى الى بعض البطىء وتقليل الكفاءةاآث
61
:Bar Plotsاالختيار القيم الموجودة فى الرسم هذة االعمدة يمكن ان تكون افقية او رأسية دينشىء هذا االختيار اعمدة عن
.مظللة وهذة االعمدة يمكن ان تكون فارغة او %1او % 75 او %100ويمكن ان يكون عرضها
:Fill Base Lineالختيار ا
لعمل تظليل وهذا التظليل يكون ما بين الرسم و صفر او سالب ما نهاية او النهاية او اى رسم اخر
.Graphاو Chartموجود اذا آان هناك اآثر من رسم على
62
63
:Interpolationاالختيار
ون توصيل او يتم التوصيل بينها دط ب فيمكن ان تكون النقيحدد هذا االختيار آيفية التوصيل بين النقط
.Histogramبخط مستقيم او التوصيل بينها بزاوية قائمة بطرق مختلفة مما يفيد فى عمل ما يسمى
:Point Styleاالختيار .ختيار شكل النقط الموجودة بالرسم يحدد هذا اال
64
:Y Scale و X Scaleاالختيارين
.ن االختيارين التدريج الخاص بالرسميفيتم تحديد بهذ. حور اذا آان هناك اآثر من تدريج للم
65
The Graph Palette:
او عمل Graphs او Charts لتحريك الجزء المخصص للرسم فى Graph Paletteتستخدم
.تكبير لجزء معين من الرسم
زء آل واحد منهم خاص بنمط معين للتعامل مع الجGraph Paletteويوجد ثالث زراير فى
.المخصص للرسم
:Standard Modeزرار سيأتى شرحها (Cursors على النمط العادى وفيه تستطيع الضغط على Graph وهذا يجعل
.لتحريكها على الرسم )بالتفصيل
:Pan زرار
وذلك . فى هذا النمط يمكن تحريك الجزء الخاص بالرسم الظهار اى جزء من الرسم غير ظاهر
. هذا النمط استخدام شريط االنزالقهاهر من الرسم ثم السحب ويشبجزء الظبالضغط على ال
66
:)Zooming(زرار التكبيراو التصغير
.بالضغط على هذا الزرار تظهر لنا قائمة بها خيارات لطرق عمل تكبير جزء من الرسم
:التكبير بواسطة مستطيل
Y وXيتم رسم مستطيل حول جزء من الرسم بالضغط ثم السحب وعند الرفع من الضغط يتغير تدريج
. بحيث يظهر الجزء الذى تم اختياره بواسطة الرسم
:Xكبير بواسطة مستطيل عل محور تال
. لن يتغيرY فقط فتدريج محور Xبرسم مستطيل حول محور للتكبير يتم اختيار جزء من الرسم
67
:Yطة مستطيل على محور التكبير بواس . لن يتغيرX فقط فتدريج محور Yيتم اختيار جزء من الرسم للتكبير برسم مستطيل حول محور
:آل الرسم الظهار التكبير
. بحيث يتم اظهار آل الرسم Y و Xيتغير تدريج محور
68
:كبير حول نقطة تال
ية التكبير فلو تم الضغط على اى نقطة سيحدث حولها تكبير وستستمر عمليتم التكبير حول نقطة معينة
.حتى يتم اذالة الضغط
:ير حول نقطةالتصغ
ستمر عملية تة سيحدث حولها تصغير وسيتم التصغير حول نقطة معينة فلو تم الضغط على اى نقط
.التصغير حتى يتم اذالة الضغط
69
Graph Cursors: ويتكون . بطريقة تفاعلية Graph لتحديد بيانات النقط على Cursorsعلى Graphsحتوى ت
Cursor من تقاطع خط رأسى له قيمة على محور X له قيمة على محور افقى وخط Y.
The Cursor Legend: .Graph الموجودة على Cursorsبيانات وخصائص على Cursor Legendيحتوى
.Cursor من على اآثر Graphويمكن ان يحتوى
70
:Cursor Legend او Graph الى Cursorآيفية اضافة
نضغط بالزر االيمن Cursorوالضافة . الول مرة فانه يكون فارغا Cursor Legendعند اظهار
.Cursor ثم نختار نوع Create Cursor ونختار Cursor Legendللماوس على
71
: هى Cursorsوهناك ثالث انواع من
Free : وهى انCursor يمكن تحريكه الى اى مكان على Graph نقط بدون االرتباط باى.
Single Plot : وهى انCursor الى اال يكون مرتبط بنقط رسم واحد وال يمكن تحريكه
.الرسمنقط هذا امكان
Multi-Plot : لـهذا النوع غير متاح اال Mixed Signal Graphs وسيأتى شرحها فى
.نهاية الدرس
. بعد اضافته ولعمل ذلك يجب اوال حذفه ثم اضافته من جديد بالنوع المرادCursorال يمكن تغيير نوع
:Cursorتسمية اعادة
.LabVIEW فى Label مثل تعديل اى Labeling باستخدام االداة Cursorيمكن تعديل اسم
:Cursorتحريك
باستخدام اداة التحريك Cursorتحريك -1
72
على الشكل المعين الذى Operating الذى نريد تحريكه نشطا بان نضغط باالداة Cursor اوالنجعل
.بجوار االسم حتى يكون مظلال
. نشطاCursorيمكن جعل اآثر من
العلى او السفل او لليمين او ه النشطة فى اى اتجاCursorsثم نستخدم اداة التحريك فى تحريك
.ة زرارير آل زرار يتم الضغط عليه للتحريك فى اتجاه معينالشمال فهى مقسمة الى اربع
73
الى Cursor ثم الضغط وتحريك Cursorباستخدام مؤشر الماوس وذلك بوضع المؤشر على -2
Cursorاو بوضع مؤشر الماوس على الخط االفقى او الرأسى ثم الضغط وتحريك المكان الذى تريده
.حالة ليس ضروريا ان يكون نشطافى هذة ال واما افقيا او رأسيا
او احد الخطوط مما يدل على امكانية Cursor يتغير شكل مؤشر الماوس عند وضعها على :ملحوظة
. التحريك
. المرتبط بنقط رسم اال الى امكان نقط هذا الرسمCursorال يمكن تحريك
وذلك Cursor Legendفى له Y و X فى المكان الذى نريده بتغيير قيمة Cursor يمكن وضع -3
.Labelingبواسطة االداة
:Cursorخصائص
.شكله وسمك الخط و Cursorوشكل عدة خصائص آاللون Cursorتوجد لـ
74
.Attributes ثم Cursorوللوصول الى هذة الخصائص نضغط بالزر االيمن للماوس على اسم
75
76
Graph على Cursorآما يمكن اظهار اسم
تبط برسم معين يمكن ان نجعل الرسم ر مCursor وهناك Graphا آان هناك اآثر من رسم على اذ
.يرتبط برسم اخر
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 : اى مرتبط برسم معين وال يمكن ان يوجد اال على نقط هذا الرسم.
78
: Graph الى Annotation اضافة ثم Data Operationsبالزر االيمن للماوس ونختار Graph نضغط على Edit Modeاذا آنا
Create Annotation لتظهر لنا نافذة صغيرة بها خصائص Annotationالذى نريده .
Create Annotation ونختار Graph نضغط بالزر االيمن للماوس على Run Modeواذا آنا فى
. الذى نريدهAnnotationفذة صغيرة بها خصائص لتظهر لنا نا
79
. Ctrl + M و العكس نضغط Run Mode الى Edit Mode للتحويل من :ملحوظة
Free بواسطة المؤشر وذلك حسب نوعه فاذا آان Annotation الخاص بـ Cursorيمكن تحريك
فيمكن تحريكه على النقط فقط آثر واذا آان متربط برسم او اGraphفيمكن تحريك الى اى مكان على
. يتحرك معه السهم واالسم معاCursorوعند تحريك
.Cursorويمكن تحريك االسم فقط بواسطة مؤشر الماوس وسيظل السهم يربط بين االسم و
80
: Annotationحذف واختيارGraph بالضغط بالزر االيمن للماوس على Annotationيمكن حذف جميع
Data Operations >> Delete All Annotations
Edit Modeوذلك فى حالة
او نختار مباشرة
Delete All Annotations
Run Modeفى حالة
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فـ
. وعند الرسم عليها يتم ازالة اى رسومات قديمة عليها
82
:Intensity Graph and Chartsآيفية ادراج من Intensity Graph and Chartsيتم ادراج
Controls Palette>>Modern>>Graphs
:Intensity Graph و Intensity Chartآيفية الرسم على البيانات على هيئة مصفوفة ذات بعدين آل قيمة فى Intensity Graph و Intensity Chartتأخذ
.Y ورقم العمود هو قيمة X ورقم الصف هو قيمة )Zقيمة (المصفوفة تمثل قيمة اللون
83
84
Color Scale: .Scale Color هى القيم الموجودة على Markers وهذة Scale Colorsعلى Markersتوجد
.Labelingمكن تعديل هذة القيم بواسطة االداة وي
واختيار Color Scale وذلك بالضغط بالزر االيمن للماوس علىMarkerويمكن اضافة
Add Marker
:تخصيص لون للقيم
يمن للماوس او بالزر اال Operation وذلك بالضغط علية باالداة Markerيمكن ان نخصص لون ألى
. لتظهر لنا لوحة االلوان ونخصص اللون الذى نريدهMarker Colorونختار
85
ىجودة اآبر من القيمة الكبروآانت القيمة الم فماذا اذا. قيمة آبرى وقيمة صغرى Color Scaleيوجد فى
فما هو لون هذة القيمة؟صغرىاو اصغر من القيمة ال
86
Color واالخر اعلى Color Scale ل مستطيلين صغيرين احدهما اسف Color Scaleيوجد فى
Scale.المستطيلين يحددان لون القيم االآبر من القيمة الكبرى والقيمة االصغر من القيمة الصغرى نهذا .
.يمكن تغيير لونى هذين المربعين بالضغط عليهم واختيار اللون الذى تريده
زر االيمن للماوس و نلغى متدرجة يمكن الغاء هذا التدرج بالضغط بالColor Scaleتكون االلون فى
Interpolate Colorاختيار
87
فى معظم الخصائص Graphs وCharts مع Intensity Charts And Graphs يتفق :ملحوظة
. وتخصيص االلوانZباالضافة الى الخصائص الخاصة بالبعد
دة فى والموجوLabVIEWلمزيد من االمثلة يمكن االطالع على االمثلة الموجودة مع نسخة
Examples\general\graphs\intgraph.llb
الموجودين فى Heat Equation وSimulation of Tomographyوايضا المثاليين
Examples\analysis\mathxmpl.llb
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ولكل نوع من انواع
89
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
.اخرى
91
:3D Surface Graphآيفية الرسم على
واالآتفاء بتوصيل مصفوفة ذات بعدين Y Vector و X Vectorيمكن عدم التوصيل الى المدخلين -1
.Z Matrixالى المدخل
.Z Matrix للمصفوفة ذات البعدين عمود هى رقم الY و قيم صف هى رقم الXوفى هذة الحالة تكون قيم
:مثال
92
:مثال اخر
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سنحدد قيم : مثال
94
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
.اخرى
96
:مثال
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
.اخرى
98
.Z فى مصفوفة Z و احداثيY فى مصفوفة Y و احداثيX فى مصفوفة Xآل نقطة فى الرسم لها احداثي .Z(m) و Y(m) و X(m) احداثياتها mالنقطة رقم : فمثال
:مثال
99
3D Graphخصائص واختيار Graph وذلك بالضغط بالزر االيمن للماوس على 3D Graphيمكن اظهار خصائص
CWGraph3D>> Properties لتظهر لنا نافذة الخصائص
100
. مع آل تغيير فى الخصائصGraph نافذة تظهر شكل Graphآما تظهر مع نافذة خصائص
.محورة االسم الذى يظهر على آل ومن امثلة الخصائص خاصي
101
. تحريك الرسومات و دورانها فى ثالث ابعاد بطريقة تفاعلية مع المؤشرGraphsتتيح هذة .فالبضغط على الرسم وتحريك المؤشر فى اى اتجاه مع استمرار الضغط يدور الرسم مع حرآة المؤشر
.Graph لـ Track Mode تدوير الرسومات مرتبط بخاصية :ملحوظة
102
Time Stampsو Waveforms وDynamic Data
تبطة بالزمن مثل االشارات و تغير درجة الحرارة رتحليلها فى البرنامج م يتم غالبا ما تكون البيانات التى
) Data Type( واع من البيانات الخاصةن اLabVIEWويوجد فى .او اى قيمة فيزيائية اخرى مع الزمن
Time Stampsوهذة البيانات الخاصة مثل .ل مع البيانات المرتبطة بالزمن لتسهيل التعام
.وسوف نشرح هذة االنواع من البيانات.Dynamic Data وDigital Data وWaveformsو
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
104
Block Diagram فى Time Stamp Constant يتم ادراج اآم
من
Function Palette>>Programming>>Timing
اى يحتوى على (Time Stamp على نوع البيانات Numeric Control يمكن ان يحتوى :ملحوظة
. Date\Time وذلك بتحويل فورمات الرقم الى )الوقت والتاريخ
105
:Time Stampتغيير قيم
يكون غير محدد الوقت و ال Constant او Indicator او Time Stamp Controlعند ادراج
.التاريخ
106
:ويمكن تحديد الوقت والتاريخ او تغييرهم بعدة طرق
للماوس بالوقت والتاريخ الحاليين وذلك بالضغط بالزر االيمنTime Stampتحديد وقت وتاريخ -1
واختيار Controlعلى
Data Operations>>Set Time to Now
.Data/Time Browseاستخدام زرار -2
وبالضغط عليه تظهر لنا Data/Time Browse زرار Time Stamp Controlيوجد مع
.هما نريد خاللها نحدد الوقت والتاريخ الذين التى من وهى تشبه النتيجة ونافذة تحديد الوقت والتاريخ
107
واختيار Time Stamp تحديد الوقت والتاريخ بالضغط بالزر االيمن للماوس على يمكن اظهار نافذة
Data Operations>>Set Time and Date
Data and Time حيث ليس لديهم زرار Constant و Indicatorوذلك مهم بالنسبة للـ
Browse.
108
ثم نكتب القيمة الجديدة او Labeling بواسطة االداة Time Stampنظلل الجزء الذى نريد تغييره فى -3
تقليلها لزيادة القيمة التى ظللناها بواحد اوDown و Upنستخدم االسهم الموجودة فى لوحة المفاتيح
.Control مع نن الموجودياو نستخدم السهمي.بواحد
Time Stamp:العمليات على .ل على الوقت المستغرق فى حدث معين للحصوTime Stampيمكن القيام بعمل عملية الطرح بين اثنين
.والقيمة الناتجة من عملية الطرح هى قيمة رقمية تعبر عن الوقت بالتوانى
على هيئة وقت فيه قيم الثانية والدقائق والساعات بدال من الثوانى فقط Numeric يمكن جعل : ملحوظة
.Format and Precision وذلك من نافذة Relative Formatوذلك بان نجعل نوع الفورمات
109
:مثال
الموجودة فى Get Date/Time In Secondsسنستخدم دالة
Function Palette >>Programming >> Timing
110
للحصول على الوقت قبل وبعد تنفيذ جزء معين من البرنامج ثم نحسب الوقت المستغرق فى تنفيذ هذا
.Flat Sequence Structureايضا وسنستخدم .الجزء
.Add بواسطة الدالة Time Stampآما يمكن اضافة وقت بالثانية الى
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
112
او
Function Palette >> Programming >> Timing
113
Waveforms من اآثر البيانات اهمية ويكثر التعامل معها هى االشارات او البيانات التى تتغير مع الزمن مثل تغيير
التى تستخدم فى االتصاالت ) Digital(وايضا االشارات الرقمية .الصوت او الضغط او الحرارة مع الزمن
.وبواسطة الكمبيوتر
للتعامل ) Data Type( نوع خاص من البيانات LabVIEWلسهولة التعامل مع هذة البيانات يوجد فى
.Waveforms وهو او البيانات المرتبطة بالزمنمع االشارات
: علىWaveformويحتوى
Time Stampفى البياناتقيمة زمن بداية تسجيل البيانات او زمن اول على يحتوى ) t0(
Numericليها بين آل قيمة والتى تى الزمن الفرق يحتوى على قيمة)dt(.
.)Y(مصفوفة ذات بعد واحد تحتوى على قيم البيانات
من ليها يمكن حساب زمن اى قيمة تالحظ انه بمعرفة زمن اول قيمة فى البيانات والزمن بين آل قيمة والتى
. االشارة او المصفوفةقيم
العمليات على يمكن القيام بكثير من Clusters مثل المصفوفات و LabVIEW فى Data Typeوآأى
Waveformsمثل الجمع و الطرح .
: هماWaveformويوجد نوعان من
1- Analog Waveform وهو للتعامل مع االشارات التماثلية .
114
.Analog Waveformننا نقصد ا فقط فWaveformوعند ذآر آلمه
2- Digital Waveform للتعامل مع االشارات الرقمية .
.وان لونه برتقالى)Sinشكل مصغر لدالة ( هو Analog Waveformالحظ ان رمز
.وان لونه اخضر) Square Waveشكل مصغر لـ ( هو Digital Waveform رمزاما
.واللون والشكل مهمين فى التعرف على الدوال الخاصة بهما
منDigital Waveformو Waveform الخاصة بـ Indicators وControlsويتم ادراج
Controls Palette>>Modern>>I/O
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
116
المستخدمة كن تخزين فيه اى نوع من البيانات وهذا النوع من البيانات يمVariant من النوع Attributeو
او Channel مثل رقم Waveformلومات اضافية عن ع على مAttributeويحتوى .LabVIEWفى
. مكون اختيارى لتخزين اى معلومات اضافيةAttributeو .رقم جهاز
: والمصفوفاتWaveformمقارنة بين
: لها مميزات عن المصفوفات منهاWaveform مع المصفوفات اال ان Waveformتتشابة
117
1- Waveform بها معلومات عن زمن االشارة فـt0 لذلك .تسجل بداية قياس االشارة التاريخ و الوقت
.Data Acquisition آروتهى مناسبة للتعامل مع االشارات المكتسبة من
باشرة مع م Waveform حيث يتم توصيل Waveform باستخدام Graphsسهولة الرسم على -2
Graphs عكس المصفوفات التى تحتاج الى استخدام Bundle لتحديد x0 و dx راجع الجزء الخاص بـ
Graphs.
Graphsسهولة رسم اآثر من رسم على -3
:Waveformالدوال الخاصة بـ . وللتعامل معهاWaveformتوجد دوال آثيرة النشاء
ويتم ادراج هذة الدوال من
Functions Palette>> Programming>>Waveform
118
.Build Waveform ودالة Get Waveform Componentsومن اهم هذة الدوال
: Get Waveform Componentsدالة
.Y او dt او t0 من Waveformوتستخدم هذة الدالة فى الحصول على مكونات
.Clusterالتى تستخدم مع Unbundleوتشبه هذة الدالة دالة
. الذى نريد الحصول على احد مكوناته Waveform :هذة الدالةومدخل
.Waveformاى من مكونات :ومخارجها
.ويمكن زيادة عدد المداخل بمد ايقونة الدالة السفل
. ونختار نوع المخرج الذى نريدهOperatingوالختيار نوع المخرج نضغط على المخرج بواسطة االداة
119
اى يمكن استخدامها مع Polymorphism خاصية Get Waveform Componentsلدالة
Digital Waveform وستتغير المخارج الى مكونات Digital Waveform آما سيتغير رمز المدخل
. Digital Waveform الى رمز Analog Waveform من رمز
120
. على المخرج للماوسن يمكن اضافة مخرج او تحديد نوعه او حذفة وذلك بالضغط بالزر االيم :ملحوظة
:Build Waveformدالة
. موجودةWaveform او بتعديل مكونات جديدة Waveformنشاء إة الدالة بتقوم هذ
و مداخل هذة الدالة
. الذى نريد تعديل مكوناتهWaveformمدخل
.المداخل ويمكن زيادة عدد هذة ) Attribute اوdtاو to او Waveform) Yمداخل الى من مكونات
ومخرج هذة الدالة
الجديدة او المعدلة Waveformمخرج
121
تظهر لنا Operatingنة الدالة السفل لزيادة عدد المداخل وبالضغط على المدخل باالداة ويمكن مد ايق
قائمة نختار منها نوع المدخل
تى على المداخلجديدة بالمكونات ال Waveform يتم انشاء Waveformاذا لم يتم توصيل مدخل
122
.ودة على مداخل الدالةكونات الموج فى المدخل فانه يتم استبدال مكوناتها بالمWaveformاذا تم توصيل
Digital اى يمكن استخدامها مع Polymorphism ايضا خاصية Build Waveformلدالة
Waveform وستتغير المداخل الى مكونات Digital Waveformلمدخل والمخرج آما سيتغير رمز ا
. Digital Waveform الى رمز Analog Waveform من رمز
123
. يمكن اضافة مدخل او تحديد نوعه او حذفة وذلك بالضغط بالزر االيمن للماوس على المدخل :ملحوظة
.Waveformتوجد مجموعات اخرى من الدوال خاصة بـ
الموجودة فىAnalog Waveform دوالمثل مجموعة
Function Palette>>Programming>>Waveform>>Analog Waveform
من جمع وطرح وضرب والحصول على Analog Waveformsوتقوم هذة الدوال بالعمليات على
.اعلى واصغر نقطة
124
Waveforms يجب ان تكون Waveform على اآثر من ات الدوال التى تقوم بعملي:ملحوظة
.dt لها نفس اليهاالداخلة
الموجودة فى Waveform Generationمجموعة
Function Palette>>Programming>>Waveform>>Analog Waveform
>>Waveform Generation
Sine وNoise وSingle and Multitoneوتقوم هذة الدوال باخراج انواع مختلفة من االشارات مثل
ومن هذة الدوال التى سنتعرف عليها. وتتميز هذة الملفات بسرعة القراءة والكتابة
Open/Create/Replace File
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يحتوى الملف قد و
.هذة البيانات
52
• Measurement Data File من النوع Binary وهو يكون باالمتداد TDM ويمكن
وياخذ مساحة فى التعامل LVM وهو اسرع من النوع . تخزين فيه اى نوع من البيانات .LVM وع النن تخزينها فى ملف منعباآثر دقة فيه تخزينية اصغر ويمكن تخزين االرقام
.DAQ لتخزين االشارات التى يتم قياسها بواسطة آروت Express VIعادة ما تستخدم هذة
لتحديد خصائص الملف الذى Express VI اتدا تظهر لنا نافذة اعدExpress VI هذة عند ادراج
ر االيسر ويمكن فتح هذة النافذة فى اى وقت بالضغط مرتين متتاليتن بالز. تم تخزين البيانات فيهيس
.VIللماوس على ايقون
53
:نتعرف على االختيارات فى هذة النافذة
54
: هىExpress VI هذة اخلمد
55
Express VIج مخار
Dynamic Data بحيث تكون من النوع Express VIالى هذة تخزينها وتدخل البيانات المراد
Dynamic Dataمكن تحويل اى نوع من البيانات الى وي.الذى يمكن تجميع فيه اآثر من اشارة
التى يمكن ادراجها منConvert To Dynamic Dataبواسطة
Functions Palette>>Express>>Signal Manipulation
56
تخزين مصفوفة :مثال
Read from Measurement File Express VI
او Text Fileاو LVM ة فى ملفات من النوع باستدعاء البيانات المخزنExpress VIتقوم هذة
.TDMالنوع
57
لتحديد خصائص الملف و Express VI تظهر لنا نافذة اعدادات Express VIوعند ادراج هذة
.عهااجيتم استرالبيانات التى س
.VIويمكن فتح هذة النافذة فى اى وقت بالضغط مرتين متتاليتين بالزر االيسر للماوس على ايقونة
:و االختيارات الموجودة فى هذة النافذة هى
58
Header قد تكون البيانات فى الملف على هيئة مجموعات من البيانات آل مجموعة لها :ملحوظة
وفى آل مرة يتم القراءة من الملف يتم قراءة مجموعة من تلك البيانات حتى يتم االنتهاء من قراءة الملف
.لبيانات فى مجموعة واحدةوقد توجد ا. آله
59
يحتوى على بيانات بهذا الشكلTextملف :مثال
ات آما بالشكلنقوم بعمل االعداد
60
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وهذة
.اليهد ويتم اضافة البيانات ووهذا الملف يمكن ان يكون ملف جديدا او ان يكون ملف موج
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 ويمكن توصيل
).;(او الفاصلة المنقوطة ) ,(اى فاصل مثل الفاصلة العادية