Довідка

 Зміст

 Бібліотека блоків
   FBD
    Інший
     Командоаппарат
      Командоаппарат

Основний блок командоапарату





Відеоурок на каналі "Ключ до Ардуїно"





Блок призначений для імітації ручного/автоматичного командоапарата.


Команда апарату. Принцип роботи




приклади.








Механічний командоапарат - найпростіший спосіб влаштувати програмне керування. Програмне управління має на увазі, що регулятор не має зворотного зв'язку з об'єктом і примусово виводить його в певний режим "грубою силою". Простий приклад - включення та вимкнення лампи по таймеру. Контролер не знає, горить або не горить лампа, він просто подає на неї напругу.

Прання у пральній машині – це програма. Для того щоб її здійснити потрібно в певній послідовності включати нагрів, насос, мотор, подачу води і т.д. У старих пральних машинах це механічний командоапарат. На фото нижче послідовний розбір його пристрою:




Кутом повороту ручки вибирають потрібне місце циклограми (від "цикл" та "програма") з якого потрібно починати. Ручка жорстко пов'язана з барабаном, на якому виступами записано програму. Барабан обертається двигуном через редуктор з невеликою швидкістю. Один оборот ручки – повний цикл.




Барабан, пластикові щупи із контактними парами. Кожне коло з виступами на барабані – це один пристрій. Наприклад, насос.




Барабан із "програмою" прання.




Власне приклад розгорнутої циклограми прання:




Фото старої книги для піонерів. Простий командоапарат наприклад для послідовного запалення вогнів на макеті:




Недоліків у механічного командоапарата повно – низька надійність, складність у виготовленні, немає уніфікації. Тому практично повсюдно вони замінені електронні блоки з використанням мікроконтролерів.



Налаштування блоку


Основні




"Ім'я" – задається ім'я для ідентифікації даного командоапарата. У проекті може бути необмежену кількість командоапаратів.

"Коментар" - коментар до даного командоапарату.

"Вхід En" - при встановленні даного чек боксу у блоку формується вхід "En", і блок робить якісь дії тільки за наявності високого логічного рівня на ньому.

“Вхід “Наступний крок” (NS)” – під час встановлення цього чек боксу у блоку формується вхід “NS”. По передньому фронту імпульсу цьому вході командоаппарат переходить наступного кроку. У режимі автоматичного перемикання кроків перехід відбувається негайно, не чекаючи закінчення таймера.

“Вхід “Попередній крок” (PS)” – під час встановлення цього чек боксу у блоку формується вхід “PS”. По передньому фронту імпульсу на цьому вході командоаппАрат переходить на попередній крок. У режимі автоматичного перемикання кроків перехід відбувається негайно, не чекаючи закінчення таймера.

"Вхід "Reset"" - при встановленні цього чек боксу у блоку формується вхід "Reset". По передньому фронту імпульсу цьому вході командоаппарат переходить на нульовий крок. У режимі автоматичного перемикання кроків перехід відбувається негайно, не чекаючи закінчення таймера.

"Вхід безпосередньої установки кроку" - при встановленні цього чек боксу у блоку формуються входи "DSS" та "DSSV". На передньому фронті імпульсу на вході “DSS” командоапарат переходить на крок номер, якого встановлено на вході “DSSV”. У режимі автоматичного перемикання кроків перехід відбувається негайно, не чекаючи закінчення таймера.

"Після останнього кроку, перейти до кроку 0" - при встановленні цього чек боксу командоапарат після відпрацювання останнього кроку (при прямому русі) наступним кроком перейде до кроку 0. Інакше командоапарат зупиниться у прямому русі.

"При зворотному русі після кроку 0, перейти до останнього кроку" - при встановленні цього чек боксу командоапарат після відпрацювання нульового кроку (при зворотному русі) наступним кроком перейде до останнього кроку. Інакше командоапарат зупиниться у зворотному русі.

"Автоматичне перемикання кроків" - установка цього чек боксу включає імітацію електродвигуна приводу командоапарата. У цьому блоку формується вхід “AS”. Високий логічний рівень цього входу включає двигун, а низький – вимикає.


"Напрямок кроку"


"Вхід" - при виборі цього режиму блоку формується вхід "ASD". За наявності на ньому високого логічного рівня командоапарат перемикається у напрямку від нульового кроку до останнього, а за низького логічного рівня на цьому вході – у зворотному напрямку.

"0 -> Останній" - при виборі цього режиму командоапарат перемикається у напрямку від нульового кроку до останнього.

"Останній -> 0" - при виборі цього режиму командоаппарат перемикається у напрямку від останнього кроку до нульового.


"Тривалість кроку"


"Вхід" - при виборі цього режиму блоку формується вхід "ST". Тривалість поточного кроку дорівнюватиме значенню, що подається на цей вхід у мілісекундах.

"Константа" - при виборі цього режиму тривалість всіх кроків дорівнює і визначається безпосередньо в налаштуваннях блоку у вигляді константи.

"Вихідне значення" - при виборі цього режиму тривалість кроку прив'язується до одного з виходів блоку. Тобто можна створити окремий вихід блоку та задавати за кроки значення тривалості кожного кроку.


“Під час зупинки таймер кроку”


"Скидається в 0" - в момент появи на вході "AS" низького логічного рівня таймер кроку скидається в 0 і зупиняється до моменту появи на вході "AS" високого логічного рівня.

"Зупиняється" - у момент появи на вході "AS" низького логічного рівня таймер кроку зупиняється до моменту появи на вході "AS" високого логічного рівня.

"Продовжує роботу" - у момент появи на вході "AS" низького логічного рівня таймер кроку продовжує роботу, але перемикання на наступний крок не відбувається до моменту появи на вході "AS" високого логічного рівня.


Виходи




На закладці “Виходи” встановлюються виходи блоку. Кожен вихід представляє як відображення окремого барабана командоапарата.

“Вихід поточного кроку” – при встановленні цього чек боксу, у блоку сформується додатковий вихід “CS” на який буде виводитись номер поточного кроку.

Якщо натиснути кнопку , відкриється вікно створення нового виходу.




У цьому вікні задаємо ім'я виходу, його тип, і за необхідності – коментар до виходу.

Кнопка служить для виклику діалогу редагування виходу, який аналогічний до діалогу створення виходу.

Кнопками і змінюється послідовність розташування виходів.

Кнопка служить видалення виходу.


"Значення"




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

Розділ "Кроки"

При натисканні кнопки відкривається вікно створення нового кроку.




У цьому вікні задаємо ім'я кроку, і за необхідності – коментар до нього.

Кнопка служить для виклику діалогу редагування кроку, який аналогічний діалогу створення кроку.

Кнопками і змінюється послідовність виконання кроків.

Кнопка служить видалення кроку.

Розділ “Значення”

Коли ви вибираєте крок у розділі “Кроки”, у цьому розділі відображаються значення, задані для виходів для цього кроку. Ці значення за необхідності можна змінити у таблиці.


“Файлове завантаження/розвантаження”




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

Дані зберігаються у файлі у форматі “.csv” і за необхідності можуть бути відредаговані у програмі “Exel”.

Установки із закладки “Основні” у файл не зберігаються, а завантаження даних із файлу не змінюються.





10

Автор публікації

Офлайн 11 години

Сергей Глушенко

766
Коментарі: 15Публікації: 389Реєстрація: 04-02-2018

53 коментарі до “Довідка”

  1. ошибка в описании блока “Блок обнаружения изменения числа”

    “Блок служит для обнаружения изменения числа подаваемого на вход “EN” . При изменении значении на выходе”Q” формируется импульс длительностью в один цикл программы. Для блока возможно задание зоны нечувствительности раздельно для каждого направления изменения числа. Эти параметры задаются в редакторе блока.”

    вместо первого “EN”  должно быть  “Value”

    0
  2. что то не так с массивами.
    скетч использовал данные из той же строки другого массива.  менял названия (ставил не совпадающие цифры), удалял/ ставил блоки – (не копировал а притаскивал новый), проверял / менял настройки. есть 3 разных массива. заполненных.  но берёт почему то  из одного … созданного первым.
    костыль  – использование не повторяющихся номеров строк (индексов) .  (помогает)
    ардуино uno. версия FLP- актуал.

    0
  3. Здравствуйте ! Спасибо огромное всем кто внес свой вклад в этот проект! Программа сделана интуитивно понятно и за месяц я дошел до коммуникаций но с протоколом Modbus остановился на ошибке 244 . Scada мастер, Uno слейв  соединены через Max485. Задача кнопкой на Scada включать диод на Uno и на оборот. Подскажите пожалуйста возможные решения этой проблемы и еще в каких случаях назначать пин pe-de ?

    С уважением Влад!

    0
  4. Добрый день!

    В справке по блоку SVCM (отправка переменной через коммуникации) показаны активными два устройства: Arduino Ethernet Wiznet 5100  и ESP8266 WiFi Module. В версии программы 4.3.4 можно выбрать только Arduino Ethernet Wiznet 5100.

    В обновлении 6.3.1 ESP8266 WiFi Module также недоступен для выбора.

    Подскажите пожалуйста, может нужно что-то доустановить или настроить?

    3
  5. Добрый день.

    Параметр “Time” – на этот вход подаётся время регулирования (в миллисекундах).” – так и не смог понять на что именно он влияет… Можно где то узнать что это за параметр?

    0
  6. Добрый день! Мне требуется отправка по UART данных для MIDI протокола. Нашёл на просторах интернета готовый скетч, там отправка происходит вот таким образом


    1. void noteOn(int chan, int note, int velocity) {
          Serial.write( (0x90 | chan) );
          Serial.write(note);
          Serial.write(velocity);
      }

    2. Всю голову сломал как сделать это в данной программе, ничего не получается. Подскажите плиз какие есть варианты.
    3. получается там из массива подставляются переменные и пакетом отсылаются на порт
    4. вообщем вот от сюда брал скетч http://forum.amperka.ru/threads/%D0%AD%D0%BB%D0%B5%D0%BA%D1%82%D1%80%D0%BE%D0%BD%D0%BD%D1%8B%D0%B5-%D0%B1%D0%B0%D1%80%D0%B0%D0%B1%D0%B0%D0%BD%D1%8B-%D0%BD%D0%B0-arduino-%D0%BA%D1%80%D0%B8%D0%B2%D1%8B%D0%BC%D0%B8-%D1%80%D1%83%D0%BA%D0%B0%D0%BC%D0%B8.15477/
    0
  7. Вопрос: плата Arduino Nano strong (т.е. плата и шилд сразу) при использовании блока матричная клавиатура подключение 2 пин основной 3,4,5,6,7 уже исполняющие
    так вот при такой раскладке после прошивки на 4 пине появляется сигнал и ничего с этим не сделать если-же подключать так-же с 8 по 13 то на 10 он наоборот пропадает и ничем его не получить.
    Flprog стоит 5.3.0 для 64 виндовс, это можно как-то решить т.к. проект готов и затык только в этом (не резать-же шлейф да сейчас такие шлейфы что :)))   )
    спасибо

    0
  8. Вопрос: плата Arduino Nano strong (т.е. плата и шилд сразу) при подключении 2 пин основной 3,4,5,6,7 уже исполняющие
    так вот при такой раскладке после прошивки на 4 пине появляется сигнал и ничего с этим не сделать если-же подключать так-же с 8 по 13 то на 10 он наоборот пропадает и ничем его не получить.
    Flprog стоит 5.3.0 для 64 виндовс, это можно как-то решить т.к. проект готов и затык только в этом (не резать-же шлейф да сейчас такие шлейфы что :)))   )
    спасибо

    0
  9. Приветствую! Подскажите пожалуйста, какова длина/(время) импульса на выходе блока “Установка события по часам реального времени” и минимальная длина/(время) импульса на входе для срабатывания блоков типа “Триггер”? Плата, Arduino UNO.  (Осциллографа нет, а монитором COM порта эти величины с нужной точностью замерять затруднительно.) Или существует формула для этих расчетов?

    0
  10. xatabmail250986

    Здравствуйте, у меня такой вопрос, я хочу запрограммировать Ардуинку на определенный алгоритм вращения шагового двигателя. У меня есть шаговик Nema23 и Драйвер DM556. Я столкнулся с проблемой: В вашей программе для управления шаговиком используется 4 вывода а у меня от драйвера на Ардуино только 2

     2019-11-10 12:23:12

    Аватар

    xatabmail250986

    (PUL, DIR) и земля. Подскажите как я могу реализовать мое подключение с вашей программой?

    0
  11. Здравствуйте уважаемый Сергей Глушенко.

    У меня такой вопрос.

    Есть ли способ понизить скорость мне случайных чисел в данном блоке, как например в блоке “Generator”, с функцией “Несимметричный мультивибратор”…? А то данный блок “RANDOM”, меняет случайные числа с бешеной скоростью, из-за чего на дисплее не успеваешь разглядеть эти числа…

    0
  12. Здравствуйте, Сергей!

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

    Но у меня вопрос, на который не нашел ответа: Я создаю проект с участием нескольких контроллеров ESP8266 NodeMCU с OLED дисплеем. Очень не хватает такого модуля и модуля ESP32 WiFi LoRa с OLED дисплеем в предустановке.Мои контроллеры должны выполнять некоторые действия, и обмениваться между собой данными и информацией по WiFi в реальном времени. Причем, радиус действия  WIFI сети каждого из модулей не должен влиять на передачу данных между конечными контроллерами. Поэтому контроллеры самонастраиваются, и записывают данные для входа всех контроллеров WIFI сети в память для постоянного коннекта по цепи (от начального до конечного).  Вопрос: Можно ли в Вашей среде создать подобный алгоритм взаимодействия между контроллерами сети?

    С уважением, Аркадий

    0
  13. Здравствуйте! Не могу понять в чём причина. В счётчике на уменьшение, при подключении переменных к входу R и выходу <L он не считает вниз, а если убрать с R то счёт идёт но, не совсем правильно(на ноль не сбрасывается). Подскажите, в чём может быть причина?

     

    0
  14. Здравствуйте, На сериал порт приходит сообщение 18 байт, мне нужно использовать несколько байт из него. Какой функцией выделить (извлечь) например 5-й байт? Или присвоить переменной значение 5-го байта из сообщения? Спасибо.

    0
  15. Здравствуйте.

    Скажите как сделать так что бы при достижении времени установленного в настройках блока на выходе установится высокий уровень не на 1 минуту, а до времени отключения будильник?

    В данной версии блока будильника высокий сигнал на выходе пропадает через 1 минуту.

    0
  16. Здравствуйте!

    В FLProg есть блок MCP23017.

    Но ка только в «FLProg» начинает компилировать в «IDE» программа ругается и пишет, что нужны библиотеки MCP23x17.h и MCP23017.h.  Без этой библиотеки блок не рабочий.

    Где их можно скачать?

    0
  17. Здравствуйте.  Не могу запустить версию 5.00

    —————————

    flp.exe – Системная ошибка

    —————————

    Запуск программы невозможен, так как на компьютере отсутствует api-ms-win-crt-runtime-l1-1-0.dll. Попробуйте переустановить программу.

    —————————

    ОК

    —————————

    Что делать.

    1
  18. Доброго времени суток! Скажите пожалуйста, какова максимальная частота счета для этого счетчика? При превышении какой частоты счета, следует выбирать “Скоростной счетчик”? Заранее спасибо.

    0

Залишити коментар

Войти с помощью: