ВРЕМЯ ЦИКЛА или что убивает ваш проект.

com
Лейтенант
Сообщения: 657
Зарегистрирован: 31.05.2018{, 22:12}
Репутация: 69
Откуда: Тюмень
Имя: Ринат

ВРЕМЯ ЦИКЛА или что убивает ваш проект.

#61

Сообщение com » 17.09.2021{, 15:54}

Тема очень нужная и полезная, но как то... очень агрессивно что ли....

Аватара пользователя
Sancho
Полковник
Сообщения: 3877
Зарегистрирован: 25.12.2015{, 17:32}
Репутация: 547
Откуда: Ярославль.
Имя: Александр
Контактная информация:

ВРЕМЯ ЦИКЛА или что убивает ваш проект.

#62

Сообщение Sancho » 17.09.2021{, 16:00}

Для теста, просто железа уже нету никакого под рукой.
LCD 2.18_03.flp
Только одна строчка дополнительная.
Остальное штатными средствами.
Вроде почти полный повтор изначального.

Отправлено спустя 29 минут 6 секунд:
Есть при создании проектов, которые будут пользовать другие люди, а и самому тоже никогда не помешает, такое правило - одно дёрганье за цикл и из одного места. siemens-> читаем входы во входные переменные - цикл программы - запись выходов, повтор предыдущих шагов. Прерывания тоже есть, но это отдельные обработчики.
Иначе идём в С++. Пишем и комментируем. Комментариев много не бывает никогда, наоборот - часто, посему печально.
Другими словами, хотим мы, как в нашем конкретном случае, вывести данные на дисплей - нужно собрать необходимое и в одном месте это всё отправить. Выделить плату, две, три под эти цели, как посчитаете сами.
Главное в таком случае - Вы будете всё видеть, в пределах экрана РС, как формируется Ваша строка, переменная.
Иногда посмотришь на проекты - тут выводим одно, выключим, выводим в другом месте - потом запутались, одно поверх другого. Размер кода растёт вместе с блоками на платах.
Подобное часто наблюдается с выходами у новичков - здесь включат, на следующей плате выключат - потом хелп, "Щёлкает, но не работает!"
Касательно самой темы уже писал - можно и супер проц уложить нагрузкой, а можно распределить приоритеты.
Такое направление выбрал ecoins, можно и без его диспетчера для начала, просто выполнением по условию, которое Вы сами должны генерировать.
Как уже убедился - дисплей для момента отладок, настроек - когда конечное устройство работает дисплей не нужен.
Проверенно не раз - рисуешь скаду, даже на примитивах, стараешься, а когда спустя время всё работает то и забываешь о ней, максимум - а чего там было, на графиках гляну. Ну изредка уставку изменить.
Если это станок с несколькими настройками - сделать рецепты, настроить, сохранить, всё.
Я ни разу не видел оператора станка смотрящим на дисплей(экран) продолжительное время - запустил и до свидания.
Так может смотреть только наладчик, и то не продолжительное время - и даже в это время от дисплея не требуется максимальное участие в процессе. Конечно, бывают исключения, но это уже тот случай, когда проще посмотреть на график/лог/ подобное.
Я так вижу.
Для скачивания вложений Вы должны быть зарегистрированы.
Если не получится на контроллере - сделаю на тразисторах и 155/176...Научился, немного.
Поможем проекту вместе!

Аватара пользователя
ingener
Лейтенант
Сообщения: 525
Зарегистрирован: 14.10.2018{, 00:26}
Репутация: 15
Имя: Андрей

ВРЕМЯ ЦИКЛА или что убивает ваш проект.

#63

Сообщение ingener » 17.09.2021{, 16:46}

Sancho писал(а):
17.09.2021{, 16:29}
Для теста,
в углу дисплея еле заметно горит число 128361

Аватара пользователя
Dryundel
Подполковник
Сообщения: 1350
Зарегистрирован: 22.05.2017{, 23:15}
Репутация: 426
Откуда: Ярославль
Имя: Андрей
Контактная информация:

ВРЕМЯ ЦИКЛА или что убивает ваш проект.

#64

Сообщение Dryundel » 17.09.2021{, 16:52}

nalnik писал(а):
17.09.2021{, 15:47}
И не собираюсь!
Вы как ребенок - думаете что если "затерли" свое хамство - то стали лучше?
Вот и я не собираюсь. Останется Вам как напоминание о двойных стандартах вашей души.
Вы же как обиженный подросток - ни за что не согласитесь с тем, что существуют и другие мнения которые возможно правильней Вашего.
Однако Ваше эго не позволяет этого признать и исправить ошибки.
Мне же ничего не стоит извиниться и исправить ситуацию, перепечатав пару строк.
Пользовательские блоки на сайте FLPROG - BLOCK
Выразить благодарность

