در PLC دلتا، حروف X، Y، M، T، C و D فقط نامهای کوتاه نیستند؛ هرکدام نوع مشخصی از سیگنال یا حافظه را معرفی میکنند. X و Y با ورودی و خروجی واقعی دستگاه ارتباط دارند، اما M، T، C و D داخل برنامه زندگی میکنند. اگر این تفاوت را درست بفهمید، خواندن Ladder، مانیتورینگ آنلاین و عیبیابی بسیار سادهتر میشود.
خلاصه سریع حافظههای PLC دلتا
| حرف | نام و نوع | کاربرد اصلی | نمونه |
|---|---|---|---|
| X | ورودی دیجیتال فیزیکی، بیتی | خواندن شستی، سنسور، فیدبک کنتاکتور یا وضعیت حفاظتی | X0؛ شستی شروع |
| Y | خروجی دیجیتال فیزیکی، بیتی | فرمان رله واسط، چراغ، شیر یا ورودی کنترلی تجهیز با مدار مناسب | Y0؛ فرمان رله |
| M | رله داخلی، بیتی | خودنگهدار، مجوز، مرحله، پرچم خطا و حافظه منطقی | M0؛ مجوز کار |
| T | تایمر نرمافزاری | تأخیر در وصل یا قطع، زمانسنجی مرحله و ایجاد شرط زمانی | T0؛ تأخیر راهاندازی |
| C | شمارنده نرمافزاری | شمارش قطعه، پالس، سیکل یا تعداد رخداد | C0؛ شمارش محصول |
| D | رجیستر داده، عددی | ستپوینت، مقدار آنالوگ، نتیجه محاسبه، شمارش تولید و داده شبکه | D0؛ مرجع سرعت |
تفاوت ترمینال فیزیکی با حافظه داخلی PLC
روی بدنه DVP14SS2 ترمینالهایی با نام X و Y دیده میشوند، چون این دو گروه به سیمهای واقعی تابلو متصل هستند. برای مثال شستی به X0 و رله واسط به Y0 وصل میشود. اما برای M0، T0، C0 یا D0 ترمینال جداگانهای روی بدنه وجود ندارد؛ اینها فضای منطقی و دادهای داخل CPU هستند.
در یک چرخه معمول اسکن، PLC ابتدا وضعیت ورودیها را میخواند، سپس منطق برنامه را اجرا میکند و در پایان وضعیت خروجیها را بهروزرسانی میکند. بنابراین ممکن است در مانیتورینگ ببینید X0 روشن است ولی Y0 روشن نمیشود؛ در این حالت باید شرطهای میانی مانند M، تایمر، شمارنده، اینترلاک و فرمانهای Reset را نیز بررسی کنید.
X و Y؛ آدرسهای متصل به دنیای واقعی
ورودی X چیست؟
ورودیهای X وضعیت مدارهای دیجیتال را به برنامه منتقل میکنند. اگر سیمبندی، ولتاژ، S/S و نوع سنسور درست باشد، فعالشدن سنسور باعث تغییر وضعیت X متناظر میشود. در Ladder میتوان X را بهصورت کنتاکت باز یا بسته استفاده کرد؛ شکل کنتاکت در برنامه، تفسیر منطقی وضعیت ورودی است و نوع فیزیکی شستی را بهتنهایی مشخص نمیکند.
خروجی Y چیست؟
Y نتیجه منطقی برنامه را به یک خروجی فیزیکی میرساند. فعالشدن کویل Y0 در Ladder یعنی CPU قصد دارد کانال خروجی Y0 را فعال کند. کارکرد واقعی بار همچنان به نوع خروجی رلهای یا ترانزیستوری، ترمینال مشترک، منبع تغذیه، فیوز، رله واسط و سلامت سیمبندی وابسته است.
چرا بعد از X7 ممکن است X10 دیده شود؟
در بسیاری از CPUها و ماژولهای خانواده DVP، شمارهگذاری ورودی و خروجی X/Y بهصورت مبنای هشت نمایش داده میشود؛ یعنی بعد از X7، آدرس X10 دیده میشود. این موضوع را با عدد ده اشتباه نگیرید. محدوده و روش دقیق آدرسدهی هر CPU و ماژول توسعه باید از راهنمای همان مدل بررسی شود؛ بهخصوص زمانی که چند ماژول I/O به سیستم اضافه شده است.
M؛ رله داخلی و حافظه منطقی برنامه
M یک بیت داخلی است که میتواند صفر یا یک باشد. این دیوایس هیچ خروجی فیزیکی را مستقیم فعال نمیکند و برای ساختن منطق تمیز و قابلفهم به کار میرود. بهجای تکرار یک شرط طولانی در چند شبکه، میتوان نتیجه آن شرط را در M ذخیره و در قسمتهای مختلف برنامه استفاده کرد.
بعضی ناحیههای M معمولی و بعضی ناحیهها ماندگار یا ویژه هستند. شمارههای ویژه ممکن است وضعیت CPU، کلاک، اولین اسکن یا عملکردهای سیستمی را نشان دهند. هرگز یک M ویژه را بدون بررسی راهنمای CPU بهعنوان حافظه آزاد پروژه استفاده نکنید.
T؛ تایمر PLC دلتا چگونه کار میکند؟
تایمر T برای ایجاد شرط وابسته به زمان استفاده میشود. هنگام فعالشدن شرط تایمر، مقدار جاری آن افزایش مییابد و پس از رسیدن به مقدار تنظیمشده، کنتاکت همان تایمر تغییر وضعیت میدهد. برای نمونه میتوان پس از فعالشدن M0، تایمر T0 را اجرا و سپس با کنتاکت T0 خروجی Y0 را فرمان داد.
|----[ T0 ]--------------------( Y0 )------|
عدد K50 یعنی ۵۰ واحد از مبنای زمانی همان تایمر، نه لزوماً ۵۰ ثانیه. مبنای زمان، نوع تایمر و ماندگار یا غیرماندگار بودن آن به CPU، محدوده T و دستور استفادهشده بستگی دارد. قبل از تبدیل K به ثانیه، جدول تایمرهای مدل دقیق را ببینید.
C؛ شمارنده برای قطعه، پالس و سیکل
کانتر C تعداد لبهها یا رخدادهای تعیینشده را میشمارد. پس از رسیدن مقدار جاری به مقدار هدف، کنتاکت C فعال میشود. یک کاربرد ساده، شمارش عبور قطعه از مقابل سنسور است؛ اما برای پالسهای سریع انکودر باید از ورودی و شمارنده پرسرعت سازگار با CPU استفاده شود، زیرا کانتر عادی به زمان اسکن برنامه محدود است. جزئیات PPR، سیگنال A/B/Z و ظرفیت HSC را در راهنمای انتخاب و سیمبندی انکودر ببینید.
|----[ X3 ]----------------[ RST C0 ]-----|
|----[ C0 ]--------------------( M10 )-----|
در این مثال مفهومی، پالس X2 شمارنده C0 را افزایش میدهد، X3 شمارنده را Reset میکند و پس از رسیدن شمارش به ۱۰، کنتاکت C0 حافظه M10 را فعال میکند. در پروژه واقعی باید لرزش کنتاکت، تکرار پالس در چند اسکن و سرعت سنسور بررسی شود.
D؛ رجیستر داده برای مقادیر عددی
رجیستر D برخلاف X، Y و M فقط یک وضعیت روشن یا خاموش نیست؛ یک کلمه داده نگه میدارد. از D برای ذخیره عددهایی مانند ستپوینت سرعت، دما، تعداد تولید، زمان تنظیمی، مقدار تبدیلشده ورودی آنالوگ، کد خطا یا داده دریافتشده از HMI و شبکه استفاده میشود.
این نمونه فقط مفهوم انتقال مقدار ثابت ۱۵۰ به D0 را نشان میدهد. در پروژه واقعی باید مشخص باشد عدد ۱۵۰ چه واحدی دارد؛ برای مثال هرتز، دور بر دقیقه، درجه یا درصد. بیشتر رجیسترهای D یک کلمه ۱۶ بیتی هستند و برای عددهای ۳۲ بیتی معمولاً یک جفت رجیستر متوالی همراه با دستور ۳۲ بیتی استفاده میشود. علامتدار یا بدون علامت بودن و ترتیب کلمات نیز باید با دستور و تجهیز مقصد هماهنگ باشد.
آیا مقدار D بعد از قطع برق باقی میماند؟
نباید فرض کنید همه Dها ماندگار یا همه آنها پاکشونده هستند. محدودههای Latched، پارامترهای نگهداری حافظه و مقداردهی اولیه در مدلها و پروژههای مختلف فرق دارند. برای ستپوینت حساس، علاوه بر انتخاب ناحیه درست، محدوده مجاز و مقدار پیشفرض ایمن را نیز در برنامه کنترل کنید.
مثال عملی: یک منطق کوچک با X، Y، M، T، C و D
فرض کنید یک نوار نقاله آزمایشی داریم. X0 فرمان Start، X1 فرمان Stop، X2 سنسور شمارش محصول، Y0 فرمان رله موتور، M0 حافظه Run، T0 تأخیر شروع، C0 شمارنده محصول و D0 ستپوینت سرعت است. ترتیب منطقی میتواند به شکل زیر باشد:
- با X0، بیت M0 فعال میشود و فرمان کار را نگه میدارد.
- با X1 یا هر شرط توقف معتبر، M0 Reset میشود.
- M0 تایمر T0 را راه میاندازد تا خروجی بلافاصله فعال نشود.
- پس از تکمیل T0، خروجی Y0 به مدار واسط موتور فرمان میدهد.
- هر پالس معتبر X2 شمارنده C0 را یک واحد افزایش میدهد.
- مقدار D0 بهعنوان مرجع عددی سرعت برای HMI یا درایو استفاده میشود.
روش درست مانیتورینگ آنلاین
هنگام عیبیابی از ابتدا تا انتهای زنجیره پیش بروید: ابتدا LED و وضعیت آنلاین X را ببینید، سپس Mهای مجوز، مقدار جاری T یا C و مقدار D را بررسی کنید و در پایان به Y برسید. Force کردن ورودی یا خروجی روی ماشین میتواند خطرناک باشد؛ بدون مجوز، تحلیل شرایط و حضور فرد مسئول از Force استفاده نکنید.
اشتباههای رایج در آدرسدهی PLC دلتا
| اشتباه | نتیجه | راه درست |
|---|---|---|
| تصور اینکه M یا D ترمینال فیزیکی دارد | سردرگمی در نقشه و عیبیابی | فهرست I/O فیزیکی را از حافظههای نرمافزاری جدا کنید. |
| فرض ماندگار بودن همه Mها و Dها | تغییر ناخواسته وضعیت پس از قطع و وصل برق | ناحیه Retentive و مقدار اولیه را از راهنمای CPU و پارامتر پروژه مشخص کنید. |
| تبدیل K تایمر به ثانیه بدون دیدن مبنای زمان | تأخیر اشتباه در فرایند | نوع و Time Base تایمر را برای مدل دقیق کنترل کنید. |
| استفاده از کانتر عادی برای پالس سریع | از دسترفتن شمارش | فرکانس پالس، زمان اسکن و شمارنده پرسرعت CPU را بررسی کنید. |
| استفاده از یک D برای عدد ۳۲ بیتی | سرریز یا مقدار نادرست | دستور ۳۲ بیتی و جفت رجیستر متوالی را هماهنگ انتخاب کنید. |
| استفاده از آدرس ویژه بهعنوان حافظه آزاد | رفتار غیرقابلپیشبینی برنامه | جدول Special Relay و Special Register همان CPU را بخوانید. |
پیشنهاد برای نامگذاری و مستندسازی
حتی در پروژه کوچک، کنار هر آدرس Comment واضح بنویسید؛ برای مثال X0_Start_PB، M0_Run_Command، T0_Start_Delay و D0_Speed_Setpoint. سپس یک جدول I/O شامل شماره ترمینال، نام تجهیز، نوع سیگنال، وضعیت نرمال و محل نصب تهیه کنید. این کار زمان راهاندازی و تعمیرات را بهشدت کاهش میدهد.
پرسشهای متداول
فرق M با Y چیست؟
M فقط یک بیت داخلی است، اما Y به کانال خروجی فیزیکی PLC مربوط میشود. بهتر است منطق و مجوزها ابتدا در M ساخته شوند و تنها فرمان نهایی به Y برسد.
فرق T با D چیست؟
T یک دیوایس زمانسنج با وضعیت تکمیل و مقدار جاری است؛ D یک رجیستر عمومی برای نگهداری عدد است. میتوان مقدار تنظیمی تایمر را از یک D خواند، اما نقش این دو یکی نیست.
آیا آدرسهای X و Y در همه PLCهای دلتا یکسان هستند؟
نامگذاری کلی X و Y مشترک است، اما تعداد نقاط، شروع آدرس ماژولها، محدوده و امکانات ویژه با مدل CPU و ماژول توسعه فرق دارد. نقشه و راهنمای همان سختافزار مرجع نهایی است.
چرا در WPLSoft مقدار D منفی دیده میشود؟
ممکن است نمایش عدد بین Signed و Unsigned متفاوت باشد، داده ۳۲ بیتی بهصورت یک کلمه دیده شود یا مقیاسسازی و ترتیب کلمات درست نباشد. نوع داده، دستور، فرمت مانیتور و تجهیز فرستنده را با هم بررسی کنید.
آیا میتوان مقدار M و D را از HMI تغییر داد؟
بله، اگر آدرس در HMI درست تعریف و اجازه نوشتن فراهم باشد؛ اما برای فرمانهای حساس باید محدوده، سطح دسترسی، تأیید اپراتور و اینترلاک برنامه لحاظ شود.
ادامه مسیر آموزش PLC دلتا
درس بعدی آماده است: آموزش تایمر و کانتر PLC دلتا با دستورهای TMR و CNT؛ همراه با مثال و جدول آزمون.
پیش از این مقاله، اتصال DVP14SS2 به WPLSoft و اولین برنامه و سیمبندی ورودی و خروجی PLC دلتا منتشر شدهاند. اگر از ابتدا شروع میکنید، نقشه راه یادگیری PLC دلتا ترتیب کامل آموزشها را نشان میدهد.
برای برآورد اولیه CPU و ماژولهای لازم نیز میتوانید ابزار رایگان انتخاب PLC دلتا را بررسی کنید. نتیجه ابزار جایگزین دیتاشیت، محاسبه I/O و طراحی مهندسی پروژه نیست.
