
کتابخانه PCS7:
تا اینجا در مورد انواع بلاک های پایه و CFC ابتدایی در PCS7 که شباهت زیادی هم با بلاک های plc و step7 داشتند مختصری توضیح دادیم. در اینجا به اصلی ترین و پرکاربردترین بلاک های PCS7 می رسیم. مهمترین بلاک های pcs7 که تفاوت زیادی هم با بلاک های قبلی دارند در این کتابخانه قراردارند. برخی از این بلاک های قدرتمند دارای قابلیت OCM هستند و پس از کامپایل کلی این بلاک ها در OS تگ ها و شکل های گرافیکی برای آنها ساخته می شود.
برخی از دسته بندیهای این کتابخانه بصورت زیر می باشد:

COM_FUN: فانکشن های تولید آلارم و فانکشن های ارتباطی
COMM: فانکشن های تبادل دیتا
CONTROL: فانکشن های مختلف کنترلی برای لوپ کنترل، ولو و موتور و…
CONVERT: فانکشن تبدیل
DP: فانکشنهای مخصوص Profibus-DP
DRIVER: درایورهای مربوط به کارت های آنالوگ و دیجیتال و وسایل فیلدباس
MAINT: فانکشن های عیب یابی مربوط به نگهداری تعمیرات
MATH: فانکشنهای محاسباتی پیچیده
MATH_FP: فانکشن ضرب real
MESSAGE: فانکشنهای مربوط به پیغام ها
OPERATE: فانکشنهای خاص عملیات اپراتوری
TIME: فانشکنهایی که زمان مربوط به OB1 را برمی گرداند
بلاک های DRIVER:
این بلاک ها جهت سیگنالهای ورودی و خروجی دیجیتال و آنالوگ و ارتباطات فیلدباس استفاده می شوند و به دلیل توانایی زیاد و امکانات عیب یابی که در ارتباط با سخت افزار دارند از اهمیت زیادی برخوردارند. سعی می کنیم اینجا با برخی از این بلاک ها آشنا بشویم.
بلاک CH_DI:
این بلاک خاص کانال های دیجیتال ورودی است و بصورت شکل زیر است:
ورودی MODE توسط کاربر مقدار داده نمی شود و پس از کامپایل خود بخود مقدار می گیرند و ورودی Value به آدرس کانال دیجیتال ورودی متصل می شود.
در صورتی که مشکلی نباشد مقداری که به ورودی Value داده می شود عینا به خروجی Q منتقل می شود. در این حالت خروجی QBAD که نمایشگر Quality Bad است صفر خواهد بود. این خروجی در حالت نرمال همین مقدار است.
اگر کارت از Rack بیرون کشیده شود، QBAD یک می شود. از QBAD برای تولید آلارم استفاده می گردد تا این خطا را هشدار دهد. برای این شرایط یا شرایطی که لازم است خروجی Q مدیریت شود تا مشکلی در فرایند رخ ندهد دو ورودی SUBS_ON و SUBS_I درنظر گرفته شده است.به این صورت که اگر QBAD صفر باشد این دو ورودی هیچ تاثیری روی خروجی Q ندارد ولی اگر QBAD یک باشد دراین صورت اگر SUBS_ON یک شود آنچه در ورودی SUBS_I وجود دارد به خروجی Q منتقل می شود و عملا ورودی Value بی تاثیر می شود.برای همین منظور معمولا خروجی QBAD را ورودی SUBS_ON متصل می کنیم.
ورودی LAST_ON نیز عملکردی مشابه SUBS دارد. یعنی تا زمانی که QBAD صفر باشد صفر و یک بودن این ورودی تاثیری در خروجی ندارد ولی اگر QBAD یک شود و ورودی LAST_ON یک باشد، در این صورت آخرین مقدار معتبر قبلی در خروجی Q حفظ می شود.
ورودی هایی که با SIM شروع شده اند برای سیموله سازی استفاده می گردند. اگر SIM_ON یک شود در این صورت آنچه در ورودی SIM_I وجود دارد به خروجی Q منتقل می شود. در حالت وضعیت QBAD تاثیری در خروجی ندارد. این ورودی ها برای تست یا در زمان هایی که سیگنال از فیلد مشکل دارد استفاده می گردند.
در خروجی Quality کد هگزا دسیمالی نمایش داده می شود که بیانگر کیفیت و وضعیت سیگنال است. از این کد بیشتر برای مقاصد تعمیراتی در OS استفاده می گردد.
State Quantity code
Valid value 16#80
Simulation 16#60
Last valid value 16#44
Substitute value 16#48
Invalid value 16#00
بلاک CH_U_DI:
این بلاک مشابه CH_DI ولی از نوع Universal است یعنی می توان هم برای کانال های کارت دیجیتال و هم برای شبکه Profibus_PA استفاده کرد.
بلاک CH_DO:
در CFC هروقت بخواهیم فرمان را به خروجی متصل کنیم از این بلاک استفاده می کنیم. این بلاک مشابه بلاک CH_DI است. بااین تفاوت که در خروجی به کار میرود.
ورودی I فرمانی است که به خروجی دیجیتال اعمال می گردد. خروجی Value به کانال دیجیتال خروجی متصل می گردد و پس از کامپایل ورودی Mode مقدار می گیرد.
هر بلاکی در PCS7 تعدادی ورودی یا خروجی مخفی دارد که برای نشان دادن این ورودی و خروجی های مخفی برروی بلاک کلیک راست کرده و گزینه object properties را انتخاب کنید. در آن صورت صفحه ای مانند شکل زیر باز می شود که قسمت اولش General مربوط به برخی مشخصات عمومی بلاک مثل شماره بلاک، شماره FC و خانواده بلاک گذاشته شده است.
با انتخاب تب دوم I/Os می توان I/O های مربوط به بلاک را مشاهده کرد. مشخصات این I/O ها و نوع آنها را می توان در ردیف های مختلف این جدول مشاهده کرد.
همانطور که مشاهده می کنیم I/O هایی که در این قسمت هستند بیش از I/O هایی هستند که برروی بلاک مشاهده می کنیم. دلیل این قضیه بخاطر این هست که این I/O ها مخفی هستند. برای نشان دادن آنها تیک مربوط به حالت invisible را بزنید تا این I/O ها از حالت مخفی در بیایند. در comment هر I/O می توان عملکرد و کار هریک را دید.
بلاک CH_DO دو ورودی مخفی START_ON و START_I دارد که می توان در صورت لزوم شرایط startup تعیین کرد که هنگام راه اندازی وضعیت خروجی صفر یا یک باشد. ورودی EN هم برای فعال کردن بلاک هست. با فعال کردن همه ورودی و خروجی های مخفی بلاک CH_DO بلاک زیر مشاهده می کنید.
بلاک CH_AI:
بلاک بعدی از زیر مجموعه کتابخانه pcs7 درایور CH-AI است. این بلاک برای کانال ورودی به کار می رود. این بلاک ورودی آنالوگ را scale کرده و به خروجی منتقل می کند همچنین امکاناتی برای عیب یابی و کنترل مدار آنالوگ دارد.
آدرس آنالوگ از جنس word بوده و به ورودی Value داده می شود. پس از اختصاص آدرس به ورودی value و کامپایل چارت ورودی MODE متناسب با سخت افزار مقدار میگیرد. در صورت بروز مشکل اتصال MODE برقرار نشده و خروجی QBAD مقدار یک می گیرد.
برای scale کردن آنالوگ دو ورودی از جنس real درنظر گرفته شده است. حد بالا به ورودی VHRANGE و حدپایین به ورودی VLRANGE داده می شود. خروجی VALUE مقدار Scale شده سیگنال آنالوگ را نشان میدهد.
شکل کار به این صورت است که در فیلد به طور مثال ترانسدیوسر فشار مقداری بین 1 تا 10 بار را اندازه گیری می کند سپس این مقدار در ترانسمیتر به 4-20ma تبدیل شده و به ورودی یک کارت آنالوگ 16بیتی ارسال می شود. خروجی این کارت آنالوگ عددی بین 0 تا 27648 می باشد که به cpu داده می شود. این همان مقدارورودی value است. با تعیین مقادیر vhrange و vlrange به مقادیر قابل فهم مثل 1 تا 10 بار این مقدار برای ما قابل فهم می شود.
عملکرد ورودی و خروجی های SIM_ON , SUBS_ON , QBAD , V_LAST مانند آنچه که در CH_DI گفته شد می باشد.
دوره آموزشی PCS7 زیمنس نرمافزار DCS در اینجا به پایان می رسد.
ارسال یک دیدگاه