Управляющие процессоры и каналы управления

Обновлено: 06.07.2024



Программируемым логическим контроллерам уже 50 лет, но без них и сейчас невозможно представить автоматизированное производство. Начинаем публиковать цикл статей о ПЛК и об электронных компонентах, производимых компанией Texas Instruments для создания современных ПЛК.

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

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

Последующие разработки в General Motors, Allen-Bradley и других компаниях привели к созданию системы управления на базе микроконтроллеров, которая анализировала входные сигналы от технологических датчиков и управляла электроприводами исполнительных устройств.

Термин ПЛК (Programmable Logic Controller, PLC) впоследствии был определен в стандартах EN 61131 (МЭК 61131). ПЛК – это унифицированная цифровая управляющая электронная система, специально разработанная для использования в производственных условиях. ПЛК постоянно контролирует состояние устройств ввода и принимает решения на основе пользовательской программы для управления состоянием выходных устройств.

Упрощенное представление состава и принципа действия ПЛК хорошо демонстрирует рисунок 1. Из него видно, что ПЛК имеет три основные секции:

  • входную;
  • выходную;
  • центральную.

Рис. 1. Состав и принцип действия ПЛК

Рис. 1. Состав и принцип действия ПЛК

Имеется еще источник питания. Возможно подключение к ПЛК внешнего ПК для программирования и отладки.

Для передачи данных другому ПЛК или для подключения к сетям передачи данных PROFIBUS, Industrial Ethernet, AS-Interface в распределенных системах управления сегодня используются коммуникационные процессоры, такие как DP83867IR производства Texas Instruments (TI).

Типы ПЛК

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

Крупнейшими мировыми производителями ПЛК сегодня являются компании Siemens AG, Allen-Bradley, Rockwell Automation, Schneider Electric, Omron. Кроме них ПЛК выпускают и многие другие производители, включая российские компании ООО КОНТАР, Овен, Сегнетикс, Fastwel Групп, группа компаний Текон и другие.

Рис. 2. Моноблочные программируемые логические контроллеры

Рис. 2. Моноблочные программируемые логические контроллеры

По конструктивному исполнению ПЛК делят на моноблочные (рисунок 2) и модульные. В корпусе моноблочного ПЛК наряду с ЦП, памятью и блоком питания размещается фиксированный набор входов/выходов. В модульных ПЛК используют отдельно устанавливаемые модули входов/выходов. Согласно требованиям МЭК 61131, их тип и количество могут меняться в зависимости от поставленной задачи и обновляться с течением времени. ПЛК подобной концепции представлены на рисунке 3. Подобные ПЛК могут действовать в режиме «ведущего» и расширяться «ведомыми» ПЛК через интерфейс Ethernet.

Рис. 3. Программируемые логические контроллеры с расширенными возможностями

Рис. 3. Программируемые логические контроллеры с расширенными возможностями

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

Источник питания может быть встроенным в основной блок ПЛК, но чаще выполнен в виде отдельного блока питания (БП), закрепляемого рядом на стандартной рейке. Блок питания небольшой мощности представлен на рисунке 4.

Рис. 4. Блок питания для ПЛК

Рис. 4. Блок питания для ПЛК

Первичным источником для БП чаще всего служит промышленная сеть 24/48/110/220/400 В, 50 Гц. Другие модели БП могут использовать в качестве первичного источник постоянного напряжения на 24/48/125 В. Стандартными для промышленного оборудования и ПЛК являются выходные напряжения БП: 12, 24 и 48 В. В системах повышенной надежности возможна установка двух специальных резервированных БП для дублирования электропитания.

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

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

Примером подобного подхода является отдельное направление в линейке продукции компании Texas Instruments. Как известно, TI не входит в число производителей ПЛК, но выпускает для них специализированные ЦП и сетевые процессоры, компоненты для создания периферийных цифровых и аналоговых модулей, контроллеры температуры, смешанные модули цифровых и аналоговых входов/выходов.

Блок схема процессора TI Sitara AM570x на рисунке 5 позволяет судить об огромной функциональной оснащенности этого ARM-процессора, работающего на частоте до 1 ГГц, поддерживающего интерфейсы CAN, I²C, McASP, McSPI, SPI, UART, USB и способного работать в диапазоне температур 0…90°С.

Рис. 5. Блок-схема процессора TI Sitara AM570x

Рис. 5. Блок-схема процессора TI Sitara AM570x

Требования, ограничения и проблемы при проектировании и производстве ПЛК

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

Связь между удаленными блоками и основным ядром ПЛК осуществляется через помехозащищенные полевые шины по медным кабелям и оптическим линиям связи. В отдельных случаях, например, для связи с подвижными объектами, применяют беспроводные технологии, чаще всего это сети и каналы Wi-Fi. Для взаимодействия с другими ПЛК могут применяться как широко известные интерфейсы RS-232 и RS-485, так и более помехозащищенные промышленные варианты типа Profibus и CAN.

Особенности работы и программирования ПЛК

Теперь, когда стали более понятными основные возможности ПЛК, следует выяснить способы их применения.

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

Именно в ПЛК впервые появилась удобная возможность программирования контроллеров путем составления на экране компьютера визуальных цепей из релейных контактов для описания операторов программы (рисунок 6). Таким образом, даже весьма далекие от программирования инженеры-технологи быстро осваивают новую для себя профессию. Подобное программирование называют языком релейной логики или Ladder Diagram (LD или LAD). Задачи, решаемые при этом ПЛК, значительно расширяются за счет применения в программе функций счетчиков, таймеров и других логических блоков.

Рис. 6. Пример программной реализации электрической цепи

Рис. 6. Пример программной реализации электрической цепи

К графическим средствам программирования ПЛК относятся язык последовательных функциональных блоков (Sequential Function Chart, SFC) и язык функциональных блоковых диаграмм (Function Block Diagram, FBD), более понятные для технологов. Для программистов более привычными являются язык структурированного текста (Statement List, STL), напоминающий Паскаль, и язык инструкций (Instruction List, IL), похожий на типичный Ассемблер.

Упростить создание программного обеспечения для современных ПЛК позволяют специальные комплексы, такие как

(рисунок 7), ISaGRAF, OpenPCS и другие инструменты, не привязанные к какой-либо аппаратной платформе ПЛК и содержащие все необходимое для автоматизации труда программиста. Для отладки сложных проектов на основе компонентов TI компания предлагает специальные отладочные комплекты и необходимое программное обеспечение.

Рис. 7. Рабочий экран программирования в среде CoDeSys

Рис. 7. Рабочий экран программирования в среде CoDeSys

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

Рабочий режим ПЛК состоит из повторяющихся однотипных циклов, каждый из них включает три этапа:

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

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

При необходимости можно остановить выполнение программы и перевести ПЛК в режим программирования, затем на экране компьютера изменить ход выполнения программы или отдельные параметры и снова записать их в память ПЛК.

Заключение

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

image


рис 1. Модель Bombardier BD 500 в аэродинамической трубе

Именно такой слоган я как-то придумал для своей работы. Он как нельзя лучше выражает саму суть разработки систем управления самолётом. И, если честно, я бы хотел, чтобы это стало девизом всех разработчиков систем управления современными самолётами по всему миру. Потому что, несмотря на то, что часто можно услышать, что самолёт — один из самых безопасных видов транспорта, тысячи людей по всему миру боятся летать, вцепляются в ручки кресел… А зачастую причина всех страхов — неизвестность. Когда надо доверится такой непрочной конструкции, болтающейся километры над землёй, таким хрупким сплетением проводов и битов кода, скрытой завесой улыбок стюардесс и тайн программного кода. И которую стоит приоткрыть.

К моему удивлению, моя предыдущая статья вызвала неожиданно большой резонанс как на Хабре, так и за его пределами. Мне задали ряд вопросов и высказали ряд недовольства, законно обозвав это «закрытой областью». Вопреки такому мнению, всё, о чём я рассказывал в статье и о чём речь пойдёт в этой, можно найти в интернете. Быть может по разрозненным кускам, быть может, на разных языках, но ни один факт не является ноу-хау. Задача моей статьи — познакомить читателя с замечательной областью авиации и классифицировать весь опыт и знания, которые мне удалось накопить. Что же касается проблемных тем и вопросов, затронутых мной, хочется вспомнить схожий случай, описанный г-ном Фейнманом в замечательной книжке «Какое тебе дело до того, что о тебе думают другие?». Если кто не читал, то обязательно прочтите. Там Ричард рассказывает о проблемах в НАСА. О проблемах, которые привели к крушению челнока. И о том, что не всегда бывает виновато оборудование, программы, программисты их писавшие, а часто виноватыми оказываются допуски, сокрытие фактов и принятые консервативные решения. И знаете что? НАСА из-за этого случая и огласки не стало хуже, а лишь научилось на своём хоть и печальном, но опыте. Престиж не только не упал, но вырос, НАСА показала себя организацией, которая умеет решать проблемы и признавать их. Потому что как космос, как и авиация — великолепные области, в которых работают великолепные компании и преданные люди. И не верьте тем, кто говорит, что после установки туалетов в самолётах небо перестало быть местом для романтиков.

Automation is great. It’s essential. It reduces fatigue, and enhances safety. But what if it breaks?

Все вы конечно знаете, что законы Мерфи работают, и один из них гласит, что всё, что может сломаться — сломается. Всё, что не может сломаться — тоже сломается. Каков бы не был низок процент отказа оборудования, вероятность отказа существует. Но существуют методы, позволяющие эти отказы минимизировать. И, в первую очередь, это архитектурные особенности программно-аппаратного комплекса.

image


рис 2. Т-4

Современный самолёт управляется так называемой ЭДСУ — Электродистанционной Системой Управления. На самом деле, это не такая уж новинка. Впервые такая система была установлена на советском самолёте «Максим Горький», управляющая поверхностями путём передачи электрического тока (аналоговая ЭДСУ). Позже в военной технике она появится в полностью цифровом виде на советском Т-4, а в гражданской авиации — на Airbus A320 и Ту-204. Тем не менее, ни что не стоит на месте и технологии совершенствуются, разрабатываются новые подходы и достигаются новые уровни безопасности.

Что представляет собой ЭДСУ? В первую очередь, это программно-аппаратный комплекс, состоящий из:

  • Приводов управляющих поверхностей самолёта
  • Датчиков контроля
  • Системы управления
  • Системы индикации и вспомогательных систем
  • Системы коммуникации и силовой системы

Каждая из систем обычно как минимум дублируется один раз. В зависимости от требуемых законов управления, ценовых и компоновочных решений архитектура может варьироваться — содержать больше контуров дублирования, контроля, силовых контуров, или же, напротив, меньше. А так же возможны комбинации ЭДСУ и механической, гидромеханической систем управления.



рис 3. структурная схема ЭДСУ



рис 4. функциональная схема ЭДСУ

Тем не менее, в процессе проектирования таких систем критически важно создать правильную архитектуру. Это — наиболее уязвимое место ЭДСУ. Наиболее классическими случаями ошибок являются:

  • зависимость системы от электропитания, что в случае механического управления является катастрофой, но не ведёт к потере управления всем самолётом (посадка Ту-154).
  • неверное дублирование системы управления (инцидент с Ан-148)
  • «глупые» ошибки ПО, например такие, как смена знака при пересечения экватора или часовых поясов, возможность отрицательной скорости на гражданском самолёте и пр.
  • дублирование управления
  • наличие ответного сигнала (feedback)
  • система самоконтроля (разделение на управляющую и контролирующую часть).

К сожалению, не имею представления о технологиях, которые были применены в советских самолётах, но думаю, он схож с современным подходом, который справедлив и для иностранных, и для российских проектов.

Система управления

Типичная система управления состоит из:

  • PFC – Primary Flight Computer — центрального компьютера управления, в который включены все законы управления и который умеет анализировать все поступающие данные от датчиков и feedback и отдавать данные на исполнение электроникой. PFC в самолётах бывает как 1 (в наиболее либо простых, либо дешевых системах), как 2, так и 3. PFC работают в штатном режиме сообща и одновременно.
  • ACE – Actuator Control Electronic — исполнительные модули контроля актуаторами (приводами). Включают в себя часть логики управления поверхностью на случай отказа основного компьютера. Передают непосредственно команды на исполнения актуаторами. В зависимости от типов как бывают спроектированы как для управления электроприводами, так и гидравлическими. Любой ACE так же в зависимости от архитектуры дублируется.ACE при наличие дублёра работают попеременно.
  • Ручек управления (штурвал\ручка (sidestick), педали и пр.).
  • Индикаторов \ информационных экранов.
  • Актуаторов.
  • Силовой электроники (если не включена в модули управления).



рис 5. ЭДСУ Boeing 777

В зависимости от сложности системы могут быть добавлены дополнительные устройства \ разделены существующие. В любом случае, при правильном дублировании и проектировании системы главный принцип — это соблюдение принципа «различия» (dissimilarity), что означает, что для каждого элемента работающего в режиме дублирования дожна быть применены различные электронные компоненты, процессоры, языки программирования, написан разный код, а соединяющие провода проложены независимо разными путями.

Электроника управления

Компьютеры управления (PFC) и исполнительные модули (ACE) состоят в свою очередь из нескольких независимых каналов. В простейшем случае они состоят из канала управления, который вычисляет команду к исполнению (Control Channel) и канала контроля, который проверят правильность команд (Monitor Channel). Для простоты можно сказать, что первый должен выдавать наиболее точные данные, рассчитанные с использованием сложных законов управления, базирующихся на динамических моделях поведения самолёта, а второй — давать правильную оценку на основе оценки окружающей обстановки, поступающей от датчиков с принимая и допуская некий «усреднённый вариант», но делая это быстрее канала управления, имея возможность заблокировать новый неверный сигнал до того, как пройдёт команда к исполнению и обработать ошибку.



рис 6. архитектурная схема PFC для Boeing 777

В зависимости от проекта применяется разное число модулей и разные комбинации каналов внутри них. В Boeing-777, например, три главных компьютера по три канала в каждом. Причём каждый канал может исполнять разные роли, но неизменно один из них — канал управления, а два других — контроля. В Boeing, к примеру, популярна схема с 1 MC, 1 CC и 1 канал горячей замены (standby). В других компоновках так же могут быть отдельно вынесен канал для управления силовой электроникой, или для целей наладки и проектирования — платы расширения функциональности (Extender Board) или внедрения ошибок (Fault Insertion Board). Общение между каналами обычно происходит по шине CAN или любой другой достаточно быстрой шине, такой как spacewire, 1394 и пр… Главный критерий — скорость передачи данных.

Общение же между модулями управления и периферии в авиации традиционно принято осуществлять через шину ARINC. В общем случае главный критерий — надёжность даже при больших расстояниях.



рис 7. Упрощённая схема типичной реализации системы управления

Так же используются непосредственно аналоговые и цифровые сигналы. Классической компоновкой является применение ADC \ DAC (аналого-цифровых и цифро-аналоговых конвертеров) внутри ACE для опроса датчиков и для командования приводами, а так же с использованием Resolver'ов для их чуткого управления. Использования дискретных сигналов — для синхронизации (в т.ч. от тактовых генераторов), пин-кодинга (определения положения и роли модуля) модулей. Модули, как правило, знают о состоянии друг друга и во многих случаях архитектура подразумевает «горячий» старт, когда резервный модуль подхватывает состояние главного и переходит в режим активного, заменяя прошлый главный модуль в течение пары секунд. ACE и PFC являются модулями LRU (Line Replaceable Unit), т. е. модулями линейной замены, что подразумевает собой возможность заменить один модуль (как плату расширения) на подобный без необходимости замены (модификации) всей связной системы. Схожая архитектура используется и для компоненов системы в отдельности, для таких система управления шасси, гидравликой, люками.

Принятие решения на основе совместной работы различных устройств — это сложный вопрос, на который нельзя ответить однозначно. Есть разные пути решения: синхронизация, решение методом среднего с использованием данных о состоянии (об ошибках), пути обнаружить неисправные модули и отключить их, сценарии работы. К примеру, при использовании трёх PFC при наличии двух одинаковых команд и одной отличной — отличная будет отбракована. При трёх разных — система будет отключена, как и при разных показания в системе, использующей только два PFC. Различных логик может быть много, как и включая алгоритмы работы при дублировании ЭДСУ механической системой управления. В последнем случае вероятность отказа возрастает, т. к. при сбое механической системы управления должна быть информирована ЭДСУ об отказе и среагировать на это переходом в аварийный режим.



рис 8. Схема парного исполнения ACE для электрогидравлической системы

Режимы работы.

В зависимости от окружающей обстановки система может функционировать в различных режимах. Типичными режимами являются:

  • Init Mode – режим загрузки устройства, который обычно включает определение состояние устройства путём синхронизации и проведения встроенных и внешних тестов.
  • Normal Mode – штатный режим, в котором процесс полёта контролируется основными компьютерами и команды пилота корректируются в соответствии с законами управления. Например, это позволяет запрещать недопустимые комбинации команд — запрещает критические углы атаки, крена, газа, запрещает недопустимые команды (например выпуск шасси в воздухе), а так же демпфирует поверхности в зависимости от внешних параметров (ветра, тяги двигателей, особенностей планера). В штатном режиме команды от PFC посылаются на безусловное выполнение ACE с оговоркой, что ACE проверяет валидность сигналов путём опроса статуса о PFC. Так же иногда разделяют нормальный режим на режим полёта (in air) и на режим на земле (weight on wheel), который может в свою очередь может быть разделён на режим стоянки, такси, взлёта\посадки. По современной классификации некоторые системы управления в режиме Normal Mode могут быть отнесены к IFCS (Intelligent Flight Control System – Умным Системам Управления). Как повод для гордости, могу отметить, одна из первых и лучших в гражданской авиации, чтобы обеспечивать полёт как по рельсам разработана для Sukhoi Superjet, а не в более именитых её собратьях. В будущем, надеюсь, такие системы будут использовать вс мощ искуственного интеллекта под своим контролем.
  • Alternative \ Secondary law – особый режим, позволяющий комбинировать логику ACE и PFC, либо замещать нормальные законы управления заранее откалиброванными. Это особый режим(ы), который типичен для самолётов Airbus \ Boeing в случае когда надо добиться нетипичного поведения самолёта либо в особых, но некритичных случаях (в режиме пониженного энергопотребления, дефекта поверхностей).
  • Direct mode — режим прямого управления. Этот режим управления без использования PFC, путём передачи прямых команд от органов управления к ACE. В действительности он является виртуально прямым, т. к. если ACE функциональны, то они имеют ограниченные законы управления и трансформации получаемых от пилотов сигналов. В случае потери ACE, теряется так же и полностью поверхность.
  • Mechanical law – режим механического управления. Возможен в случае наличия резервной механической системы управления. Его всё реже можно встретить на самолётах, но, тем не менее, обеспечивает управление некоторыми поверхностями даже в случае потери ACE.
  • Failsafe mode – режим отказа, сигнализирующий об отказе устройства или критичных систем, которые к нему относятся. Обычно является следствием отказа как внутри оборудования (аппаратного или программного), либо подконтрольних устройств. Тем не менее, может быть разделён на критичный — когда выход возможен только путём наземного обслуживания и\или замены оборудования, и на исправимый отказ, который может быть возвращён в рабочий режим (Direct, Normal, Alternative – в зависимости от логики) путём диагностики системы или её полётного перезапуска.
  • Rigging (Calibration) Mode – режим обслуживания, калибровки оборудования на земле — изменение калибровочных параметров самолёта (к примеру в зависимости от геометрии или имевших ранее отказов на самолёте). Обычно инициируется на земле в регулярном порядке (тех. обслуживание) или после ошибки (падения в Failsafe mode). Обслуживание производится как со снятием модуля и считывания данных через внутренние порты (RS232, USB), так и непосредственно на самолёте с использованием терминала (RS232, LAN), либо OMS (Onboard Maintenance System) через USB, COM, LAN.



рис 9. схема работы с четыремя PFC

Ещё раз про дублирование и защиту



рис 10. четыре PFC разбиты на пары

  1. функция не может вызваться с нулевым указателем, т. к. ей передаётся адрес объекта. Тем не менее есть проверка на отличие указателя от нуля. На моей практике встречались ошибки с невалидным указателям не раз, которые могли проявляться на одной машине даже при нормальной работе стека, а на другой никогда и ни при каких обстоятельствах.
  2. Все магические номера заменены константами на случай, что если когда-то изменится архитектура, не нужно будет отслеживать изменения, а так же оттого, что сложнее что-то поломать выполнив случайную контекстную замену.
  3. обязательное приведение типов, это MISRA-правило, которое наряду со своей частой неоправданностью позволяет отловить signed\unsigned conversion и sign loss.
  4. битмаска на один бит выглядит идиотством, ибо bool в данном случае может быть только true или false. Но, тем не менее, при последующем изменении кода можно гарантировать, что даже если в эту область памяти будет записано что-то другое, это останется ожидаемой 0 или 1, да и при сдвиге на несколько бит актуальной позиции — это изоляция от прочих значимых битов.
  5. возврат статуса, даже если функция не делает вообще ничего и её работа не влияет на систему позволяет диагностировать возникшую проблему с точностью до функции.
  6. описание всех вариантов, даже если это дублирующий код. Помимо требования к софту A, из-за особенностей компиляторов код с использованием одной инструкции if-else может интерпретироваться не так, как ожидается, тем более при внесении изменений может быть допущена ошибка или не отработана ситуация с невозможным идентификатором PFC. В случае если код дублирующий, обычно оптимизации компилятора его компонуют сами. Dead Code же напротив, следует избегать всеми возможными средствами, за исключением deactivated \ conditional (project\build-specific) кода.
  7. стандартные типы не должны использоваться, чтобы предотвратить ошибки связанные с особенностями платформ и компиляторов
  8. должна соблюдаться венгерская нотация, чтобы обеспечить достаточный уровень ясности кода даже без использования специальных IDE.
  9. код должен содержать ясные комментарии
  10. код должен быть быстрым и не требовательным к ресурсам

Выводы

На этом, пожалуй, стоит завершить статью и эту тему в частности. В заключение хочу сказать, что какова бы ни была система, решения — сложные как у Boeing или простые, как на начинающем китайском авиопроме, системы развиваются в сторону удобства и безопасности. И каждый защищённый провод и бит — труд многих людей, зачастую энтузиастов, работающей в этой области, а так же вас, граждане пассажиры, которые своей любовью к нему и своей критикой к человеческому несовершенству делает эту жизнь лучше.

Микропроцессорные системы

Микропроцессорные системы

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

Всё это обязывает электрика знать хотя бы основы работы микропроцессорной техники.

Микропроцессорные системы предназначены для автоматизации обработки информации и управления различными процессами.

Понятие «Микропроцессорная система» очень широко и объединяет такие понятия как «Электронно-вычислительная машина (ЭВМ)», «управляющая ЭВМ», «Компьютер» и т.п.

Микропроцессорная система включает в себя аппаратное обеспечение или по-английски – hardware и программное обеспечение (ПО) - software.

Микропроцессорная система работает с цифровой информацией , которая представляет собой последовательность цифровых кодов.

В основе любой микропроцессорной системы лежит микропроцессор , который способен воспринимать только двоичные числа (составленные из 0 и 1). Двоичные числа записываются посредством двоичной системы счисления. Например, в повседневной жизни мы пользуемся десятичной системой счисления, в которой для записи чисел используются десять символов или цифр 0,1,2,3,4,5,6,7,8,9. Соответственно в двоичной системе таких символов (или цифр) всего два – 0 и 1.

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

Рассмотрим единицы измерения цифровой информации:

Бит (от английского "BInary digiT" - двоичная цифра) принимает только два значения: 0 или 1. Можно закодировать логическое значение «да»» или «нет», состояние «включено» или «выключено», состояние «открыто» или «закрыто» и т.п.

Группа из восьми бит называется байтом, например 10010111. Один байт позволяет кодировать 256 значений: 00000000 – 0, 11111111 - 255.

Бит – наименьшая единица представления информации.

Байт - наименьшая единица обработки информации. Байт — часть машинного слова, состоящая обычно из 8 бит и используемая как единица количества информации при её хранении, передаче и обработке на ЭВМ. Байт служит для представления букв, слогов и специальных символов (занимающих обычно все 8 бит) или десятичных цифр (по 2 цифры в 1 байт).

Два взаимосвязанных байта называется словом, 4 байта – двойное слово, 8 байт – учетверённое слово.

Почти вся информация, которая нас окружает, является аналоговой. Поэтому, прежде чем информация попадёт на обработку в процессор, она подвергается преобразованию посредством АЦП (аналого-цифровой преобразователь). Кроме того, информация кодируется в определённом формате и может быть числовой, логической, текстовой (символьной), графической, видео и д.р.

Например, для кодирования текстовой информации используется таблица кодов ASCII (от англ. American Standard Code for Information Interchange - Американский стандартный код для обмена информацией). Запись одного символа осуществляется одним байтом, который может принимать 256 значений. Графическая информация разбивается на точки (пиксели) и производится кодирование цвета и положение каждой точки по горизонтали и вертикали.

Кроме двоичной и десятичной системы в МС используют шестнадцатеричную систему, в которой для записи чисел используются символы 0. 9 и A. F. Её применение обуславливается тем, что один байт описывается двухразрядным шестнадцатеричным числом, что значительно сокращает запись цифрового кода и делает его более читаемым (11111111 – FF).

Таблица 1 – Запись чисел в различных системах счисления

Запись чисел в различных системах счисления

Для определения значения числа (например, значения числа 100 для разных систем счисления может составлять 42, 10010, 25616), в конце числа добавляют латинскую букву, обозначающую систему счисления: для двоичных чисел букву b, для шестнадцатеричных - h, для десятичных – d. Число без дополнительного обозначения считается десятичным.

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

Структура микропроцессорной системы

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

Обязательными устройствами для создания микропроцессорной системы являются порты ввода/вывода и отчасти память . Порты ввода/вывода связывают процессор с внешним миром, обеспечивая ввод информации для обработки и вывод результатов обработки, либо управляющих воздействий. К портам ввода подключают кнопки (клавиатуру), различные датчики; к портам вывода - устройства, которые допускают электрическое управление: индикаторы, дисплеи, контакторы, электроклапаны, электродвигатели и т.д.

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

Структура микропроцессорной системы представлена на рисунке 1. В упрощённом виде процессор состоит из арифметически-логического устройства (АЛУ), осуществляющего обработку цифровой информации и устройства управления (УУ).

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

Структура микропроцессорной системы

Рисунок 1 – Структура микропроцессорной системы

Процессор, порты и память взаимодействуют между собой посредством шин. Шина – это набор проводников, объединённых по функциональному признаку. Единый набор системных шин называют внутрисистемная магистраль , в которой выделяют:

шину данных DB (Data Bus), по которой производится обмен данными между ЦП, памятью и портами;

шину адреса AB (Address Bus), используемой для адресации процессором ячеек памяти и портов;

шину управления CB (Control Bus), набор линий, передающих различные управляющие сигналы от процессора на внешние устройства и обратно.

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

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

Приставка «микро» в названии процессора означает, что выполняется он по микронной технологии.

Внешний вид микропроцессора Intel Pentium 4

Рисунок 2 – Внешний вид микропроцессора Intel Pentium 4

В ходе работы микропроцессор считывает команды программы из памяти или порта ввода и исполняет их. Что означает каждая команда, определяется системой команд процессора. Система команд заложена в архитектуре микропроцессора и выполнение кода команды выражается в проведении внутренними элементами процессора определённых микроопераций.

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

Основные характеристики микропроцессоров:

1) Тактовая частота (единица измерения МГц или ГГц) – количество тактовых импульсов за 1 секунду. Тактовые импульсы вырабатывает тактовый генератор, который чаще всего находится внутри процессора. Т.к. все операции (инструкции) выполняются по тактам, то от значения тактовой частоты зависит производительность работы (количество выполняемых операций в единицу времени). Частотой процессора можно варьировать в определённых пределах.

Внутренняя архитектура микропроцессора

1) Регистры для временного хранения команд, данных и адресов;

2) Арифметико-логическое устройство (АЛУ) , которое реализует арифметические и ло-гические операции;

3) Схема управления и синхронизации - обеспечивает выборку команд, организует функционирование АЛУ, обеспечивает доступ ко всем регистрам микропроцессора, воспринимает и генерирует внешние управляющие сигналы.

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

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

Аккумулятор – регистр, используемый в подавляющем большинстве команд логической и арифметической отработки; он одновременно является и источником одного из байт данных, которые требуются для операции АЛУ, и местом, куда помещается результат операции АЛУ.

Регистр признаков (или регистр флагов) содержит информацию о внутреннем состоянии микропроцессора, в частности о результате последней операции АЛУ. Регистр флагов не является регистром в обычном смысле, а представляет собой просто набор триггер-защелок (флаг поднят или опущен. Обычно имеются флаж¬ки нуля, переполнения, отрицательного результата и переноса.

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

Регистр команды содержит текущий командный байт, который декодируется дешифратором команды.

Линии внешних шин изолированы от линий внутренней шины с помощью буферов, а основные внутренние элементы связаны быстродействующей внутренней шиной данных.

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

На современном этапе основным направлением повышения производительности является разработка многоядерных процессоров , т.е. объединение в одном корпусе двух и более процессоров, с целью выполнения нескольких операций параллельно (одновременно).

Лидирующими компаниями по разработке и изготовлению процессоров являются Intel и AMD.

Алгоритм работы микропроцессорной системы

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

Главным управляющим элементом всей микропроцессорной системы является процессор . Именно он, за исключением нескольких особых случаев, управляет всеми остальными устройствами. Остальные же устройства, такие, как ОЗУ, ПЗУ и порты ввода/вывода являются ведомыми.

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

Рассмотрим последовательность действий микропроцессор во время выполнения команд программы:

1) Перед выполнением очередной команды микропроцессор содержит ее адрес в программном счетчике РС.

2) МП обращается к памяти по адресу, содержащемуся в РС, и считывает из памяти первый байт очередной команды в регистр команд.

3) Дешифратор команд декодирует (расшифровывает) код команды.

4) В соответствии с полученной от дешифратора информацией устройство управления вырабатывает упорядоченную во времени последовательность микроопераций, реализующих предписания команды, в том числе:

- извлекает операнды из регистров и памяти;

- выполняет над ними предписанные кодом команды арифметические, логические или другие операции;

- в зависимости от длины команды модифицирует содержимое РС;

- передает управление очередной команде, адрес которой снова находится в программном счетчике РС.

Совокупность команд микропроцессора можно разделить на три группы:

1) Команды перемещения данных

Перемещение происходит между памятью, процессором, портами ввода/вывода (каждый порт имеет свой собственный адрес), между регистрами процессора.

2) Команды преобразования данных

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

3) Команда передачи управления

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

К внешним, относятся все устройства, находящиеся вне процессора (кроме оперативной памяти) и подключаемые через порты ввода/вывода. Внешние устройства можно подразделить на три группы:

1) устройства для связи человек-ЭВМ (клавиатура, монитор, принтер и т.д.);

2) устройства для связи с объектами управления (датчики, исполнительные механизмы, АЦП и ЦАП);

3) внешние запоминающие устройтсва большой ёмкости (жёсткий диск, дисководы).

Внешние устройства подключаются к микропроцессорной системе физически - с помощью разъёмов, и логически - с помощью портов (контроллеров).

Для взаимодействия процессора и внешних устройств применяется система (механизм) прерываний.

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

У любого микропроцессора имеется хотя бы один вход запроса на прерывание INT (от слова Interrupt - прерывание).

Рассмотрим пример взаимодействия процессора персонального компьютера с клавиатурой (рисунок 4).

Клавиатура - устройство для ввода символьной информации и команд управления. Для подключения клавиатуры в компьютере имеется специальный порт клавиатуры (микросхема).

Работа процессора с клавиатурой

Рисунок 4 – Работа процессора с клавиатурой

1) При нажатии клавиши контроллер клавиатуры формирует цифровой код. Этот сигнал поступает в микросхему порта клавиатуры.

2) Порт клавиатуры посылает процессору сигнал прерывания. Каждое внешнее устройство имеет свой номер прерывания, по которому процессор его и распознаёт.

3) Получив прерывание от клавиатуры, процессор прерывает выполнение программы (например, редактор Microsoft Office Word) и загружает из памяти программу обработки кодов с клавиатуры. Такая программа называет драйвер.

4) Эта программа направляет процессор к порту клавиатуры, и цифровой код загружается в регистр процессора.

5) Цифровой код сохраняется в памяти, и процессор переходит к выполнению другой задачи.

Благодаря высокой скорости работы, процессор выполняет одновременно большое количество процессов.

Если Вам понравилась эта статья, поделитесь ссылкой на неё в социальных сетях. Это сильно поможет развитию нашего сайта!


Этот адрес электронной почты защищен от спам-ботов. У вас должен быть включен JavaScript для просмотра. Главная Продукция РСУ и ПАЗ РСУ I/A Series

Распределенная система управления I/A Series

Система серии интеллектуальной автоматики (Intelligent Automation, I/A Series) является открытой промышленной системой (OIS), которая интегрирует и автоматизирует производственные операции. Это расширяемая распределенная система, которая позволяет технологической установке методом приращений адаптировать эту систему к требованиям технологического процесса. Модули, которые образуют систему I/A Series, осуществляют связь друг с другом, несмотря на то, что они могут располагаться в разных местах в зависимости от условий и компоновки конкретной технологической установки.

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

Сеть управления Mesh – это коммутируемая сеть Fast Ethernet, основанная на стандартах IEEE 802.3u (Fast Ethernet) и IEEE 802.3z (Gigabit Ethernet). Сеть управления Mesh состоит из ряда коммутаторов Ethernet, подключенных по многоконтурной схеме.

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




Рис. 1-1 Система I/A Series

Система I/A Series представляет набор устройств, каждое из которых называется модулем. Каждый модуль запрограммирован для выполнения конкретных задач, связанных с мониторингом и управлением производственными процессами.
Чтобы отвечать конкретным требованиям технологического процесса, персонал управления технологическим процессом создает или модифицирует программное обеспечение (ПО), которое выполняется внутри этих модулей. Различные типы конфигураций программных и аппаратных средств становятся более понятными и успешно выполняемыми, когда персонал вначале ознакомится с функциями, выполняемыми каждым модулем.
Базовая функция модуля определяют его классификацию, а именно:
Процессорный модуль (Станция)
Модуль Fieldbus (FBM)
Коммутатор Ethernet
С этими модулями связаны различные типы аппаратных средств, такие как периферийные устройства и кабели.



Рис.1-2 Сеть управления Mesh

Функциональные возможности рабочей станции
  • системное программное обеспечение, написанное фирмой Foxboro
  • прикладные программные пакеты, написанные фирмой Foxboro
  • программы, написанные пользователем, и программы сторонних поставщиков.
  • накопители на компакт-дисках
  • накопители на "бегущей" магнитной ленте (стримеры)
  • накопители на жестких дисках (НМД)
  • накопители на гибких дисках (НГМД).
  • монитор рабочей станции;
  • буквенно-цифровая клавиатура;
  • клавиатура оповещений;
  • мышь или шаровой манипулятор;
  • сенсорный экран.
  • выполнять мониторинг и управление параметрами технологического процесса;
  • принимать уведомления об аварийных сигналах технологического процесса.
Управляющие процессоры и модули Fieldbus Управляющий процессор 270 с формфактором Z (ZCP270)

Модули FBM служат в качестве интерфейса между полевыми устройствами и управляющим процессором I/A Series. Они выполняют необходимые преобразования данных, обеспечивая полную поддержку аналоговых измерений, считывания дискретных состояний, аналогового или дискретного управления и цифровой связи. Модули FBM не являются станциями. Физически они меньше станций, и логически они находятся на отдельном коммуникационном канале, называемом Fieldbus.

Модули FBM бывают двух категорий:

  • Аналоговые
  • Дискретные (цифровые), (Вкл – Выкл).
  • 100 Мб/сек сеть управления Mesh до полевого управляющего процессора 270 (FCP270).
  • 100Мб/сек сеть управления Ethernet от управляющего процессора 270 с формфактором Z (ZCP270) до полевого коммуникационного модуля (FCM100Et).

Модули FBM, монтируемые на рейку DIN, и соответствующие блоки ЕСВ

Читайте также: