Cpu وقتی در شرایط RUN (شرایط کار) قرار گرفت، شروع به اجرای یک سیکل تکراری به نام سیکل اسکن (scan Cycle) می نماید. منظور از سیکل تکراری، مراحل مختلفی است که دائما اجرا می شوند.

Operation PLC

 

شکل زیر مراحل مختلف سیکل اسکن را نشان می دهد:

Operation PLC

مراحلی که در شکل مشاهده می شود، عبارت اند از:

1-در ابتدا دستورات راه اندازی اجرا می شوند. این دستورات فقط در زمان راه اندازی CPU اجرا شده (سیکل کاری اول) و در سایر سیکل ها اجرا نمی شوند.

2-مقدار ورودی ها از کارت های ورودی خوانده شده و در PII قرار می گیرد. PII مخفف Process Image Input است و معرف بخشی از حافظه CPU است که دیتاهای ورودی در آن ذخیره می شود.

3-برنامه نوشته شده در CPU اجرا می شود. در حین اجرای برنامه CPU، هر کجا اطلاعات ورودی مورد نیاز باشد، CPU به جداول PII مراجعه نموده و مقدار مورد نظر را از آن می خواند.

4-در حین اجرای برنامه اگر نیاز به اجرای فرمانی برای خروجی ها باشد، این فرمان در ناحیه PIQ قرار داده می شود. PIQ معرف Process Image Output است که فرمان های ارسالی به کارت های خروجی در آن ذخیره می شود.

5-پس از اینکه اجرای برنامه تمام شد، PCU مقادیر موجود در PIQ را به کارت های خروجی ارسال می کند.

 

سیکل کاری CPU که تا سال 1998 زیمنس از آن پیروی می کرد، بخشی به نام OS داشت که OS معرف Operating System یعنی سیستم عامل CPU می باشد.

در این روش اگر در حین راه اندازی فرمانی برای خروجی خاصی در برنامه راه اندازی صادر شود، بلافاصله به آن اعمال نمی شود و لازم است PCU به انتهای سیکل برسدتا فرمان را اعمال کند. برای رفع این مشکل از سال 1998 به بعد روال سیکل اسکن تغییر کرد.

این تغییر عبارت است از جابجایی مرحله ارسال خروجی ها با خواندن ورودی ها. یعنی در ابتدا و پس از اجرای دستورات راه اندازی، مقدار موجود در PIQ به خروجی ها اسال شده، سپس مقدار ورودی ها خوانده شده و در PII قرار می گیرد و سپس برنامه اجرا می شود.

 

CPU علاوه بر حافظه دارای بخش های دیگری نیز می باشد. یکی از این بخش ها به عنوان انباره، ثبات و پشته است که به بررسی آنها می پردازیم:

 

Accumulator : به معنی انباره بوده و مکانی است که PCU برای انجام عملیات محاسباتی از قبیل اعمال ریاضی، اعمال تبدیل و … از آن استفاده می نماید. روال کار به این صورت است که در اعمال محاسباتی، مقدار متغییرها به اکومولاتورها منتقل شده و در آن عمل عمل محاسباتی صورت می پذیرد. CPU عای S7-300 دارای دو اکومولاتور و CPU های S7-400 دارای چهار اکومولاتور می باشند.

 

Status Work : به معنی Work وضعیت بوده و یکی از ثبات های CPU می باشد. از 16 بیت Status Work، 9 بیت آن استفاده شده است که با توجه به وضعیت برنامه، مقدار این بیت ها تغییر می کند. یکی از این بیت های Status Work، بیت RLO می باشد که CPU به کمک آن برنامه های لاجیک را پردازش می کند.

 

Nesting Stack : پشته تودرتویی بوده و دارای 7 سطح می باشد. اگر در برنامه عملیاتی تودرتو انجام گردد (مثلا در زبان STL، پرانتزی بار شود)، مقدار برخی از بیت های Status Work (از قبیل بیت های RLO، BR و OR) را ذخیره می کند.

 

Address Register : به معنی ثبات آدرس می باشد و با استفاده از آن می توان آدرسی را به طور موقت ثبت نموده و از آن در برنامه ای استفاده نمود. کاربرد این ثبات در آدرس دهی غیرمستقیم است. لازم به ذکر است که CPU دارای دو عدد ثبات آدرس می باشد.

 

MCR Stack : ثباتی است که دارای 8 سطح بوده و در هنگام استفاده از دستورات MCR کاربرد دارد.