Диспетчер задач by Alex Gyver

Пользовательские блоки дополняющие набор стандартных блоков
Правила форума
Рекомендации по размещению блоков:
Автор блока создает подробное описание блока, отличие от подобных(если есть на данный момент).Сложные блоки очень желательно с примерами.
При выходе новых версий редактирует/дополняет свой первый пост с указанием даты, версии, причины.
В каждой теме обсуждается только выложенный автором блок - баги, возможность (или предложение) доработки и прочие хотелки.
Свои блоки, переработанные, с другими библиотеками, протоколами и т.д.- размещаем либо сами отдельно, либо обсуждаем и дорабатываем в форуме Разработка блоков.
Пользователи улучшив блок автора и проверив его работоспособность - могут обратиться к автору или модераторам с просьбой добавить их версию блока в первое сообщение темы.
ecoins
Полковник
Сообщения: 2922
Зарегистрирован: 12.02.2016{, 11:40}
Репутация: 453
Откуда: Шатура
Имя: Энвер

Диспетчер задач by Alex Gyver

#41

Сообщение ecoins » 18.09.2022{, 23:22}

artemka19 писал(а):
18.09.2022{, 23:15}
веб интерфейс при этом использовался? (для 8266 и 32)
Пока нет, только протокол ModBus TCP от FlProg.

artemka19
Лейтенант
Сообщения: 540
Зарегистрирован: 03.09.2020{, 15:41}
Репутация: 216
Откуда: Питер
Имя: Артем

Диспетчер задач by Alex Gyver

#42

Сообщение artemka19 » 18.09.2022{, 23:24}

Rovki писал(а):
18.09.2022{, 23:11}
Нельзя рвать пакеты модбас ТСП
с пакетами tcp вообще очень интересно: если данные не вмещаются в один пакет, то при их посылке получаем Всегда задержку в 200 мсек - вот возможно в этом и все проблемы в обрыве связи как для модбас тсп, так и многих других сервисов
Последний раз редактировалось artemka19 18.09.2022{, 23:26}, всего редактировалось 2 раза.

Аватара пользователя
Phazz
Полковник
Сообщения: 2552
Зарегистрирован: 17.10.2016{, 15:38}
Репутация: 367
Откуда: Сургут
Имя: Анатолий

Диспетчер задач by Alex Gyver

#43

Сообщение Phazz » 18.09.2022{, 23:25}

ecoins, а любом случае где-то нарветесь не несовместимость. Что касается этого примера пока не было времени разбираться в чем причина этого поведения. Возможно и не все так страшно.

artemka19
Лейтенант
Сообщения: 540
Зарегистрирован: 03.09.2020{, 15:41}
Репутация: 216
Откуда: Питер
Имя: Артем

Диспетчер задач by Alex Gyver

#44

Сообщение artemka19 » 18.09.2022{, 23:27}

ecoins писал(а):
18.09.2022{, 23:22}
TCP
интересно, есть ли хоть в одной библиотеке контроль размера пакета tcp?
*ну в смысле пытаются ли библиотеки разбивать данные для посылки

ecoins
Полковник
Сообщения: 2922
Зарегистрирован: 12.02.2016{, 11:40}
Репутация: 453
Откуда: Шатура
Имя: Энвер

Диспетчер задач by Alex Gyver

#45

Сообщение ecoins » 19.09.2022{, 00:03}

Phazz писал(а):
18.09.2022{, 23:25}
ecoins, а любом случае где-то нарветесь не несовместимость. Что касается этого примера пока не было времени разбираться в чем причина этого поведения. Возможно и не все так страшно.
Именно этому и посвящена наша работа за последние несколько лет.
Насколько возможно мы изучаем все CORE для разных контроллеров и Вы безусловно правы - очень много различий по работе с пинами, UART, SPI, i2c, 1-Wire.
Во многих случаях это просто приводит к ошибкам компиляции.
И производители порой радикально меняют ядра (ESP). У AVR стабильно, а вот с Raspberry Pi Pico поддержка очень и очень радует.
По прерываниям и системам реального времени.
Одна из известных управляющих машин в CCCP была M6000 (аналог Hewlett-Packard). Память от 16 до 64кБ на ферритах.
Процесс там собран платах в основном на базовых логических элементах 155ЛА3 (2И-НЕ), совсем немного JK-триггеров.
Так уж получилось, что мне приходилось программировать системы реального времени и одновременно ремонтировать (155 серия горела часто и контакты подводили если спиртом регулярно не мыть).
Там была удивительная операционная система на перфоленте (ОУС), чуть позже ОСРВ. И все работало с прерываниями., таймерами, стеком, выталкивающей (по приоритету_ многозадачностью.
Пришлось и удалось разобраться не только с кодами до уровня машинных команд, но и их физическая реализация до уровня логических элементов. Благо образование было как раз в этой области.
Потом мой отдел разработал на процессоре КР580ВМ80А (аналог Intel 8080) и периферийными микросхемами этой же серии модульный контроллер для управления мощными технологическими лазерами.
Там было 8 аппаратных прерываний + многозадачность. Создали собственную операционную систему реального времени.
До сих пор кое-где лазеры продолжают трудиться. Там же появился опыт промышленного производства (помехи, конструкторская и эксплуатационная документация, метрология и прочее).

Представление о многозадачности, прерываниях у нас носит не абстрактный характер.
Один из основных инструментов при разработке программного обеспечения - это мощные логические анализаторы.
Во многом поэтому код наших библиотек быстрый, а проекты демонстрируют без конфликтную работу с вышеприведенных характеристиках.
-------------
Проблема упомянутой Вами совместимости(несовместимости) объективна, но нама вроде удается разрешать ему системными методами.

ecoins
Полковник
Сообщения: 2922
Зарегистрирован: 12.02.2016{, 11:40}
Репутация: 453
Откуда: Шатура
Имя: Энвер

Диспетчер задач by Alex Gyver

#46

Сообщение ecoins » 19.09.2022{, 00:12}

artemka19 писал(а):
18.09.2022{, 23:27}
интересно, есть ли хоть в одной библиотеке контроль размера пакета tcp?
*ну в смысле пытаются ли библиотеки разбивать данные для посылки
Нет. В реализации контроллер выступает в качестве SLAVE, разбор посылок и формирование посылок делается функциями FLProg, К ним есть некоторые вопросы (и вроде разработчик FLProg планирует новую версию), вно в целом работает очень даже хорошо.
Там две функции - одна в начале loop() (перед всеми платами). вторая после всех плат в конце loop().
Если проектировать проект таким образом, чтобы между этими функциями не было значимых "тормозов", то обмен выполняется без сбоев.
Web тема нас интересует, но плотно мы в неё пока не погружались и представления о теме поверхностны.
А вот с UART,SPI,2c,1-Wire, прерываниями разобрались достаточно основательно.

Аватара пользователя
Rovki
Полковник
Сообщения: 4872
Зарегистрирован: 22.04.2016{, 17:25}
Репутация: 269
Откуда: Чехов
Имя: Анатолий
Контактная информация:

Диспетчер задач by Alex Gyver

#47

Сообщение Rovki » 19.09.2022{, 08:28}

krom23 писал(а):
18.09.2022{, 23:11}
Rovki, в вашем примере "задача2" вызывает "задача3", а та в свою очередь является пустой платой, это как так, норм?
Нет ,ни кто ни кого не вызывает ,эти надписи остались от примера автора

Отправлено спустя 13 минут 37 секунд:
artemka19 писал(а):
18.09.2022{, 23:27}
ecoins писал(а):
18.09.2022{, 23:22}
TCP
интересно, есть ли хоть в одной библиотеке контроль размера пакета tcp?
*ну в смысле пытаются ли библиотеки разбивать данные для посылки
В локальной сети пакеты от клиента (мастера) не рвутся на стороне мастера и не должен рваться прием пакетов на стороне сервера (слейва). Если тоже самое проделать через интернет ,через узлы коммуникаций , то такое может быть , но пакеты нумеруются , что бы потом их можно было склеить. В модбасе данные не разбиваются , а обрастают байтами (служебными) создавая пакет (сообщение) - https://ipc2u.ru/articles/prostye-resheniya/modbus-tcp/. Может что сумбурно ответил ,торопился по делам ..поэтому дал ссылку

Отправлено спустя 32 минуты 25 секунд:
Как то не удобно обсуждать модбасы в данной теме . Вопрос подняли , автор думает ...
Электронщик до мозга костей и не только

Brand2
Лейтенант
Сообщения: 413
Зарегистрирован: 26.02.2018{, 21:27}
Репутация: 41
Откуда: Haifa
Имя: Alex

Диспетчер задач by Alex Gyver

#48

Сообщение Brand2 » 19.09.2022{, 10:07}

ecoins, В 80х годах я работал с ЭВМ "Электроника Д3-28" с памятью на феритах 16 кБ,8 ми битные шина ввода,вывода , адресная шина и шина управления.
Програмированние в машинных кодах,до сих пор помню некоторые команды,программа записывалась на касету типа МК-60.
С ее помощью управляли лазерной настройкой частоты резонаторов электромеханических фильтров,куда входило управление энергией лазера,цифровым синтезатором частоты,координатным столом с точностью 0,1 мм на 2х шаговиках,измерением частоты резонаторов и тд.
Так же использовали ее для управления вакумной подстройкой частоты кварцевых резонаторов, лазерной приваркой держателей резонатора к электродам,лазерной сваркой корпусов резонаторов ,маркировке и тд.
Вся периферия разрабатывалась тоже на 155 серии,155 ЛА3,ТМ2,счетчики,дешифраторы и тд.
Вместо дисплея было два 16 разрядных люминисцентных индикатора.
Я не могу сказать что это была система реального времени,но все это работало и крутилось,прерывания не использовались,небыло необходимости .
Почти все это работало вплоть до 94 года ,пока не уволился .
Последний раз редактировалось Brand2 19.09.2022{, 10:15}, всего редактировалось 1 раз.

krom23
Лейтенант
Сообщения: 444
Зарегистрирован: 06.09.2015{, 15:18}
Репутация: 12
Откуда: Калуга
Имя: Андрей

Диспетчер задач by Alex Gyver

#49

Сообщение krom23 » 19.09.2022{, 10:12}

Из вышесказанного получается, что зная скорость обмена и величину пакета, мы можем назначить прерывание на приём и передачу, а монитор сети сделать приоритетной задачей, или синхронизировать работу раба с хозяином. Так?

Отправлено спустя 26 минут 28 секунд:
ecoins писал(а):
19.09.2022{, 00:03}
Одна из известных управляющих машин в CCCP была M6000 (аналог Hewlett-Packard). Память от 16 до 64кБ на ферритах.
Процесс там собран платах в основном на базовых логических элементах 155ЛА3 (2И-НЕ), совсем немного JK-триггеров.
Brand2 писал(а):
19.09.2022{, 10:07}
ecoins, В 80х годах я работал с ЭВМ "Электроника Д3-28" с памятью на феритах 16 кБ,8 ми битные шина ввода,вывода , адресная шина и шина управления.
Ага, ага, припоминаю, в начале 80-х в составе радиокружка принимал участие в сломе чего то подобного в Областной Статистике. Так весело хрустели под детскими пальчиками сеточки с ферритами, а как эти рамочки летали из окошка со второго этажа, прелесть! :smile469:

Аватара пользователя
Rovki
Полковник
Сообщения: 4872
Зарегистрирован: 22.04.2016{, 17:25}
Репутация: 269
Откуда: Чехов
Имя: Анатолий
Контактная информация:

Диспетчер задач by Alex Gyver

#50

Сообщение Rovki » 19.09.2022{, 11:07}

krom23 писал(а):
19.09.2022{, 10:38}
Из вышесказанного получается, что зная скорость обмена и величину пакета, мы можем назначить прерывание на приём и передачу, а монитор сети сделать приоритетной задачей, или синхронизировать работу раба с хозяином. Так?

Отправлено спустя 26 минут 28 секунд:
ecoins писал(а):
19.09.2022{, 00:03}
Одна из известных управляющих машин в CCCP была M6000 (аналог Hewlett-Packard). Память от 16 до 64кБ на ферритах.
Процесс там собран платах в основном на базовых логических элементах 155ЛА3 (2И-НЕ), совсем немного JK-триггеров.
Brand2 писал(а):
19.09.2022{, 10:07}
ecoins, В 80х годах я работал с ЭВМ "Электроника Д3-28" с памятью на феритах 16 кБ,8 ми битные шина ввода,вывода , адресная шина и шина управления.
Ага, ага, припоминаю, в начале 80-х в составе радиокружка принимал участие в сломе чего то подобного в Областной Статистике. Так весело хрустели под детскими пальчиками сеточки с ферритами, а как эти рамочки летали из окошка со второго этажа, прелесть! :smile469:
В этой теме не хотелось бы уходов в сторону , автор знает, автор думает...
Электронщик до мозга костей и не только

Аватара пользователя
Phazz
Полковник
Сообщения: 2552
Зарегистрирован: 17.10.2016{, 15:38}
Репутация: 367
Откуда: Сургут
Имя: Анатолий

Диспетчер задач by Alex Gyver

#51

Сообщение Phazz » 19.09.2022{, 21:05}

Rovki, Обновил шапку. Спасибо огромное за тест.

Аватара пользователя
Rovki
Полковник
Сообщения: 4872
Зарегистрирован: 22.04.2016{, 17:25}
Репутация: 269
Откуда: Чехов
Имя: Анатолий
Контактная информация:

Диспетчер задач by Alex Gyver

#52

Сообщение Rovki » 19.09.2022{, 22:11}

Phazz писал(а):
19.09.2022{, 21:05}
Rovki, Обновил шапку. Спасибо огромное за тест.
Если так ,могу предложить более сложный тест :smile225:
Электронщик до мозга костей и не только

Аватара пользователя
Phazz
Полковник
Сообщения: 2552
Зарегистрирован: 17.10.2016{, 15:38}
Репутация: 367
Откуда: Сургут
Имя: Анатолий

Диспетчер задач by Alex Gyver

#53

Сообщение Phazz » 19.09.2022{, 22:30}

Rovki, давайте

Аватара пользователя
Rovki
Полковник
Сообщения: 4872
Зарегистрирован: 22.04.2016{, 17:25}
Репутация: 269
Откуда: Чехов
Имя: Анатолий
Контактная информация:

Диспетчер задач by Alex Gyver

#54

Сообщение Rovki » 19.09.2022{, 22:56}

Phazz писал(а):
19.09.2022{, 22:30}
Rovki, давайте
завтра попробую :smile453:, мне не привыкать - в свое время сломал стек программы Овен лоджик , после чего они сделали динамический стек :smile37:
Электронщик до мозга костей и не только

Аватара пользователя
Rovki
Полковник
Сообщения: 4872
Зарегистрирован: 22.04.2016{, 17:25}
Репутация: 269
Откуда: Чехов
Имя: Анатолий
Контактная информация:

Диспетчер задач by Alex Gyver

#55

Сообщение Rovki » 20.09.2022{, 16:59}

Сегодня не получилось с тестами ,занялся прошивкой полученного ПЛК , хорошо хоть схема есть (дать не могу, обещал производителю) . ПЧВ пришел, надо обзор делать. Извиняйте плиз.
Электронщик до мозга костей и не только

Аватара пользователя
Rovki
Полковник
Сообщения: 4872
Зарегистрирован: 22.04.2016{, 17:25}
Репутация: 269
Откуда: Чехов
Имя: Анатолий
Контактная информация:

Диспетчер задач by Alex Gyver

#56

Сообщение Rovki » 21.09.2022{, 09:42}

Phazz писал(а):
19.09.2022{, 21:05}
Rovki, Обновил шапку. Спасибо огромное за тест.
А библиотеку нужно обновлять?
Электронщик до мозга костей и не только

Аватара пользователя
Phazz
Полковник
Сообщения: 2552
Зарегистрирован: 17.10.2016{, 15:38}
Репутация: 367
Откуда: Сургут
Имя: Анатолий

Диспетчер задач by Alex Gyver

#57

Сообщение Phazz » 21.09.2022{, 10:43}

Rovki, нет, если у вас последняя версия библиотеки

Аватара пользователя
Rovki
Полковник
Сообщения: 4872
Зарегистрирован: 22.04.2016{, 17:25}
Репутация: 269
Откуда: Чехов
Имя: Анатолий
Контактная информация:

Диспетчер задач by Alex Gyver

#58

Сообщение Rovki » 21.09.2022{, 14:10}

Стало лучше , старый простой тест не глючит.

Отправлено спустя 11 минут 49 секунд:
Но есть странное поведение- в задаче 0 ,которая запускается раз 500мс ,есть генератор с импульсами 50мс и счетчик. Так вот на планшете счетчик меняется раз в секунду (примерно) на единицу ,а должен как минимум через 10 считать 200,210,220 ...а он 200,201 ,202 :smile44:
тест диспетчера.png
Отправлено спустя 26 минут 26 секунд:
И почему то нет отправки в уарт , пробовал периодически и по изменению - данные на консоль не выдаются , время цикла задачи 200мс
тест диспетчера.png
Отправлено спустя 1 минуту 28 секунд:
Test_1GyverOS 1.1_fix.flp
(721.33 КБ) 27 скачиваний
Электронщик до мозга костей и не только

Аватара пользователя
Phazz
Полковник
Сообщения: 2552
Зарегистрирован: 17.10.2016{, 15:38}
Репутация: 367
Откуда: Сургут
Имя: Анатолий

Диспетчер задач by Alex Gyver

#59

Сообщение Phazz » 21.09.2022{, 18:47}

Rovki писал(а):
21.09.2022{, 14:50}
Но есть странное поведение- в задаче 0 ,которая запускается раз 500мс ,есть генератор с импульсами 50мс и счетчик. Так вот на планшете счетчик меняется раз в секунду (примерно) на единицу ,а должен как минимум через 10 считать 200,210,220 ...а он 200,201 ,202

Счетчик не может прибавлять пока не вызвали задачу. То есть получается за один вызов мы прибавляем 1 к счетчику так как условие прибавления если разница по времени >=50

Аватара пользователя
Rovki
Полковник
Сообщения: 4872
Зарегистрирован: 22.04.2016{, 17:25}
Репутация: 269
Откуда: Чехов
Имя: Анатолий
Контактная информация:

Диспетчер задач by Alex Gyver

#60

Сообщение Rovki » 21.09.2022{, 19:13}

Phazz писал(а):
21.09.2022{, 18:47}
Rovki писал(а):
21.09.2022{, 14:50}
Но есть странное поведение- в задаче 0 ,которая запускается раз 500мс ,есть генератор с импульсами 50мс и счетчик. Так вот на планшете счетчик меняется раз в секунду (примерно) на единицу ,а должен как минимум через 10 считать 200,210,220 ...а он 200,201 ,202

Счетчик не может прибавлять пока не вызвали задачу. То есть получается за один вызов мы прибавляем 1 к счетчику так как условие прибавления если разница по времени >=50
Так и я говорю - генератор стоит 50мс ,а счетчик считает 1 раз в 500мс . Значит такие задачи не нужно через данный диспетчер пропускать ... :smile427:
А что с уартом (который раньше мешал) ? Почему не выводит?
Электронщик до мозга костей и не только

Ответить

Вернуться в «Триггеры, таймеры, счетчики, детекторы сигнала»