PDA

View Full Version : سوالاتی برای طراحی یک سیستم کنترل کننده سریع صنعتی



ali2914
یک شنبه 24 شهریور 1387, 18:51 عصر
با سلام به همه دوستان.
سوالاتی داشتم که خیلی کلیه و برای جواب گرفتن نیاز به مطرح کردن کامل مساله داره پس از همه دوستان درخواست می کنم که با حوصله مطلب را بخونن و در صورت امکان جواب بدن.
من سالها برنامه نویس PC بودم و مدتها عضو این سایت بودم اما متاسفانه از 3 سال قبل کار برنامه نویسی PC را رها کردم و در حال حاضر در زمینه برنامه نویسی سیستمهای کنترل صنعتی و عمدتا PLC فعالیت میکنم. و حالا برای شروع یه پروژه تحقیقاتی مربوط به کنترل سیستمهای صنعتی به راهنمایی شما نیاز دارم.
و اما اصل مطلب.
همونطور که می دونید برای کنترل سیستمهای صنعتی از PLC استفاده می شه. که مزایایی مثل قیمت مناسب ، سادگی نصب و برنامه نویسی و قابلیت اطمینان بالا داره. اما از معایب PLC می شه به ضعیف بودن در محاسبات سنگین ریاضی اشاره کرد. همونطور که از اسمشون پیداست PLC ها بیشتر واسه عملیات منطقی به صورت شرایط If ... Then و یا حلقه ها مناسب هستند و زمانی که نیاز باشه همزمان عملیات سنگین محاسباتی انجام بدن کارایی زیادی ندارن. PLC ها برنامه ها را به صورت خطی اجرا می کنند .درست مثل برنامه های قدیمی DOS . در صورتی که برای بعضی عملیات کنترلی پیچیده نیاز به multitasking و رویداد گرایی هست که در PLC قابل پیاده سازی نیست . البته برای این موارد از DCS استفاده می شه.
یکی از سیستمهایی که نیاز به محاسبات ریاضی سنگین و پیچیده داره سیستمهای نورد ورقهای فولادی هستند. سیستمی که با سرعت تولید حدود 20متر در ثانیه کار می کنه و برای رسیدن به کیفیت مطلوب تولید، باید عملیات نورد بر اساس محاسبات پیچیده به صورت online و با سرعت زیاد انجام بشه.
و اما درخواستهای من.
من فکر می کنم که از سیستمهای PC برای انجام محاسبات مورد نیاز با سرعت بسیار زیاد می شه استفاده کرد. چون اصولا PC ها برای همین منظور به وجود اومدن.اما برای اجرای این پروژه نیاز به شرایط ویژه است که به اون اشاره می کنم.
شرایط:
سیستمی که به عنوان کنترل کننده استفاده می شه نیازی نیست که هیچ ورودی و خروجی برای کاربر داشته باشه پس نیازی به مانیتور و کیبورد ماوس و غیره نداره. تمامی توان سیستم باید صرف محاسبات موردنظر بشه. اطلاعات مربوط به ست کردن پارامترها و دستوراتی که نیازه توسط اپراتورداده بشه از طریق یه PC دیگه و توسط شبکه یا پورت USB به سیستم کنترل کننده داده می شه. کلیه ورودی ها و خروی های دیجیتال و آنالوگ از طریق کارتهایی مثل کارتهای PLC و توسط شبکه و از طریق یک پورت usb به کنترل کننده داده می شه یا از اون گرفته می شه.

اما سوالات من
سیستم عامل:با توجه به موارد زیر شما چه سیستم عاملی را پیشنهاد می کنید؟
1- کم حجم باشه و بسیار پر سرعت
2- بتونه امکان multi tasking را فراهم کنه
3- بشه امکاناتی مثل صوت و تصویر و ورودی های اپراتور را ازش حذف کرد که با تمام توان محاسبات مورد نیاز را انجام بده
4- پایدار باشه و دچار اشکال نشه.
5- بشه چند پردازنده را با هم شبکه کرد تا در صورت نیاز محاسبات بین چند پردازنده تقسیم بشه و بتونیم به سرعت بالاتری برسیم.


زبان و کامپایلر: :با توجه به موارد زیر شما چه زبانی را پیشنهاد می کنید؟
1- برنامه محاسبه باید قادر باشه با بالاترین سرعت محاسبات را انجام بده
2- دارای امکان شی گرایی و رویداد گرایی باشه.
3- امکان multi tasking و چند ریسمانی را فراهم کنه.
4- قادر به کار با سخت افزارهای سیستم مثل پورتهای usb و سریال و موازی باشه.

منتظر جواباتون هستم.ممنون

linux
یک شنبه 24 شهریور 1387, 19:26 عصر
خوب شما احتیاج به یک مادربورد دارید برای مثال http://www.jkmicro.com/products/thinclient.html
به اینجور مادربورد ها thin client گفته می شود ، معمولا هم به خاطر طراحی و استفاده از قطعات با کیفیت که برای کار در محیط صنعتی در نظر گرفته شده است گران هستند.
سیستم عامل می توانید از linux embededd یا windows embdded (http://msdn.microsoft.com/en-us/embedded/default.aspx)استفاده کنید
http://www.linuxdevices.com/
توزیع های امبدد لینوکس بعضی وقت ها کمتر از 2-3 مگ هست.
برای برنامه نویسی هم شما مجبور هستید که از C/C++ استفاده کنید برای ویندوز VC++2008 و برای لینوکس هم gcc هست.

ali2914
یک شنبه 24 شهریور 1387, 20:59 عصر
ممنون.بررسی می کنم.بازم منتظر راهنمایی همه عزیزان هستم

ali2914
دوشنبه 25 شهریور 1387, 21:36 عصر
خوب ممنون می تونید آدرس دانلود linux embededd را بگذارید؟ درضمن من دقیقا نمی دونم کدوم توزیع مناسبه.می تونید کمک کنید؟