در ادامه ی دوره آموزشی نرم افزار PCS7 زیمنس نرمافزار DCS با محیط و امکانات CFC آشنا میشوید.
آشنایی با محیط و امکانات CFC
کلمه ی CFC برگرفته از سه کلمه Continuous Function Chart می باشد که مهمترین ابزار برنامه نویسی PCS7 به شمار می رود. این ابزار همانطور که از اسمش پیداست برای کنترل پیوسته و عملیاتی به کار می رود. ابزار دیگر برنامه نویسی PCS7 , SFC نام دارد که همان کنترل ترتیبی Sequential می باشد.
برای برنامه نویسی CFC از چارت CFC در plant view استفاده می کنیم و با توجه به نیاز می توانیم در هرسطح با کلیک راست بر روی ایکن CFC و insrert چارت جدیدی ایجاد کنیم . ارتباط بین CFC های مختلف به راحتی انجام می پذیرد.
پس از باز کردن CFC و کم کردن زوم صفحه مشاهده می کنیم که صفحه cfc شامل 6 قسمت است که با کلیک بر روی * بالای صفحه میتوانیم هریک از این قسمتها را انتخاب کنیم.
برنامه نویسی cfc با کشیدن بلاک ها از کاتالوگ سمت چپ به داخل محیط و اتصال آنها به یکدیگر بصورت گرافیکی انجام می شود. می توان بین بلاک های یک cfc که در شیت های مختلف قرار دارند و همینطور بین بلاک های مجزا دو cfc ارتباط برقرار نمود.
کاتالوگ سمت چپ cfc دارای سه بخش مختلف است:
- بخش اول Blocks مجموعه المانهای پایه برنامه نویسی قرار دارند.
- بخش دوم CFC مربوط به چارت هایی هستند که تاکنون توسط سیستم ایجاد شده اند و جهت استفاده سریعتر از این بلاکها در این بخش ذخیره شده اند.
بخش سوم Libraries مربوط به مجموعه کتابخانه های مختلف PCS7 می باشند. در این بخش علاوه بر کتابخانه standard که جزوه مجموعه بلاکهای step7 می باشند.
پس از وارد کردن یک بلوک اتصالات بین بلوکهای داخل cfc از طریق کشیدن نقاط به هم بصورت گرافیکی امکان پذیر است. در ضمن با کلیک راست بر روی هر پین بلوک میتوان با انتخاب interconnection to address آن پین را به IO مربوطه ارتباط داد.
با انتخاب textual interconnecton می توان آدرس خروجی سمت مقابل داد. همچنین می توانیم با کلیک بر روی ورودی در یک سمت و جابجا کردن صفحات براحتی به خروجی مورد نظر وصل کنیم. در این حالت آدرس بصورت اتومات برروی ورودی و خروجی مورد نظر ظاهر می شود.
اگر روی بخش libraries کلیک و CFC library رو باز کنید چهار دسته بلوک مشاهده می کنید.
ELEM300: بلوکهایی هستند که فقط برای CPU های S7300 قابل استفاده اند. (می توان CFC را جداگانه روی Step7 نصب کرد و از این بلوکها در این نوع CPU ها نیز استفاده کرد.)
ELEM400: بلوکهایی هستند که فقط برای CPU های S7400 قابل استفاده هستند.
ELEMENTA: بلوکهایی هستند که در هردو نوع CPU قابل استفاده هستند.
IK/Blocks: بلوکهای مربوط به الارم و اینترفیس قرار دارند.
ابتدا با برخی بلوکهای مشترک CFC آشنا می شویم:
بلوک Compare:
بلوک مقایسه گر Compare مشابه مقایسه گر بلوکهای پایه هست با این تفاوت که میتواند دو متغیر اعشاری را نیز مورد مقایسه قرار دهد.
بلوک های تبدیل Convert که جهت تبدیل از Real به فرمت های دیگر استفاده می شوند.
R-DI : تبدیل از Real به Double integer
R-DW : تبدیل از Real به Double Word
R-I : تبدیل از Real به Integer
بلوک Impulse(تایمر):
که هر 5 نوع تایمر بلوکهای پایه رو در خود جای داده است.
از طریق برنامه ریزی ورودی MODE که یک متغیر integer هست میتوانید انواع تایمرها را براساس جدول زیر انتخاب کنید.
بلوک MATH_FP:
انواع بلاک های محاسباتی Real در این قسمت قرار دارند. انواع این بلاک ها با شرح کارشان در زیر آمده است.
ADD_R Addition of REAL values
SUB_R Subtraction of REAL values
MUL_R Multiplication of REAL values
DIV_R Division of REAL values
ABS_R Absolute value of REAL values
EPS_R Accuracy; approximation
NEG_R Inverter for REAL values
MAXn_R Maximum of REAL values
MINn_R Minimum of REAL values
LIM_R Limiter of REAL values
CADD_R Controllable adder of REAL values
SQRT Square root
EXP Exponential function
POW10 Power-of-10 function
LN Natural logarithm
LOG10 Base-10 logarithm
SIN Sin function
COS Cos function
TAN Tan function
ASIN Arc sin function
ACOS Arc cos function
ATAN Arc tan function
POWXY General power function
SAMP_AVE Floating average value
بلوک MATH_INT:
بلاک های محاسباتی Integer در این قسمت قرار دارند.انواع این بلاک ها با شرح کارشان در جدول زیر آمده است.
ADD_I Addition of INT values
ADD_DI Addition of DINT values
SUB_I Subtraction of INT values
SUB_DI Subtraction of DINT values
MUL_I Multiplication of INT values
MUL_DI Multiplication of DINT values
DIV_I Division of INT values
DIV_DI Division of DINT values
ABS_I Absolute value of INT values
ABS_DI Absolute value of DINT values
EPS_I Accuracy; approximation of INT values
EPS_DI Accuracy; approximation of DINT values
NEG_I Inverter for INT values
NEG_DI Inverter for DINT values
MOD_I Modulo function of INT values
MOD_DI Modulo function of DINT values
MAXn_I Maximum of INT values
MAXn_DI Maximum of DINT values
MINn_I Minimum of INT values
MINn_DI Minimum of DINT values
LIM_I Delimiter for INT values
LIM_DI elimiter for DINT values
CADD_I Controllable adder of INT values
CADD_DI Controllable adder of DINT values
بلوک MULTIPLX:
در این شاخه لیست بلاکهای مالتی پلکسر Real قرار دارند.
بطور مثال بلوک زیر بین 4 ورودی real یک ورودی را انتخاب و به خروجی منتقل می نماید.
بلاک های شمارنده (COUNTER):
در این بخش سه نوع کانتر وجود دارند که برخلاف کانترهای معمولی که می توانند تا 999 بشمارند، به صورت integer کار می کنند و می توانند تا 32767 بشمارند.
- کانترCTD یک شمارنده کاهشی است.
- کانترCTU یک شمارنده افزایشی است.
- کانترCTUD یک شمارنده افزایشی- کاهشی می باشند.
بلاک های IMPULS:
در این قسمت سه دسته بلاک با مشخصات زیر وجود دارند.
AFP : تولید کننده موج مربعی با دوره تناوب دلخواه
F_TRIG : تشخیص لبه مثبت سیگنال
R_TRIG : تشخیص لبه منفی سیگنال
طرز کار بلاکهای دیگر نیز مشابه هم می باشند.
در قسمت بعدی با کتابخانه PCS7 آشنا می شوید.
ارسال یک دیدگاه