Однокристальные микроконтроллеры

Если к контроллеру предъявляются особенные требования, такие, как работа в условиях тряски, расширенном диапазоне температур, воздействия агрессивных сред. Этим требованиям не могут удовлетворить даже промышленные варианты универсального компьютера. Приходится вести разработку контроллеров на основе однокристальных ЭВМ, которые в свою очередь получили название микроконтроллеры.

Наиболее распространёнными в настоящее время являются микроконтроллеры семейства MCS-51. Это семейство поддерживается рядом фирм – производителей микросхем. Не менее распространёнными в мире являются микроконтроллеры фирмы Motorola. Это такие семейства как HC05, HC07, HC11 и многие другие. Не менее популярными микроконтроллерами являются микроконтроллеры семейства AVR фирмы Atmel. Одно перечисление семейств микроконтроллеров может занять несколько страниц текста, поэтому ограничимся приведёнными семействами восьмиразрядных микроконтроллеров.

В настоящее время среди всех 8-разрядных микроконтроллеров – семейство MCS-51 является несомненным чемпионом по количеству разновидностей и количеству компаний, выпускающих его модификации. Оно получило свое название от первого представителя этого семейства – микроконтроллера 8051, выпущенного в 1980 году на базе технологии n -МОП. Удачный набор периферийных устройств, возможность гибкого выбора внешней или внутренней программной памяти и приемлемая цена обеспечили этому микроконтроллеру успех на рынке. С точки зрения технологии микроконтроллер 8051 являлся для своего времени очень сложным изделием – в кристалле было использовано
128 тыс. транзисторов, что в 4 раза превышало количество транзисторов в 16-разрядном микропроцессоре 8086.


Важную роль в достижении такой высокой популярности семейства 8051 сыграла открытая политика фирмы Intel, родоначальницы архитектуры, направленная на широкое распространение лицензий на ядро 8051 среди большого количества ведущих полупроводниковых компаний мира.

В результате на сегодняшний день существует более 200 модификаций микроконтроллеров семейства 8051, выпускаемых почти 20-ю компаниями. Эти модификации включают в себя кристаллы с широчайшим спектром периферии: от простых 20‑выводных устройств с одним таймером и 1К программной памяти до сложнейших 100-выводных кристаллов с 10‑разрядными АЦП, массивами таймеров-счетчиков, аппаратными 16-разрядными умножителями и 64К программной памяти на кристалле. Каждый год появляются все новые варианты представителей этого семейства. Основными направлениями развития являются: увеличение быстродействия (повышение тактовой частоты и переработка архитектуры), снижение напряжения питания и потребления, увеличение объема ОЗУ и FLASH памяти на кристалле с возможностью внутрисхемного программирования, введение в состав периферии микроконтроллера сложных устройств типа системы управления приводами, CAN и USB интерфейсов и т.п.

Микросхемы для этого семейства производятся целым рядом фирм различных стран мира таких как Philips, Siemens, Intel, Atmel, Dallas, Temic, Oki, AMD, MHS, Gold Star, Winbond, Silicon Systems и ряд других (таблица 5.1). Микроконтроллеры семейства MCS 51 выпускают и российские заводы
(таблица 5.2).

Архитектура семейства MCS-51 в значительной мере предопределяется ее назначением – построение компактных и дешевых цифровых устройств. Все функции микроЭВМ реализуются с помощью единственной микросхемы. В состав семейства
MCS-51 входит целый ряд микросхем от самых простых микроконтроллеров до достаточно сложных. Микроконтроллеры семейства MCS-51 позволяют выполнять как задачи управления различными устройствами, так и реализовывать отдельные узлы аналоговой схемы. Все микросхемы этого семейства работают с одной и той же системой команд, большинство из них выполняется в одинаковых корпусах с совпадающей нумерацией выводов для корпуса. Это позволяет использовать для разработанного устройства микросхемы разных фирм – производителей (таких как Intel, Dallas, Atmel, Philips и т.д.) без переделки принципиальной схемы устройства и программы.

Таблица 5.1

Микросхемы, производимые зарубежными фирмами

