رفتن به مطلب

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

سلام دوستان

 

 

plc الان دیگه یه عضو غیر قابل حذف از صنعت بحساب میاد.

پی ال سی های مختلفی تو بازار ایران وجود داره از انواع آلمانی تا مدلهای مشابه چینی اونا

 

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

 

دلتا ساخت تایوان هست و در مقایسه با پی ال سی های بازار قیمت خیلی پایینی داره ولی در عین حال از قابلیتهای خیلی زیادی برخورداره

 

توی این تاپیک قصد دارم بخشهایی کاربردی از برنامه ریزی plc دلتا رو توضیح بدم

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

سلام دوباره

 

قبل از اینکه برنامه ریزی پی ال سی خودتونو شروع کنین باید اول اونو بشناسین. بدونین چیا داره و شما به چه چیزایی نیاز دارین

حتی باید بدونی سرعت سوئیچ کردن و تعداد دفعات اون تو کار شما چقدره و با چه قدرت و ولتاژی انجام میشه.

 

پی ال سی های ترانزیستوری معمولا با ورودی 24 ولت کار میکنن و نیاز به یه منبع تغذیه گرون قیمت 24 ولتی دارن درحالیکه پی ال سی های رله ای میتونن با ولتاژ 220 ولت و 24 ولت کار کنن. پس اگه قراره برا کنترل یه مدار فرمان ساده 220 ولتی با دفعات سوئیچ پایین استفاده کنین بهترین انتخاب یه پی ال سی رله ایه درحالیکه استفاده از رله ای برا کنترل یه تعداد زیاد شیر پنوماتیک با سرعت حرکت بالا (مثالا تو یه دستگاه جداکننده نامه) اصلا انتخاب درستی نیست...

 

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

.

 

خب چیزای دیگه ای هم تو انتخاب پی ال سی اهمیت دارن که دیگه تخصصی میشه. مثلا اگه قرار باشه یه انکودر رو با سرعت حرکت مشخص بخونین باید مطمئن بشین که پی ال سی شما توانایی این کارو داره. بیشتر پی ال سی های دلتا یه های اسپید کانتر داخلی دارن که میتونه پالسهای پی ال سی رو با سرعت 20 هزار پالس در ثانیه بخونه ولی اگه قرار باشه انکودر شما مستقیم به شفت یه موتور کوپل بشه ممکنه نیاز به انتخاب یه پی ال سی با سرعت بالاتر یا اضافه کردن یه اکسپنشن مخصوص به پی ال سی معمولی خودتون داشته باشین

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

حالا که مدل پی ال سی رو انتخاب کردین به یه نرم افزار مخصوص برنامه ریزی دلتا مثل WPLSoft نیاز دارین که میتونین از تو سایتش دانلود کنین

 

یا اینکه ازین لینک استفاده کنین

 

برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید.

 

با حجم 74 مگابایت

 

 

 

(لینک نرم افزار به روز شد به تاریخ 24/12/91 )

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

بعد از دانلود و نصب نرم افزار به یه کابل ارتباطی هم نیاز دارین که میتونین با از بازار با قیمت 40 هزار تومن تهیه کنین یا اینکه خودتون با هزینه 2 هزار تومن بسازین...

 

اگه خواستین کابلو بسازین میتونین ازین دیاگرام استفاده کنین:

 

cqd925gz55fhw3zgvsjl.jpg

 

 

 

دقت کنین که کابل باید به پورت rs232 پی ال سی وصل بشه

اگه بعد از ساختن کابل با مشکل عدم ارتباط مواجه شدین جای پینهای 3 و 5 طرف پی ال سی رو عوض کنین

نمیدونم چرا با اینکه این نقشه تو سایت خود دلتا هست ولی در عمل تو بعضی پی ال سی ها این جابجایی لازمه

 

برای تنظیم ارتباط بین پی ال سی و کامپیوتر، داخل برنامه wplsoft برین و تو منوی آپشن گزینه ی communication setting رو انتخاب کنین

اینجا نوع ارتباطو rs232 بزنین و پورت کام که قراره با اون به پی ال سی وصل بشینم انتخاب کنین. اگه از کامپیوتر دستکتاپ استفاده میکنین com1 باشه واگه از لپتاپ و تبدیل یو اس بی به سریال استفاده میکنین باید ببینین پورت کامی که بوسیله یو اس بی برا شما ساخته میشه چنده.

معمولا پورتهایی که رو کامپیوتر فعال هستن تو همین منو پیدا میشن.

 

پورت شماره 3 که مال مودمه و پورت شماره یک و دو پورتهای استاندارد دستکتاپ هستن... پس هرچی که از 4 ببعد باشه پورتهایی هستن که تبدیل یو اس بی برای شما ساخته و میتونین ازش استفاده کنین

باقی مشخصاتم باید با کامپیوترتون یکی باشه. توصیه میکنم بجای تغییر مشخصات پی ال سی، مشخصات پورت کامپیوترو تغییر بدین.

 

 

حالا اگه همه چی مرتبه از منوی communication گزینه ی plc information انتخاب کنین تا اطلاعات روی پی ال سی شمارو بخونه و متوجه بشین که ارتباط با پی ال سی برقراره...

  • Like 24
لینک به دیدگاه
  • 3 هفته بعد...

سلام دوستان

دوباره برگشتم

تو فکر بودم که شروع آموزش کجا باشه... ینی از ابتدا برنامه نویسی plc رو شروع کنم که بحث خیلی طولانی میشد یا اینکه فقط به نکات خاص plc دلتا اکتفا کنم که باز ممکنه بحث مبهم و غیر قابل درکی پیش بیاد.

فرض رو بر این گرفتم که دوستان با اصول برنامه ریزی آشنایی دارن و تصمیم گرفتم یا متوسطی از هردورو توضیح بدم ولی اگه دوستان متوجه مبحثی نشدن میتونن پست بدن تا اون قسمت خاصو بیشتر توضیح بدم

 

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

 

ورودی ها در plc های دلتا با حرف X شناخته میشن و خروجی ها با حرف Y یعنی بایت اول ورودی شما میشه X0 و بایت سوم خروجی میشه Y2

حتما میدونین که هر بایت هشت بیت هست که با شماره های 0 تا 7 شماره گذاری میشه. ینی بیت اول شماره 0 هست و بیت هشتم شماره 7در نتیجه بخوایم بیت سوم از بایت اول ورودی رو کنترل کنیم باید تو برنامه X1.2 رو کنترل کنیم

یا اگر بخوایم بیت پنجم از بایت سوم خروجی رو وصل کنیم باید تو برنامه دستور وصل Y3.4 رو صادر کنیم.

به همین سادگی

 

امانکته ای فراموش کردم بگم و باید مد نظر قرار بدین اینه که توی plc های دلتا دیگه از نقطه استفاده نمیکنیم و شماره هارو پشت سر هم میذاریم. یعنی بجای اینکه بنویسیم X3.4 مینویسیم X34 در این حالت plc عدد آخر رو بعنوان بیت خروجی و عدد قبلی رو بعنوان بایت در نظر میگیره. پس X125 در واقع معادل X12.5 هست یعنی بیت 5 از بایت 12

 

میخوام به زبان ساده تر برا دوستانی که تاحالا دست به plc نزدن بگم که اگه تو کتابای آموزش plc همش بحث بیت و بایت شد مثل من زیاد نترسین... ورودی های plc شما از اولین خونه با شماره x00 شروع میشه و تا x07 ادامه پیدا میکنه که اصطلاحا همون بایت اول ورودی هستن. و بعد از اون دیگه x08 ندارین چون هر بایت هشت بیته و بعد از 7 شما به بایت بعدی میرین و با x10 شروع میکنین

 

نکته ها:

1- به این نکته توجه کنین که ممکنه توی plc یا ماژولهای توسعه که بهش وصل میشن بعضی ازین ورودی یا خروجی ها غیر فعال باشن که در این صورت روی خود plc نوشته شده. مثلا ممکنه خروجی plc شما y10 تا y15 باشه و شماره 16 و 17 اون غیر فعال شده باشه

