PLC دلتا سفید در تابلو برق کنار لپ‌تاپ برنامه‌نویسی و نمایش ورودی X و خروجی Y

در PLC دلتا، حروف X، Y، M، T، C و D فقط نام‌های کوتاه نیستند؛ هرکدام نوع مشخصی از سیگنال یا حافظه را معرفی می‌کنند. X و Y با ورودی و خروجی واقعی دستگاه ارتباط دارند، اما M، T، C و D داخل برنامه زندگی می‌کنند. اگر این تفاوت را درست بفهمید، خواندن Ladder، مانیتورینگ آنلاین و عیب‌یابی بسیار ساده‌تر می‌شود.

خلاصه سریع حافظه‌های PLC دلتا

کاربرد دیوایس‌های پرکاربرد در PLCهای سری DVP دلتا
حرفنام و نوعکاربرد اصلینمونه
Xورودی دیجیتال فیزیکی، بیتیخواندن شستی، سنسور، فیدبک کنتاکتور یا وضعیت حفاظتیX0؛ شستی شروع
Yخروجی دیجیتال فیزیکی، بیتیفرمان رله واسط، چراغ، شیر یا ورودی کنترلی تجهیز با مدار مناسبY0؛ فرمان رله
Mرله داخلی، بیتیخودنگهدار، مجوز، مرحله، پرچم خطا و حافظه منطقیM0؛ مجوز کار
Tتایمر نرم‌افزاریتأخیر در وصل یا قطع، زمان‌سنجی مرحله و ایجاد شرط زمانیT0؛ تأخیر راه‌اندازی
Cشمارنده نرم‌افزاریشمارش قطعه، پالس، سیکل یا تعداد رخدادC0؛ شمارش محصول
Dرجیستر داده، عددیست‌پوینت، مقدار آنالوگ، نتیجه محاسبه، شمارش تولید و داده شبکهD0؛ مرجع سرعت
پاسخ یک‌خطی: X اطلاعات را از محیط می‌گیرد، برنامه با M، T، C و D درباره آن تصمیم می‌گیرد و Y نتیجه را به مدار خروجی می‌فرستد.

تفاوت ترمینال فیزیکی با حافظه داخلی 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 را فعال کند. کارکرد واقعی بار همچنان به نوع خروجی رله‌ای یا ترانزیستوری، ترمینال مشترک، منبع تغذیه، فیوز، رله واسط و سلامت سیم‌بندی وابسته است.

هشدار ایمنی: موتور، هیتر، کنتاکتور بزرگ یا بار نامتناسب را مستقیم به خروجی PLC وصل نکنید. مدار قدرت، حفاظت اضافه‌بار و توقف اضطراری باید مستقل و بر اساس طراحی ایمن اجرا شوند.

چرا بعد از X7 ممکن است X10 دیده شود؟

در بسیاری از CPUها و ماژول‌های خانواده DVP، شماره‌گذاری ورودی و خروجی X/Y به‌صورت مبنای هشت نمایش داده می‌شود؛ یعنی بعد از X7، آدرس X10 دیده می‌شود. این موضوع را با عدد ده اشتباه نگیرید. محدوده و روش دقیق آدرس‌دهی هر CPU و ماژول توسعه باید از راهنمای همان مدل بررسی شود؛ به‌خصوص زمانی که چند ماژول I/O به سیستم اضافه شده است.

M؛ رله داخلی و حافظه منطقی برنامه

M یک بیت داخلی است که می‌تواند صفر یا یک باشد. این دیوایس هیچ خروجی فیزیکی را مستقیم فعال نمی‌کند و برای ساختن منطق تمیز و قابل‌فهم به کار می‌رود. به‌جای تکرار یک شرط طولانی در چند شبکه، می‌توان نتیجه آن شرط را در M ذخیره و در قسمت‌های مختلف برنامه استفاده کرد.

خودنگهدارذخیره فرمان Run پس از رهاکردن شستی Start.
مجوز و اینترلاکتجمیع شروط ایمنی و فرایندی قبل از فرمان خروجی.
مرحله کاریمشخص‌کردن مرحله پرکردن، شست‌وشو، تخلیه یا توقف.
پرچم خطاثبت وجود خطا برای نمایش در HMI یا جلوگیری از راه‌اندازی.

بعضی ناحیه‌های M معمولی و بعضی ناحیه‌ها ماندگار یا ویژه هستند. شماره‌های ویژه ممکن است وضعیت CPU، کلاک، اولین اسکن یا عملکردهای سیستمی را نشان دهند. هرگز یک M ویژه را بدون بررسی راهنمای CPU به‌عنوان حافظه آزاد پروژه استفاده نکنید.

T؛ تایمر PLC دلتا چگونه کار می‌کند؟

تایمر T برای ایجاد شرط وابسته به زمان استفاده می‌شود. هنگام فعال‌شدن شرط تایمر، مقدار جاری آن افزایش می‌یابد و پس از رسیدن به مقدار تنظیم‌شده، کنتاکت همان تایمر تغییر وضعیت می‌دهد. برای نمونه می‌توان پس از فعال‌شدن M0، تایمر T0 را اجرا و سپس با کنتاکت T0 خروجی Y0 را فرمان داد.

عدد K50 یعنی ۵۰ واحد از مبنای زمانی همان تایمر، نه لزوماً ۵۰ ثانیه. مبنای زمان، نوع تایمر و ماندگار یا غیرماندگار بودن آن به CPU، محدوده T و دستور استفاده‌شده بستگی دارد. قبل از تبدیل K به ثانیه، جدول تایمرهای مدل دقیق را ببینید.

C؛ شمارنده برای قطعه، پالس و سیکل

کانتر C تعداد لبه‌ها یا رخدادهای تعیین‌شده را می‌شمارد. پس از رسیدن مقدار جاری به مقدار هدف، کنتاکت C فعال می‌شود. یک کاربرد ساده، شمارش عبور قطعه از مقابل سنسور است؛ اما برای پالس‌های سریع انکودر باید از ورودی و شمارنده پرسرعت سازگار با CPU استفاده شود، زیرا کانتر عادی به زمان اسکن برنامه محدود است. جزئیات PPR، سیگنال A/B/Z و ظرفیت HSC را در راهنمای انتخاب و سیم‌بندی انکودر ببینید.

در این مثال مفهومی، پالس X2 شمارنده C0 را افزایش می‌دهد، X3 شمارنده را Reset می‌کند و پس از رسیدن شمارش به ۱۰، کنتاکت C0 حافظه M10 را فعال می‌کند. در پروژه واقعی باید لرزش کنتاکت، تکرار پالس در چند اسکن و سرعت سنسور بررسی شود.

D؛ رجیستر داده برای مقادیر عددی

رجیستر D برخلاف X، Y و M فقط یک وضعیت روشن یا خاموش نیست؛ یک کلمه داده نگه می‌دارد. از D برای ذخیره عددهایی مانند ست‌پوینت سرعت، دما، تعداد تولید، زمان تنظیمی، مقدار تبدیل‌شده ورودی آنالوگ، کد خطا یا داده دریافت‌شده از HMI و شبکه استفاده می‌شود.

ست‌پوینتمثلاً مرجع سرعت در D0 یا دمای هدف در D10.
ورودی آنالوگذخیره مقدار خام و نتیجه مقیاس‌سازی سنسور.
محاسباتجمع، تفریق، ضرب، تقسیم و تبدیل مهندسی داده‌ها.
HMI و شبکهتبادل عدد، وضعیت، فرمان و پارامتر با تجهیزات دیگر.

این نمونه فقط مفهوم انتقال مقدار ثابت ۱۵۰ به D0 را نشان می‌دهد. در پروژه واقعی باید مشخص باشد عدد ۱۵۰ چه واحدی دارد؛ برای مثال هرتز، دور بر دقیقه، درجه یا درصد. بیشتر رجیسترهای D یک کلمه ۱۶ بیتی هستند و برای عددهای ۳۲ بیتی معمولاً یک جفت رجیستر متوالی همراه با دستور ۳۲ بیتی استفاده می‌شود. علامت‌دار یا بدون علامت بودن و ترتیب کلمات نیز باید با دستور و تجهیز مقصد هماهنگ باشد.

آیا مقدار D بعد از قطع برق باقی می‌ماند؟

نباید فرض کنید همه Dها ماندگار یا همه آن‌ها پاک‌شونده هستند. محدوده‌های Latched، پارامترهای نگهداری حافظه و مقداردهی اولیه در مدل‌ها و پروژه‌های مختلف فرق دارند. برای ست‌پوینت حساس، علاوه بر انتخاب ناحیه درست، محدوده مجاز و مقدار پیش‌فرض ایمن را نیز در برنامه کنترل کنید.

مثال عملی: یک منطق کوچک با X، Y، M، T، C و D

فرض کنید یک نوار نقاله آزمایشی داریم. X0 فرمان Start، X1 فرمان Stop، X2 سنسور شمارش محصول، Y0 فرمان رله موتور، M0 حافظه Run، T0 تأخیر شروع، C0 شمارنده محصول و D0 ست‌پوینت سرعت است. ترتیب منطقی می‌تواند به شکل زیر باشد:

  1. با X0، بیت M0 فعال می‌شود و فرمان کار را نگه می‌دارد.
  2. با X1 یا هر شرط توقف معتبر، M0 Reset می‌شود.
  3. M0 تایمر T0 را راه می‌اندازد تا خروجی بلافاصله فعال نشود.
  4. پس از تکمیل T0، خروجی Y0 به مدار واسط موتور فرمان می‌دهد.
  5. هر پالس معتبر X2 شمارنده C0 را یک واحد افزایش می‌دهد.
  6. مقدار D0 به‌عنوان مرجع عددی سرعت برای HMI یا درایو استفاده می‌شود.
مثال آموزشی: مدار Stop، اضافه‌بار، حفاظ‌ها و توقف اضطراری در ماشین واقعی باید با تحلیل خطر و مدار سخت‌افزاری مناسب طراحی شوند. این مثال جایگزین نقشه اجرایی نیست.

روش درست مانیتورینگ آنلاین

هنگام عیب‌یابی از ابتدا تا انتهای زنجیره پیش بروید: ابتدا 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 و طراحی مهندسی پروژه نیست.

منابع فنی