سیستم رفع خطای خط تولید

سیستم رفع خطای خط تولید

سیستم رفع خطای خط تولید

این پست از وب سایت قبلیم کپی شده که با دامنه تابلوکار منتشر میشد . از آرشیو اینترنت پیدا کردم و چون یکی از بهترین کارهایی بود که انجام دادم حیفم اومد اینجا دوباره منتشر نکنم .آدرس صفحه از وب آرشیو : منبع 

سیستم رفع خطای خط تولید

سیستم رفع خطای خط تولید

مدتها بود پروژه ای به شدت فکرم رو مشغول کرده بود و پیاده سازیش حقیقتا کار لذت بخش و البته پیچیده ای بود .

خط تولیدی داشتیم که با استفاده از پروتکل شبکه و بر روی بستر TCP/IP طراحی شده بود .
دستگاههای عظیم الجثه ای که با استفاده از پروتکل شبکه اطلاعاتی رو از سرور دریافت می کردند . (دستگاههای تولید نخ و ریسندگی ) موصوم به BCF .
علی ایحال گاها یکی از این دستگاهها بدلایل نا معلومی شروع به ارسال پکت هایی گاها نا مفهوم به سمت سرور می کرد و سرور که مال عهد بوق بود نمی تونست به این همه درخواست یکجا پاسخ بده . این وسط ریپیتر ها هم اوضاع رو بهرانی تر میکردند .
در نتیجه خط تولید از کار می ایستاد یا اینکه اطلاعات بدرستی منتقل نمیشدند و بدلیل اسینکرونایز نبودن خروجی دستگاهها افتضاح میشد .
مدتی در سایتها و انجمن های شبکه بدنبال راه حل این مشکل بودم، با سخت افزاری که ما داشتیم هیچ کدوم از راه های پیشنهادی نمی تونست ما رو به سر منزل مقصود برسونه .
این گشت و گذار ها و سوالهای مختلف و گرفتن مشورت از اساتید ، دید خوبی به من داد و مشکل رو بهتر تونستم هضم کنم .
و اما در مورد پروژه :

سیستم رفع خطای خط تولید

سیستم رفع خطای خط تولید

ما به یه دستگاهی نیاز داشتیم که سرور (هدف) رو هر چند ثانیه یکبار ping کنه و در صورت بالا رفتن زمان دریافت پاسخ از سمت سرور ، اون رو از مدار خارج کرده و ریستش کنه .
این طرح باعث شد به فکر طراحی یه سیستم کامل برای ارتباط دادن میکرو کنترلر با پروتکل شبکه بیفتم . البته این رو نا دیده نگیریم که این پروتکل ها و پورت ها بر روی میکرو کنترلر های ARM Cortex 7 بصورت آماده وجود داره .اما من با kail مشکل دارم و اینبار هم با avr رفتم جلو .

سیستم رفع خطای خط تولید

سیستم رفع خطای خط تولید

نمونه framware های خارجی ارتباط با میکرو روی اینترنت زیاده . منم چندتاش رو دانلود کردم و به دقت بررسی کردم اما به قدری پیچیده بودند که فهمیدن کدهاشون برام دشوار میومد و به این فکر میکردم که اگر خدای نکرده بعدها بخوام تغییری توش ایجاد کنم ، کارم خیلی مشکل میشه . البته برخی از این کد ها بسیار پرحجم بودن و حافظه میکرو اشکال میشد  . علاقه زیاد برای درگیر شدن و به چلنج کشیدن دانش و توانیاییم در حوزه شبکه و اصول agile programming منو به سمتی سوق داد که لایه های شبکه رو باز دیگر خودم کد نویسی کنم و شروع شد داستان یک ماه کد نویسی ما .
ناگفته نماند می خواستم که اسکرام رو به صورت عملی تو  پروژه الکترونیک پیاده سازی کنم . و شروع شد یکماه تلاش های شبانه روزی .
بعد از مدتی پروژه کامل شد و سیستم شامل میکرو کنترلر avr و برد رابط شبکه با استفاده از ای سی rtl8019as  که قادر به برقراری ارتباط با شبکه های lan  هست طراحی شد .

پیاده سازی ÷روتکل های شبکه با استفاده از Bascom انجام شد پروتکلها از ابتدایی ترین روتینهای مربوط به راه اندازی درایور شبکه تا پردازش پکتهای ورودی پاسخ به درخواست ARP و تا پروتکلهای پیچیده تری مثل TCP رو توی برنامه پیاده سازی کردم . برنامه خیلی کوچکتر از نمونه های مشابه ساده تر شخصی تر و سریعتر بود (پاسخ Ping با یک کریستال ۱۴ مگاهرتزی زیر یک میلی ثانیه بود .

مشخصات فریمور نوشته شده البته تا این لحظه :

  • http – tcp – icmp (read only)-arp (send and request)
  • بروز رسانی arp cach با ارسال هر arp و بروزرسانی در هنگام دریافت
  • ریدایرکت کردن packet های خارج از شبکه به router
  • پشتیبانی از متد های GET و Post در http
  • تشخیص خطاهای سمت سرور مانند http 404 , http 400 و http 501

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

نرم افزار جلوگیری از دیداس در شبکه داخلی

نرم افزار جلوگیری از دیداس در شبکه داخلی

در تصویر زیر می بینید که با سیستم عامل کالی دستگاه رو پینگ می کنیم و دستگاه به دقت packte  ها رو بدون هرگونه وقفه ای packet ها رو رد و بدل میکنه .

سیستم رفع خطای خط تولید

سیستم رفع خطای خط تولید

نتیجه پینگ بر روی ویندوز .

سیستم رفع خطای خط تولید

سیستم رفع خطای خط تولید

پروژه رو در موقعیت های مختلف تست کردم و نتایج نشون میداد که بدون هیچ عیب و نقصی حتی در مقابل حملات دیداس هم سرور رو محافظت میکنه .
هرچند ریست کردن سرور در این موارد اصلا کار عقلانی ای نیست .

برای کسب اطلاعات بیشتر می توانید با شماره تلفن ۰۹۱۹۱۴۳۷۵۳۹ در تماس باشید .