АВЕН ПЛК110[M02]-MS4, HMI, OPC і SCADA, ці колькі чалавеку неабходна Рамашкова гарбаты. Частка 1

Добры дзень, дарагія чытачы гэтага артыкула. Пішу гэта ў фармаце агляду

невялікае папярэджаннеЖадаю папярэдзіць, што калі вы адразу зразумелі пра што гаворка з загалоўка, раю першы пункт(уласна, ПЛК-ядро) змяняць на што заўгодна з коштавай катэгорыі на прыступку вышэй.
Ніякая эканомія грошай не каштуе такой колькасці нерваў, суб'ектыўна.

Для тых, каго не палохае невялікая сівізна і амплітуда нервовага ціка, пазней я апішу ў падрабязнасцях як ствараўся гэты тэхналагічны цуд. У дадзеным артыкуле ж кароткі аналіз праекту з вызначанай дзеллю крытыцызму.

Зараджэнне. Пастаноўка задачы

Уласна, працую я ў канструктарскім бюро, і мы тэсціруем абсталяванне аўтаматызацыі для інтэграцыі ў нашы заводы пад ключ. Нядаўна на склад паступіла абсталяванне АВЕН і з яго было вырашана сабраць выпрабавальны стэнд:

  • ПЛК110[M02]-MS4 (выканаўчае асяроддзе MasterSCADA 4D)
  • Панэль аператара СП307
  • Модуль універсальны ўводу аналагавых сігналаў МВ110-224.2А
  • Модуль уводу сігналаў тэнзадатчыкаў МВ110-4ТД
  • Модуль электравымяральны МВ110-220.3М

Структура сістэмы была абрана з размежаваннем сетак па прызначэнні:

  1. Modbus RTU на базе RS-485 – зносіны ПЛК з падпарадкаванымі прыладамі (модулі, частотнікі, інтэлектуальныя датчыкі, HMI панэль СП307), ПЛК-майстар сеткі.
  2. Modbus TCP на базе Ethernet - Зносіны розных ПЛК адзін з адным і з OPC-серверам
  3. ПК-сервер OPC і SCADA-сістэмы з'яўляецца адначасова шлюзам паміж двума рознымі сеткамі(Карпаратыўная LAN прадпрыемствы і Modbus TCP сетка кантролераў(два сеткавых адаптара з маршрутызацыяй дадзеных стандартнымі сродкамі Windows)
  4. Карпаратыўны LAN мае выхад у інтэрнэт праз проксі-сервер

Структура сістэмы ў агульным выглядзе прадстаўлена на малюнку ніжэй:

АВЕН ПЛК110[M02]-MS4, HMI, OPC і SCADA, ці колькі чалавеку неабходна Рамашкова гарбаты. Частка 1

Закладзены функцыянал

  • Збор і перанакіраванне дадзеных з ПЛК на OPC-сервер
  • Лакальнае кіраванне і маніторынг з дапамогай HMI-панэлі
  • Упраўленне і маніторынг з SCADA праз OPC-сервер
  • Упраўленне з любога ПК з LAN прадпрыемствы і праз інтэрнэт з дапамогай SCADA-кліента
  • Падключэнне мабільных OPC-манітораў праз LAN і інтэрнэт
  • Зразумела, архівацыя і генерацыя справаздач

Нібыта нічога не ўпусцілі. Агульнае апісанне сістэмы ёсць, а зараз, уласна, па тэме (спосабы ўхілення буду апісваць у артыкулах з рэалізацыяй кожнага вузла):

Узніклыя складанасці

1. Дакументацыя да ПЛК

Beta-тэставанне заяўленага ПЛК на ядры MasterSCADA 4D было пазначана вытворцам у 2012 годзе. Нягледзячы на ​​такі вялікі тэрмін існавання канцэпта, усё што мае распрацоўшчык у 2019-м гэта кіраўніцтва па праграмаванні ў 28(!?) старонак, на якіх карыснай інфармацыі ледзь менш чым ніколькі, прычым скрыншоты ў мануале з MasterSCADA 3D, што даволі пацешна з улікам таго, што інтэрфейс змяніўся.

Таксама актыўна падтрымліваецца трыма адэптамі і мэнэджэрам па продажах галінка форума ў 20 топікаў.

2. Архітэктура ПЛК-модулі

Гэта асобная тэма для абмеркавання. Коратка: ПЛК мае зносіны з модулямі як з Modbus RTU slave прыладамі, якія папярэдне неабходна сканфігураваць утылітай асобна падлучыўшы кожны да ПК праз пераўтваральнік RS-485.

Разумныя дзядзькі, вядома, напэўна ўмеюць рабіць гэта без пераўтваральніка праз ПЛК, паслядоўна падлучаючы модулі ў сетку і запісваючы патрэбныя рэгістры, але такое прыходзіць з досведам і велізарнай колькасцю болю.

Для распрацоўніка ўпершыню які ўбачыў такую ​​архітэктуру зусім не юзэр-фрэндлі.
Таксама ўсе аналагавыя модулі любяць сыходзіць у адмову па невядомых прычынах, забіраючы за сабой усю RS-485 сетку ў Тэра Інкогніта, але пра гэта я таксама хачу расказаць асобна, цэлая эпапея, вядома. Праблеме, дарэчы, гадоў 10, вытворца аджартоўваецца «Варта прызнаць, шаблоны нам не ўдаліся», Аднак гэта адзіны інтэрфейс зносін з модулямі, і людзі, суцэль сур'ёзна, даўно прапісваюць свае рэалізацыі Modbus RTU.

Тым часам, рамонкавы чай заканчваўся… Сонца сыходзіла на захад

3. IDE MasterSCADA

Пра графічныя інструменты казаць не будзем, моцна я не тэсціраваў, але скажу адразу, што не спадабалася.

Гаворым пра рэалізацыю абмену данымі і мовы стандарту МЭК:

Фізічныя ўводы высновы кантролера не з'яўляюцца глабальнымі зменнымі і да іх нельга звярнуцца з любой часткі праграмы, напісаўшы аліяс, напрыклад "DI1". У кожную праграму варта перацягваць гэта ручкамі, там фармуецца лакальная зменная, якая ўспадкоўвае ці перадае значэнне. Г.зн. сама сутнасць ПЛК, у маім бачанні, трохі згублена: прылада павінна спрашчаць праграмаванне логікі працы фізічных каналаў да ўзроўню "Калі спрацаваў уваход DI1 – Уключаем выхад DO1", а выглядае гэта так «Уваход DI1 – Пераменная LI1 – Пераменная LO1-Выхад DO1», таксама па няведанні гэтага прынцыпу IDE можна злавіць цудоўнае папярэджанне «Пераўтварэнне Boolean-Boolean немагчыма» (верагодней за ўсё, што тое з іх паказальнік, але ўяўляю ў рэдакцыі стваральнікаў, так гарманічна).

Бібліятэкі моў ST, FBD, SFC дастаткова аб'ёмныя і выбар для зручнасці праграмавання ёсць, аднак гэтыя кампаненты з'яўляюцца не функцыямі, а класамі, усярэдзіне якіх зашыты метады, а ў другіх на большасць адсутнічае даведка з апісаннем функцыяналу і тыпаў дадзеных. Настырнасць прывяла мяне ў бібліятэкі ядра CodeSys, адкуль усе гэтыя функцыі і былі ўзятыя, іх даведка дапамагла.

4. Абмен з панэллю СП307

Даволі цікавае мерапрыемства для тых, каму няма куды патраціць пару дзён.

Стандартнае тэставанне GUI(HMI або SCADA) для мяне гэта зрабіць 6 спроб:

  1. Чытанне дыскрэтнага сігналу
  2. Запіс дыскрэтнага сігналу
  3. Чытанне цэлалікавага значэння
  4. Запіс цэлалікавага значэння
  5. Чытанне рэчавага значэння
  6. Запіс рэчыўнага значэння

Адпаведна, я малюю на экран 6 кампанентаў-прымітываў і кожны па парадку правяраю
Абмен абсалютна такі ж як і з модулямі, але з асобнага порта ПЛК RS-232/485, і, накшталт як, больш стабільны. Паколькі HMI-слэйв, то пісаў я ў яго па змене, а чытаў полінгам 500мс, каб не выпусціць дзеянні аператара.

Першыя 4 пункты былі выкананы на выдатна, але 5 і 6 выклікалі праблемы.

Адпраўляем дадзеныя тыпу Single Float, на экране іх выводны і бачым, што дадзеныя не тыя, хоць усе налады высновы (Float, памернасць 1 рэгістр і іншае) каштуюць правільна. Будзе няпраўдай сказаць, што ў дакументацыі прэцэдэнт не апісаны, аднак, паспрабуйце знайсці ў якой і дзе, гэта з боку пацешна.

Пасля істэрычнага перабору ўсіх налад, якія датычацца саміх дадзеных і іх адпраўкі, пішам у тэхпадтрымку, адказ у сярэднім 5-6 каляндарных дзён, працуем па стандартным скрыпце тэхпадтрымкі «Праверце, што сілкаванне ўключана - праверце версію ПА - чакайце, калі ласка яшчэ тыдзень-Ідзем разбірацца самі».

Дарэчы, вырашылася ўсталяваннем адной галачкі ў абсалютна неадэкватным месцы з абсалютна неадэкватным подпісам.

У функцыянал экрана не закладзены ўвод аналагавага сігналу фармату «Бягунок», можна ўпісаць толькі ў тэкставае поле лічбамі. Гэта проста цудоўна, або пішам кнопкі "±" і скрыпт самастойна або ўводзім лічбу з клавіятуры, аб мяккім кіраванні якім-небудзь прывадам забываем.

Не буду моцна перагружаць артыкул, таму буду апісваць праблемы з верхнім узроўнем у частцы 2.

Рэзюмуючы, хачу адзначыць, што я меў дастатковую свабоду і шмат часу для вырашэння гэтых праблем, якія на першы погляд здаюцца смешнымі, але выклікаюць шмат болю ў пацярпелага. Ва ўмовах абмежаваных тэрмінаў з такімі праблемамі сутыкацца крытычна.

PS: Усе тэзісы, выкладзеныя тут, суб'ектыўныя, і з'яўляюцца толькі спробай папярэдзіць непадрыхтаваных, а не дыскрымінаваць вытворцаў, прашу паставіцца да гэтага артыкула менавіта з гэтага пункта гледжання.

Другая частка ўжо тут: пстрыкаем

Крыніца: habr.com

Дадаць каментар