Аватара пользователя
nalnik
Подполковник
Сообщения: 1264
Зарегистрирован: 14.05.2016{, 17:12}
Репутация: 93
Откуда: Кисловодск
Имя: Александр

ВРЕМЯ ЦИКЛА или что убивает ваш проект.

#65

Сообщение nalnik » 17.09.2021{, 16:55}

Dryundel писал(а):
17.09.2021{, 16:52}
Мне же ничего не стоит извиниться и исправить ситуацию, перепечатав пару строк.
Слово не воробей - что написано ......
Мы просто разные.
И поэтому прошу Вас больше не отвлекаться на меня в такой "достойной теме".
Последний раз редактировалось nalnik 17.09.2021{, 17:01}, всего редактировалось 3 раза.
Я хочу быть добрее, но люди сами нарываются.

Аватара пользователя
Sancho
Полковник
Сообщения: 3877
Зарегистрирован: 25.12.2015{, 17:32}
Репутация: 547
Откуда: Ярославль.
Имя: Александр
Контактная информация:

ВРЕМЯ ЦИКЛА или что убивает ваш проект.

#66

Сообщение Sancho » 17.09.2021{, 16:57}

ingener писал(а):
17.09.2021{, 16:46}
в углу дисплея еле заметно горит число 128361
Странно, почему еле заметно?
Ну да ладно, тех момент.
Просто маленький вариант, как использовать штатные блоки.
Если не получится на контроллере - сделаю на тразисторах и 155/176...Научился, немного.
Поможем проекту вместе!

Аватара пользователя
Dryundel
Подполковник
Сообщения: 1350
Зарегистрирован: 22.05.2017{, 23:15}
Репутация: 426
Откуда: Ярославль
Имя: Андрей
Контактная информация:

ВРЕМЯ ЦИКЛА или что убивает ваш проект.

#67

Сообщение Dryundel » 17.09.2021{, 17:01}

ingener писал(а):
17.09.2021{, 16:46}
в углу дисплея еле заметно горит число 128361
Вернуться к началу
Sancho писал(а):
17.09.2021{, 16:57}
Странно, почему еле заметно?
Измените строку в одном из дисплеев.
Результат 353697

Отправлено спустя 26 секунд:
Это на ESP
Пользовательские блоки на сайте FLPROG - BLOCK
Выразить благодарность

Аватара пользователя
ingener
Лейтенант
Сообщения: 525
Зарегистрирован: 14.10.2018{, 00:26}
Репутация: 15
Имя: Андрей

ВРЕМЯ ЦИКЛА или что убивает ваш проект.

#68

Сообщение ingener » 17.09.2021{, 17:05}

Dryundel писал(а):
17.09.2021{, 17:01}
Измените строку в одном из дисплеев.
да, точно.
нано.

Аватара пользователя
Dryundel
Подполковник
Сообщения: 1350
Зарегистрирован: 22.05.2017{, 23:15}
Репутация: 426
Откуда: Ярославль
Имя: Андрей
Контактная информация:

ВРЕМЯ ЦИКЛА или что убивает ваш проект.

#69

Сообщение Dryundel » 17.09.2021{, 17:07}

nalnik писал(а):
17.09.2021{, 16:55}
Мы просто разные.
И поэтому прошу Вас больше не отвлекаться на меня в такой "достойной теме".
Конечно разные и эту разницу я описал, все просто и понятно. :)
Про достоинство темы, не Вам судить. Не только для Вас она создана. Что то еще?
Пользовательские блоки на сайте FLPROG - BLOCK
Выразить благодарность

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

ВРЕМЯ ЦИКЛА или что убивает ваш проект.

#70

Сообщение ecoins » 17.09.2021{, 17:19}

edyapd писал(а):
17.09.2021{, 14:18}
Можно по пунктам, что из предложенного мной невозможно реализовать? Это мне нужно, так сказать, для собственного развития.
1. Для изменений нужно "вскрыть" встроенный блок, изменить в нём код на C++, а затем сохранить лучше с другим именем.
Нам не известны доступные инструменты для таких действий.
2.Совершенствовать существующий блок не стоит - он почему-то чаще используется для вывода строковых переменных, а это затратный (время, память, сложность) метод.
3.Для Вашего собственного развития рекомендовал бы пробовать разные реализации блоков для конкретных применений (например LCD) или консультироваться у тех, кого Вы готовы воспринимать как эксперт в некой конкретной области.

Аватара пользователя
Dryundel
Подполковник
Сообщения: 1350
Зарегистрирован: 22.05.2017{, 23:15}
Репутация: 426
Откуда: Ярославль
Имя: Андрей
Контактная информация:

ВРЕМЯ ЦИКЛА или что убивает ваш проект.

#71

Сообщение Dryundel » 17.09.2021{, 17:24}

Sancho писал(а):
17.09.2021{, 16:29}
Иногда посмотришь на проекты - тут выводим одно, выключим, выводим в другом месте - потом запутались, одно поверх другого. Размер кода растёт вместе с блоками на платах.
Эта тема для отдельной темы. Не стоит все в оду кучу валить.
Порыв был обратить внимание новичков на ВРЕМЯ ЦИКЛА. И не столь важно какими способами. Если хоть кто то в этот раз задумался над этим, значит уже не зря, значит и глупых вопросов будет меньше. А если будут, всегда можно направить почитать.
Пользовательские блоки на сайте FLPROG - BLOCK
Выразить благодарность

Аватара пользователя
Sancho
Полковник
Сообщения: 3877
Зарегистрирован: 25.12.2015{, 17:32}
Репутация: 547
Откуда: Ярославль.
Имя: Александр
Контактная информация:

ВРЕМЯ ЦИКЛА или что убивает ваш проект.

#72

Сообщение Sancho » 17.09.2021{, 17:31}

Dryundel писал(а):
17.09.2021{, 17:01}
ingener писал(а):
17.09.2021{, 16:46}
в углу дисплея еле заметно горит число 128361
Вернуться к началу
Sancho писал(а):
17.09.2021{, 16:57}
Странно, почему еле заметно?
Измените строку в одном из дисплеев.
Результат 353697

Отправлено спустя 26 секунд:
Это на ESP
Была задача стирать строку пробелами, печатать сразу поверх. Полторы строки на вывод. :)
Вот вариант с ежесекундным выводом.
LCD 2.18_04.flp
Для скачивания вложений Вы должны быть зарегистрированы.
Если не получится на контроллере - сделаю на тразисторах и 155/176...Научился, немного.
Поможем проекту вместе!

Аватара пользователя
Dryundel
Подполковник
Сообщения: 1350
Зарегистрирован: 22.05.2017{, 23:15}
Репутация: 426
Откуда: Ярославль
Имя: Андрей
Контактная информация:

ВРЕМЯ ЦИКЛА или что убивает ваш проект.

#73

Сообщение Dryundel » 17.09.2021{, 17:49}

Sancho писал(а):
17.09.2021{, 17:31}
Была задача стирать строку пробелами, печатать сразу поверх. Полторы строки на вывод. :)
Вот вариант с ежесекундным выводом.
Sancho, Я так мыслю в штатном блоке надо добавить одну стринговую переменную и выводить только тогда когда она не совпадает со входящей. Это еще пара строк кода и чуть увеличит расход памяти, но спасет от многих проблем новичков. Ну как то так примерно.
Пример кода для штатного блокаПоказать

Код: Выделить всё

#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C _lcd1(0x3F, 16, 2);
int _dispTempLength1=0;
boolean _isNeedClearDisp1;
int _disp1oldLength = 0;
String _oldString;
void setup()
{
    Wire.begin();
    delay(10);
    _lcd1.init();
    _lcd1.backlight();
}
void loop()
{
    if (_isNeedClearDisp1) 
    {
        _lcd1.clear();
        _isNeedClearDisp1= 0;
    }
    //Плата:1
    if (!(0)) 
    {
        _dispTempLength1 = ((String("Privet Sancho"))).length();
        if (_disp1oldLength > _dispTempLength1) 
        {
            _isNeedClearDisp1 = 1;
        }
        _disp1oldLength = _dispTempLength1;
		if("Privet Sancho" != _oldString)
		{
			_lcd1.setCursor(0, 0);
			_lcd1.print((String("Privet Sancho")));
			_oldString = "Privet Sancho";
		}
    }
     else 
    {
        if (_disp1oldLength > 0) 
        {
            _isNeedClearDisp1 = 1;
            _disp1oldLength = 0;
        }
    }
}
Отправлено спустя 7 минут 55 секунд:
Sancho писал(а):
17.09.2021{, 17:31}
Вот вариант с ежесекундным выводом.
Результат все время плюсуется. Нет вывода за последнюю секунду.
Пользовательские блоки на сайте FLPROG - BLOCK
Выразить благодарность

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

