Абавязковы для прамысловай сувязі: глыбокі аналіз пратаколу TCP/IP
Што менавіта Пратакол TCP/IP на якія часта спасылаюцца інжынеры? Больш за ўсё прамысловыя аб'екты баяцца не занадта вялікай колькасці абсталявання, а раптоўнай немагчымасці яго падключыць.
Прыкладамі з'яўляюцца адключэнне ПЛК ад галоўнага кампутара; збой абнаўлення экрана HMI; сістэма SCADA не можа сабраць дадзеныя; перапынак сувязі з пераўтваральнікамі частаты; або паведамленні робатаў аб анамаліях у сетцы, сярод іншых праблем.
На дадзены момант фраза «ёсць праблема з сеткай» ахоплівае занадта шмат магчымасцей і ўскладняе пошук і ліквідацыю непаладак.
Каб старанна даследаваць гэтае пытанне, нам спачатку трэба разабрацца ў TCP/IP.
TCP/IP — гэта не асобны пратакол, а комплексны набор стандартаў сеткавай сувязі. Ён ляжыць у аснове крытычна важных прыкладанняў, пачынаючы ад Інтэрнэту і прамысловага Ethernet і заканчваючы ПЛК-сувяззю, сістэмамі дыстанцыйнага маніторынгу, зборам дадзеных MES і перадачай дадзеных праз шлюзы.
Звычайна яго можна падзяліць на чатыры ўзроўні: узровень сеткавага інтэрфейсу.
Інтэрнэт-слой.
транспартны ўзровень.
прыкладны ўзровень.
Гэтыя чатыры ўзроўні, знізу ўверх, вырашаюць адну канкрэтную праблему.

Ⅰ.Узровень сеткавага інтэрфейсу
Самы ніжні ўзровень — гэта ўзровень сеткавага інтэрфейсу.
Ён вызначае, ці можа прылада сапраўды падключыцца да сеткі.
ПЛК, HMI, прамысловыя ПК, сервапрывады, шафы кіравання робатамі і прамысловыя камутатары патрабуюць падключэння праз кабелі Ethernet, валаконна-аптычныя або бесправадныя сеткі. Такія фактары, як гарыць індыкатар сеткавай карты, працаздольнасць кабеля Ethernet, патэнцыйныя няспраўнасці ў партах камутатара і ўзровень перашкод у полі — усё гэта ўлічваецца.
Гэты ўзровень звычайна выкарыстоўвае MAC-адрасы.
IP-адрас вызначае канчатковы пункт прызначэння, а MAC-адрас ідэнтыфікуе прыладу наступнага кроку ў лакальнай сетцы.
Напрыклад, калі галоўнаму камп'ютару патрабуецца доступ да ПЛК, даныя могуць спачатку прайсці праз камутатар, перш чым дасягнуць сеткавага порта ПЛК. Падчас пераадрасацыі камутатар у асноўным абапіраецца на MAC-адрас.
Распаўсюджаныя праблемы ў прамысловым асяроддзі, у тым ліку пашкоджаныя сеткавыя кабелі, дрэнны кантакт на раздымах RJ45, няспраўныя парты камутатара, неналежныя аптычныя модулі або недастатковае зазямленне экранавання, павінны ў першую чаргу дыягнаставацца на гэтым узроўні.
Гэты ўзровень таксама выконвае праверку кадраў, напрыклад, CRC, якая выкарыстоўваецца ў Ethernet для выяўлення памылак падчас перадачы па злучэнні. Аднак ён у першую чаргу служыць для выяўлення памылак, а не для гарантавання дастаўкі службовых дадзеных.
II.Інтэрнэт-слой
Другі ўзровень — гэта інтэрнэт-узровень, асноўным кампанентам якога з'яўляецца IP-пратакол, звычайна вядомы як IP-адрас, які апрацоўвае адрасацыю і перасылку дадзеных.
На месцы IP-адрас ПЛК можа быць 192.168.1.10, HMI — 192.168.1.20, а прамысловага кіруючага камп'ютара — 192.168.1.100. Каб узаемадзейнічаць паміж прыладамі, спачатку трэба ведаць IP-адрасы адна адной.
Калі прылады знаходзяцца ў адным сегменце сеткі, яны звычайна перасылаюцца камутатарам.
Пры доступе да сервера цэнтральнага дыспетчарскага праз розныя сегменты сеткі, напрыклад, калі гэта робіць абсталяванне майстэрні, патрабуецца шлюз або маршрутызатар.
IP-пратакол забяспечвае толькі найлепшую перасылку і не гарантуе дастаўку.
Пакеты дадзеных могуць быць страчаныя, непасрэдныя або не дасягаць прылады прызначэння з-за няправільнай канфігурацыі маршрутызацыі. Па заканчэнні тэрміну TTL пакеты адкідаюцца, каб прадухіліць бясконцыя цыклы ў сетцы.
Такім чынам, пры ўзнікненні такіх праблем, як збоі сувязі паміж сегментамі сеткі, часовыя абрывы ping-злучэнняў або несумяшчальнасць прылад паміж рознымі сегментамі сеткі, засяродзьцеся на праверцы IP-адраса, маскі падсеткі, шлюза і канфігурацыі маршрутызацыі.
Не варта адразу сумнявацца ў праграме ПЛК. Часта праблема проста ў няправільнай канфігурацыі адраса або наладзе шлюза.
III.Перадаючы ўзровень
Трэці ўзровень — гэта транспартны ўзровень.
Гэты ўзровень вырашае не пытанне «якую прыладу выкарыстоўваць», а пытанне «якую паслугу на гэтай прыладзе аказваць».
Гэта патрабуе выкарыстання нумара порта.
Напрыклад, Modbus TCP звычайна выкарыстоўвае порт 502, OPC UA — порт 4840, MQTT — порт 1883, а HTTPS — порт 443.
Знайсці прыладу па IP-адрасе.
Знайдзіце службу па нумары порта.
Найбольш распаўсюджанымі транспартнымі пратаколамі з'яўляюцца TCP і UDP.

TCP — гэта пратакол, арыентаваны на злучэнне. Перад перадачай дадзеных абодва бакі павінны спачатку ўсталяваць злучэнне, вядомае як трохбаковае падпісванне. Пасля ўстанаўлення TCP выкарыстоўвае такія механізмы, як парадкавыя нумары, пацверджанне, паўторная перадача і кіраванне вокнамі, каб забяспечыць надзейную і ўпарадкаваную дастаўку дадзеных.
Такім чынам, TCP шырока выкарыстоўваецца ў такіх прыкладаннях, як Modbus TCP, OPC UA, збор дадзеных з баз дадзеных, загрузка дадзеных MES і сувязь паміж хост-машынай. Гэтыя сцэнарыі надаюць прыярытэт надзейнасці — каманды павінны выконвацца дакладна, дадзеныя не могуць быць страчаны, а вынікі збору дадзеных павінны быць паслядоўнымі.
Аднак TCP мае свае недахопы. Ён спалучае большыя накладныя выдаткі і больш адчувальны да ваганняў сеткі, страты пакетаў і затрымкі. Пры нізкай якасці сеткі могуць узнікнуць такія праблемы, як тайм-аўты падключэння, павелічэнне колькасці паўторных перадач і нізкая частата абнаўлення відэа.
UDP, з іншага боку, не ўстанаўлівае злучэнні, не апрацоўвае паўторную перадачу або паслядоўнасць; пасля адпраўкі дадзеных яны перадаюцца сетцы і праграмам вышэйшага ўзроўню для апрацоўкі.
Гэта можа здацца ненадзейным, але гэта хутка і недарага. Яно таксама часта выкарыстоўваецца ў сцэнарыях, якія патрабуюць высокай прадукцыйнасці ў рэжыме рэальнага часу, такіх як выяўленне прылад, рассылка паведамленняў, частковае справаздачнасць аб стане і сінхранізацыя часу.
Такім чынам, не варта проста называць TCP лепшым, а UDP — горшым. Для надзейнасці выбірайце TCP; для нізкай затрымкі і мінімальных накладных выдаткаў можа быць пераважней UDP. У канчатковым выніку рашэнне залежыць ад канкрэтных патрабаванняў поля.
IV. Прыкладны ўзровень
Зверху знаходзіцца прыкладны ўзровень.
Гэты пласт — гэта тая частка, з якой інжынеры ўзаемадзейнічаюць часцей за ўсё.
Такія пратаколы, як Modbus TCP, OPC UA, EtherNet/IP, Profinet, MQTT, SNMP, NTP і HTTP/HTTPS, могуць быць зразумелыя на гэтым узроўні або побач з ім.
Яны вырашаюць канкрэтныя бізнес-праблемы.
Рэгістр чытання/запісу Modbus TCP.
OPC UA дазваляе збіраць дадзеныя і інтэграваць сістэмы.
MQTT выкарыстоўваецца для інтэграцыі прылад з воблакам і дыстанцыйнага маніторынгу.
SNMP кіруе сеткавымі прыладамі, такімі як камутатары і шлюзы.
NTP выконвае сінхранізацыю часу.
HTTP/HTTPS звычайна выкарыстоўваецца для вэб-канфігурацыі прылад і інтэрфейсаў платформы.
Звярніце ўвагу, што падлучаны ніжэйшы пласт не гарантуе належнай функцыянальнасці прыкладання.

Напрыклад, нягледзячы на тое, што ПЛК можна паспяхова правесці пінгаванне, Modbus TCP не можа прачытаць дадзеныя — гэта можа быць звязана з тым, што порт 502 не ўключаны, альбо з няправільным адрасам рэгістраў, кодамі функцый, нумарамі станцый або канфігурацыяй брандмаўэра.
Калі OPC UA не можа падключыцца, гэта можа быць звязана не з праблемай сеткавага кабеля; хутчэй, гэта можа быць выклікана неадпаведнасцю сертыфікатаў, палітык бяспекі, партоў або станаў службы.
Такім чынам, разглядаючы састарэлыя практыкі, мы павінны не проста пытацца, ці яны рэальныя; замест гэтага мы павінны таксама высветліць, у якой ступені яны былі ўкаранёны.
V. Як працуе поўны ланцужок дадзеных?
Возьмем у якасці прыкладу чытанне рэгістраў ПЛК галоўным камп'ютарам.
Прыкладны ўзровень спачатку генеруе запыт Modbus TCP.
Транспартны ўзровень утрымлівае інфармацыю TCP, якая паказвае порт і стан злучэння.
Інтэрнэт-узровень дадае інфармацыю пра IP, указваючы адрасы крыніцы і прызначэння.
Узровень сеткавага інтэрфейсу далей інкапсулюе дадзеныя ў кадры Ethernet, якія затым перадаюцца праз сеткавую карту і камутатар.
Пасля атрымання ПЛК выканайце працэс разборкі ў адваротным парадку.
Спачатку праверце кадр Ethernet.
Цяпер давайце паглядзім на IP-адрас.
Затым перадайце яго ў TCP.
Нарэшце, ён перадаецца службе Modbus для апрацоўкі.
Гэта шматслаёвая інкапсуляцыя.
Шматслаёвая іерархія значэнняў прытрымліваецца пэўнага парадку. Калі ніжні ўзровень не працуе, не спяшайцеся правяраць праграмнае забеспячэнне; калі IP-адрас няправільны, не падазравайце пратакол; калі порт не адкрыты, не змяняйце праграму спачатку; і калі параметры прыкладання няправільныя, не вінаваціце камутатар.
Ⅵ.Дыягностыка і ліквідацыя няспраўнасцей на месцы выконваюцца паэтапна.
Не выдумляйце праблемы з сеткай выпадковым чынам; пачынайце даследаваць, пачынаючы з 4-га ўзроўню і вышэй.
Спачатку праверце ўзровень сеткавага інтэрфейсу: кабелі Ethernet, парты, індыкатары сеткавай карты, камутатары, аптычныя модулі, зазямленне і наяўнасць перашкод.
Прааналізуйце ўзровень Інтэрнэту: IP-адрас, маску падсеткі, шлюз, сегмент сеткі і маршрутызацыю.
Зноў праверце транспартны ўзровень: ці адкрыты порт, ці ўсталяваны TCP, ці ёсць тайм-аўты і ці часта адбываюцца перападключэнні.
Нарэшце, праверце прыкладны ўзровень: нумар станцыі, рэгістры, код функцыі, сертыфікат, правы доступу да ўліковага запісу, цыкл збору і канфігурацыю пратакола.
Праверыўшы такім чынам, пытанне стане значна больш зразумелым.
VII. Рэзюмэ
TCP/IP мае шырокае прымяненне — ён не абмяжоўваецца інтэрнэт-інжынерамі; ён гэтак жа незаменны ў прамысловых умовах.
Узровень сеткавага інтэрфейсу вырашае пытанне «ці можна ўсталяваць злучэнне».
Інтэрнэт-слой адказвае на пытанне «куды ісці».
Транспартны ўзровень вырашае пытанне «як аказваць паслугі».
Прыкладны ўзровень апісвае, як бізнес-працэсы ўзаемадзейнічаюць.
Такія праблемы, як адключэнне ПЛК, збой абнаўлення HMI, немагчымасць атрымання дадзеных SCADA і збоі загрузкі шлюза, можна прааналізаваць на гэтых чатырох узроўнях.
Разуменне TCP/IP — гэта не проста запамінанне мадэлі пратакола, а веданне таго, з чаго пачаць, калі на практыцы ўзнікаюць праблемы.
Гэта менавіта тыя навыкі, якія сапраўды патрэбныя інжынерам.










