رفتن به مطلب

ارسال های توصیه شده

با ذکر یک مثال میتونیم بیشتر با این بلاکها و دستورات آشنا بشیم

دو ترانسیمتر فشار که بین 0 تا 10 بار کالیبره شده اند فشار یک مخزن را اندازه میگیرند و به دو کانال از دو کارت آنالوگ مجزا متصل هستند. برنامه ای بنویسید که شرایط زیر را داشته باشد:

در شرایط نرمال که هیچ یک از ترانسمیترهای با کارت آنالوگ مشکلی ندارد بین این دو مقدار ماکزیمم را مبنا قرار بده

وقتی qbad یکی از این دو یک شد مقدار دیگری را مبنا قرار دهد

اگرفشار از 9 بار بیشتر شد آلارم فشار بالارا نشان دهد

اگر qbad هر دو یک شد مقدار فیکس 9.1 بار را مبنا قرار دهد و خطای دو وسیله ظاهر گردد

 

  • Like 7
لینک به دیدگاه

حال تک به تک به موارد خواسته شده در مثال می پردازیم.

اول از همه برای دو ترانسمیتر فشار که بین 0 تا 10 بار کالیبره شده اند نیاز به دو بلاک کارت آنالوگ (CH_AI) هست. لذا دو بلاک CH_AI را که VHRANGE آنها روی 10 تنظیم شده است را اضافه میکنیم.

 

بلاک دیگری که با توجه به درخواست اول در نظر میگیریم بلاک مقایسه هست که مقدار بین دو ترانسمیتر را مقایسه میکند. اما خب در اینجا باید حالتهای مختلف QBAD را نیز در نظر بگیریم و برای حالتهای مختلف QBAD یک خروجی در نظر بگیریم.

 

در اینجا ما 4 حالت داریم. وقتی QBAD هردو صفر باشد یعنی ترانسمیترها در وضعیت نرمال قرار دارند. وقتی QBAD بلاک آنالوگ اول یک باشد یعنی ترانسمیتر اول مشکل دارد . وقتی QBAD آنالوگ یک باشد یا هر دو یک باشند.

 

یکی از کاربردی ترین بلاکهای cfc بلاکی است که با توجه به مقدار بولین در ورودی خود یک مقدار با فرمت word میدهد..در اینجا با استفاده از بلاک مشخص میکنیم کدام حالت برای ترانسمیترهای اتفاق افتاده است.بلاک تبدیل B_W میتواند منظور ما را به راحتی برساند.. بعد از مشخص شدن حالت اتفاق افتاده برای ترانسمیترها نوبت به تعیین یک خروجی با توجه به مقادیر ورودی و QBAD ها هست. برای این منظور میبایست از بلاک مولتی پلکسر MUX4_R استفاده کنیم. ورودی انتخاب این مولتی پلکسر را خروجی حالتهای مختلف QBAD وصل می کنیم. حال در اینجا با توجه به حالتهای مختلف خواسته شده در سوال ورودیهای این مولتی پلکسر را متصل میکنیم.

 

در حالت اول QBAD ها صفر هست . ورودی in0 انتخاب میشود که همان مقدار ماکزیمم بین دو ورودی ترانسمیتر هست. در حالت دوم و سوم که یکی از QBAD ها یک میشود ورودی in1 یا in2 هرکدام به ترانسمیتری وصل هستن که مقدار QBAD آن صفر و در حالت نرمال هستند. در حالتیکه هردو QBAD یک باشند ورودی چهارم انتخاب میشود که مقدار ثابت 9.1 دارد.

506ed8goy08q8h5btb48_thumb.jpg

 

شاید این مثال اولش یکم به نظر سخت بیاد ولی با تحلیل خوب اون میتونید با شکلهای مختلف برنامه نویسی PCS7 بیشتر آشنا بشید. با ذکر مثالهایی برای خودتون تو این قسمت بیشتر تجربه کسب کنید. اگه سوالی داشتید بازم در خدمتم

امیدوارم به کمک هم بتونیم مطالب بیشتری در این خصوص یاد بگیریم

 

  • Like 8
لینک به دیدگاه
  • 2 هفته بعد...
  • 3 هفته بعد...
جناب استاد از راهنمايي شما خيلي سپاسگزارم اگر امكانش هست تست وعيب يابي بلاك pcs7

 

خواهش میکنم برای تست و عیب یابی بلاکهای pcs7 ورودی-خروجی های زیادی در بلاکها در نظر گرفته شده. بطور مثال در صورتیکه آدرس غلط و درسخت افزار وجود نداشته باشد ورودی mode در بلاک ظاهر نمیشه. خروجی qbad یکی از کاربردی ترین ابزار برای تست بلاک هست که در صورتیکه این خروجی یک شود مشکلی در بلاک یا در ورودیش وجود دارد. همونطور که پیشتر گفتیم میتوان از ورودیهای subs_on ,subs_i و last_on , sim_i نیز برای مدیریت خروجی بلاک در صورتیکه با اشکال مواجه شده است استفاده کرد.

  • Like 4
لینک به دیدگاه
  • 2 هفته بعد...

این روزا یکم سرم شلوغه بابت تاخیر در بروزرسانی این مطلب از دوستان پوزش می طلبم. خوشحال میشیم تو این میان از اطلاعات شما نیز استفاده کنیم.

 

بلاک CH_AO

 

این بلاک همانند CH_AI میباشند با این تفاوت که برای کارت آنالوگ خروجی بکار می رود. ورودی این بلاک real و خروجی آن یک مقدار word میباشد . این مقدار به یک مبدل D/A فرستاده شده و از آنجا با تبدیل به ولتاژ یا جریان به وسیله مورد نظر ارسال میشود.

مقدار real حاصل از نتایج برنامه pcs7 به این بلاک داده میشود تا آنرا در رنج مورد نظر unscale کند. حدود unscale توسط ورودی های UHRANGE و ULRANGE تعیین میگردد.

 

8mzatyb4naojyjj9sgq5.jpg

 

اگر ورودی LIMIT_ON یک شود میتوان دو حد پایین و بالا تعریف کرد تا اگر مقدار U از آن حدود تجاوز نمود به حدود ذکر شده محدود گردد. به این صورت که اگر U>V_HL شود خروجی برابر با V_HL می شود و اگر U

ورودی PHYS_LIM در حالت عادی صفر است و نتیجه آن این است که اگر سیگنال U>UHRANGE شود خروجی به 20 میلی آمپر محدود خواهد شد.

 

لیست کامل ورودی خروجی های CH_AO در جدول زیر آمده است:

 

epzntrsxitreqt3nti4s_thumb.jpg

  • Like 2
لینک به دیدگاه
  • 5 هفته بعد...
  • 5 هفته بعد...
استاد جون ارتباط wincc با pcs7 توضيح مختصري بده ممنون ميشوم با تشكر از استاد گرامي

 

از دوستان بابت تاخیر در بروز رسانی این تاپیک معذرت میخوام. دوست عزیز شما اگر مراحل بیان شده در مورد پیکربندی OS و AS و شبکه بندی آنها را که در صفحات اول و دوم همین تاپیک آمده است درست اجرا کنید مشکلی جهت اتصال با wincc ندارید . در آنصورت میتوانید جهت تست و شبیه سازی نیز میتوانید از plcsim هم استفاده کنید بطوریکه تغییراتی که در شبیه ساز اعمال میکنید بر روی شمای گرافیکی wincc هم قابل نمایش هست ضمن اینکه در صورت استفاده درست از ماژولهای wincc میتوانید همین تغییرات رو هم از طریق wincc اعمال و مشاهده کنید. اگه مشکلی داشتید بازم من در خدمتم

  • Like 3
لینک به دیدگاه

بلاک های کنترلی

 

بلاک DEADT_P

این بلاک به اندازه تعداد سیکل مشخص شده, بین ورودی و خروجی تاخیر می اندازد. تعداد سیکل ها به ورودی DEADT داده می شود.

بلاک DIF_P

این بلاک بصورت مشتق گیر عمل میکند .رابطه بین ورودی U و خروجی V بصورت زیر است:

V(s)=TD*s/(TM_LAG*s+1)*U(s)

خروجی V بین دو حد V_HL و V_LL محدود می گردد و درصورتیکه به این حد برسد خروجی OVHL یا OVLL یک می شوند.

بلاک INT_P

این بلاک رفتار انتگرال گیر را شبیه سازی می کند.مقدار V بین دو حد بالا و پایین V_HL و VLL محدود می گردد

بلاک LIMITS_P

این بلاک ورودی U را بین دو حد محدود کرده و به خروجی می فرستد. ورودی HYS برای جلوگیری از نوسان در خروجی بکار می رود.

xjglbiyyvunwhph4rpi_thumb.jpg

  • Like 4
لینک به دیدگاه

بلاک های با قابلیت OCM

 

نوبت میرسه به برخی بلاکهای کنترلی pcs7 که قابلیت OCM دارن میرسه. این بلاک ها رو میشه بارزترین و متفاوت ترین بلاکهای PCS7 نسبت به بلاکهای معمولی plc دونست. بلاکهایی که علاوه بر امکانات کنترلی امکانات مانیتورینگ هم دارند. هنگام استفاده از این بلاکها امکانات بطور اتوماتیک و پس از کامپایل OS ایجاد میشود.

 

این قابلیت امکاناتی مانند ایجاد تگ های مربوط به بلاک , ایجاد faceplate با شکل های مناسب با امکانات کنترل و مانیتورینگ , ایجاد الارم و... را ایجاد میکنه. برای اطلاع از اینکه بلاکی قابلیت OCM داره یا نه میتوانیم روی بلاک کلیک راست کرده و با دیدن properties اگر کنار OCM possible فعال بود یعنی این بلاک قابلیت ocm دارد.

 

b9lj18ayq8nutlrwl9q8.jpg

  • Like 5
لینک به دیدگاه

بلاک DIG_MON

 

این بلاک برای مانیتور کردن سیگنال های دیجیتال به کار می رود. به اینصورت که هر مقداری به ورودی I داده می شود فورا به خروجی منتقل می گردد. ورودی Supptime برای ایجاد تاخیر بین ورودی و خروجی برحسب ثانیه بکار می رود. این ورودی معمولا برای حذف نوسانات سوئیچهای ورودی –خروجی کاربرد دارد. ورودی CSF یک ورودی کنترلی از سایر قسمتهای برنامه هست که در صورتیکه بروز خطا در قسمتهای دیگربا یک شدن این ورودی این بلاک عمل نمیکند.

w9h1se5zquf4rgxjx019_thumb.jpg

 

با دابل کلیک کردن بر روی بلاک میتوانیم مشخصات بلاک را ببینیم همینطور در صورت نیاز میتوانیم پایه های مخفی این بلاک را فعال کنیم. با کلیک بر روی Message میتونیم پیغامهای ورودی MSG_CLASS را به دلخواه تعریف کنیم.

6kj05xb3l39yb4y0yg_thumb.jpg

pw2wgczx1lg99snziiwb_thumb.jpg

 

برای فعالسازی امکانات OCM لازم است پس از برنامه نویسی و کامپایل در CFC و انجام تنظیماتی که قبلا اشاره کردیم روی OS کلیک راست کرده و گزینه کامپایل را انتخاب کنیم.بعد از طی مراحلی کامپایل شروع می شود.

otdyf9ndj6hpo1uw0f_thumb.jpg

hda59rljlsj3lgfpdgyk_thumb.jpg

 

پس از اتمام کامپایل روی OS راست کلیک کرده و open object را انتخاب میکنیم تا پنجره os باز شود.

7zeyrnbs8fhkhbvev5yl_thumb.jpg

 

با انتخاب علامت run بر روی پنجره os کامپایل wincc انجام شده و پنجره ای مانند شکل زیر که مربوط به بلاک DIG_MON است باز می شود. دقت داشته باشید برای مشاهده faceplate مربوط به بلاک مربوطه می بایست از طریق ایکن سمت چپ بالا وارد همان سطح شویم.

9z9dn007a9wsh8wiuu4q_thumb.jpg

 

با یک کردن ورودی از طریق شبیه ساز plcsim مشاهده میکنیم که ایکن DIG_MON نیز برروی صفحه wincc سبز می گردد.

anhoehmbcr9703whf0s_thumb.jpg

 

برای دیدن بهتر عکسها در اندازه واقعی روی آنها کلیک کنید

  • Like 5
لینک به دیدگاه
  • 4 ماه بعد...

بلاک Motor

 

این بلاک از کاربردیترین بلاکهای کنترلی pcs7 با قابلیت ocm است که دارای امکانات زیادی از جمله استفاده از فیدبک و سوئیچهای حفاظتی برای کنترل یک موتور می باشد.

k6muemvc8w64iuguq1u.jpg

 

ورودی و خروجی ها

 

LOCK : اگر سیستم در مد manuel باشد با یک شدن این ورودی موتور در صفحه faceplate رو حالت stop قفل می شود.

LOCK_ON : اگر سیستم در مد manuel باشد با یک شدن این ورودی موتور در صفحه faceplate رو حالت start قفل می شود.درصورتیکه هردو ورودی یک شوند اولویت با حالت stop است.

AUTO_ON: با صفر و یک کردن این ورودی فرمان قطع و وصل به موتور اعمال می شود.

L_RESET: این ورودی برای ریست کردن خطای watchdog و خطای حفاظت موتور بکار میرود. برروی صفحه faceplate نیز ایتمی دارد که میتوان با آن عمل ریست را انجام داد.

MSS : این ورودی مربوط به سوئیچ حفاظتی موتور می باشد و بصورت نرمال بسته است و درصورت خطا قطع میشود. با صفر شدن این ورودی فرمان برداشته شده و الارم ظاهر میگردد.

CSF : این ورودی همانند بلاکهای قبلی می باشد و در صورت بروز خطا در آن بلاکها به این ورودی اعمال شده و بلاک را غیرفعال می کند.

FB_ON : فیدبک موتور رو به این ورودی وصل میکنیم. این ورودی میتونه از کنتاکت موتور گرفته شده یا بصورت نرم افزاری شبیه سازی شده و خروجی موتور را به این ورودی متصل کنیم . بدون برقراری این فیدبک موتور راه نمی افتد.

QC_FB_ON و QC_STAR : این ورودیها برای نمایش کد کیفیت بکار می رود.

LIOP_SEL : با این ورودی متونیم تعیین کنیم که کنترل از طریق برنامه است (Linking) یا کنترل از طریق Faceplate (Operator) انجام میپذیرد. اگر این ورودی صفر باشد اپراتور میتواند از طریق faceplate هریک از حالتهای MAN/AUTO را انتخاب کند. و اگر این ورودی یک باشد براساس ورودی AUT_L تعیین می شود.

AUT_L : در حالت AUT_L=0 مد کاری manuel انتخاب شده و کلیدهای استارت و استاپ برروی برای اپراتور فعال است . درصورتیکه AUT_L=1 مد کاری auto بوده و هیچیک از کلیدها فعال نمیباشد

MONITOR : با یک شدن این ورودی یعنی فیدبک مورد نیاز است و درصورتیکه در زمان انتظار تعیین شده فیدبک نرسد فرمان از خروجی برداشته شده و خطای watchdog ظاهر میشه و تا زمان ریست مجددا فرمان نمیگیرد.

FAULT_OFF و MSS_OFF : در صورتیکه این ورودی ها یک باشند در صورت فالت موتور OFF می گردد و اگر هریک از آنها صفر باشند در صورت فالت الارم ظاهر شده اما موتور در وضعیت ON به کار خود ادامه می دهد.

QSTART , QRUN و QSTOP : بعد از فعال شدن start از faceplate ورودی AUTO_ON یک می شود. در این زمان رنگ موتور چشمک زن است پس از گذشت زمان Mnitoring اگر فیدبک برسه رنگ موتور ثابت شده و خروجی QRUN یک می شود (خروجی بسمت کنتاکتور موتور) وقتی موتور OFF بشه خروجی QSTOP یک میشود.

QMSS_ST : زمانی که خطای Protection داریم این خروجی یک می شود.

QMON_ERR : زمانیکه خطای مانیتورینگ ناشی از نرسیدن فیدبک داریم این خروجی یک می شود.

QGR_ERR : هر نوع خطایی پیش بیاد این خروجی یک میشود.

QMAN_AUT : اگر یک باشد مد کاری AUTO و اگر صفر باشد مد کاری MANUAL می باشد.

 

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

mg9iflcwhf3g5z7iue_thumb.jpg

4pnb3h3uu7k6veamzq62_thumb.jpg

برای دیدن بهتر عکسها در اندازه واقعی روی آنها کلیک کنید

  • Like 6
لینک به دیدگاه
  • 4 ماه بعد...
  • 4 ماه بعد...

سلام

درود بر مهندس و استاد عزیز

بسیار محبت کردید و اطلاعات گرانبهاتون اینجا دراختیار عموم گذاشتید.

انچه مسلم هست مخاطبین این مبحث بسیار کم هستند.

من برای شما ارزوی توفیق و سلامتی دارم.

محمد

  • Like 5
لینک به دیدگاه
  • 1 ماه بعد...

