Arduino PLC на BDF и LAD — Мир науки,техники,медицины и образования © первая научно-техническая коммерческая социальная сеть
В настоящее время в мире начался бум по использованию микроконтроллеров в различных самоделках и стартапах. Действительно, цены на микроконтроллеры упали, а возможности их постоянно растут. Да и наши друзья, китайцы, научились изготавливать периферию к ним, и продают её, к тому же, по смешным ценам. Но вот с программированием микроконтроллеров всё не так радужно…
С чего всё началось и как развивалось
С самого момента появления микропроцессоров развитие принципов работы с ними идет по пути роста абстракции. Первый этап представлял программирование непосредственно в машинных кодах. Программирование было сложным, долгим и требовало очень специфичного склада ума. Поэтому программистов было очень мало.
Но человек существо ленивое, а лень, как известно, двигатель прогресса. Придумали первый уровень абстракции – ассемблер. Писать программы стало проще и веселее. Количество программистов возросло. Но все равно ассемблер не очень сильно отличался от машинных кодов.
Поэтому появился следующий уровень абстракции. Языки высокого уровня. Основной целью этих языков была возможность объяснить машине, что от нее хотят, на языке максимально приближенном к человеческому. Это позволяло заниматься программированием людям с менее специфичным складом ума. Поэтому с развитием языков высокого уровня количество программистов росло, и соответственно росло количество полезных программ, которые они создавали.
Как дела обстоят сейчас
Конечно, для начала работы непосредственно с контроллером требуется определенная подготовка. То есть, необходимы программатор, настроенная среда для программирования на компьютере, ну и, естественно, знание языка программирования. Кроме того, требуется умение в работе с паяльником, разработке печатных плат, знания в электротехнике и электронике. Так что порог вхождения в область создания собственных устройств на микроконтроллерах остается высоким.
Кроме того, для такой работы требуется сочетание навыков, которые достаточно редко встречаются вместе. Программисты редко дружат с паяльником, а электронщики не часто являются программистами. Для программистов проблему решили созданием платы Arduino, которая позволяет собирать устройства без использования инструментов.
Рис.1 Различные платы Arduino
Для электронщиков и электриков все хуже. До последнего времени, для того, чтобы создать свое устройство с применением микроконтроллера, у них было два пути. Либо самим изучать язык программирования «С», либо просить помощи у программиста. Оба пути не самые лучшие. Для того что бы стать программистом, необходим определенный склад ума, не всегда совместимый с опытом чтения электрических схем. А знакомого программиста может не оказаться под рукой.
В то же время, давно существуют среды программирования адаптированные под обычного инженера – электронщика, ну или просто электрика. Я имею в виду среды программирования промышленных контроллеров. ПЛК. Они позволяют создавать программное обеспечение для контроллеров на языках FBD и LAD. Собственно говоря, как таковыми языками они не являются. Это, скорее, графические среды для рисования принципиальных или логических схем.
FBD (Function Block Diagram)
– графический язык программирования стандарта МЭК 61131-3. Программа образуется из списка цепей, выполняемых последовательно сверху вниз. При программировании используются наборы библиотечных блоков.
Блок (элемент) – это подпрограмма, функция или функциональный блок (И, ИЛИ, НЕ, триггеры, таймеры, счётчики, блоки обработки аналогового сигнала, математические операции и др.).
Каждая отдельная цепь представляет собой выражение, составленное графически из отдельных элементов.
К выходу блока подключается следующий блок, образуя цепь. Внутри цепи блоки выполняются строго в порядке их соединения.
Результат вычисления цепи записывается во внутреннюю переменную либо подается на выход контроллера.
Ladder Diagram (LD, LAD, РКС)
– язык релейной (лестничной) логики.
Синтаксис языка удобен для замены логических схем, выполненных на релейной технике. Язык ориентирован на инженеров по автоматизации, работающих на промышленных предприятиях. Обеспечивает наглядный интерфейс логики работы контроллера, облегчающий не только задачи собственно программирования и ввода в эксплуатацию, но и быстрый поиск неполадок в подключаемом к контроллеру оборудовании.
Программа на языке релейной логики имеет наглядный и интуитивно понятный инженерам-электрикам графический интерфейс, представляющий логические операции, как электрическую цепь с замкнутыми и разомкнутыми контактами. Протекание или отсутствие тока в этой цепи соответствует результату логической операции (истина – если ток течет; ложь – если ток не течет). Основными элементами языка являются контакты, которые можно образно уподобить паре контактов реле или кнопки. Пара контактов отождествляется с логической переменной, а состояние этой пары – со значением переменной.
Различаются нормально замкнутые и нормально разомкнутые контактные элементы, которые можно сопоставить с нормально замкнутыми и нормально разомкнутыми кнопками в электрических цепях.
Такой подход оказался очень удобным для легкого вхождения в разработку систем АСУ инженеров-электриков и электронщиков. Разрабатывая проекты установок, они могли легко привязать работу этих установок к алгоритмам работы контроллера. В обслуживании этих установок на объекте также лучше, когда существующий обслуживающий персонал может легко проверить работу системы АСУ, найти проблему. И при этом нет необходимости вызывать по каждому пустяку программиста из «Центра». И это подход себя оправдал. На сегодняшний день почти все системы промышленной автоматики созданы с помощью таких средств разработки.
Такая среда разработки есть у Siemens, ABB, Schneider Electric… да и практически у всех производителей ПЛК. Казалось бы, идеальное решение для любителей самоделок. Но, как всегда есть «но». Все эти среды программирования привязаны к промышленным контроллерам определённого производителя. И цены на эти контроллеры мало вдохновляют. Очень редко какой семейный бюджет позволит приобрести контроллер ценой в несколько сот долларов.
Зато платы Arduino идеально подходят для самодельщиков и кулибиных, на которых держится мир. Но, опять «но». Программируются эти платы на языке C. Для большинства этих умнейших людей, язык С. это непостижимая азбука. Они могут придумать, нарисовать, собрать, отладить и запустить сложнейшие схемы, но If, For, Case, Void и т.п. — это не для них. Конечно, можно почитать инструкции в интернете, поиграться какое-то время, помигать светодиодом с помощью примера. Но для более серьезного применения необходимо детальное изучение языка. А зачем им это?
Они не собираются быть профессиональными программистами. У них другой путь. Они что-то придумали. Да, это проще и красивее собрать с помощью микроконтроллера, но становится для этого программистом, потратив месяцы на изучение языка? Нет, конечно. Собирают по старинке, попроще, конечно, но в своей области.
На основании всех этих выкладок и был создан проект FLProg. Основная идея проекта – совместить принципы промышленного программирования с дешевизной и удобством Arduino. Проект предлагает новый уровень абстракции с довольно смелым заявлением –
В результате получился инструмент, позволяющий создавать свои проекты на Arduino любому человеку, знакомому с электротехникой и электроникой, позволяющий создать свое изделие с использованием данных плат.
Проект состоит из двух частей.
Первая часть — это десктоп-приложение FLProg, представляющее собой графическую среду программирования плат Arduino.
Вторая, это интернет ресурсы по FLProg, с помощью которых члены сообщества пользователей программы могут пообщаться между собой, узнать последние новости проекта, скачать последнюю версию программы и найти необходимую информацию по работе с приложением.
Начнем по порядку
Программа FLProg позволяет создавать прошивки для плат Arduino с помощью графических языков FBD и LAD, которые являются стандартом в области программирования промышленных контроллеров. При создании программы яавтор постарался максимально использовать наработки программистов Siemens, ABB, Schneider Electric в их средах программирования.
Еще автор немного расширил классический функционал этих языков, добавив функциональные блоки, отвечающие за работу с внешними устройствами. Они являются «обертками» над библиотеками, предназначенными для работы с ними. Программа работает на компьютере под управлением OS Windows, Linux-32 и Linux-64
При создании нового проекта вам предложат выбрать язык программирования, на котором вы будете создавать проект, и контроллер, на котором этот проект будет реализован.
Вот список плат Arduino, поддерживаемых программой на сегодняшний день:
Arduino Diecimila
Arduino Duemilanove
Arduino Leonardo
Arduino Lilypad
Arduino Mega 2560
Arduino Micro
Arduino Mini
Arduino Nano (ATmega168)
Arduino Nano (ATmega328)
Arduino Pro Mini
Arduino Pro (ATmega168)
Arduino Pro (ATmega328)
Arduino Uno
Intel-Galileo
Со временем, планируется поддержка плат основанных на контроллерах STM.
Проект в FLProg представляет собой набор плат, на каждой из которых собран законченный модуль общей схемы. Для удобства работы каждая плата имеет наименование и комментарии. Так же каждую плату можно свернуть (для экономии места в рабочей зоне, когда работа над ней закончена) и развернуть. Красный индикатор в наименовании платы указывает на то, что в схеме платы есть ошибки.
Вид окна программы в режиме языка FBD. |
Вид окна программы в режиме языка LAD. |
В правой части рабочей зоны расположена библиотека элементов. В схему элементы переносятся простым перетаскиванием. При двойном клике по элементу будет показана информация о нём.
Вот список блоков доступных на сегодняшний день.
FBD:
Базовые элементы [XOR] Специальные блоки [Scale] Триггеры [SR] Таймеры [Generator] Счетчики [Counter] Математика [SUM(+)] Сравнение [Comparator] Com –порт Send Переключатель [SWITCH] | Моторы ServoMotor Часы реального времени [Alarm] Дисплеи Дисплей на чипе НD44780 Строки Сложение строк Датчики [Ultrasonic HC-SR04] SD карта Запись переменной на SD карту Конвертация типов Преобразование строк Микросхемы расширений Расширитель выводов 74HC595 Операции с битами Шифратор Разное Матричная клавиатура EEPROM Запись в EEPROM Коммуникации SendVariableFromCommunication |
LAD:
Базовые блоки Контакт Специальные реле Двустабильное реле Алгебра SIN Аналоговые блоки Масштабирование CommPort Передача в ComPort Моторы Сервомотор Часы реального времени Получить данные | Дисплеи Дисплей на чипе HD44780 Строки Сложение строк Датчики Ультразвуковой дальномер HC-SR04 SD карта Запись переменной на SD карту Конвертирование типов Конвертация строк Микросхемы расширений Расширитель выводов 74HC595 Операции с битами Шифратор Разное Матричная клавиатура EEPROM Запись в EEPROM Коммуникации Блок отправки переменной через коммуникации |
В настоящее время ведется разработка функциональных блоков для работы с трехосевым гироскопом, люксометром, и другими датчиками и сенсорами. Также ведется работа над организацией обмена данными через , радиоканал, и Wifi. В дальнейших планах. разработка SCADA-системы для организации интерфейса систем, разработанных в программе FLProg на персональном компьютере или графических дисплеях.
Список периферийного оборудования, поддерживаемого программой, доступен на здесь
Датчики температуры и влажности DHT11, DHT21, DHT22. |
Для части оборудования в разделе на сайте присутствуют обзорные статьи, облегчающие понимание применения его в программе.
В верхней части рабочей зоны расположен список тэгов (переменных и входов выходов) (FBD) или установленного оборудования (LAD). Тэги или оборудование переносятся на схему простым перетаскиванием.
После завершения работы над проектом производится его компиляция. После компиляции автоматически откроется программа «Arduino 1.5.7» с загруженным скетчем вашего проекта. В программе «Arduino IDE 1.5.7» вам необходимо будет указать номер COM порта, к которому подключен ваш контроллер, выбрать его тип, и произвести заливку скетча в контроллер. Подробнее о программе «Arduino IDE 1.5.7» можно почитать на сайте Arduino.
Графическая среда разработки для контроллеров Arduino
Автоматизация и робототехника очень плотно входит в нашу жизнь. Интернет-магазины буквально ломятся от всяких различных плат, контроллеров, компьютеров, датчиков и т.д. Самые бюджетные платы из всех это преимущественно Arduino. У них своя собственная среда разработки, которая требует каких-то элементарных навыков программирования. А что делать «Непрограммистам»? Технологам например? Или человеку, который хочет внедрить узел автоматики или собрать инкубатор за «Дёшево»? Как раз существует для Arduino графическое программирование, то есть с помощью функциональных блоков.
Приветствую, уважаемые посетители блога. На связи с вами автор, Гридин Семён. Сегодня мы с вами поговорим о языке программирования. Но, не о том, к которым вы привыкли, писать строчки кода, компилировать, соблюдать синтаксис.
А о графическом языке программирования. Ну о стандартах МЭК вы наверное уже знаете, для непосвящённых есть отдельная статья.
Для плат Arduino тоже разработана среда, в которой можно писать технологические программы, не зная тонкостей строения кода. Имя среды разработки — FLprog.
Как-то я косвенно писал о ней в своих статьях. Сегодня мы рассмотрим поподробнее.
Установка и запуск среды разработки FLprog
Заходим на официальный сайт FLprog, скачиваем программу. На сайте есть форум, если у вас будут какие-то технические трудности, вы можете обратиться за помощью.
Далее следует стандартная установка пакетов программ.
Запускаем:
Нам предлагаю выбрать проект для SCADA или для контроллера. Для начала рассмотрим проект для контроллера:
Тут в принципе есть два языка программирования по стандарту МЭК — лестничные диаграммы, релейная схема (LD), либо графические блоки (FBD). Кому как удобно, кто как привык. Я выбираю FBD.
С левой стороны дерево проектов, посередине полотно, с правой стороны свойства и все необходимые элементы.
Чем-то очень напоминает вот это (оболочка CoDeSyS 3.5)
Или вот это (оболочка Owen Logic ПР110)
Делаем первый проект на FLProg
Ну что же, первый проект мы с вами уже настроили. Осталось добавить несколько элементов, скомпилировать, связаться с Arduino UNO, залить проект и радоваться.
Давайте попробуем просто помигать 13 светодиодом на плате, самое простое.
После того, как всё добавили и связали, можно соединяться с нашей платой и пробовать.
На самом деле в этой среде достаточно много возможностей. Тут можно подцепить дополнительные модули или контроллеры по Modbus — протоколу.
В правой части проекта можно добавлять различные триггеры, таймеры, счётчики. Можно прицепить датчики, двигатели, различные генераторы перетаскиванием элементов с помощью мыши. Настройки блоков достаточно простые.
Заметьте, я сейчас рекламой не занимаюсь. Я НЕ РЕКЛАМИРУЮ данную среду разработки. Деньги мне за неё не платили. И я не являюсь одним из разработчиков дистрибутива. Я пишу об FLProg потому, что продукт достаточно качественный и хороший.
Программа — бомба!! Спасибо ребятам за такой продукт. Всё достаточно наглядно, понятно и доступно. В принципе в этой программе сможет с лёгкостью разобраться любой.
Удачных вам проектов! До встречи в следующих статьях.
С уважением, Гридин Семён
FLProg – альтернативная среда программирования Arduino. Описание проекта
В предыдущем посте я рассказал о предыстории появления проекта FLProg. Сейчас я хочу поподробнее рассказать о проекте и его состоянии на сегодняшний день.
Основной целью проекта является включение в круг пользователей плат Arduino людей незнакомых с программированием. Это возможно благодаря опыту промышленного программирования, который накапливался годами производителями промышленных контроллеров.
Проект состоит из двух частей. Первая часть это десктоп приложение FLProg представляющее собой графическую среду программирования плат Arduino. Во вторых, это сайт FLProg.ru, с помощью которого члены сообщества пользователей программы могут пообщаться между собой, узнать последние новости проекта, скачать последнюю версию программы, ну и найти необходимую информацию по работе с приложением.
Начнем по порядку.
Программа FLProg позволяет создавать прошивки для плат Arduino с помощью графических языков FBD и LAD, которые являются стандартом в области программирования промышленных контроллеров.
FBD (Function Block Diagram) — графический язык программирования стандарта МЭК 61131-3. Программа образуется из списка цепей, выполняемых последовательно сверху вниз. При программировании используются наборы библиотечных блоков. Блок (элемент) — это подпрограмма, функция или функциональный блок (И, ИЛИ, НЕ, триггеры, таймеры, счётчики, блоки обработки аналогового сигнала, математические операции и др.). Каждая отдельная цепь представляет собой выражение, составленное графически из отдельных элементов. К выходу блока подключается следующий блок, образуя цепь. Внутри цепи блоки выполняются строго в порядке их соединения. Результат вычисления цепи записывается во внутреннюю переменную либо подается на выход контроллера.
Ladder Diagram (LD, LAD, РКС) — язык релейной (лестничной) логики. Синтаксис языка удобен для замены логических схем, выполненных на релейной технике. Язык ориентирован на инженеров по автоматизации, работающих на промышленных предприятиях. Обеспечивает наглядный интерфейс логики работы контроллера, облегчающий не только задачи собственно программирования и ввода в эксплуатацию, но и быстрый поиск неполадок в подключаемом к контроллеру оборудовании. Программа на языке релейной логики имеет наглядный и интуитивно понятный инженерам-электрикам графический интерфейс, представляющий логические операции, как электрическую цепь с замкнутыми и разомкнутыми контактами. Протекание или отсутствие тока в этой цепи соответствует результату логической операции (истина — если ток течет; ложь — если ток не течет). Основными элементами языка являются контакты, которые можно образно уподобить паре контактов реле или кнопки. Пара контактов отождествляется с логической переменной, а состояние этой пары — со значением переменной. Различаются нормально замкнутые и нормально разомкнутые контактные элементы, которые можно сопоставить с нормально замкнутыми и нормально разомкнутыми кнопками в электрических цепях.
Я немного расширил классический функционал этих языков, добавив функциональные блоки, отвечающие за работу с внешними устройствами. Они являются обертками, над библиотеками, предназначенными для работы с ними.
Вид окна программы в режиме языка FBD
Вид окна программы в режиме языка LAD
Схема каждой платы собирается из функциональных блоков в соответствии с логикой работы контроллера. Большинство функциональных блоков имеют возможность настройки, с помощью которой их работу можно настроить в соответствии с необходимыми в данном конкретном случае требованиями.
Так же для каждого функционального блока есть развернутое описание, которое доступно в любой момент и помогает разобраться в его работе и настройках.
При работе с программой пользователю нет необходимости заниматься написанием кода, контролем за использованием входов – выходов, проверкой уникальности имен и согласованностью типов данных. За всем этим следит программа. Так же она проверяет корректность проекта целиком и указывает на наличие ошибок.
Для работы с внешними устройствами создано несколько вспомогательных инструментов. Это инструмент инициализации и настройки часов реального времени, инструменты для чтения адресов устройств на шинах OneWire и I2C а так же инструмент для чтения и сохранения кодов кнопок на ИК пульте. Все определённые данные можно сохранить в виде файла и в последующем использовать в программе.
Базовые элементы
[XOR]
[AND]
[OR]
[Bounce]
Специальные блоки
[Scale]
Тригеры
[SR]
[TT]
[RS]
[Rtrig]
Таймеры
[Generator]
[Timer]
Счетчики
[Counter]
[SpeedCounter]
Математика
[SUM(+)]
[MUL(*)]
[DIV(/)]
[SUB(-)]
Алгебра
[COS]
[TAN]
[ABS]
[SQ]
[SQRT]
[MIN]
[MAX]
[POW]
[RANDOM]
Сравнение
[Comparator]
Com — Порт
Send
SendVariable
ReceiveVariable
Переключатель
[SWITCH]
[MUX]
[DMS]
Моторы
ServoMotor
StepMotor
Часы реального времени
[Alarm]
[GetTime]
[SetTime]
Дисплеи
Дисплей на чипе НD44780
Подсветка дисплея на чипе НD44780 I2C
Блок декодирования семи сегментного индикатора
Строки
Сложение строк
Датчики
[Ultrasonic HC-SR04]
[DHT11, DHT21, DHT22]
[DS18x2x]
[IR Ressive]
[BMP-085]
SD карта
Запись переменной на SD карту
Конвертация типов
Преобразование строк
Преобразование Float в Integer
Микросхемы расширений
Расширитель выводов 74HC595
Операции с битами
Шифратор
Дешифратор
Чтение бита
Запись бита
Разное
Матричная клавиатура
Список функциональных блоков существующих на сегодняшний день в языке LADБазовые блоки
Контакт
Катушка
Защита от дребезга
Выделение переднего фронта
Специальные реле
Двустабильное реле
Реле времени
Генератор
Реле сравнения
Алгебра
SIN
COS
TAN
ABS
MAX
MIN
SQ
SQRT
POW
RANDOM
Аналоговые блоки
Математика
Счетчик
Аналоговый переключатель
Переключатель много к одному
Переключатель один ко многим
Аналоговый вход контроллера
Аналоговый выход контроллера
Вход аналогового соеденителя
Выход аналогового соединителя
Скоростной счетчик
ComPort
Передача в ComPort
Передача переменной через ComPort
Прием переменной через ComPort
Моторы
Сервомотор
Шаговый двигатель
Часы реального времени
Получить данные
Будильник
Установка времени
Дисплеи
Дисплей на чипе HD44780
Блок управления подсветкой дисплея на чипе HD4480 I2C
Блок декодирования семи сегментного индикатора
Строки
Сложение строк
Датчики
Ультразвуковой дальномер HC-SR04
Датчик температуры и влажности DHT11 (DHT21, DHT22)
Датчик температуры DS18x2x
IR Ressive
BMP-085
SD карта
Запись переменной на SD карту
Выгрузка файла с SD карты
Конвертирование типов
Конвертация строк
Преобразование Float в Integer
Микросхемы расширений
Расширитель выводов 74HC595
Операции с битами
Шифратор
Дешифратор
Чтение бита
Запись бита
Разное
Матричная клавиатура.
Список оборудования применяемого в проекте на сегодняшний день.В следующих публикациях я расскажу о сайте проекта и перспективах развития проекта.
Автор: totuin
arduino / Поиск по тегам / Сообщество EasyElectronics.ru
28 марта в Новосибирском государственном техническом университете пройдет единственный в России Arduino Day 2015.Arduino Day — это более чем 250 мероприятий, проходящих одновременно по всему миру.
Мероприятие будет проводиться на двух площадках:
Лаборатория (НГТУ, 2 корпус, 1 этаж, ауд 58-65, помещение СКБ «РИИ»), в которой участники смогут хакатонить весь день с 10:00 до 19:00, присоединяться можно в любой момент.
Сцена (НГТУ, 2 корпус, 1 этаж, поточная аудитория 2), на которой с докладами выступят энтузиасты Arduino. Полный список участников не раскрывается сразу в целях интриги, лучше всего следить за его обновлением во встрече В контакте vk.com/arduinodaynstu.
На текущий момент список следующий:
1. Илья Дубков [Инженер @ СКБ «РИИ»] — «Ретроспектива и современность Arduino»
2. Антон Карманов [художник] — «Генерал и Звонарь — русские деревянные роботы на основе Arduino»
3. Алексей Медведев [@ ИЯФ СО РАН] — «Использование Arduino в образовательном процессе»
4. Группа <game_cat> (Артём Попов [программист @ Commons Machinery] и Инга Черноградская [студент @ СибГУТИ]) выступит с аудио-визуальным представлением на открытых музыкальных контроллерах.
5. Руслан Соколов [@ NSU Hackspace] — «Платформа Arduino, как мощный инструмент для создания открытого технологического сообщества.»
7. Нуждов Андрей [инноватор @ LivelyMinds] — «Применение современных технологий для поддержки открытых проектов»
8. Алексей Грищенко [художник] — «Музыкальная арка — интерактивная инсталляция на Arduino»
9. Сергей Глушенко [инженер АСУП, программист @ ООО «РН-Юганскнефтегаз», Приобская ГТЭС] — «Flprog – визуальное программирование Arduino для не программистов» (это автор проекта Flprog)
Приглашаются все желающие, вход свободный.
По вопросам участия в секции докладов обращаться на dubkov \@/ skbrii.ru
Beremiz — ALT Linux Wiki
Журнал ALT-review
Beremiz — свободная среда программирования ПЛК Beremiz — это интегрированная среда разработки для ПЛК с открытым исходным кодом. Она опирается на открытые стандарты, которые не зависят от целевых устройств, так что вы можете превратить любой процессор в ПЛК.- Автор: Антон Мидюков Раздел: технологии Выпуск: 2017-10 Тег: электроника
Beremiz — это интегрированная среда разработки для ПЛК с открытым исходным кодом, которая полностью соответствует стандарту МЭК-61131-3. Beremiz опирается на открытые стандарты, которые не зависят от целевых устройств. Так что вы можете превратить любой процессор в ПЛК. Также Beremiz включает инструменты для создания HMI и подключения ваших программ PLC к наблюдению, базам данным или полевым шинам.
Для программирования ПЛК используются 5 языков, описанных стандартом МЭК 61131-3:
- LD — релейно-контактные схемы;
- FBD — функциональные блоковые диаграммы;
- SFC — последовательностные функциональные диаграммы;
- ST — структурированный текст;
- IL (Instruction List) — список инструкций.
Тем не менее ведущие производители ПЛК используют собственные варианты этих языков, несовместимых с этим стандартом. Например, у фирмы Siemens это соответственно языки: LAD, FBD, SFC, SCL, STL. Исключением являются компании, использующие в качестве сред программирования ISAGRAF и Codesys. Обе эти среды полностью соответствуют стандарту МЭК 61131-3.
Но и ISAGRAF и Codesys накладывают ограничение на аппаратную платформу. Сам производитель ПЛК не может внести изменения в исходный сред исполнения для портирования их на новую аппаратную платформу.
Beremiz же являясь свободным программным обеспечением, может быть модифицирован производителем ПЛК для работы на новой аппаратной платформе. Гибкость в изменении существующих и добавлении новых компонентов достигается с помощью языка Python (и соответствующих библиотек для пользовательского интерфейса, работы с сетью и т.д.) и xsd (XML Schema) файлов, применяемых для описания компонентов среды разработки: модулей работы с компиляторами целевой архитектуры, плагинов внешних источников данных и т.д.
Beremiz используется:
- ПАО «ИНЭУМ им. И.С.Брука» в качестве среды разработки и исполнения на ПЛК серии СМ1820М на базе отечественных микропроцессоров «Эльбрус» и SPARC, а также линеек, основанных на микропроцессорах ARM и x86.
- ООО НПК «Нуклерон» (г. Пермь) тестирует линейки программируемых реле NUC-24x/251. В основе программируемых реле используется микроконтроллер STM32F105 для модели NUC-242 и STM32F205 для остальных. Также поддерживается плата STM32F4DISCOVERY. В качестве среды разработки используется YAPLC-IDE, представляющая собой набор расширений для среды Beremiz. Для ПЛК параллельно разрабатывается среда исполнения YAPLC-RTE. Исходные коды YAPLC доступны на github.
- ООО НТЦ «Арго» МУР 1001.3 СВ
- ООО «НГП Информ»
- Smarteh LPC-2.MC8
Полный список компаний, использующих Beremiz.
Особенности Beremiz[править]
Среда разработки Beremiz позволяет работать в конфигурационном режиме и в режиме исполнения прикладной программы. В конфигурационном режиме происходит создание прикладной программы, написание алгоритмов и логики её основных программных модулей и их связывание с внешними модулями УСО (устройство связи с объектом). В режиме исполнения прикладная программа передаётся на целевое устройство и может быть запущена с режимом отладки и без отладки.
Основными компонентами Beremiz являются:
— редактор PLCOpen для текстовых (IL и ST) и графических языков (FBD, LD, SFC) стандарта IEC 61131-3; компилятор MatIEC, преобразующий логику и алгоритмы программных модулей (из которых состоит прикладная программа), описанных на языках стандарта IEC 61131-3, в эквивалентный С-код;
— механизм плагинов, позволяющий связывать внешние источники данных, такие как модули УСО (их параметры, состояния), SCADA-системы с логикой и алгоритмами программных модулей;
— средства отладки прикладной программы в режиме исполнения;
— элементы для создания человеко-машинного интерфейса управления прикладной программой.
Таким образом Beremiz преобразует LD, FBD, SFC или IL в код на ST, а MatIEC конвертирует ST в C. Код С компилируется на конечную платформу.
Установка и запуск[править]
Исходный код и инсталлятор под Windows можно скачать на официальном сайте. Для дистрибутива ALT Linux есть готовый пакет beremiz[1] в репозитории. Для дистрибутивов Debian/Ubuntu есть инструкция.
Для Windows и ALT Linux есть соответствующие значки запуска в меню Пуск. А для остальных дистрибутивов Linux запускать из каталога beremiz исполняемый файл BeremizIDE.py
Руководство пользователя beremiz
Кому Beremiz может быть полезен?[править]
Очевидно, что полезен он тем инженерам-программистам, которые программируют ПЛК, поддерживаемые Beremiz. Но не только им, благодаря ряду возможностей, Beremiz может быть полезен и иной аудитории. Об этих возможностях далее.
Использование компьютера в качестве ПЛК[править]
Beremiz позволяет любой компьютер использовать в качестве ПЛК. Для запуска на ALT Linux есть значок запуска: Разработка/Beremiz-service.
Для запуска на других системах, нужно перейти в директорию с Beremiz и запустить Beremiz_service.py После запуска появится индкатор в трее:
Как видно на скриншоте, при помощи этого индикатора можно запускать и останавливать ПЛК. Сменить имя ПЛК, IP-адрес, номер порта, рабочую директорию, куда загружается исполняемая программа. И наконец можно запустить консоль python для отладки и WX GUI Inspector для отладки уже HMI, написанного на wxWidget.
Теперь рассмотрим как подключаться к ПЛК, запущенному на компьютере. Запускаем Beremiz и открываем или создаём проект. Заходим в свойства проекта, щёлкнув мышкой дважды по значку проекта (значок PLC и имя Start на скриншоте) и заходим на вкладку «Конфигурация». URI системы исполнения указываем как PYRO://ip_адрес: номер_порта. Для ПЛК, запущенного на этой же машине запись будет как на картинке ниже. Также на этой вкладке необходимо выбрать в качестве целевой платформе ту операционную систему, на которой запущен ПЛК. Доступны варианты: Linux, Win32, Xenomai (Real-time OS + Linux для не реал-тайм приложений) и Generic (просто генерируется IEC-код на языке ST). Для всех платформ кроме Generic можно задать компилятор и компоновщик с флагами. Дефолтный компилятор gcc должен нас устроить. Правда не знаю, как там на Windows может нужно путь до gcc указать.
После того как проект настроен сохраняем его, собираем и коннектимся с ПЛК, нажав на соответствующий значок. После чего передаём программу ПЛК. После этого мы можем запустить программу или из среды Beremiz или на том компьютере, где запущена среда исполнения при помощи индикатора beremiz-service. После чего можно уже и отладкой заняться, как на скриншоте ниже.
Если нужно просто отладить программу, то нет необходимости запускать программный ПЛК, а можно просто в качестве URI системы исполнения указать: LOCAL:// А если ничего не указать, то при попытке коннекта появится вот такое диалоговое окно:
В этом диалоговом окне можно:
— Попытаться найти ПЛК автоматом, нажав кнопку Обновить
— Запустить локальный ПЛК и подключиться к нему, нажав кнопку Локальный
— Добавить IP-адрес, на котором запущен ПЛК.
Таким образом, Beremiz может быть интересен:
- Тому, кто хочет научиться программировать на языках IEC 61131-3. Beremiz полностью соответствует стандарту, бесплатен, кроссплатформен и позволяет использовать в качестве ПЛК любой компьютер.
- Для прототипирования проектов. В нём можно отладить базовую логику проекта ещё до выбора ПЛК.
- Для разработчиков, которые хотят использовать персональный компьютер в качестве ПЛК. Ничего фантастического здесь нет. Использование ОС Linux с реал-тайм ядром или же Xenomai даёт гарантированное время исполнения цикла, так что ПК может выступать в качестве полноценного ПЛК. Сложность здесь одна, это отсутствие заготовок для устройств ввода-вывода. Необходимо писать плагины для использования плат ввода-вывода. Но никто не запрещает подключать устройства ввода-вывода по modbus.
Но и этими людьми целевая аудитория не ограничивается.
Проект YAPLC для микроконтроллеров[править]
Как я уже и писал, YAPLC представляет собой с одной стороны набор расширений для Beremiz, а с другой систему исполнения для микроконтроллеров, пока только для STM32F4. Основными компонентами YAPLC, помимо уже известных нам beremiz, matiec и CanFestival являются:
- YAPLC/RTE — минималистичная среда выполнения программных ПЛК;
- YAPLC/IDE — расширения для Beremiz, позволяющие создавать приложения YAPLC/RTE;
- YaPySerial — динамическая библиотека для подключения к ПЛК с YAPILC-RTE;
- GNU ARM Embedded Toolchain — набор инструментов разработчика на Си/Си++ для микроконтроллеров Cortex-Mx;
- stm32flash — загрузчик для микроконтроллеров STM32;
- FreeModbus — стек ModBus;
- libopencm3 — библиотека драйверов периферии для микроконтроллеров с ядрами Cortex-Mх;
- FreeModbus и libopencm3 нужны для сборки прошивки YAPLC/RTE.
Теперь рассмотрим коротко установку YAPLC. Для ALT Linux подготовлен пакет yaplc-ide[2] (смотреть тему на форуме).
Для Windows есть инсталлятор.
Проблемы по установке на Windows
Инструкция для Debian/Ubuntu от разработчика.
Теперь коротко разберём, как подключаться к плате STM32F4DISCOVERY. Заходим в свойства проекта на вкладку конфигурация. URI системы исполнения для Linux YAPLC:///dev/ttyUSB0
Для Windows URI: YAPLC://COM28
А в качестве целевой платформы выбираем YAPLC.
Руководство есть только по NUC243, но его можно использовать и для получения информации для STM32F4DISCOVERY. Стартовый проект.
И наконец есть ещё один вариант использования Beremiz.
Возможно наиболее интересным вариантом для читателей будет проект OpenPLC. Проект ставит перед собой задачу создание полностью открытого ПЛК. Есть концептуальные схемы, сделанные в kiCAD.
Но интересен проект скорее другим, а именно в вариантах использования:
- ПЛК на Raspberry PI
- Компьютер в качестве ПЛК плюс Arduino или ESP8266 в качестве устройства ввода-вывода. В этом варианте Arduino или ESP8266 прошивается специальной прошивкой, превращающей их в устройство ввода-вывода для ПК.
Думаю у многих есть Arduino или Raspberry, так что можете попробовать.
Только это уже не Beremiz. Beremiz базируется на PLCOpenEditor. В остальном это независимые проекты. Надеюсь, что обзор возможного применения Beremiz будет кому-нибудь да полезен.
Журнал ALT-review
АСУ ТП: Автоматизация это легко. ПЛК для обучения от Arduino и Промышленный ПЛК EasyE4 от корпорации
Автоматизация это легко. ПЛК для обучения от Arduino и Промышленный ПЛК EasyE4 от корпорации.
Программа FLProg позволяет создавать прошивки для плат Arduino с помощью графических языков FBD и LAD, которые являются стандартом в области программирования промышленных контроллеров. При создании программы я постарался максимально использовать наработки программистов Siemens, ABB, Schneider Electric в их средах программирования.
Я немного расширил классический функционал этих языков, добавив функциональные блоки, отвечающие за работу с внешними устройствами. Они являются «обертками» над библиотеками, предназначенными для работы с ними. Программа работает на компьютере под управлением OS Windows, Linux-32 и Linux-64При создании нового проекта вам предложат выбрать язык программирования, на котором вы будете создавать проект, и контроллер, на котором этот проект будет реализован.https://flprog.ru AVR electrical- команда #инженеров, #энтузиастов, #экспериментаторов и прежде всего таких же, как все людей! Мы просто предлагаем #товары, проверенные на нашем опыте. Товары, которые помогают #автоматизировать и упростить повседневную жизнь, сделать многие #вещи #своими #руками.На этом канале мы показываем все «в живую», #эксперименты, #опыты, #неудачи и #достижения. Как это работает? Как применить и воплотить в жизнь не имея большого опыта?! Все просто — экономьте ваши силы и средства! #AVR #electrical ответит на эти вопросы!Так же будем очень благодарны всем за видео с вашим опытом и советами для коллег!
AVR electrical Сайт https://avr-electrical.com
Почта [email protected]
Instagram https://www.instagram.com/avr_electrical
Telegram https://t.me/joinchat/L6J5thC92PtvzTOvrpagmA
Viber https://invite.viber.com/?g2=AQBWgTvKq7hU3UpU9CoZ4… #
UNISET https://uniset.ua
Надежный партнер. Современные решения. Поддержка большого складского запаса оборудования, что обеспечивает быстрый отклик на потребности Клиентов.Возможность реализации проектов под ключ. #EasyE4 https://uniset.ua/catalog/programmiruemye-rele-eas… FLProg
Arduino — всем / СоХабр
| сохранено
Достаточно давно на мировом рынке и в нашей стране появилась аппаратная платформа Arduino.
Почему же до сих пор созданием устройств на Arduino занимаются единицы? С моей точки зрения ответ лежит в особенностях самой платформы, и языка программирования для нее. Платформа представляет собой основу для создания какого — либо устройства. Для создания законченного решения необходимы знания и умения практика. Этими знаниями и умениями обладают люди практических профессий — электрики, инженеры электронщики, электромонтажники, да и просто радиолюбители. Но для программирования Arduino необходимо обладать знанием языка программирования, понимать особенности построения алгоритмов — то есть быть программистом. Сочетание этих профессий — большая редкость.
Эта история началась почти год назад. На моей новой работе ко мне подошёл мой коллега, и попросил помочь с созданием прошивки для контроллера Arduino. Парень — электрик, золотые руки. Он хотел с помощью контроллера автоматизировать полив теплицы по довольно хитрому алгоритму. Вот тогда мне и пришла в голову идея обеспечить его инструментом, для самостоятельной работы с контроллером. Вот что получилось.
Цель проекта — перевести программирование Arduino в область доступную для не программистов, сделать разработку устройств на нем возможной для тех, кто не владеет языками программирования.
В области программирования промышленных контроллеров уже давно используются языки FBD и LAD. У разных производителей реализация этих языков различна, но с моей точки зрения, наиболее близко подошли к идеалу программисты из “Siemens”, создав пакет «TIA-Portal». В разработке программы «FLProg» я многие идеи черпал оттуда. Так же удачные решения подчерпнуты из программного обеспечения “Schneider Electric” — «Zelio Soft».
FBD (Function Block Diagram) — графический язык программирования стандарта МЭК 61131-3. Программа образуется из списка цепей, выполняемых последовательно сверху вниз. При программировании используются наборы библиотечных блоков. Блок (элемент) — это подпрограмма, функция или функциональный блок (И, ИЛИ, НЕ, триггеры, таймеры, счётчики, блоки обработки аналогового сигнала, математические операции и др.). Каждая отдельная цепь представляет собой выражение, составленное графически из отдельных элементов. К выходу блока подключается следующий блок, образуя цепь. Внутри цепи блоки выполняются строго в порядке их соединения. Результат вычисления цепи записывается во внутреннюю переменную либо подается на выход контроллера.
Ladder Diagram (LD, LAD, РКС) — язык релейной (лестничной) логики. Синтаксис языка удобен для замены логических схем, выполненных на релейной технике. Ориентирован на инженеров по автоматизации, работающих на промышленных предприятиях. Обеспечивает наглядный интерфейс логики работы контроллера, облегчающий не только задачи собственно программирования и ввода в эксплуатацию, но и быстрый поиск неполадок в подключаемом к контроллеру оборудовании. Программа на языке релейной логики имеет наглядный и интуитивно понятный инженерам-электрикам графический интерфейс, представляющий логические операции, как электрическую цепь с замкнутыми и разомкнутыми контактами. Протекание или отсутствие тока в этой цепи соответствует результату логической операции (истина — если ток течет; ложь — если ток не течет). Основными элементами языка являются контакты, которые можно образно уподобить паре контактов реле или кнопки. Пара контактов отождествляется с логической переменной, а состояние этой пары — со значением переменной. Различаются нормально замкнутые и нормально разомкнутые контактные элементы, которые можно сопоставить с нормально замкнутыми и нормально разомкнутыми кнопками в электрических цепях.
Программа «FLProg» позволяет работать на обоих языках: и FBD и LAD. При создании нового проекта Вам предложат выбрать язык программирования, в котором вы будете создавать проект и контроллер, на котором этот проект будет реализован.
Проект в «FLProg» представляет собой набор плат, на каждой, из которой собран законченный модуль общей схемы. Для удобства работы каждая плата имеет наименование и комментарии. Так же каждую плату можно свернуть (для экономии места на рабочей зоне, когда работа над ней закончена), и развернуть. Красный индикатор в наименовании платы указывает на то, что в схеме платы есть ошибки.
В правой части рабочей зоны расположена библиотека элементов. В схему элементы переносятся простым перетаскиванием. При двойном клике по элементу будет показана информация о нём.
Блоки FBD:
Блоки LAD:
В верхней части рабочей зоны расположен список Tags (FBD) или установленного оборудования (LAD). Тэги или оборудование переносятся на схему также простым перетаскиванием.
После завершением работы над проектом, производится компиляция проекта. После компиляции Вас попросят указать директорию, куда будет сохранен откомпилированный проект, и автоматически откроется программа «Arduino 1.0.5» c загруженным скетчем Вашего проекта. В программе «Arduino 1.0.5» Вам необходимо будет указать номер COM порта, к которому подключен Ваш контроллер, выбрать его тип, и произвести заливку скетча в контроллер.
Скачать программу можно на сайте проекта: flprog.ru. Если будет возможность, я планирую развивать проект. В первую очередь увеличить количество блоков, добавить специализированные блоки часов реального времени (этим занимаюсь в текущий момент), специализированных блоков для дисплеев, сервоприводов и других устройств. Так же в ближайшее время планирую прикрутить к программе симулятор. Подглядел неплохую идею у Mitsubishi. В более далеких планах — отказ от Arduino IDE и переход на чистый С. Мне очень интересно мнение уважаемых хаброжителей о целесообразности этого проекта.
P.S. Прошу не кидать в меня тухлыми помидорами за оформление хаба и сайта. К сожалению я и Его Величество Дизайн живем на разных полюсах этой планеты. Так же прошу извинения за возможные проблемы с сайтом. Он крутится на простеньком домашнем сервачке на Атоме, и в случае хаброэффекта может лечь.
Arduino и программирование в FLProg
Хотите запрограммировать Arduino, но не знаете, как или у вас нет времени на изучение языка Arduino C? Встречайте FLProg — визуальное программирование Arduino для «непрограммистов».
Что такое Ардуино?Arduino — это микроконтроллер на базе одноплатного оборудования и программного обеспечения. Платы Arduino могут считывать входы — с любых датчиков, переключателей и записывать выходной цифровой или аналоговый ШИМ. Вы можете указать своей плате, что делать, отправив набор инструкций на микроконтроллер.Для этого вы используете язык программирования Arduino (на основе проводки) и программное обеспечение Arduino (IDE), основанное на обработке.
Arduino используется в тысячах проектов, от повседневных предметов до более сложных машин и инструментов.
Arduino родился в Ivrea Interaction Design Institute как простой инструмент для быстрого прототипирования. Как только она достигла более широкого сообщества, плата Arduino начала меняться, чтобы адаптироваться к новым потребностям и задачам, она стала носимой, используемой для 3D-печати и подходящей для промышленности.Все платы Arduino имеют полностью открытый исходный код, что дает пользователям возможность создавать их независимо и, в конечном итоге, адаптировать к своим конкретным потребностям. Программное обеспечение также имеет открытый исходный код. Проекты, которые можно создавать в Arduino, ограничены только воображением.
Пример самой маленькой и самой большой платАрдуино Мини | Arduino из-за | |
---|---|---|
Флэш-память | 16 КБ | 512 КБ |
SRAM | 2 КБ | 96 Кб |
EEPROM | 512 B | 4 КБ |
Тактовая частота | 8 или 16 МГц | 84 МГц |
Цифровые выводы ввода / вывода | 14 (6 ШИМ) | 54 (12 для ШИМ) |
Аналоговые входные контакты | 6 | 12 |
Но что делать людям, которые не знакомы с кодированием C / C ++, но все же хотят повеселиться с этим микроконтроллером?
Именно здесь нам помогают инструменты визуального программирования, такие как FLProg (один из лучших примеров).
FLProg ИнструментFLProg позволяет создавать прошивки для плат Arduino, используя графические языки FBD (функциональная блок-схема) и LAD (лестничная диаграмма), которые являются стандартом в программировании промышленных контроллеров. Программирование в этом ПО аналогично Siemens, но, конечно, значительно упрощено.
Программа немного расширила классический функционал этих языков, добавив функциональные блоки, отвечающие за работу с внешними устройствами.Они представляют собой «обертки» над библиотеками, предназначенные для работы с ними. Программа работает на компьютере с ОС Windows или Linux.
При создании нового проекта вам будет предложено выбрать язык программирования и указать плату, на которой будет реализован проект:
Рис.1 Инициализация проектаВот список поддерживаемых плат Arduino:
- Arduino Diecimila
- Arduino Duemilanove
- Ардуино Леонардо
- Arduino Lilypad
- Ардуино Мега 2560
- Ардуино Микро
- Ардуино Мини
- Ардуино Нано (ATmega168)
- Ардуино Нано (ATmega328)
- Arduino Pro Mini
- Arduino Pro (ATmega168)
- Arduino Pro (ATmega328)
- Arduino Uno
- Intel-Galileo
После завершения проекта он компилируется.После завершения компиляции автоматически откроется программа «Arduino 1.5.7» с загруженным скетчем вашего проекта. В программе «Arduino IDE 1.5.7» вам нужно будет указать номер COM-порта, к которому подключен ваш контроллер, выбрать его тип и передать скетч в контроллер.
Посмотрим, что внутри программы:
- Здесь размещаются и настраиваются входы, выходы и временные биты;
- Сеть для создания логики вашего скетча;
- Библиотека со всеми блоками.
Это программное обеспечение имеет большое количество предопределенных блоков, которых достаточно для создания всего, что вы хотите, но оно также позволяет вам создавать свои собственные блоки.
Рис.3 Доступные блокиТак выглядит очень простой скетч, запрограммированный в FBD (функциональная блок-схема). Все блоки размещаются простым перетаскиванием. После этого вы можете их настроить.
Рис.4 Схема программыМой проект
Дома у меня газовый котел на отопление.Для оптимальной работы, гибкости настройки и поддержания стабильной температуры требуется установка термостата. Мой первый опыт покупки нового оказался неудачным. У него был дефект. Поэтому я решил сделать свой собственный.
В первую очередь мои мысли были — что я хочу от этого девайса? Я хотел, чтобы на дисплее отображалась реальная температура, текущая установленная температура, влажность в комнате. И, конечно же, я хочу иметь возможность контролировать это. Итак, вот что я купил:
- Arduino Mini — на ATmega 328
- Датчик температуры — DS18B20
- Датчик влажности — DHT11
- Дисплей — ЖК-дисплей 16 × 2 с портом i2c
- Колесо энкодера — для переключения температуры
- Реле 5в — для включения двухпозиционного выхода
- Потенциометр — для изменения яркости дисплея
- Пластиковый чемодан
- Блок питания — 5В
На все вышеперечисленное я потратил около — 25 $.И преимущество в том, что я могу изменять и обновлять оборудование и программное обеспечение, когда захочу. Например, я думаю об обновлении своего устройства: я могу установить датчик газа, чтобы отключить все в случае утечки газа. Я также мог бы добавить плату GSM и настроить ее так, чтобы она отправляла мне сообщение, содержащее состояние котла, когда меня не было. Также я хочу сделать его беспроводным через модули Radio или WiFi. И я хочу, чтобы у него был цветной дисплей с большим количеством настроек. Теперь я могу делать все, что хочу, и FLProg мне в этом очень поможет.
Вот как сейчас выглядит моя установка:
Рис. 5 Термостат. Внешний видТемпература меняется на 0,1. Гистерезис составляет 0,4 ° C, и последняя заданная температура сохраняется, даже если отключено электричество.
И логическая часть:
Рис.6 Логическая часть термостатаСначала мы получаем входные данные от датчиков, затем конвертируем их в ТЕКСТ (строку) для отображения на дисплее, устанавливаем положение и добавляем некоторые константы (set, C, t =, RH). Для изменения температуры я использовал блок Encoder wheel.При изменении значения записывается в память EEprom, а затем считывается оттуда. Я увеличил значение от 1 до 0,1, разделив его, так что это позволяет мне изменять температуру на 0,1. Реальная температура сравнивается с установленной температурой и выдает положительный или отрицательный результат.
Все выглядит довольно просто после некоторого времени использования и понимания блоков из библиотеки в этом программном обеспечении.
Причины, по которым я выбрал Arduino- Недорогой — Платы Arduino довольно недорогие по сравнению с другими платформами микроконтроллеров.Предварительно собранные модули Arduino стоят менее 10 долларов;
- Кросс-платформенный — Программное обеспечение Arduino (IDE) работает в операционных системах Windows, Macintosh OSX и Linux. Большинство систем микроконтроллеров ограничены только Windows;
- Довольно простая среда программирования — Программное обеспечение Arduino (IDE) не очень сложно использовать для новичков, но оно достаточно гибкое, чтобы продвинутые пользователи могли воспользоваться преимуществами;
- Программное обеспечение с открытым исходным кодом и расширяемое программное обеспечение — Программное обеспечение Arduino публикуется как инструменты с открытым исходным кодом, доступные для расширения опытными программистами.Язык можно расширить с помощью библиотек C ++;
- Открытое и расширяемое оборудование. — Планы плат Arduino опубликованы под лицензией Creative Commons.
Вот еще несколько идей и проектов, которые можно реализовать с помощью Arduino:
- Домашняя автоматизация
- Безопасный доступ с использованием считывателя RFID
- Мини-телеграф
- Диспенсер для конфет
- Робот Arduino с голосовым управлением для уборки стола + WiFi-камера
- Авто ультразвуковой автомобиль
- Бот социальных сайтов
- Различные маленькие (и не только) роботы
Павел
Инженер по ПЛК
Arduino Cape Town Public Group
Добрый день.Я автор программы FLProg (http://flprog.ru). Это программа для визуального программирования контроллеров Arduino. В последнее время я часто задаю вопрос «Чем Ваша программа отличается от других подобных программ?». Я не хочу проводить сравнение программы FLProg с другими, а просто рассказываю мне то, что она знает сегодня. И вы сами решаете, чем он отличается от других. Итак, сегодня в программе FLProg реализовано следующее:
1. Базовые блоки.
1.1. В языке FBD вся основная логика: и, или, XOR, триггеры, таймеры, генераторы, компараторы.
1.2. Язык LAD — промежуточное реле, реле времени, реле дестабилизации, генераторы.
Остальные блоки актуальны для обоих языков (FBD и LAD)
2. Дополнительные блоки
Счетчики (включая высокоскоростной счетчик прерываний).
Таблица состояний (без двоичной логики).
Защита от дребезга контактов.
Выделение переднего фронта импульса.
Детектор изменяет число или строки.
Масштабирование (линейное и нелинейное)
3. Математика — сложение, вычитание, умножение, деление
4.Алгебра — ABS, max, min, pow, root, square, random, tan, sin, cos
5. Работа с UART
6. Аналоговый переключатель, мультиплексор, демультиплексор.
7. Опора для серводвигателей и шаговых двигателей.
8. Поддержка часов реального времени.
9. Поддержка дисплеев на микросхеме hd44780 и семи сегментных дисплеях.
10. Работа со строками — объединение строк и сравнение строк, длина строк, получение подстрок, получение символа из строки, добавление символа к строке.
11.Поддержка приемника-передатчика для ИК-управления.
12. Поддержка массивов.
13. Поддерживаемые датчики.
13.1. Датчики температуры — DS18b20 (и другие из этой серии), MLX
, преобразователь MAX6675, термопара
13.2. Датчик влажности — DHT11, DHT21, DHT22, HTU21
13.3. Датчик давления БМП-085
13.4. Датчик освещенности Bh2750 TCS230 и
13,5 Ультразвуковой дальномер HC-SR04
14. Поддержка работы с SD-картой
15. Преобразование типов данных.
16. Поддержка микросхем расширения — 74НС595, MAX7219, MCP23017, ADC — ADS1x15, DAC — MCP4725.
17. Работа с EEPROM.
18. Поддержка матричной клавиатуры, использование RFID — модуля RS522.
19. Блоки для создания одноуровневого или многоуровневого меню
20. Блоки для создания веб-сервера и веб-клиента.
21. Поддержка панели Nextion-HMI.
22. Программа FLProg поддерживает протоколы связи Modbus RTU, Modbus TCP, Modbus RTU через TCP (ведущий и ведомый). На базе одной из Arduino можно создать одновременно два порта для протокола Modbus любого типа.Кроме того, существует возможность создания мостов между этими типами коммуникационного протокола Modbus.
23. В программе появилась возможность создавать собственные пользовательские функциональные блоки на языках FBD и lad. Также есть возможность создания функциональных блоков на C и использования готовых библиотек. Созданные вами блоки (а также целые библиотеки блоков) можно сохранять в виде файлов и делиться ими. Благодаря этому пользователи программы на сегодняшний день написали большое количество блоков для модулей, не входящих в базовую поставку программы (модули GSM, дисплеи, беспроводные модули…..). Для этих агрегатов на сайте есть специальный раздел (), где их можно бесплатно скачать.
Это только обзор основных возможностей программы. Более подробно о программе можно узнать на ее сайте (http://flprog.ru/load/bloki_polzovatelej/2). На данный момент сайт в основном русский, но использует онлайн-переводчики и делает его доступным для пользователей, говорящих на других языках. Добавление поддержки на сайт программы дополнительных языков зависит от интереса иностранных пользователей к программе.
Светофор с подчиненным устройством Arduino Nano (простой проект для начинающих)
Это очень простой проект и в большей степени подтверждает правильность концепции. Я тестирую OpenPLC, чтобы использовать его для обучения детей основам ПЛК. Открытый исходный код и низкая стоимость рабов позволяют купить каждому ученику подчиненное устройство Arduino. Светофор — это простая программа, которую легко понять и которую можно усложнить (добавление кнопок для перехода, датчиков, …). Также хороший проект по обучению таймеров.Оборудование
Материалы
Arduino Nano cloneПеремычки (M-M) h
Макетная плата
5-миллиметровый светодиод красного, оранжевого и желтого цветов.
Резистор 220 Ом (3x)
* Вы можете найти ссылку на компоненты, которые я использовал в описании видео (не могу добавить в этот пост, потому что они определены как спам. Обратите внимание, что ссылки являются партнерскими ссылками, поэтому я получаю небольшая комиссия на ваш заказ).
Итак, код очень простой, и я не использовал FB или FC. Я написал его в FBD, чтобы использовать функции таймера и обнаружение флангов. Единственное, что мне показалось странным, это то, что при запуске моделирования в редакторе OpenPLC в первом цикле обнаруживается отрицательный импульс.Чтобы противостоять этому, я создал переменную PLC_start_up, чтобы отрицательный фланг игнорировался в первом цикле.
Я также сделал сообщение в блоге о проектном хабе Arduino, чтобы просто продемонстрировал возможности OpenPLC:
https://create.arduino.cc/projecthub/florenmichael/using-plc-languages-to-control-an -arduino-with-openplc-d17632? ref = platform & ref_id = 424_recent ___ & offset = 1
Это видео является функцией сообщения в блоге, чтобы продемонстрировать, что возможно для сообщества Arduino.T его видео никоим образом не является подробным видео о коде или проекте, поэтому не ждите подробной информации 😉 .
Я хочу поблагодарить всех разработчиков проекта OpenPLC за то, что они сделали это возможным!
- OpenPLC_Traffic_Light.zip 64,97 КБ
Тот, кто делает точные предположения на основе недостоверных данных, предоставленных людьми с сомнительными знаниями.
Руководство для начинающих по языкам программирования ПЛК
Какие языки программирования ПЛК самые популярные? IEC (Международная электротехническая комиссия) официально признает пять языков программирования ПЛК в стандарте IEC61131-3. Это лестничная диаграмма (LD), функциональный блок (FBD), структурированный текст (ST), список инструкций (IL) и последовательная функциональная диаграмма (SFC). В этой статье мы рассмотрим каждый из пяти языков программирования ПЛК, чтобы помочь вам определить, что лучше всего подходит для вашего следующего проекта промышленной автоматизации.
TL; DR: популярные языки программирования ПЛК
- Лестничная диаграмма (LD)
- Функциональный блок (FBD)
- Структурированный текст (ST)
- Список инструкций (IL)
- Последовательная функциональная схема (SFC)
В большинстве программ ПЛК для выполнения поставленной задачи используется только один язык программирования. Тот факт, что существует пять вариантов, не означает, что вам нужно знать и включать их все в проект.Подавляющее большинство заводов и проектов автоматизации используют только один язык. Мы рассмотрим каждый из языков программирования ПЛК, начиная с наиболее популярных вариантов и продвигаясь по списку.
1. Релейная диаграмма (LD) или лестничная логика
Первым языком МЭК 61131-3 является релейная диаграмма (LD), которую обычно называют релейной логикой. Это самый популярный язык ПЛК, поскольку он был разработан для замены проводных релейных систем управления. Если вы хотите выучить какой-либо из языков, я настоятельно рекомендую начать с языка лестничных диаграмм, потому что его легко читать, комментировать и отлаживать, пока ваша система подключена к сети.У лестничных диаграмм есть ограничения, потому что вы можете использовать только определенные блоки. Кроме того, это не очень хорошо для управления движением; однако вы можете обойтись написанием большинства ваших систем управления, используя только релейные диаграммы.
Релейная диаграмма читается слева направо и сверху вниз. Все контакты слева должны быть правильными, чтобы запитать выходные катушки. Если у вас есть базовое понимание цифровой логики и условных операторов, лестничную логику довольно легко освоить.Для более сложных систем интерпретация LD может быть сложной задачей, но инструменты онлайн-отладки упрощают отслеживание ошибок и устранение проблем.
2. Схема функциональных блоков (FBD)
Второй по популярности язык программирования ПЛК называется функциональной блок-схемой (FBD). В схеме функциональных блоков программные блоки соединяются вместе для создания программы. Многие из тех же команд, что и в релейной логике, используются в FBD, но их часто легче читать и осмыслять. Дополнительным преимуществом использования функциональной блок-схемы является то, что вы можете объединить множество строк кода в один блок.
В зависимости от размера вашей системы, FBD может быть или не быть оптимальным выбором. Если ваша система требует большого количества операций по планированию управления движением и повторяющихся задач, то FBD может быть прямым подходом. Однако, если вам нужно создать много кода, вам придется предпринять несколько дополнительных шагов, чтобы схемы функциональных блоков были организованы. Поскольку вы можете размещать блоки где угодно, эти диаграммы могут довольно легко стать беспорядочными и дезорганизованными.
3.Структурированный текст (ST)
В-третьих, в списке языков программирования ПЛК находится текст структуры (ST). Структурированный текст очень похож на программирование на BASIC или C. Лучше всего использовать его для систем управления, требующих математики или сложных задач. Тригонометрия, исчисление и анализ данных могут быть реализованы на этом языке намного проще, чем в лестничных диаграммах. Becuase ST не является графическим языком, он также работает быстрее и требует меньше места.
Если у вас есть опыт традиционного программирования, вы можете овладеть ST быстрее, чем лестничной логикой или другими языками программирования ПЛК с графическим интерфейсом, потому что команды имеют схожую структуру.
4. Список инструкций (IL)
Далее идет список инструкций (IL). Этот язык программирования состоит из многих строк кода, по одной инструкции на строку. Он читается сверху вниз и слева направо. Список инструкций очень прост для чтения, потому что каждая строка выполняется последовательно. После того, как вы изучите мнемонические коды (Load = LD, Start = ST и т. Д.), Instruction List станет отличным языком, который можно добавить в свой арсенал, потому что вы можете создавать компактный и критичный по времени код в соответствии с требованиями вашего приложения.
С другой стороны, список инструкций может быть сложнее для отладки и устранения ошибок, чем некоторые другие языки. Он также немного ограничен, когда дело доходит до структурирования кода, потому что «GOTO» — это почти все, что вы можете сделать, чтобы выйти из списка и запустить дополнительные команды.
5. Последовательная функциональная схема (SFC)
И, наконец, последовательная функциональная диаграмма (SFC). Концепция SFC проста: поле действия активно до тех пор, пока не активируется следующий шаг перехода.Шаг перехода содержит все условия, которые должны быть выполнены для активации следующего окна. Если вы работаете над проектом, в котором есть повторяемые шаги, которые можно разбить на более мелкие задачи, то SFC — самый простой из языков для реализации.
Преимущество использования последовательной функциональной диаграммы состоит в том, что вы можете разбить большие процессы на основные этапы, написать поле действий на любом языке, который вам нравится, а затем последовательно запускать свой код в зависимости от текущего состояния системы.SFC также отлично подходит для отладки в реальном времени, потому что вы можете точно увидеть, где произошла ошибка, и выяснить, что делать, чтобы ее исправить.
Как выбрать, какой язык программирования ПЛК изучать?
Ответ на этот вопрос будет зависеть от нескольких вещей:
- Какой язык в настоящее время используется на вашем рабочем месте или в лаборатории;
- Приложение, которое вы разрабатываете;
- Марка вашего ПЛК и пакеты программного обеспечения, к которым у вас есть доступ; и
- Сценарий вашей карьеры.
Давайте рассмотрим каждый из этих моментов более подробно.
1. Какой язык ПЛК используется на вашем рабочем месте?
Как правило, если вы работаете на заводе или в лаборатории с ПЛК, уже существует универсальный язык, который должен использовать каждый. В большинстве случаев это лестничная диаграмма, независимо от приложения. Если вы занимаетесь ПЛК, потому что этого требует ваша работа, я настоятельно рекомендую выяснить, какой язык (а) уже используется в оборудовании, а затем сначала ознакомиться с ними.Нет смысла изучать ST, если все ваши машины работают с LD.
2. Приложение для автоматизации, которое вы разрабатываете
Во-вторых, если вы работаете в отделе автоматизации, системном или машинном интеграторе, вам может потребоваться знать все пять языков IEC 61131-3 и выбрать лучший из них в зависимости от приложения клиента. Как упоминалось выше, каждый из языков программирования ПЛК имеет свои преимущества и недостатки в зависимости от того, что вы пытаетесь сделать. Некоторые клиенты могут потребовать, чтобы их машина была написана на определенном языке программирования ПЛК, чтобы их обслуживающий персонал мог отлаживать и обслуживать оборудование после его установки.Рекомендуется ознакомиться с требованиями контракта, чтобы убедиться, что вы пишете код на правильном языке.
3. Марка используемого вами ПЛК
Наконец, если вы хотите выяснить, какой ПЛК вы используете и какие языки он поддерживает. Некоторые ПЛК хорошо работают только с лестничной диаграммой. Некоторые ПЛК и PAC поддерживают все пять языков IEC 61131-3. Даже если ваш контроллер поддерживает этот язык, вы должны убедиться, что ваше программное обеспечение может писать на этом языке.Лестничная диаграмма — это вариант по умолчанию в большинстве случаев. Некоторым брендам требуются дополнительные пакеты для использования дополнительных языков. Проконсультируйтесь с программным обеспечением и документацией вашего бренда, чтобы определить, какой язык лучше всего подходит для вашей системы.
4. Ваш карьерный путь
Кроме того, если ни один из этих пунктов не применим к вам, потому что вы просто пытаетесь продвинуться (или начать) свою карьеру в программировании ПЛК, я рекомендую изучить самые популярные языки ПЛК (LD, FBD, ST), а затем работать по-своему. с помощью списка инструкций и последовательной функциональной схемы.Вам не нужно быть мастером в каждом языке ПЛК. Если вы очень хорошо знаете LD, то будете готовы взяться за около 80% существующих сегодня проектов автоматизации. Скорее нужно иметь прочный фундамент для разработки автоматизированной системы. Перевод на другой язык является второстепенным, если вы хорошо понимаете хотя бы один язык.
Места для изучения программирования ПЛК
Существует множество ресурсов для изучения программирования ПЛК, включая обучение поставщиков, онлайн-курсы и YouTube.Я обнаружил, что обучение поставщиков (например, обучение Rockwell ControlLogix) очень полезно, но только если вы посещаете его в том порядке, в котором они должны проходить. Обучение поставщиков может стоить тысячи долларов, поэтому, если вы хотите профинансировать собственный план разработки ПЛК, я рекомендую несколько курсов Udemy, чтобы вы начали.
Перед тем, как погрузиться в тренировку, важно знать, какой контроллер вы хотите запрограммировать. Было бы здорово пройти курс по Роквеллу, но только не, если вы собираетесь программировать ПЛК Siemens.Хотя языки одинаковы, среды программирования различаются, а некоторые номенклатуры также зависят от бренда. Хотя обучение не сделает из вас программиста ПЛК за день, оно может обеспечить необходимую структуру, которая неизбежно необходима для успеха в области промышленной автоматизации.
Поддержка такого содержания
FBD 12-2602-0001 Датчик температуры: Amazon.com: Industrial & Scientific
В настоящее время недоступен.
Мы не знаем, когда и появится ли этот товар в наличии.
Марка | Fbd |
Размеры изделия ДхШхВ | 1 х 1 х 1 дюйм |
Вес предмета | 0.06 фунтов |
- Убедитесь, что это подходит введя номер вашей модели.
- Артикул: Комплект, датчик температуры, страна происхождения (возможны изменения): Польша
Характеристики
Фирменное наименование | Fbd |
---|---|
Ean | 5692456708552, 0220215041074 |
Вес изделия | 0.960 унций |
Номер модели | FBD12-2602-0001 |
Кол-во позиций | 1 |
Номер детали | 12-2602-0001 |
Код UNSPSC | 41000000 |
UPC | 220215041074 |
ПЛК Arduino |
ПЛК (программируемый логический контроллер) был и остается основным компонентом мира промышленной автоматизации.ПЛК обычно представляют собой довольно дорогое оборудование, поэтому многие люди, знакомые с микроконтроллерами, придумывают собственные идеи для реализации аналогичных функций.
Arduino — это своего рода универсальный программируемый контроллер, хотя это только «ядро», и в любом случае он был построен для общих приложений; с небольшим количеством внешнего оборудования (по сути, интерфейсов, способных передавать сигналы от датчиков к исполнительным механизмам, уменьшая электромагнитные помехи, которые могут повредить микроконтроллер) и соответствующее программное обеспечение, однако, может стать чем-то очень похожим на ПЛК.Для вывода вы можете использовать модули Arduino Relay. Для ввода вы можете использовать различные датчики Arduino или создать собственный адаптер для некоторых промышленных датчиков.
Arduino в качестве учебного пособия по программируемому логическому контроллеру (ПЛК) мы объясним, как «преобразовать» нашу плату Arduino в контроллер, подобный ПЛК. Есть несколько способов превратить Arduino в программируемый логический контроллер, и в учебнике Arduino в качестве программируемого логического контроллера (ПЛК) представлены два: лестничная логика для программного обеспечения PIC и AVR и генератор ladder.h для LDmicro → Arduino.Также в проекте OpenPLC есть редактор релейной логики OpenPLC, который может генерировать код для стандартного Arduino из релейной диаграммы.
В некоторых приложениях ПЛК больше используются в качестве интерфейсов ввода-вывода для систем SCADA, чем для управления. Если вы хотите, чтобы плата Arduino выглядела как ПЛК с точки зрения SCADA, вы можете установить программное обеспечение, которое позволяет ей взаимодействовать с MODBUS или другим подходящим протоколом SCADA. Один из простых способов поэкспериментировать — попробовать SCADA для Arduino, который включает как программное обеспечение Arduino, так и программное обеспечение SCADA.Я пробовал это, и вы можете прочитать мой опыт работы с ним в разделе Эксперименты с SCADA для публикации Arduino.
Если вас беспокоит, выживет ли ваше крысиное гнездо на базе Arduino в промышленной среде или будет принято промышленным контролем, рекомендуется рассмотреть доступные продукты, совместимые с Arduino, предназначенные для приложений промышленного управления. В настоящее время существует несколько коммерческих продуктов, созданных для приложений ПЛК Arduino:
CONTROLLINO рекламирует себя как первый программный ПЛК с открытым исходным кодом.Он совместим с ARDUINO. Он начинался как проект Kickstarter, но теперь доступен прямо с веб-сайта производителя. Рекламируется, что он предназначен для управления вашим Интернетом вещей и имеет сертификаты CE и UL. Для более подробной информации смотрите видео ARDUINO + PLC = CONTROLLINO
.
Industruino — это промышленный контроллер, совместимый с Arduino. Industruino — это полнофункциональная плата, совместимая с Arduino Leonardo, размещенная в корпусе для монтажа на DIN-рейку + область прототипирования + встроенный ЖК-дисплей + мембранная панель.С помощью этого продукта вы сможете навсегда установить свое приложение Arduino в промышленном исполнении. Industruino — это готовое решение, предлагающее ряд промышленных вводов / выводов уровня напряжения. Все управляется с легкостью кодирования Arduino.
Industrial Shields имеет набор совместимого с Arduino промышленного оборудования ПЛК, которое может быть подключено к DIN-рейке. ПЛК ARDBOX, поскольку он использует Arduino UNO или Arduino LEONARDO, позволяет вам программировать его через USB. Семейство M-DUINO основано на Arduino Mega.Этот ПЛК может быть запрограммирован с использованием платформы Arduino IDE
BieMme Italia предлагает программный ПЛК Arduino, основанный на Advanced Arduino Relay Shield. Вы подключаете свой Arduino к этому щиту, и тогда он должен быть промышленно совместимым с управляющим напряжением и электрической защитой. BieMme Italia также имеет Bmini All-in-one, который имеет 4 оптоизолированных цифровых входа 24 В, 4 высококачественных реле, 8 аналоговых входов, PWM, I2C, RS485, Ethernet и многое другое.
50+ PLC MCQ (вопросы с несколькими вариантами ответов) с ответами
В этой статье перечислены 50 + PLC MCQ для студентов инженерных специальностей. Все PLC Вопросы и ответы , приведенные ниже, включают решение и ссылку, где это возможно, на соответствующую тему.
Программируемый логический контроллер или ПЛК — это просто особый тип компьютера. Он состоит из трех компонентов: ввода, процессора и вывода.Предположим, что если мы хотим управлять электродвигателем с помощью кнопки путем включения / выключения, эта функция аналогична кнопке питания на пульте дистанционного управления телевизором. Для этого мы должны написать программу для этой операции на компьютере, а затем загрузить ее в ЦП.
Кнопка переключателя подключена к входу, а выход подключен к двигателю, теперь, если мы нажмем кнопку, электрический сигнал будет отправлен на ПЛК, тогда вход ПЛК доставит сигнал в ЦП, а ЦП обработает данные получил и отправил результат на выход, затем выход преобразует данные в необработанный электрический сигнал и применяет его к двигателю для работы.
1). Программируемые логические контроллеры используются в __________Совет: ПЛК широко используется в производстве и автоматизации. Его цель состоит в том, чтобы контролировать важные параметры процесса и соответствующим образом регулировать работу процесса
2). Какие компоненты обеспечивают работу программируемого логического контроллера?Совет Входной модуль, выходной модуль, ЦП и источник питания являются компонентами, обеспечивающими работу программируемого логического контроллера
3). Программируемый логический контроллер подразделяется на ___________Совет Программируемый логический контроллер подразделяется на два типа: фиксированный ПЛК и модульный ПЛК
4).В фиксированном программируемом логическом контроллере _______Совет В фиксированном программируемом логическом контроллере как модули ввода, так и модули вывода являются фиксированными, тогда как в модульном ПЛК модули ввода и вывода не фиксируются
5). ПЛК могут быть запрограммированы в _______Совет Программируемые логические контроллеры могут быть запрограммированы в релейной логике, структурированном тексте, списке команд, функциональной блок-схеме и последовательной функциональной диаграмме
6). В модульном программируемом логическом контроллере _______Совет В модульном ПЛК модули ввода и вывода могут быть расширены, тогда как в фиксированном программируемом логическом контроллере модули ввода и вывода являются фиксированными
7).Какие бывают типы программируемых логических контроллеров?Совет ПЛК подразделяются на два типа: фиксированный программируемый логический контроллер и модульный программируемый логический контроллер
8). Компоненты, обеспечивающие работу ПЛК, можно разделить на ____________ основных областейСовет Компоненты, обеспечивающие работу ПЛК, можно разделить на три основные области: ввод / вывод, ЦП, стойка и источник питания
9). Сколько рабочих шагов имеет программируемый логический контроллер?Подсказка Работа программируемого логического контроллера состоит из трех этапов: сканирование ввода, сканирование вывода и сканирование программы
10).При работе ПЛК ___________ проверяет состояние на стороне входаСовет Сканирование ввода проверяет состояние на стороне входа в операции программируемого логического контроллера
11). При работе ПЛК ___________ извлекает данные в модуль вывода.HintIn Сканирование результатов работы ПЛК извлекает данные в модуль вывода, так что все выходы обновляются.
12). До создания ПЛК во многих отраслях промышленности использовалось _________Подсказка Сотни и тысячи реле используются в отраслях, где программируемые логические контроллеры не разработаны
13).Какая модель ПЛК первая?Совет PLC 084 — первый разработанный программируемый логический контроллер модели
14). Реле состоят из __________Совет Реле состоят из двух отдельных и полностью независимых цепей, одна называется цепью управления, а другая — цепью нагрузки
15). Камеры видеонаблюдения являются примером ________ автоматизацииСовет Камеры видеонаблюдения относятся к категории автоматизации делопроизводства
16). Управляющая логика в программируемом логическом контроллере может быть запрограммирована с помощью _____Подсказка Управляющая логика в программируемом логическом контроллере может быть запрограммирована с использованием разных языков программирования, некоторые из них — FBD, релейная логика, последовательная логика и структурированный текст
MCQ ПЛК для Викторина
17).Кто изобрел программируемый логический контроллер (ПЛК)?Совет Программируемый логический контроллер (ПЛК) изобретен Диком Морли в 1964 году
18). Программируемые логические контроллеры используются в __________Совет ПЛК используются во многих отраслях промышленности, например, в стекольной и бумажной промышленности, на заводах по автоматизации процессов, производстве цемента и т. Д.
19). В ПЛК модульного типа ПЛК классифицируются на _______Совет В ПЛК модульного типа ПЛК классифицируются на три типа: ПЛК релейного типа, ПЛК с транзисторным выходом и ПЛК с симисторным выходом.
20). Программируемые логические контроллеры классифицируются на _________ в соответствии с физическим размером в PLC модульного типаСовет Программируемые логические контроллеры классифицируются на три типа в зависимости от физического размера в PLC модульного типа: мини, микро и нано PLC
21). Преимущества ПЛК: ______Совет Программируемые логические контроллеры небольшие по размеру, надежность очень высока, и обслуживание этих контроллеров очень простое
22). ЦП имеет ______Совет ЦП — это часть управления программируемого логического контроллера, которая состоит из системы памяти, процессора и источника питания
23).Язык визуального программирования также называется _______Подсказка Язык визуального программирования также называется релейной логикой
24). _________ — это компоненты, которые необходимы для изменения или создания программы.Совет. Для изменения или создания программы требуются ПЛК, устройство программирования и программное обеспечение, а также соединительный кабель.
25). __________ пример для световой автоматики?ПодсказкаУличное солнечное освещение — пример световой автоматики
26). В резервуаре для хранения уровня воды программа ручного режима контролирует уровень воды, контролируя вход переключателя _________Совет В ручном режиме, когда переключатель датчика низкого уровня выключен, двигатель насоса выключается, и аналогично, когда переключатель датчика низкого уровня включает двигатель насоса. включает
27).Последовательности подразделяются на _________Совет Последовательности подразделяются на три типа: одиночная последовательность, сложная одиночная последовательность и множественные последовательности
28). __________ — это пример научной автоматизации?Подсказка Запуск ракеты — пример научной автоматизации
29). ПЛК внутренне оперирует, сохраняет и вычисляет значение в _____Совет: ПЛК сохраняет работу и вычисляет значение в двоичном формате чисел
30). Внешние точки ввода-вывода DVP-PLC пронумерованы в формате _________Совет Внешние точки ввода-вывода DVP-PLC пронумерованы в восьмеричном формате
PLC Interview Questions
31).Какая из них правильная последовательность для работы ПЛК?Совет Правильная последовательность для работы ПЛК — самотестирование, сканирование входа, сканирование логики, сканирование выхода
32). Электромагнитные реле сконструированы с _______Совет Электромагнитные реле состоят из электромеханических компонентов, рабочей катушки и механических контактов
33). Реле постоянного и переменного тока работают по принципу __________Совет Реле постоянного и переменного тока работают по принципу электромагнитной индукции, но конструкция несколько отличается (
34).Электромагнитные реле аттракционного типа работают с _________Совет Электромагнитные реле аттракционного типа работают как от источника переменного, так и от постоянного тока, притягивающего металлический стержень или кусок металла
35). В ПЛК пользователь может писать программы с помощью ________Hint В ПЛК пользователь может писать программы с помощью устройств программирования, устройства программирования являются интерфейсом между ПЛК и пользователем
36). Система, которая используется для управления, регулирования или управления самой собойСовет Система управления используется для управления, регулирования или управления самой собой
37).В какой системе управления доступна обратная связь?Совет Обратная связь доступна в системе управления с обратной связью
38). Реле — это ___________ устройствоПодсказка Реле является электромеханическим устройством
39). Какой язык программирования ПЛК?Совет Функциональная блок-схема представляет собой один из типов программируемых логических контроллеров на языке программирования
40). Стандартная форма ПЛК — ______Совет Стандартная форма ПЛК — это программируемый логический контроллер, это один из типов логических контроллеров
41).Релейная логика в ПЛК состоит из _________Совет Релейная логика в ПЛК состоит из реле
42). __________ пример автоматизации делопроизводства?Совет Принтеры и камеры видеонаблюдения являются примером автоматизации делопроизводства
43). Реле работают на __________Совет Реле работают на малой мощности и могут использоваться для управления цепью
44). Какая стандартная форма МЭК?Совет Стандартной формой IEC является Международная электротехническая комиссия
45).Какой из языков программирования самый старый?Подсказка Релейная логика — один из старейших языков программирования
46). Каковы элементы лестничной логики?Совет Нормально открытый и нормально закрытый — это два элемента релейной логики
47). __________ это пример автоматизации зданий?СоветДымовые извещатели являются примером автоматизации зданий
48). Реле используются в ________Подсказки Реле используются в наших повседневных устройствах, таких как стиральные машины, холодильники, водонагреватели и т. Д.
49). Стандартная форма STL — ________Подсказка Полная форма STL — Step Ladder Diagram, это один из методов программирования, используемых для написания кода или программы
50). Какая стандартная форма FBD?Совет Стандартная форма FBD — это функциональная блок-схема
51). __________ это пример промышленной автоматизации?ПодсказкаАвтоматические станции розлива бутылок являются примером промышленной автоматизации
52). Какие компоненты используются для изготовления реле __________Совет: Электромагнит, пружина и якорь — это компоненты, которые используются для изготовления реле
53).Сталелитейные заводы являются примером ____________ автоматизацииСовет Сталелитейные заводы являются примером промышленной автоматизации
54). Зачем нужны программируемые логические контроллеры?Подсказка Программируемые логические контроллеры необходимы, чтобы уменьшить человеческие усилия, получить максимальную эффективность и уменьшить сложную схему всей системы (
55). Какая стандартная форма MODICON?Совет Стандартной формой MODICON является модульный цифровой контроллер
56).Какой режим принимает и преобразует сигналы от датчиков в логический сигнал?Совет Входной модуль принимает и преобразует сигналы от датчиков в логический сигнал
57). ___________ является примером модулей ввода в программируемом логическом контроллереСовет Переключатели и кнопки являются примерами модулей ввода в программируемом логическом контроллере
58). __________ является примером модулей вывода в программируемом логическом контроллереСовет Индикаторы и аварийные сигналы являются примерами модулей вывода в программируемом логическом контроллере
59).Какой не является графическим языком программирования для программируемого логического контроллера?Совет Структурированный текст не является графическим языком программирования для программируемого логического контроллера
60). Сколько входов имеет унитарный программируемый логический контроллер?Совет Унитарный программируемый логический контроллер имеет 20 входов и 12 выходов
61). Сколько контактов входа и выхода есть у небольшого программируемого логического контроллера?Подсказка Небольшой программируемый логический контроллер имеет в общей сложности 128 входных и выходных контактов
ПЛК MCQ с подсказками
62)._________ подключен к входу ПЛКСовет Полевые датчики — это один из типов устройств ввода, которые подключаются к входу ПЛК
63). _________ — устройство, которое не может быть подключено к выходу PLC. Совет Датчик давления — это устройство, которое не может быть подключено к выходу PLC
64). Программируемый логический контроллер работает на __________Совет Программируемый логический контроллер работает на последовательном механизме
65). Сколько контактов ввода и вывода имеет программируемый логический контроллер нано?Совет: Программируемый логический контроллер nano имеет в общей сложности 16 входных и выходных контактов
66).Сколько контактов входа и выхода есть у микропрограммируемого логического контроллера?Совет Микропрограммируемый логический контроллер имеет в общей сложности 32 входа и выхода
67). ________ может быть подключен к аналоговому выходу программируемого логического контроллераСовет Регулирующий клапан может быть подключен к аналоговому выходу программируемого логического контроллера
68). _________ подает напряжение на первичные компоненты ПЛКСовет Источник питания обеспечивает напряжение, необходимое для работы первичных компонентов ПЛК
69).Какой тип памяти используется в ПЛК?Совет Тип памяти, используемый в ПЛК, — это постоянная память и оперативная память для хранения информации, программы и данных в ПЛК (
70). ЦП состоит из _________Совет ЦП состоит из АЛУ, внутренней памяти ЦП и внутренних таймеров, счетчиков и флагов
.