Микроконтроллер ОЗУ ПЗУ EEPROM SPI Таймеры PCA PCA1 АЦП
AT89C1051 128 байт 1К байт - -   - - комп
AT89C2051 128 байт 2К байт - -   - - комп
I8051 128 байт 4К байт - -   - - -
I8031 128 байт - - -   - - -
I8Х52 256 байт 8К байт - -   - - -
AT89c52 256 байт 8К байт - -   - - -
AT89с8252 256 байт 8К байт 2K байт +   - - -
AT89c55 256 байт 20К байт - -   - - -
I8Х54 256 байт 16К байт - -   - - -
I8Х58 256 байт 32К байт - -   - - -
I8Х51FA 128 байт 8К байт - -   + - -
I8Х51FB 256 байт 16К байт - -   + - -
I8Х51FC 256 байт 32К байт - -   + - -
I8Х51GB 256 байт 8К байт - +   + + +

Примечание: вместо символа 'X' в названии микроконтроллера должны стоять символы: 0 – n -МОП без ПЗУ; 3 – n -МОП с ПЗУ; 7 – n -МОП с РПЗУ; 0с – КМОП без ПЗУ; 3с – КМОП с ПЗУ; 7с – КМОП с РПЗУ; 9с – КМОП с FLASH

Таблица 5.2

Микросхемы российского производства

Микроконтроллер ОЗУ ПЗУ ППЗУ Таймер 2 PCA PCA1 АЦП
КР1816ВЕ51 128 байт 4К байт - - - - -
КР1816ВЕ751 128 байт - 4К байт - - - -
КР1816ВЕ31 128 байт - - - - - -
КР1830ВЕ51 128 байт 4К байт - - - - -
КР1830ВЕ751 128 байт - 4К байт - - - -
КР1830ВЕ31 128 байт - - - - - -

Примечание: серия микросхем 1816 выполнена по n-МОП технологии; серия микросхем 1830 выполнена по КМОП технологии

Структурная схема контроллера представлена на рис. 5.4 и состоит из следующих основных функциональных узлов: блока управления, арифметико-логического устройства, блока таймеров/счетчиков, блока последовательного интерфейса и прерываний, программного счетчика, памяти данных и памяти программ. Двусторонний обмен осуществляется с помощью внутренней
8-разрядной магистрали данных. Рассмотрим подробнее назначение каждого блока. По такой схеме построены практически все представители семейства MCS-51. Различные микросхемы этого семейства различаются только регистрами специального назначения (в том числе и количеством портов). Система команд всех контроллеров семейства MCS-51 содержит 111 базовых команд с форматом 1 – 3 байта и не изменяется при переходе от одной микросхемы к другой. Это обеспечивает прекрасную переносимость программ с одной микросхемы на другую.

Рис 5.4. Структурная схема контроллера К1830ВЕ751

Блок управления и синхронизации (Timing and Control) предназначен для выработки синхронизирующих и управляющих сигналов, обеспечивающих координацию совместной работы блоков ОЭВМ во всех допустимых режимах ее работы. В состав блока управления входят: устройство формирования временных интервалов; логика ввода-вывода; регистр команд; регистр управления потреблением электроэнергии; дешифратор команд, логика управления ЭВМ.

Устройство формирования временных интервалов предназначено для формирования и выдачи внутренних синхросигналов фаз, тактов и циклов. Количество машинных циклов определяет продолжительность выполнения команд. Практически все команды ОЭВМ выполняются за один или два машинных цикла, кроме команд умножения и деления, продолжительность выполнения которых составляет четыре машинных цикла. Обозначим частоту задающего генератора через F г. Тогда длительность машинного цикла равна 12/ F г или составляет 12 периодов сигнала задающего генератора. Логика ввода-вывода предназначена для приема и выдачи сигналов, обеспечивающих обмен
информации с внешними устройствами через порты
ввода-вывода Р0-Р3.

Регистр команд предназначен для записи и хранения 8-ми разрядного кода операции выполняемой команды. Код операции, с помощью дешифратора команд и логики управления ЭВМ, преобразуется в микропрограмму выполнения команды.

Регистр управления потреблением (PCON) позволяет останавливать работу микроконтроллера для уменьшения потребления электроэнергии и уменьшения уровня помех от микроконтроллера. Еще большего уменьшения потребления электроэнергии и уменьшения помех можно добиться, остановив задающий генератор микроконтроллера. Этого можно достичь при помощи переключения бит регистра управления потреблением PCON. Для варианта изготовления по технологии n -МОП (серия 1816 или иностранных микросхем, в названии которых в середине отсутствует буква 'c') регистр управления потреблением PCON содержит только один бит, управляющий скоростью передачи последовательного порта SMOD, а биты управления потреблением электроэнергией отсутствуют.

Арифметико-логическое устройство (ALU) представляет собой параллельное восьмиразрядное устройство, обеспечивающее выполнение арифметических и логических операций. АЛУ состоит из: регистров аккумулятора, регистров временного хранения TMP1 и TMP2; ПЗУ констант; сумматора; дополнительного регистра (регистра В); аккумулятора (ACC); регистра состояния программ (PSW).

Регистр аккумулятор и регистры временного хранения – восьмиразрядные регистры, предназначенные для приема и хранения операндов на время выполнения операций над ними. Эти регистры программно не доступны.

ПЗУ констант обеспечивает выработку корректирующего кода при двоично-десятичном представлении данных, кода маски при битовых операциях и кода констант.

Параллельный восьмиразрядный сумматор представляет собой схему комбинационного типа с последовательным переносом, предназначенную для выполнения арифметических операций сложения, вычитания и логических операций сложения, умножения, неравнозначности и тождественности.

Регистр B – восьмиразрядный регистр, используемый во время операций умножения и деления. Для других инструкций он может рассматриваться как дополнительный сверхоперативный регистр.

Аккумулятор – восьмиразрядный регистр, предназначенный для приема и хранения результата, полученного при выполнении арифметико-логических операций или операций сдвига

Блок последовательного интерфейса и прерываний (ПИП) предназначен для организации ввода-вывода последовательных потоков информации и организации системы прерывания программ. В состав блока входят: буфер ПИП; логика управления; регистр управления; буфер передатчика; буфер приемника; приемопередатчик последовательного порта; регистр приоритетов прерываний; регистр разрешения прерываний; логика обработки флагов прерываний и схема выработки вектора.

Счетчик команд (Program Counter) предназначен для формирования текущего 16-разрядного адреса внутренней памяти программ и 8/16-разрядного адреса внешней памяти программ. В состав счетчика команд входят 16-разрядные буфер РС, регистр РС и схема инкремента (увеличения содержимого на 1).

Память данных (RAM) предназначена для временного хранения информации, используемой в процессе выполнения программы.

Порты P0, P1, P2, P3 являются квазидвунаправленными портами ввода-вывода и предназначены для обеспечения обмена информацией ОЭВМ с внешними устройствами, образуя 32 линии ввода-вывода.

Регистр состояния программы (PSW) предназначен для хранения информации о состоянии АЛУ при выполнении программы.

Память программ (EPROM) предназначена для хранения программ и представляет собой постоянное запоминающее устройство (ПЗУ). В разных микросхемах применяются масочные, стираемые ультрафиолетовым излучением или FLASH ПЗУ.

Регистр указателя данных (DPTR) предназначен для хранения 16-разрядного адреса внешней памяти данных или памяти программ.

Указатель стека (SP) представляет собой восьмиразрядный регистр, предназначенный для организации особой области памяти данных (стека), в которой можно временно сохранить любую ячейку памяти.

5.1.6. Программируемые
логические контроллеры

Микро-ЭВМ дали толчок совершенствованию управляющего оборудования: они заменяют аналоговые регуляторы даже в одноконтурных системах управления. Сконструированы иерархические системы управления с большим количеством микропроцессоров и спроектированы регуляторы специального назначения на базе микро-ЭВМ.

Программируемые логические контроллеры (ПЛК) по большей части ориентированы на реализацию логических функций в реальном масштабе времени, нежели арифметических операций и используются, как правило, вместо релейных схем управления, т. е. для управления схемами электроавтоматических устройств технологических объектов. Контроллеры, выполненные на основе реле или микросхем с «жесткой» логикой, невозможно настроить на другую работу без существенной переделки. Очевидно, что такой возможностью обладают только ПЛК. Идея создания ПЛК родилась практически сразу с появлением микропроцессора. Таким образом, ПЛК реализуют всевозможные функции командоаппаратов и создаются на базе микропроцессоров. Возможность применения ПЛК в качестве универсального локального устройства управления всевозможными технологическими процессами достигается путем внесения в ПЛК программы, определяющей алгоритм работы конкретного объекта управления без изменения его электрической структуры. Таким образом, ориентация ПЛК, как устройства общего назначения, в какой-либо области применения, достигается благодаря соответствующему программированию.

