Контроллер для чего нужен

  • процессор
  • оперативная память — ОЗУ
  • постоянная память — ПЗУ
  • генератор тактовой частоты
  • таймеры
  • порты ввода/вывода
  • последовательные интерфейсы
  • и много чего еще.

Например, в более «навороченных» контроллерах может быть АЦП (аналого-цифровой преобразователь), ЦАП (наоборот) и прочие прибамбасы. Чего только ни придумают! Но мы с вами, для начала, рассмотрим более простой вариант. Для примера возьмем контроллер фирмы Atmel, AT90s2313.

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

Самый главный элемент любого процессора – арифметико-логический узел (АЛУ). Кстати, по буржуйски он называется так-же – ALU (ariphmetic-logical unit). В нем-то, как вы уже догадались, и происходят все мыслимые и немыслимые арифметические и логические операции над числами. Кстати, насчет чисел: контроллер, как и любая другая цифровая система, работает с двоичными числами. О том, что это такое, я подробно распинался в статье «Что такое digital».

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

Вопрос: а какие бывают арифметические и логические операции? И че эт ваще такое?

Ну, арифметическим операциям нас всех учили еще в 1 классе – это сложение, вычитание, сравнение 🙂
Логические операции – это операции алгебры логики. Вот некоторые из них: «И», «ИЛИ», «НЕ», «исключающее ИЛИ», сдвиг влево, сдвиг вправо.
Также существуют операции, которые ни относятся ни к тем ни к другим: сброс в «0», установка в «1» и т.п.

Чтобы произвести операцию, АЛУ должен взять откуда-то два числа. Выполнив операцию, опять же, должен положить куда-то ответ. Для этих целей служат регистры общего назначения – РОН. Их у нас 16. Каждый регистр – это ячейка памяти емкостью 8 бит. Иначе говоря – 1 Байт. Именно в них и хранятся числа, с которыми работает АЛУ.

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

Пример:
add R16,R17 — сложить значение регистров R16 и R17 и положить ответ в R16
sub R16,R18 — вычесть из R16, R18 и положить ответ в R16
and R24,R17 — произвести операцию «И» с R24 и R17, ответ – в R24
eor R16,R24 — произвести «исключающее ИЛИ» с R16 и R24, ответ – в R16.

Как вы могли заметить, ответ всегда помещается в тот регистр, который назван первым.
Естественно, старое содержимое регистра при этом затирается. Если нам нужно сохранить изначальное содержимое регистра, то перед операцией надо скопировать его в какой-нибудь другой регистр. Иначе – никак.

Основы программирования контроллеров за 5 минут

Оператор копирования – mov

Пример:
mov R16,R17
add R17,R24

Кроме РОН, на схеме присутствует ОЗУ – оперативная память контроллера. Для чего она?
Да для того, чтобы хранить данные при выполнении программы. Регистров ведь – всего 16. Для полноценной работы этого явно недостаточно. В регистрах хранится обычно только те данные, которые будут использоваться непосредственно прямо сейчас. Все остальное удобнее положить в память. Позднее мы поговорим о таких вещах как стек, указатели и пр. Пока что запомним, что память есть.

Ну вот. Откуда АЛУ берет данные для вычислений – разобрались. Теперь разберемся, откуда он берет команды.

А все очень просто!
Для этого существует регистр команд. В этот регистр постепенно выводятся команды той программы, которую выполняет контроллер. Эти команды касаются всего контроллера, а не только АЛУ (как мы помним, в контроллере просто тьма всего). Чтобы «выудить» из общей кучи «свою» команду, АЛУ постоянно заглядывает в регистр команд на предмет, нет ли там что-нить для него. И как только видит – стрелой мчится выполнять.

В регистр команд, команды попадают из программной памяти. Программная память – это ПЗУ (постоянное запоминающее устройство), в котором по каждому адресу записана одна команда. Вместе, все эти команды и составляют программу, и записаны в той последовательности, в какой они стоят в программе.

Чтобы «достать» команду из ПЗУ, надо сказать ему адрес ячейки памяти, в которой лежит эта команда. В ответ, ПЗУ выдаст содержимое этой ячейки. Команды записываются в ячейки в той последовательности, в которой стоят в программе. Поэтому, для того чтобы последовательно «перебирать» команды, достаточно просто каждый раз прибавлять к адресу «1».

Именно этим и занимается счетчик команд.

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

Для этого существуют порты ввода/вывода (ПВВ).

Порт – это пачка однобитных каналов, каждый из которых может быть независимо настроен либо на ввод, либо на вывод.

В контроллере AT90s2313 два ПВВ – PortB и PortD.
PortB состоит из 8-ми каналов,
Portd – из 7-ми.

Эта «культяпость» порта D объясняется простой нехваткой ножек микросхемы. Просто разработчики очень хотели запихнуть все это дело в 20-ножный корпус, и поэтому урезали PortD на один канал.

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

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

Контроллер в вычислительной технике

Управляющий многоплатный контроллер

Контро́ллер (англ. controller, буквально – управитель) в вычислительной технике, электронное устройство, предназначенное для автоматического управления техническим объектом (процессом) по заданному алгоритму . Различают аппаратно-программные и аппаратные контроллеры. Аппаратно-программные контроллеры содержат процессор , память (где размещаются ядро операционной системы , служебные программы, прикладные программы управления объектом и др.), а также аппаратные узлы, реализующие функции ввода-вывода аналоговых и цифровых сигналов , обмена данными в информационно-управляющих сетях и др.; алгоритм управления задаётся программой, исполняемой процессором. Аппаратный контроллер не содержит процессора, алгоритм управления задаётся электронной схемой. Контроллер может также содержать панель управления для задания режимов процесса управления и вывода информации о состоянии системы и др.

По конструктивному исполнению контроллеры подразделяют на встраиваемые, которые монтируются в общий корпус оборудования (агрегат, машину, прибор) и являются его неотъемлемой частью, и внешние (автономные). По назначению различают специализированные контроллеры, предназначенные для управления объектом только одного вида или модели (например, контроллер освещения, контроллер дискового накопителя компьютера), и контроллеры общего назначения, применяемые в относительно широкой области автоматизации (например, контроллеры, используемые в автоматизированных системах управления технологическим процессом). С конца 1970-х гг. широкое распространение получили микроконтроллеры ( микрокомпьютеры , однокристальные компьютеры) – аппаратно-программные контроллеры, выполненные в виде единой сверхбольшой интегральной схемы (интегрирующей на одном кристалле процессор, память, устройства ввода-вывода и др.). Первый микроконтроллер выпущен фирмой Intel (США) в 1976 г. Постоянно расширяется сфера применения контроллеров: с конца 20 в. они используются на производстве (в системах управления технологическими процессами и оборудованием, измерительных системах и др.), транспорте, энергетике, в быту и др.

Опубликовано 1 ноября 2022 г. в 10:30 (GMT+3). Последнее обновление 22 ноября 2022 г. в 23:54 (GMT+3). Связаться с редакцией

Информация

Управляющий многоплатный контроллер

Области знаний: Архитектура и устройства ЭВМ, Конкретные виды изделий нано- и микроэлектроники Область знания: Информационные технологии

Применение

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

Наглядное представление сфер применения контроллеров:

Контроллер

Контроллер — электрический аппарат низкого напряжения, предназначенный для пуска, регулирования скорости, реверсирования и электрического торможения электродвигателей постоянного и переменного тока.

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

Управление контроллером производится обычно вручную рукояткой или маховичком; для дистанционного управления применяют сервомоторы.

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

Плоские контроллеры применяют главным образом там, где требуется большое число ступеней переключения, — для пуска и регулирования электродвигателей мощностью до 30-40кВт.

Барабанные контроллеры чаще других применяют для непосредственного управления электродвигателями мощностью 45 кВт постоянного и 75 кВт переменного тока.

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

Для управления более мощными электродвигателями с большим числом включений (до 600 вкл/ час) более надежными оказываются кулачковые контроллеры с перекатывающимися контактами, которые по сравнению со скользящими имеют значительно большую износостойкость.

Микроконтроллер — микросхема, предназначенная для управления электронными устройствами.

Типичный микроконтроллер сочетает на одном кристалле функции процессора и периферийных устройств, содержит ОЗУ и (или) ПЗУ.

С их появлением началось массовое применение компьютерной автоматизации в области управления.

Преимущества промышленных контроллеров

Внедрение промышленных контроллеров в автоматизированных процессах предлагает множество преимуществ для промышленных предприятий:

Повышенная эффективность и производительность

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

Улучшенный контроль качества

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

Сокращение простоев и затрат на обслуживание

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

Масштабируемость и гибкость

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

Будущее промышленной автоматизации

Развитие промышленной автоматизации продолжает формировать промышленность производства. Несколько новых тенденций будут влиять на будущее промышленных контроллеров:

Интеграция интернета вещей (IoT)

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

Искусственный интеллект (ИИ) и машинное обучение

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

Облачные вычисления и краевые вычисления

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

Модуль связи

Различают два вида передачи данных посредством ПЛК:

Узкополосная обеспечивает скорость обмена на уровне сотен килобит в секунду и передаёт данные между устройствами.

Широкополосную используют для обмена данными и передачи мультимедийного контента на скорости от десятков до сотен мегабит в секунду.

Модуль питания

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

Название языкаОсобенности
LDЯзык лестничных диаграмм, эксплуатируется на базе релейных блокировок. Все алгоритмы выводятся схемами
FBDКонфигурирует код, пишутся типовые подпрограммы. Используется в среде программирования SMLogix
SFCПоследовательные схемы, применяются для ситуаций, когда алгоритмы требуют последовательного управления
STСтруктурированный тип языка, похожий на Pascal
ILИнструкции. Язык используется для создания быстрых программ в низкоуровневом программировании. Из-за простоты исполнения отработка кода ускоряется

Назначение

Получение и обработка исходящих от датчиков сигналов.
Сохранение данных в своей памяти.
Передача данных в компьютер — по запросу пользователя. 4)

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

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

Понятное описание принципа действия контроллера представлено на следующем англоязычном видео:

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

• микроконтроллера (однокристального компьютера), микросхемы предназначенной для управления электронными устройствами, областью применения ПЛК обычно являются автоматизированные процессы промышленного производства, в контексте производственного предприятия;

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

• встраиваемых систем — ПЛК устанавливается отдельно от управляемого при его помощи оборудования. 8)

В данном видео демонстируется управление станком резки металла посредством ПЛК:

Применение

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

Наглядное представление сфер применения контроллеров:

Оцените статью
TutShema
Добавить комментарий