<?xml version='1.0' encoding='UTF-8' ?> <!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Transitional//EN' 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd'> <html class="client-nojs" dir="ltr" lang="en"> <head> <meta charset="UTF-8" /> <title>Модулі/Sockets - OpenSCADAWiki</title> <meta content="MediaWiki 1.26.4" name="generator" /> <link href="https://www.gnu.org/copyleft/fdl.html" rel="copyright" /> <link href="../../en/files/doc.css" rel="stylesheet" /></head> <body><div class="floatright"><a href="../index.html"><img alt="OpenSCADA" src="../../en/files/index.png" /></a></div><div id="mw_header"> <div class="mw-indicators"> </div> <h1 id="firstHeading" lang="uk">Модулі/Sockets</h1> </div><div class="mw-content-ltr" dir="ltr" id="mw-content-text" lang="uk"><div class="mw-pt-translate-header noprint" dir="ltr" lang="en">This page is a <span class="plainlinks"><a class="external text" href="http://oscada.org/wiki/index.php?title=Special:Translate&group=page-Modules%2FSockets&action=page&filter=&language=uk" rel="nofollow noreferrer noopener" target="_blank">translated version</a></span> of the page <a class="external" href="http://oscada.org/wiki/Modules/Sockets" title="Modules/Sockets">Modules/Sockets</a> and the translation is 100% complete.</div><hr /><div class="mw-pt-languages" dir="ltr" lang="en"><div class="mw-pt-languages-list autonym"><a class="mw-pt-languages-ui mw-pt-progress mw-pt-progress--complete" href="../../en/Modules/Sockets.html" title="Modules/Sockets (100% translated)">English</a> • ‎<a class="mw-pt-progress mw-pt-progress--med" href="../../ru/Modules/Sockets.html" title="Модули/Sockets (50% translated)">mRussian</a> • ‎<span class="mw-pt-languages-selected mw-pt-progress mw-pt-progress--complete">УкраїнÑька</span></div></div> <table class="wikitable"> <tr> <th> Модуль </th> <th> Ім'Ñ </th> <th> ВерÑÑ–Ñ </th> <th> Ð›Ñ–Ñ†ÐµÐ½Ð·Ñ–Ñ </th> <th> Джерело </th> <th> Мови </th> <th> Платформи </th> <th> Тип </th> <th> Ðвтор </th> <th> ÐžÐ¿Ð¸Ñ </th></tr> <tr> <td> <a href="../Modules/Sockets.html" title="Special:MyLanguage/Modules/Sockets">Sockets</a> </td> <td> Сокети </td> <td> 5.0 </td> <td> GPL2 </td> <td> tr_Sockets.so </td> <td> en,uk,ru,de </td> <td> x86,x86_64,ARM </td> <td> ТранÑпорт </td> <td> Роман Савоченко<br /> <font size="-2"><i>МакÑим Кочетков(2014)</i></font> </td> <td> Ðадає транÑпорт заÑнований на Ñокетах. ПідтримуютьÑÑ Ð¼ÐµÑ€ÐµÐ¶ÐµÐ²Ñ– та UNIX Ñокети. Мережевий Ñокет підтримує TCP, UDP та RAWCAN протоколи. <ul><li> <b><a href="../../en/To_do.html" title="Special:MyLanguage/Works/To do">Ð—Ð°Ð²Ð´Ð°Ð½Ð½Ñ (To Do)</a>:</b></li></ul> <dl><dd>- додати підтримку AF_BLUETOOTH Ñокетів Ð´Ð»Ñ Ð¿Ñ€Ñмого запиту BLE приÑтроїв.</dd></dl> </td></tr></table> <p>Модуль надає до програми підтримку транÑпортів, заÑнованих на Ñокетах. ПідтримуютьÑÑ Ð²Ñ…Ñ–Ð´Ð½Ñ– та вихідні транÑпорти, оÑновані на мережевих Ñокетах TCP, UDP, UNIX та RAWCAN. </p><p>Додати нові вхідні та вихідні Ñокети можна за поÑередництвом конфігурації <a href="../Program_manual.html#Transports" title="Special:MyLanguage/Documents/Program manual">транÑпортної підÑиÑтеми</a> у будь Ñкому конфігураторі OpenSCADA. </p> <div class="toc" id="toc"><div id="toctitle"><h2>Contents</h2></div> <ul> <li class="toclevel-1 tocsection-1"><a href="#.D0.92.D1.85.D1.96.D0.B4.D0.BD.D1.96_.D1.82.D1.80.D0.B0.D0.BD.D1.81.D0.BF.D0.BE.D1.80.D1.82.D0.B8"><span class="tocnumber">1</span> <span class="toctext"><span>Вхідні транÑпорти</span></span></a></li> <li class="toclevel-1 tocsection-2"><a href="#.D0.92.D0.B8.D1.85.D1.96.D0.B4.D0.BD.D1.96_.D1.82.D1.80.D0.B0.D0.BD.D1.81.D0.BF.D0.BE.D1.80.D1.82.D0.B8"><span class="tocnumber">2</span> <span class="toctext">Вихідні транÑпорти</span></a></li> </ul> </div> <h2><span class="mw-headline" id=".D0.92.D1.85.D1.96.D0.B4.D0.BD.D1.96_.D1.82.D1.80.D0.B0.D0.BD.D1.81.D0.BF.D0.BE.D1.80.D1.82.D0.B8"><span class="mw-headline-number">1</span> <span id="InTr" title="#InTr">Вхідні транÑпорти</span></span></h2> <p>Сконфігурований та запущений вхідний транÑпорт відкриває Ñерверний Ñокет Ð´Ð»Ñ Ð¾Ñ‡Ñ–ÐºÑƒÐ²Ð°Ð½Ð½Ñ Ð¿Ñ–Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð½Ñ ÐºÐ»Ñ–Ñ”Ð½Ñ‚Ñ–Ð², крім ініціативного підключеннÑ. У випадку з UNIX Ñокетом ÑтворюєтьÑÑ Ñ„Ð°Ð¹Ð» UNIX Ñокету. Сокети TCP та UNIX Ñ” багатопотоковими, тобто при підключені клієнту до Ñокетів цих типів ÑтворюєтьÑÑ ÐºÐ»Ñ–Ñ”Ð½Ñ‚Ñький Ñокет та новий потік, у Ñкому відбуваєтьÑÑ Ð¾Ð±ÑÐ»ÑƒÐ³Ð¾Ð²ÑƒÐ²Ð°Ð½Ð½Ñ ÐºÐ»Ñ–Ñ”Ð½Ñ‚Ñƒ. Серверний Ñокет, на цей чаÑ, переходить до Ð¾Ñ‡Ñ–ÐºÑƒÐ²Ð°Ð½Ð½Ñ Ð·Ð°Ð¿Ð¸Ñ‚Ñ–Ð² від нового клієнту. Таким чином доÑÑгаєтьÑÑ Ð¿Ð°Ñ€Ð°Ð»ÐµÐ»ÑŒÐ½Ðµ обÑÐ»ÑƒÐ³Ð¾Ð²ÑƒÐ²Ð°Ð½Ð½Ñ ÐºÐ»Ñ–Ñ”Ð½Ñ‚Ñ–Ð². RAWCAN Ñокет здійÑнює прийом CAN кадрів з інтерфейÑу згідно до налаштованому фільтру. </p><p>Кожний вхідний транÑпорт пов'ÑзуєтьÑÑ Ð· одним або декількома з доÑтупних транÑпортних протоколів, Ñкому передаютьÑÑ Ð²Ñ…Ñ–Ð´Ð½Ñ– повідомленнÑ. Разом з транÑпортним протоколом підтримуєтьÑÑ Ð¼ÐµÑ…Ð°Ð½Ñ–Ð·Ð¼ об'Ñ”Ð´Ð½Ð°Ð½Ð½Ñ ÑˆÐ¼Ð°Ñ‚ÐºÑ–Ð² розрізнених при передачі запитів. </p><p>Прочитати про механізм паÑивного збору та ініціативні Ð¿Ñ–Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð½Ñ Ð²Ð¸ можете у відповідній чаÑтині документу "<a href="../DAQ.html#PassiveAndInitiative" title="Special:MyLanguage/Documents/DAQ">Збір даних в OpenSCADA</a>". </p> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:858px;"><a class="image" href="http://oscada.org/wiki/File:Sockets_in_uk.png"><img class="thumbimage" height="1210" src="../files/Sockets_in_uk.png" width="856" /></a> <div class="thumbcaption">РиÑ.1. Загальні діалоги конфігурації вхідного Ñокету.</div></div></div></div> <p>За допомогою оÑновного діалогу можна вÑтановити: </p> <ul><li> Стан транÑпорту, а Ñаме: ÑтатуÑ, "ПідключеннÑ", ім'Ñ Ñховища (Ñке міÑтить конфігурацію) та Ñ–Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ñ–Ñ Ð¿Ñ€Ð¾ поточні підключеннÑ.</li> <li> Ідентифікатор, ім'Ñ Ñ‚Ð° Ð¾Ð¿Ð¸Ñ Ñ‚Ñ€Ð°Ð½Ñпорту.</li> <li> ÐдреÑа транÑпорту. Формат адреÑи опиÑано у таблиці нижче.</li> <li> ÐžÐ±Ñ€Ð°Ð½Ð½Ñ Ñ‚Ñ€Ð°Ð½Ñпортних протоколів.</li></ul> <dl><dd><a class="image" href="http://oscada.org/wiki/File:At.png"><img alt="At.png" height="22" src="../../en/files/At.png" width="22" /></a> Порожнє Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð¾Ð±Ñ€Ð°Ð½Ð½Ñ Ð¿Ñ€Ð¾Ñ‚Ð¾ÐºÐ¾Ð»Ñƒ перемикає транÑпорт у режим ÑÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð°Ñоційованого вихідного транÑпорту Ð´Ð»Ñ ÐºÐ¾Ð¶Ð½Ð¾Ð³Ð¾ прочитаного ІД Ð¿Ñ–Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð½Ñ Ð½Ð° цей вхідний.</dd></dl> <ul><li> Стан "ПідключеннÑ", у Ñкий переводити транÑпорт при запуÑку.</li></ul> <p>За допомогою додаткового діалогу можна вÑтановити: </p> <ul><li> Пріоритет задач транÑпорту.</li> <li> [TCP] Розмір ÑиÑтемного вхідного буферу Ñокетів в кілобайтах. Ð’Ñтановити в 0 Ð´Ð»Ñ Ð·Ð½ÑÑ‚Ñ‚Ñ ÐºÐ¾Ñ€Ð¸Ñтувацького розміру. Ðктуальний розмір можете бачити у ÑтатуÑÑ–.</li> <li> [TCP] МакÑимальний розмір Ñегмента (MSS) в байтах Ð´Ð»Ñ Ð¾Ð±Ð¼ÐµÐ¶ÐµÐ½Ð½Ñ Ñ€Ð¾Ð·Ð¼Ñ–Ñ€Ñƒ пакетів що відÑилаютьÑÑ (Ñегментів TCP) на поганих каналах зв'Ñзку. Ð’Ñтановити в 0 Ð´Ð»Ñ Ð·Ð½ÑÑ‚Ñ‚Ñ ÐºÐ¾Ñ€Ð¸Ñтувацького Ð¾Ð±Ð¼ÐµÐ¶ÐµÐ½Ð½Ñ Ñ€Ð¾Ð·Ð¼Ñ–Ñ€Ñƒ. Ðктуальний розмір можете бачити у ÑтатуÑÑ–.</li> <li> [TCP|UNIX|RAWCAN] Довжина черги Ñокетів.</li> <li> [TCP|UNIX|RAWCAN,!INIT] МакÑимальна кількіÑть клієнтів та МакÑимальна кількіÑть клієнтів за хоÑтами (Ð´Ð»Ñ TCP).</li> <li> [TCP|UNIX|RAWCAN,!INIT] Keep alive запитів — Ð·Ð°ÐºÑ€Ð¸Ñ‚Ñ‚Ñ Ð¿Ñ–Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð½Ñ Ð¿Ñ–ÑÐ»Ñ Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¾Ñ— кількоÑті запитів. Ðульове Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð´Ð»Ñ Ð²Ð¸Ð¼ÐºÐ½ÐµÐ½Ð½Ñ â€” не закриваєтьÑÑ Ð½Ñ–ÐºÐ¾Ð»Ð¸.</li> <li> [TCP|UNIX|RAWCAN] Keep alive Ñ‡Ð°Ñ Ð¾Ñ‡Ñ–ÐºÑƒÐ²Ð°Ð½Ð½Ñ, в Ñекундах — Ð·Ð°ÐºÑ€Ð¸Ñ‚Ñ‚Ñ Ð¿Ñ–Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð½Ñ Ð¿Ñ–ÑÐ»Ñ Ð²Ñ–Ð´ÑутноÑті запитів протÑгом визначеного чаÑу. Ðульове Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð´Ð»Ñ Ð²Ð¸Ð¼ÐºÐ½ÐµÐ½Ð½Ñ â€” не закриваєтьÑÑ Ð½Ñ–ÐºÐ¾Ð»Ð¸.</li></ul> <dl><dd><a class="image" href="http://oscada.org/wiki/File:At.png"><img alt="At.png" height="22" src="../../en/files/At.png" width="22" /></a> Вимикати цю функцію не рекомендуєтьÑÑ Ð¾Ñкільки влаÑтивіÑть мереж TCP/IP не гарантує Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ñерверу про Ð²Ñ–Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð½Ñ Ð·'єднаннÑ, Ñкажемо у випадку Ð·Ð½Ð¸ÐºÐ½ÐµÐ½Ð½Ñ Ð¶Ð¸Ð²Ð»ÐµÐ½Ð½Ñ Ð½Ð° клієнті. У результаті чого можуть <span style="color: red">назавжди</span> залишатиÑÑ Ð²Ñ–Ð´ÐºÑ€Ð¸Ñ‚Ð¸Ð¼Ð¸ клієнтÑькі підключеннÑ, а при доÑÑгненні ліміту Ñервер припинить приймати нові!</dd></dl> <ul><li> [TCP,INIT|ASSOC] Таймаути, Ñпроби ініціативного Ð¿Ñ–Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð½Ñ Ñ– аÑоційованих вихідних транÑпортів, порожнє Ð´Ð»Ñ Ñ‚Ð¸Ð¿Ð¾Ð²Ð¾Ð³Ð¾ Ñ– поділене '||'. Формат таймаутів Ñ– Ñпроб відповідає вихідному транÑпорту.</li> <li> Специфічні до протоколу кориÑтувацькі параметри.</li> <li> Скинути уÑÑ– додаткові параметри до типових значень та очиÑтити Ñпецифічні до протоколу кориÑтувацькі параметри.</li></ul> <p>ОÑобливоÑті Ñ„Ð¾Ñ€Ð¼ÑƒÐ²Ð°Ð½Ð½Ñ Ð°Ð´Ñ€ÐµÑи вхідних Ñокетів приведено у таблиці нижче: </p> <table class="wikitable"> <tr> <th> Тип Ñокету </th> <th> ÐдреÑа </th></tr> <tr> <td> TCP </td> <td> <p><b>[TCP:]{addr}[:{port}[,{port2}[,{portN}]][:{mode}[:{IDmess}]]]</b><br /> де: </p> <ul><li> <i>addr</i> — адреÑа Ð²Ñ–Ð´ÐºÑ€Ð¸Ñ‚Ñ‚Ñ Ñокету, Ð¿Ð¾Ñ€Ð¾Ð¶Ð½Ñ Ð°Ð±Ð¾ "*" адреÑа відкриває Ñокет на вÑÑ–Ñ… інтерфейÑах. ДопуÑкаютьÑÑ Ñк Ñимвольне, так й IPv4 "<b>127.0.0.1</b>" або IPv6 "<b>[::1]</b>" предÑÑ‚Ð°Ð²Ð»ÐµÐ½Ð½Ñ Ð°Ð´Ñ€ÐµÑи.</li> <li> <i>port</i>, <i>port2</i>, <i>portN</i> — мережеві порти на Ñких поÑлідовно відкриваєтьÑÑ Ñокет (при зайнÑтоÑті перших), можливе Ð²ÐºÐ°Ð·Ð°Ð½Ð½Ñ Ñимвольної назви порту відповідно до <i>/etc/services</i>.</li> <li> <i>mode</i> — режим роботи вхідного Ñокету: <ul><li> <b>0</b> — примуÑово розривати з'Ñ”Ð´Ð½Ð°Ð½Ð½Ñ Ð¿Ñ–ÑÐ»Ñ ÑеанÑу прийом-відповідь.</li> <li> <b>1</b>(типово) — не розривати з'єднаннÑ, тільки з урахуваннÑм параметрів KeepAlive.</li> <li> <b>2</b> — ініціативне підключеннÑ. Включає режим ініціативи Ð¿Ñ–Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð½Ñ Ñ†ÑŒÐ¾Ð³Ð¾ вхідного транÑпорту до віддаленого хоÑту (адреÑа заміÑть локального) та перехід у режим Ð¾Ñ‡Ñ–ÐºÑƒÐ²Ð°Ð½Ð½Ñ Ð·Ð°Ð¿Ð¸Ñ‚Ñ–Ð² від цього хоÑту. Ð—Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ "Keep alive Ñ‡Ð°Ñ Ð¾Ñ‡Ñ–ÐºÑƒÐ²Ð°Ð½Ð½Ñ" викориÑтовуєтьÑÑ Ñк таймаут Ð¿ÐµÑ€ÐµÐ¿Ñ–Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð½Ñ Ð´Ð°Ð½Ð¾Ð³Ð¾ транÑпорту за відÑутноÑті активноÑті з метою Ð²Ñ–Ð´Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð¼Ð¾Ð¶Ð»Ð¸Ð²Ð¾ втраченого підключеннÑ.</li></ul></li> <li> <i>IDmess</i> — ідентифікуюче Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ñ–Ð½Ñ–Ñ†Ñ–Ð°Ñ‚Ð¸Ð²Ð½Ð¾Ð³Ð¾ Ð¿Ñ–Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð½Ñ â€” режим 2.</li></ul> <p>Приклад: "<b>TCP::10001:1</b>" — TCP-Ñокет доÑтупний на вÑÑ–Ñ… інтерфейÑах, відкритий на порту 10001 та з'Ñ”Ð´Ð½Ð°Ð½Ð½Ñ Ð½Ðµ розриває. </p> </td></tr> <tr> <td> UDP </td> <td> <p><b>UDP:{addr}:{port}</b><br /> де: </p> <ul><li> <i>addr</i> — теж що й у TCP;</li> <li> <i>port</i> — теж що й у TCP.</li></ul> <p>Приклад: "<b>UDP:localhost:10001</b>" — UDP-Ñокет доÑтупний тільки на інтерфейÑÑ– "localhost" та відкритий на порту 10001. </p> </td></tr> <tr> <td> RAWCAN </td> <td> <p><b>RAWCAN:{if}:{mask}:{id}</b><br /> де: </p> <ul><li> <i>if</i> — ім'Ñ CAN інтерфейÑу;</li> <li> <i>mask, id</i> — маÑка та ідентифікатор фільтрації CAN кадрів.</li></ul> <p>Приклад: "<b>RAWCAN:can0:0:0</b>" — приймати вÑÑ– CAN кадри на інтерфейÑÑ– "can0". </p> </td></tr> <tr> <td> UNIX </td> <td> <p><b>UNIX:{name}:{mode}</b><br /> де: </p> <ul><li> <i>name</i> — ім'Ñ Ñ„Ð°Ð¹Ð»Ñƒ UNIX Ñокету;</li> <li> <i>mode</i> — те Ñаме, що у TCP.</li></ul> <p>Приклад: "<b>UNIX:/tmp/oscada:1</b>" — UNIX-Ñокет доÑтупний через файл "/tmp/oscada" та з'Ñ”Ð´Ð½Ð°Ð½Ð½Ñ Ð½Ðµ розриває. </p> </td></tr></table> <p>RAWCAN має деÑкі оÑобливоÑті у формуванні поÑилки, а Ñаме: </p> <ul><li> ідентифікатор отриманого CAN фрейму розташовуєтьÑÑ Ñƒ відправнику (<i>sender</i>), а дані у полі запиту (<i>request</i>);</li> <li> ознакою розширеного ідентифікатору-відправника Ñ” наÑвніÑть Ñтаршого біту (0x80000000).</li></ul> <h2><span class="mw-headline" id=".D0.92.D0.B8.D1.85.D1.96.D0.B4.D0.BD.D1.96_.D1.82.D1.80.D0.B0.D0.BD.D1.81.D0.BF.D0.BE.D1.80.D1.82.D0.B8"><span class="mw-headline-number">2</span> Вихідні транÑпорти</span></h2> <p>Сконфігурований та запущений вихідний транÑпорт відкриває з'Ñ”Ð´Ð½Ð°Ð½Ð½Ñ Ð· вказаним Ñервером. При розриві з'Ñ”Ð´Ð½Ð°Ð½Ð½Ñ Ð²Ð¸Ñ…Ñ–Ð´Ð½Ð¸Ð¹ транÑпорт зупинÑєтьÑÑ. Ð”Ð»Ñ Ð²Ñ–Ð´Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð·'Ñ”Ð´Ð½Ð°Ð½Ð½Ñ Ñ‚Ñ€Ð°Ð½Ñпорт треба знову запуÑтити, що вÑÑ– протоколи роблÑть автоматично. </p><p>ТранÑпорт підтримує прÑме Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð´ÐµÐºÑ–Ð»ÑŒÐºÐ¾Ñ… Ð°Ð´Ñ€ÐµÑ Ñерверу та Ð¾Ð¿Ñ€Ð°Ñ†ÑŽÐ²Ð°Ð½Ð½Ñ Ð²ÑÑ–Ñ… IP-Ð°Ð´Ñ€ÐµÑ Ñƒ Ñкі резолвитьÑÑ Ñимвольна адреÑа, що дозволÑÑ” будувати <a href="../DAQ.html#Redundancy" title="Special:MyLanguage/Documents/DAQ">вертикальне резервуваннÑ</a> безпоÑередньо транÑпортом, Ñкий буде автоматично підключатиÑÑ Ð´Ð¾ першого доÑтупного Ñерверу. </p> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:840px;"><a class="image" href="http://oscada.org/wiki/File:Sockets_out_uk.png"><img class="thumbimage" height="940" src="../files/Sockets_out_uk.png" width="838" /></a> <div class="thumbcaption">РиÑ.2. Загальні діалоги конфігурації вихідного Ñокету.</div></div></div></div> <p>За допомогою оÑновного діалогу можна вÑтановити: </p> <ul><li> Стан транÑпорту, а Ñаме: ÑтатуÑ, "ПідключеннÑ" та ім'Ñ Ñховища, Ñке міÑтить конфігурацію.</li> <li> Ідентифікатор, ім'Ñ Ñ‚Ð° Ð¾Ð¿Ð¸Ñ Ñ‚Ñ€Ð°Ð½Ñпорту.</li> <li> ÐдреÑа транÑпорту. Формат адреÑи опиÑано у таблиці нижче.</li></ul> <p>За допомогою додаткового діалогу можна вÑтановити: </p> <ul><li> Інтервали чаÑу Ð¿Ñ–Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð½Ñ Ñƒ форматі "<b>{conn}:{next}[:{rep}]</b>", де: <ul><li> <i>conn</i> — макÑимальний Ñ‡Ð°Ñ Ð¾Ñ‡Ñ–ÐºÑƒÐ²Ð°Ð½Ð½Ñ Ð²Ñ–Ð´Ð¿Ð¾Ð²Ñ–Ð´Ñ– підключеннÑ, у Ñекундах;</li> <li> <i>next</i> — макÑимальний Ñ‡Ð°Ñ Ð¾Ñ‡Ñ–ÐºÑƒÐ²Ð°Ð½Ð½Ñ Ð¿Ñ€Ð¾Ð´Ð¾Ð²Ð¶ÐµÐ½Ð½Ñ Ð²Ñ–Ð´Ð¿Ð¾Ð²Ñ–Ð´Ñ–, у Ñекундах;</li> <li> <i>rep</i> — мінімальний Ñ‡Ð°Ñ Ð·Ð°Ñ‚Ñ€Ð¸Ð¼ÐºÐ¸ наÑтупного запиту, в Ñекундах.</li></ul></li></ul> <dl><dd> Може бути пріоритетно визначено другим глобальним аргументом Ð¿Ð¾Ð»Ñ Ð°Ð´Ñ€ÐµÑи, на кшталт "<b>localhost:123||5:1</b>".</dd></dl> <ul><li> Спроб запиту транÑпортом та протоколом, Ð´Ð»Ñ Ð¿Ð¾Ð²Ð½Ð¸Ñ… запитів.</li></ul> <dl><dd> Може бути пріоритетно визначено третім глобальним аргументом Ð¿Ð¾Ð»Ñ Ð°Ð´Ñ€ÐµÑи, на кшталт "<b>localhost:123||5:1||3</b>".</dd></dl> <ul><li> [TCP] МакÑимальний розмір Ñегмента (MSS) в байтах Ð´Ð»Ñ Ð¾Ð±Ð¼ÐµÐ¶ÐµÐ½Ð½Ñ Ñ€Ð¾Ð·Ð¼Ñ–Ñ€Ñƒ пакетів що відÑилаютьÑÑ (Ñегментів TCP) на поганих каналах зв'Ñзку. Ð’Ñтановити в 0 Ð´Ð»Ñ Ð·Ð½ÑÑ‚Ñ‚Ñ ÐºÐ¾Ñ€Ð¸Ñтувацького Ð¾Ð±Ð¼ÐµÐ¶ÐµÐ½Ð½Ñ Ñ€Ð¾Ð·Ð¼Ñ–Ñ€Ñƒ. Ðктуальний розмір можете бачити у ÑтатуÑÑ–.</li> <li> Специфічні до протоколу кориÑтувацькі параметри.</li> <li> Скинути уÑÑ– додаткові параметри до типових значень та очиÑтити Ñпецифічні до протоколу кориÑтувацькі параметри.</li></ul> <p>ÐдреÑа вихідних Ñокетів різного типу формуютьÑÑ Ð½Ð°Ñтупним чином: </p> <table class="wikitable"> <tr> <th> Тип Ñокету </th> <th> ÐдреÑа </th></tr> <tr> <td> TCP/UDP </td> <td> <p><b>[TCP:]{addr}[,{addrN}]:{port}</b><br /> <b>UDP:{addr}[,{addrN}]:{port}</b><br /> де: </p> <ul><li> <i>addr</i> — адреÑа до Ñкої здійÑнюєтьÑÑ Ð¿Ñ–Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð½Ñ. ДопуÑкаєтьÑÑ Ñк Ñимвольне так й IPv4 "<b>127.0.0.1</b>" або IPv6 "<b>[::1]</b>" предÑÑ‚Ð°Ð²Ð»ÐµÐ½Ð½Ñ Ð°Ð´Ñ€ÐµÑи.</li> <li> <i>port</i> — мережевий порт до Ñкого здійÑнюєтьÑÑ Ð¿Ñ–Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð½Ñ. Можливе Ð²ÐºÐ°Ð·Ð°Ð½Ð½Ñ Ñимвольного ім'Ñ Ð¿Ð¾Ñ€Ñ‚Ñƒ відповідно до <i>/etc/services</i>.</li></ul> <p>Приклад: "<b>TCP:127.0.0.1:7634</b>" — Ð¿Ñ–Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð½Ñ Ð· портом 7634 на хоÑті 127.0.0.1. </p> </td></tr> <tr> <td> RAWCAN </td> <td> <p><b>RAWCAN:{if}:{mask}:{id}</b><br /> де: </p> <ul><li> <i>if</i> — ім'Ñ CAN інтерфейÑу;</li> <li> <i>mask, id</i> — маÑка та ідентифікатор CAN кадрів.</li></ul> <p>Приклад: "<b>RAWCAN:can0:0:0</b>" — приймати вÑÑ– CAN кадри на інтерфейÑÑ– "can0". </p> </td></tr> <tr> <td> UNIX </td> <td> <p><b>UNIX:{name}</b><br /> де: </p> <ul><li> <i>name</i> — ім'Ñ Ñ„Ð°Ð¹Ð»Ñƒ UNIX Ñокета.</li></ul> <p>Приклад: "<b>UNIX:/tmp/oscada</b>" — з'єднатиÑÑ Ð· UNIX-Ñокетом через файл "/tmp/oscada". </p> </td></tr></table> <p>RAWCAN має деÑкі оÑобливоÑті у формуванні поÑилки, а Ñаме: </p> <ul><li> надÑÐ¸Ð»Ð°Ð½Ð½Ñ CAN фреймів (прозоро) до транÑпорту здійÑнюєтьÑÑ Ñƒ виглÑді Ñтруктури <i>struct can_frame</i>. Розмір Ñтруктури 16 байт, де: 4 байти — ідентифікатор, 4 байти — довжина, 8 байтів — дані. Ðаприклад, поÑилка: <b>15 CD 5B 07 08 00 00 00 11 12 13 14 15 16 17 18</b>. Де: <ul><li> ідентифікатор: 123456789 (0x75BCD15) => <b>15 CD 5B 07</b>, додати 0x80 у оÑтанньому байті Ñкщо потрібен розширений;</li> <li> довжина: <b>08 00 00 00</b> (віÑім байтів);</li> <li> дані: <b>11 12 13 14 15 16 17 18</b>.</li></ul></li></ul> </div><table style="border-top: dotted 2px #999999; margin-top: 20pt; color: gray;" width="100%"><tr><td style="text-align: left;" width="40%"><a href="http://oscada.org/wiki/Modules/Sockets/uk">Modules/Sockets/uk</a> - <a href="http://oscada.org/en/main/about-the-project/licenses/">GFDL</a></td><td style="text-align: center;">April 2025</td><td style="text-align: right;" width="40%">OpenSCADA 1+r3018</td></tr></table></body> </html>