<?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>Модулі/Динамічний конфігуратор на Web - 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">Модулі/Динамічний конфігуратор на Web</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%2FWebCfgD&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/WebCfgD" title="Modules/WebCfgD">Modules/WebCfgD</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/WebCfgD.html" title="Modules/WebCfgD (100% translated)">English</a> • ‎<a class="mw-pt-progress mw-pt-progress--complete" href="../../ru/Modules/WebCfgD.html" title="Модули/ДинамичеÑкий конфигуратор на Web (91% 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></tr> <tr> <td> <a href="../Modules/WebCfgD.html" title="Special:MyLanguage/Modules/WebCfgD">WebCfgD</a> </td> <td> Конфігуратор програми (Динамічний WEB) </td> <td> 2.8 </td> <td> GPL2 </td> <td> ui_WebCfgD.so </td> <td> en,uk,ru,de </td> <td> x86,x86_64,ARM </td> <td> КориÑтувацькі інтерфейÑи </td> <td> Роман Савоченко </td></tr> <tr> <th colspan="9"> ÐžÐ¿Ð¸Ñ </th></tr> <tr> <td colspan="9"> Ðадає заÑнований на WEB динамічний конфігуратор OpenSCADA. ВикориÑтано технології: XHTML, CSS та JavaScript. <ul><li> <b><a href="../../en/To_do.html" title="Special:MyLanguage/Works/To do">Ð—Ð°Ð²Ð´Ð°Ð½Ð½Ñ (To Do)</a>:</b></li></ul> <dl><dd> - реалізувати неблокуючий доÑтуп до зовнішніх Ñтанцій;</dd> <dd> - реалізувати підÑÐ²Ñ–Ñ‚Ð»ÐµÐ½Ð½Ñ ÑинтакÑиÑу Ð´Ð»Ñ Ð¢ÐµÐºÑтових полів.</dd></dl> </td></tr></table> <p>Цей модуль надає конфігуратор OpenSCADA. Конфігуратор реалізовано на оÑнові таких Web-технологій: </p> <ul><li> <i>HTTP</i> — протокол передачі гіпертекÑту;</li> <li> <i>XHTML</i> — розширена мова розмітки гіпертекÑтових документів;</li> <li> <i>CSS</i> — каÑкадні таблиці Ñтилів гіпертекÑтових документів;</li> <li> <i>JavaScript</i> — мова Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼ÑƒÐ²Ð°Ð½Ð½Ñ Ð±Ñ€Ð°ÑƒÐ·ÐµÑ€Ñƒ, вбудована у гіпертекÑтовий документ;</li> <li> <i>DOM</i> — об'єктна модель документу внутрішньої Ñтруктури браузеру;</li> <li> <i>AJAX</i> — механізм аÑинхронних та Ñинхронних запитів із JavaScript до Ñерверу;</li> <li> <i>XML</i> — розширена мова розмітки.</li></ul> <p>Ð†Ð½Ñ‚ÐµÑ€Ñ„ÐµÐ¹Ñ ÐºÐ¾Ð½Ñ„Ñ–Ð³ÑƒÑ€Ð°Ñ‚Ð¾Ñ€Ñƒ формуєтьÑÑ Ñƒ WEB-браузері шлÑхом Ð·Ð²ÐµÑ€Ð½ÐµÐ½Ð½Ñ Ð´Ð¾ WEB-Ñерверу та Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ð½Ð½Ñ Ð²Ñ–Ð´ нього XHTML-документу за протоколом HTTP. У цьому випадку, у ролі WEB-Ñерверу виÑтупає OpenSCADA, Ñка підтримує Ñтандартні комунікаційні механізми TCP-мереж (модуль <a href="../Modules/Sockets.html" title="Special:MyLanguage/Modules/Sockets">Transport.Sockets</a>), протокол передачі гіпертекÑту (модуль <a href="../Modules/HTTP.html" title="Special:MyLanguage/Modules/HTTP">Protocol.HTTP</a>), а також ÑˆÐ¸Ñ„Ñ€ÑƒÐ²Ð°Ð½Ð½Ñ Ñ‚Ñ€Ð°Ñ„Ñ–ÐºÑƒ між браузером та Ñервером (<a href="../Modules/SSL.html" title="Special:MyLanguage/Modules/SSL">Transport.SSL</a>). ВиходÑчи з цього, Ð´Ð»Ñ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ð½Ð½Ñ Ð´Ð¾Ñтупу до інтерфейÑу кориÑтувача, Ñкий надаєтьÑÑ Ñ†Ð¸Ð¼ модулем, потрібно у OpenSCADA налаштувати транÑпорт (Transport.Sockets або Transport.SSL) у поєднані з протоколом HTTP (Protocol.HTTP). Разом з OpenSCADA поÑтачаютьÑÑ ÐºÐ¾Ð½Ñ„Ñ–Ð³ÑƒÑ€Ð°Ñ†Ñ–Ð¹Ð½Ñ– файли, Ñкі міÑÑ‚Ñть Ð½Ð°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ Transport.Sockets Ð´Ð»Ñ Ð¿Ð¾Ñ€Ñ‚Ñƒ 10002. Відповідно, Ñ–Ð½Ñ‚ÐµÑ€Ñ„ÐµÐ¹Ñ Ð¼Ð¾Ð´ÑƒÐ»Ñ, по замовченню, буде доÑтупний за URL: "http://localhost:10002". </p><p>ПіÑÐ»Ñ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ð½Ð½Ñ XHTML-документу браузером запуÑкаєтьÑÑ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð° на мові JavaScript, Ð´Ð»Ñ Ñ„Ð¾Ñ€Ð¼ÑƒÐ²Ð°Ð½Ð½Ñ Ð´Ð¸Ð½Ð°Ð¼Ñ–Ñ‡Ð½Ð¾Ð³Ð¾ інтерфейÑу конфігуратору. </p><p>У оÑнові Ð¼Ð¾Ð´ÑƒÐ»Ñ Ð»ÐµÐ¶Ð¸Ñ‚ÑŒ <a href="../API.html" title="Special:MyLanguage/Documents/API">Ñ–Ð½Ñ‚ÐµÑ€Ñ„ÐµÐ¹Ñ ÑƒÐ¿Ñ€Ð°Ð²Ð»Ñ–Ð½Ð½Ñ OpenSCADA</a>, що означає Ð½Ð°Ð´Ð°Ð½Ð½Ñ Ñ”Ð´Ð¸Ð½Ð¾Ð³Ð¾ інтерфейÑу конфігурації. ÐžÐ½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð¼Ð¾Ð´ÑƒÐ»Ñ Ð¼Ð¾Ð¶Ðµ знадобитиÑÑ Ñ‚Ñ–Ð»ÑŒÐºÐ¸ у випадку Ð¾Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ñпецифікації мови інтерфейÑу управліннÑ. Ð”Ð»Ñ Ð·Ð°Ð¿Ð¸Ñ‚Ñƒ контекÑту Ñторінки викориÑтовуєтьÑÑ Ð³Ñ€ÑƒÐ¿Ð¾Ð²Ð¸Ð¹ запит інтерфейÑу управліннÑ, що дозволÑÑ” оптимізувати Ñ‡Ð°Ñ Ð²Ñ–Ð´Ð´Ð°Ð»ÐµÐ½Ð¾Ð³Ð¾ доÑтупу за виÑоко-латентними та повільними каналами зв'Ñзку. </p><p>Модуль реалізовувавÑÑ Ñ‚Ð° теÑтувавÑÑ Ð½Ð° чотирьох WEB-браузерах — предÑтавниках трьох типів WEB-рушіїв, а Ñаме: </p> <ul><li> Chromium 55</li> <li> Mozilla Firefox 3.0, 45.7</li> <li> Opera 9.6</li> <li> Konqueror 3.5, 4</li></ul> <p>ВикориÑÑ‚Ð°Ð½Ð½Ñ Ð¼Ð¾Ð´ÑƒÐ»Ñ Ð¿Ð¾Ñ‡Ð¸Ð½Ð°Ñ”Ñ‚ÑŒÑÑ Ð· Ð²Ñ–Ð´ÐºÑ€Ð¸Ñ‚Ñ‚Ñ ÑеанÑу кориÑтувача (автентифікації) модулем протоколу HTTP (<a href="../Modules/HTTP.html" title="Special:MyLanguage/Modules/HTTP">Protocol.HTTP</a>). Ð”Ð»Ñ Ñ„ÑƒÐ½ÐºÑ†Ñ–ÑŽÐ²Ð°Ð½Ð½Ñ Ð°ÑƒÑ‚ÐµÐ½Ñ‚Ð¸Ñ„Ñ–ÐºÐ°Ñ†Ñ–Ñ— та механізму Ð·Ð±ÐµÑ€ÐµÐ¶ÐµÐ½Ð½Ñ ÑеанÑу, браузер повинен дозволÑти Cookies. </p> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:619px;"><a class="image" href="http://oscada.org/wiki/File:HTTP_auth_uk.png"><img class="thumbimage" height="286" src="../files/HTTP_auth_uk.png" width="617" /></a> <div class="thumbcaption">РиÑ.1. ÐÑƒÑ‚ÐµÐ½Ñ‚Ð¸Ñ„Ñ–ÐºÐ°Ñ†Ñ–Ñ ÐºÐ¾Ñ€Ð¸Ñтувача.</div></div></div></div> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:779px;"><a class="image" href="http://oscada.org/wiki/File:WebCfgD_workplacestruct_uk.png"><img class="thumbimage" height="520" src="../files/WebCfgD_workplacestruct_uk.png" width="777" /></a> <div class="thumbcaption">РиÑ.2. Робоче вікно конфігуратора.</div></div></div></div> <p>РозглÑнемо робоче вікно конфігуратору на риÑунку 2. </p><p>Робоче вікно конфігуратору ÑкладаєтьÑÑ Ñ–Ð· наÑтупних чаÑтин: </p> <dl><dd>1 <i>Панель інÑтрументів</i> — міÑтить кнопки управліннÑ.</dd> <dd>2 <i>ÐдреÑа відкритого вузла</i> — відображає адреÑу обраного вузла.</dd> <dd>3 <i>Ðавігатор</i> — призначено Ð´Ð»Ñ Ð¿Ñ€Ñмої навігації за деревом ÑƒÐ¿Ñ€Ð°Ð²Ð»Ñ–Ð½Ð½Ñ Ñ–Ð· підтримкою групового Ð¾Ð±Ñ€Ð°Ð½Ð½Ñ ÑƒÑ‚Ñ€Ð¸Ð¼Ð°Ð½Ð½Ñм клавіш Control або Shift, що викориÑтовуєтьÑÑ Ð¾Ð¿ÐµÑ€Ð°Ñ†Ñ–Ñми Ð²Ð¸Ð´Ð°Ð»ÐµÐ½Ð½Ñ Ñ– вÑтановленнÑ. <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> Ð—Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð½Ñ Ñ–ÐºÐ¾Ð½ÐºÐ¸ <a href="../Program_manual.html#Projects" title="Special:MyLanguage/Documents/Program manual">проекту OpenSCADA</a> Ñпочатку отримуєтьÑÑ Ñ–Ð· файлу "<b>{StationName}.[png|gif|jpg|jpeg]</b>", а потім, за відÑутноÑті першого, із файлу "<b>{StationID}.[png|gif|jpg|jpeg]</b>", у <a href="../Program_manual.html#Config" title="Special:MyLanguage/Documents/Program manual">теці іконок</a>.</dd></dl></dd> <dd>4 <i>Робоче поле</i> — поділено на чаÑтини:</dd></dl> <p>поділено на чаÑтини: </p> <dl><dd><dl><dd>4.1 <i>Ім'Ñ Ð²ÑƒÐ·Ð»Ð°</i> — міÑтить ім'Ñ Ð¿Ð¾Ñ‚Ð¾Ñ‡Ð½Ð¾Ð³Ð¾ вузла.</dd> <dd>4.2 <i>ТабулÑтор робочих облаÑтей</i> — до табулÑтору розташовуютьÑÑ ÐºÐ¾Ñ€ÐµÐ½ÐµÐ²Ñ– Ñторінки (облаÑті управліннÑ) вузла. ОблаÑті ÑƒÐ¿Ñ€Ð°Ð²Ð»Ñ–Ð½Ð½Ñ Ð½Ð°Ñтупних рівнів розташовуютьÑÑ Ñƒ оÑновному проÑторі контролю.</dd></dl></dd> <dd>5 <i>Ð Ñдок ÑтатуÑу</i> — відображає Ñтан конфігуратора.</dd></dl> <p>Панель інÑтрументів міÑтить наÑтупні кнопки ÑƒÐ¿Ñ€Ð°Ð²Ð»Ñ–Ð½Ð½Ñ (зліва на право): </p> <ul><li> <i>Завантажити з БД</i> — Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ Ð¾Ð±Ñ€Ð°Ð½Ð¾Ð³Ð¾ об'єкту або гілки об'єктів з БД.</li> <li> <i>Зберегти у БД</i> — Ð·Ð±ÐµÑ€ÐµÐ¶ÐµÐ½Ð½Ñ Ð¾Ð±Ñ€Ð°Ð½Ð¾Ð³Ð¾ об'єкту або гілки об'єктів у БД.</li> <li> <i>Ðагору</i> — піднÑÑ‚Ñ‚Ñ Ð½Ð°Ð³Ð¾Ñ€Ñƒ по дереву.</li> <li> <i>ПопереднÑ</i> — Ð²Ñ–Ð´ÐºÑ€Ð¸Ñ‚Ñ‚Ñ Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð½ÑŒÐ¾Ñ— Ñторінки, що відкривалаÑÑ.</li> <li> <i>ÐаÑтупна</i> — Ð²Ñ–Ð´ÐºÑ€Ð¸Ñ‚Ñ‚Ñ Ð½Ð°Ñтупної Ñторінки, що відкривалаÑÑ.</li> <li> <i>Додати</i> — Ð´Ð¾Ð´Ð°Ð½Ð½Ñ Ð½Ð¾Ð²Ð¾Ð³Ð¾ об'єкту до контейнеру.</li> <li> <i>Видалити</i> — Ð²Ð¸Ð´Ð°Ð»ÐµÐ½Ð½Ñ Ð¾Ð±Ñ€Ð°Ð½Ð¾Ð³Ð¾ об'єкту.</li> <li> <i>Копіювати елемент</i> — ÐºÐ¾Ð¿Ñ–ÑŽÐ²Ð°Ð½Ð½Ñ Ð¾Ð±Ñ€Ð°Ð½Ð¾Ð³Ð¾ об'єкту.</li> <li> <i>Вирізати елемент</i> — Ð²Ð¸Ñ€Ñ–Ð·Ð°Ð½Ð½Ñ Ð¾Ð±Ñ€Ð°Ð½Ð¾Ð³Ð¾ об'єкту. Початковий об'єкт видалÑєтьÑÑ Ð¿Ñ–ÑÐ»Ñ Ð²Ñтавки.</li> <li> <i>Ð’Ñтавити елемент</i> — вÑтавка Ñкопійованого або вирізаного елементу.</li> <li> <i>Оновити</i> — Ð¾Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð²Ð¼Ñ–Ñту поточної Ñторінки.</li> <li> <i>ЗапуÑтити</i> — запуÑк періодичного Ð¾Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð²Ð¼Ñ–Ñту поточної Ñторінки з інтервалом одна Ñекунда.</li> <li> <i>Зупинити</i> — зупинка періодичного Ð¾Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð²Ð¼Ñ–Ñту поточної Ñторінки з інтервалом одна Ñекунда.</li> <li> <i>Підручник на Ñторінку</i> — виклик підручника обраної Ñторінки.</li> <li> <i>Про...</i> — Ñ–Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ñ–Ñ Ð¿Ñ€Ð¾ цей модуль.</li></ul> <p>Елементи ÑƒÐ¿Ñ€Ð°Ð²Ð»Ñ–Ð½Ð½Ñ Ð¿Ð¾Ð´Ñ–Ð»ÑютьÑÑ Ð½Ð°: базові, команди, переліки, таблиці та зображеннÑ. Ð’ÑÑ– елементи відображаютьÑÑ Ñƒ поÑлідовноÑті, Ñка Ñуворо відповідає Ñ—Ñ… розташуванню у опиÑÑ– мови інтерфейÑу управліннÑ. </p> <div class="toc" id="toc"><div id="toctitle"><h2>Contents</h2></div> <ul> <li class="toclevel-1 tocsection-1"><a href="#.D0.9A.D0.BE.D0.BD.D1.84.D1.96.D0.B3.D1.83.D1.80.D0.B0.D1.86.D1.96.D1.8F"><span class="tocnumber">1</span> <span class="toctext">КонфігураціÑ</span></a></li> <li class="toclevel-1 tocsection-2"><a href="#.D0.91.D0.B0.D0.B7.D0.BE.D0.B2.D1.96_.D0.B5.D0.BB.D0.B5.D0.BC.D0.B5.D0.BD.D1.82.D0.B8"><span class="tocnumber">2</span> <span class="toctext">Базові елементи</span></a></li> <li class="toclevel-1 tocsection-3"><a href="#.D0.9A.D0.BE.D0.BC.D0.B0.D0.BD.D0.B4.D0.B8"><span class="tocnumber">3</span> <span class="toctext">Команди</span></a></li> <li class="toclevel-1 tocsection-4"><a href="#.D0.A1.D0.BF.D0.B8.D1.81.D0.BA.D0.B8"><span class="tocnumber">4</span> <span class="toctext">СпиÑки</span></a></li> <li class="toclevel-1 tocsection-5"><a href="#.D0.A2.D0.B0.D0.B1.D0.BB.D0.B8.D1.86.D1.96"><span class="tocnumber">5</span> <span class="toctext">Таблиці</span></a></li> <li class="toclevel-1 tocsection-6"><a href="#.D0.97.D0.BE.D0.B1.D1.80.D0.B0.D0.B6.D0.B5.D0.BD.D0.BD.D1.8F"><span class="tocnumber">6</span> <span class="toctext">ЗображеннÑ</span></a></li> <li class="toclevel-1 tocsection-7"><a href="#.D0.94.D0.B8.D0.B7.D0.B0.D0.B9.D0.BD"><span class="tocnumber">7</span> <span class="toctext">Дизайн</span></a></li> <li class="toclevel-1 tocsection-8"><a href="#.D0.9F.D0.BE.D0.BC.D0.B8.D0.BB.D0.BA.D0.B8"><span class="tocnumber">8</span> <span class="toctext">Помилки</span></a></li> </ul> </div> <h2><span class="mw-headline" id=".D0.9A.D0.BE.D0.BD.D1.84.D1.96.D0.B3.D1.83.D1.80.D0.B0.D1.86.D1.96.D1.8F"><span class="mw-headline-number">1</span> КонфігураціÑ</span></h2> <p>Ð”Ð»Ñ Ð½Ð°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð²Ð»Ð°Ñної поведінки у окремих випадках, модулем надаєтьÑÑ Ð¼Ð¾Ð¶Ð»Ð¸Ð²Ñ–Ñть Ð½Ð°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ñ–Ð² за поÑередництвом інтерфейÑу ÑƒÐ¿Ñ€Ð°Ð²Ð»Ñ–Ð½Ð½Ñ OpenSCADA (риÑ.3). Такими параметрами Ñ”: </p> <ul><li> Перехід на Ñторінку конфігурації переліку зовнішніх OpenSCADA Ñтанцій, що викориÑтовуєтьÑÑ Ð´Ð»Ñ Ð½Ð°Ð´Ð°Ð½Ð½Ñ Ð¼Ð¾Ð¶Ð»Ð¸Ð²Ð¾Ñті віддаленої конфігурації.</li></ul> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:728px;"><a class="image" href="http://oscada.org/wiki/File:WebCfgD_webdcfg_uk.png"><img class="thumbimage" height="430" src="../files/WebCfgD_webdcfg_uk.png" width="726" /></a> <div class="thumbcaption">РиÑ.3. Сторінка конфігурації Ñамого конфігуратора.</div></div></div></div> <h2><span class="mw-headline" id=".D0.91.D0.B0.D0.B7.D0.BE.D0.B2.D1.96_.D0.B5.D0.BB.D0.B5.D0.BC.D0.B5.D0.BD.D1.82.D0.B8"><span class="mw-headline-number">2</span> Базові елементи</span></h2> <p>До чиÑла базових елементів входÑть: інформаційні елементи, Ð¿Ð¾Ð»Ñ Ð²Ð²Ð¾Ð´Ñƒ значень, елементи Ð¾Ð±Ñ€Ð°Ð½Ð½Ñ Ð· переліку, прапорці-ознаки, текÑтові полÑ. У випадку відÑутноÑті ім'Ñ ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚Ñƒ, базовий елемент приєднуєтьÑÑ Ð´Ð¾ попереднього базового елементу. Приклад групи базових елементів з приєднаннÑм наведено на риÑунку 4. </p><p>Ð”Ð»Ñ ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚Ñ–Ð² вводу, Ñкі не передбачають миттєвих змін та можуть тривалий Ñ‡Ð°Ñ Ñ€ÐµÐ´Ð°Ð³ÑƒÐ²Ð°Ñ‚Ð¸ÑÑ Ð¿ÐµÑ€ÐµÐ´ оÑтаточним завершеннÑм, передбачено механізм підтвердженнÑ. Цей механізм дозволÑÑ” виключити затримки при редагуванні, оÑобливо у випадках конфігурації віддалених Ñтанцій, та вноÑити зміни за підтвердженнÑм. До елементів вводу з підтвердженнÑм відноÑÑтьÑÑ: Ð¿Ð¾Ð»Ñ Ð²Ð²Ð¾Ð´Ñƒ Ñ€Ñдків текÑту або чиÑельних значень та текÑтові полÑ. ÐŸÑ–Ð´Ñ‚Ð²ÐµÑ€Ð´Ð¶ÐµÐ½Ð½Ñ Ð·Ð´Ñ–Ð¹ÑнюєтьÑÑ Ð½Ð°Ñ‚Ð¸Ñком кнопки, Ñка з'ÑвлÑєтьÑÑ Ð¿Ð¾Ñ€Ñд з полем вводу піÑÐ»Ñ Ð¿Ð¾Ñ‡Ð°Ñ‚ÐºÑƒ редагуваннÑ. </p> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:964px;"><a class="image" href="http://oscada.org/wiki/File:WebCfgD_genelem_uk.png"><img class="thumbimage" height="584" src="../files/WebCfgD_genelem_uk.png" width="962" /></a> <div class="thumbcaption">РиÑ.4. ÐŸÑ€Ð¸Ñ”Ð´Ð½Ð°Ð½Ð½Ñ Ð±Ð°Ð·Ð¾Ð²Ð¸Ñ… елементів.</div></div></div></div> <h2><span class="mw-headline" id=".D0.9A.D0.BE.D0.BC.D0.B0.D0.BD.D0.B4.D0.B8"><span class="mw-headline-number">3</span> Команди</span></h2> <p>Команди — це елементи передачі визначених вказівок дії вузлу та організації поÑилань-переходів на інші Ñторінки. Команди можуть міÑтити параметри. Параметри формуютьÑÑ Ð· базових елементів. Приклад команди з параметрами приведено на риÑунку 5. </p> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:941px;"><a class="image" href="http://oscada.org/wiki/File:WebCfgD_commandelem_uk.png"><img class="thumbimage" height="462" src="../files/WebCfgD_commandelem_uk.png" width="939" /></a> <div class="thumbcaption">РиÑ.5. Команда.</div></div></div></div> <h2><span class="mw-headline" id=".D0.A1.D0.BF.D0.B8.D1.81.D0.BA.D0.B8"><span class="mw-headline-number">4</span> СпиÑки</span></h2> <p>Переліки міÑÑ‚Ñть групу базових елементів одного типу. Операції над елементами доÑтупні через контекÑтне меню переліку, за кліком мишею на переліку. Через елементи переліку можуть виконуватиÑÑ Ð¾Ð¿ÐµÑ€Ð°Ñ†Ñ–Ñ— переходу на інші Ñторінки, зазвичай дочірні. Переліки можуть бути індекÑованими. Приклад переліку наведено на риÑунку 6. </p> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:651px;"><a class="image" href="http://oscada.org/wiki/File:WebCfgD_listelem_uk.png"><img class="thumbimage" height="411" src="../files/WebCfgD_listelem_uk.png" width="649" /></a> <div class="thumbcaption">РиÑ.6. СпиÑок.</div></div></div></div> <h2><span class="mw-headline" id=".D0.A2.D0.B0.D0.B1.D0.BB.D0.B8.D1.86.D1.96"><span class="mw-headline-number">5</span> Таблиці</span></h2> <p>Таблиці міÑÑ‚Ñть Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð±Ð°Ð·Ð¾Ð²Ð¸Ñ… елементів. Тип базового елементу Ñ” індивідуальним Ð´Ð»Ñ ÐºÐ¾Ð¶Ð½Ð¾Ð³Ð¾ Ñтовпчика. Приклад таблиці наведено на риÑунку 7. Операції над Ñтруктурою таблиці, Ð´Ð»Ñ Ñ€ÐµÐ´Ð°Ð³Ð¾Ð²Ð°Ð½Ð¸Ñ… таблиць, доÑтупні за поÑередництвом контекÑтного меню, за кліком на Ñлужбовому Ñтовпчику із номерами Ñ€Ñдків. Ð ÐµÐ´Ð°Ð³ÑƒÐ²Ð°Ð½Ð½Ñ ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚Ñ–Ð² таблиці здійÑнюєтьÑÑ ÑˆÐ»Ñхом подвійного кліку по потрібній клітинці. </p> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:941px;"><a class="image" href="http://oscada.org/wiki/File:WebCfgD_tableelem_uk.png"><img class="thumbimage" height="608" src="../files/WebCfgD_tableelem_uk.png" width="939" /></a> <div class="thumbcaption">РиÑ.7. ТаблицÑ.</div></div></div></div> <h2><span class="mw-headline" id=".D0.97.D0.BE.D0.B1.D1.80.D0.B0.D0.B6.D0.B5.D0.BD.D0.BD.D1.8F"><span class="mw-headline-number">6</span> ЗображеннÑ</span></h2> <p>Ð—Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð½Ñ Ð·Ð°ÐºÐ»Ð¸ÐºÐ°Ð½Ð¾ передавати графічну інформацію до конфігураторів. Приклад Ð·Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð½Ñ Ð½Ð°Ð²ÐµÐ´ÐµÐ½Ð¾ на риÑунку 8. </p> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:983px;"><a class="image" href="http://oscada.org/wiki/File:WebCfgD_imgelem_uk.png"><img class="thumbimage" height="532" src="../files/WebCfgD_imgelem_uk.png" width="981" /></a> <div class="thumbcaption">РиÑ.8. ЗображеннÑ.</div></div></div></div> <h2><span class="mw-headline" id=".D0.94.D0.B8.D0.B7.D0.B0.D0.B9.D0.BD"><span class="mw-headline-number">7</span> Дизайн</span></h2> <p>Модуль підтримує зміну дизайну шлÑхом Ñ€Ð¾Ð·Ñ‚Ð°ÑˆÑƒÐ²Ð°Ð½Ð½Ñ Ñƒ робочій/поточній теці двох файлів WebCfgDVCA.html та WebCfgDVCA.js, де перший — це XHTML-шаблон Ñторінки конфігуратору, а другий — це JavaScript програма XHTML-шаблону. </p><p>Ðа цей Ñ‡Ð°Ñ Ð½Ð°Ñвні наÑтупні дизайни: </p> <ul><li> Ðовий Ñтандартний дизайн (по замовченню): <a class="external" href="http://oscada.org/wiki/File:WebCfgDVCA_std.html.gz" title="File:WebCfgDVCA std.html.gz">WebCfgDVCA.html</a>, <a class="external" href="http://oscada.org/wiki/File:WebCfgDVCA_std.js.gz" title="File:WebCfgDVCA std.js.gz">WebCfgDVCA.js</a></li> <li> Старий Ñтандартний дизайн (по замовченню): <a class="external" href="http://oscada.org/wiki/File:WebCfgDVCA_std201701.html.gz" title="File:WebCfgDVCA std201701.html.gz">WebCfgDVCA.html</a>, <a class="external" href="http://oscada.org/wiki/File:WebCfgDVCA_std201701.js.gz" title="File:WebCfgDVCA std201701.js.gz">WebCfgDVCA.js</a></li></ul> <h2><span class="mw-headline" id=".D0.9F.D0.BE.D0.BC.D0.B8.D0.BB.D0.BA.D0.B8"><span class="mw-headline-number">8</span> Помилки</span></h2> <p>ПредÑÑ‚Ð°Ð²Ð»ÐµÐ½Ð½Ñ ÐºÐ¾Ð½Ñ„Ñ–Ð³ÑƒÑ€Ð°Ñ‚Ð¾Ñ€Ñƒ може дещо відрізнÑтиÑÑ Ð½Ð° різних типах браузерів. Це пов'Ñзано з тим, що у оÑнові цього Ð¼Ð¾Ð´ÑƒÐ»Ñ Ð»ÐµÐ¶Ð¸Ñ‚ÑŒ багато доÑтатньо Ñкладних технологій, а також відмінноÑтей Ñ—Ñ… реалізації на різних типах WEB-рушіїв. </p><p>Окрім того, кожний Web-браузер міÑтить влаÑні помилки. ЧаÑтину помилок було обійдено у процеÑÑ– реалізації, однак чаÑтина залишилаÑÑ Ñ‡ÐµÑ€ÐµÐ· значні ÑкладноÑті у Ñ—Ñ… обході або-ж фактичної неможливоÑті це виконати. </p><p>У цьому розділі міÑтитьÑÑ Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ Ð¿ÐµÑ€ÐµÐ»Ñ–ÐºÑƒ виÑвлених помилок WEB-браузерів, Ñкі проÑвлÑютьÑÑ Ñƒ конфігураторі. </p> <table class="wikitable"> <tr> <th> Помилка </th> <th> ÐžÐ¿Ð¸Ñ </th> <th> Ð’Ð¸Ð¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð½Ñ </th></tr> <tr> <td colspan="3"> <i>Mozilla FireFox 3.0.4</i> (stable, few errors) </td></tr> <tr> <td> Offset of the popup window of the editable combobox at 5 pixels to the up and to the left. </td> <td> <p>The problem lies in the fact that the calculation of the absolute position of the element of the document doesn't grab exactly 5 pixels. Error of 5 pixels is visible in relation to the coordinates of the mouse pointer and the position of the newly-created entirely-positioned window. The algorithm for computing the position:<br /> <i>for( ; obj != null; obj = obj.offsetParent ) posX += obj.offsetLeft;</i> </p> </td> <td> To correction of this error to the estimated value on this browser the 5 pixels are added. </td></tr> <tr> <td> In the element of the list (<select size="10"/>) the vertical scroll is always shows and never turned on the horizontal one. </td> <td> This element is actively used for building the context menu and drop-down list of the editable combo-box. </td> <td> <span style="color: blue">For workaround the browser error I must include the list in the block with scroll of the block itself.</span> </td></tr> <tr> <td> The image field is not updating. </td> <td> In order to eliminate the need for restructuring of the configurable page while updating the values of fields in the tree of the structure objects of the pages which was get from the XMLHttpRequest, the properties are created with the links to the object of the tags of the fields (addr_lab, addr_val_w). In objects with the name of the tag "img", these properties are not created by the browser. </td> <td> <span style="color: red">not solved</span> </td></tr> <tr> <td colspan="3"> <i>Opera</i> (stable, few errors) </td></tr> <tr> <td> Scroll of the unit of the page does not turn on. For example when displaying large images of the trend. </td> <td> The block is fixed with the parameters{ overflow: auto; width: 600px; } however, in the case of the exceeding the size of the interior elements the scroll is not turned on. </td> <td> <span style="color: red">not solved</span> </td></tr> <tr> <td colspan="3"> <i>Konqueror</i> (very unstable on the dynamic resources and contains many errors) </td></tr> <tr> <td> Stable browser crashing. </td> <td> Browser repeatedly and consistently crashes while the computation of JavaScript and when dealing with the external windows. </td> <td> <span style="color: red">not solved</span> </td></tr> <tr> <td> The scroll of the navigation tree doesn't returned. </td> <td> If you drag the navigation tree to the vertical scroll, then scroll it down, then roll the large branch, the vertical scroll disappears, and some of the tree remains invisible behind the top of the block. That. the contents of the block are not updated. </td> <td> <span style="color: red">not solved</span> </td></tr> <tr> <td> The images do not update. </td> <td> In the fields of images, to update the image from the server, the property "src" is to be changed. The browser does not sense it, or even updates the size of the frame, and the image is not updated. Methods to prevent caching of the images are used, but do not help. </td> <td> <span style="color: red">not solved</span> </td></tr> <tr> <td> Capturing button images </td> <td> JavaScript of the module uses non-asynchronous but synchronous requests to the server to save the sequence of actions. At moments of such a request, if it was triggered by an event from an image (the image is a button), the image is captured as if it were for transfer, even for short-term mouse clicks. </td> <td> <span style="color: red">not solved</span> </td></tr> <tr> <td> Impossible to insert a new element to the tree of objects obtained as a result of XMLHttpRequest </td> <td> To control the modification of the configuration page structure, the current structure tree was mapped to the newly received XMLHttpRequest. When inserting a new element into the structure tree using insertBefore(), a "DOM error 4" error occurs. If the insertion takes place in a tree created from scratch (and not from XMLHttpRequest), this error does not occur. The problem seems to be the difference between the "document" object of the owner of these trees. In such a tree it is not possible to add a node created as document.createElement(). Only the ones created as mytree.ownerDocument.createElement() are inserted. </td> <td> The procedure for verifying the structure has been simplified and reduced to the definition of the fact of the change. </td></tr> <tr> <td> The mechanisms of the context menu formation in the Konqueror 4 doesn't work. </td> <td> Typically, to create a context menu, the oncontextmenu handler, on Firefox and IE, or onmousedown with the right key processing, on the other browsers, are used. In Konqueror, oncontextmenu does not work at all, and onmousedown works only in Konqueror 3.5. </td> <td> <span style="color: red">not solved</span> </td></tr></table> </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/WebCfgD/uk">Modules/WebCfgD/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>