درسنامه آموزشی نصب و راه اندازی سیستمهای کنترلی مکاترونیک کلاس دوازدهم مکاترونیک
پودمان 3: نصب و راه اندازی کنترل کنندههای منطقی
بشر از زمانهای دور به دنبال روشهای کنترل دستگاههای صنعتی و تکامل بخشیدن به آنها بوده و آنها را برای کنترل دستگاهها به کار گرفته است ولی در چند دههٔ اخیر با پیشرفت فناوری و روی کار آمدن ریزپردازندهها تحول چشمگیری در فرایندهای کنترلی به وجود آمده است.
یکی از این تحولات، به کارگیری علم اتوماسیون است که با استفاده از «PLC» به اجرای پروسههای صنعتی و ساختمانی پرداخته است. در اکثر پروسههای صنعتی حلقههای کنترلی به «PLC» ختم میشود که به عنوان مغز متفکر سیستم کنترل پروسه را در اختیار دارد. این سیستم علاوه بر داشتن توانایی بالا در کنترل فرایندها، برای گرایشهای مختلف علمی، از قابلیت برنامه نویسی بسیار سادهای برخوردار است و به راحتی به دستگاه ها متصل میشود.
این تواناییها باعث شده است که کاربرد «PLC» در صنعت توسعهٔ چشمگیری پیدا کند و نیاز به یادگیری آن نیز کاملاً احساس شود.

واحد یادگیری 3: شایستگی انتخاب سختافزار مناسب برای کنترل فرایند
هدفهای این شایستگی عبارتاند از:
- توانایی شناخت سختافزار و بررسی انواع مدلها، بررسی رله حالت جامد (SSR) و استفاده جهت راهاندازی موتورهای الکتریکی؛
- توانایی انتخاب سختافزار مناسب، با توجه به مزایا و معایب محصولات شرکتهای مختلف سازندۀ کنترلکنندههای منطقی؛
- توانایی انتخاب سختافزار، با توجه به تعداد اِلمانهای کنترلکننده و کنترلشونده همراه با تعیین مدل و تهیۀ فهرست خرید قطعات؛
- توانایی سیمکشی ورودی و خروجیهای «PLC» برای اِلمانهای مختلف؛
- توانایی نصب نرمافزار «wpl soft» و «Isp soft» روی رایانه و بررسی تفاوت آنها؛
- توانایی استفاده از دستورات و توابع مختلف در برنامهنویسی؛
- توانایی انتقال برنامه نوشتهشده در نرمافزار به سختافزار؛
- توانایی هماهنگکردن نرمافزار با سختافزار و راهاندازی سیستم با «PLC»
- توانایی راهاندازی یک ربات صنعتی.
استاندارد عملکرد
پس از اتمام واحد یادگیری و کسب شایستگی، هنرجویان قادر خواهند بود با انتخاب و به کارگیری جهت اتوماسیون، برنامهریزی و پیادهسازی کنترل فرایند توسط «PLC» اقدام کنند.
فعالیت (صفحه 85 کتاب درسی)
مزایای «PLC» را نسبت به مدارهای رلهای، بررسی کنید.
سختافزار «PLC»
این سختافزار شامل قسمتهای مختلفی است و هر کدام از اجزای آن نیز انواع مختلفی دارند. به همین دلیل لازم است ابتدا شرایط مورد نیاز سیستم تحت کنترل بررسی شود. سپس متناسب با شرایط موردنیاز، سیستم سختافزار مناسب برای آن انتخاب میشود.
اجزا عبارت اند از:
1- منبع تغذیه (PS)؛
2- واحد پردازشگر مرکزی (CPU)؛
3- واحد حافظه (memory)؛
4- ترمینالهای ورودی (input module)؛
5- ترمینالهای خروجی (output module)؛
6- کارت رابط (interface module)؛
7- کارت شبکه (communication module).
ترجمه (صفحه 86 کتاب درسی)
Teamwork
Programmable logic controllers («PLC») have been an integral part of factor automation and industrial process control for decades. «PLC,s» control a wide array of applications from simple lighting functions to environmental systems to chemical processing plants. These systems perform many functions, providing a variety of analog and digital input and output interface; signal processing; data conversion; and various communication protocols.
All of the «PLC»’s components and functions are centered around the controller, which is programmed for a specific task.
منبع تغذیه (Power Supply)
جهت تغذیۀ قسمتهای مختلف «PLC» از جمله «CPU» و کارتهای ورودی و خروجی و بهطور کلی هر قسمت که به مجموعۀ «PLC» اضافه میشود لازم است حتماً تغذیۀ آن تأمین شود.
منبع تغذیه، که در انواع مختلف طراحی میشود، عبارتاند از:
1- منبع تغذیۀ معمولی با آدابتور، که با ترانس معمولی و پل دیود و خازنِ صافی ساخته میشود.
2- منبع تغذیۀ سوئیچینگ، که با قطعات الکترونیکی ساخته میشود و بر اساس سوئیچزنی قطعات الکترونیکی کار میکند.
فعالیت (صفحه 86 کتاب درسی)
مزایای منبع تغذیۀ سوئیچینگ را نسبت به منبع تغذیۀ معمولی بررسی کنید و مزایا و معایب هر کدام را بنویسید.
فعالیت (صفحه 87 کتاب درسی)
1- منابع تغذیۀ با استاندارد و عرضه شدۀ در بازار دارای چه رنجهایی است؟ (با ذکر کد خرید برای برند دلتا از روی کاتالوگ)
2- در صورتیکه یک سیستم کنترل با جریان بالاتر نیاز باشد و منبع مورد نیاز در بازار عرضه نشده است، چه اقدامی باید انجام داد؟
واحد پردازشگر مرکزی «Central processing unit»
این واحد در واقع مغز سیستم کنترل است و به این صورت عمل میکند که اطلاعات کارت ورودی ازطریق «BUS» به آن منتقل میشود و پس از پردازش، طبق برنامۀ کاربر، نتایج بهدست آمده از طریق همان «BUS» به کارت خروجی انتقال مییابد.
یکی از مهمترین قدمهای طرّاحی انتخاب «CPU» مناسب برای کنترل فرایند است. انتخاب نادرست «CPU» یا انتخابی که مبتنی بر آینده نگری نباشد مشکلات زیادی را درآینده برای سیستم ایجاد خواهد کرد و هزینههای سنگینی را از این بابت تحمیل خواهد نمود.
فاکتورهای اولیهای که معمولاً در انتخاب «CPU» به آنها توجه میشود عبارتاند از:
1- تعداد ورودی و خروجی (I/O)
2- حجم برنامهنویسی پروسه
3- سرعت پردازش
4- تعداد بیت حافظه مورد نیاز
5- تعداد تایمر مورد نیاز
6- تعداد کانتر مورد نیاز
7- تعداد رجیستر مورد نیاز
و در فرایندهای پیچیدهتر ممکن است به فاکتورهای زیر نیز نیاز پیدا کنیم:
1- کارتهای ورودی و خروجیهای خاص مثل کارت کنترل موقعیت؛
2- کارت شبکه موردنیاز سیستم.
اولین فاکتور مهم در انتخاب «CPU» مناسب، تعداد ورودی و خروجیهای موردنیاز پروسه است. این تعداد لازم است با احتساب توسعۀ در آینده، یعنی حداقل 20 درصد اضافه بر تعداد به دست آمده باشد. بهطور کلی هر مدل «CPU» میتواند تعدادی I/O را پشتیبانی نماید. بنابراین لازم است ابتدا مدلهای مختلف و قابلیتهای هر کدام را بشناسیم.
«CPU»های دلتا دارای سریهای S -E -PM -MC است و هر سری نیز دارای زیر مجموعههایی است.
فعالیت (صفحه 88 کتاب درسی)
جدول زیر را تکمیل کنید و کاتالوگ دو «CPU» دیگر را از اینترنت بگیرید و مشخصات آنها را بررسی کنید.
1- تعداد کل ورودی و خروجی
2- مدار «CPU»
3- نوع تغذیه
4- نوع خروجی
5- ورژن «CPU»
6- تعداد تایمر
7- تعداد کانتر

