آموزش کاربردی XPC Target

آموزش کاربردی XPC Target

امروزه با توجه به قابلیتهای بالای نرم افزار Matlab و Simulink، متخصصان حوزه های مختلف طراحی های خود را در محیط سیمیولینک انجام میدهند. در بسیاری از کاربردهای تحقیقاتی، علمی و صنعتی، نیاز به برقراری ارتباط سخت افزاری وجود دارد. در صورتی که این ارتباط بتواند مستقیما از محیط سیمولینک متلب با دستگاههای صنعتی انجام گیرد، قابلیت بزرگی در پیاده سازی ایده های علمی متخصصان ایجاد میشود.
در مورد رشته کنترل این قابلیت بیشتر نمود پیدا میکند. مثلا فرض کنید شما بتوانید مستقیما با استفاده از سیمولینک داده های لازم برای شناسایی یک Plant را در محیط سیمولینک جمع آوری کرده و عملیات شناسایی خود را انجام دهید. و یا کنترل کننده طراحی شده خود را مستقیما به پلنت خود متصل نمایید.
مثال جذاب دیگر برای کاربرد xPC target میتواند بحث (HIL (Hardware In the Loop (سخت افزار در حلقه) باشد. برای روشن شدن بحث فرض بفرمایید یک پلنتی را بتوانید مدل کنید، به خوبی میدانید که مدل سازی دقیق عملا امکان پذیر نیست. دینامیک های مدل نشده، مباحث فیزیکی حاکم در دینامیکهای کنترلی و … باعث میشود که مدل واقعی با مدل به دست آمده متفاوت باشد. در مورد سخت افزار در حلقه پلنت شما در حقیقت مستقیما در حلقه کنترلی طراحی شده توسط شما قرار میگیرد و شما میتوانید مستقیما فرمانهای خود را به عملگرهای سیستم اعمال کرده و از سنسورهای پلنت فیدبک بگیرید اما موضوع بسیار مهم این است که باید فرمان ها و تصمیمات کنترلی در پله های زمانی دقیق صادر شوند و به عبارت دیگر کنترل کننده شما باید Real time  (زمان واقعی) باشد.
XPC Target سیمولینگ در حقیقت پاسخ تمامی موارد ذکر شده فوق است و به بیانی دیگر ارتباط سخت افزاری سیمولینک متلب به صورت Real time با استفاده از تولباکس XPC تارگت به آسانی برقرار میشود و تا حدود بسیار زیادی متخصصان رشته کنترل و سایر رشته ها از جمله مکانیک، هوا فضا، شیمی و … را از مسائل و مشکلات طراحی های الکترونیکی بی نیاز مینماید.

در این سری از آموزش ها که به صورت کاملا کاربردی و عملی خدمت دوستان ارائه خواهد شد، متخصصان محترم را قدم به قدم با XPC Target آشنا خواهیم کرد.

به امید آنکه مطالب برای شما قابل استفاده بوده باشد..
بسیار خوشحال میشویم که با نظرات بسیار ارزشمند خود ما را در این راه یاری بفرمایید..

“فایل Image مربوط به DVD بوت XPC Target از پایین همین صفحه با حجم تقریبی [۲۱۲MB] قابل دانلود میباشد”


جلسه اول: 

معرفی XPC Target و سرفصل کامل مطالب


جلسه دوم:

مرحله اول(قسمت اول) – اتصال یک کامپیوتر به عنوان Target


جلسه سوم: 

مرحله اول(قسمت دوم) – اتصال یک کامپیوتر به عنوان Target


جلسه چهارم: 

مرحله دوم(قسمت اول) – اجرای فایل طراحی شده سیمولینک به صورت Real time بر روی Target


جلسه پنجم: 

مرحله دوم(قسمت دوم) – اجرای فایل طراحی شده سیمولینک به صورت Real time بر روی Target


جلسه ششم:

 مرحله دوم(قسمت سوم) – اجرای فایل طراحی شده سیمولینک به صورت Real time بر روی Target


جلسه هفتم: 

مرحله سوم(قسمت اول) – آشنایی با پورت سریال target و استفاده از آن برای ارسال و دریافت اطلاعات


جلسه هشتم: 

مرحله سوم(قسمت دوم) – آشنایی با پورت سریال target و استفاده از آن برای ارسال و دریافت اطلاعات


جلسه نهم: 

مرحله سوم(قسمت سوم) – آشنایی با پورت سریال target و استفاده از آن برای ارسال و دریافت اطلاعات


جلسه دهم:

 مرحله چهارم(قسمت اول) – آشنایی با پورت Parallel کامپیوتر target و استفاده از آن برای ارسال و دریافت اطلاعات

[/showhide]


جلسه یازدهم:

 مرحله چهارم(قسمت دوم) – آشنایی با پورت Parallel کامپیوتر target و استفاده از آن برای ارسال و دریافت اطلاعات

[/showhide]


جلسه دوازدهم:

 مرحله چهارم(قسمت سوم) – آشنایی با پورت Parallel کامپیوتر target و استفاده از آن برای ارسال و دریافت اطلاعات

[/showhide]


جلسه سیزدهم: 

مرحله پنجم(قسمت اول) – طراحی یک پلنت نمونه و load آن بر روی target اول و اجرای عملیات کنترلی توسط target دوم

[/showhide]


جلسه چهاردهم: 

مرحله پنجم(قسمت دوم) – طراحی یک پلنت نمونه و load آن بر روی target اول و اجرای عملیات کنترلی توسط target دوم

[/showhide]


جلسه پانزدهم:

 مرحله پنجم(قسمت سوم) – طراحی یک پلنت نمونه و load آن بر روی target اول و اجرای عملیات کنترلی توسط target دوم

[/showhide]


جلسه شانزدهم:

 مرحله پنجم(قسمت چهارم) – طراحی یک پلنت نمونه و load آن بر روی target اول و اجرای عملیات کنترلی توسط target دوم


جلسه هفدهم: 

مرحله پنجم(قسمت پنجم) – طراحی یک پلنت نمونه و load آن بر روی target اول و اجرای عملیات کنترلی توسط target دوم


جلسه هجدهم: 

مرحله پنجم(قسمت ششم) – طراحی یک پلنت نمونه و load آن بر روی target اول و اجرای عملیات کنترلی توسط target دوم


جلسه نوزدهم:

 مرحله پنجم(قسمت هفتم) – طراحی یک پلنت نمونه و load آن بر روی target اول و اجرای عملیات کنترلی توسط target دوم


جلسه بیستم:

 مرحله پنجم(قسمت هشتم) – طراحی یک پلنت نمونه و load آن بر روی target اول و اجرای عملیات کنترلی توسط target دوم


جلسه بیست و یکم: 

مرحله پنجم(قسمت نهم) – طراحی یک پلنت نمونه و load آن بر روی target اول و اجرای عملیات کنترلی توسط target دوم


جلسه بیست و دوم:

 مرحله پنجم(قسمت دهم) – طراحی یک پلنت نمونه و load آن بر روی target اول و اجرای عملیات کنترلی توسط target دوم


جلسه بیست و سوم:

 مرحله پنجم(قسمت یازدهم) – طراحی یک پلنت نمونه و load آن بر روی target اول و اجرای عملیات کنترلی توسط target دوم


جلسه بیست و چهارم: 

مرحله پنجم(قسمت دوازدهم) – طراحی یک پلنت نمونه و load آن بر روی target اول و اجرای عملیات کنترلی توسط target دوم


جلسه بیست و پنجم: 

مرحله پنجم(قسمت سیزدهم) – طراحی یک پلنت نمونه و load آن بر روی target اول و اجرای عملیات کنترلی توسط target دوم


جلسه بیست و ششم: 

مرحله پنجم(قسمت چهاردهم) – طراحی یک پلنت نمونه و load آن بر روی target اول و اجرای عملیات کنترلی توسط target دوم


جلسه بیست و هفتم: 

مرحله پنجم(قسمت پانزدهم) – طراحی یک پلنت نمونه و load آن بر روی target اول و اجرای عملیات کنترلی توسط target دوم


اضافه‌کردن به سبدخرید

۷۶ نظر

  1. با سلام
    بنده فایل کامل مرحله سوم را خریداری کرده و برای دیدن فایل آموزشی نیاز به نصب مدیاپلیر ZXP میباشد. برای نصب دو روش وجود دارد یکی به صورت انلاین و دیگری به صورت آفلاین. هنگامی که آنلاین نصب میکنم و کد فعال سازی را وارد میکنم میگوید کد Expire شده است. و زمانی که آفلاین نصب میکنم کد ثبت میخواهد البته راهی برای گرفتن کد ثبت گفته که انجام دادم اما جوابی نگرفتم. لطفاً راهنمایی کنید تا هرچه سریعتر بتوانم از این فایل های آموزشی شما استفاده کنم

      1. با سلام
        متاسفانه هرچه تلاش کردم نتوانستم با تلگرام با ایشان ارتباط برقرار کنم زیرا پیام برای ایشان ارسال نمی شود. لطفاً در صورت امکان فایل را دوباره ارسال کنند تا شاید بتوان با تلاش دوباره از فایل ها استفاده کرد

  2. سلام. وقت بخیر
    آموزش ها و مطالبتون رو روی نسخه های بالاتر matlab هم تست کردید؟ چون بزودی matlab 2013b اکسپایر میشه و فقط با تغییر تاریخ کامپیوتر میشه از این نسخه استفاده کرد که روش معقولی نیست. با سپاس

    1. با سلام و احترام
      با سپاس از تذکر و دقت خوب شما
      بله این مطالب در ورژن های بالاتر و نسخه های جدید هم مشکلی ندارند البته یک سری تغییرات بسیار جزئی لازم دارد.

  3. با سلام
    من میخواهم اطلاعات خروجی سیمولینک را به صورت زمان حقیقی در یک فایل اکسل ذخیره کنم به طوری که همزمان بتوانم آن اطلاغات را در اکسل ببینم. آیا این کار ممکن است؟ آیا دیدن ویدیو های شما کمکی به حل hین نوع مسئله میکند؟

    1. @elham,
      سلام و عرض ادب
      این کار را میتوانید به دو صورت انجام دهید.
      ۱ – اول اینکه میتوانید همزمان با اسکوپ تارگت از اسکوپ هاست استفاده کنید و داده های خود را در ضمن نمایش به Workspace متلب انتقال دهید. که در این مورد میتوانید مطالبی را فرابگیرید

      ۲ – برای ایجاد فایل اکسل یا MAT در خود کامپیوتر تارگت روشی وجود دارد که البته همزمان فایل اکسل قابل مشاهده نیست بلکه باید از اسلوپ استفاده کنید. که البته در آموزش به این مطلب با توجه به غیر الزامی بودن آن-برای ما- پرداخت نشده است.

      موفق باشید

  4. سلام مجدد
    مراحل بوت کردن رو مرحله مرحله مطابق با مطالب گفته شده دنبال می کنم اما برای بوت کردن کامپیوتر تارگت قبل از ایجاد صفحه اصلی xpc target صفحه کامل سیاه شده و چیزی نشان نمی دهد از متلب ۲۰۱۳b برای این کار استفاده می کنم آیا برای شما هم همچنین مسئله ای قبلا پیش آمده است اگر نه در صورت امکان فایل رایت شده در dvd را برای این جانب بفرستید تا از آن استفاده کنم چرا که احتمال میدهم شاید متلبی که نصب کرده ام به خوبی نمیتواند فایل های مورد نیاز را در dvd بوت کند

    1. @محمد,
      سلام و درود بر شما
      نخیر،مطابق آموزش برای بنده این حالت بوجود نیامده است. یکی از احتمالات خصوصا اگر از لپ تا استفاده میکنید، ضعیف بودن درایو dvdدرایو است. البته حتما از لوح خام دی وی دی استفاده کنید نه سی دی.
      چشم انشاالله هماهنگی لازم با مدیر سایت،در مورد دی وی دی بوت انجام خواهد شد. لطفا از طریق ایشان پیگیر شوید.

  5. سلام
    دو مرحله از آموزش ها رو برای تست hil تهیه کرده ام اما نکته ای که وجود داره و از خلاصه ی فیلم های موجود متوجه شدم قرار است یک سیستم کنترلی نرم افزاری یک پلنت سخت افزاری رو کنترل کنه حال اینکه کار ما برعکس است می خواهیم با یک سیستم کنترلی سخت افزاری یک پلنت نرم افزاری رو کنترل کنیم می خواستم ببینم مشکلی از این بابت وجود نداره؟ و با دیدن این آموزش ها قادر به انجام این مهم هستیم
    اکثر فیلم های خلاصه ی مرحله پنج بعد از گذشت مدت زمانی mute می خواستم بدونم فیلم های اصلی که احیانا اینگونه نیستند و اگه میشه مشکلش رو رفع کنید
    در کدوم قسمت از این فیلم های آموزشی به همین نکته ی وارد کردن یک پلنت سخت افزاری پرداخته اید ؟
    متشکرم از این فیلم های آموزشی که تهیه نموده اید

    1. @محمد,
      سلام و آرزوی موفقیت
      ما مثالی که انجام دادیم یک کامیوتر رو به عنوان پلنت و کامپیوتر دیگه ای رو به عنوان کنترل کننده در نظر گرفتیم.
      ارتباطشون هم از طریق پورت سریاله.
      HIL به معنی واقعی کلمه انجام نشده.
      نه توی فایلهای اصلی صدا مشکل نداره.
      در مورد کار شما هم فکر کنم با xpcمشکلتون حل بشه.

      موفق باشید

  6. با سلام و احترام
    استاد من میخواستم داده های سه فاز ولتاژ و جریان ژنراتور رو بخونم که با سمپل تایم کوچک در حد میلی ثانیه نمی توانم تعداد کانال زیادی را با کارت DAC سری ۱۷۱۰ بخوانم. آیا می توانم با Xpc اطلاعات حدود ۹ سنسور را به صورت real time و در سمپل تایم در حد میکرو ثانیه از برد سنسورها بخوانم و ذخیره کنم؟

    1. @حسین,
      سلام بر شما.
      ابتدا باید این سوال رو از خدمتتون بپرسم که داده های سنسور شما به چه صورتی هستند. ولتاژ یا جریان آنالوگ هستند؟
      یا صرفا یک بیت دیجیتال هستند؟
      اگر داده سنسور شما به صورت دیجیتال بیش از یک بیت باشه، آیا سریال هستند یا پارالل؟

      اما سوای این مباحث اگر منظور شما این باشه که با استفاده از پورت پارالل یا سریال (و بدون استفاده از کارت خاصی) این کار را انجام داد.. بستگی به سوالات بالا و سرعت پردازنده شما داره.. اما با توجه به تجربه ای که دارم عرض میکنم که با توجه به فرکانس بالای نمونه برداری شما.. به احتمال ۹۰ درصد بدون کارت DAC این امکان وجود نخواهد داشت.

      اما با انتخاب یک کارت DAC مناسب با کارربردتان میتونید از XPC Target استفاده کنید.

      موفق باشید

    2. @حسین,
      سلام بر شما.
      ابتدا باید این سوال رو از خدمتتون بپرسم که داده های سنسور شما به چه صورتی هستند. ولتاژ یا جریان آنالوگ هستند؟
      یا صرفا یک بیت دیجیتال هستند؟
      اگر داده سنسور شما به صورت دیجیتال بیش از یک بیت باشه، آیا سریال هستند یا پارالل؟

      اما سوای این مباحث، اگر منظور شما این باشه که با استفاده از پورت پارالل یا سریال (و بدون استفاده از کارت خاصی) این کار را انجام داد.. بستگی به سوالات بالا و سرعت پردازنده شما داره.. اما با توجه به تجربه ای که دارم عرض میکنم، با توجه به فرکانس بالای نمونه برداری شما.. به احتمال ۹۰ درصد بدون کارت DAC این امکان وجود نخواهد داشت.

      اما با انتخاب یک کارت DAC مناسب با کاربردتون میتونید از XPC Target استفاده کنید.

      موفق باشید

  7. با سلام
    بر اساس اموزشهای ارایه شده لپ تاب و کامپیوتر را با استفاده از کابل سریال و مبدل یو اس بی به سریال به همدیگر متصل کرده ام. در محیط ویندوز بدون هیچ مشکلی هر دو لپ تاب و کامپیوتر به همدیگر متصل هستند. اما زمانیکه تنظیمات ارتباطی سریال برای xpc target انتخاب می شود و با استفاده از فلش مموری کامپیوتر تارگت (که دارای پورت سریال COM1 و COM2 می بشد) را در محیط xpc target قرار می دهم از طریق لپ تاپ در محیط سیمولینک نمی توانم به تارگت متصل شوم ؟ خطای عدم شناسایی تارگت میدهد !! آیا در نرم افزار متلب قبل از زدن دکمه Build باید تنظیمات خاصی انجام داد ؟؟ من طبق آموزش جلو رفتم اما فایل M_3_recive در تارگت بارگذاری نمی شود و پس از Build خطای پیدا نکردن تارگت می دهد !!!
    لطفا راهنمایی بفرمایید
    با تشکر

    1. @ahmad,
      با سلام و آرزوی موفقیت برای شما دوست عزیز
      اگر توجه فرمایید در آموزش، ما برای اتصال Host و Target از ارتباط LAN استفاده کرده ایم یعنی وظیفه ارتباط بین محیط XPC Target و simulink را ارتباط LAN انجام می دهد. در حقیقت ما برای انتقال اطلاعات از ارتباط سریال استفاده میکنیم. بحث ارتباط سریال برای انتقال اطلاعات هم که در آموزش آمده است.

      البته از کابل سریال هم میتوان برای منظور شما استفاده کرد ولی با توجه به ملاحظات سخت افزاری و قابل اطمینان بودن LAN استفاده از LAN پیشنهاد میگردد.

      موفق باشید

  8. سلام استاد. من از یک PC به عنوان تارگت استفاده کردم و تنظیمات مربوطه رو هم انجام دادم. ورژن متلب بنده ۲۰۱۷a هستش. و تونستم به تارگت متصل شم. اما زمانی که می خوام مدل سیمولینکم رو توی تارگت Build کنم، این خطا رو میده:
    The call to slrt_make_rtw_hook, during the exit hook generated the following error:
    Undefined function or variable ‘modelName’.
    The build process will terminate as a result.
    Caused by:
    Undefined function or variable ‘modelName’.

    solver رو هم روی fixed step قرار دادم و target selection هم روی simulink real time هست. ممنون میشم راهنمایی بفرمایید.

    1. @امیر,
      با سلام و آرزوی موفقیت
      آموزش ارائه شده بر پایه نرم افزار MATLAB R2013b میباشد. لذا برای هماهنگی بهتر است ورژن Matlab خودتون رو عوض کنید.

      دلیل توصیه بنده این هست که در ورژن های جدید Matlab کاملا روند عوض شده است.
      تدریس real time simulink در دستور کار قرار دارد ولی فعلا زمانی برای شروع تدریس معین نشده است.

  9. سلام
    میشه بگید برای اموزش از کدوم ورژن متلب استفاده می کنید؟
    و ارتباط سریال با بلوک baseboard هست؟

    لطافا در صورت پاسخ از طریق ایمیل اطلاع دهید
    می خواهم آموزش را بخرم

    1. @محمد,
      سلام و دردود بر شما..

      نسخه متلب مورد استفاده Matlab R2013b میباشد..

      بله در مورد ارتباط سریال هم از بلوک baseboard استفاده شده است.

  10. جناب استاد با عرض سلام و وقت بخیر
    من در مورد جلسه ۱۹ و محاسبه سرعت انتقال یه سوالی داشتم. با توجه به بیشترین نرخ سرعت پورت rs232 و محاسباتی که برای count+16int انجام دادید عملا کمترین زمان نمونه برداری برای تمامی سیستمها با این تنظیم برابر ۰٫۲ میلی ثانیه است و مقدار کمتری نمی تونیم انتخاب کنیم؟ آیا درست میگم؟

    1. @رضا,
      با سلام خدمت دوست عزیز
      برای محاسبه سرعت همانند آنچه که در فیلم آموزشی هم توضیح دادم باید به این صورت اقدام کنید:

      سرعت انتقال (بر حسب baud rate) تقسیم بر هشت = سرعت انتقال یک بایت.

      بنابر این با توجه به سرعت انتقال و تعداد بایتی که مورد نیازتون هست، میتوان کمترین زمان نمونه برداری را محاسبه نمود

      موفق و پیروز باشید

    2. @رضا,
      با سلام و ادب خدمت شما دوستت عزیز
      با توجه به آنچه که در فیلم هم اشاره شده است، مبنای محاسبه سرعت به این صورت می باشد:

      سرعت انتقال(بر حسب باود ریت) تقسیم بر هشت مساوی خواهد بود با سرعت انتقال یک بایت..

      بنابر این با توجه به سرعت انتقال و تعداد بایت مورد نیاز میتوان این مورد را محاسبه کرده و کمترین استپ را معین نمود.

      موفق و پیروز باشید

پاسخ دادن به حامد حقیقی لغو پاسخ

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *