<?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>Модули/Блоковый вычиÑлитель - 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="ru">Модули/Блоковый вычиÑлитель</h1> </div><div class="mw-content-ltr" dir="ltr" id="mw-content-text" lang="ru"><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%2FBlockCalc&action=page&filter=&language=ru" rel="nofollow noreferrer noopener" target="_blank">translated version</a></span> of the page <a class="external" href="http://oscada.org/wiki/Modules/BlockCalc" title="Modules/BlockCalc">Modules/BlockCalc</a> and the translation is 83% 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/BlockCalc.html" title="Modules/BlockCalc (100% translated)">English</a> • ‎<span class="mw-pt-languages-selected mw-pt-progress mw-pt-progress--complete">mRussian</span> • ‎<a class="mw-pt-progress mw-pt-progress--complete" href="../../uk/Modules/BlockCalc.html" title="Модулі/Блоковий обчиÑлювач (100% translated)">УкраїнÑька</a></div></div> <div class="noprint" style="float:right; border:1px solid gray; width:300px; background-color:ivory; padding:2px;"> <table cellspacing="0"> <tr> <td> <a class="image" href="http://oscada.org/wiki/File:Constr.png"><img alt="Constr.png" height="32" src="../../en/files/Constr.png" width="32" /></a> </td> <td style="padding-left:5px;"> The translation checking and actualizing </td></tr></table> </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/BlockCalc.html" title="Special:MyLanguage/Modules/BlockCalc">BlockCalc</a> </td> <td> Блочный вычиÑлитель </td> <td> 1.12 </td> <td> GPL2 </td> <td> daq_BlockCalc.so </td> <td> en,uk,ru,de </td> <td> x86,x86_64,ARM </td> <td> DAQ </td> <td> Роман Савоченко </td> <td> ПредоÑтавлÑет блочный вычиÑлитель. </td></tr></table> <p>Модуль подÑиÑтемы "DAQ" BlockCalc предоÑтавлÑет в ÑиÑтему OpenSCADA механизм ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»ÑŒÑких вычиÑлений. Механизм вычиÑлений оÑновываетÑÑ Ð½Ð° формальном Ñзыке блочных Ñхем(функциональных блоков). </p><p>Также модулем реализуютÑÑ Ñ„ÑƒÐ½ÐºÑ†Ð¸Ð¸ горизонтального резервированиÑ, а именно ÑовмеÑтной работы Ñ ÑƒÐ´Ð°Ð»Ñ‘Ð½Ð½Ð¾Ð¹ Ñтанцией Ñтого-же уровнÑ. Кроме Ñинхронизации значений и архивов атрибутов параметров модулем оÑущеÑтвлÑетÑÑ ÑÐ¸Ð½Ñ…Ñ€Ð¾Ð½Ð¸Ð·Ð°Ñ†Ð¸Ñ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ð¹ блоков блочной Ñхемы, Ñ Ñ†ÐµÐ»ÑŒÑŽ безударного подхвата алгоритмов. </p><p>Языки блочного Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¾ÑновываютÑÑ Ð½Ð° понÑтии блочных Ñхем (функциональных блоков). При чем в завиÑимоÑти от ÑущноÑти блока блочные Ñхемы могут быть: логичеÑкими Ñхемами, Ñхемами релейной логики, моделью технологичеÑкого процеÑÑа и другое. Суть блочной Ñхемы ÑоÑтоит в том, что она Ñодержит ÑпиÑок блоков и ÑвÑзи между ними. </p><p>С формальной точки Ð·Ñ€ÐµÐ½Ð¸Ñ Ð±Ð»Ð¾Ðº Ñто Ñлемент (функциÑ), который имеет входы, выходы и алгоритм вычиÑлениÑ. ИÑÑ…Ð¾Ð´Ñ Ð¸Ð· концепции Ñреды программированиÑ, блок — Ñто кадр значений, аÑÑоциированный Ñ Ð¾Ð±ÑŠÐµÐºÑ‚Ð¾Ð¼ функции. </p><p>РазумеетÑÑ, входы и выходы блоков нужно ÑоединÑÑ‚ÑŒ Ð´Ð»Ñ Ð¿Ð¾Ð»ÑƒÑ‡ÐµÐ½Ð¸Ñ Ñ†ÐµÐ»ÑŒÐ½Ð¾Ð¹ блочной Ñхемы. ПредуÑмотрены Ñледующие типы ÑвÑзей: </p> <ul><li> межблочные, подключение входа одного блока к выходу другого, входа одного блока к входу другого и выход одного блока ко входу другого;</li> <li> дальние межблочные, Ñоединение блоков контроллеров разных блочных Ñхем данного модулÑ;</li> <li> коÑффициенты, преобразование входа в поÑтоÑнную, вÑе входы/выходы по умолчанию инициируютÑÑ ÐºÐ°Ðº поÑтоÑнные;</li> <li> внешний атрибут параметра.</li></ul> <p>УÑловно ÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ Ð±Ð»Ð¾ÐºÐ¾Ð² можно изобразить как ÑвÑзи между блоками в целом (риÑ. 1) или Ð´ÐµÑ‚Ð°Ð»Ð¸Ð·Ð°Ñ†Ð¸Ñ ÑвÑзей (риÑ. 2). Ð’ процеÑÑе ÑвÑÐ·Ñ‹Ð²Ð°Ð½Ð¸Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð¾Ð² блоков допуÑтимо Ñоединение параметров любого типа. При Ñтом, в процеÑÑе вычиÑÐ»ÐµÐ½Ð¸Ñ Ð±ÑƒÐ´ÐµÑ‚ выполнÑÑ‚ÑŒÑÑ Ð°Ð²Ñ‚Ð¾Ð¼Ð°Ñ‚Ð¸Ñ‡ÐµÑкое приведение типов. </p> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:603px;"><a class="image" href="http://oscada.org/wiki/File:BlockCalc_model_ru.png"><img class="thumbimage" height="212" src="../files/BlockCalc_model_ru.png" width="601" /></a> <div class="thumbcaption">РиÑ. 1. Общие ÑвÑзи между блоками блочной Ñхемы.</div></div></div></div> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:601px;"><a class="image" href="http://oscada.org/wiki/File:BlockCalc_links_ru.png"><img class="thumbimage" height="162" src="../files/BlockCalc_links_ru.png" width="599" /></a> <div class="thumbcaption">РиÑ. 2. Детализированные ÑвÑзи между блоками.</div></div></div></div> <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.82.D1.80.D0.BE.D0.BB.D0.BB.D0.B5.D1.80_.D0.BC.D0.BE.D0.B4.D1.83.D0.BB.D1.8F"><span class="tocnumber">1</span> <span class="toctext">Контроллер модулÑ</span></a></li> <li class="toclevel-1 tocsection-2"><a href="#The_block_scheme_of_the_controller"><span class="tocnumber">2</span> <span class="toctext">The block scheme of the controller</span></a></li> <li class="toclevel-1 tocsection-3"><a href="#Parameters_of_the_controller"><span class="tocnumber">3</span> <span class="toctext">Parameters of the controller</span></a></li> <li class="toclevel-1 tocsection-4"><a href="#.D0.9A.D0.BE.D0.BF.D0.B8.D1.80.D0.BE.D0.B2.D0.B0.D0.BD.D0.B8.D0.B5_.D0.B1.D0.BB.D0.BE.D1.87.D0.BD.D1.8B.D1.85_.D1.81.D1.85.D0.B5.D0.BC"><span class="tocnumber">4</span> <span class="toctext">Копирование блочных Ñхем</span></a></li> <li class="toclevel-1 tocsection-5"><a href="#API_.D0.BF.D0.BE.D0.BB.D1.8C.D0.B7.D0.BE.D0.B2.D0.B0.D1.82.D0.B5.D0.BB.D1.8C.D1.81.D0.BA.D0.BE.D0.B3.D0.BE_.D0.BF.D1.80.D0.BE.D0.B3.D1.80.D0.B0.D0.BC.D0.BC.D0.B8.D1.80.D0.BE.D0.B2.D0.B0.D0.BD.D0.B8.D1.8F"><span class="tocnumber">5</span> <span class="toctext">API пользовательÑкого программированиÑ</span></a></li> <li class="toclevel-1 tocsection-6"><a href="#Service_commands-functions_of_the_Control_Interface"><span class="tocnumber">6</span> <span class="toctext">Service commands-functions of the Control Interface</span></a></li> <li class="toclevel-1 tocsection-7"><a href="#.D0.A1.D1.81.D1.8B.D0.BB.D0.BA.D0.B8"><span class="tocnumber">7</span> <span class="toctext">СÑылки</span></a></li> </ul> </div> <h2><span class="mw-headline" id=".D0.9A.D0.BE.D0.BD.D1.82.D1.80.D0.BE.D0.BB.D0.BB.D0.B5.D1.80_.D0.BC.D0.BE.D0.B4.D1.83.D0.BB.D1.8F"><span class="mw-headline-number">1</span> Контроллер модулÑ</span></h2> <p>Каждый контроллер Ñтого Ð¼Ð¾Ð´ÑƒÐ»Ñ Ñодержит блочную Ñхему, которую он обÑчитывает Ñ ÑƒÐºÐ°Ð·Ð°Ð½Ð½Ñ‹Ð¼ периодом. Ð”Ð»Ñ Ð¿Ñ€ÐµÐ´Ð¾ÑÑ‚Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð²Ñ‹Ñ‡Ð¸Ñленных данных в ÑиÑтему OpenSCADA в контроллере могут ÑоздаватьÑÑ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ñ‹. Пример вкладки конфигурации контроллера данного типа изображен на риÑ.3. </p> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:784px;"><a class="image" href="http://oscada.org/wiki/File:BlockCalc_cntr.png"><img class="thumbimage" height="640" src="../../en/files/BlockCalc_cntr.png" width="782" /></a> <div class="thumbcaption">РиÑ. 3. Вкладка конфигурации контроллера.</div></div></div></div> <p>From this tab you can set: </p> <ul><li> State of the controller object, as follows: status, "Enabled", "Running" and the storage name containing the configuration.</li> <li> Identifier, name and description of the controller.</li> <li> The state "Enabled" and "Running", in which the controller object must be translated at start up.</li> <li> Policy of scheduling, priority of the data acquisition task and number of iterations in one cycle of calculating task of the block scheme of the controller.</li></ul> <h2><span class="mw-headline" id="The_block_scheme_of_the_controller"><span class="mw-headline-number">2</span> The block scheme of the controller</span></h2> <p>The block scheme is formed by means of the tab controller's blocks, configuration of the block (Figure 4) and its connections (Fig. 5). The blocks are stored in a table with the name "BlckCalcBlcks_{CntrId}". </p><p>Блоки блочной Ñхемы могут ÑвÑзыватьÑÑ ÐºÐ°Ðº между Ñобой, так и подключатьÑÑ Ðº атрибутам параметров. Сами блоки при Ñтом не Ñодержат Ñтруктуры входов/выходов(IO), а Ñодержат значениÑ, иÑÑ…Ð¾Ð´Ñ Ð¸Ð· Ñтруктуры IO ÑвÑзанной функции. Функции Ð´Ð»Ñ ÑвÑÐ·Ñ‹Ð²Ð°Ð½Ð¸Ñ Ñ Ð±Ð»Ð¾ÐºÐ¾Ð¼ иÑпользуютÑÑ Ð¸Ð· объектной модели ÑиÑтемы OpenSCADA. </p><p>Любой блок может в любой момент быть иÑключён из обработки и переконфигурирован поÑле чего может быть опÑÑ‚ÑŒ включен в обработку. СвÑзи между блоками могут конфигурироватьÑÑ Ð±ÐµÐ· иÑÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ Ð±Ð»Ð¾ÐºÐ¾Ð² из обработки и оÑтановки контроллера. Ð—Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð²Ñех IO, не охваченных ÑвÑзÑми могут быть изменены в процеÑÑе обработки. </p><p>С помощью вкладки блоков можно: </p> <ul><li> Добавить/удалить блок в блочную Ñхему.</li> <li> Проконтролировать общее количеÑтво, количеÑтво включенных и количеÑтво обрабатываемых блоков.</li></ul> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:762px;"><a class="image" href="http://oscada.org/wiki/File:BlockCalc_cfg_ru.png"><img class="thumbimage" height="602" src="../files/BlockCalc_cfg_ru.png" width="760" /></a> <div class="thumbcaption">РиÑ. 4. Вкладка конфигурации блока блочной Ñхемы.</div></div></div></div> <p>С помощью формы конфигурации блока можно уÑтановить: </p> <ul><li> СоÑтоÑние блока, а именно: "Включен" и "ОбрабатываетÑÑ".</li> <li> Идентификатор, Ð¸Ð¼Ñ Ð¸ опиÑание блока.</li> <li> СоÑтоÑние, в которое переводить блок при загрузке: "Включен" и "Запущен".</li> <li> Указать блок, который должен обÑзательно выполнÑÑ‚ÑŒÑÑ Ð¿ÐµÑ€ÐµÐ´ данным.</li> <li> Ðазначить рабочую функцию из объектной модели. Перейти к функции Ð´Ð»Ñ Ð¾Ð·Ð½Ð°ÐºÐ¾Ð¼Ð»ÐµÐ½Ð¸Ñ.</li></ul> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:689px;"><a class="image" href="http://oscada.org/wiki/File:BlockCalc_blk_lnk_ru.png"><img class="thumbimage" height="556" src="../files/BlockCalc_blk_lnk_ru.png" width="687" /></a> <div class="thumbcaption">РиÑ. 5. Вкладка конфигурации ÑвÑзей блока блочной Ñхемы.</div></div></div></div> <p>С помощью вкладки конфигурации ÑвÑзей блока блочной Ñхемы можно уÑтановить ÑвÑзи Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ параметра блока отдельно. </p><p>ПоддерживаютÑÑ Ñледующие типы ÑвÑзей: </p> <ul><li> Межблочные. Подключение входа блока к выходу другого блока, входа одного блока к входу другого и выхода одного блока ко входу другого.</li> <li> Дальние межблочные. Соединение блоков из различных контроллеров данного модулÑ.</li> <li> КоÑффициент. Превращение входа в конÑтанту. Ð’Ñе входы/выходы по умолчанию инициированы как конÑтанты.</li> <li> Внешний атрибут параметра.</li></ul> <p>Ð”Ð»Ñ ÑƒÑтановки значений параметров блока предназначена ÑоответÑÑ‚Ð²ÑƒÑŽÑ‰Ð°Ñ Ð²ÐºÐ»Ð°Ð´ÐºÐ° (РиÑ.6). </p><p>Ð’ ÑоответÑтвии Ñ Ñ€ÐµÐ°Ð»Ð¸Ð·Ð°Ñ†Ð¸ÐµÐ¹ пользовательÑких функций в ÑиÑтеме OpenSCADA поддерживаютÑÑ Ñ‡ÐµÑ‚Ñ‹Ñ€Ðµ оÑновных типа IO: целое, вещеÑтвенное, логичеÑкое и Ñтрока. </p> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:729px;"><a class="image" href="http://oscada.org/wiki/File:BlockCalc_blk_val_ru.png"><img class="thumbimage" height="637" src="../files/BlockCalc_blk_val_ru.png" width="727" /></a> <div class="thumbcaption">РиÑ. 6. Вкладка конфигурации значений параметров блока блочной Ñхемы.</div></div></div></div> <p>Модулем предуÑмотрена оÑÐ¾Ð±Ð°Ñ Ð¾Ð±Ñ€Ð°Ð±Ð¾Ñ‚ÐºÐ° Ñ€Ñда входов/выходов блока: </p> <ul><li> <i>f_frq</i> — ЧаÑтота вычиÑÐ»ÐµÐ½Ð¸Ñ Ð¸Ð»Ð¸ Ð²Ñ€ÐµÐ¼Ñ Ð¿Ð¾Ñле поÑледнего вычиÑÐ»ÐµÐ½Ð¸Ñ Ð±Ð»Ð¾ÐºÐ°, отрицательное в Ñекундах, Ð´Ð»Ñ Ð¿Ð»Ð°Ð½Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¿Ð¾ CRON, только чтение.</li> <li> <i>f_start</i> — Флаг первого Ð²Ñ‹Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð±Ð»Ð¾ÐºÐ°, запуÑк, только чтение.</li> <li> <i>f_stop</i> — Флаг поÑледнего Ð²Ñ‹Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð±Ð»Ð¾ÐºÐ°, оÑтанов, только чтение.</li> <li> <i>this</i> — Объект данного блока.</li></ul> <h2><span class="mw-headline" id="Parameters_of_the_controller"><span class="mw-headline-number">3</span> Parameters of the controller</span></h2> <p>The module provides only one the "Standard (std)" type of the parameters with the parameters table name "BlckCalcPrm_{CntrId}". The parameter used to reflect the data, calculated in the blocks, on the attributes of the controller's parameters. Example of the configuration tab of the parameter is shown in Fig.7. </p> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:684px;"><a class="image" href="http://oscada.org/wiki/File:BlockCalc_prm_ru.png"><img class="thumbimage" height="638" src="../files/BlockCalc_prm_ru.png" width="682" /></a> <div class="thumbcaption">РиÑ. 7. Вкладка конфигурации значений параметров контроллера.</div></div></div></div> <p>С помощью Ñтой вкладки можно уÑтановить: </p> <ul><li> СоÑтоÑние параметра, а именно: "Включен" и тип параметра.</li> <li> Идентификатор, Ð¸Ð¼Ñ Ð¸ опиÑание параметра.</li> <li> СоÑтоÑние, в которое переводить параметр при загрузке: "Включен".</li> <li> Перечень атрибутов, отражённых на параметры блоков. ФормируетÑÑ Ð² виде ÑпиÑка Ñлементов в формате: <i>{BLK}.{BLK_IO}[:{AID}:{ANM}]</i>. Где:</li></ul> <dl><dd><i>{BLK}</i> — идентификатор блока, блочной Ñхемы; Ð´Ð»Ñ Ð¿Ð¾ÑтоÑнной значение уÑтанавливаетÑÑ: <dl><dd>'*s' — Ñтроковый тип;</dd> <dd>'*i' — целочиÑленный тип;</dd> <dd>'*r' — вещеÑтвенный тип;</dd> <dd>'*b' — логичеÑкий тип.</dd></dl></dd> <dd><i>{BLK_IO}</i> — параметр блока, блочной Ñхемы; Ð´Ð»Ñ Ð¿Ð¾ÑтоÑнной значений уÑтанавливаетÑÑ Ð² значение атрибута;</dd> <dd><i>{AID}</i> — идентификатор атрибута параметра;</dd> <dd><i>{ANM}</i> — Ð¸Ð¼Ñ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚Ð° параметра.</dd></dl> <h2><span class="mw-headline" id=".D0.9A.D0.BE.D0.BF.D0.B8.D1.80.D0.BE.D0.B2.D0.B0.D0.BD.D0.B8.D0.B5_.D0.B1.D0.BB.D0.BE.D1.87.D0.BD.D1.8B.D1.85_.D1.81.D1.85.D0.B5.D0.BC"><span class="mw-headline-number">4</span> Копирование блочных Ñхем</span></h2> <p>Ð”Ð»Ñ ÑƒÐ¿Ñ€Ð¾Ñ‰ÐµÐ½Ð¸Ñ Ð¸ уÑÐºÐ¾Ñ€ÐµÐ½Ð¸Ñ Ð¿Ñ€Ð¾Ñ†ÐµÐ´ÑƒÑ€Ñ‹ разработки Ñложных и повторÑющихÑÑ Ð±Ð»Ð¾Ñ‡Ð½Ñ‹Ñ… Ñхем предуÑмотрен механизм ÐºÐ¾Ð¿Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ñлементов блочной Ñхемы как по отдельноÑти, так и блочных Ñхем целиком. Механизм ÐºÐ¾Ð¿Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¸Ð½Ñ‚ÐµÐ³Ñ€Ð¸Ñ€Ð¾Ð²Ð°Ð½ в Ñдро OpenSCADA и работает прозрачно. </p> <h2><span class="mw-headline" id="API_.D0.BF.D0.BE.D0.BB.D1.8C.D0.B7.D0.BE.D0.B2.D0.B0.D1.82.D0.B5.D0.BB.D1.8C.D1.81.D0.BA.D0.BE.D0.B3.D0.BE_.D0.BF.D1.80.D0.BE.D0.B3.D1.80.D0.B0.D0.BC.D0.BC.D0.B8.D1.80.D0.BE.D0.B2.D0.B0.D0.BD.D0.B8.D1.8F"><span class="mw-headline-number">5</span> API пользовательÑкого программированиÑ</span></h2> <p>Ðекоторые объекты Ð¼Ð¾Ð´ÑƒÐ»Ñ Ð¿Ñ€ÐµÐ´Ð¾ÑтавлÑÑŽÑ‚ функции пользовательÑкого программированиÑ. </p> <div class="floatright"><a class="image" href="http://oscada.org/wiki/File:Oscada_UserOM_BlockCalc_ru.png" title="ÐžÐ±ÑŠÐµÐºÑ‚Ð½Ð°Ñ Ð¼Ð¾Ð´ÐµÐ»ÑŒ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ð¼Ð¾Ð´ÑƒÐ»Ñ BlockCalc."><img alt="ÐžÐ±ÑŠÐµÐºÑ‚Ð½Ð°Ñ Ð¼Ð¾Ð´ÐµÐ»ÑŒ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ð¼Ð¾Ð´ÑƒÐ»Ñ BlockCalc." height="214" src="../files/Oscada_UserOM_BlockCalc_ru.png" width="218" /></a></div> <p><b>Объект "Блок" (SYS.DAQ.BlockCalc["cntr"]["blk_block"])</b> </p> <ul><li> <i>ElTp cfg(string nm)</i> — получение Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ ÐºÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð°Ñ†Ð¸Ð¾Ð½Ð½Ð¾Ð³Ð¾ Ð¿Ð¾Ð»Ñ <i>nm</i> объекта.</li> <li> <i>bool cfgSet(string nm, ElTp val)</i> [<span style="color:red">доÑтуп к ÑоответÑтвующей подÑиÑтеме</span>] — уÑтановка конфигурационного Ð¿Ð¾Ð»Ñ <i>nm</i> объекта в значение <i>val</i>.</li> <li> <i>TCntrNodeObj cntr()</i> — возвращает объект контроллера Ñтого параметра, незавиÑимо от вложенноÑти.</li></ul> <p><br /> </p> <h2><span class="mw-headline" id="Service_commands-functions_of_the_Control_Interface"><span class="mw-headline-number">6</span> Service commands-functions of the Control Interface</span></h2> <p>Service functions are an interface for accessing OpenSCADA from external systems through the <a href="../../en/API.html#CntrNode" title="Special:MyLanguage/Documents/API">Control Interface</a>. This mechanism is the basis of all exchange within OpenSCADA, implemented through weak links and <a href="../Modules/SelfSystem.html" title="Special:MyLanguage/Modules/SelfSystem">OpenSCADA's own exchange protocol</a>. </p><p><br /> <b><u>Getting for values of all block attributes of the controller object</u></b><br /> REQ: <i><get path="/DAQ/BlockCalc/<b>{CNTR}</b>/blk_<b>{BLK}</b>/%2fserv%2fattr" /></i> </p> <ul><li> <i>CNTR</i>, <i>BLK</i> — controller object and block in the block scheme.</li></ul> <p>RESP: <i><get path="/DAQ/BlockCalc/{CNTR}/blk_{BLK}/%2fserv%2fattr" rez="<b>0</b>"><b>{attributes}</b></get></i> </p> <ul><li> <i>attributes</i> — the block attributes in the tags "a": <i><a id="<b>{ID}</b>"><b>{value}</b></a></i> <ul><li> <i>ID</i> — identifier of the attribute;</li> <li> <i>value</i> — value of the attribute.</li></ul></li></ul> <div class="mw-highlight mw-content-ltr" dir="ltr" style="margin-left: 10pt"><pre><span class="nt"><get</span> <span class="na">path=</span><span class="s">"/DAQ/BlockCalc/CM101/blk_AT101_1/%2fserv%2fattr"</span> <span class="na">rez=</span><span class="s">"0"</span> <span class="na">user=</span><span class="s">"roman"</span><span class="nt">></span> <span class="nt"><a</span> <span class="na">id=</span><span class="s">"Fi"</span><span class="nt">></span>50.3839725707191<span class="nt"></a></span> <span class="nt"><a</span> <span class="na">id=</span><span class="s">"Pi"</span><span class="nt">></span>10.2588208891757<span class="nt"></a></span> <span class="nt"><a</span> <span class="na">id=</span><span class="s">"Ti"</span><span class="nt">></span>331.149550201738<span class="nt"></a></span> <span class="nt"><a</span> <span class="na">id=</span><span class="s">"Si"</span><span class="nt">></span>0.071<span class="nt"></a></span> <span class="nt"><a</span> <span class="na">id=</span><span class="s">"li"</span><span class="nt">></span>10<span class="nt"></a></span> <span class="nt"></get></span> </pre></div> <p><b><u>Setting for values of list the block attributes of the controller object</u></b><br /> REQ[<b>root-DAQ</b>]: <i><set path="/DAQ/BlockCalc/<b>{CNTR}</b>/blk_<b>{BLK}</b>/%2fserv%2fattr"><b>{attributes}</b></set></i> </p> <ul><li> <i>CNTR</i>, <i>BLK</i> — controller object and block in the block scheme;</li> <li> <i>attributes</i> — the block attributes in the tags "a": <i><a id="<b>{ID}</b>"><b>{value}</b></a></i> <ul><li> <i>ID</i> — identifier of the attribute;</li> <li> <i>value</i> — value of the attribute.</li></ul></li></ul> <div class="mw-highlight mw-content-ltr" dir="ltr" style="margin-left: 10pt"><pre><span class="nt"><set</span> <span class="na">path=</span><span class="s">"/DAQ/BlockCalc/CM101/blk_AT101_1/%2fserv%2fattr"</span><span class="nt">></span> <span class="nt"><a</span> <span class="na">id=</span><span class="s">"Fi"</span><span class="nt">></span>50.3839725707191<span class="nt"></a></span> <span class="nt"><a</span> <span class="na">id=</span><span class="s">"Pi"</span><span class="nt">></span>10.2588208891757<span class="nt"></a></span> <span class="nt"></set></span> </pre></div> <p><br /> </p> <h2><span class="mw-headline" id=".D0.A1.D1.81.D1.8B.D0.BB.D0.BA.D0.B8"><span class="mw-headline-number">7</span> СÑылки</span></h2> <ul><li> <a class="external" href="http://oscada.org/wiki/File:Oscada_UserOM_BlockCalc_ru.odg" title="File:Oscada UserOM BlockCalc ru.odg">Диаграмма: ÐžÐ±ÑŠÐµÐºÑ‚Ð½Ð°Ñ Ð¼Ð¾Ð´ÐµÐ»ÑŒ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ð¼Ð¾Ð´ÑƒÐ»Ñ BlockCalc.</a></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/BlockCalc/ru">Modules/BlockCalc/ru</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>