ARIES PLC110[M02]-MS4، HMI، OPC و SCADA، یا اینکه یک فرد چقدر به چای بابونه نیاز دارد. قسمت 1

عصر بخیر، خوانندگان عزیز این مقاله. من این را در قالب نقد می نویسم.

کمی هشدارمن می خواهم به شما هشدار دهم که اگر بلافاصله از عنوان متوجه شدید که در مورد چه چیزی صحبت می کنیم، به شما توصیه می کنم اولین نکته (در واقع هسته PLC) را به هر چیزی از یک رده قیمتی یک پله بالاتر تغییر دهید.
هیچ مقدار پس انداز پول به لحاظ ذهنی ارزش این همه اعصاب را ندارد.

برای کسانی که از کمی موهای خاکستری و دامنه تیک عصبی نمی ترسند، بعداً نحوه ایجاد این معجزه فناوری را با جزئیات شرح خواهم داد. این مقاله تحلیلی مختصر از پروژه با مقداری انتقاد ارائه می کند.

اصل و نسب. فرمول بندی مسئله

در واقع، من در یک دفتر طراحی کار می کنم و تجهیزات اتوماسیون را برای ادغام با کارخانه های کلید در دست خود آزمایش می کنیم. اخیراً تجهیزات OWEN به انبار رسید و تصمیم گرفته شد که یک میز آزمایش از آن جمع آوری شود:

  • PLC110[M02]-MS4 (محیط اجرایی MasterSCADA 4D)
  • پنل اپراتور SP307
  • ماژول ورودی سیگنال آنالوگ جهانی МВ110-224.2А
  • ماژول ورودی سیگنال کرنش سنج MV110-4TD
  • ماژول اندازه گیری الکتریکی MV110-220.3M

ساختار سیستم با تمایز شبکه ها بر اساس هدف انتخاب شد:

  1. Modbus RTU بر اساس RS-485 - ارتباط بین PLC و دستگاه های برده (ماژول ها، مبدل های فرکانس، سنسورهای هوشمند، پانل HMI SP307)، اصلی شبکه PLC.
  2. Modbus TCP مبتنی بر اترنت - ارتباط PLC های مختلف با یکدیگر و با سرور OPC
  3. سرور PC سیستم OPC و SCADA به طور همزمان دروازه ای بین دو شبکه مختلف است (LAN شرکتی سازمانی و شبکه کنترلرهای Modbus TCP (دو آداپتور شبکه با مسیریابی داده با استفاده از ابزارهای استاندارد ویندوز)
  4. شبکه LAN شرکت از طریق یک سرور پراکسی به اینترنت دسترسی دارد

ساختار کلی سیستم در تصویر زیر نشان داده شده است:

ARIES PLC110[M02]-MS4، HMI، OPC و SCADA، یا اینکه یک فرد چقدر به چای بابونه نیاز دارد. قسمت 1

عملکرد داخلی

  • جمع آوری و هدایت داده ها از PLC به سرور OPC
  • کنترل و نظارت محلی از طریق پنل HMI
  • کنترل و نظارت از SCADA از طریق سرور OPC
  • کنترل از هر رایانه شخصی از شبکه محلی سازمانی و از طریق اینترنت با استفاده از کلاینت SCADA
  • اتصال مانیتورهای OPC موبایل از طریق LAN و اینترنت
  • البته بایگانی و تولید گزارش

انگار چیزی از قلم نیفتاده است. یک توصیف کلی از سیستم وجود دارد، و اکنون، در واقع، در مورد این موضوع (من روش های حذف را در مقالات با اجرای هر گره شرح خواهم داد):

مشکلات پیش آمده

1. اسناد PLC

آزمایش بتا PLC اعلام شده بر روی هسته MasterSCADA 4D توسط سازنده در سال 2012 نشان داده شد. با وجود چنین طول عمر چشمگیر این مفهوم، تنها چیزی که توسعه دهنده در سال 2019 در اختیار دارد یک کتابچه راهنمای برنامه نویسی 28 صفحه (!؟) است که اطلاعات مفیدی در آن کمی کمتر از هیچ اطلاعات مفیدی وجود ندارد و اسکرین شات های موجود در دفترچه راهنما از MasterSCADA 3D هستند. که با در نظر گرفتن تغییر رابط کاربری بسیار خنده دار است.

یک تالار گفتمان شامل 20 موضوع نیز به طور فعال توسط سه طرفدار و یک مدیر فروش پشتیبانی می شود.

2. معماری ماژول های PLC

این یک موضوع جداگانه برای بحث است. به طور خلاصه: PLC با ماژول ها به عنوان دستگاه های برده Modbus RTU ارتباط برقرار می کند، که ابتدا باید توسط ابزار به طور جداگانه با اتصال هر یک به رایانه شخصی از طریق مبدل RS-485 پیکربندی شوند.

البته بچه های باهوش احتمالاً می دانند که چگونه این کار را بدون مبدل از طریق PLC انجام دهند، ماژول ها را به طور متوالی به شبکه وصل کرده و رجیسترهای لازم را می نویسند، اما این با تجربه و مقدار زیادی درد همراه است.

برای توسعه دهنده ای که برای اولین بار چنین معماری را می بیند، اصلاً کاربرپسند نیست.
همچنین، همه ماژول‌های آنالوگ دوست دارند به دلایل نامعلومی از کار بیفتند و کل شبکه RS-485 را در Terra Incognita با خود می‌برند، اما من همچنین می‌خواهم در این مورد جداگانه صحبت کنم، البته یک حماسه کامل. اتفاقاً مشکل 10 ساله است، سازنده آن را می خندد "باید اعتراف کنیم که قالب ها برای ما کار نمی کنند"با این حال، این تنها رابط برای برقراری ارتباط با ماژول‌ها است و مردم، به طور جدی، مدت‌هاست که پیاده‌سازی Modbus RTU خود را می‌نویسند.

در همین حین چای بابونه رو به اتمام بود... خورشید داشت غروب می کرد

3. IDE MasterSCADA

ما در مورد ابزارهای گرافیکی صحبت نمی کنیم؛ من آنها را به طور گسترده آزمایش نکرده ام، اما بلافاصله می گویم که آن را دوست نداشتم.

ما در مورد پیاده سازی تبادل داده و زبان های استاندارد IEC صحبت می کنیم:

ورودی ها و خروجی های فیزیکی کنترلر، متغیرهای سراسری نیستند و نمی توان از هیچ بخشی از برنامه با نوشتن نام مستعار، به عنوان مثال "DI1" به آنها دسترسی داشت. شما باید این را با استفاده از دسته ها به داخل هر برنامه بکشید، یک متغیر محلی در آنجا تشکیل می شود که مقدار را به ارث می برد یا منتقل می کند. آن ها ماهیت PLC، از دید من، کمی گم شده است: دستگاه باید برنامه نویسی منطق عملکرد کانال های فیزیکی را تا حدی ساده کند. "اگر ورودی DI1 راه اندازی شد، خروجی DO1 را روشن کنید"و به نظر می رسد این است "ورودی DI1 - متغیر LI1 - متغیر LO1 - خروجی DO1"همچنین، به دلیل نادیده گرفتن این اصل IDE، می توانید یک هشدار لذت بخش دریافت کنید "تبدیل بولی به بولی غیرممکن است" (به احتمال زیاد، یکی از آنها یک اشاره گر است، اما من تصور می کنم در ویرایشگرهای سازندگان، هماهنگ تر است) .

کتابخانه‌های زبان‌های ST، FBD، SFC بسیار حجیم هستند و برای سهولت برنامه‌نویسی امکان انتخاب وجود دارد، با این حال، این مؤلفه‌ها توابع نیستند، بلکه کلاس‌هایی هستند که متدها در آنها تعبیه شده است و ثانیاً اکثر آنها کمکی برای توصیف ندارند. عملکرد و انواع داده ها پایداری من را به کتابخانه‌های هسته CodeSys سوق داد، جایی که همه این توابع از آنجا گرفته شده بودند و کمک آنها کمک کرد.

4. تعویض با پنل SP307

یک رویداد بسیار جالب برای کسانی که جایی برای گذراندن چند روز ندارند.

تست استاندارد رابط کاربری گرافیکی (HMI یا SCADA) برای من انجام 6 تست است:

  1. خواندن یک سیگنال گسسته
  2. ضبط یک سیگنال گسسته
  3. خواندن یک مقدار صحیح
  4. نوشتن یک مقدار صحیح
  5. خواندن یک ارزش واقعی
  6. نوشتن یک ارزش واقعی

بر این اساس، من 6 جزء اولیه را روی صفحه می کشم و هر کدام را به ترتیب بررسی می کنم
تبادل کاملاً مشابه ماژول ها است، اما از یک پورت جداگانه RS-232/485 PLC، و به نظر می رسد پایدارتر است. از آنجایی که یک برده HMI است، من با تغییر به آن نامه نوشتم و آن را در نظرسنجی 500 میلی ثانیه خواندم تا اقدامات اپراتور را از دست ندهم.

4 امتیاز اول به خوبی تکمیل شد اما امتیاز 5 و 6 مشکلاتی ایجاد کرد.

داده هایی از نوع Single Float را ارسال می کنیم، روی صفحه نمایش می دهیم و می بینیم که داده ها یکسان نیستند، البته همه تنظیمات خروجی (Float، رجیستر ابعاد 1 و ...) درست است. دروغ است اگر بگوییم سابقه در مستندات توضیح داده نشده است، با این حال، سعی کنید پیدا کنید کدام یک و کجا، از بیرون خنده دار است.

پس از جستجوی هیستریک در تمام تنظیمات مربوط به خود داده و ارسال آن، ما به پشتیبانی فنی می نویسیم، پاسخ به طور متوسط ​​5-6 روز تقویم است، ما طبق اسکریپت استاندارد پشتیبانی فنی کار می کنیم "بررسی کنید که برق روشن است - نسخه نرم افزار را بررسی کنید - لطفا یک هفته دیگر صبر کنید - بیایید خودمان آن را بفهمیم ”.

به هر حال، با نصب یک تیک در یک مکان کاملاً نامناسب با امضای کاملاً ناکافی تصمیم گرفته شد.

در عملکرد صفحه نمایش ورودی سیگنال آنالوگ با فرمت "Slider" گنجانده نشده است، فقط با استفاده از اعداد در قسمت متن وارد می شود. این به سادگی شگفت انگیز است، یا دکمه های "±" و اسکریپت را خودمان می نویسیم، یا یک عدد را از صفحه کلید وارد می کنیم و کنترل نرم برخی درایو را فراموش می کنیم.

من مقاله را بیش از حد بارگذاری نمی کنم، بنابراین مشکلات مربوط به سطح بالا را در قسمت 2 شرح خواهم داد.

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

PS: تمام پایان نامه های ارائه شده در اینجا ذهنی هستند و فقط تلاشی برای هشدار به ناآماده ها و عدم تبعیض علیه تولید کنندگان است، از شما می خواهم که این مقاله را از این منظر بگیرید.

قسمت دوم قبلا اینجاست: کلیک

منبع: www.habr.com

اضافه کردن نظر