2- بخاطر داشته باشین که بایت اول و دوم ورودی و خروجی یعنی X1* , X0 و Y1* , Y0 مخصوص خود plc شماست و اگه از ماژولهای اضافه کردن درگاه ورودی خروجی استفاده کنین باید برا اونا از X20 و Y20 ببعد استفاده کنین

3- دقت کنین که هر ماژول خودش یه بایت جداگانه بحساب میاد و بسته به نزدیکی اون به plc شماره گذاری میشه. یعنی اگه شما دقیقا بعد از plc یه ماژول اضافه کردن درگاه ورودی 4 تایی داشته باشین ورودی شما تو برنامه با X20 تا X23 شناخته میشه و اگه یه ماژول 8 ورودی 4 خروجی بعد از اون باشه با X30 تا X37 و Y30 تا Y33 شناخته میشه و ماژول بعدی هم با شماره 5 و به همین ترتیب...

  • Like 24
لینک به دیدگاه
  • 3 هفته بعد...

حالا وقتشه با دانسته هامون اولین برنامه رو بنویسیم

 

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

عملی که انجام بدین همه چی جا میافته... :a030:

 

 

اول از همه برنامه wplsoft باز کنین که یه همچین صفحه ای داره:

 

gwr1om5gj7rx6nd83x3.jpg

 

 

حالا گزینه new رو از منو فایل انتخاب کنین یا آیکون مربوط به اونو بزنین تا با صفحه زیر مواجه بشین:

 

9plvxf7viyla7kui0r.jpg

 

قسمت select قسمتیه که مدل plc رو انتخاب میکنین. باید دقیقا همون مدلی باشه که قراره برنامه ریزیش کنین ولی اگه فقط قصد یادگیری دارین میتونین بیخیالش بشین...

باقی قسمتا هم که مشخصه دیگه

 

نهایتا به صفحه برنامه نویسی میرسین که بخش های مختلفی داره و میتونین به طرق مختلفی برنامه رو وارد کنین. چیزی که اینجا قراره توضیح بدیم فقط روش ladder هست که من بلدم....

صفحه برنامه نویسی ladder این شکلیه:

 

o63semp383pg6sepuzk.jpg

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

برای شروع یه برنامه کارهای زیادی میشه کرد که بستگی به نیاز و استفاده شما داره

 

ولی برا این آموزش از یه برنامه ساده شروع میکنیم

 

فرض کنین میخوایم اگر پایه دوم ورودی پی ال سی وصل بشه پایه پنجم خروجی هم همزمان وصل شه...

 

دانسته های ما اینه که پایه دوم پی ال سی یعنی X1 (چون پایه اول x0 هست) و پایه پنجم خروجی هم میشه Y4

 

الگوریتمی که قراره اجرا بشه یک خطه و اونم اینه: اگر x1 وصل شد آنگاه y4 وصل شود.

 

برای اینکه ورودی رو تشخیص بدین از یه الامان نرمال اوپن استفاده میکنین که علامتش این شکلیه: -| |-

و برای خروجی هم از المان output که علامتش این شکلیه: ( )

این علامتها رو میتونین تو آخرین ردیف زیر منون با رنگ آبی مشاهده کنین

 

بعد از زدن علامت ورودی نرمال اپن (یا کلید f1 کیبرد) صفحه زیر میاد که باید اطلاعات مورد نظرتونو توش وارد کنین:

 

df5r9ft2m4zhfgxempwp.jpg

 

 

قسمت device name اسم ورودی شماست که X انتخاب شده

قسمت device number شماره ورودی شماست که قراره ورودی دوم باشه پس عدد 1 رو وارد میکنیم

قسمت comment هم که بخش توضیحاته و میتونین هرچی دوست دارین توش بنویسین تا بعدا که خواستین برنامه تونو تغییر بدین راحتتر درکش کنین

 

بعد از اینکه کاراتون تموم شد میتونین با ok عملیاتو ثبت کنین

 