فعالیت (صفحه 89 کتاب درسی)
پروتکلهای ارتباطی در «دلتا» را برای هر «CPU» بررسی کنید.


پژوهش (صفحه 90 کتاب درسی)
بررسی کنید کاربرد کانکتور مشخص شده در «CPU» چیست؟

ترجمه (صفحه 90 کتاب درسی)
Teamwork
A programmable logic controller is a specialized computer used to control machines and processes. It therefore shares common terms with typical PCs like central processing unit, memory, software and communications. Unlike a personal computer though the «PLC» is designed to survive in a rugged industrial atmosphere and to be very flexible in how it interfaces with inputs and outputs to the real world.
ترمینالهای ورودی «Input Module»
اطلاعات از محل سیستم تحت کنترل، دریافت میشود. این اطلاعات از طریق ورودیهای مختلفی قابل دریافت است که عبارتاند از:
1- ورودی دیجیتال (DI)
2- ورودی آنالوگ (AI)
3- ورودی خاص (انکودر)
1- ورودی دیجیتال (Digital Input):
هر ورودی دیجیتال دارای دو حالت صفر یا یک است و معمولاً با 24 ولت تغذیه میشود. از جمله ورودیهای دیجیتال در محیطهای صنعتی میتوان استپ، استارت، میکروسوئیچ، حسگرهای دیجیتال، و همچنین کنتاکت وسایل حفاظتی مانند بیمتال و... را نام برد.
در برند «دلتا» (معمولاً برندهای تایوانی) جهت سیمکشی ورودیها ترمینالی به نام s/s وجود دارد. این ترمینال در تمام کارتهایی که ورودی هستند اولین ترمینال است و مشخصکنندۀ مقدار ولتاژ برای فعّال شدن ورودیهاست.
فعالیت (صفحه 91 کتاب درسی)
انواع کارتهای ورودی را از نظر مدل و تعداد ورودی بررسی کنید.

فعالیت (صفحه 91 کتاب درسی)
با توجه به تأثیر ترمینال s/s، دو نمونه سیمکشی ورودی را از روی کاتالوگ رسم کنید.
ترمینالهای خروجی «Output Module»
از این ترمینالها برای ارسال نتایج بهدست آمده پس از پردازش جهت فعّالکردن محرّکها و رلهها استفاده میشود و دارای انواع زیر است:
1- خروجی دیجیتال (DO)
2- خروجی آنالوگ (AO)
3- خروجی خاص (فرکانس بالا)
هر خروجی دیجیتال دارای دو حالت صفر یا یک است. بهطور کلی خروجی دیجیتال در «PLC» به دو صورت در بازار عرضه میشود:
1- خروجی ترانزیستوری که در نامگذاری، با پسوند T مشخص میشود.
2- خروجی رلهای که در نامگذاری، با پسوند R مشخص میشود.
فعالیت (صفحه 92 کتاب درسی)
انواع کارتهای خروجی را از نظر مدل و تعداد ورودی بررسی کنید.

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

نصب نرمافزار «WPL SOFT»
نرمافزار «WPL» بهراحتی نصب میشود. فقط کافی است که آخرین نسخۀ نرمافزار را تهیه و گزینۀ «Setup» را اجرا کنید.
پس از نصب، یک آیکون در صفحه ایجاد میشود، و میتوانید نرمافزار را باز کنید و بر اساس نیاز کنترل پروسه، برنامهنویسی کنید.

فعالیت (صفحه 94 کتاب درسی)
- نرمافزار «WPL SOFT» را بر روی رایانه نصب و منوهای آن را بررسی کنید.
- نرمافزار «ISP SOFT» را نصب و تفاوت آن را با «WPL SOFT» بررسی کنید.
فعالیت (صفحه 94 کتاب درسی)
یک سیستم کنترل پیشنهاد کنید که بتواند 78 ورودی و 45 خروجی دیجیتال را پوشش دهد. (مشخص کردن قطعات با کد سفارش الزامی است.)

فعالیت کارگاهی (صفحه 95 کتاب درسی)
نرمافزار «WPL» را اجرا کنید و مطابق دستورالعمل زیر یک مدار ساده را شبیهسازی کنید.
از منوی فایل یا از نوار ابزار، گزینۀ «new» را انتخاب کنید، سپس مدل «CPU» مورد نیاز را تعیین کنید.
لازم به ذکر است اگر مدل مشخص نباشد یک مدل دلخواه تعیین کنید و پس از مشخص شدن «CPU» آن را از منوی «options» گزینه «change PLC type» به مدل موجود تغییر دهید.

دستور کنتاکتِ باز
این دستور برای استفاده از وضعیت عملوند آدرس داده شده در برنامه بهکار میرود و بهصورت یک بیت با دو وضعیت صفر یا یک است.

عملوندهای قابل استفاده در این دستور عبارتاند از:
X بیت ورودی؛
Y بیت خروجی؛
M بیت حافظه؛
S بیت STEP؛
T تایمر؛
C کانتر.
دستور کنتاکتِ بسته
این دستور برای استفاده از «NOT» وضعیت عملوند آدرس داده شده بهکار میرود. عملوندهای قابل استفاده در این دستور مانند کنتاکت باز است.

دستور «OUT»
از این دستور برای اعمال نتیجه به عملوند مورد نظر استفاده میشود و همیشه به خطوط برنامۀ قبل از دستور وابسته است و با تغییر وضعیت صفر به یک، عملوند موردنظر مثل خروجی یک میشود و با صفر شدن وضعیت قبل از دستور عملوند نیز صفر میشود.

فعالیت (صفحه 97 کتاب درسی)
برنامۀ کنترل موتور از یک نقطه را بنویسید و آن را با شبیهساز آزمایش کنید.

پس از اتمام برنامهنویسی آن را save کنید و مراحل زیر را به ترتیب اجرا کنید.
1- شبیهساز را باز کنید؛
2- برنامه را دانلود کنید؛
3- تست آنلاین را بزنید.

پس از اجرای آنلاین اگر «CPU» در وضعیت «STOP» بود لازم است به وضعیت «RUN» تبدیل شود.

جهت تست، کافی است هر اِلمانی را که باید تحریک شود انتخاب و موس را روی آن راست کلیک کنید. برای یکشدن گزینه «SET ON» و برای صفرشدن گزینۀ «SET OFF» را بزنید. لازم است تک به تک اِلمانهای مورد نیاز جهت تست مانند استپ و استارت صفر و یک شوند.

فعالیت کارگاهی (صفحه 98 کتاب درسی)
مدارهای زیر را که در پودمان اول طرّاحی کردید همانند مثال انجام شده، برنامهنویسی و سپس آنلاین تست کنید.
1- کنترل موتور از دو نقطه؛
2- کنترل دو موتور یکی به جای دیگری؛
3- کنترل موتور بهصورت چپگرد-راستگرد ساده.
فعالیت کارگاهی (صفحه 98 کتاب درسی)
مدارهای زیر را برنامهنویسی و بهصورت واقعی اجرا کنید. سپس آنلاین تست کنید.
1- کنترل دو موتور یکی پس از دیگری؛
2- کنترل موتور بهصورت چپگرد-راستگردِ سریع؛
3- کنترل موتور 50 اسب بخار (بهصورت ستاره مثلث).
سمبلنویسی «Symbol Table»
در برنامههای کنترل، که لازم است کار کنترلیِ گسترده انجام دهند، پس از الگوریتمنویسی برای ورودیها و خروجیها یک نام متناسب با پروژه، در قسمت «symbol table» وارد میکنیم و گزینه «show symbol» را فعّال میکنیم. همچنین میتوانیم برای هر اِلمان توضیح (comment) بنویسیم. این کار باعث میشود حین برنامهنویسی در انتخاب آدرسها کمتر خطا شود. در نوار ابزار شکل زیر اِلمانهای مربوط به فعّالسازی و ویرایش سمبُل و توضیحات مربوط به هر اِلمان برنامه مشخص شده است. لذا لازم است برنامههای نوشته شده، از این مبحث به بعد سمبُلنویسی و توضیح نیز داشته باشند.

فعالیت (صفحه 99 کتاب درسی)
برنامهای برای کنترل موتور 100 اسب بخار، بهصورت چپگرد-راستگرد، اجرا و برای ورودی و خروجیها سمبُلگذاری کنید.
آیا میتوانید ویژگی سمبُلگذاری را بیان کنید؟
پژوهش (صفحه 99 کتاب درسی)
هر تابع، عملگری است که بر روی تعدادی عملوند اثرگذار است. برای مثال اطلاعات مربوط به S1 در تابع ADD عبارتاند از:
${S_1}:K,H,{K_N}X,{K_N}Y,{K_N}M,{K_N}S,T,C,D,E$
تعیین کنید کاربرد هر کدام از دیتاها چه زمانی است؟
دستور «SET»
در برنامههایی که از دستور «OUT» استفاده شده متوجه شدیم جهت فعّالماندن نیاز به نگهدارنده داریم ولی در دستور «SET» وقتی مسیر یک شود محل موردنظر نیز یک میشود و یک میماند.

دستور «RESET»
آدرسهایی که با دستور «SET» فعّال شدهاند فعّال باقی خواهند ماند و جهت غیرفعّالشدن نیاز به «RESET» دارند.

