زیمنس کنترل

کد : 44793

آموزش مقدماتی PLC S7-300 نمایندگی زیمنس، قسمت پانزدهم: آموزش دستورهای مقایسه ای

آموزش مقدماتی PLC S7-300 نمایندگی زیمنس، قسمت پانزدهم: آموزش دستورهای مقایسه ای

نمایندگی زیمنس در ایران شرکت زیمنس کنترل

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

دستورات مقایسه ای از آنجایی که از نامشان مشخص است، برای مقایسه استفاده می شوند. برای مثال در قسمت قبلی از آموزش که درباره رجیسترها و کانورترها در پی ال سی S7-300 زیمنس بود می توانیم از این دستورهای مقایسه گر استفاده کنیم، به این صورت که مقدار رجیستر (mw1) متصل به BCD تایمر خود را را به Integer تبدیل کرده و سپس آن را با استفاده از این دستورات با مقدار موردنظر مقایسه کرده و طبق آن دستورات خاصی انجام خواهد شد.

 

مثال کاربردی از دستورات مقایسه ای در پی ال سی S7-300 نمایندگی زیمنس

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

 

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

 

مثال کاربردی از دستورات مقایسه ای در پی ال سی S7-300 نمایندگی زیمنس

 

همانطور که در بالا می بینید یک کنتاکت باز در اول نتورک داریم که آن را به ورودی i0.0 متصل کرده و برای فعال سازی تایمر از آن استفاده می کنیم.

حال باید مقدار پایه BCD را به Integer تبدیل کنیم برای انجام اینکار از یک بلوک BCD_I که در پنجره Program Elements > منوی Converter قرار دارد و مقدار تبدیل شده آن را در رجیستر mw2 ذخیره خواهیم کرد که به صورت زیر انجام می شود:

 

مثال کاربردی از دستورات مقایسه ای در پی ال سی S7-300 نمایندگی زیمنس -02

 

همانطور که در عکس بالا مشاهده می کنید و در قسمت قبلی آموزش از این دستور استفاده کردیم مقدار زمان تایمر را به صورت لحظه ای از نوع BCD توسط پایه موجود در خود تایمر به نام BCD که رجیستر mw1 به آن متصل است ذخیره می کند و در بلوک پایین آن را به Integer تبدیل کرده و در رجیستر mw2 ذخیره خواهد شد. حال با مقایسه کردن رجیستر mw2 می توانیم دستوراتی را با درست بودن آن مقایسه انجام دهیم برای مقایسه تساوی از دستور EQ_I استفاده می شود که مختص به اعداد Integer می باشد:

 

مثال کاربردی از دستورات مقایسه ای در پی ال سی S7-300 نمایندگی زیمنس -03

 

همانطور که در عکس بالا می بینید یک بلوک EQ_I که برای مقایسه اعداد اضافه کردیم که نام آن به صورت خودکار به  CMP ==!  تغییر پیدا کرده است.

در عکس بالا ما مقدار پایه BCD را گرفتیم و آن را به Integer تبدیل کردیم و در mw2 ذخیره را به عنوان ورودی بلوک مقایسه گر که پایه IN1 و عدد 0 که عدد موردنظر ما  می باشد را به صورت دستی وارد پایه IN2 بلوک مقایسه گر کردیم.

 

خروجی نهایی مثال

 

مثال کاربردی از دستورات مقایسه ای در پی ال سی S7-300 نمایندگی زیمنس -04

 

در عکس بالا شبیه سازی مثالی که در این آموزش طراحی شد، توسط نرم افزار PLCSIM انجام شده است و این مدار به این صورت عمل می کند که با فعال شده ورودی i0.0 ، تایمر را فعال کرده و تایمر شروع به شماردن از عددی که شما برای پایهTV  آن در نظر گرفته اید می کند تا وقتی که به 0 برسد. وقتی که مقدار تایمر به صفر رسید که آن را از نوع BCD به Integer تبدیل می کنی و در بلوک EQ_I قرار داده و صفر را در پایه پایینی قرار می دهیم و تا مقایسه انجام شود که اگر شرط درست باشد یعنی w2 برابر با 0 باشد که درست است خروجی q0.0 ما روشن خواهد شد.

 

طراحی مثال کاربردی با استفاده از دستورات مقایسه ای در برنامه نویسی PLC S7-300

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

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

طراحی مثال موردنظر به صورت زیر انجام خواهد شد:

 

طراحی مثال کاربردی با استفاده از دستورات مقایسه ای در برنامه نویسی PLC S7-300

 

  • شاخه اول: در عکس بالا می بینید که یک کنتاکت برای راه اندازی و یک تایمر برای شمارش مانند مثال قبلی استفاده شده است.
  • شاخه دوم: در این شاخه مقدار ذخیره شده در MW1 را تبدیل به Integer کرده و در MW2 ذخیره شده.
  • شاخه سوم: در این شاخه شرط چک می شود اگر مقدار موجود در رجیستر mw2 مساوی 17 بود خروجی q0.1  روشن خواهد شد.
  • شاخه چهارم: در این شاخه شرط چک می شود اگر مقدار موجود در رجیستر mw2 کمتر یا مساوی 16 بود خروجی q0.1  روشن خواهد شد.