همین کارو برای خروجی هم انجام میدیم منتها با علامت ( ) (یا کلید f7)

 

 

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

 

bw38j7zpyc5tnal1d1e.jpg

  • Like 25
لینک به دیدگاه
ممنون مهندس جان دوباره اموزشتو شروع کردی:a030:

 

خواهش میکنم

دوست دارم تمومش کنم ولی یکم گرفتاریا نمیذاره دیر به دیر میام

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

خب دوستان برنامه قبلیو نوشتیم بصورتی که وقتی ورودی x1 فعال باشه خروجی y4 هم فعال میشه

تو این حالتی که ما نوشتیم اگه ورودی x1 دوباره قطع بشه خروجی y4 هم غیر فعال میشه

درست مثل کلید زنگ که وقتی دستتون روش باشه زنگ میزنه و دستتونو که بردارین قطع میشه...

دلیلش اینه که از خروجی out استفاده کردیم.

 

اگه بخوایم وقتی کلیدو رها میکنیم خروجی y4 همچنان وصل باقی بمونه باید بجای out از set استفاده کنیم

برای استفاده از set باید از نوار ابزار گزینه ی application instruction انتخاب کنین (یا کلید f6 رو بزنین) تا پنجره ای مشابه زیر ببینین:

 

 

8s7zjubrdynkrm40ujdx.jpg

توی پنجره باز شده از منوی پول دون روبروی application instruction گزینه ی set رو انتخاب کنین

حالا پنجره شما شبیه عکس زیر میشه. یعنی یه قسمت s و یه قسمت device number بهش اضافه میشه:

 

jx0mque915ya7w868rg.jpg

 

 

از منوی پول دون قسمت S گزینه ی y رو انتخاب کنین و جلوی device number هم که عدد 4 رو بزنین و ok کنین

 

میبینین که آخر برنامه شما تغییر کرد و به این شکل در اومد:

 

t1pgnxu2hnabj56578rj.jpg

 

شاید فکر کنین انتخاب دستورا یکم سخته و کلی منو و عدد باید انتخاب بشه ولی تا چند پست آینده روش خیلی ساده و راحتی رو برای برنامه نویسی به شما نشون میدم تا ببینین کار کردن با یه دلتا چقدر لذت بخشه... :a030:

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

اگه بخوایم برنامه قبلی رو تکمیل کنیم باید یه کلید خاموش هم به برنامه اضافه کنیم . یعنی مثل کلید استارت استاپ عمل کنه... اگه x1 زده بشه y4 روشن بشه و اگه مثلا x3 زده بشه y4 خاموش بشه

برای خاموش کردن یه خروجی باید از همون روش set کردن استفاده کنیم ولی تو قسمت application instruction بجای set باید از rst استفاده بشه (مخفف reset)

پس خط دوم برنامه رو هم به شکل زیر اضافه میکنیم :

 

 

3xa61ba2tqzsmcmky2mu.jpg

 

 

عموما توی پی ال سی ها خطهای آخر اولویت دارن. مثلا تو برنامه بالا اگر دو کلید x1 و x3 همزمان فشرده بشن پی ال سی اول خط اولو اجرا میکنه و y4 رو ست میکنه و بعدش تو خط دوم دوباره y4 رو ریست میکنه

البته این اتفاق تو خروجی نمیافته چون پی ال سی اول کل برنامه رو اجرا میکنه بعد خروجی هارو مینویسه. در نتیجه خروجی برنامه بالا اگر کلیدهای ورودی همزمان فشرده بشن میشه خاموش بودن y4

اما گاهی پیش میاد که توی برنامه جای این خطها عوض میشه. یعنی ممکنه شما چند جای مختلف از برنامه y4 رو ست کرده باشین و چند جای دیگه ریست ولی میخوای مطمئن باشین که اگر هر دوی اینا اتفاق بیافته خروجی شما حتما خاموش بمونه

در این صورت باید از کلید نرمال کلوز استفاده کنین که علامتش به این شکله: --|/|--

 

شکل زیرو ببینین:

 

vqnjckh1jx5ngbj7hdp9.jpg

 

 

تو این شکل تو خط اول اگر ورودی x3 که نرمال اپن هست بسته بشه خروجی شما ریست میشه

تو خط دوم اگر کلید x1 بسته بشه فقط در صورتی خط اجرا میشه که کلید x3 هم بسته نباشه یا به عبارتی دست شما رو کلید استاپ نباشه

 

 

از نرمال کلوز میشه برای سنسور ها و میکرو سوئیچها و غیره هم استفاده کرد. مثلا میشه کلید وصل رو مشروط به قطع بودن یه سنسور خاص گذاشت که مثلا به پایه x22 پی ال سی وصل شده

 

 

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

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

دوستان کتابی راجع به امزش پی ال سی دلتا موجود است؟

برنامه نویسی با پی ال سی زیمنس و دلتا چقدر تفاوت دارد؟:icon_razz:

 

سلام

برنامه نویسی همه پی ال سی ها شباهتایی باهم داره ولی زیمنس و دلتا توی عدد دهی به بیتها و بایتهای حافظه و محاسبات ریاضی کاملا با هم متفاوتن

تو برنامه ریزی پی ال سی زیمنس شما علاوه بر اینکه میتونین یک یا دو یا چهار بایت از حافظه رو عدد دهی کنین به تک تک بیتهای اون خونه ی حافظه هم دسترسی دارین. بنا بر این باید برنامه نویس حرفه ای تری باشین تا توی یه برنامه پیچیده اشتباه نکنین ولی دلتا اینجوری نیست. بیتهای قابل برنامه ریزی یه بخشن (m) و بایتها یه بخش کاملا جدا (d) و حتی لچ مموری ها هم یه رنج جداگانه دارن که تو زیمنس اینجوری نیست.

همین خاصیت دلتا باعث میشه برنامه نویسیش فوق العاده ساده و لذت بخش باشه...

 

برای کتاب راهنما پیشنهاد میکنم از داکیومتهای خود دلتا که تو سایتش گذاشته استفاده کنین که فوق العاده راحت شیوا توضیح داده و خیلی سریع متوجه میشین.

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

خب دوستان

درحال حاضر شما توانایی نوشتن یه کلید استارت استاپ رو دارین

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

 

v3cw1ecq16qi8g0aqo7d.jpg

 

حالا میخوام تایمر رو توضیح بدم

فرض کنیم میخوایم وقتی ورودی x1 فعال میشه خروجی y4 فعال بشه و بعد از 10 ثانیه دوباره خاموش بشه

تایمرها در plc دلتا مثل باقی دستگاهها با حرف T مشخص میشن و شماره بعدی اونا شماره ی تایمر در حافظه plc هست. البته این شماره ها فقط شماره ی تایمر نیستن بلکه نوع تایمر هم باهاشون مشخص میشه. اگه تو کاتالوگ یک برگی همراه plc که خریداری میکنین نگاه کنین مشخص کرده هر رنج عددی تایمرها چه رزولیشنی دارن و شما باید زمان عدد دهی این رزولیشن رو رعایت کنین.

مثلا اگر مشخص کرده که تایمر شماره ی 0 تا 9 یک صدم ثانیه ای هستن و شماره ی 10 تا 50 یک دهم ثانیه ای، شما اگر تایمر شماره ی 12 رو تو برنامه تون استفاده کنین و بخواین 20 ثانیه تایم بدین باید عدد 200 رو بعنوان مقدار زمان براش مشخص کنین. درحالیکه همین 20 ثانیه در تایمر شماره ی 2 میشه 2000

 

فعال شدن تایمرها مثل فعال شدن کلید خروجی out هست. یعنی هر لحظه که شرط فعال شدنش از بین بره تایمر هم صفر میشه و از کار میافته. بنابراین برای فعال نگه داشتن یه تایمر باید به شرط ورودی دقت کنین.

ما در مثال قبلی نمیتونیم ورودی فعال شدن تایمر رو کلید شستی x1 انتخاب کنیم چون با برداشته شدن دست از روی کلید تایمر هم غیر فعال میشه. در این شرایط یه راهش اینه که خروجی ست شده ی y4 رو بعنوان ورودی تایمر انتخاب کنیم چون y4 در حالت ست شده بعد از برداشته شدن دست همچنان روشن میمونه.

 

برای استفاده از خروجی تایمر هم باید در خط بعدی (یا هرجایی از برنامه که نیاز باشه) تایمر رو بعنوان یه کلید ورودی استفاده کنین که در این حالت فقط وقتی تایمر به عدد مورد نظرش برسه این ورودی فعال میشه.

 

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

 

821iy0ddv8660wx3lm62.jpg

 

T22 معرف تایمر شماره 22 هست که از تایمرهای یک دهم ثانیه ایه و K100 معرف مقدار زمان شماست که برابر ده ثانیه میشه.

 

برای انتخاب تایمر بشکل زیر عمل کنین

 

 

dlxtvdcfxdpb6o0r81eu.jpg

 

با کلید F6 وارد منوی application instruction میشین و در قسمت application instruction گزینه ی TMR رو انتخاب میکنین.

میبینین که تو قسمت explanation اسم تایمر رو مینویسه. حالا زیر همون قسمت جلوی S گزینه ی T رو انتخاب کنین و تو کادری که روبروش باز میشه عدد تایمر مورد نظرتونو بزنین.

بعد قسمت جلوی D گزینه ی K رو انتخاب کنین و تو کادر روبروش مقدار زمان مورد نظرتونو متناسب با نوع تایمر بزنین. ( گزینه ی K در برنامه ریزی دلتا به plc میگه که قراره یه عدد ثابت انتخاب بشه. استفاده از متغیرها رو برای تایمر بعدا توضیح میدم)

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

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

برای ایجاد یک کانتر درست همون کاری رو انجام میدین که در تایمر انجام دادین با این تفاوت که بجای TMR گزینه ی CNT رو انتخاب میکنین

 

فرض کنین میخواین یه دستگاه بسته بندی بسازین که بعد از زدن یک کلید یه نوار نقاله کار کنه و 10 تا از یه وسیله رو توی کیسه ی شما بندازه و بعدش موتور نوار نقاله خاموش بشه

برای این کار مثلا شستی فرمان رو به ورودی x1 و سنسور تشخیص وسیله هارو به ورودی x3 وصل میکنیم و خروجی y4 هم به موتور نوار نقاله

 

به این نمونه برنامه توجه کنین:

 

 

wm2en8ngdogu62vftf.jpg

 

تو این برنامه وقتی که شستی فشار داده میشه موتور شروع به حرکت میکنی. و زمانی که سنسور چیزی رو احساس کنه و فرمان بده شمارنده ی ما یک عدد میشمره.

وقتی که این اعداد یه 10 رسید (همون عددی که جلوی K تو برنامه تعریف شده) کانتر C2 به حالت روشن در میاد و باعث میشه خروجی موتور خاموش بشه.

 

برنامه بالا بنظر برنامه درستی میاد ولی دوتا اشکال کوچیک داره که یکیش همون اول خودشونو نشون میدن و اون یکیش ممکنه بعدها توی کار خودشو نشون بده.

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

 

خب اشکال اول اینه که وقتی برنامه اجرا بشه و کانتر ما شروع به شمارش کنه و بعد از 10 تا موتورو خاموش کنه بعدش چه اتفاقی میافته؟ کانتر روی عدد 10 هست و زمانی که شستی فشار داده بشه موتور راه نمیافته. یعنی برنامه عملا یک بار اجرا میشه .

برای رفع این مشکل باید به طریقی کانتر رو دوباره صفر کنین. این کار در دلتا براحتی با استفاده از دستور RST که برای خروجی ها استفاده میشد قابل اجراست و میشه شرط قطع بودن خروجی y4 رو برای ریست کردن کانتر استفاده کرد. یعنی برنامه به این شکل در میاد و میشه بارها ازش استفاده کرد:

 

stbjf71eojior9h3wfq1.jpg

 

