چگونه از Modbus بر روی xLogic میکرو PLCها استفاده کنیم: تنظیمات RS485 و TCP برای SCADA

Modbus چهل ساله است و هنوز نیمی از دنیای صنعتی را اداره می‌کند. دلیلی وجود دارد: ساده است، باز است و بر روی دو سیم و یک دعا کار می‌کند. وقتی SCADA شما نیاز به خواندن یکMicro PLC, Modbus زبانی است که شما به آن صحبت خواهید کرد — و خانواده xLogic آن را به صورت RTU، ASCII و TCP، به عنوان مستر یا اسلave صحبت می‌کند.

در اینجا مسیر تنظیمات است، با جزئیاتی که صفحه دیتاشیت هرگز چاپ نمی‌کند.

سریال اول: RS485 و Modbus RTU

پورت RS485 با Modbus RTU یا ASCII با هر دستگاهی که پورت RS485 استاندارد دارد صحبت می‌کند — VFDها، مترهای انرژی، HMIها، و PLCهای دیگر. آن را از طریق پورت داخلی متصل کنید، یا ماژول SR-RS485 را برای CPUهایی که ترمینال RS485 بومی ندارند اضافه کنید. کابل PRO-RS485 پورت برنامه‌نویسی را به یک پورت RS485 ایزوله تبدیل می‌کند وقتی که در تنگنا هستید.

نرخ Baud: 9600 پیش‌فرض و ایمن‌ترین است. می‌خواهید 19200؟ ابتدا سمت CPU را تغییر دهید، سپس سمت SCADA را — دفترچه راهنما صریح است و حالت خرابی (یک تایم‌اوت بی‌صدا) بعدازظهر شما را هدر خواهد داد اگر آن را معکوس انجام دهید.

آدرس‌دهی بیشتر از سرعت اهمیت دارد. هر دستگاهی در باس یک آدرس منحصر به فرد دریافت می‌کند و هشدار دفترچه راهنما ارزش یادآوری دارد: آدرس‌های تکراری باعث می‌شوند ارتباط به درستی عمل نکند. در عمل، این به معنای فساد داده‌ها است، نه یک پیام خطای مودبانه.

اترنت: Modbus TCP برای کارخانه مدرن

در CPUهای دارای قابلیت اترنت، Modbus TCP مسیر استاندارد است: PLC به عنوان سرور عمل می‌کند، SCADA یا HMI ثبت‌ها را از طریق LAN بررسی می‌کند. بدون دروازه، بدون مبدل پروتکل، و همان نقشه ثبت‌ها در شبکه مانند پورت سریال کار می‌کند. یک IP ثابت بر روی کنترلر، پورتی که از طریق روتر قابل دسترسی است، و دفتر شما می‌تواند ماشین را ببیند.

دو سبک اتصال برای کار از راه دور وجود دارد — CPU به عنوان سرور (مستقیم، ساده، نیاز به IP قابل دسترسی) یا CPU به عنوان کلاینت که به یک سرور تماس می‌گیرد (برای سایت‌های NAT شده و موبایل). بدانید کدام یک از سایت شما نیاز دارد قبل از اینکه پیکربندی کنید، زیرا آنها به طور متفاوتی پیکربندی می‌شوند و مخلوط کردن آنها یک معمای کلاسیک سه ساعته است.

تنظیم واقعی: ایستگاه پمپ به easySCADA

یک ایستگاه دو پمپی با مقادیر سطح، فشار و جریان: CPU منطق تعویض را اجرا می‌کند و یک PC در دفتر بسته رایگان easySCADA را اجرا می‌کند. ابتدا تست سریال — CPU بر روی RS485، آدرس ایستگاه 1، 9600 baud، ثبت سطح نقشه‌برداری شده. وقتی مقادیر بر روی صفحه easyMonitor ظاهر شد، همان پروژه به اترنت با تغییر پورت سوئیچ شد و PC دفتر همان ثبت‌ها را دید.

زمان کل پیکربندی: یک بعدازظهر، شامل قهوه. پروتکل به دلیل اینکه ما دقیقاً از قوانین آدرس و baud پیروی کردیم، مقاومت نکرد.

سمت SCADA

easySCADA فقط با Modbus RTU و TCP صحبت می‌کند — نه MQTT، نه OPC-UA، و این خوب است، زیرا Modbus چیزی است که دنیای SCADA هنوز به آن برای این دسته از کنترلرها اعتماد دارد. بلوک‌های ثبت را در تب داده نقشه‌برداری کنید: ورودی‌ها، خروجی‌ها، پرچم‌ها، پرچم‌های آنالوگ، ثبت‌ها، با اولویت‌های نظارت بالا/میانه/پایین. اولویت بیشتر از آنچه مردم فکر می‌کنند اهمیت دارد — پرچم‌های هشدار باید سریع نظارت شوند، مقادیر آنالوگ می‌توانند منتظر بمانند.

یک یادداشت میدانی دیگر: RS485 به یک زمین مشترک و ترمینیشن در هر دو انتهای باس نیاز دارد. پروتکل بخشنده است؛ لایه الکتریکی این‌گونه نیست. جفت تابیده، قطبیت صحیح، یک مرجع زمین — این تمام راز است و هرگز تغییر نمی‌کند.

انضباط نقشه ثبت

کشنده خاموش پروژه‌های Modbus نه سیم‌کشی یا نرخ baud است. این نقشه ثبت‌ها است — به طور خاص، لحظه‌ای که تنها در ذهن کسی زندگی می‌کند. من سیستم‌هایی را دیباگ کرده‌ام که SCADA به مدت دو هفته ثبت اشتباهی را خوانده است زیرا یک به‌روزرسانی برنامه یک آدرس را جابجا کرده و هیچ‌کس نقشه را به‌روزرسانی نکرده است. مقادیر به نظر منطقی می‌رسیدند. این دام است: داده‌های اشتباه که به نظر درست می‌رسند بدتر از عدم داده است.

نقشه را در روزی که آن را ایجاد می‌کنید بنویسید. ستون‌ها: آدرس PLC، شماره ثبت، نوع داده، مقیاس، واحد، و کدام نقطه SCADA آن را می‌خواند. آن را در پوشه پروژه نگه دارید، نسخه‌گذاری کنید مانند کد، و در همان کامیت به‌روزرسانی کنید که برنامه را به‌روزرسانی می‌کند. پانزده دقیقه‌ای که هزینه می‌کند یک آخر هفته سردرگمی را در سال اول نجات می‌دهد — تضمین شده.

نقشه را با فضایی برای رشد طراحی کنید. بین گروه‌های عملکردی فاصله بگذارید: ورودی‌ها در 100-120، خروجی‌ها در 150-160، آنالوگ در 200-240، پرچم‌ها در 300-320. وقتی مشتری از یک مقدار جدید درخواست می‌کند — آنها همیشه این کار را می‌کنند — در یک فاصله بدون شماره‌گذاری مجدد همه چیز و شکستن صفحه‌های SCADA قرار می‌گیرد. آن برنامه‌ریزی پیشرفته تفاوت بین سیستمی است که تکامل می‌یابد و سیستمی که هر بار کسی یک حسگر اضافه می‌کند نیاز به پروژه دوباره‌سازی دارد.

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

عیب‌یابی باس خاموش

وقتی صفحه SCADA یخ می‌زند، لیست را از ارزان‌ترین به گران‌ترین کار کنید. اول: آیا PC حتی در شبکه درست است؟ عدم تطابق زیرشبکه دقیقاً مانند یک باس مرده به نظر می‌رسد و ده ثانیه طول می‌کشد تا بررسی شود. دوم: آدرس. شماره ثبت را در تشخیص SCADA تایپ کنید اگر یکی دارد — یک آدرس اشتباه به طور تمیز نظارت می‌کند اما هیچ چیزی برنمی‌گرداند. سوم: نرخ baud. عدم تطابق بین CPU و PC سکوت تولید می‌کند و قانون دفترچه راهنما — ابتدا سمت CPU را تغییر دهید — وجود دارد زیرا این خرابی بسیار رایج است.

چهارم، و این یکی است که همه را متواضع می‌کند: لایه الکتریکی. RS485 به یک زمین مشترک در تمام دستگاه‌ها و مقاومت‌های ترمینیشن در انتهای فیزیکی باس نیاز دارد. یک زمین شناور فساد متناوبی تولید می‌کند که با بارها در کابینت می‌آید و می‌رود. من دیده‌ام که مهندسان سه دستگاه را در جستجوی یک روح تعویض کرده‌اند که در نهایت یک سیم زمین گم شده بود. مولتی‌متر را بیرون بیاورید، مقاومت بین زمین‌ها را بررسی کنید، قبل از اینکه سخت‌افزار را تعویض کنید.

یک نسخه از نقشه ثبت را در پنل نگه دارید. لمینت شده، پشت در، در کنار نمودار سیم‌کشی. مهندس بعدی — احتمالاً شما، در هجده ماه — نام شما را خواهد ستود.

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