Физически, типичный ПЛК представляет собой блок, имеющий определенный набор выходов и входов, для подключения датчиков и исполнительных механизмов (рис. 5.5). Логика управления описывается программно на основе микрокомпьютерного ядра. Аппаратная реализация входов и выходов ПЛК ориентирована на сопряжение с унифицированными приборами и мало подвержена изменениям.

Рис. 5.5. Принцип работы ПЛК

Программируемые логические контроллеры реализуют относительно простые функции управления и обладают рядом важных особенностей. Первая из них заключается в том, что циклы непрерывно повторяются в режиме управления объектом. Циклы состоят из отдельных фраз следующего содержания: запоминание состояния узлов объекта (опрос выходов), переработки данных совместно с данными новой фразы и выдачи управляющих сигналов на исполнительные органы. Запоминание состояния объекта управления в данный момент времени реализуется вводом в соответствующие ячейки памяти сигналов опроса состояния объекта (получение ответов от соответствующих аппаратов). Вторая особенность ПЛК заключается в том, что для программирования используют простейшие специализированные языки программирования или языки символического задания алгоритмов управления, описывающие например релейно-контактные схемы. Третьей особенностью ПЛК является то, что они могут функционировать без постоянного обслуживающего персонала в процессе эксплуатации.

На рис. 5.6 представлена обобщенная структурная схема ПЛК, в который входят различные устройства. В состав ПЛК, как минимум, входят центральный логический процессор (ЦЛП) с устройством управления, оперативная память, программная панель настройки и загрузки управляющей программы и устройство связи с объектом управления. ЦЛП обеспечивает логическую обработку поступающей информации в соответствии с записанной программой в памяти программы и моделирует конкретную релейную схему.

Рис. 5.6. Структурная схема ПЛК

Устройство управления логического процессора опрашивает все входы и выходы блока регистров, производит логическое сравнение состояния входов и выходов и по результатам сравнения включает или выключает те или иные исполнительные органы через схему устройства связи с объектом управления. Микроконтроллер с помощью программного таймера и счетчика последовательно, строка за строкой, опрашивает (сканирует) память программ и с помощью ЦЛП производит вычисления логических функций согласно уравнениям, поступающим из памяти программ, и заносит вычисленные значения в память данных. После того, как опрос памяти окончился, устройство управления микроконтроллера выполняет обмен данными между входными и выходными регистрами блока регистров и памятью данных. Затем опрос памяти программ повторяется от начала до конца. Таким образом, опрос памяти программ и обмен данными периодически повторяется в процессе управления. Однократный проход логического процессора по всей программе называют циклом полного опроса (сканирование) памяти, а время, в течение которого этот цикл исполняется, – временем цикла. Оно характеризует быстродействие микроконтроллера.

Принято различать системы жесткого и мягкого реального времени. В системах жесткого реального времени существует выраженный временной порог. При его превышении наступают необратимые катастрофические последствия. В системах мягкого реального времени характеристики системы ухудшаются с увеличением времени управляющей реакции. Система может работать плохо или еще хуже, но ничего катастрофического при этом не происходит.

Для математических систем характеристикой качества работы является правильность найденного решения. В системах реального времени помимо правильности решения определяющую роль играет время реакции. Логически верное решение, полученное с задержкой более допустимой, не является приемлемым.

В некоторых случаях ограничением служит не время реакции на событие, а обязательность его фиксации, например работа с датчиками, формирующими импульсы малой длительности. Это ограничение преодолевается специальной конструкцией входов. Так, счетный вход позволяет фиксировать и подсчитывать импульсы с периодом во много раз меньшим времени рабочего цикла ПЛК. Специализированные интеллектуальные модули в составе ПЛК позволяют автономно отрабатывать заданные функции, например модули управления сервоприводом.

В современных ПЛК широко используются аналоговые входы и выходы. Аналоговый или непрерывный сигнал отражает уровень напряжения или тока, соответствующий некоторой физической величине в каждый момент времени. Этот уровень может относиться к температуре, давлению, весу, положению, скорости, частоте и т. д. Аналоговые входы контроллеров могут иметь различные параметры и возможности. Так, к их параметрам относятся: разрядность АЦП, диапазон входного сигнала, время и метод преобразования, несимметричный или дифференциальный вход, уровень шума и нелинейность, возможность автоматической калибровки, программная или аппаратная регулировка коэффициента усиления, фильтрация. Особые классы аналоговых входов представляют входы, предназначенные для подключения термометров сопротивления и термопар. Здесь требуется применение специальной аппаратной поддержки (трехточечное включение, источники образцового тока, схемы компенсации холодного спая, схемы линеаризации и т. д.).

В сфере применения ПЛК бинарные входы и выходы называют обычно дискретными. Аналоговые сигналы в ПЛК преобразуются в цифровую. Помимо стандартных дискретных и аналоговых входов-выходов ПЛК могут иметь специализированные входы-выходы. Они ориентированы на работу с конкретными специфическими датчиками, требующими определенных уровней сигналов, питания и специальной обработки. Например, квадратурные шифраторы, блоки управления шаговыми двигателями, интерфейсы дисплейных модулей и т. д.

Контроллеры традиционно работают в нижнем звене автоматизированных систем управления предприятием (АСУ) – систем, непосредственно связанных с технологией производства (рис. 5.7). ПЛК обычно являются первым шагом при построении систем АСУ. Это объясняется тем, что возникает необходимость автоматизации отдельного механизма. Она дает быстрый экономический эффект, улучшает качество производства, позволяет избежать физически тяжелой и рутинной работы.

Рис. 5.7. Место ПЛК в АСУ ТП

В комплекс программирования ПЛК входит ОРС-сервер. Его задача получать доступ к данным ПЛК также прозрачно, как и отладчик. Достаточно обеспечить канал передачи данных ПЛК – ОРС-сервер. Вся дальнейшая работа сводится к определению списка доступных переменных, правильной настройке сети, конфигурированию ОРС-сервера и SCADA-системы. В целом, операция очень напоминает настройку общедоступных устройств локальной сети ЭВМ.

Второй часто возникающей задачей является интеграция нескольких ПЛК с целью синхронизации их работы. Здесь появляются сети, обладающие рядом специфических требований. В целом это требования, аналогичные требованиям к ПЛК: режим реального времени, надежность в условиях промышленной среды, ремонтопригодность, простота программирования. Такой класс сетей получил название промышленных сетей (fieldbus). Существует масса фирменных реализаций и достаточно много стандартов таких сетей (Bitbus, Modbus, Profibus, CANopen,
DeviceNen, которые в дальнейшем будут подробно рассмотрены), позволяющих интегрировать аппаратуру различных фирм, но ни один из них нельзя признать доминирующим.

Фирма ОВЕН выпускает программируемые логические контроллеры (рис. 5.8) в виде трех основных модификаций ПЛК100, ПЛК150, ПЛК154: программируемый логический контроллер ОВЕН ПЛК100 имеет 8 дискретных входов 6 или 12 дискретных выходов (6 электромагнитных реле или 12 транзисторных ключей); программируемый логический контроллер ОВЕН ПЛК150 имеет 6 дискретных входов 4 аналоговых универсальных (4...20 мА, 0...10 В) входа 4 дискретных выхода на основе электромагнитных реле 2 аналоговых универсальных (4...20 мА, 0...10 В) выхода; программируемый логический контроллер ОВЕН ПЛК154 имеет 4 дискретных входа 4 аналоговых входа (универсальных) 4 дискретных выхода (электромагнитных реле) 4 аналоговых выхода.

Любой дискретный вход ПЛК может быть настроен для работы с импульсными сигналами частотой до 10 кГц. Дискретный вход может функционировать в режиме импульсного счетчика, триггера или энкодера (максимальная частота для энкодера 1 кГц), а также в нескольких режимах одновременно. Для ОВЕН ПЛК возможны два варианта исполнения по типу дискретных выходов. По заказу в контроллер могут быть установлены либо электромагнитных реле (ПЛК содержит в обозначении символ «Р»), либо транзисторные ключи, выдающих логический сигнал 24 В для управления внешними силовыми реле или иными устройствами (ПЛК содержит в обозначении символ «К»). Любой дискретный выход контроллеров ОВЕН ПЛК может быть настроен на выдачу ШИМ-сигнала, генерируемого с высокой точностью, с периодом до 100 мс (для выхода «К»).

