- процессор
- оперативная память — ОЗУ
- постоянная память — ПЗУ
- генератор тактовой частоты
- таймеры
- порты ввода/вывода
- последовательные интерфейсы
- и много чего еще.
Например, в более «навороченных» контроллерах может быть АЦП (аналого-цифровой преобразователь), ЦАП (наоборот) и прочие прибамбасы. Чего только ни придумают! Но мы с вами, для начала, рассмотрим более простой вариант. Для примера возьмем контроллер фирмы 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)
Наглядное представление сфер применения контроллеров: