Программируемый логический контроллер и его применение
Содержание
- 1 Входы и выходы
- 2 Принцип работы ПЛК
- 3 ОВЕН ПЛК63/73
- 4 Делаем голову шинного USB-анализатора на базе комплекса Redd
- 5 Моделируем поведение Quartus-проекта на Verilog в среде ModelSim
- 6 Работа
- 7 Что делать, если поймал HardFault?
- 8 Литература
- 9 История
- 10 ________________________________________________________
- 11 ПЛК серии Do-more H2 – новое поколение высокопроизводительных контроллеров от AutomationDirect
- 12 Структура и устройство ПЛК
- 13 Подключение OLED дисплея ssd1306 к STM32 (SPI+DMA)
- 14 Плоские контроллеры
- 15 Программирование
Входы и выходы
В любом контроллере реализованы входы трех типов – дискретные, аналоговые, специальные.
Дискретный вход
Один вход может принять только один сигнал и он будет бинарным. Вход может быть либо включенным, либо выключенным. Один вход — это 1 бит. К этому входу подключают соответствующее оборудование.
Если состояние приборов не удается описать в 1 бит, тогда для работы такого оборудования применяют несколько дискретных входов.
Системное ПО обязательно оснащено драйвером. Он считает физические значения каждого входа в ОЗУ. За счет этого программистам нет нужды понимать, как устроен контролер внутри. Дискретный вход – биты, которые можно читать и изменять из оперативной памяти устройства.
Аналоговый вход
Электрический аналоговый сигнал — это уровень напряжения или тока, соответствующий определенным физическим величинам. Это может быть значение температуры, давления, веса, положения, скорости перемещения, частоты оборотов. Так как ПЛК – это прежде всего вычислительный прибор, то аналоговый сигнал переводится в цифровой. Получается дискретная переменная.
Специальный вход
Обыкновенные входы способны удовлетворить практически все нужды. Необходимость в в спец. входах появляется при трудностях в обработке сигналов.
ПЛК оснащены специализированными входами, позволяющие измерять длительность, фиксировать фронты, подсчитывать импульсы. К примеру, для определения положения валов, используют датчики, способные выдавать импульсы на один оборот. Частота может быть очень высокой. Даже на мощных процессорах процесс занимает много времени. В таких ситуациях и нужны спец. входы, способные первично обрабатывать информацию.
Второй тип таких входов – это входы, которые могут мгновенно запускать команды пользователей с прерываниями на выполнения основного ПО.
Дискретный выход
С одним выходом можно коммутировать только один сигнал. В качестве нагрузки на выходы могут использоваться различные исполнительные устройства.
Принцип работы ПЛК
ПЛК предназначены для автоматического управления дискретными и непрерывными технологическими процессами.
Основные принципы работы ПЛК:
- Цикличность
- Работа в реальном масштабе времени, обработка прерываний
Цикличность работы ПЛК
В одном цикле ПЛК последовательно выполняет следующие задачи:
- Самодиагностика
- Опрос датчиков, сбор данных о текущем состоянии технологического процесса
- Обмен данными с другими ПЛК, промышленными компьютерами и системами человеко-машинного интерфейса (HMI)
- Обработка полученных данных по заданной программе
- Формирование сигналов управления исполнительными устройствами
Время цикла
Время выполнения одного цикла программы зависит от:
- размера программы
- количества удалённых входов-выходов
- скорости обмена данными с распределённой периферией
- быстродействия ЦПУ
Время цикла (время квантования) должно быть настолько маленьким, чтобы ПЛК успевал за скоростью изменения переменных процесса (см. теорию автоматического управления),
в противном случае процесс станет неуправляемым.
Watchdog
Строжевой таймер следит за тем, чтобы время цикла не превышало заданное.
Обработка прерываний
По прерываниям ПЛК запускает специальные программы обработки прерываний.
Типы прерываний:
- Циклические прерывания по времени (например, каждые 5 секунд)
- Прерывание по дискретному входу (например, по сработке концевика)
- Прерывания по программным и коммуникационным ошибкам, превышению времени цикла, неисправностям модулей, обрывам контуров
Модули ПЛК
- Корзина для установки модулей
- Стабилизированный блок питания AC/DC (~220В/=24В)
- Центральное процессорное устройство (ЦПУ) с интерфейсом для подключения программатора,
переключателем режимов работы, индикацией статуса, оперативной (рабочей) памятью, постоянной памятью для хранения программ и блоков данных - Интерфейсные модули для подключения корзин расширения локального ввода-вывода и распределённой периферии
- Коммуникационные модули для обмена данными с другими контроллерами и промышленными компьютерами
- Модули ввода-вывода
- Прикладные модули (синхронизация, позиционирование, взвешивание и т.п.)
Функции устройств ввода
- Электрическое подключение и питание технологических датчиков (дискретных и аналоговых)
- Диагностика состояния (обрыв провода, контроль граничных значений, короткое замыкание и т.п.)
- Формирование цифровых значений (машинных слов) технологических параметров
- Передача этих данных в память ПЛК для дальнейшей обработки
Функции устройств вывода
- Электрическое подключение исполнительных устройств
- Диагностика состояния (обрыв провода, контроль граничных значений, короткое замыкание и т.п.)
- Приём управляющих машинных слов из памяти ПЛК
- Формирование управляющих сигналов (дискретных и аналоговых)
Типы устройств ввода-вывода
- Модули локального ввода-вывода располагаются:
- в одной корзине с ЦПУ
- в соседних корзинах в одном шкафу с ЦПУ
- в корзинах в соседних шкафах в одном помещении с ЦПУ
- Модули распределённого ввода-вывода (децентрализованная периферия) располагаются удалённо (в другом здании или в поле по по месту управления)
и связываются с ЦПУ по промышленной полевой шине. Станции удалённого ввода-вывода могут иметь взрывозащищённое исполнение или повышенный
класс защиты корпуса (например, IP67) и устанавливаться без шкафа
Функции коммуникационных модулей
Коммуникационные модули предназначены для обмена данными:
- с удалёнными модулями ввода-вывода (Profibus, Modbus и др.)
- с программаторами, панелями оператора (HMI) и другими контроллерами
- с полевыми устройствами (HART, Foundation Fieldbus и др.)
- с сервоприводами (SERCOS)
- с промышленными компьютерами верхнего уровня (Industrial Ethernet и др.)
- по радиоканалам (GSM, GPRS)
- по телефонным линиям
- по Internet (встроенные web-серверы публикуют на своих страницах статусную информацию)
ОВЕН ПЛК63/73
А что там с Modbus?
SlaveтутРежим Мастер
- среда программирования;
- легко создать меню с уставками и настройками (Segnetics отдыхает)
- часы и память всегда «с собой»;
- возможность работать с нестандартными протоколами по COM порту;
- больше входов и выходов у ПЛК (в сравнении с Pixel);
- «из коробки» в меню ПЛК можно изменить типы датчиков, посмотреть их показания
- питание от 220В (наверно плюс, хотя придется предусматривать защиту по питанию в виде предохранителей и автоматов — уже был опыт с срабатыванием внутренней защиты по питанию).
- все модификации с питанием только от 220В;
- кнопки ПЛК73;
- модуль расширения только один;
- текстовый дисплей у ПЛК63 большой, но бестолковый — 2 x 16 символов;
- вход в меню с уставками одной кнопкой «Ввод». Мне лично не нравится, т.к. усложняет создание дополнительных меню;
- неудобно переносить меню из одной модели ПЛК в другую (тиражировать однотипные настройки). Приходится создавать заново. Раздражает.
Цены
- ПЛК63-РРРУУУ-L (8DI; 8AI; 3 реле; 3 AO 0-10В) — цена 14 514 р
- ПЛК73-ККККУУУУ-L (8DI; 8AI; 4 транзистора, 4 AO 0-10В) — цена 14 986 р
- МР1-Р (8 реле) — цена 3 953 р.
Segnetics SMH2g и Pixel
А что там с Modbus?
- мало времени для создания типовых программ для вентиляции;
- приятный дизайн оборудования;
- до 8 модулей расширения;
- можно всегда получить Ethernet.
- слабый «язык» программирования;
- отсутствие гальванической изоляции аналоговых входов и выходов (у Pixel);
- «из коробки» нет возможности менять тип аналоговых датчиков;
- нет возможности работать с нестандартными протоколами по COM порту (что-то может получится через linux у SMH2gi, но сама среда программирования такой возможности не даст);
- «плюющиеся» клеммы у Pixel. Наконечник типа НШВИ 1,5-8 частенько будет выталкиваться из клемм при закручивании. Рекомендую длиннее — НШВИ 1,5-12. Иначе рискуете много материться при монтаже.
Цены
- Pixel-2511-02-0 — цена 11 054 р
- Pixel-MR602-00-0 Модуль расширения 6вых. (реле 5А), 2 аналог. вых. (0…10В) — цена 7 206 р
- Pixel-MR120-00-0 Модуль расширения 12вх. (NPN/PNP) — цена 5 190 р
- SMH 2G-4222-01-2 — цена 12 614 р
- SMH 2Gi-0020-31-2 — цена 17 064 р
- MC-0401-01-0 Модуль расширения для SMH 2G/SMH 2Gi; 9вх. (NPN/PNP)/10вых. (5 реле 5А, 5 оптореле 400 мА), 8 аналог. вх. (6 универс., 2 напряжение/ток 0…10В/4…20мА, 24 бит)/4 аналог. вых. (0…10В) — цена 10 582 р
Schneider Electric M171/172
А что там с Modbus?
ModbusВот вам еще 1,5 ложки дегтя:
-
1 ложка – Master режим ВООБЩЕ не работает.
Сколько наш программист не бился, так и не смог запустить. Вместо этого на выходе RS485 мы получали только первый байт посылки. Т.е. адрес опрашиваемого устройства. Так на одном объекте нам пришлось дополнять щит – вставлять Овна ПЛК100, чтоб 100тый выполнял роль Master’a (картинка ниже); - 0.5 ложки – Slave режим на объекте у нас падал в течении 12ти часов работы. Это касалось Modbus TCP. Лечится только сбросом питания. А вот тут уже не знаем чего делать – попробуем перенести опрос на COM порт.
UPDПлюсы
- большая линейка оборудования, модулей расширения;
- много интерфейсов;
- есть модификации ПЛК с большим количеством I/O;
- графический дисплей (старшие модели);
- есть выносная и настенная панель;
- неплохой внешний вид;
- несколько языков программирования.
Минусы
- сырой продукт (во всяком случае, М172). Касается как ПО, так и самих ПЛК;
- недружелюбная среда разработки;
- нет нормальной документации по работе в среде программирования;
- никакой тех поддержки. Дистрибьютор еще чего-то пытался помочь – но и он не особо выручил;
- долгая поставка оборудования. В случае, когда надо все «вчера» – эти ПЛК не ваш выбор.
Цены
- TM172PDG42R ПЛК М172, дисплей, 42 I/O, Eth — цена 26 991 р
- TM172ASCTB42 Терминальный блок с винтами на 42 вх/вых — цена 1 159 р
- TM172PDG28R ПЛК М172, дисплей, 28 I/O, Eth — цена 19 283 р
- TM172ASCTB28 Терминальный блок с винтами на 28 вх/вых — цена 989 р
Делаем голову шинного USB-анализатора на базе комплекса Redd
В прошлой паре статей мы рассмотрели пример «прошивки» для комплекса Redd, делающей его ПЛИСовую часть логическим анализатором общего применения. Дальше у меня было желание сделать следующий шаг и превратить его в шинный USB-анализатор. Дело в том, что фирменные анализаторы такого вида очень дорогие, а мне необходимо провести проверку, почему одна и та же USB поделка, если её подключить к машине, работает, а если включить машину, когда всё уже воткнуто в разъём, не работает. То есть, программные анализаторы тут не справятся. По мере написания я как-то увлёкся и написал блок из пяти статей. Теперь можно сказать, что в них показан не только сам анализатор, но и типовой процесс его создания в режиме «на скорую руку». В статье будет показано, как сделать такой анализатор не только на базе Redd, но и на готовых макетных платах, которые можно приобрести на Ali Express.
Моделируем поведение Quartus-проекта на Verilog в среде ModelSim
В прошлой статье мы сделали достаточно сложный модуль. Разумеется, я вставил в тело статьи уже отлаженный результат
Но мне показалось, что достаточно странно, когда автор говорит «делай, как я», но при этом не показывает очень важного процесса. Давайте я покажу, как вообще проводится отладка системы путём моделирования
Причём в следующей статье будут содержаться сведения, которые ещё неделю назад не знал даже я. Но, чтобы перейти к ним, надо разобраться с базовыми принципами. Итак. Давайте рассмотрим, как быстро подготовить и не менее быстро запустить процесс моделирования в среде ModelSim.
Работа
Если вам действительно нравится идея программировать микроконтроллеры, создавая уникальные современные гаджеты, то найти вакансии себе по душе не составит труда. Люди данной профессии востребованы, причём как в стартапах, так и в крупных прогосударственных структурах, в том числе военных.
Финансово трудно придётся новичкам (до 1 года опыта): зарплата в районе 20 тыс. рублей в месяц для программиста МК. Это вполне реальная цифра в регионах. Зато если вы живёте в столице, у вас есть опыт работы с популярным видом МК (от 3 лет активной деятельности) и голова на плечах, то вполне можно рассчитывать и на 150 тыс. рублей в месяц. В целом, не сказать, что конкуренция за места у данных разработчиков высокая, но с течением времени она неизбежно растёт.
Опять же, для людей с опытом есть вариант поискать счастье за границей. Особенно если у вас уже есть опыт полноценной работы. Дело в том, что в России идея IoT пока не слишком развивается. Да и вообще автоматизация пока не затрагивает небольшие системы. А в США, Японии и других развитых странах хороший разработчик ПО для МК — на вес золота. Правда, придётся учитывать иной уровень конкуренции и серьёзные требования по производительности труда.
Что делать, если поймал HardFault?
Что делать, если поймал HardFault? Как понять, каким событием он был вызван? Как определить строчку кода, которая привела к этому? Давайте разбираться.
Всем привет! Сложно найти программиста микроконтроллеров, который ни разу не сталкивался с тяжелым отказом. Очень часто он никак не обрабатывается, а просто остаётся висеть в бесконечном цикле обработчика, предусмотренном в startup файле производителя. В то же время программист пытается интуитивно найти причину отказа. На мой взгляд это не самый оптимальный путь решения проблемы.
В данной статье я хочу описать методику анализа тяжелых отказов популярных микроконтроллеров с ядром Cortex M3/M4. Хотя, пожалуй, «методика» — слишком громкое слово. Скорее, я просто разберу на примере то, как я анализирую возникновение тяжелых отказов, и покажу, что можно сделать в подобной ситуации. Я буду использовать программное обеспечение от IAR и отладочную плату STM32F4DISCOVERY, так как эти инструменты есть у многих начинающих программистов. Однако это совершенно не принципиально, данный пример можно адаптировать под любой процессор семейства и любую среду разработки.
Литература
- Э. Парр. Программируемые контроллеры: руководство для инженера. — М.: БИНОМ. Лаборатория знаний, 2007. — 516 с. ISBN 978-5-94774-340-1
- Петров И. В. Программируемые контроллеры. Стандартные языки и приемы прикладного проектирования / Под ред. проф. В. П. Дьяконова. — М.: СОЛОН-Пресс, 2004. — 256 c. ISBN 5-98003-079-4
- Денисенко В. В. Компьютерное управление технологическим процессом, экспериментом, оборудованием. — М: Горячая Линия-Телеком, 2009. — 608 с. ISBN 978-5-9912-0060-8
- Минаев И. Г. Программируемые логические контроллеры. Практическое руководство для начинающего инженера. /И. Г. Минаев, В. В. Самойленко — Ставрополь: АГРУС, 2009. — 100 с. ISBN 978-5-9596-0609-1
- Минаев И. Г. Программируемые логические контроллеры в автоматизированных системах управления / И. Г. Минаев, В. М. Шарапов, В. В. Самойленко, Д. Г. Ушкур. 2-е изд., перераб. и доп. — Ставрополь: АГРУС, 2010. — 128 с. ISBN 978-5-9596-0670-1
- О. А. Андрюшенко, В. А. Водичев. Электронные программируемые реле серий EASY и MFD-Titan. — 2-е изд., испр. — Одесса: Одесский национальный политехнический университет, 2006. — С. 223.
- Минаев И.Г. Свободно программируемые устройства в автоматизированных системах управления / И.Г. Минаев, В.В. Самойленко, Д.Г. Ушкур, И.В. Федоренко — Ставрополь: АГРУС. 2016. — 168 с. ISBN 978-5-9596-1222-1
История
Первые логические контроллеры появились в виде шкафов с набором соединённых между собой реле и контактов. Эта схема не могла быть изменена после этапа проектирования и поэтому получила название — жёсткая логика. Первым в мире, программируемым логическим контроллером, в 1968 году стал Modicon 084 (1968) (от англ. modular digital controller), имевший 4 кБ памяти.
Термин PLC ввел Одо Жозеф Стругер (англ.)русск. (Allen-Bradley) в 1971 году. Он также сыграл ключевую роль в унификации языков программирования ПЛК и принятии стандарта IEC61131-3. Вместе с Ричардом Морли (англ.)русск. (Modicon) их называют ‘отцами ПЛК’. Параллельно с термином ПЛК в 1970-е годы широко использовался термин микропроцессорный командоаппарат.
В первых ПЛК, пришедших на замену релейным логическим контроллерам, логика работы программировалась схемой соединений LD. Устройство имело тот же принцип работы, но реле и контакты (кроме входных и выходных) были виртуальными, то есть существовали в виде программы, выполняемой микроконтроллером ПЛК. Современные ПЛК являются свободно программируемыми.
________________________________________________________
Для каждого типа микроконтроллера есть свой заголовочный файл. Для ATMega8535 этот файл называется iom8535.h, для ATMega16 – iom16.h. По идее мы должны в начале каждой программы подключать заголовочный файл того микроконтроллера, который мы используем. Умные люди немного облегчили нам жизнь и написали заголовочный файл ioavr.h. Препроцессор обрабатывает этот файл и в зависимости от настроек проекта включает в нашу программу нужный заголовочный файл. Итак, следущая строчка программы #include <ioavr.h> В нашей программе мы будем использовать задержку. Задержку можно реализовать программно и аппаратно. Сейчас нас интересует программная задержка. IAR содержит библиотеку, в которой уже есть готовая функция задержки. Нам нужно подключить к нашей программе эту библиотеку. Как это сделать? Каждая библиотека имеет свой заголовочный файл в котором описано какие фукции она содержит. Этот файл мы и должны включить в программу. Делается это, как вы догадались с помощью директивы #include.#include <intrinsics.h> Основу любой сишной программы составляют функции, и любая программа на Си имеет хотя бы одну функцию – main().Вообще-то на примере main() не хотелось бы объяснять синтаксис функций, потому что main() хоть и является функцией, но вызывается не как обычно, а автоматически. С этой функции микроконтроллер начинает выполнение написанной нами программы. Вызовы всех других функций, наших или библиотечных, должны быть записаны в коде. Как вызывается функция, мы увидим дальше.У функции есть заголовок – int main(void) и тело – оно ограниченно фигурными скобками {}. В тело функции мы и будем добавлять наш код.
ПЛК серии Do-more H2 – новое поколение высокопроизводительных контроллеров от AutomationDirect
ООО “ПЛКСистемы”, официальный дистрибьютор AutomationDirect в России, представляет новое поколение программируемых контроллеров на базе серии DirectLOGIC DL205 – Do-more H2 с совершенно новым программным обеспечением Do-more Designer. Новая серия представлена двумя процессорами H2-DM1 и H2-DM1E, устанавливаемыми в существующие каркасы серии DL205, и счетным модулем с увеличенной производительностью H2-CTRIO2.
Линейка продуктов Do-more H2 построена на базе испытанной серии программируемых контроллеров DirectLOGIC DL205, но с усиленными характеристиками по ёмкости памяти, производительности и наличию порта Ethernet. Новые процессоры Do-more H2-DM1 и H2-DM1E устанавливаются в существующие каркасы и поддерживают все модули ввода/вывода серии DL205. Программирование серии ПЛК Do-more H2 осуществляется с помощью бесплатного программного обеспечения Do-more Designer с мощным, интуитивно понятным набором новых инструментов программирования.
Новый высокоскоростной модуль счетчика H2-CTRIO2 имеет четыре независимо настраиваемых канала таймеров/счетчиков (до 250 кГц) и два импульсных выходных генератора (до 250 кГц).
Основные характеристики процессоров Do-more:
- 192k слов общая память
- 64k слов память программ flash
- 128k слов память пользовательских данных (SRAM с батарейной поддержкой)
- Программирование на языке релейной (лестничной) логики
- Часы реального времени/календарь
- Два (H2-DM1) или три (H2-DM1E) встроенных коммуникационных порта:
- Порт RS-232 – поддержка программирования, K-sequence slave, MODBUS RTU master/slave и ASCII IN/OUT
- Порт USB – поддержка программирования
- Порт Ethernet (только H2-DM1E) – поддержка программирования, TCP/IP, UDP/IP и Modbus/TCP
- Безударное динамическое редактирование
- До 2000 PID контуров
- Предустановленна back-up батарея
- Поддержка до 256 локальных вводов/выводов и свыше тысячи удаленных при использовании модулей удаленного расширения Ethernet
- Процессоры Do-more программируются при помощи программного обеспечения Do-more Designer (доступно для бесплатного скачивания здесь)
Примечание: Программное обеспечение, написанное с помощью пакета программирования DirectSOFT, не совместимо с процессорами Do-more, так же как и существующие процессоры серии DirectLOGIC DL205 (D2-230, D2-240, D2-250 (-1) и D2-260) не могут быть запрограммированы при помощи пакета программирования Do-more Designer.
10.09.2012
возврат к списку
Структура и устройство ПЛК
Контроллер можно образно предоставить в формате мини-компьютера, но очень компактного и с особенностями. ПЛК, как и ПК, состоят из оперативной памяти, процессора, вспомогательного периферийного оборудования. Однако, дело еще и в том, что промышленные контроллеры должны выполнять не только расчетные задачи, как ПК, но и заниматься сбором информации от массы устройств – это датчики, сенсоры. Также контроллер и выдают сигналы в цепи.
Сейчас выпускаются контроллеры в различных форм-факторах. Это:
- Устройство типа «всё в одном». В одном корпусе объединен процессор, память, выходы/входы;
- Распределенные решения – процессорный модуль с обвязкой сделан в виде отдельного блока, а по шине или через интерфейсы подключатся модули для вывода и ввода.
Первые модели встречаются очень часто, однако, они рассчитаны на эксплуатацию в малых объектах и системах, где нужно обрабатывать малое количество сигналов.
Второй вид контроллеров используют в промышленности гораздо шире – производства с полнофункциональными АСУ требуют значительно большего числа сигналов, которые требуется обрабатывать. Если производство масштабное, то удобнее разнести модули вводы вывода по территории с объединением в единую сеть, которая подчиняется отдельному логическому контроллеру. Такие сети называют полевыми сетями или fieldbus. К этой седи подключаются датчики, исполнительные системы, которые являются интеллектуальными, так как имеют эту возможность.
Существует масса видов полевых сетей. Стандарт IEC61158 (МЭК61158) включает в себя 8 видов сетей. А до введения этого стандарта каждый производитель придумывал и использовал свою полевую сеть.
В структуре ПЛК имеется базовые компоненты:
- Модуль процессора;
- Блок питания;
- Модули для ввода/вывода.
Процессорный модуль оснащен встроенной памятью. Имеются разъемы для программатора, удаленных устройств, для подключения к сетям. Питание реализовано в виде отдельного блока. Модули могут быть дискретными либо аналоговыми.
В зависимости от того, сколько каналов для ввода и вывода и какой тип процессора, модули ввод/вывод могут быть установлены на одном шасси с ЦП или на нескольких. До конца 80-х годов модули для ввода и вывода данных располагались отдельно от процессора. В стандартном контроллере современного типа модуль входов и выходов находится на одном шасси с микропроцессором. Некоторые ПЛК позволяют устанавливать более одного микропроцессора.
Модели меньших размеров очень часто предназначены под DIN-рейку. Самые компактные микро или даже нано устройства имеют всю систему, включая адаптер питания и систему ввода/вывода в одном корпусе. Микро-контроллеры иногда оборудуются встроенными панелями для настройки и мониторинга. Большинство микро-решений имеют определенное количество каналов входов/выходов и увеличить их не возможно. Как пример — плата ардуино
Подключение OLED дисплея ssd1306 к STM32 (SPI+DMA)
В данной статье будет описан процесс подключение oled дисплея с контроллером ssd1306 разрешением 128×64 к микроконтроллеру stm32f103C8T6 по интерфейсу SPI. Также мне хотелось добиться максимальной скорости обновления дисплея, поэтому целесообразно использовать DMA, а программирование микроконтроллера производить с помощью библиотеки CMSIS.
Подключение
Подключать дисплей к микроконтроллеру будем по интерфейсу SPI1 по следующей схеме:
- VDD-> +3.3В
- GND-> Земля
- SCK -> PA5
- SDA -> PA7(MOSI)
- RES-> PA1
- CS-> PA2
- DS-> PA3
Передача данных происходит по возрастающему фронту сигнала синхронизации по 1 байту за кадр. Линии SCK и SDA служат для передачи данных по интерфейсу SPI, RES — перезагружает контроллер дисплея при низком логическом уровне, CS отвечает за выбор устройства на шине SPI при низком логическом уровне, DS определяет тип данных (команда — 1/данные — 0) которые передаются дисплею. Так как с дисплея ничего считать нельзя, вывод MISO использовать не будем.
Плоские контроллеры
Для плавного
регулирования поля возбуждения крупных генераторов и пуска в ход и
регулирования частоты вращения мощных электродвигателей необходимо иметь
большое количество ступеней. Применение кулачкового контроллера в таком случае
не целесообразно, так как повышение количества ступеней ведет к резкому
увеличению габаритов устройства.
Количество операций в
час при пуске и регулировании невелико (порядка 10 – 12 в час). Исходя из
этого, нет повышенных требований к контроллеру в отношении
износоустойчивости. В таком случае
широкое распространение получили плоские контроллеры.
Ниже на рисунке показан общий вид плоского контроллера для регулирования цепи возбуждения.
Имеющие форму призмы неподвижные контакты 1 закреплены на изоляционной плите 2 и являются основанием контроллера. Расположение неподвижных контактов по линии дает возможность иметь большее количество ступеней. При той же длине контроллера число ступеней можно увеличить путем добавления параллельного ряда контактов, сдвинутого относительно первого ряда. Число ступеней удваивается при сдвиге на пол шага. В траверсе 3 располагается щетка и изолируется от него. Нажатие осуществляется цилиндрической пружиной. Передача тока с контактной щетки 4 на выходной зажим осуществляется с помощью токосъемной шины 5 и токосъемной щетки. Контроллер может производить переключения одновременно в трех независимых цепях. С помощью двух винтов 6 может перемещаться траверса, приводимая в движение вспомогательным двигателем 7. При выполнении наладочных работ траверса может приводиться в движение вручную с помощью рукоятки 8. Траверса воздействует на конечные выключатели 9, которые останавливают двигатель, в конечных положениях. Для точной остановки контактов на желаемой позиции скорость контактов берется малой (5-7)·10-3 м/с, а двигатель должен иметь возможность торможения. Также плоский контроллер может иметь и ручной привод.
Между неподвижными и
подвижными контактами при размыкании появляется напряжение, равное падению
напряжения на ступени. Для избегания появления электрической дуги, допустимое
падение напряжения на ступени берется от 10 В (при токе 200 А) до 20 В (при
токе 100 А). Допустимое количество включений в час определяется износом
контактов и, как правило, не превышает 10 – 12. В случае, если напряжение на
ступени 40 В – 50 В, то применяют специальный контактор, который замыкает
соседние контакты во время перемещения щетки.
В случаях, когда необходимо производить коммутацию цепи при токах 100 А и с частотой включения превышающей 600 включений в час, применяют систему, состоящую из командоаппарата и контактора.
Программирование
Программирование контроллеров осуществляется в профессиональной, распространенной среде CoDeSys v.2.3.x, максимально соответствующей стандарту МЭК 61131:
- поддержка 5 языков программирования, для специалистов любой отрасли;
- мощное средство разработки и отладки комплексных проектов автоматизации на базе контроллеров;
- функции документирования проектов;
- количество логических операций ограничивается только количеством свободной памяти контроллера;
- практически неограниченное количество используемых в проекте счетчиков, триггеров, генераторов.
Получить более подробную информацию по системе программирования CoDeSys можно скачав архив.zip