کنترل قطعات الکتریکی از طریق وب
هدف از طراحی و ساخت این پروژه، طرح ایده ای برای کنترل ابزارهای یک واحد صنعتی است به صورتی که از اتلاف نیروی انسانی،هزینه و زمان مفید کاری جلوگیری شود.
کنترل قطعات مختلف یک واحد صنعتی به طور غیر مستقیم و توسط یک کاربر یا هوش مصنوعی، می تواند به بهینه سازی کار و زمان در بخش های دیگر کمک کند.
نمونه ای از یک روش کنترلی که شامل طراحی و ساخت مداری با 5 ورودی ست تشریح شده است. زبانهایی که در خانواده ++C قرار دارند همیشه از کارایی و محبوبیت خاصی در نزد طراحان سخت افزار جهت ارتباط با دستگاههایشان، برخوردار بوده اند. در این پروژه دلیل استفاده از #C ، زیر مجموعه Net2005 نیز همین بوده است اما در و واقع نمیتوان تفاوتی بین آن زبان و Vb.Net در این پروژه قائل گردید. ارتباط با پورت سریال بوسیله OCX ای انجام میگیرد که آنرا در هر زبان از مجموعه Net2005 میتوان بکار برد. بجز نرم افزارهایی که عنوان گردید از ابزارها و نرم افزارهای زیر جهت طرا حی پروژه استفاده شده است:FlashMx - Pspice - Visio - FrontPage - WebStyler - MaxPlus
کلمات کلیدی:
ارتباط مودمی،رگولاتور،بوبین،HTML ، PHP ، IP VALID
فهرست مطالب
عنوان صفحه
دیباچه 1
فصل اول _ پیش درآمد 3
1-1- لزوم استفاده از اتوماسیون صنعتی 3
2-1- تاریخچه سیستمهای کنترل 6
1-2-1- سیستمهای پنوماتیک 6
2-2-1- سیستمهای الکترونیک 7
3-2-1- سیستمهای کنترل دیجیتال 8
4-2-1- سیستمهای کنترل غیرمتمرکز 8
1-4-2-1- مزایای سیستمهای DCS 10
فصل دوم_شرح نرم افزار پروژه 15
2-1- نرم افزار پروژه 15
2-2- ارتباط مودمی 15
2-3- معرفی سایت 16
2-4- Run Project 17
2-5- Software Detail 18
2-6- Hardware Detail 19
2-7- Document Sources 20
2-8- Links 21
2-9- Future 22
2-10- نحوه عملکرد برنامه در بخش"ارتباط مودمی" 23
2-11- ارتباط با سخت افزار 24
فصل سوم_شرح عملکرد سخت افزار 26
3-1- سخت افزار پروژه در یک نگاه 26
3-2- شرح عملکرد 29
3-3- مشکلات و راه حلها 34
فصل چهارم- جمع بندی و نتیجه گیری 35
ضمیمه1 36
ضمیمه 2 63
ضمیمه 3 – مدار داخلی ICهای بکار رفته در سخت افزار 73
منابع 79
دیباچه
کنترل کلمه ای است که بشر از ابتدای خلقت به دنبال شیوه های گوناگون آن بوده است. بشر نخستین(ناندرتال) با آزمون روش های مختلف به دنبال رام کردن طبیعت و بارور کردن زمین بود. با تشکیل جوامع بشری از کوچکترین شکل خود(خانواده)انسان به دنبال تحت اختیار گرفتن جنبه های مختلف زندگی بوده است. به دنبال گسترش زندگی اجتماعی و بوجود آمدن مبانی حکومتی، افراد مختلف به سبب قدرت، مکنت، اصالت خانوادگی و... در پی کسب برتری نسبت به سایرین که منجربه در دست داشتن اختیار خود و دیگران بوده، تلاش میکردند. به دنبال این خصیصه که حس جاه طلبی انسان را تحریک می کرد برای بدست آوردن قدرت و کنترل بیشتر میان جوامع مختلف جنگهای خونینی رخ داده است که حتی در صده های اخیر نیز شاهد آن بوده ایم.
با شکل گرفتن فناوری و خارج شدن بشر از ورطه جهالت تلاش برای بدست گرفتن کنترل، انسان را به یافتن شیوه های جد ید برای ارضای آز خویش وا داشت. با اختراع اسلحه دیگر دوران شمشیر و کمان به سر آمد. با به میدان آمدن توپ و تانک دیگر جایی برای اسب و منجنیق نبود.
اما در دنیای فناوری هیچ چیز متوقف نمی شود. با کشف کامپیوتر و هوش مصنوعی زندگی بشر به کلی دگرگون شد. با این اکتشافات از ارزش جنگ افزار روزبه روز کاسته می شد و بر اهمیت تبلیغ و علوم وابسته به هوش مصنوعی افزوده می شد. اندک اندک کنترل جنبه فیزیکی خود را به جنبه فکری بدل می کرد و تشنگان قدرت به دنبال راههای کنترل افکار افتادند و نه کنترل اجسام.
اما اگر به سطح خرد جامعه بنگریم در می یابیم که هر انسانی چه برای ارضای حس جاه طلبی و چه برای رفاه و آسایش خود به دنبال روشهایی برای کنترل و تحت اختیار داشتن شئونات زندگی خود است. این کنترل شامل اعضای خانواده، اسباب زندگی، لوازم کـــار و... می شود.
با نگاه به زندگی بشری از زمان شکل گیری بنیان زندگی خانوادگی مشاهده می کنیم که اولین مظهر پیشرفت بشریت در خانه انسان نمایان می شود و همواره این پیشرفت برای توسعه رفاه انسان بوده است.
از زمان اختراع چرخ تا اولین کامپیوتر و لامپ خلا ء اسباب زندگی به شکل شگرفی دچار دگرگونی شده اند. اما تغییرات عمده در نیم قرن اخیر رخ داده است که کامپیوتر وارد زندگی شخصی هر فرد شده و هر که بیشر و بهتر از مزا یای آن مطلع شد و بهره برد، رفاه بیشتری خواهد داشت.
امروزه کار بدانجا رسیده است که انسان حاضر نیست حتی برای خاموش کردن یک چراغ از جای خود حرکت نماید و حال که فن آوری اینچنین اجازه ای به او میدهد او نیز حریصانه طالب آن است. امروز حتی می توان از فواصلی بعید به کنترل آنچه مربوط به ماست بپردازیم، کاری که بشر نخستین در رویا میدید.
در این پایان نامه برحسب موضوع به ارائه شمایی از یک سیستم کنترل وسایل(اسباب منزل,خطوط تولیدات صنعتی,...) از طریق فناوری اینترنت به عنوان یک شبکه ارتباطی و از راه دور می پردازیم. در این راستا سعی شده است تا از سخت افزار و نرم افزار مناسب استفاده شود، اما ذیق وقت و در بعضی موارد کمبود امکانات دایره مقدورات را تنگ نمود و حاصل آن،این پایان نامه است که تقدیم میگردد.
فصل اول _ پیش درآمد
- اتوماسیون صنعتی
درابتدا بهتر است کمی با مفهوم اتوماسیون یا به معنای ساده تر کنترل دستگاههای صنعتی با استفاده از کامپیوتر آشنا شویم.
1-1- لزوم استفاده از اتوماسیون صنعتی
با توجه به پیشرفت بسیار سریع تکنولوژی و وجود رقابتهای شدید در بین صنعتگران دو مقوله دقت و زمان در انجام کارهای تولیدی و خدماتی بسیار مهم و سرنوشتساز شده است. دیگر سیستمهای قدیمی جوابگوی نیازهای صنعت توسعه یافته امروز نبوده و به کار بردن سیستمهایی که با دخالت مستقیم نیروی انسانی عمل میکنند، امری نامعقول مینمود. چرا که در این موارد دقت و سرعت عمل سیستم بسیار پایین و وابسته به نیروی کاربر است.
بنابراین ماشینهای هوشمند و نیمههوشمند وارد بازار صنعت شدند و بعد از مدتی آن چنان جای خود را پیدا کردند که علاوه بر زمینههای صنعتی در کارهای خدماتی نیز جایگاه ویژهای یافتند. کنترل سیستمهای بسیار پیچیدهای که قبلا غیرممکن بود به راحتی انجام میگرفت. مکانیزه کردن سیستمها و ماشینآلات (اتوماسیون صنعتی) مقوله بسیار مهم و پرطرفداری شده و نیاز به آن هر روز بیشتر و بیشتر مشهود میشود.
اتوماسیون صنعتی در زمینههای بسیار گستردهای کاربرد دارد. از مکانیزه کردن یک ماشین بسیار ساده کنترل سطح گرفته تا مکانیزه نمودن چندین خط تولیدی و شبکه کردن آنها. با نگاهی به محیط اطرافمان میتوانیم نمونههای بسیار زیادی از کاربرد اتوماسیون را در اغلب زمینهها پیدا کنیم. اتوماسیون در واحدهای مسکونی جدید، در شــبکههـای مـخـابـراتی، در سیـستـمهای دفــــع فاضـلاب، سـیسـتم توزیع برق، کارخانجات مختلف و ... .
در یک سیستم اتوماسیون شده کنترل پروسه توسط ماشین انجام میشود و در این سیستمها دخالت انسان به حداقل و در برخی موارد به صفر رسیده است. سیستم با گرفتن سیگنالهای ورودی از قطعاتی نظیر سنسورهای تشخیص فشار، رنگ، سطح مایعات، قطعات فلزی، سنسورهای دما، میکروسوئیچها، کلیدها و شستیها، واسطهای کاربر با ماشین و نظایر آنها وضعیت موجود را حس کرده و بررسی میکند و سپس در مورد عکسالعمل ماشین تصمیمگیری کرده و فرمانهای لازمه را به قطعات خروجی که تحت کنترل ماشین هستند، اعمال میکند. با توجه به مواردی که ذکر شد میتوان ساختار یک سیستم اتوماسیون را بدین صورت لیست نمود:
- قطعات ورودی شامل سنسورها، سوئیچها و ...؛
- قطعات خروجی مثل موتور، پمپ، شیر برقی، نشانگرها؛
- یک کنترل داخلی با CPU برای پردازش دادهها و اجرای برنامه کنترلی سیستم و حافظه برای ذخیره نمودن برنامه کنترلی و اطلاعات دریافتی از قطعات ورودی؛
- یک واسط بین کاربر و ماشین در مواردی که نیاز به انجام تنظیمات توسط کاربر داریم و یا میخواهیم یک سری اطلاعات و آلارمها را به اطلاع کاربر برسانیم.
توجه داشته باشید با بالا بردن سرعت و دقت کنترلر مورد استفاده در سیستم اتوماسیون شده و انتخاب درست آن بر طبق کاربردی که از آن انتظار داریم میتوانیم امکانات و قابلیتهای سیستم را بالاتر ببریم. به عنوان مثال در یک سیستم ساده کنترل سطح مخزن سرعت پاسخگویی سیستم در حد چند ثانیه هم برای این کار کافی خواهد بود. اما در سیستمهای پیچیده موقعیتیاب یا پردازش تصویر به سیستمهای بسیار معتبر و دقیقتر احتیاج داریم و سرعت پاسخگویی در حد میکروثانیه برای ما لازم است.
به عنوان مثال در مواردی که نیاز به کنترل در یک محیط نامساعد داریم و استفاده از نیروی انسانی بسیار مشکل و یا غیرممکن است، چه کار باید کرد. در محیطهایی با شرایط آب و هوایی بسیار بد و با مناطق جغرافایی صعبالعبور و یا در محیطهایی که آلودگی صوتی و یا آلودگیهای شدید تنفسی دارند، در این موارد ایمنتر و با صرفهترین گزینه اتوماسیون کردن سیستمها و استفاده از ماشین به جای انسان است.
اجرای کامل سیکل کنترلی، گرفتن گزارشات لازم در حین انجام عملیات کنترلی، قابلیت تغییر سیکل کاری و تعریف نمودن پارامترهای کنترلی، امکان انجام کنترل دستی در موارد اضطراری و ... حال به مثال دیگری میپردازیم. حساب کنید در یک سیستم بسیار ساده بستهبندی محصولات غذایی برای بستهبندی هزار کیلو شکر در بستههای یک کیلویی به چند نفر و چه قدر زمان احتیاج داریم. چند نفر برای وزن کردن محصول، چند نفر برای آمادهسازی پاکتها، چند نفر برای پر کردن پاکتها و بستهبندی آن، زدن تاریخ مصرف و ... . در این گونه سیستمها مشکلات زیادی وجود دارد که به برخی از آنها در زیر اشاره شده است:
- زیاد بودن تعداد نفراتی که در این قسمت کار میکنند؛
- نیاز به محیط کاری بزرگتر تا بتوان از شلوغی ناشی از تعدد نیروی انسانی کاست؛
- خستگی و دقت پایین افراد؛
- صرف زمان زیاد؛
- هزینه بسیار بالا؛
- بازدهی بسیار اندک؛
- کیفیت بسیار پایین محصولات؛
از این مثالها در صنعت بسیار زیاد بوده است. به هر حال نتیجهای که از آنها میگیریم این است که نیاز به اتوماسیون یک نیاز غیرقابل اجتناب بوده و استفاده از آن روز به روز بیشتر خواهد شد. در نتیجه استفاده از این نوع سیستمها لحظه به لحظه بر کیفیت محصولات و خدمات افزوده و صنایعی را که از این سیستمها استفاده میکنند، بیرقیب و قدرتمند میسازد.
2-1- تاریخچه سیستمهای کنترل
سیر تحولات سیستمهای کنترل را میتوان به چهار مرحله زیر تقسیم نمود:
1- سیستمهای کنترل پنوماتیکی
2- سیستمهای کنترل الکترونیکی
3- سیستمهای کنترل مستقیم دیجیتال
4- سیستمهای کنترل غیرمتمرکز (DCS)
1-2-1- سیستمهای پنوماتیک
پیش از استفاده از سیگنالهای الکتریکی برای کنترل دستگاهها در صنعت، از ابزارهای نیوماتیک استفاده میشد. به این ترتیب که به هر ابزار فیلد تغذیه هوا با فشار استاندارد psi100 متصل میشد و سیگنالهای ورودی سیستم کنترل و نیز فرمانهای کنترلر به صورت تغییرات فشار در خطوط هوای بین وسیله و کنترلر منتقل میشد.
موارد مورد نیاز در سیستمهای نیوماتیک برای برقراری ارتباط شامل کمپرسورها، خطوط هوا، رگولاتورها، خشککنها و ... میباشد. سیگنال فرستاده شده از وسیله در کنترلر به کمک کنترلرهای تناسبی، PID، PI فرمان لازم برای عملگر را تولید میکند.
در این راستا، در دهه 1950 اولین کنترلرهای پنوماتیکی به بازار عرضه شدند. بسیاری از پالایشگاهها و صنایع شیمیایی و پتروشیمی هنوز از این نوع سیستمها استفاده میکنند. سیستمهای پنوماتیکی از نظر ایمنی برای محیطهای آتشگیر مناسبند و در ضمن بسیار بادوامند، اما به علت پایین بودن سرعت پاسخ، این تجهیزات برای کنترلهای پیشرفته مناسب نمیباشند. در ضمن تابلوهای کنترل از این نوع حجم زیادی را اشغال میکنند.
2-2-1- سیستمهای الکترونیک
در سال 1947 شرکت Bell توانست مدار مجتمع را اختراع نماید و در دهه 1960 از آن در ساخت تجهیزات کنترلی از نوع الکترونیک استفاده شد. حجمی که این تجهیزات اشغال میکنند کمتر از نوع پنوماتیک است و لذا پنلهای کنترل الکترونیک کم حجمترند ولی در عوض محافظت این سیستمها مشکلتر است. جلوگیری از اتصال کوتاه شدن و جرقه زدن در این تجهیزات بسیار مهم است. یکی دیگر از مشکلات مسأله آلوده شدن سیگنالها به نویز میباشد که با تمهیدات لازم باید از آن جلوگیری نمود.
3-2-1- سیستمهای کنترل دیجیتال
در اوایل دهه 1970 استفاده از کامپیوتر برای کنترل فرآیند تجربه گردید. در این نوع سیستم کنترل، یک کامپیوتر کل فرآیند را کنترل مینماید. در صورت خرابی کامپیوتر میتوان از یک کامپیوتر دیگر که به صورت Standby کار میکند، استفاده نمود.
4-2-1- سیستمهای کنترل غیرمتمرکز
با معرفی میکروپروسسورها و میکروکامپیوترها به بازار کارهایی که در یک پروسه بر عهده یک کامپیوتر بود، بین میکروپروسسورها و میکروکامپیوترها تقسیم شد و باعث به وجود آمدن نسلی از روش کنترل به نام DCS شد.
DCS مخفف Distributed Controller System است، هدف از آن انجام عملیات کنترلی به صورت غیرمتمرکز است. بر خلاف ظاهر سیستم DCS که کلیه کنترلرها به اتاق کنترل آورده شدهاند و به نظر میرسد که کنترل به صورت متمرکز انجام میشود. این در حالی است که در سیستمهای نیوماتیک کنترلرها اکثرا به صورت محلی وجود دارد که در سایت نصب شدهاند: در DCS دیگر کنترلری در محل سایت نداریم؛ آن چه اساسا در سیستم DCS رخ میدهد، تقسیم عملیات کنترلی بین چندین کنترلکننده است که در اتاق کنترل قرار گرفتهاند؛ به دلیل همین تقسیم است که سیستم توزیعپذیر نامگذاری شده است.
در این سیستم حلقههای سادهای متشکل از فیلد و کنترلر وجود دارد که این کنترلرها (میکروپروسسورها) در یک لایه بالاتر در سطح supervisor به هم متصل هستند.
برای DCS میتوان چهار سطح کاری در نظر گرفت:
1- فیلد
در این سطح ما با سنسورها و عملگرها سر و کار داریم.
2- مارشال کابینت
ترمینالهایی که سیمکشی را مرتب میکنند. در این ترمینالها ایزولاتور، سدهای تغییردهنده سیگنال به طور دلخواه و ... موجود است.
3- ایستگاه فرآیند
شامل کابینتهایی است که داخلشان کارت I/O و کنترلرها قرار دارد.
4- ایستگاه اپراتور
جایی که اپراتور مینشیند کارخانه را نظارت مینماید.
در این جا گذرگاه I/O به صورت سریال است و کنترلرهای مختلف از طریق شاهراه دادهها به هم متصل هستند و گاهی از پروتکل RS485 یا RS232 استفاده میکنند. معمولا پروتکل شاهراه دادهها را توسط یک واسط تبدیل به پروتکل اترنت مینمایند. مثلا از انواع این واسطها میتوان به HDL اشاره کرد. ارتباط LAN از طریق کابل کواکسیال؛ زوج سیم یا فیبر نوری صورت میگیرد. در سیستم DCS، PID در کنترلرها انجام میشود. نکته بسیار مهم در مورد DCS قابلیت ذخیرهسازی اطلاعات است. در سیستمهای قدیمی چنان چه از اطلاعات به دست آمده استفاده نماییم، اطلاعات از بین میرود.
در حالی که سیستم DCS قابلیت ذخیرهسازی اطلاعات دارد. مشکل عمده در سیستمهای DCS، وابسته به سازنده بودن این سیستم است. مثلا اگر کنترلر از یک شرکت خریداری کنیم، قطعات یدکی را هم باید از همان شرکت بخریم.
همچنین مسأله داشتن یک سیستم در حال خواب در صورت بروز خرابی در سیستم به صورت مطمئن در سیستمهای DCS حل شده است و در صورت از کار افتادن یک پردازنده، پردازنده دیگری به صورت اتوماتیک جایگزین آن میگردد. این نوع ایمنی میتواند در سطح کارتهای واسطه نیز اعمال گردد.
در سالهای اخیر سیستمهای DCS کوچکتری به بازار عرضه شده که مناسب برای صنایع کوچک میباشد. تعداد حلقههای کنترل و نقاطی که مانیتور میشوند در این نوع سیستمها به مراتب کمتر از سیستمهای DCS بزرگ میباشد و کل تجهیزات (کابینتها و مانیتورها) در اتاق کنترل قرار میگیرند.
امروزه در اکثر کشورهای جهان تابلوهای کنترل سنتی در حال تعویض با سیستم DCS میباشند و اکثر واحدهای جدیدالتأسیس از سیستم DCS جهت کنترل استفاده مینمایند.
1-4-2-1- مزایای سیستمهای DCS
بعضی از مزایای سیستمهای DCS نسبت به سیستمهای سنتی عبارتند از:
الف- سهولت مانیتورینگ و جمعآوری و تحلیل اطلاعات
ب- امکان اعمال روشهای پیشرفته کنترل
ج- امکان اعمال کنترل نظارتی
د- حجم فیزکی کمتر
و- تعداد اپراتور کمتر
عوامل فوق در مجموع باعث کاهش هزینه و بالا رفتن کیفیت تولید میگردد.
در کشور ما واحدهای جدید پتروشیمی و پالایشگاهی مجهز به سیستم DCS میباشند و بسیاری از واحدهای قدیمی در صدد تعویض سیستمهای موجود میباشند. چندین کارخانه جدید نیز DCSهای کوچک خریداری نمودهاند که به زودی نصب و راهاندازی میشود.
با توضیحاتی که در بالا ارائه شد کنترل تجهیزات کارخانه های تولیدی امری ابتدایی و بسیار ضروری بنظر میرسد. مثلا در کارخانه چینی سازی برای تولید چینی نیاز است تا کوره های سرامیکی بسیار بزرگ و گران قیمتی را برای پخت تهیه کنند که باید قبل از شـروع به کار کاملا گرم شود. این کــار مدت زمان زیادی در حدود 2 ساعت به طــول می انجامد.از این رو باید پیش از حضور کارگران در محل کار کوره روشن باشد. یکی از راههایی که هم اکنون در اغلب این کارخانه ها صورت می پذیرد این است که کوره را در تمام طول شب روشن نگه میدارند که علاوه بر هزینه های بالایی که دارد مشکلاتی از جمله آلودگی محیط زیست را نیز به همراه می آورد.
اکنون تصور کنید که بتوان کوره ها را 2 ساعت پیش از حضور کارگران در محل کارشان روشن نمود و از هزینه های گزاف روشن نگه داشتن دائمی کوره ها رها شد ویا انتظار خط تولید را برای گرم شدن کوره ها به صفر رساند.
چنانچه بتوان از راه دور و از طریق کامپیوتر سیستمی مانند کوره های مذکور را کنترل نمود میتوان در صنعت مصارف گسترده ای را برای آن در نظر گرفت. بنابر این چنین سیستمی کاربردهای فراوانی دارد
-PHP در یک نگاه
برای آشنایی بهتر با این زبان برنامه نویسی به طرح چند سوال و پاسخ آنها می پردازیم:
از مهمترین شاخههای دانش کامپیوتر، طراحی ، تولید تصاویر،آفرینش صفحات وب و خلق انیمیشن میباشد. این تصاویر و متحرک سازیها برای آنکه قابلیت ارسال از طریق اینترنت را داشته باشند باید از ویژگیهای خاصی برخوردار باشند.برای رعایت این نکته طراحان ناچارند از جدید ترین و پیشرفته ترین نرم افزارهای طراحی استفاده نمایند.
کمتر کاربر اینترنت را میتوان یافت که تاکنون با صفحاتی با پسوند PHP برخورد نکرده باشد و البته این پسوند نامی آشنا برای طراحان و برنامهنویسان وب است.
پی اچ پی (PHP) یکی از محبوبترین و رایجترین زبانهای برنامهنویسی برای ایجاد صفحات پویا در وب است و کمتر خواستهای در محیط وب وجود دارد که در PHP قادر به انجام آن نباشیم. از ایجاد یک صفحه ساده برای پردازش اطلاعات فرمها، ارتباط با بانکهای اطلاعات، کار با سوکتهای TCP، پردازش فرمتهای PDFوZIP و حتی تصویر بخشی از توانایی این زبان است.
مرور تاریخچه PHP:
PHP در سال 1994 توسط راسموس لردرف Rasmus Lerdorf و برای استفاده شخصیاش ایجاد شد. او بعدها و در سال 1995 نسخه حرفهایتر از مفسر زبان PHP به نام Version 2 PHP/FI را عرضه کرد، و در سال 97 تعداد سایتهایی که از PHP استفاده میکردند به بیش از 50000 رسید و امروزه نیز میلیونها سایت از آن استفاده میکنند.
سایتهای مشهوری چون Alltheweb وmamma از این زبان استفاده میکنند و حتی Yahoo نیز در حال شروع استفاده از این زبان برای توسعه وب سایتهای خود است.
PHPچیست؟
PHPکه در ابتدا در سال 994 توسط Rusmus Lerdorf ایجاد شد و مخفف واژگان Personal Home page به حساب می آیدباگسترش قابلیتها وموارداستفاده این زبان در معنای Hypertext preprocessor به کارگرفته شد. عبارت پیش پردازشگر (preprocessor) بدین معنی است که PHP اطلاعات را قبل از تبدیل به زبان HTML پردازش می کند.
به چه دلیل از PHP استفاده می کنیم؟
آسانتر
ایجاد ارتباط متقابل با کاربر
ارتباط با فایل ها و پایگاه های داده
سریعتردربرنامه نویسی و ایجاد واجرا
سرعت بالای تفسیر و اجرای PHP
پی اچ پی یکی از سریعترین زبانها در نوع خود است. تفسیر و اجرای یک اسکریپ php به طور متوسط تا سه و چهار برابر یک اسکریپ ASP است. (البته باید در نظر داشته باشیم که IIS با Cach اسکریپتهای ASP سرعت اجرای آنها را در دفعات بعد بالا میبرد)
همچنین در ASP استفاده زیادی از اشیا COM میشود که باعث کاهش سرعت و مصرف منابع سیستم میشود در حالی که در PHP بسیاری از امکانات و حتی برقراری ارتباط با یکی محبوبترین نرمافزار مدیریت بانکهای اطلاعاتی (mySql به صورت توکار نهاده شده است.
شرکت Zend که تهیه کننده فعلی موتور مفسر و پشتیبانی کننده آن است، محصولات دیگری را نیز در جهت بهینه کردن سرعت اجرای PHP ارائه کرده است این محصولات با افزایش سرعت تفسیر و همچنین ذخیره کردن نتیجه تفسیر (Cash) باعث افزایش چندین برابر اجرای آن میشوند.
ساختار مناسب و امکانات بالا در PHP
کمتری نیازی در برنامهنویسی تحت وب وجود دارد که در PHP امکان رفع آن نباشد. پی اچ پی شامل کتابخانهای غنی از توابعی است که امکان پردازش اطلاعات فرمها، کار با بانکهای اطلاعاتی، فایلهای متنی و باینری، فایلهای گرافیکی، PDF ، ZIP و پروتکلهای TCP ، FTP ، DNS ،SMTP و ... را برای برنامهنویس فراهم میکند، این را مقایسه کنید با ASP که به طور مستقل امکان Upload File ،ارسال ایمیل یا کار با فایلهای باینری را ندارد.
همچنین PHP یکی از بهترین پشتیبانیها را از نرمافزارهای بانک اطلاعات دارد. mySql,Sql Server,mSql,dBase,Oracle,IBM DB2,PostgreSQL,InterBase و بسیاری از نرمافزارهای دیگر در پی اچ پی قابل استفاده هستند و البته امکان کار با ODBC و COM برا ی استفاده از بانکهای Ms Access و دیگرمحصولات نیز هست.
قدرت زبان پی اچ پی تنها در کتابخانه توابع آن نیست، پشتیبانی بسیار خوب از برنامهنویسی شیءگرا (OOP) و کار آسان و سریع با متغیرها از مزایای این زبان است.
PHP چگونه کار می کند؟
نوشتن یک برنامه PHP شبیه ایجاد یک صفحه HTML است، تنها با این تفاوت که کدهای این زبان در داخل صفحات و دراسکرپتهای HTML درج میشود و البته طبیعی است که یک فایلphpمیتواند تنها شامل کدهای PHP باشد.با توجه به این که PHP یک زبان طرف سرویسدهنده است، و بنابراین برای اجرا، اسکریپتهای آن باید آنها را به کامپیوتر سرویسدهنده وب (مانند سیستم Windows 2000 و نرمافزار IIS) انتقال دهیم و حالا با تایپ نام فایل آن در گردشگر اینترنت میتوانیم آنرا اجراوخروجی احتمالی را مشاهده کنیم.
پس از درخواست برای اجرای یک اسکریپت PHP فایل حاوی کدهای PHP به برنامه مفسر PHP انتقال داده شـده(معمولا php.exe) و این برنامه بعد از تفسیـر واجـرای اسکریپت نتیجه رابه سمت کاربر می فرستد.
فصل دوم_شرح نرم افزار پروژه
2-1- نرم افزار پروژه
در این بخش به چگونگی عملکرد نرم افزار این پروژه خواهیم پرداخت.
مجموعه این نرم افزار از دو بخش اصلی تشکیل شده است.
- بخش ارتباط مودمی کامپیوترها
- بخش ارتباط با سخت افزار
2-2- ارتباط مودمی
از آنجاییکه هدف پروژه کنترل دستگاهها از طریق ارتباط مودمی کامپیوترها می باشد،این ارتباط را با طراحی سایتی جامع و کارا برقرار نمودیم.
در طراحی این سایت علاوه براجرای عملیات اصلی در راستای اهداف پروژه، سعی شده است که در قسمتهای مختلف آن توضیحاتی در باره بخشهای گوناگون نرم افزار ارائه شود که در نهایت به معرفی بهتر این سایت بیانجامد ویکی از اهداف اصلی نرم افزار که همان کارائی آسان است تحقق یابد.
2-3- معرفی سایت
شکل 2-1 – home page
صفحه این سایت از دو قسمت تشکیل شده است. در سمت چپ آن tabهای: Run ProjectوSoftware DetailوHardware Detailوdocument sourcesوLinksوFuture قرار داردو در سمت راست صفحه عملیات هر کدام از این tabها نمایش داده میشود.
2-4- Run Project :
شکل 2-2 – run project
در این صفحه مقدار دهی پورت پرینتر و نتیجتا کنترل ماشینهای سخت افزاری ممکن
می شود.این پروژه کنترل 5 device سخت افزاری را تامین می کند، بنابر این در این صفحه سایت از 5 عددcheckbox که هرکدام متناظر با یکی از دستگاههای سخت افزاری (صنعتی) می باشد استفاده کرده ایم.با انتخاب این checkboxها جهت روشن شدن با کلیک بر دکمه Action کنترل را انجام می دهیم و چنانچه از گزینه Reset استفاده کنیم،گزینه ها به حالت پیش فرض که انتخاب نشدن هیچ یک از گزینه ها است، باز می گردد. این عملیات که مقداردهی به پورت پرینتر و ارتباط کامپیوتر با مدار طراحی شده میباشد،در بخش های آتی بطور دقیق بیان خواهد شد.
2-5- Software Detail:
شکل 2-3 – Software Detail
این بخش به معرفی مجموعه نرم افزاری پروژه پرداخته و اطلاعات مختصری در مورد زبانهای برنامه نویسی استفاده شده در این مجموعه را در اختیار کاربر قرار می دهد.
از آنجا که php و HTML پویا بوده و در عین حال ساده و سبک برای برنامه نویسی
می باشد،برای اعمال اجرائی سایت وهمینطور ارتباط سایت و واسط سخت افزار از این زبان بهره بردیم. اما چون قابلیت مقداردهی به پورتها و ارتباط با سخت افزار را ندارد،از زبانC# کمک گرفته ایم.
قابلیت استفاده ساده و سریع این زبان برنامه نویسی پویا،مقداردهی به پورتها و ارتباط PC با سخت افزار را بطور مطلوب ممکن می سازد .
طراحی شمای ظاهری سایت با استفاده از FrontPage صورت گرفته است.
برای رسم مدار سخت افزاری و تست کردن آن از نرم افزارهای شبیه سازی pspice و maxplus بهره گرفتیم و برای بهبود سایت جهت استفاده کاربر از نرم افزارهای webstyler,visioو flash کمک گرفته شده است.
2-6- Hardware Detail:
شکل 2-4 – hard Detail
نمودارهای مدار سخت افزاری این مجموعه اعم از نمودار کامل و جزئیات بخش های مختلف آن در این بخش قابل مشاهده است.این بخش که به معرفی مدار طراحی شده
می پردازد،کاربر را در بکارگیری مطلوب سخت افزار یاری می نماید.
توضیحات کامل این مجموعه سخت افزاری در بخش سخت افزار به تفصیل آمده است.
2-7- Document Sources :
شکل 2-5 – Document Sources
مستندات این پروزه اعم از مستندات سخت افزاری و نرم افزاری در این بخش قابل مشاهده است.
2-8- Links:
شکل 2-6 – Links
امروزه مهمترین راهنما و مرجع دریافت اطلاعات مورد نیاز و به روز شده،سایتهای اینترنتی مختلف می باشد. در این بخش آدرس تعدادی از سایتهایی را که مورد استفاده قرار داده ایم،آمده است.اما از آنجاییکه پروتکل ارتباطی بکاررفته در این مجموعه Interanet است نه Intrernet ،اطلاعات download شده سایتها در این بخش به آدرس سایتها Link شده است.
2-9- Future :
شکل 2-7 – Future
در این قسمت نمایی از اهداف نهایی پروژه یا به عبارتی دورنمای پروژه ارائه شده است. در واقع در بخش future به تعمیم این مجموعه پرداخته ایم.
در آینده تصمیمات دستوردهی به کامپیوتر مبداء و انتخاب سخت افزارها برای کنترل شدن، توسط کامپیوتر صورت می گیرد و نیازی به صرف نیروی انسانی برای آن نیست.همینطور بجای استفاده از خط تلفن که مشکلات خاص خود از قبیل ترافیک خط و خرابی را دارد،از شبکه wireless بهره می بریم.
برای گسترش این مجموعه از internet بجای interanet استفاده می کنیم که این ارتباط را می توان از طریق ADSL و یا سیستم wireless بر قرار نمود.
اما نکته ای که ارزش زیادی در آینده این پروژه دارد این است که علاوه بر دادن اطلاعات از PC به سخت افزار بتوان اطلاعاتی را از سخت افزارها( که میتوانند دستگاههای صنعتی،اداری و ... باشند) به PC منتقل نمود. این تبادل اطاعات به کاربر (که می تواند هوش مصنوعی باشد) کمک می کند تا از وضعیت هر دستگاه مطلع شده و کنترل صحیح و مطلوب بر قطعات سخت افزاری داشته باشد.
با شناخت مشکلات و محدودیتهای این پروژه می توانیم در گسترش و بهبود کارایی آن اقداماتی را انجام دهیم.
2-10- نحوه عملکرد برنامه در بخش"ارتباط مودمی"
هنگام اجرای پروژه،پس از انتخاب ماشینهای مورد نظر،دکمه Action را انتخاب می کنیم.در این هنگام برنامه php ، فایل change-data را فرا خوانی می کند.این فایل که به فایلهای data و onoff دسترسی دارد، اطلاعات انتخابی کاربر را در فایل data قرار داده و در انتها به فایلonoff مقدار 1 را می فرستد. فایل dataداده های وارد شده توسط کاربر را بطور رشته ای در خود ذخیره می کند. زمانی که فایلonoff دارای مقدار 1 است نشان دهنده این است که تغییری در داده های ورودی صوت گرفته و تعداد صفر این فایل نشان دهنده بدون تغییر بودن داده های ورودی می باشد.
کاراکتر های خانه های اول تا پنجم فایلdata متناظر با device ها بوده و کاراکترهای شــشم و هفتم مربوط به استفاده پایه enable آی سی های SN7475N سخت افزار می باشد.
2-11- ارتباط با سخت افزار
در بـخـش ارتباط سخـت افـزاری برنامه از زبان برنامه نویسی C# بهره جسته ایم. پیش از اجرای برنامه و استفاده از سایت پروژه ، فایلی با پسوند exe بنام windows application را اجرا می کنیم. با این کار فرمی بنام form1 که در C# طراحی کرده ایم را فعال می کنیم. در source برنامه این فرم را hidden کرده ایم تا عملیات بدون وقفه و مزاحمت در کامپیوتر متصل به سخت افزار صورت پذیرد.
اما برای دسترسی به امکانات مورد نیاز گزینه های مورد استفاده این فرم را که شامل بخشهای زیر می باشد درNotifyIconقرار داده ایم. با کلیک راست بر روی این جزء در سمت راست task bar این گزینه ها قابل مشاهده است:
-disable برای غیر فعال کردن آن
-enable برای فعال کردن آن
-aboutبرای بدست آوردن اطلاعات مختصر و کلی
-files path برای set کردن مسیر برنامه
زمانیکه form1 فعال می شود ،timer1 که در آن تعبیه شده است اعمال مربوط به خود را انجام می دهد. این تایمر هر 1 میلی ثانیه (بازه زمانی دلخواه) button3 که همان کلید اعمال می باشد را اجرا می کند. عملیات اصلی و کلیدی در همین قسمت صورت می گیرد.به این ترتیب که در صورت یک بودن مقدار داخل فایل onoff.txt محتویات فایل data.txt که بصورت رشته باینری ذخیره شده به دسیمال تبدیل می گردد و توسط component ahxwinterface.ocx ، این مقدار دسیمال به آدرس پورت پرینتر (888) ارسال می گردد و داده ها از طریق کابل به سخت افزار منتقل می شوند. لازم به ذکر است که این component در .net وجود نداشت وبرای مقدار دهی به پورت پرینتر این component را از اینترنت download کرده و به itemهای visualstudio.net افزودیم.
در این میان فرم دیگری بنام data change طراحی شده است . این فرم هنگام اجرای برنامه و کلیک بر روی دکمه Action فعال شده و برای مدت 2 ثانیه بر روی صفحه نمایش کامپیوتر متصل بهdevice ها ظاهر می گردد. این فرم نشان دهنده وضعیت دستگاههایی است که آنها را کنترل می نماییم.
فصل سوم_شرح عملکرد سخت افزار
3-1- سخت افزار پروژه در یک نگاه:
سخت افزار این مجموعه در واقع یک INTER FACE و یا رابط بین PC و دستگاههای کنترل شونده (که به عنوان مثال میتواند دستگاههای سنگین و پرقدرت سه فازویا یک کوره حرارتی باشد)می باشد.این سخت افزار دستورات صادره از PC را گرفته وبه مدار فرمان ویا سوئیچ دستگاههای مصرف کننده انتقال میدهد.
در این طرح از IC ها در طبقه اول مدار به عنوان دروازه ارتباط در مسیرعبور اطلاعات که در اینجا سیگنالهای دستوریا فرمان می باشند استفاده شده است. 7475 IC که یک لچ
می باشد دستورات صادره از PCرا دریافت کرده و به طبقه بعدی ارسال می کند ضمن آنکه دستورات دریافت شده را در خود نگه داشته و تا زمانی که پایه مربوط به تغییر دستور توسط کاربر فعال نشده باشد تغییرات اتفاقی وناخواسته در خروجی PC امکان گذر از مسیر سیستم و اثر گذاری روی اطلاعات را نخواهند داشت.
از انجا که سطح ولتاژ و جریان خروجی از IC بسیار پایین است امکانِ استفاده مستقیم از آن وجود ندارد. در مر حله بعدی اطلاعات دریافت شده از PC از طریق ICهای لچ برای اینکه بتواند به سطحی مناسب برای استفاده در طبقات بعدی برسد توسط ترانزیستورها تقویت میشود در این قسمت از ترانزیستور های نوع N به دلیل خاصیت معکوس کنندگی در خروجی و همچنین سهولت در کار برد استفاده شده است.
در این مر حله سیگنالها به اندازه ای که بتوان در طبقه بعدی از انها استفاده کرد تقویت شده اند اما باید توجه داشت که از آنها نمی توان بطور مستقیم در مصرف کننده ها استفاده نمود. در این سیستم از رله به عنوان سوییچ اصلی کنترل کننده دستگاههای مصرف کننده استفاده شده است و اطلاعات خروجی از ترانزیستورها وارد رله ها می شوند. در شکل 3-1و3-3 و 3-4 مسیر انتقال سیگنالهای فر مان از PC تا مصرف کننده مشاهده می شود.
شکل 3-1- چارت مسیر data
شکل 3-2 مسیر تغذیه IC ها، تغذیه و بایاسینگ ترانزیستورها و رله ها و همچنین مسیر برق قدرت جهت را ه اندازی مصرف کننده به نمایش در آمده است.
شکل 3-2- چارت تغذیه
همانطور که ملاحظه می کنید از یک ترانسفورماتور کاهنده جهت تامین ولتاژ تغذیه IC ها و بوبین رله ها و جریان بایاس ترانزیستورها استفاده شده است.برای آنکه بتوان یک ولتاژ بدون اعوجاج و در سطح قابل استفاده درIC ها داشته باشیم از یک رگولاتور ولتار به عنوان تثبیت کننده سطح ولتاژ استفاده کرده ایم. استفاده از مداری دارای رگولاتور به ما این امکان را میدهد که بدون نگرانی از افت ولتاژهای ناشی از وارد ویا خارج شدن المانها از مدار ویا ولتاژ و جریانهای گذرا ی موجود در سیستم و نویز های محیط ، ولتاژ و جریان مصرفی IC ها را تامین نماییم.
3-2- شرح عملکرد :
می خواهیم زمانیکه به پایه های پورت پرینتر مقدار دهی می کنیم، خروجی مطلوب را بر روی سخت افزار و در نتیجه device ها مشاهده کنیم. سخت افزار طراحی شده این کار را به ترتیب زیر انجام می دهد:
داده ها از طریق سوکت پورت پرینتر از پایه شماره 1 تا 5 وارد سخت افزار می شود، به این ترتیب که از پایه شماره 1 پورت پرینتر وارد پایه شماره 2 از IC شماره SN7475N و از پایه شماره 2 پورت پرینتر وارد پایه شماره 3 از این IC می شود. و به همین ترتیب از پایه شماره 3و4 پورت پرینتر به ترتیب وارد پایه شماره 6 و7 از IC مورد استفاده می گردد.
از آنجا که این IC تنها داری چهار ورودی می باشد، ازIC مشابه دیگری برای کنترل سایر ورودی ها استفاده شده است. بنابراین داده های پایه شماره 5 پورت پرینتر وارد پایه شماره 2 از IC دوم SN7475N می شود.
به دلیل اینکه سیگنال های خروجی از کامپیوتر بسیار ضعیف هستند، باید توسط بافری وارد سخت افزار شوند تا نتیجه مطلوب حاصل آید.و از آنجا که می خواهیم تغییرات ناخواسته در ورودی مانند نویز، خاموش شدن PC وغیره روی سیگنال های ورودی به سخت افزار تاثیر نا مطلوب نگذارد از IC فلیپ فلاپ یا لچ بهره می بریم.
شکل 3-3- مسیر ارسالdata (الف )
شکل 3-4- مسیر ارسالdata (ب )
IC های فلیپ فلاپ احتیاج به پالس سیگنال دارند و از طرفی چون لچ توسط پایه enable قابلیت کنترل بیشتری دارد، از IC SN7475N در این سخت افزار استفاده شده است.این IC دارای 16 پایه و 4 ورودی می باشد که شکل آن ضمیمه شده است.
لازم به ذکر است که این IC دارای خروجی های مستقیم و معکوس شده می باشد و چون در طبقه بعدی از ترانزیستور NPN استفاده کرده ایم، از خروجی های معکوس این IC استفاده می کنیم.
IC شماره 7475 اساساً یک لچ (Latch) منطقی می باشد که در این سخت افزار به عنوان کنترل کننده اطلاعات ورودی مورد استفاده قرار گرفته است.
داده های وارد شده به این IC تا زمانیکه پایه های enable آن فعال نباشد، به خروجی منتقل نمی شود. به این معنی که از پایه enable به عنوان کنترل کننده زمان تغییر خروجی بر اساس ورودی استفاده می شود.
داده های ورودی به این IC به ترتیب از پایه های شماره 1، 14، 11و 8 از IC اول SN7475N و پایه شماره 1 از IC دوم SN7475N خارج می شوند.
نکته مهم در مورد این IC این است که پایه های تغذیه آن استاندارد نبوده و پایه شماره 5 به عنوان Vcc و پایه شماره 12، زمین محسوب می شود.
در این IC هر دو ورودی و دو خروجی با یک enable فعال می شوند.
بنابراین دو پایه enable دارد که پایه شماره 4 برای ورودی های 3 و 4، و پایه شماره 13، enable برای ورودی های 1و2 می باشد.
همانطور که در تشریح خلاصه سخت افزار توضیح داده شد، در طبقه بعد ترانزیستور بکار رفته است.این ترانزیستورها NPN و از نوع BC107 بوده و بصورت استاندارد بایاس شده است و به عنوان تقویت کننده جریان از آن بهره می بریم. اطلاعات خارج شده از IC ِ SN7475N توسط یک مقاومت 1 کیلو اهم وارد بیس(base) ترانزیستور BC107 می شود. این ترانزیستور توسط یک مقاومت 560 اهمی به Vcc مرتبط می گردد و امیتر(emither) آن به زمین مدار متصل است.
داده های معکوس شده در خروجی IC ِ SN7475N مجدداً توسط ترانزیستور BC107 معکوس شده و به شکل داده های اولیه تبدیل می گردد.
این داده های خروجی ترانزیستورها دارای همان مقدار اولیه خروجی از پورت پرینتر رایانه می باشد، با این تفاوت که اکنون توان این سیگنال ها به اندازه ای تقویت شده است که قدرت تحریک بوبین رله ها را داشته باشد.
مزیت استفاده از این ترانزیستورها در این است که به دلیل داشتن بدنه فلزی قابلیت پرت حرارتی بالایی دارد.
خروجی این ترانزیستورها مستقیماً به بوبین رله ها رفته که در مسیر هر یک با یک LED جهت نشان دادن فعال یا غیر فعال بودن رله ها موازی شده اند.
پایه منفی این LED ها توسط یک مقاومت 560 اهمی به زمین متصل می شود.
رله های استفاده شده در این مدار با بوبین 5 ولت و جریان 10 آمپر می باشد.
هریک از این رله ها قابلیت راه اندازی مصرف کننده تا جریان 10 آمپر را دارد. چنانچه در صنعت به جریان هایی بالاتر از این مقدار، برای مثال 50 یا 100 آمپر نیاز باشد، می توان از کنتاکتور(Contactor) برای تامین جریان مصرف کننده های صنعتی استفاده نمود که بوبین آن توسط رله های موجود در مدار تحریک می شود.
برای تامین ولتاژ تغذیه مدار از یک ترانسفورماتور کاهنده استفاده شده است که متشکل از یک پل دیودی با دیودهای 1N4007 و خازن 1000 میکروفاراد 16 ولت می باشد.
در این سخت افزار دو خط Vcc بکار رفته است، که Vcc1 ولتاژ v8 بوده و از آن برای بایاس ترانزیستورها و تامین انرژی مورد نیاز بوبین ها استفاده شده است. Vcc2 ولتاژ v5 بوده و برای تامین تغذیه IC ها بکار رفته است.این ولتاژ v5 از خروجی رگولاتور بدست می آید.
و اما نکات قابل توجهی که در حین کار بر روی این مـجموعه با آنها مواجه ایم، در بخش "پرده ای دیگر" به آن خواهیم پرداخت.
پرده ای دیگر
پایه های enable این IC، Activehigh است و هنگامی که مقدار 1 را دارا شود، اطلاعات ورودی را به پایه های خروجی منتقل می کند. پایه های این IC توسط مقاومت 50 اهم به زمین متصل شده تا به دلیل وجود نویز و یا عوامل ناخواسته دیگر، بطور ناخواسته فعال نشود.
مسئله ای که در عمل با آن مواجه می شویم، این است که هنگامی که کامپیوتر خاموش می شود، به تمام پایه های خروجی پورت پرینتر یک سیگنال 1 می فرستد و در این حالت پایه enable ِ IC ها و پایه های data همزمان یک شده، در نتیجه تمام خروجی های سخت افزار فعال می شود.
برای جلوگیری از بروز این مشکل از IC شماره 7400 استفاده می کنیم.
به این ترتیب که پایه شماره 7 خروجی پورت پرینتر را not کرده و با پایه enable خروجی کامپیوتر که پایه شماره 6 می باشد، AND منطقی می کنیم.
باید توجه داشته باشیم که در تمامی حالت ها پایه 7 صفر بوده و پس از معکوس شدن یک می شود، و هنگامی که پایه enable کامپیوتر نیز یک شود، حاصل خروجی این IC (AND) یک شده و IC های لچ (SN7475N) را فعال می نماید.
اما زمانیکه کامپیوتر خاموش می شود و همه پایه های پورت پرینتر مقدار یک را می گیرند، خروجی پایه شماره 7 معکوس شده و برابر صفر می شود.
حاصل ضرب منطقی صفر حاصله و یک ناخواسته بیت شماره 6 (enable خروجی کامپیوتر) صفر شده و در نتیجه سیگنالی که به پایه enable ِ IC های موجود می رسد، صفر بوده و خروجی حاصل مدار را در حین خاموش
دانلود مقاله کنترل قطعات الکتریکی از طریق وب