ВРЕМЯ ЦИКЛА или что убивает ваш проект.

#74

Сообщение Phazz » 17.09.2021{, 18:04}

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

Аватара пользователя
Dryundel
Подполковник
Сообщения: 1350
Зарегистрирован: 22.05.2017{, 23:15}
Репутация: 426
Откуда: Ярославль
Имя: Андрей
Контактная информация:

ВРЕМЯ ЦИКЛА или что убивает ваш проект.

#75

Сообщение Dryundel » 17.09.2021{, 18:04}

ecoins, Ну что, будет простенький вариант для новичков?

Отправлено спустя 5 минут 6 секунд:
Phazz писал(а):
17.09.2021{, 18:04}
Тема очень хорошо и правильно начиналась и скатилась в вот это.
Да ладно, ну трутся мужики малость между собой. Чего паниковать то.
А дисплеи начали обсуждать потому что на их примере и с другими проблемами тайминга можно бороться. Я же дополняю первые посты по мере наработок. Уже хорошо. В конце концов можно будет все потереть остальное, оставить только статью и закрыть ему. Ну как вариант.
Пользовательские блоки на сайте FLPROG - BLOCK
Выразить благодарность

vovka1973
Капитан
Сообщения: 799
Зарегистрирован: 14.02.2016{, 14:16}
Репутация: 26
Откуда: kazahstan

ВРЕМЯ ЦИКЛА или что убивает ваш проект.

#76

Сообщение vovka1973 » 17.09.2021{, 18:55}

Phazz писал(а):
17.09.2021{, 18:04}
Все эти технические подробности не к чему.
С ЭТИМ не согласен , пусть будет, много интересного узнал :smile9:
Изображение

edyapd
Капитан
Сообщения: 768
Зарегистрирован: 20.09.2019{, 11:38}
Репутация: 64
Имя: Эдуард

ВРЕМЯ ЦИКЛА или что убивает ваш проект.

#77

Сообщение edyapd » 17.09.2021{, 19:54}

ecoins писал(а):
17.09.2021{, 17:19}
Нам не известны доступные инструменты для таких действий.
Если вы внимательно читали мои предложения, то там я там предлагал изменить штатный блок автору программы. Понятно, что пользователь это не может сделать, если не считать правку в коде.
А вот штатный блок привести в тот вид, чтобы он меньше тормозил автору программы вполне под силу. Даже если увеличится скорость программы на 50% и то это уже хорошо было бы.

Аватара пользователя
Dryundel
Подполковник
Сообщения: 1350
Зарегистрирован: 22.05.2017{, 23:15}
Репутация: 426
Откуда: Ярославль
Имя: Андрей
Контактная информация:

ВРЕМЯ ЦИКЛА или что убивает ваш проект.

#78

Сообщение Dryundel » 17.09.2021{, 19:59}

edyapd писал(а):
17.09.2021{, 19:54}
Если вы внимательно читали мои предложения, то там я там предлагал изменить штатный блок автору программы.
В подобных случаях надо крепко подумать что предлагать автору для изменения ибо такой блок как DISP, это динозавр среди других блоков. Он был с первой версии в программе. Одно неловкое движение и ваши предыдущие проекты просто откажутся работать в очередном релизе.
Пользовательские блоки на сайте FLPROG - BLOCK
Выразить благодарность

sergserg
Сержант
Сообщения: 194
Зарегистрирован: 25.02.2021{, 14:26}
Репутация: -10
Имя: Сергей

ВРЕМЯ ЦИКЛА или что убивает ваш проект.

#79

Сообщение sergserg » 17.09.2021{, 20:35}

забыли еще про вывод в uart...особенно на 9600)))
и автор в этом случае ни причем от слова совсем!

Отправлено спустя 5 минут 39 секунд:
edyapd,
еще раз: базовые блоки это некая демонстрация работо способности. Не устраиваютбазовые - юзаем редактор. Редактор и до 7 версии для новичков выше крыши!)

sergserg
Сержант
Сообщения: 194
Зарегистрирован: 25.02.2021{, 14:26}
Репутация: -10
Имя: Сергей

ВРЕМЯ ЦИКЛА или что убивает ваш проект.

#80

Сообщение sergserg » 17.09.2021{, 20:55}

nalnik,
минусить за "ты"?)))))

вот это ЧСВ у тебя )))))

а с чего такое высокомерие то?
ведь нет ни одного блока или технического решения от тебя....но зато куча минусов за обращение на "ты" )))

Ответить

Вернуться в «Обучающие примеры работы в FLProg»