Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Современные средства автоматизации

.pdf
Скачиваний:
0
Добавлен:
07.09.2026
Размер:
2 Мб
Скачать
☆
Основные понятия о системах малой автоматизации 21
S2, ..., SN. Каждая из станций в сети имеет индивидуальный номер, устанавли­ваемый на модификаторах (переключателях или перемычках) или записанный во Flash-памяти микроконтроллера. Соединение персонального компьютера мо­жет производиться к одной из станций непосредственно или через специальный узел диспетчера персонального компьютера DPC (PC Dispatcher) в зависимо­сти от используемого количества станций N, необходимости преобразования ин­терфейсов (выходного интерфейса персонального компьютера в интерфейс сети) и оптической развязки. Кабельная часть сети называется сетевой средой — TM (Transmission Medium). Â каждой станции имеется узел, согласующий интер­фейс микроконтроллера станции (обычно UART) с сетевой средой. Он обычно называется диспетчером станции DS (Station Dispatcher) èëè MGT (Station Management).
Современные системы малой автоматизации SAS по количеству используе­мых станций подразделяются на три группы: малые (до 16—32 станций), сред­ние (до 128—256 станций) и большие (свыше 256 станций) SAS. Большие SAS в виде сети одного уровня выполняются редко, ввиду ограниченной нагрузочной способности существующих последовательных интерфейсов. Чаще всего боль­шие SAS либо являются сетью одного уровня с комбинацией интерфейсов, либо выполняются в виде многоуровневых сетей.
Условно структуру SAS можно разбить на два уровня. Первый верхний уро­вень — уровень организации командно-информационных сетей CI-LAN. Второй нижний уровень — уровень организации станций, в качестве которых используют­ся так называемые универсальные технологические контроллеры. Каждому из этих уровней будет посвящена отдельная глава настоящей книги. Но прежде чем рас­смотреть более подробно эти вопросы, давайте познакомимся с основными тенден­циями развития и требованиями, которые предъявляются к современным SAS.
Практически во всех работах, посвященных архитектуре современных ма­лых систем автоматизации производства и научных исследований, в качестве основных отмечаются тенденции децентрализации, минимальной стоимости, простоты установки и эксплуатации, максимальной эффективности. Рас­смотрим эти понятия.
Современное понятие децентрализации системы предполагает и территори­альное рассредоточение вычислительной системы, и разделение функции систе­мы (измерений, первичной обработки и управления) на ряд слабосвязанных функций, и распределение этих функций между несколькими децентрализован­ными вычислителями. Таким образом, современные децентрализованные сис­темы являются системами с множеством потоков команд и данных MIMD (Multiply Instruction Multiply Data). С другой стороны, каждая из станций (со­средоточенный вычислитель) также может выполнять несколько слабосвязан­ных функций одновременно и состоять из нескольких слабосвязанных вычисли­телей, т. е. быть мультимикропроцессорной (MMPS).
Создание децентрализованных систем автоматизации производства и науч­ных исследований в условиях малых производственных фирм и научно-исследо­вательских центров определяет в качестве одного из основных требований — требование минимальной стоимости.
22 Системы малой автоматизации
Системы, ориентированные на работу в условиях малых производственных фирм и научно-исследовательских центров, должны удовлетворять требованиям простоты установки и эксплуатации, а также обеспечивать достаточно про­стую модернизацию, т. е. обновление.
Под понятием максимальной эффективности, как правило, понимается со­отношение производительность/цена, однако в последнее время это понятие часто объединяется с понятием минимальной избыточности системы. При этом под избыточностью понимают как аппаратную избыточность (неис­пользуемые узлы аппаратуры или излишние сигналы управления), так и âðå- менную избыточность (например, передача излишней информации по сетям).
Теперь рассмотрим основные свойства и тенденции развития современных сосредоточенных систем SAS, т. е. сетевых станций (или универсальных техно­логических контроллеров).
Важнейшим принципом построения современных сложных универсальных микроконтроллерных (микропроцессорных) систем является магистрально-мо-
дульный принцип.
Модульность — свойство территориально сосредоточенных элементов сис-
темы (станций), означающее конструктивное выполнение всех узлов в виде на­бора функционально законченных автономных модулей, имеющих одинаковый интерфейс с общей магистралью или шиной.
Понятие модульности системы тесно связано с понятием магистрали (èëè øèíû) системы, т. е. подразумевается, что все модули связаны между со­бой через одинаковые разъемы с параллельно соединенными контактами — ìà- гистраль (шину). Каждый контакт и соединяющая их линия имеют определен­ное назначение и наименование. Временные и электрические параметры сигна­лов обычно также определены правилами, созданными для конкретного типа магистрали.
К настоящему времени создано более 250 различных магистрально-модуль­ных систем [11, 16, 32, 33, 42—48], наиболее известные из которых EUROBUS, VME-BUS, FASTBUS, MULTIBUS-I/II, P-896, CAMAC, однако к настоящему времени часть из них уже морально устарела, другие оказались избыточными и чрезвычайно дорогими. К тому же ставшие de facto во всем мире промышлен­ным стандартом микроконтроллеры семейства MCS-51 и аппаратно совмести­мые с ним AVR, а также микропроцессоры MCS-86/88 и MCS-80/85, которые наиболее часто используются сейчас для автоматизации производства и науч­ных исследований, плохо совместимы с большинством из них. Как правило, в современных системах наиболее часто используются модернизированные интер­фейсы MULTIBUS-I/II, И41 [45, 48]. Они наиболее просты и наиболее подхо­дят для построения современных микроконтроллерных систем. Модернизация интерфейсов магистрали наиболее часто касается исключения или замены ли ний (сигналов), предназначенных для многопроцессорного арбитража, питания ит.д.
Модульность позволяет легко заменять вышедшие из строя модули, т. е. повышается ремонтопригодность системы.
-
Основные понятия о системах малой автоматизации 23
Гибкость — свойство модульных систем легко изменять структуру изде­лий за счет различного сочетания модулей. Кроме того, под гибкостью системы понимается возможность осуществления модернизации системы за счет незави­симой модернизации каждого из модулей. Облегчается разработка новых систем и увеличивается срок морального старения за счет применения комбинации но­вых и уже существующих модулей, повышаются регулярность структуры и, как следствие, контрольно-диагностические качества, обеспечивается простота пере­ориентации системы на другой объект регулирования или исследования.
Наращиваемость — свойство системы, заключающееся в возможности простого увеличения или уменьшения количества модулей в станции или стан­ций в сети.
Многофункциональность — свойство станции, означающее, что она не имеет жесткой специализации и привязки к объекту регулирования или иссле­дования и, соответственно, может выполнять разные функции.
«Интеллектуальность» — свойство большинства модулей современных станций, связанное с наличием в них микроконтроллеров или микропроцессо­ров, работающих по своей индивидуальной программе, уровень интеллектуаль­ности можно легко увеличивать в уже работающей системе путем модификации программного обеспечения модулей.
Конструктивное единство — понятие, означающее конструктивное еди­нообразное исполнение всех модулей станции. Доминирующим стандартом в на­стоящее время является EUROCARD (IEC48D, 1980), позволяющий создавать ряд вариантов плат как комбинацию размеров ширины (160 и 220 мм) и высоты (100 и 233,53 мм). Наиболее часто используются платы E2 с размерами
2
220 × 233,53 ìì
ESONE), а также 100 × 100 ìì
(MULTIBUS-II) и E4 с размерами 100 × 220 ìì2(EUROBUS,
2
.
Мультимагистральность — понятие, означающее использование в одной станции одновременно несколько различных магистралей. Такое техническое ре­шение широко используется и в современных PC, и во многих магистрально-мо­дульных системах. Наиболее широкое распространение в SAS получили двух­шинные системы, на каждой из шин которых расположены слабосвязанные мик­ропроцессоры и микроконтроллеры различной мощности и разрядности, причем магистрали связаны через общий двухвходовый ресурс, чаще всего оперативную память.
Безусловным принципом при построении проблемно-ориентированных сис­тем является принцип достаточности производительности. Достижение не­обходимой производительности обеспечивается, как правило, созданием много­процессорных систем в одной станции, причем кроме обеспечения достаточной производительности за счет параллельного выполнения независимых задач или частей одной задачи достигается повышение надежности путем обеспечения свойства «постепенной деградации» системы при отказах отдельных процессо­ров за счет перераспределения задач, возрастает также гибкость системы.
Совместимость ПО — требование ко всем микропроцессорам и контролле­рам системы, соблюдение которого позволяет использовать богатый арсенал соз­данных прикладных программ. В настоящее время, когда в одной системе могут
24 Системы малой автоматизации
одновременно присутствовать вычислительные элементы, построенные на раз­личных семействах процессоров (Pentium, MCS-86/88, MCS-80/85, MCS-51, AVR и т. д.), требование реализуется за счет написания программного обеспече­ния всех элементов системы на языке высокого уровня (как правило, языке «Ñ»).
Развитие магистрально-модульных систем предполагает обеспечение принципа максимальной универсализации, состоящего в том, что каждый вво­димый в систему модуль должен обеспечивать построение системы, удовлетво­ряющей требованиям максимального числа применений.
Кроме того, очевидно выполнение принципа построения магистральных сис­тем — принципа асинхронности и минимальности количества сигналов управления, упрощающего протокол обмена между модулями, повышающего на­дежность связи и быстродействие обмена.
При построении распределенных систем с небольшими линейными размера­ми, измеряющих и обрабатывающих большие массивы информации, часто необ­ходимо обеспечивать местную визуализацию оперативной информации, что зна­чительно упрощает работу с системой.
Требования к сетевой архитектуре, организации, среде и протоколам пере­дачи данных также обусловлены современной технической и экономической си­туацией.
Быстрое снижение цен на персональные компьютеры при значительном по­вышении их вычислительной мощности и надежности, то обстоятельство, что самыми дорогостоящими в PC по-прежнему остаются периферийные устройства, а также требование минимальной стоимости системы предопределяют еще одну важную особенность современных малых систем автоматизации производства и научных исследований — информационно-командный принцип построения LAN.
В соответствии с этим принципом единственный PC, включенный в LAN, играет роль генератора заданий и получателя данных, осуществляет вторичную обработку, систематизацию, сохранение и визуализацию данных. Периферийные станции осуществляют съем аналоговой и дискретной информации с различных датчиков, ее предварительную обработку, управляют различными внешними объектами, производят тестирование своих подсистем и передают полученную информацию в PC.
С целью снижения стоимости системы и обеспечения взаимозаменяемости используются PC в стандартной конфигурации, а связь осуществляется через свободный интерфейс RS232C (COM1 или COM2), имеющийся на любом стан­дартном компьютере.
Еще одним требованием к современным LAN, работающим в условиях силь­ных электромагнитных и электростатических полей, является наличие гальвани­ческой (чаще всего оптической) развязки на напряжения более 500 В всех пери­ферийных станций.
С целью обеспечения минимизации сетевого фрейма (кадра передачи дан­ных) и нагрузки на сетевой интерфейс разработчики прибегают к ограничению количества периферийных станций сети и количества команд одной станции. С другой стороны, с целью упрощения алгоритмов работы одной станции иногда
Основные понятия о системах малой автоматизации 25
разработчики предпочитают разделять одну локальную станцию на две и более, территориально расположенные в одном месте.
Наиболее дорогостоящим и трудоемким элементом современных LAN явля­ется сетевая среда, т. е. кабель, связывающий станции между собой и с PC.По­этому в системах, предполагающих частую модернизацию, желательно исполь­зовать стандартные кабели с разъемами. При этом желательно иметь возмож­ность оперативной замены кабеля и учитывать, что его длина влияет на скорость передачи.
Описанные понятия и тенденции широко применяются при проектировании современных SAS. Более подробно вопросы проектирования SAS мы рассмот­рим в следующих главах.
2. Командно-информационные сети
2.1. Основные понятия
Основныепонятия
Командно-информационные сети широко используются в современных сис­темах малой автоматизации SAS.
Командно-информационными сетями (CI-LAN — Command-Information LAN) называются малые и средние специализированные локальные сети с шин­ной топологией и централизованным управлением, ориентированные на работу в режиме реального времени.
Все узлы сети называются станциями (Station). Централизованное управле­ние шиной осуществляется ведущей станцией, в роли которой, как правило, вы­ступает единственный в сети персональный компьютер (PC) или мощный спе­циализированный контроллер, оснащенный полным комплектом периферийного оборудования. Все остальные станции сети называются периферийными стан­циями (PS — Peripheral Stations).
Типовая структура CI-LAN приведена на рис. 1.2. Единственный персональ­ный компьютер сети является генератором заданий и получателем информации. Только он имеет право инициировать обмены информацией по сети. Он работа­ет под управлением основной программы, которая в заданные моменты времени выдает определенные команды периферийным станициям. Команды от ведущей станции и ответы от периферийных станций передаются в виде фреймов (Frame) — детерминированной последовательности байтов, содержащих байт(ы) синхронизации — преамбулу (Preambul), байты адреса станции, коман­ды, данных и контроля. Структуры фреймов будут рассмотрены позднее. Каждая из N периферийных станций S1, S2, ..., SN (Station 1...N) имеет уникальный адрес, устанавливаемый модификатором адреса (переключатель или перемычки) или записанный во Flash-памяти микроконтроллера. При передаче очередной ко­манды (в виде фрейма команды) ведущей станцией (далее просто PC), все пери­ферийные станции принимают фрейм этой команды и проверяют достоверность передачи по байту (байтам) контроля. В качестве байтов контроля обычно ис­пользуется контрольная сумма — сумма всех байтов фрейма, начиная с преам­булы и заканчивая байтом, предшествующим байту контроля. В случае несовпа­дения переданной и рассчитанной в периферийных станциях контрольной сум­мы станции игнорируют полученный фрейм команды и ожидают поступления очередного фрейма команды. При валидной (правильной) контрольной сумме принятого командного фрейма все станции анализируют байт адреса команды, сравнивая его со своим уникальным адресом. Одна из станций, уникальный ад рес которой совпал с адресом, установленным в фрейме команды, распознает команду, исполняет ее, а остальные периферийные станции, уникальные адреса которых отличаются от переданого в фрейме адреса, игнорируют полученный фрейм и ожидают приема очередного командного фрейма. Команда может быть
-
Основные понятия 27
различного уровня сложности. Простые команды могут требовать от периферий­ной станции элементарных действий, например, установить одну из линий порта ввода/вывода в определенное логическое состояние. Более сложные команды могут заставить периферийную станцию выполнить достаточно сложную проце­дуру получения и предварительной обработки данных. Например, произвести опрос одного из каналов аналого-цифрового преобразователя, при этом предва­рительно настроив канал, предварительный усилитель, счетчик усреднения, про­извести несколько опросов, усреднить их, масштабировать, преобразовать в тре­буемую форму, вывести информацию на местную индикацию и подготовить ин­формацию для передачи в PC. После завершения выполнения команды адресуемая станция формирует фрейм ответа. Он может содержать либо инфор­мацию об успешном выполнении простой команды, либо полученные и предва­рительно обработанные данные в случае более сложной операции, либо инфор­мацию об ошибках и сбоях. В любом случае, в фрейме ответа содержится та или иная информация. Т.е. передаваемые PC данные — всегда команда, а полу­чаемые — всегда информация. Отсуда и произошло название этих сетей — ко­мандно-информационные. Получив фрейм ответа от периферийной станции, PC производит в случае необходимости последующую обработку данных, система­тизирует, визуализирует и сохраняет их, а затем, в соответствии с главной про­граммой сети, производит выдачу очередной команды.
Обычно в CI-LAN периферийные станции не имеют право самостоятельного доступа к сети. Они только отвечают на поступившую команду. Исключением мо­жет быть случай аварийной ситуации в станции (станциях) или в обслуживаемой подсистеме объекта регулирования. В этом случае в некоторых сетях допускается передача в PC сигнала аварии. Однако такая возможность значительно усложня­ет алгоритм работы системы. Чаще в CI-LAN используется периодический опрос всех станций с целью определения состояния каждой из них.
Станции между собой соединяются с помощью кабелей с разъемами (обыч­но типа DB9) через параллельно соединенные пары разъемов X1, X2, ..., XN на каждой из станций S1, S2, ..., SN. Соединение персонального компьютера мо­жет производиться к одной из станций непосредственно или через специальный узел диспетчера персонального компьютера DPC (PC Dispatcher), в зависимо­сти от используемого количества станций N, необходимости преобразования ин­терфейсов (выходного интерфейса персонального компьютера в интерфейс сети) и оптической развязки. Кабельная часть сети называется сетевой средой — TM (Transmission Medium). В каждой станции имеется узел, согласующий интер­фейс микроконтроллера станции (обычно UART) с сетевой средой. Он обычно называется диспетчером станции DS (Station Dispatcher) èëè MGT (Station Management).
Количество станций в современных CI-LAN одного уровня обычно не пре­вышает 256. При этом, если количество станций в сети менее 16—32, такие CI- LAN называют малыми, в противном случае — средними.
Рассмотрим основные требования, предъявляемые к CI-LAN:
•
с целью снижения стоимости системы и обеспечения взаимозаменяемости в составе CI-LAN используются PC в стандартной конфигурации с двумя
28 Командно-информационные сети
портами RS232C, один из которых, как правило, занят, а связь осуществ­ляется через второй свободный порт;
•
наиболее дорогостоящим и трудоемким элементом современных LAN яв­ляется кабель передачи данных — сетевая среда (TM), поэтому в CI- LAN, предполагающих частую модернизацию, желательно использовать либо стандартные компьютерные кабели с двумя разъемами типа DB9, либо «витую пару», либо 4-жильные телефонные экранированные кабели;
•
общая длина сетевой среды влияет на скорость передачи данных, поэтому желательно ограничивать длину LAN до минимума;
•
важнейшим требованием к CI-LAN, работающим в условиях сильных электромагнитных и электростатических полей или в лабораторных усло­виях, является наличие гальванической развязки периферийных станций от сетевой среды (а иногда и PC от сетевой среды). В современных CI- LAN гальваническая развязка достигается с помощью элементов с оптиче­ской изоляцией — оптронов;
•
с целью снижения стоимости и объема аппаратных затрат в CI-LAN вос­новном используются два типа интерфейсов: модифицированный интер­фейс RS232C и интерфейс RS485.
Диспетчер PC (DPC) — узел, согласующий порт RS232C персонального компьютера с сетевой средой. Если CI-LAN строится на базе интерфейса RS485, то DPC оптически изолирует порт RS232C персонального компьютера и преобразует его в интерфейс RS485. В случае построения CI-LAN на базе моди­фицированного интерфейса RS232Ñ узел не является обязательным и фактиче­ски оптически изолирует некоторые сигналы интерфейса RS232C.
Диспетчер станции DS преобразует сигналы интерфейса RS232C èëè RS485 во внутренние сигналы станции. Как правило, каждый DS имеет два оди­наковых разъема (Xi.1 и Xi.2) DB9F, соединенных параллельно.
Сетевая среда в CI-LAN выполняется в виде кабелей с однотипными разъе­мами DB9V одинаковой либо разной длины, соединяемых последовательно. Это позволяет легко и оперативно модифицировать сеть. Малые CI-LAN можно реа­лизовать на базе интерфейсов RS232C è RS485, средние — только на базе ин­терфейса RS485. Общая длина малых CI-LAN обычно не превышает 20 м, в то время как средние CI-LAN могут иметь общую длину шины до 1 км и более. Если в CI-LAN используется RS232C, то сетевая среда чаще всего состоит из стандартных компьютерных кабелей с двумя разъемами DB9V (длиной 1 м или 1,2 м). Если в CI-LAN используется RS485, то сетевая среда чаще всего выпол­няется из четырехжильного телефонного провода с общим экраном и изоляцией, оснащенного двумя разъемами DB9V.
Отметим также некоторые особенности работы сетей на базе интерфейсов RS232C è RS485. Напомним, что интерфейс RS232C имеет отдельные линии пе­редачи TxD и приема RxD данных. Поскольку команды в CI-LAN передает толь ко PC, он монопольно использует свою линию TxD è,
следовательно, на этой ли­нии конфликты от одновременного включения нескольких передатчиков невоз­можны. При этом PC не имеет возможности контролировать передачу. Линия RxD используется всеми контроллерами, которые подключены к ней своими вы
-
-
Диспетчеры персонального компьютера 29
ходами TxD. В случае нормальной работы аппаратуры и программного обеспече­ния станций конфликтов на линии быть не должно, но при сбоях возможны кон­фликты вследствие одновременного подключения к линии нескольких передатчи­ков. Таким образом, линия RxD является линией со случайным (со стороны контроллеров) доступом и программным (со стороны PC) анализом конфликтов.
При использовании интерфейса RS485 данные передаются по двум прово­дам как в прямом, так и в обратном направлении, т. е. конфликты возможны как при передаче команд, так и приеме данных. За всем конфликтами в сети следит PC. В этом случае вся сеть является сетью со случайным доступом и программ­ным анализом конфликтов. Кроме того, все участники такой сети (и PC,èPS) должны обеспечивать отключение своих передатчиков в перерывах между пере­дачами и анализировать незанятость сети перед попыткой передачи и в процес­се передачи.
Таким образом, информационно-командный принцип построения LAN пред­полагает следующие основные режимы обмена данными:
•
получение любой из периферийных станций (PS) фрейма команды от PC;
•
передача в PC результатов измерений от любой станции PS (в ответ на принятую команду от PC);
•
выполнение любой станцией самотестирования по команде PC с переда­чей результатов тестирования обратно в PC;
•
желателен аппаратный сброс всех станций по инициативе PC;
•
возможна передача в PC информации об аварийных ситуациях по инициа­тиве любой станции PS.
2.2. Диспетчеры персонального компьютера
Диспетчерыперсонального компьютера
На диспетчеры персонального компьютера (DPC) возлагаются две основные
функции: сформировать сигналы среды передачи данных (TM) и обеспечить гальваническую развязку PC. В этом разделе приведены три схемы DPC äëÿ CI- LAN на базе интерфейсов RS232C è RS485.
На рис. 2.1 представлена схема DPC для сети на базе интерфейса RS232C.
Входная часть схемы DPC (слева) гальванически развязана от выходной части (справа) с помощью оптронов 4N35. Питание и управление входной части осуществляется от выходных линий RS232C порта персонального компьютера. При этом предполагается, что в рабочем режиме (приема и передачи данных) на линии RTS должно быть установлено положительное напряжение, а на линии DTR — отрицательное напряжение. Величины этих напряжений определяются исполнением материнской платы персонального компьютера и могут составлять от 7 до 12 В соответствующей полярности. Положительное напряжение с линии RTS поступает на коллекторы транзисторов оптронов D1 è D5. Отрицательное напряжение с линии DTR через резистор R5 è äèîä VD1 создает на конденсато ре C1 отрицательное напряжение питания. Передача данных от компьютера осу­ществляется по линии TxD через резистор R2 и светодиод оптрона D2. Прием данных осуществляется по линии RxD с эмиттера транзистора оптрона D1.Ñî
-
-
30 Командно-информационные сети
Рис. 2.1. Диспетчер персонального компьютера для сети на базе интерфейса RS232C
стояния линий DTR è RTS передаются в выходную часть через оптроны D3 è D4, а состояние линии RI с выходной части передается в персональный компью­тер через оптрон D5. Предполагается, что в составе DPC имеется стабилизиро­ванный источник питания на напряжение +5 В и рабочий ток менее 30 мА (на схеме не показан). Этот источник осуществляет питание выходных микросхем
D6 è D7. При использовании оптронов типа 4N35 напряжение изоляции цепей PC от выходной части составляет более 2,5 кВ. В выходной части в качестве
формирователей уровней интерфейса RS232C использованы самые доступные микросхемы MAX202 (ADM202, MAX232). Возможно, конечно, использовать и другие формирователи уровней фирмы MAXIM (MAX235-MAX249), однако это увеличит стоимость изделия, сложность и площадь печатной платы. Конденсато­ры Ñ2—Ñ11 должны быть не менее 1,0 мкФ (хотя изготовителем микросхем ре­комендуется величина 0,1 мкФ). Это обеспечивает повышенную устойчивость работы выходных микросхем в аварийных режимах работы сети, а также при от­ладке контроллеров. Диоды VD2—VD4 рекомендуется устанавливать для повы­шения надежности (предотвращения пробоя светодиодов оптронов).
Приведенная схема DPC обеспечивает изоляцию и повторение состояний сигналов порта RS232C в статике. Однако следует заметить, что следствием оп­тической развязки с помощью оптронов является задержка времени переключе ния всех сигналов на величину более 7 мкс. Кроме того, несмотря на то что но­миналы резисторов входной части оптимальны с точки зрения быстродействия и нагрузки на выходной порт персонального компьютера, максимально допустимая скорость передачи данных через описанный DPC составляет 28800. На больших скоростях передачи резко возрастает количество ошибок.
-
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]