برنامه نویسی وقفه ها در PLC
یکی از امکانات پیشرفته برنامه نویسی در PLC استفاده از وقفه هاست . وقفه ها را به صورت ساده می توان بیان نمود . هر عاملی که کار نرمال را برای لحظاتی متوقف کند ، وقفه نامیده می شود .
در جمله گفته شده روی دو کلمه تاکید شده است : کار نرمال و برای لحظاتی . در زندگی روزمره وقتی مشغول انجام یک کار روتین هستیم و در بین آن کار مهم تری پیش می آید ، کار روتین را برای لحظاتی قطع کرده و به کار مهم تر می پردازیم . ولی پس از پایان کار مهم به کار روتین قبلی برگشته و آن را ادامه می دهیم . از عبارت فوق می توان نتیجه گرفت که : اهمیت وقفه ها نسبت به کار نرمال بیشتر است ، به همین جهت می توانند آن را قطع کنند .
وقفه در PLC
ممکن است در حین اجرای یک وقفه ، وقفه دیگری که از قبلی مهمتر بوده پیش بیاید . بدیهی است وقفه جدید می تواند وقفه قبلی را قطع کند . پس وقفه ها ممکن است تو درتو اتفاق بیفتند .
استفاده از وقفه منحصر به PLC نیست . وقفه ها یک از اجزای مهم در معماری کامپیوتر هستند . توسط امکانات وقفه پردازنده اجرای دستورالعمل های جاری را موقتا متوقف کرده و به اجرای دستورات دیگری بپردازد . بنابراین وقفه به مفهوم توقف کار پردازش CPU نیست بلکه انتقال اجرا از برنامه جاری به برنامه دیگر است .
وقتی PLC استارت می شود ، ابتدا به اجرای فرامین راه اندازی که در OB 100 یا OB 101 یا OB102 نوشته شده می پردازد سپس کار روتین خود را شروع می کند . کار نرمال در PLC اجرای سیکل اسکن است وتا زمانیکه مشکلی به وجود نیامده این کار به صورت مداوم تکرار می شود . برنامه ای که CPU در سیکل اسکن به طور نرمال اجرا می کند OB 1 است که Free Cycle خوانده می شود .OB1 از دیدگاه سیستم عامل درجه اهمیت کم دارد . اگر شرایطی پیش بیاید که وقفه ای فعال شود ، به صورت زیر عمل می شود :
OB 1 در هر نقطه ای که باشد قطع می شود و اطلاعات محل قطع شدن در یک Stack ذخیره می شود .
برنامه وقفه اجرا می شود .
پس از پاایان وقفه ، OB 1 با اطلاعات ذخیره شده قبلی کار را ادامه می دهد .
برگرفته شده از کتاب : کاملترین مرجع کاربردی PLC سطج پیشرفته انتشارات نگارنده دانش