Аккумулятор, используемый для питания часов реального времени, дополнительно используется как источник аварийного питания микропроцессора контроллера. При случайном отключении основного питания контроллер переходит на аварийное питание и сохраняет промежуточные результаты вычислений и работоспособность интерфейсов Ethernet и Debug RS-232 в течение 10 минут. Светодиодная индикация и выходные элементы контроллера при этом не запитываются и не функционируют. При включении основного питания во время работы на аварийном питании контроллер сразу приступает к выполнению пользовательской программы, нетратя время на загрузку и сохраняя все промежуточные результаты вычислений.

Рис. 5.8. Схема подключения питания, входов и выходов к ПЛК150

После 10 мин. работы на аварийном питании контроллер записывает Retain-переменные в энергонезависимую память и отключается. Часы реального времени остаются в рабочем состоянии. После включения основного питания контроллер загружается и запускает программу пользователя (если установлена опция автозапуска). Время работы от аварийного источника питания может быть автоматически скорректировано самим контроллером в зависимости от степени зарядки аккумулятора и температуры окружающей среды.

Контроллеры ОВЕН ПЛК обладают высокой производительностью благодаря применению быстродействующего 32‑битного микропроцессора RISC-архитектуры с тактовой частотой
200 МГц на базе ядра ARM9. Большой объем внутренней памяти и малый цикл ОВЕН ПЛК позволяет производить вычисления и составлять пользовательские программы для быстротекущих процессов или объектов высокого уровня сложности. Специальная прошивка микроконтроллера ПЛК, которая дает возможность применения контроллеров ОВЕН в системах удаленной диспетчеризации: работать совместно с любыми модемами, поддерживающими стандартные АТ-команды; работать в сетях GSM и телефонных сетях общего пользования; работать в глобальной сети Интернет; устанавливать связи с удаленным диспетчерским пунктом в случае аварийной ситуации; архивировать данные и передавать архивы по запросу диспетчера.

Программирование ПЛК осуществляется с помощью среды, выполненной на основе ядра CoDeSys. Для ОВЕН ПЛК в CoDeSys созданы следующие модули: модули входов-выходов; модули сетевых устройств и сетевых протоколов; модуль архивирования данных и результатов вычислений; модуль констант; модуль статистики (состояния ПЛК). Программирование и перепрошивка контроллера осуществляется по интерфейсам RS-232 или Ethernet, для ПЛК100 возможно также по USB. При этом подключение контроллера к ПК производится стандартным кабелем или кабелем, входящим в комплект поставки. Контроллеры ОВЕН ПЛК позволяют организовать шлюз между приборами с протоколом ОВЕН (RS-485) и промышленными сетями с протоколами Modbus, Modbus-TCP, DCON. Пользователь имеет возможность реализовать в среде программирования CoDeSys собственный протокол, не поддерживаемый ОВЕН ПЛК. В этом случае он может воспользоваться специальной библиотекой, которая открывает низкоуроневый доступ к последовательным портам ОВЕН ПЛК (библиотека входит в комплект поставки контроллера). Установка связи с контроллером возможна по интерфейсам Ethernet, Debug RS-232 и USB-Device. При установке связи по интерфейсу USB-Device на компьютере предварительно необходимо установить драйвер, создающий виртуальный СОМ‑порт, через который будут передаваться данные в среду CoDeSys. Подключение интерфейса RS-485 выполняется по двухпроводной схеме. Подключение производить при отключенном напряжении питания всех устройств сети RS-485. Длина линии связи должна быть не более 1000 метров. Подключение следует осуществлять витой парой проводов, соблюдая полярность. Подключение интерфейса RS-232 осуществляется стандартным модемным или нуль-модемным кабелем в зависимости от ответного разъема подключаемого устройства. Подключение необходимо производить при отключенном напряжении питания ПЛК и персонального компьютера. Длина кабеля не должна превышать трех метров.

Контроллер ОВЕН ПЛК100 выпускается в корпусе, предназначенном для крепления на DIN-рейке 35 мм. Подключение всех внешних связей осуществляется через разъемные соединения, расположенные по двум боковым и передней (лицевой) сторонам контроллера. Открытие корпуса для подключения внешних связей не требуется.

5.2. Вычислительные машины
и вычислительные системы
АСУ ТП текстильных производств


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: