<?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE article PUBLIC "-//NLM/DTD JATS (Z39.96) Journal Publishing DTD v1.2 20120330//EN" "http://jats.nlm.nih.gov/publishing/1.2/JATS-journalpublishing1.dtd">
    <!--<?xml-stylesheet type="text/xsl" href="article.xsl">-->
<article xmlns:ns0="http://www.w3.org/1999/xlink" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" article-type="research-article" dtd-version="1.2" xml:lang="en">
	<front>
		<journal-meta>
			<journal-id journal-id-type="eissn">3034-1558</journal-id>
			<journal-title-group>
				<journal-title>Cifra. Информационные технологии и телекоммуникации</journal-title>
			</journal-title-group>
			<publisher>
				<publisher-name>ООО Цифра</publisher-name>
			</publisher>
		</journal-meta>
		<article-meta>
			<article-id pub-id-type="doi">10.60797/itech.2026.9.3</article-id>
			<article-categories>
				<subj-group>
					<subject>Brief communication</subject>
				</subj-group>
			</article-categories>
			<title-group>
				<article-title>ТЕСТИРОВАНИЕ ТОЧНОСТИ КАНАЛОВ АНАЛОГОВОГО ВХОДА МИКРОКОНТРОЛЛЕРОВ</article-title>
			</title-group>
			<contrib-group>
				<contrib contrib-type="author" corresp="yes">
					<contrib-id contrib-id-type="orcid">https://orcid.org/0000-0002-9747-6667</contrib-id>
					<contrib-id contrib-id-type="rinc">https://elibrary.ru/author_profile.asp?id=607400</contrib-id>
					<name>
						<surname>Вольников</surname>
						<given-names>Михаил Иванович</given-names>
					</name>
					<email>vmi1972@yandex.ru</email>
					<xref ref-type="aff" rid="aff-2">2</xref>
				</contrib>
				<contrib contrib-type="author">
					<name>
						<surname>Дадаев</surname>
						<given-names>Александр Александрович</given-names>
					</name>
					<email>s000060860@nomail.penzgtu.ru</email>
					<xref ref-type="aff" rid="aff-1">1</xref>
				</contrib>
			</contrib-group>
			<aff id="aff-1">
				<label>1</label>
				<institution>Пензенский госудаоственный технологический университет</institution>
			</aff>
			<aff id="aff-2">
				<label>2</label>
				<institution>Пензенский государственный технологический университет</institution>
			</aff>
			<pub-date publication-format="electronic" date-type="pub" iso-8601-date="2026-01-14">
				<day>14</day>
				<month>01</month>
				<year>2026</year>
			</pub-date>
			<pub-date pub-type="collection">
				<year>2026</year>
			</pub-date>
			<volume>7</volume>
			<issue>9</issue>
			<fpage>1</fpage>
			<lpage>7</lpage>
			<history>
				<date date-type="received" iso-8601-date="2025-03-31">
					<day>31</day>
					<month>03</month>
					<year>2025</year>
				</date>
				<date date-type="accepted" iso-8601-date="2026-01-13">
					<day>13</day>
					<month>01</month>
					<year>2026</year>
				</date>
			</history>
			<permissions>
				<copyright-statement>Copyright: &amp;#x00A9; 2022 The Author(s)</copyright-statement>
				<copyright-year>2022</copyright-year>
				<license license-type="open-access" xlink:href="http://creativecommons.org/licenses/by/4.0/">
					<license-p>
						This is an open-access article distributed under the terms of the Creative Commons Attribution 4.0 International License (CC-BY 4.0), which permits unrestricted use, distribution, and reproduction in any medium, provided the original author and source are credited. See 
						<uri xlink:href="http://creativecommons.org/licenses/by/4.0/">http://creativecommons.org/licenses/by/4.0/</uri>
					</license-p>
					.
				</license>
			</permissions>
			<self-uri xlink:href="https://itech.cifra.science/archive/1-9-2026-january/10.60797/itech.2026.9.3"/>
			<abstract>
				<p>В статье рассматриваются вопросы применения микроконтроллеров для проверки канала аналогового ввода на достижение заданной точности. Тестирование на точность данного функционала является основной проверкой перед внедрением микроконтроллера на объект, так как основное предназначение данного устройства мониторинг и контроль над процессами. В качестве среды разработки использована Unimod PRO версия 2. На основе разработанного программного обеспечения проведена проверка на точность канала аналогового входа микроконтроллера. Представлен эффект применения разработанного программного обеспечения. Показан пример работы программы при тестировании канала аналогового входа. Приведен пример расчета погрешности канала аналогового входа.</p>
			</abstract>
			<kwd-group>
				<kwd>мониторинг</kwd>
				<kwd> точность</kwd>
				<kwd> микроконтроллер</kwd>
			</kwd-group>
		</article-meta>
	</front>
	<body>
		<sec>
			<title>HTML-content</title>
			<p>1. Введение</p>
			<p>Применение программируемых логических контроллеров (ПЛК) является одним из наиболее распространенных и эффективных способов автоматизации производственных процессов. ПЛК представляют собой специализированные устройства, способные выполнять различные логические и арифметические операции в реальном времени. Они широко применяются в различных областях промышленности, включая производство автомобилей, электронику, пищевую промышленность и многие другие. От точности работы ПЛК зависит качество управления системами, в которых эти микроконтроллеры используются.</p>
			<p>В данной статье разработан вариант применения ПЛК для процесса проверки канала аналогового ввода на достижение заданной точности. Точность регулирования — одна из важнейших характеристик систем автоматического управления (САУ), определяющая степень приближения реального управляемого процесса к требуемому [1]. Тестирование данного функционала является одной из основных задач перед внедрением микроконтроллера на объект, так как основное предназначение данного устройства — мониторинг и контроль над процессами, по результатам которых определяется качество работы системы регулирования. Это</p>
			<p>2. Инструментальная среда конфигурирования промышленных контроллеров</p>
			<p>Существенной и неотъемлемой частью всякого микроконтроллера является присутствие в его составе устройств ввода-вывода. Указанные устройства на каналах связи с объектом характеризуются параметрами, которые будут использованы на конкретном объекте управления, а на каналах связи с ПЛК </p>
			<p>—</p>
			<p>Соответственно выходные сигналы с микроконтроллера передаются на исполнительные механизмы, воздействующие на объект управления с целью изменения его конфигурации. К таким объектам можно отнести электромагнитные реле, усилители мощности, коммутирующие устройства, муфты, пневмо- и гидрозолотники и т.п., а также различные устройства индикации, световые сигналы, табло, отражающие состояние объекта.</p>
			<p>Для занесения программ в микроконтроллер для управления конкретным объектом необходимы специальные устройства, которые в общем случае могут не являться неотъемлемой частью ПЛК и использоваться только в момент внесения программой информации, т.е. быть переносным.</p>
			<p>Коды программ для поканальной диагностики, представленные далее в работе, были написаны в Системе разработки Unimod PRO версия 2 </p>
			<p>[2][3][4]</p>
			<p>• </p>
			<p>ST — структурированный текст;</p>
			<p>• </p>
			<p>FBD — функциональные блоковые диаграммы;</p>
			<p>• </p>
			<p>LD — релейно-контактная логика.</p>
			<p>Основные функциональные возможности системы разработки Unimod PRO:</p>
			<p>• </p>
			<p>настройка основных параметров системы;</p>
			<p>• </p>
			<p>создание и редактирование прикладного программного обеспечения;</p>
			<p>• </p>
			<p>загрузка и выгрузка проектов;</p>
			<p>• </p>
			<p>отладка прикладной программы;</p>
			<p>• </p>
			<p>мониторинг работы контроллера.</p>
			<p>Система разработки включает в себя набор компонентов для обеспечения процесса подготовки исходного кода технологической программы, описания связей переменных с их физическими представлениями, компиляции, загрузки и отладки приложения. Технологическое приложение компилируется в системно-независимый код, который загружается через сеть Ethernet на целевую платформу контроллера TREI-5B для исполнения.</p>
			<p>Программное обеспечение </p>
			<p>Unimod PRO версия 2 является полностью отечественным, совместимое с ОС Astra Linux и ОС Windows. Unimod PRO версия 2 соответствует требованиям безопасности информации по шестому уровню доверия для защиты информации не содержащих государственную тайну и средствам обеспечения безопасности информационных технологий.</p>
			<p>3. Постановка задачи и ее реализация</p>
			<fig id="F1">
				<label>Figure 1</label>
				<caption>
					<p>Алгоритм действий при отладке канала аналогового ввода</p>
				</caption>
				<alt-text>Алгоритм действий при отладке канала аналогового ввода</alt-text>
				<graphic ns0:href="/media/images/2025-09-15/9ba1d528-daa9-4a9f-9725-bbb643a3b66a.jpg"/>
			</fig>
			<p>Перейдем к нашей задаче — проверим на заданную точность канал аналогового входа микроконтроллера. </p>
			<p> </p>
			<p>1. Вначале запускается программа-ловушка 1 отслеживающая выставленные коды ошибок за определенный промежуток времени в библиотечной структуре модуля M135A “Поканальная диагностика”. Программа написана на языке ST для каналов аналогового микроконтролера M135A. Это модуль аналогового ввода тока и напряжения с каналами с общей точкой. Режим работы 4-20 мА.</p>
			<p>Проводим поканальную диагностику, чтобы во время замера тока на канале «не пролетела» ошибка. Список нештатных ситуаций указан в руководстве по эксплуатации устройства </p>
			<fig id="F2">
				<label>Figure 2</label>
				<caption>
					<p>Список нештатных ситуаций контроллера TREI-5B</p>
				</caption>
				<alt-text>Список нештатных ситуаций контроллера TREI-5B</alt-text>
				<graphic ns0:href="/media/images/2025-09-15/2f038ede-cf7f-46eb-92fd-7facb63eab78.jpg"/>
			</fig>
			<p>[5]</p>
			<p>После подачи на канал токовой нагрузки собираем в массив коды поканальной диагностики в течение 3 минут в каждом цикле мастера (в нашем случае это примерно 5–6 мс) и проверяем, чтобы в поканальной диагностике выставился код 0 — «нет ошибок» и ничего кроме этого. </p>
			<p>Код программы 1 имеет вид (рис. 3):</p>
			<fig id="F3">
				<label>Figure 3</label>
				<caption>
					<p>Код программы 1</p>
				</caption>
				<alt-text>Код программы 1</alt-text>
				<graphic ns0:href="/media/images/2025-03-31/e60a0593-f00b-4654-bc2a-6eaf92acfc81.jpg"/>
			</fig>
			<p>Результат работы программы 1</p>
			<p>Видим (рис. 4), что четные элементы массива — значение тока на канале, а нечетные — поканальная диагностика канала. Изначально на устройство не подавалась нагрузка, т.е. был выставлен код 4 — обрыв, после того, как на канал подключили калибратор с выходным сигналом 4 мА в поканальной диагностике выставился код 0 — нет ошибок.</p>
			<fig id="F4">
				<label>Figure 4</label>
				<caption>
					<p>Результат работы программы 1</p>
				</caption>
				<alt-text>Результат работы программы 1</alt-text>
				<graphic ns0:href="/media/images/2025-03-31/16068353-b31f-4dba-9c34-2dcfff32eb7e.jpg"/>
			</fig>
			<p>Параллельно запускаем программу 2, контролирующую точность канала модуля M135A [6], при подаче токового значения с активного задатчика (калибратор). Задаем 20 мА, время замера — 3 минуты.</p>
			<p>Эта проверка необходима, чтобы убедиться в том, что канал ввода удовлетворяет заданной точности [1]. Например, у канала, который мы рассматриваем, тип — AI.0-20 mA и в паспорте (табл. 1) устройства мы заявляем, что у данного аналогового канала ввода точность ±0,016 мА. Это необходимо, так как устройство поставляется заводом-изготовителем с сертификатом или паспортом, где указана его поверенная точность.</p>
			<p>Код программы представлен на рисунке 5.</p>
			<table-wrap id="T1">
				<label>Table 1</label>
				<caption>
					<p>Технические характеристики модуля М135А</p>
				</caption>
				<table>
					<tr>
						<td>Параметр</td>
						<td>Значение</td>
					</tr>
					<tr>
						<td>Количество каналов</td>
						<td>8</td>
					</tr>
					<tr>
						<td>Тип канала</td>
						<td>AI.0-20 mA</td>
						<td>AI.4-20 mA</td>
						<td>AI.0-10V</td>
					</tr>
					<tr>
						<td>Диапазон измерений</td>
						<td>от 0 до 20 mA</td>
						<td>от 4 до 20 mA</td>
						<td>от 0 до 10 В</td>
					</tr>
					<tr>
						<td>Контроль обрыва внешней линии</td>
						<td>–</td>
						<td>Есть, не менее 3,6 mA</td>
						<td>–</td>
					</tr>
					<tr>
						<td>Перегрузка</td>
						<td>20,5 mA</td>
						<td>10,5 В</td>
					</tr>
					<tr>
						<td>дополнительной приведенной, % / 10°С</td>
						<td>±0,05 </td>
					</tr>
				</table>
			</table-wrap>
			<fig id="F5">
				<label>Figure 5</label>
				<caption>
					<p>Код программы 2</p>
				</caption>
				<alt-text>Код программы 2</alt-text>
				<graphic ns0:href="/media/images/2025-03-31/d8044a6c-88c0-4c55-883a-d641dce0e79b.jpg"/>
			</fig>
			<p>Результат работы программы 2</p>
			<p>В двумерный массив Rez_mass[8,3] помещаются данные, считанные с каналов модуля. У данного устройства 8 аналоговых входов, ток с калибратора задан на 1 канал. Rez_mass[0,0] — значение считанное с канала в текущий момент, Rez_mass[0,1] — минимальное значение за 3 минуты, Rez_mass[0,2] — максимальное значение за 3 минуты.</p>
			<p>Выполним расчет, взяв полученные данные (рис. 6).</p>
			<fig id="F6">
				<label>Figure 6</label>
				<caption>
					<p>Данные для расчета погрешности</p>
				</caption>
				<alt-text>Данные для расчета погрешности</alt-text>
				<graphic ns0:href="/media/images/2025-03-31/02a33bf0-e97f-48e2-992b-8597a0de4891.jpg"/>
			</fig>
			<p>Delta = Rez_mass[0,2] – Rez_mass[0,1] за промежуток времени равный 3 минутам.</p>
			<p>Delta = 19,99948 – 19,99894 = 0,00054.</p>
			<p>У канала есть допуск погрешности [7], [8], в данном случае это 0,016 мА, т.е. на этом канале мы уложились в погрешность:</p>
			<p>Delta = 0,00054 &lt; 0,016.</p>
			<p>В случае неудовлетворительного результата программист-разработчик исправляет неточность в полученных значениях внесением поправочных коэффициентов в конфигурацию ПЛК или самого модуля через специализированное ПО.</p>
			<p>С помощью разработанного алгоритма (рис. 1) и соответствующего ему программному обеспечению мы проверили один из важнейших функционалов данного устройства, которое тестируется на стадии производства заводом-изготовителем устройства с целью проверки соответствия ТУ и проверки качества выполненной первичной калибровки. Алгоритм проверки также применим в эксплуатационных условиях инженером КИПиА для проверки монтажа, периодического контроля, поиска неисправностей.</p>
			<p>Таким образом, проверка точности — это не разовое действие, а многоэтапный процесс, обеспечивающий работу системы автоматизации на протяжении всего жизненного цикла оборудования.</p>
			<p>4. Заключение</p>
			<p>Реализация систем управления на базе программируемых логических контроллеров является эффективным решением для автоматизации процессов в различных отраслях промышленности [9]. Благодаря гибким настройкам и возможностям программирования  позволяют создавать сложные управляющие системы, обеспечивая стабильную и точную работу оборудования. Однако внедрение таких систем управления требует предварительной оценки точности канала ввода для обеспечения требуемых показателей качества системы. Алгоритм, иллюстрирующий возможности программы оценки точности, был продемонстрирован в работе и может в дальнейшем использоваться при тестировании микроконтроллеров.</p>
		</sec>
		<sec sec-type="supplementary-material">
			<title>Additional File</title>
			<p>The additional file for this article can be found as follows:</p>
			<supplementary-material xmlns:xlink="http://www.w3.org/1999/xlink" id="S1" xlink:href="https://doi.org/10.5334/cpsy.78.s1">
				<!--[<inline-supplementary-material xlink:title="local_file" xlink:href="https://itech.cifra.science/media/articles/19149.docx">19149.docx</inline-supplementary-material>]-->
				<!--[<inline-supplementary-material xlink:title="local_file" xlink:href="https://itech.cifra.science/media/articles/19149.pdf">19149.pdf</inline-supplementary-material>]-->
				<label>Online Supplementary Material</label>
				<caption>
					<p>
						Further description of analytic pipeline and patient demographic information. DOI:
						<italic>
							<uri>https://doi.org/10.60797/itech.2026.9.3</uri>
						</italic>
					</p>
				</caption>
			</supplementary-material>
		</sec>
	</body>
	<back>
		<ack>
			<title>Acknowledgements</title>
			<p/>
		</ack>
		<sec>
			<title>Competing Interests</title>
			<p/>
		</sec>
		<ref-list>
			<ref id="B1">
				<label>1</label>
				<mixed-citation publication-type="confproc">Архипов А. Настройка и проверка измерительных каналов ПЛК / А. Архипов // Control Engineering Россия. — 2023. — № 4 (103). — С. 19–23.</mixed-citation>
			</ref>
			<ref id="B2">
				<label>2</label>
				<mixed-citation publication-type="confproc">Unimod Pro. Руководство пользователя // Сайт компании АО «ТРЭИ». — 2022. — 275 с. — URL: https://trei.biz/upload/iblock/677/bczzm9zzambqerq8y2s2opsv74st96nw/TREI_UNIMOD_USER.pdf (дата обращения: 31.03.2025).</mixed-citation>
			</ref>
			<ref id="B3">
				<label>3</label>
				<mixed-citation publication-type="confproc">Программируемые контроллеры управления TREI-5B // Сайт компании АО «ТРЭИ». — 2024. — URL: https://trei.biz/produktsiya/programmiruemye-kontrollery-upravleniya-trei-5b/ (дата обращения: 31.03.2025).</mixed-citation>
			</ref>
			<ref id="B4">
				<label>4</label>
				<mixed-citation publication-type="confproc">Зюбин В.Е. Перспективные модификации языка ST из состава МЭК 61131-3 / В.Е. Зюбин // Промышленные АСУ и контроллеры. — 2009. — № 4. — С. 19–22.</mixed-citation>
			</ref>
			<ref id="B5">
				<label>5</label>
				<mixed-citation publication-type="confproc">Руководства по эксплуатации и инструкции контроллеров TREI // Сайт компании АО «ТРЭИ». — 2025. — URL: https://trei.biz/tekhnicheskaya-podderzhka/dokumentatsiya.html (дата обращения: 31.03.2025).</mixed-citation>
			</ref>
			<ref id="B6">
				<label>6</label>
				<mixed-citation publication-type="confproc">Module M135A // Сайт компании &quot;Эталон&quot;. — 2025. — URL: https://www.etalonpribor.ru/catalog/elektroizmeritelnye-pribory/product/m135-a_932 /?ysclid=m8woczsros631535399 (дата обращения: 31.03.2025).</mixed-citation>
			</ref>
			<ref id="B7">
				<label>7</label>
				<mixed-citation publication-type="confproc">Кравчеко А.Н. Оценка погрешности информационных каналов систем управления / А.Н. Кравчеко, И.Н. Белоглазов, Э.Д. Кадыров // Записки Горного института. — 2006. — Т. 169. — С. 137–139.</mixed-citation>
			</ref>
			<ref id="B8">
				<label>8</label>
				<mixed-citation publication-type="confproc">Цитович Б.В. Выбор допустимой погрешности измерений / Б.В. Цитович // Метрология, стандартизация и управление качеством : cборник научных трудов Республиканского научно-практического семинара «Метрология, стандартизация и управление качеством. Гармонизация деятельности в различных сферах интегрированной системы &quot;Образование – наука – производство&quot;». — Минск : БНТУ, 2004. — С. 18–31. — URL: https://rep.bntu.by/bitstream/handle/data/4055/18-31.pdf?sequence=1&amp;amp;ysclid=m8wuv1sw5z379274581 (дата обращения: 31.03.2025).</mixed-citation>
			</ref>
			<ref id="B9">
				<label>9</label>
				<mixed-citation publication-type="confproc">Суворов А.Н. Построение распределенных информационно-управляющих систем / А.Н. Суворов // Автоматизация и IT в энергетике. — 2017. — № 2 (91). — С. 46–49.</mixed-citation>
			</ref>
		</ref-list>
	</back>
	<fundings/>
</article>