Версия программы 4.х

Это мой личный форум. Здесь я буду задавать вопросы пользователям, проводить опросы, и тому подобное. Темы в этом форуме могу создавать только я, Вы можете создавать комментарии и отвечать на опросы.
aidar_i
Полковник
Сообщения: 3357
Зарегистрирован: 24 дек 2016, 16:55
Откуда: Уфа
Имя: Айдар
Благодарил (а): 13 раз
Поблагодарили: 100 раз
Контактная информация:

Версия программы 4.х

Сообщение aidar_i »

support писал(а): 13 янв 2019, 14:15Уфф, разобрался.
Раньше стоял по умолчанию FBD, сейчас нужно, оказывается, выбирать. Сейчас только увидел :)
ItsMe
Рядовой
Сообщения: 51
Зарегистрирован: 24 сен 2015, 15:43

Версия программы 4.х

Сообщение ItsMe »

Здравствуйте, [ref=#00aa00]support[/ref]!
Спасибо Вам за труды.
Заметил такую вещь: при использовании пользовательских блоков они не заворачиваются в процедуру, а просто копируется код блоков столько раз, сколько раз они используются. Никак нельзя попробовать это реализовать? Ведь программа раздувается от этого.
Вот простой пример:
2 пользовательских блоки и при компилировании - 2 одинаковых фрагмента кода вместо одной процедуры.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25 дек 2015, 17:32
Откуда: Ярославль.
Имя: Александр
Поблагодарили: 5 раз
Контактная информация:

Версия программы 4.х

Сообщение Sancho »

[ref]ItsMe[/ref], Автор,[ref=#00aa00]support[/ref], здесь при чём?
Для того, что-бы не дублировать код, нужно код завернуть в функцию, блок сделать одноразовым, что-бы имя функции не удрало :) , а в остальных - просто вызывать функцию со своими параметрами.
Вопросы к автору блока.
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
ItsMe
Рядовой
Сообщения: 51
Зарегистрирован: 24 сен 2015, 15:43

Версия программы 4.х

Сообщение ItsMe »

ussrtk писал(а): 14 янв 2019, 12:00В перечне базовых элементов есть "клемма". Очень прикольный блок: создаете в одной плате переменную и теперь можете подключать к ней блоки в других платах.
Ранее вы подключали саму переменную из другой платы - но тогда компилятор создавал каждый раз новую глобальную переменную и тратил память. А при использовании клемм память расходуется экономнее.
Когда у вас связей между платами немного или вы все делаете в одной плате - это вам не нужно. А в сложных проектах очень и очень кстати.
Провел эксперимент: Удалил из существующего проекта переменную и заменил ее на клемму. Разница в размере скетча = 0, а разница в используемой переменными памяти исчисляется единицами байт. Не такой уж большой выигрыш в памяти. Может надо проект переписывать полностью или я не так что-то делаю, но факт остается фактом. Пошел дальше. При замене в проекте 3-х переменных типа int и 2 типа boolean на клеммы разница в памяти под переменные = 8 байт., а размер скетча остался неизменным.
ItsMe
Рядовой
Сообщения: 51
Зарегистрирован: 24 сен 2015, 15:43

Версия программы 4.х

Сообщение ItsMe »

Sancho писал(а): 15 янв 2019, 11:13Для того, что-бы не дублировать код, нужно код завернуть в функцию, блок сделать одноразовым, что-бы имя функции не удрало :) , а в остальных - просто вызывать функцию со своими параметрами.
Вопросы к автору блока.
Можно на примере? Во вложении был пример. Как там это делается? Буду рад учится. Спасибо.
ItsMe
Рядовой
Сообщения: 51
Зарегистрирован: 24 сен 2015, 15:43

Версия программы 4.х

Сообщение ItsMe »

Еще одно маленькое пожелание:
В основном блоке меню сделать переключение целочисленных значений по кругу? 0-1-2-3-0 и т.д.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
Alias
Лейтенант
Сообщения: 481
Зарегистрирован: 27 ноя 2017, 13:15
Откуда: Rus44
Имя: Michael
Контактная информация:

Версия программы 4.х

Сообщение Alias »

Sancho писал(а): 15 янв 2019, 11:13Автор,support, здесь при чём?
Я тоже экспериментировал над оптимизацией, загоняя повторяющиеся куски в пользовательские блоки, после того, как сам Автор отметил, что пользовательские блоки вызываются, как функция, что позволяет экономить память. Видимо, неверно понял.