با تشکر از دوستانی که خیلی لطف داشتند و عرض معذرت بابت تاخیرم در بروزرسانی این تاپیک قسمت دیگری از این آموزش رو که شامل بلاک valve می باشد رو براتون میذارم

 

بلاک VALVE

از این بلاک برای کنترل ولو استفاده می شود و دارای امکانات کنترلی و مونیتورینگ مختلف مانند کنترل (auto/manuel) , بررسی فیدبک های باز و بسته و الارمها و فالتها استفاده می شود. فیدبک های باز و بسته رو میشه از میکروسوئیچهای ولو که به ورودی کارتهای دیجیتال وصل هستن گرفت.

sjovjw7s70522k0dk5in_thumb.jpg

 

ورودی ها و خروجی ها

AUTO_OC) Auto open close ) : این ورودی در مد Auto هنگامی که یک باشد ولو باز و اگر صفر باشد ولو بسته می شود.

 

VL_OPEN , VL_CLOSE : این ورودی برخلاف AUTO_OC که به تنهایی عمل میکند در زمانی که عمل باز و بسته شدن رو با دو سوئیچ مختلف انجام میدهد استفاده می شود. در صورتیکه VL_OPEN یک شود ولو باز و درصورتیکه VL_CLOSE یک شود در هرصورت(حتی اگر VL_OPEN یک باشد) ولو بسته میشود.

 

FB_OPEN , FB_CLOSE : در صورتیکه ورودی monitor روشن باشد اگه ورودی FB_OPEN برسد خروجی یک میماند در غیر اینصورت خروجی صفر شده و خطای watchdog ظاهر می شود. همین مساله برای ورودی FB_CLOSE نیز صادق است.

 

SS_POS )safe position) : این ورودی برای انتخاب حالت نرمال ولو بکار می رود. ولوهایی که در حالت بی برقی بسته و بعد از برق دار شدن باز می شوند حالت normal close بوده و خروجی QCONTROL در ابتدا صفر و بعد فرمان QCONTROL یک خواهد شد. برای ولوهایی که در ابتدا باز و پس از فرمان بسته می شوند حالت normal open هستند . در این وضعیت خروجی QCONTROL یک و وقتی فرمان open داده می شود خروجی QCONTROL صفر می شود.

 

QCONTROL : خروجی اصلی بلاک که به ولو متصل است می باشد.

 

QOPENING , QOPENED : وقتی فرمان OPEN اعمال می شود تا زمان تعیین شده Time_mon سپری نشده QOPENING یک و بعد رسیدن فیدبک QOPENED یک می شود.

 

QCLOSING,QCLOSED : وقتی فرمان CLOSE اعمال می شود تا زمان تعیین شده Time_mon سپری نشده QCLOSING یک و بعد رسیدن فیدبک QCLOSED یک می شود.

 

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

 

ithk0is8fmiy8ij1lcrv_thumb.jpg

rlgckhdtclp5eedgbdo0_thumb.jpg

j5s9imypsw887evg5yz_thumb.jpg

برای دیدن بهتر عکسها در اندازه واقعی روی آنها کلیک کنید

  • Like 3
لینک به دیدگاه
  • 4 ماه بعد...

سلام خدمت دوستان.

 

ن وقتی پروژه می سازم.آخرش pcs7 wizard(2270:150)

چی کار کنم.

بعدش وارد پروژه نمیشه و باید اپن پروجکت بزنی و پروژه ساخته شده رو باز کنی.

وقت کار با نرم افزار هم برا درج hmi با مشکل مواجه میشه و درج نمیکنه و خطای زیر رو میده

insert (1230:150)

  • Like 4
لینک به دیدگاه
سلام خدمت دوستان.

 

ن وقتی پروژه می سازم.آخرش pcs7 wizard(2270:150)

چی کار کنم.

بعدش وارد پروژه نمیشه و باید اپن پروجکت بزنی و پروژه ساخته شده رو باز کنی.

وقت کار با نرم افزار هم برا درج hmi با مشکل مواجه میشه و درج نمیکنه و خطای زیر رو میده

insert (1230:150)

 

یعنی چی درست متوجه منظورتون نشدم پروجکت بعد تنظیم ویزارد ساخته نمیشه ؟ :ws38:اینا که زدین ارورشه؟

  • Like 3
لینک به دیدگاه
×
×
  • اضافه کردن...