<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Электронный научно-практический журнал «Современная техника и технологии» &#187; multidimensional logic regulator</title>
	<atom:link href="http://technology.snauka.ru/tags/multidimensional-logic-regulator/feed" rel="self" type="application/rss+xml" />
	<link>https://technology.snauka.ru</link>
	<description></description>
	<lastBuildDate>Fri, 30 Jan 2026 18:56:12 +0000</lastBuildDate>
	<language>ru</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>О проверке программ автоматизированных систем управления</title>
		<link>https://technology.snauka.ru/2015/01/5458</link>
		<comments>https://technology.snauka.ru/2015/01/5458#comments</comments>
		<pubDate>Tue, 27 Jan 2015 12:00:40 +0000</pubDate>
		<dc:creator>Антипин Андрей Федорович</dc:creator>
				<category><![CDATA[Общая рубрика]]></category>
		<category><![CDATA[automated control system]]></category>
		<category><![CDATA[fuzzy controller]]></category>
		<category><![CDATA[multidimensional logic regulator]]></category>
		<category><![CDATA[system of condition-action rules]]></category>
		<category><![CDATA[автоматизированная система управления]]></category>
		<category><![CDATA[многомерный логический регулятор]]></category>
		<category><![CDATA[нечеткий регулятор]]></category>
		<category><![CDATA[система продукционных правил]]></category>

		<guid isPermaLink="false">https://technology.snauka.ru/?p=5458</guid>
		<description><![CDATA[Разработка автоматизированной системы управления (АСУ) сложными технологическими процессами представляет собой длительный и дорогостоящий процесс, важным элементом которого является отладка программного кода в заключительной стадии. Использование современных эффективных методов и способов проверки программ АСУ с целью обнаружения критических ошибок способствует ускорению процесса отладки и, как следствие, более качественной работе системы автоматизации. Автором предлагается следующий способ проверки [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;"><span>Разработка автоматизированной системы управления (АСУ) сложными технологическими процессами представляет собой длительный и дорогостоящий процесс, важным элементом которого является отладка программного кода в заключительной стадии.<br />
</span></p>
<p style="text-align: justify;"><span>Использование современных эффективных методов и способов проверки программ АСУ с целью обнаружения критических ошибок способствует ускорению процесса отладки и, как следствие, более качественной работе системы автоматизации.<br />
</span></p>
<p style="text-align: justify;"><span>Автором предлагается следующий способ проверки программного кода АСУ, основанный на концепции семантического, или смыслового, анализа системы продукционных правил (СПП) многомерного логического регулятора (МЛР) с переменными в виде совокупности аргументов двузначной логики.<br />
</span></p>
<p style="text-align: justify;"><span>МЛР, разработанный автором, является разновидностью нечётких регуляторов (НР), где каждому терму непрерывной физической величины на каком-либо отрезке числовой оси отводится отдельный участок, который не перекрывается соседними термами.<br />
</span></p>
<p style="text-align: justify;"><span>Это позволяет каждое значение непрерывной физической величины представить одним и только одним термом <em>T</em>, что наиболее адекватно идентифицирует данную величину в виде совокупности аргументов двузначной логики.<br />
</span></p>
<p style="text-align: justify;"><span>На рис. 1 представлена упрощенная блок-схема МЛР, где И<sub>1</sub>, И<sub>2</sub>, …, И<em><sub>n</sub></em> и Д<sub>1</sub>, Д<sub>2</sub>, …, Д<em><sub>k</sub></em> – интервализаторы и деинтервализаторы МЛР соответственно, объединенные в блоки БИ и БД; <em>X</em><sub>1</sub>, <em>X</em><sub>2</sub>, …, <em>X<sub>n</sub></em> и <em>Z</em><sub>1</sub>, <em>Z</em><sub>2</sub>, …, <em>Z<sub>k</sub></em> – входные и выходные переменные МЛР соответственно; БЛВ – блок логического вывода МЛР;<em> T </em>(<em>X</em><sub>1</sub>), <em>T </em>(<em>X</em><sub>2</sub>), …, <em>T </em>(<em>X<sub>n</sub></em>) и <em>T </em>(<em>Z</em><sub>1</sub>), <em>T </em>(<em>Z</em><sub>2</sub>), …, <em>T </em>(<em>Z<sub>k</sub></em>) –номера термов, значения которых равны логической единице; <em>N</em><sub>тек</sub> – идентификационный номер (ID-номер) продукционного правила в текущий момент <em>t</em>; # – составляющая ID-номера правила, формируемого из порядковых номеров термов <em>T </em>(<em>X</em><sub>1</sub>), <em>T </em>(<em>X</em><sub>2</sub>), …, <em>T </em>(<em>X<sub>n</sub></em>) и <em>T </em>(<em>Z</em><sub>1</sub>), <em>T </em>(<em>Z</em><sub>2</sub>), …, <em>T </em>(<em>Z<sub>k</sub></em>) [1].<br />
</span></p>
<p style="text-align: center;"><img src="https://technology.snauka.ru/wp-content/uploads/2015/01/011515_1640_1.png" alt="" /><span><br />
</span></p>
<p style="text-align: center;"><span>Рисунок 1 – Упрощенная блок-схема МЛР<br />
</span></p>
<p style="text-align: justify;"><span>Семантический анализ системы правил МЛР с целью выявления пустых, противоречащих и дополняющих друг друга правил, а также неиспользуемых термов, основан на концепции, состоящей из следующих основных положений [2]:<br />
</span></p>
<p style="text-align: justify;"><span>а) если продукционное правило не содержит термы переменных МЛР, то это аварийное правило или правило защиты. В МЛР может быть только одно такое правило;<br />
</span></p>
<p style="text-align: justify;"><span>б) если правило или только консеквент (заключение) не содержит термы переменных МЛР, то это <em>пустое</em> правило;<br />
</span></p>
<p style="text-align: justify;"><span>в) если правило <em>A</em> соответствует правилу <em>B</em>, то это повторяющиеся правила;<br />
</span></p>
<p style="text-align: justify;"><span>г) если консеквенты правил <em>A</em> и <em>B</em> идентичны, но их условные части (антецеденты) – нет, то это <em>взаимодополняющие</em> правила. Их можно и нужно объединять при возможности;<br />
</span></p>
<p style="text-align: justify;"><span>д) если антецеденты правил <em>A</em> и <em>B</em> идентичны, но при этом значения их консеквентов не равны друг другу и не содержат одинаковых номеров термов для каждого из используемых блоков МЛР, то это противоречащие правила, иначе это взаимодополняющие правила;<br />
</span></p>
<p style="text-align: justify;"><span>е) если правило <em>A</em> не равно правилу <em>B</em>, то:<br />
</span></p>
<p style="text-align: justify;"><span>– если условные части правил не содержат одинаковых порядковых номеров термов для каждого из используемых блоков, то правила <em>A</em> и <em>B</em> – нормальные, т. е. они удовлетворяют структуре МЛР;<br />
</span></p>
<p style="text-align: justify;"><span>– если правила <em>A</em> и <em>B</em> не нормальные, но при этом значения их консеквентов не равны друг другу и не содержат одинаковых порядковых номеров термов для каждого из блоков МЛР, то это противоречащие правила, иначе это взаимодополняющие правила.<br />
</span></p>
<p style="text-align: justify;"><span>Далее введем понятия полной, частично полной и неполной системы правил.<br />
</span></p>
<p style="text-align: justify;"><span>Предположим, что значение переменной <em>x</em> может меняться в диапазоне [0; 100]. Тогда для системы правил <em>S </em>(здесь и далее примеры программ приведены в синтаксисе языка Pascal):<br />
</span></p>
<p><span>if x &lt; 70 then begin &lt;блок операторов 1&gt; end<br />
</span></p>
<p><span>else if x &lt; 80 then begin &lt;блок операторов 2&gt; end<br />
</span></p>
<p><span>else begin &lt;блок операторов 3&gt; end;<br />
</span></p>
<p style="text-align: justify;"><span>термы переменной <em>x</em> соответствуют следующим интервалам: [0; 70), [70; 80) и (80; 100].<br />
</span></p>
<p style="text-align: justify;"><span>Такая система правил является полной, то есть она описывает все возможные действия при всех возможных вариантах значений переменной <em>x</em>.<br />
</span></p>
<p style="text-align: justify;"><span>В общем виде полная система правил <em>S</em><sub>п</sub> для непрерывной переменной <em>x</em>, представленной совокупностью <em>n</em> термов <em>T</em>, имеет вид<br />
</span></p>
<p><span>if T1 then begin &lt;блок операторов 1&gt; end<br />
</span></p>
<p><span>else if T2 then begin &lt;блок операторов 2&gt; end<br />
</span></p>
<p><span>…<br />
</span></p>
<p><span>else begin &lt;блок операторов n&gt; end;<br />
</span></p>
<p style="text-align: justify;"><span>СПП <em>S</em><sub>чп</sub> для непрерывной переменной <em>x</em> является частично полной, если её можно считать полной, но при этом в ней отсутствует проверка истинности некоторых термов. Например, в системе правил <em>S</em>:<br />
</span></p>
<p><span>if T1 then begin &lt;блок операторов 1&gt; end<br />
</span></p>
<p><span>else if T3 then begin &lt;блок операторов 2&gt; end<br />
</span></p>
<p><span>…<br />
</span></p>
<p><span>else begin &lt;блок операторов n – 1&gt; end;<br />
</span></p>
<p style="text-align: justify;"><span>отсутствует проверка истинности терма <em>T</em><sub>2</sub>, но, если нахождение <em>x</em> в пространстве значений данного терма не влияет на значения других переменных АСУ, то такая система правил является частично полной.<br />
</span></p>
<p style="text-align: justify;"><span>Если система правил не включает все возможные действия при всех возможных вариантах значений переменной <em>x</em>, то она является неполной и обозначается как <em>S</em><sub>н</sub>.<br />
</span></p>
<p style="text-align: justify;"><span>Решить, является ли некоторая СПП полной, частично полной или неполной может только эксперт [5].<br />
</span></p>
<p style="text-align: justify;"><span>Предлагаемый автором способ анализа программ АСУ заключается в следующем:<br />
</span></p>
<p style="text-align: justify;"><span>1. Для того чтобы в полной мере использовать преимущества описанных выше подходов, следует представить АСУ в виде МЛР, а все ее параметры (переменные) интерпретировать эквивалентной совокупностью аргументов двузначной логики (термами).<br />
</span></p>
<p style="text-align: justify;"><span>2. Выделить в программном коде АСУ системы правил для каждой из её переменных, термы которых содержатся в антецедентах правил.<br />
</span></p>
<p style="text-align: justify;"><span>3. Установить тип каждой из выделенных систем правил. Если имеются неполные системы правил, то их необходимо дополнить до полных или, как минимум, до частично полных.<br />
</span></p>
<p style="text-align: justify;"><span>4. Выполнить семантический анализ МЛР, согласно приведенной выше концепции.<br />
</span></p>
<p style="text-align: justify;"><span>Шаги п. 1 и п. 2 можно объединить.<br />
</span></p>
<p style="text-align: justify;"><span>Рассмотрим пример использования данного способа для АСУ дистилляционной колонны, важной составляющей которой является конденсатор дистилляции (КДС). Автоматическое поддержание температурного режима колонны выполняется путём изменения расхода пара в дистиллер [3]. Блок-схема алгоритма регулирования представлена на рисунке 3, где <em>T</em><sub>КДС</sub> – температура газа из КДС [4].<br />
</span></p>
<p style="text-align: center;"><img src="https://technology.snauka.ru/wp-content/uploads/2015/01/011515_1640_2.png" alt="" /><span><br />
</span></p>
<p style="text-align: center;"><span>Рисунок 3 – Блок-схема алгоритма регулирования температурного режима колонны<br />
</span></p>
<p style="text-align: justify;"><span>Пример интерпретации <em>T</em><sub>КДС</sub> совокупностью термов представлен на рис. 4, где термы <em>T</em><sub>2</sub>, <em>T</em><sub>3</sub>, <em>T</em><sub>5</sub> и <em>T</em><sub>6</sub> позволяют осуществить более плавное регулирование, а термы <em>T</em><sub>1</sub> и <em>T</em><sub>7</sub> – какие-либо защитные действия.<br />
</span></p>
<p style="text-align: center;"><img src="https://technology.snauka.ru/wp-content/uploads/2015/01/011515_1640_3.png" alt="" /><span><br />
</span></p>
<p style="text-align: center;"><span>Рисунок 4 – Пример интерпретации T<sub>КДС</sub> совокупностью термов<br />
</span></p>
<p><span>Шаги п. 3 и п. 4 можно выполнять в любой последовательности и неоднократно.<br />
</span></p>
<p style="text-align: justify;"><span>Если шаг п. 3 может выполнить только специалист, или эксперт, то шаг п. 4 можно и нужно автоматизировать, что позволяет сделать данный способ более доступным. Так описанный выше способ семантического анализа реализован в разработанном автором программном обеспечении в составе системы автоматизированной разработки многомерных логических регуляторов с переменными в виде совокупности аргументов двузначной логики, скриншот которого представлен на рис. 5.<br />
</span></p>
<p style="text-align: center;"><img src="https://technology.snauka.ru/wp-content/uploads/2015/01/011515_1640_4.png" alt="" /><span><br />
</span></p>
<p style="text-align: center;"><span>Рисунок 5 – Скриншот программы семантического анализа системы автоматизированной разработки многомерных логических регуляторов<br />
</span></p>
<p><span>Таким образом, описанный в статье способ проверки программ АСУ с целью обнаружения критических ошибок способствует улучшению процессов тестирования и отладки, и, как следствие, более качественной работе АСУ технологическими процессами в целом.</span></p>
]]></content:encoded>
			<wfw:commentRss>https://technology.snauka.ru/2015/01/5458/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