که البته تو این یکی تصویر عدد تعداد شمارش 3 تا هست.

در این برنامه ها فقط از اعداد ثابت استفاده کردیم ولی میشه بجای اون عدد ثابت از یه متغیر استفاده کرد و بوسیله یه اینترفیس مثل HMI یا محاسبه این عدد در جاهای دیگه ی برنامه یه کانتر قابل انعطاف داشت.

 

اشکال دومی هم که تو برنامه اولی ما وجود داشت رو تو تاپیک بعدی براتون توضیح میدم.

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

دوستان من یه سوال داشتم در plc های دلتا منظور از رله های داخلی یا internal relay چیه توی نرم افزارشم مثل ورودی و خروجی قابل ست و ریست کردن من یه سری es2 دارم و با هاش کار میکنم ولی بازم نفهمیدم این رله داخلی چیه که توی نرم افزار با حرف m مشخص شده . لطفا اگه کسی میدونه یه راهنمایی منو بکنه . ممنون

  • Like 6
لینک به دیدگاه
دوستان من یه سوال داشتم در plc های دلتا منظور از رله های داخلی یا internal relay چیه توی نرم افزارشم مثل ورودی و خروجی قابل ست و ریست کردن من یه سری es2 دارم و با هاش کار میکنم ولی بازم نفهمیدم این رله داخلی چیه که توی نرم افزار با حرف m مشخص شده . لطفا اگه کسی میدونه یه راهنمایی منو بکنه . ممنون

 

 

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

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

اینجور وقتا میتونی از اون رله داخلی M استفاده کنی.

باین صورت که با فعال شدن ورودی بجای اینکه مستقیما تایمر رو فعال کنین یکی از حافظه های M رو ست میکنین و همونو برای ورودی تایمر بکار میبرین. اینجوری با برداشتن دست از روی شستی بازم اون حافظه M یا همون رله داخلی فعال میمونه و تایمر بکار خودش ادامه میده.

ولی برای اینکه برنامه تون درست کار کنه باید یه جایی از برنامه دوباره این رله داخلی رو ریست کنین (مثلا با تموم شدن تایمر)

 

اگه نتونستم درست بیان کنم بگین تا نمونه برنامه هم بذارم

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

اشکال دوم تو برنامه شمارنده ها این بود که اگر دست شما روی شستی وردی باقی بمونه و کانتر به عدد نهایی برسه (مثلا سرعت کار دستگاه خیلی سریع باشه) تو یه لحظه خروجی از کار میافته، کانتر صفر میشه، و این بسته به سرعت پی ال سی انقد سریع انجام میشه که قبل از اینکه ورودی کانتر قطع بشه (مثلا جسم از جلوی سنسور کنار بره) دوباره خط اول برنامه اجرا میشه و کانتر یه شماره جلو میره. یعنی عملا هم خط قطع نمیشه هم کانتر یه دونه کم میشمره

 

برای رفع این مشکل باید از لبه ها استفاه کرد.

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

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

 

وقتی از یه لبه تو شرطتون استفاده میکنین پی ال سی فقط لبه رو درنظر میگیره. یعنی وقتی ورودی رو با یه لبه پایین رونده استفاده کنین زمانی که کلید شستی ورودی رو فشار میدین پی ال سی هیچ کاری انجام نمیده و زمانی عکس العمل نشون میده که شما شستی رو رها کنین. یعنی ولتاژ ورودی از 24 به 0 افت پیدا کنه.

 

تو بیشتر پی ال سی ها این لبه ها با حروف P و N نمایش داده میشه ولی تو دلتا با فلش روبه بالا و رو به پایین که داخل رله ی ورودی میافته مشخص میشه.

 

 

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

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

 

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

 

 

g78zhagcxxnyqmohoz7.jpg

 

 

حتی میشه برای ورودی کانتر از لبه پایین رونده هم استفاده کرد تا مثلا مطمئن شد که جسم از جلوی سنسور عبور کرده و کنار رفته

مثل این:

 

 

nuf6wg51hp7szo62a699.jpg

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