Отправлено спустя 3 минуты 7 секунд:
Вот, кстати, нашел: viewtopic.php?p=60439#p60439
[spoiler]
support писал(а): 16 дек 2018, 19:18
RedSky писал(а): 16 дек 2018, 19:12Внесу предложение в плане развития возможностей программы. Как насчёт создать блок пользователя-функцию. Смысл в том чтобы использовать один и тот же код в разных частях проекта. К примеру расчёт температуры от нескольких терморезисторов с разных аналоговых входов. Сейчас придётся использовать одинаковые блоки на каждый датчик (значительный расход ресурсов для одинаковых действий) или создавать свой блок с функцией на нужное количество датчиков.
Если использовать пользовательские блоки на FBD или LAD то это именно так и работает. То есть код самого блока вынесен в функцию (при многократном его использовании код не дублируется), а в месте его применения просто вызывается эта функция. Блоки на С немного по другому устроены, но там то же можно подобный функционал написать. Те кто их пишет - поймут как
[/spoiler]
Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25 дек 2015, 17:32
Откуда: Ярославль.
Имя: Александр
Поблагодарили: 5 раз
Контактная информация:

Версия программы 4.х

Сообщение Sancho »

[ref]ItsMe[/ref], Пример здесь и тут
support писал(а):Блоки на С немного по другому устроены, но там то же можно подобный функционал написать.
[ref=#404040]Alias[/ref], Речь о коде на С++
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
Аватара пользователя
support
Супермодератор
Сообщения: 1917
Зарегистрирован: 03 янв 2018, 11:45
Откуда: Астрахань
Имя: Сергей
Поблагодарили: 23 раза
Контактная информация:

Версия программы 4.х

Сообщение support »

ItsMe писал(а): 15 янв 2019, 11:18ри замене в проекте 3-х переменных типа int и 2 типа boolean на клеммы разница в памяти под переменные = 8 байт., а размер скетча остался неизменным.
Так клеммы и предназначены для замены переменных (где это возможно), и облегчения коммутации между платами.

Отправлено спустя 1 минуту 41 секунду:
Alias писал(а): 15 янв 2019, 11:36что пользовательские блоки вызываются, как функция, что позволяет экономить память
Это касается блоков FBD и LAD

Отправлено спустя 1 минуту 30 секунд:
Ну всё, убегаю на автобус. Три дня в дороге, так что абонент не абонент))))))
Автор программы FLProg.
aidar_i
Полковник
Сообщения: 3357
Зарегистрирован: 24 дек 2016, 16:55
Откуда: Уфа
Имя: Айдар
Благодарил (а): 13 раз
Поблагодарили: 100 раз
Контактная информация:

Версия программы 4.х

Сообщение aidar_i »

ItsMe писал(а): 15 янв 2019, 11:18Не такой уж большой выигрыш в памяти.
Этот выигрыш будет существенным, если переменных ну очень много, у меня был проект, где памяти для переменных не хватало около 10 байт(тогда еще не умел оптимизировать код), не полезло в Уно, пришлось купить Леонардо, там памяти для переменных больше.
Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25 дек 2015, 17:32
Откуда: Ярославль.
Имя: Александр
Поблагодарили: 5 раз
Контактная информация:

Версия программы 4.х

Сообщение Sancho »

support писал(а): 15 янв 2019, 11:44Ну всё, убегаю на автобус. Три дня в дороге, так что абонент не абонент))))))
Счастливого пути!!!
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
ItsMe
Рядовой
Сообщения: 51
Зарегистрирован: 24 сен 2015, 15:43

Версия программы 4.х

Сообщение ItsMe »

Вот, спасибо, [ref=#404040]Alias[/ref], помог.
Иногда правильный пинок лучше целого урока.
Надо попробовать переписать блок в формат FBD.
Аватара пользователя
Alias
Лейтенант
Сообщения: 481
Зарегистрирован: 27 ноя 2017, 13:15
Откуда: Rus44
Имя: Michael
Контактная информация:

Версия программы 4.х

Сообщение Alias »

Sancho писал(а): 15 янв 2019, 11:40Речь о коде на С++
Действительно. У меня версия 303, в ней только и пишу, чтобы хоть что-то сваять без неожиданностей :)
support писал(а): 15 янв 2019, 11:44Это касается блоков FBD и LAD
ItsMe писал(а): 15 янв 2019, 11:54Надо попробовать переписать блок в формат FBD.
Да, в FBD и делал, у меня трехканальная система для бойлерной и дублируются по сути основные алгоритмы трижды. Пробовал ради интереса повторяющиеся схемы загонять в пользовательские блоки, чтобы в Нано поместилось, но выгод вообще не заметил, видимо, тот еще ламер. Пришлось много оптимизировать иначе.
ItsMe
Рядовой
Сообщения: 51
Зарегистрирован: 24 сен 2015, 15:43

Версия программы 4.х

Сообщение ItsMe »

[ref=#00aa00]support[/ref], Добавьте функцию LOG, пожалуйста.
Аватара пользователя
ussrtk
Рядовой
Сообщения: 36
Зарегистрирован: 06 янв 2017, 12:25

Версия программы 4.х

Сообщение ussrtk »

ItsMe писал(а): 15 янв 2019, 11:18
ussrtk писал(а): 14 янв 2019, 12:00В перечне базовых элементов есть "клемма". Очень прикольный блок: создаете в одной плате переменную и теперь можете подключать к ней блоки в других платах.
Ранее вы подключали саму переменную из другой платы - но тогда компилятор создавал каждый раз новую глобальную переменную и тратил память. А при использовании клемм память расходуется экономнее.
Когда у вас связей между платами немного или вы все делаете в одной плате - это вам не нужно. А в сложных проектах очень и очень кстати.
Провел эксперимент: Удалил из существующего проекта переменную и заменил ее на клемму. Разница в размере скетча = 0, а разница в используемой переменными памяти исчисляется единицами байт. Не такой уж большой выигрыш в памяти. Может надо проект переписывать полностью или я не так что-то делаю, но факт остается фактом. Пошел дальше. При замене в проекте 3-х переменных типа int и 2 типа boolean на клеммы разница в памяти под переменные = 8 байт., а размер скетча остался неизменным.
Да, теоретически так и должно быть: тело скетча не изменяется, меняется занятость динамической памяти для переменных. Так что ваш эксперимент, вроде, поучился...
whitevip
Лейтенант
Сообщения: 492
Зарегистрирован: 01 апр 2017, 20:25
Имя: Имя

Версия программы 4.х

Сообщение whitevip »

Скажите пожалуйста когда я открываю проект выходит такая ошибка, из за чего это?


Скрин http://prntscr.com/m7jv5x
:smile37:
Аватара пользователя
AlexCrane
Капитан
Сообщения: 903
Зарегистрирован: 20 окт 2017, 13:22
Откуда: Ульяновск
Имя: Александр
Поблагодарили: 12 раз

Версия программы 4.х

Сообщение AlexCrane »

[ref]whitevip[/ref], Поврежден файл с пользовательскими блоками, восстанови из резервной копии
Если не знаю, то не скажу. Если скажу, то сначала проверю...
Если нет возможности отблагодарить материально, хотя бы оцени пост....
Аватара пользователя
ElectroMechaniC
Сержант
Сообщения: 230
Зарегистрирован: 21 сен 2016, 06:50
Откуда: Донецк
Имя: Юрий

Версия программы 4.х

Сообщение ElectroMechaniC »

Sancho писал(а): 14 сен 2018, 12:16увеличения
Нет, Вы не один! Давно уже акцентирую внимание на этом)))
:newrus: Все в руках человека. Поэтому всегда мойте руки перед и зад! :victory:
:smile225: :smile469: :smile427:
aidar_i
Полковник
Сообщения: 3357
Зарегистрирован: 24 дек 2016, 16:55
Откуда: Уфа
Имя: Айдар
Благодарил (а): 13 раз
Поблагодарили: 100 раз
Контактная информация:

Версия программы 4.х

Сообщение aidar_i »

Ошибка. не влияющая на работу программы:
[spoiler]
Снимок_2019_01_16_19_43_30_199.png
[/spoiler]
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25 дек 2015, 17:32
Откуда: Ярославль.
Имя: Александр
Поблагодарили: 5 раз
Контактная информация:

Версия программы 4.х

Сообщение Sancho »

[ref]aidar_i[/ref], :)
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
Ответить

Вернуться в «Темы от автора»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 2 гостя