دستور «ZRST»
هرگاه بخواهیم تعداد زیادی عملوند M و Y را، که آدرس آنها به ترتیب است غیرفعال کنیم به جای استفاده از دستور «RST» که یک بیت را غیرفعال میکند و لازم است تعداد زیادی از این دستور نوشته شود از دستور «ZRST» استفاده میکنیم و با یک دستور کلیه عملوندها را غیرفعال میکنیم.
در دستور زیر با فعّال شدن X0 همزمان خروجی Y0 تا Y7 و حافظه M0 تا M100 غیرفعّال میشود.

فعالیت کارگاهی (صفحه 101 کتاب درسی)
مدارهای زیر را با روش «SET ,RESET» برنامهنویسی کنید سپس آنلاین تست کنید و در پایان عملی انجام دهید. (حتماً سیمکشی انجام شود و کارها واقعی تست شوند)
1- کنترل موتور از دو نقطه؛
2- کنترل دو موتور یکی پس از دیگری؛
3- کنترل موتور بهصورت چپگرد-راستگردِ سریع؛
4- کنترل موتور 50 اسب بخار (ستاره-مثلث).
دستور (عملگر) «LDP»
این دستور آشکارسازی لبۀ بالاروندۀ سیگنال است. مانند لحظۀ وصل کلید که صفر به یک تبدیل میشود، در لحظۀ وصل، یک پالس 100 میلیثانیه تولید و فرمان را به محل مورد نظر صادر میکند.

دستور (عملگر) «LDF»
این دستور، آشکارسازی لبۀ پایین روندۀ سیگنال است. مانند لحظۀ قطع کلید که یک به صفر تبدیل میشود، در لحظۀ قطع، یک پالس 100 میلیثانیه تولید و فرمان را به محل مورد نظر صادر میکند.

فعالیت کارگاهی (صفحه 102 کتاب درسی)
کاربرد دستور «LDP» و دستور «LDF» را بررسی کنید و در مدار راهاندازی موتور 100 اسب بخار چپگرد-راستگرد، استارتهای شروع را با دستور LDF اجرا و سپس بررسی کنید کدام روش درست است (استارت با لبه یا بدون لبه)
فعالیت کارگاهی (صفحه 102 کتاب درسی)
برنامهای بنویسید که لحظۀ تحریکِ استارت، موتور «ستاره» و با قطع شدنِ استارت، «مثلث» شود.
فعالیت (صفحه 103 کتاب درسی)
کاربرد M چیست؟
وضعیت حافظه از M0 تا M4095 را بررسی کنید و کاربرد هر محدوده را بنویسید.
کاربرد رجیستر D چیست؟
وضعیت ریجستر از D0 تا D4999 را بررسی کنید و کاربرد هر محدوده را بنویسید.
تایمر «Timer»
از تایمر جهت زمانسنجی استفاده میشود. در مدارهای اتوماتیک و جاهایی که لازم است پس از سپریشدن زمان، فرمان به یک محل صادر شود از تایمر استفاده میشود.
لازم به ذکر است تمام تایمرها در دلتا از نوعِ «on delay timer» هستند و پلۀ زمانی مشخصی دارند. برای تعریف زمان لازم است پلۀ زمانی را بدانیم و بدین منظور باید به کاتالوگ «CPU» مورد نظر مراجعه کنیم.
طبق فرم زیر تایمرهای T0 تا T199 با پله زمانی 100ms و T200 تا T245 با پله زمانی 10ms و T246 تا T249 با پله زمانی 1ms است.

دستور تایمر، به فرم زیر است.

${S_1}$:Timer number
${S_2}$: set value
S1 شمارۀ تایمر است. که در نوع 100ms از T0 تا T199 است. S2 عدد تنظیم مقدار زمان تایمر است برای محاسبۀ زمان واقعی تایمر.
زمان واقعی تایمر= عدد تنظیم S2 ضربدر پله زمانی متناسب با شمارۀ تایمر
مثلاً برای تایمر T0 که قرار است 10 ثانیه کار کند، عدد تنظیمی (S2) را K100 تعریف میکنیم و در صورت نیاز به زمان متغیر در قسمتِ عددِ تنظیمی، از ریجستر «D» استفاده میشود (مثلاً D0)
Operand: Device Range
${S_1}$: T
${S_2}$: K.D
فعالیت کارگاهی (صفحه 104 کتاب درسی)
مدارهای زیر را اجرا کنید. زمانهای ذکر نشده دلخواه هستند.
1- کنترل دو موتور بهصورت یکی پس از دیگری اتوماتیک؛
2- کنترل دو موتور بهصورت یکی به جای دیگری اتوماتیک؛
3- کنترل موتور ستاره مثلث اتوماتیک؛
4- برنامهای بنویسید که با زدن استارت، موتور 1 روشن و بعد از 10 ثانیه موتور 2 روشن و بعد از یک ساعت، کل مدار قطع شود.
کانتر یا شمارنده «Counter»
از کانتر جهت شمارش، استفاده میشود. مانند شمارش قطعات در خطوط تولید، شمارش قطعات ورودی و خروجی انبار، شمارش ماشین در پارکینگها و...

در مدل دلتا سه نوع کانتر در اختیار شماست:
1- کانتر 16 بیتی که همه از نوع بالا شمار هستند (C0 تا C199)
2- کانتر 32 بیتی که بر اساس نیاز، به کمک حافظه میتواند بالا شمار یا پایین شمار شود (C200 تا C234)
3- کانتر 32 بیتی برای شمارش سریع از نوع بالا و پایین شمار که کاربرد فراوانی در خطوط تولید دارد مانند شمارش پالسهای انکودر.
1- کانتر 16 بیتی
فقط بالاشمار است و در خطوط تولید برای شمارش قطعات و بستهبندی کاربرد دارد. محدودۀ قابل شمارش توسط آنها تا 32767 است و فرمت دستور آن به شکل روبهرو است:
اگر عدد شمارش شده توسط کانتر برابر با عدد تعریفشده در S2 باشد کانتر فعّال میشود و میتوانیم از کنتاکت آن برای فرمان استفاده کنیم.

فعالیت (صفحه 105 کتاب درسی)
برنامهای بنویسید که با زدن استارت، موتور روشن و با زدن استپ، موتور خاموش شود. اگر موتور بیش از ده مرتبه خاموش و روشن شد کل مدار خاموش شود و دیگر استارت نشود.
فعالیت (صفحه 105 کتاب درسی)
برنامۀ کنترلِ بخشی از خط تولید را به نحوی بنویسید که با زدن «S1» با شرط وجود کارتن، تسمۀ نقاله شروع به کار کند و قطعات را انتقال دهد. قطعات شمارش شوند و اگر تعداد به 10 رسید تسمه متوقف شود تا کارتن برداشته شود و با گذاشتن کارتن بعدی، مجدد ادامه دهد و این روند ادامه یابد تا وقتی که سیستم استپ (S2) شود.

2- کانتر 32 بیتی
این کانتر قادر است بر اساس نیاز، بالا یا پایین شمار باشد و به این منظور برای هر کانتر یک حافظۀ خاص در نظر گرفته شده است، مانند M1200 برای C200 و M1201 برای C201 تا M1234 برای C234. اگر حافظۀ مربوطه غیرفعّال باشد، کانتر بالاشمار و اگر فعّال شود کانتر پایینشمار میشود. فُرمت برنامهنویسی کانتر 32 بیتی به یکی از دو فرم زیر است.
DCNT C200 K…
DCNT C200 D…
فعالیت (صفحه 106 کتاب درسی)
برنامۀ کنترل پارکینگ را بهصورت زیر بنویسید.
ظرفیت پارکینگ 100 خودرو، تعیین شده است. با ورود خودرو، از ظرفیت کم و با خروج آن، به ظرفیت اضافه شود و ظرفیت موجود مشخص شود.
X2 ,X3 حسگر مسیر ورودی
X0 ,X1 حسگر مسیر خروجی

مقایسهگر «comparator»
در برنامهنویسی گاهی نیاز است که مقداری را با مقداری دیگر مقایسه کنیم. برای مثال اگر تعداد محصولی که تولید کردیم (از جلوی حسگر عبور کرده است) بیشتر از یک مقدار مشخص شد، میخواهیم دستگاه خاموش شود و آلارم مخصوص سرویس و نگهداری به صدا درآید. یا اگر مقدار دمای محیط از دمایی که ما تعیین کردیم بیشتر یا کمتر یا مساوی بود، میخواهیم خروجی متناسب با آن وضعیت فعّال شود. در این مواقع میتوان با استفاده از دستورات مقایسهکننده این کار را انجام داد.
توجّه داشته باشید در هنگام محاسبات ریاضی لازم است دو مقدار دارای مبنای مشترک باشند. اگر مبناها یکسان نباشند لازم است مقادیر با مبنای متفاوت توسط مبدلها به مبنای موردنظر تبدیل شوند.
- برای برنامهنویسی در «PLC»های دلتا انواع مقایسهکنندههایی که میتوان برای راحتی کار از آنها استفاده کرد، موجود است.
- دستورات مقایسهای بر پایۀ «LD»:
این دستور انواع مختلفی دارد و به شکلهای زیر مورد استفاده قرار میگیرد:
1- اعداد صحیح 16 بیتی integer
$ = LD$ و $ < LD$ و $ > LD$ و $ < > LD$ و $ = < LD$ و $ = > LD$
2- اعداد صحیح 32 بیتی Doble integer
$ = DLD$ و $ < DLD$ و $ > DLD$ و $ < > DLD$ و $ = < DLD$ و $ = > DLD$
3- اعداد اعشاری Real (f loat)
$ = FLD$ و $ < FLD$ و $ > FLD$ و $ < > FLD$ و $ = < FLD$ و $ = > FLD$
فرمت کلی دستور مقایسهکنندهها به شکل زیر است.

S1 مقدار خواندهشده از اِلمان اول است، مثل کانتر یا D و .....
S2 مقدار خواندهشده از اِلمان دوم است، مثل کانتر یا D یا عدد ثابت و...
در مقایسهکننده مقدار S1 با S2 مقایسهشده و در صورتی که شرط مقایسه برقرار باشد خروجیِ مقایسهکننده، فعّال میشود و به محل عملوند موردنظر بعد از فرمان اعمال میگردد.
- برای مثال، اِلمانِ اول میتواند مقدار خواندهشده از حسگر دما و اِلمان دوم یک عدد ثابت باشد یعنی دما با یک مقدار ثابت مقایسه شود.
- یا اِلمان اول میتواند مقدار حسگرِ دما و اِلمان دوم دمای تعیینشده از «HMI» باشد که با رجیستر D از «HMI» به «CPU» اعمال میشود و...
فعالیت (صفحه 109 کتاب درسی)
عملکرد برنامۀ زیر را با کمک هنرآموز بررسی و آن را در شبیهساز تست و کاربرد آن را نیز مشخص کنید.

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

فعالیت (صفحه 109 کتاب درسی)
فرض کنید دمای یک کوره در رجیستر D0 ذخیره میشود. برنامهای بنویسید که متناسب با تغییر دمای کوره بهصورت زیر عمل کند:
1- اگر دما کوچکتر از 100 شد 3 مشعل روشن شود؛
2- اگر دما بزرگتر از 100 وکوچکتر از 200 شد 2 مشعل روشن شود؛
3- اگر دما بزرگتر از 200 وکوچکتر از 300 شد 1 مشعل روشن شود؛
4- اگر دما بزرگتر از 300 وکوچکتر از 350 شد 3 مشعل خاموش شود؛
5- و اگر دما بزرگتر از 400 شد سیستم خنککننده روشن شود.
دستور «MOV»
از این تابع برای انتقال اطلاعات (بارگذاری و انتقال) استفاده میشود و زمانی که لازم باشد اطلاعات یک رجیستر یا یک عدد ثابت را به رجیستر دیگری منتقل کنیم کاربرد دارد. فرمت تابع به شکل روبهرو است:

فعالیت (صفحه 111 کتاب درسی)
با تحریک X0 در چهار خط برنامۀ زیر چه اتفاقی میافتد و تفاوت آنها در چیست؟

توابع ریاضی
توابع و دستورات پرکاربرد محاسبه ریاضی مانند Mul و Div و SUB و ADD و... نیز همانند دستور Mov و دستور مقایسهکننده برای هر سه مبنا وجود دارد و هرگاه لازم باشد روی دو دیتا (data) عملیات ریاضی انجام شود باید دقت شود که دارای مبنای مشترک باشند. برای مثال هر دو دیتا از نوع اعشاری باشند.
1- دستور «ADD»
برای جمع دو دیتای اعداد صحیح، از نوع 16 بیتی استفاده میشود و حاصل را میتواند در رجیستر ذخیره کند:

${S_1}$: مقدار دیتای اول
${S_2}$: مقدار دیتای دوم
D: حاصل جمع ذخیره شده در رجیستر
$D = {S_1} + {S_2}$
2- دستور «SUB»
برای تفریق دو دیتای اعداد صحیح، از نوع 16 بیتی استفاده میشود و حاصل را در رجیستر میتواند ذخیره کند.

$D = {S_1} - {S_2}$
3- دستور «DIV»
برای تقسیم دو دیتای اعداد صحیح، از نوع 16 بیتی استفاده میشود و حاصل را در رجیستر میتواند ذخیره کند.

$D = {S_1}/{S_2}$
4- دستور «MUL»
برای ضرب دو دیتای اعداد صحیح، از نوع 16 بیتی استفاده میشود و حاصل را در رجیستر میتواند ذخیره کند.

$D = {S_1} \times {S_2}$
فعالیت کارگاهی (صفحه 112 کتاب درسی)
تفاوت دستور «Add» با دستور «Dadd» و دستور «Daddr» در چیست؟
این تفاوت در بقیه دستورات ریاضی نیز بررسی شود.
در محیط نرمافزار، توابع ریاضی زیر را برنامهنویسی و جواب بهدست آمده را تعیین کنید.
آیا جواب بهدست آمده با جواب ماشین حساب مطابقت دارد؟
${F_1} = \frac{{45 \times 14}}{2}$
${F_2} = \frac{{45 \times 14}}{3} + 3 - 4/2$
برنامهای بنویسید که با تحریک X0 حالتهای زیر ایجاد شود؟
در برنامهنویسی فقط از اعداد هگزا دسیمال استفاده شود:
1- با تحریک X0 تعداد 8 خروجی همزمان روشن شود؛
2- با تحریک X1 از 8 خروجی بهصورت یک در میان بیتهای زوج روشن شود؛
3- با تحریک X1 از 8 خروجی به صورت یک در میان بیتهای فرد روشن شود؛
4- با تحریک X2 تعداد 8 خروجی غیرفعّال شوند.
برنامهنویسی سازمانیافته
برنامههایی که تا قبل از این مبحث نوشتهشده از نوع برنامهنویسی خطی (Linear Program) است. لازم است کل برنامۀ کنترل در «Main» نوشته شود و در حین اجرا، برنامه خط به خط اجرا گردد. حتی اگر دستور یا خطی در یک سیکل نیاز نباشد، «CPU» مجبور به اجرای دستور است. این کار باعث میشود تعداد خطهای برنامه برای «CPU» حین اجرا زیاد باشد که در برنامههای سنگین ممکن است «CPU» از نظر «CYCLE TIME» دچار مشکل شود. بنابراین گاهی اوقات مجبور به تعویض و استفاده از «CPU» با سرعت پردازش بالاتر میشویم. این راه اصولی نیست و از نظر اقتصادی نیز مقرونبهصرفه نیست. به همین دلیل از برنامهنویسی سازمان یافته استفاده میکنیم. در این روش، برنامهنویسی شامل یک Main و یک سری زیر برنامه (Subroutine) است و میتوان هر زیر برنامه را (Subroutine) بهصورت شرطی یا غیرشرطی اجرا کرد.
این کار باعث میشود همیشه «CPU» فقط با قسمتی از برنامه درگیر باشد و زمان «scan time» کاهش یابد. همچنین میتوانیم از «CPU»هایی که سرعت پردازش کمتری دارند برای کنترلهای وسیع نیز استفاده نماییم، به همین دلیل از نظر اقتصادی به صرفهتر خواهد شد. تعداد زیربرنامهها بستگی به مدل «CPU» دارد بنابراین لازم است قبل از برنامه نویسی سازمانیافته، کاتالوگ «CPU» بررسی شود و تعداد زیر برنامههای قابل اجرا برای «CPU» شناسایی گردد.
فعالیت کارگاهی (صفحه 113 کتاب درسی)
با استفاده از برنامهنویسی سازمان یافته برنامۀ کنترل به شرح زیر بنویسید (تمام نکات ایمنی لحاظ شود). دستگاه دارای یک کلید انتخاب 2-0-1 است.
- اگر کلید انتخاب در وضعیت 1 باشد، با زدن استارتِ 1، موتورِ 1 روشن و بعد از 10 ثانیه موتورِ 2 روشن و بعد از 20 ثانیه مدار خاموش شود.
- اگر کلید انتخاب در وضعیت 2 باشد، با زدن استارتِ 1، موتور 1 روشن و با زدن استارت 2 موتور 2 روشن شود و با زدن استپ کل مدار قطع شود.
ورودی آنالوگ
هرگاه لازم باشد کمیّتها مانند نیرو، دما، فشار، وزن و... بهصورت پیوسته کنترل شوند، از ورودی آنالوگ استفاده میشود، به این صورت که توسط حسگرها کمیت اندازهگیری شده به یک کمیت الکتریکی استاندارد تبدیل میشود و به ورودی آنالوگ «PLC» ارسال میشود.

خروجی ترانسدیوسر ممکن است یکی از کمیتهای الکتریکی زیر باشد:
- ولتاژ Voltage
- جریان Current
- مقاومت Resistance
- خازن capacitance
- فرکانس Frequency
مهمترین کمیتهایی که بهوسیله ترانسدیوسرها اندازهگیری میشوند عبارتاند از:
- موقعیت Position
- نیرو Force
- سرعت Velocity
- شتاب Acceleration
- فشار Pressur
- سطح Level
- دبی Flow
- دما Temperature
ورودی آنالوگ در دلتا به دو صورت است:
1- ترمینالهای ورودی آنالوگ موجود در «CPU» که از نوع ولتاژی و جریانی است.
2- کارت ورودی آنالوگ که به مجموعۀ «CPU» اضافه میشود و متناسب با نیاز، جهت سیستم کنترل میتوان انواع مختلفی را انتخاب و به مجموعه اضافه کرد. مانند:
DVP 04AD DVP06AD – DVP 04PT – DVP 04TC
1- ترمینالهای ورودی آنالوگ موجود در «CPU»:
هر کانال ورودی آنالوگ روی «CPU» دارای انواع ولتاژ و جریان است و بر اساس نیاز میتوانیم از هر کانال، نوع ولتاژ یا جریان آن را مورد استفاده قرار دهیم.
برای هر کانال یک رجیستر مخصوص وجود دارد که مقدار تغییرات حسگر متصل شده به آن در رجیستر مربوطه ذخیره میشود. رجیستر مربوط به هر کانال مشخص است:
- D1110 مربوط به مقدار میانگین کانال اول؛
- D1111 مربوط به مقدار میانگین کانال دوم؛
- D1118 زمان نمونهبرداری برحسب ms؛
- D1056 مقدار لحظه به لحظۀ کانال اول؛
- D1057 مقدار لحظه به لحظۀ کانال دوم.
فعالیت (صفحه 115 کتاب درسی)
کارتهای آنالوگ را از نظر مشخصات بررسی کنید. همچنین روش سیمکشی یک کانال در هر کارت را متناسب با نوع آن معلوم کنید.
الف) ورودی آنالوگ از نوع ولتاژ
معمولاً حسگرهایی که خروجی استاندارد 10-0VDC یا $ \pm 10VDC$ و... دارند به ترمینال COM و +V0 وصل میکنیم. (COM به منفی و V+ به برگشت حسگر)

ب) ورودی آنالوگ از نوع جریان
معمولاً حسگرهایی که خروجی استاندارد 20-0mA یا $ \pm 20mA$ و $4-20mA$ دارند به ترمینال «I+ ،COM و +V» وصل میکنیم. (COM به منفی +I و +V به هم متصل شده و به برگشت حسگر متصل میشود). معمولاً سیگنال جریان $4-20mA$ در صنعت بیشترین کاربرد را دارد.

دستور «SCLP»
از این دستور برای مقیاس و تبدیل مقادیر و اطلاعات استفاده میشود. برای مثال حسگر سطح با محدودۀ اندازهگیری صفر تا 20 متر طبق نمودار پایین به 0 تا 10 ولت و در «CPU» به عدد صفر تا 2000 تبدیل میشود که خیلی قابل فهم نیست. بنابراین میتوانیم با این دستور عدد صفر تا 2000 را به همان رنج حسگر یعنی صفر تا 20 تبدیل کنیم.

${S_1}$: مقدار خوانده شده از حسگر یعنی ورودی آنالوگ است.
${S_1}$: مقادیر «MAX» و «MIN» برای تبدیل هستند.
$D$: حاصل تبدیل به مقیاس را در محل آدرس داده شده ذخیره میکند و برای برنامهنویسی از آن استفاده میکنیم.
فعالیت (صفحه 117 کتاب درسی)
برنامهای بنویسید که دمای اتاق را از طریق کانالِ صفر بخواند و بهصورت زیر عمل کند:
- اگر دما کمتر از 15 درجه بود گرمکن روشن شود؛
- اگر دما بیش از 23 درجه شد گرمکن خاموش شود؛
- اگر دما بیش از 27 درجه شد کولر روشن شود؛
- اگر دما کمتر از 19 درجه بود کولر خاموش شود.
فعالیت (صفحه 117 کتاب درسی)
برنامه ای بنویسید که دمای اتاق را از طریق کانالِ یک بخواند و به صورت زیر عمل کند:
- اگر دما کمتر از 100 درجه بود 3 مشعل روشن شود؛
- اگر دما بین 100 تا 200 درجه بود 2 مشعل روشن شود؛
- اگر دما بین 200 تا 300 درجه بود 1 مشعل روشن شود؛
- اگر دما بین 300 تا 350 درجه بود همه مشعلها خاموش شود؛
- اگر دما بالای 350 درجه بود سیستم خنککننده روشن شود.
2- ترمینالهای خروجی آنالوگ موجود در «CPU»:
از خروجی آنالوگ جهت کنترل مقادیر پیوسته (مانند کنترل سرعت موتور، کنترل میزان باز و بستهشدن ولوها، کنترل میزان نور و...) استفاده میشود.
هر کانال خروجی آنالوگ روی «CPU» فقط دارای سیگنال نوع ولتاژ و جریان است و بر اساس نیاز میتوان از هر کانال، نوع ولتاژ یا جریان آن را مورد استفاده قرار داد.
برای هر کانال یک رجیستر مخصوص وجود دارد که مقدار تغییرات حاصل از برنامه باید در آن ذخیره شود تا در کانال خروجی اعمال شود. رجیستر مربوط به هر کانال مشخص است و عبارتاند از:
- D1116 خروجی کانال اول؛
- D1117 خروجی کانال دوم.
فعالیت کارگاهی (صفحه 118 کتاب درسی)
برنامهای بنویسید که سیستم کنترل فشار آب مربوط به یک مجتمع 20 واحدی را بهصورت پیوسته انجام دهد. فشار توسط حسگر صفر تا 20 بار از طریق کانال صفر خوانده شود و بهصورت زیر عمل کند:
- اگر فشار کمتر از 2 بار بود موتور با فرکانس 50 هرتز کار کند؛
- اگر فشار بین 2 تا 3 بار بود موتور با فرکانس 40 هرتز کار کند؛
- اگر فشار بین 3 تا 4 بار بود موتور با فرکانس 25 هرتز کار کند؛
- اگر فشار بین 4 تا 5 بار بود موتور با فرکانس 15 هرتز کار کند؛
- اگر فشار بالای 6 بار بود موتور خاموش شود.
کارتهای توسعۀ آنالوگ
کارتهای توسعۀ آنالوگ نیز به دو گروه کارتهای توسعۀ ورودی و خروجی تقسیم میشوند.
1- کارتهای توسعه آنالوگ ورودی
این کارتها بستگی به نوع اندازهگیری دارند و بر اساس نیاز کنترل، انتخاب میشوند و عبارتاند از:
- Dvp04AD کارت آنالوگ با 4 ورودی از نوع ولتاژ و جریان؛
- Dvp06AD کارت آنالوگ با 6 ورودی از نوع ولتاژ و جریان؛
- Dvp06XA کارت آنالوگ با 4 ورودی و 2 خروجی از نوع ولتاژ و جریان؛
- Dvp04PT کارت آنالوگ با 4 ورودی از نوع PT100 برای اندازهگیری دما؛
- Dvp04TC کارت آنالوگ با 4 ورودی از نوع ترموکوپل.
در «CPU»های سری E و H و S جمعاً تا 8 کارت، قابل توسعه است که از K0 که اولین کارت آنالوگ تا K7 که هشتمین کارت است، میتوان به سیستم اضافه نمود. جهت استفاده از کانالهای کارت آنالوگ و خواندن مقادیر، میتوان به کمک دستور «FROM» مقدار هر کانال از هر کارت را خواند و در یک رجیستر ذخیره نمود یا میتوان تنظیمات مربوط به هر کانال آنالوگ را از طریق «WIZARD» نرمافزار انجام داد.
مراحل تنظیم «WIZARD» به دو صورت قابل دسترسی است:
الف) نوار منو-گزینۀ «Wizard»:

ب) نوار ابزار

مراحل تنظیم بهصورت زیر است:
1- Auxiliary setup of extension module را باز کرده؛ اولین کارت را انتخاب میکنیم.

- زبانۀ سمت راست را کلیک میکنیم تا کارتها باز شوند و کارت موردنظر را انتخاب کنیم. مثلاً DVP04AD، سپس گزینه «setup» را میزنیم تا وارد تنظیمات کارت شویم.

3- cr0 مربوط به مدل کارت است که با آن کاری نداریم. cr1 مربوط به «input mode setting» است و از آن برای تنظیم هر کانال از نظر ولتاژ یا جریان یا هر نوع دیگر استفاده میشود. مثلاً اگر خروجی حسگر متصل به کانال اول ولتاژ است باید در این قسمت نوع سیگنال کانال اول را ولتاژ انتخاب کنیم. سپس گزینۀ «write» را انتخاب و شرط دستور را m1000 یا هر شرطی که برای اجرا نیاز داریم اعمال میکنیم و در نهایت کانال اول را از نظر نوع سیگنال انتخاب میکنیم. سپس «preview» را میزنیم تا دستور در پایین ظاهر شود و در نهایت «add to list» را میزنیم تا در خانۀ سمت راست اضافه شود.
- اگر همۀ کانالها را بخواهیم برای هر چهار کانال باید سیگنال را انتخاب و مراحل «add to list» و «preview» را تکرار کنیم تا در سمت راست، برای همۀ کانالها سیگنال تعیین شده باشد.

لازم به ذکر است برای میانگین لازم است زمان تعیین شود که زمان برای کانال اول cr2 است.

باید دقت شود آدرس حافظههای اختصاصیافته تداخل نداشته باشد.
2- کارتهای توسعه آنالوگ خروجی
Dvp02DA کارت با دو خروجی آنالوگ از نوع ولتاژ و جریان است. تمامی مراحل تنظیم کارت خروجی آنالوگ همانند کارت ورودی آنالوگ است.
1- کارت خروجی را انتخاب میکنیم و وارد تنظیمات میشویم.

2- تنظیم سیگنال کانالها

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

فعالیت (صفحه 124 کتاب درسی)
کارت آنالوگ ورودی و خروجی روی «PLC» اضافه کنید و فعّالیت صفحۀ 117 و دو فعالیت اول صفحۀ 119 را روی کارتهای آنالوگ پیادهسازی کنید.
فعالیت (صفحه 125 کتاب درسی)
برنامهای بنویسید که سیستم کنترل فشارآب مربوط به یک مجتمع 20 واحدی را بهصورت پیوسته انجام دهد. فشار توسط حسگر صفر تا 20 بار از طریق کانال صفر بخواند و بهصورت زیر عمل کند.
- اگر فشار کمتر از 2 بار بود موتور با فرکانس 50 هرتز کار کند؛
- اگر فشار بین 2 تا 3 بار بود موتور با فرکانس 40/5 هرتز کار کند؛
- اگر فشار بین 3 تا 4 بار بود موتور با فرکانس 25/5 هرتز کار کند؛
- اگر فشار بین 4 تا 5 بار بود موتور با فرکانس 15/5 هرتز کار کند؛
- اگر فشار بالای 6 بار بود موتور خاموش شود.
پروژه (صفحه 125 کتاب درسی)
با توجه به مطالب ارائه شده در پنوماتیک از نظر انتخاب لیست شیرها و جکها، سیستم کنترل خط زیر را برای یک ایستگاه یا دو ایستگاه طراحی کنید و برنامۀ کنترل آن را بنویسید.
لازم به ذکر است موتور 1 باید قابلیت کنترل دور داشته باشد.




























