Путь развития программы.

В данный форуме Вы можете создавать темы посвящённые расширению функционала программы или сайта. После рассмотрения Ваше предложение будет перенесено в соответствующее место
Слимпер
Майор
Сообщения: 1009
Зарегистрирован: 06.09.2015{, 16:56}
Репутация: 25
Откуда: Новосибирск

Путь развития программы.

#61

Сообщение Слимпер » 13.08.2016{, 21:16}

Да и на форум Радио Кот, тоже множество закончены и элегантных устройств с МК.

findeler
Рядовой
Сообщения: 76
Зарегистрирован: 16.07.2016{, 08:31}
Репутация: 0
Откуда: Рязань

Путь развития программы.

#62

Сообщение findeler » 13.08.2016{, 21:18}

Слимпер писал(а):Насчет delay согласен, а вот циклы очень даже нужны, как без них найти нужный элемент в массиве или разобрать строку ? Проста ими надо уметь пользоваться.
Нихт, пишите так что бы в каждом проходе программы (основной цикл) выполнялся бы только один шаг. Пусть ищет сто- двести циклов программы, но никаких внутренних циклов. Это и есть основа 100% работоспособности.

Аватара пользователя
dekorator
Лейтенант
Сообщения: 418
Зарегистрирован: 06.09.2015{, 09:39}
Репутация: 7
Откуда: Баку

Путь развития программы.

#63

Сообщение dekorator » 13.08.2016{, 21:19}

Стрельнё то может и срельнёт, но с таким псевдо рассистким подходом - электрик, программист, "визуальщик" скорее всего будет осечка.
Долой разделение!!! И тогда всё получится.
Последний раз редактировалось dekorator 13.08.2016{, 21:20}, всего редактировалось 1 раз.

findeler
Рядовой
Сообщения: 76
Зарегистрирован: 16.07.2016{, 08:31}
Репутация: 0
Откуда: Рязань

Путь развития программы.

#64

Сообщение findeler » 13.08.2016{, 21:23}

dekorator писал(а):Стрельнё то может и срельнёт, но с таким псевдо рассистким подходом - электрик, программист, "визуальщик" скорее всего будет осечка.
Долой разделение!!!
Я редкий случай, который может вообще всё. И схему создать, и плату развести , и программу написать, И корпус сделать, и производство запустить. И я полностью согласен в этом вопросе с Сергеем. Хотите "С" atmel studio ждёт вас.

Слимпер
Майор
Сообщения: 1009
Зарегистрирован: 06.09.2015{, 16:56}
Репутация: 25
Откуда: Новосибирск

Путь развития программы.

#65

Сообщение Слимпер » 13.08.2016{, 21:24}

Нихт, пишите так что бы в каждом проходе программы (основной цикл) выполнялся бы только один шаг. Пусть ищет сто- двести циклов программы, но никаких внутренних циклов. Это и есть основа 100% работоспособности.

Берем штатный для FLProg Блок поиск элемента в массиве и коде видем
СпойлерПоказать
String _FLPArray24931098[5];
int _gtv3;
void setup()
{
}
void loop()
{

_gtv3 = (_findElementFromStringArray(_FLPArray24931098, 5, (String("aaa"))));

}
int _findElementFromStringArray(String array[], int arraySize, String value){
for (int i = 0; i < arraySize; i = i + 1) {if(array.equals(value)){return i;}}
return -1;
}
И по другому не как
Последний раз редактировалось Слимпер 13.08.2016{, 21:25}, всего редактировалось 1 раз.

findeler
Рядовой
Сообщения: 76
Зарегистрирован: 16.07.2016{, 08:31}
Репутация: 0
Откуда: Рязань

Путь развития программы.

#66

Сообщение findeler » 13.08.2016{, 21:27}

Слимпер писал(а):И по другому не как
Недоработка автора, есть другие решения.

Аватара пользователя
support
Супермодератор
Сообщения: 1787
Зарегистрирован: 03.01.2018{, 11:45}
Репутация: 638
Откуда: Астрахань
Имя: Сергей
Контактная информация:

Путь развития программы.

#67

Сообщение support » 13.08.2016{, 21:30}

Слимпер писал(а):Вот глянте Электроника для всех Там куча примеров того, что возможно и симбиоз Программист + Схемотехника + Конструктор. Но таких людей не так уже и много, но они есть.
Конечно есть. Но редкость. И в основном из старшего поколения. Молодежи грамотной мало. Да и откуда ей взяться? Такие увлечения как у нас появляются и развиваются в основном с детства. Я в своё время БЕСПЛАТНО ходил в радиокружок в Дворце пионеров (да я такой динозавр), одновременно БЕСПЛАТНО посещал картинговую секцию в Доме юнного техника. Папа мог с зарплаты без проблем купить мне конструктор или набор типа "электронные кубики". Уже постарше с денег полученных за колхоз я смог купить мечту всех мальчишек - набор для сборки маленького телевизора (уже не помню как назывался). А сейчас любой мало мальски приличный набор стоит среднюю зарплату по Новосибирску. Отечественных нет вообще, а импортные не подьёмны по деньгам. Все технические кружки -платные, и то же достаточно дороги. Куда деваться детям у родителей со средним достатком. В пивнушки. Откуда взяться грамотным специалистам. В институтах то же стоимость обучения зашкаливает. Бюджетные места вот недавно ещё урезали. Так и получаем безграмотное поколение.
Автор программы FLProg.

Слимпер
Майор
Сообщения: 1009
Зарегистрирован: 06.09.2015{, 16:56}
Репутация: 25
Откуда: Новосибирск

Путь развития программы.

#68

Сообщение Слимпер » 13.08.2016{, 21:33}

findeler писал(а):Недоработка автора, есть другие решения.
Если пойти глубже то все штатные функции CИ по работе со строками это и есть цикл с перебором всех символов строки. 
А так как вы предлагаете, нужный резальтат получишь когда он уже будет не нужен.
Т.е. исходное значение давно поменялось, а мы еще его анализ не закончили.

Аватара пользователя
dekorator
Лейтенант
Сообщения: 418
Зарегистрирован: 06.09.2015{, 09:39}
Репутация: 7
Откуда: Баку

Путь развития программы.

#69

Сообщение dekorator » 13.08.2016{, 21:39}

support писал(а):Так и получаем безграмотное поколение.
Плюс Flprog учит что шестнадцатиричная система ни к чему хорошему не приведёт и FBD это всё что нужно. Бедная молодёж.

Аватара пользователя
support
Супермодератор
Сообщения: 1787
Зарегистрирован: 03.01.2018{, 11:45}
Репутация: 638
Откуда: Астрахань
Имя: Сергей
Контактная информация:

Путь развития программы.

#70

Сообщение support » 13.08.2016{, 21:42}

findeler писал(а):Недоработка автора, есть другие решения.
Нет это продуманное решение. То что вы говорите по поводу одного уикда - правильно при визуальном программированиии (непосредственно в схеме), но при компиляции действительно многие блоки разворачиваются в циклы. просто это не заметно как говорится снаружи. В этом и есть работа компилятора - оптимизировать исходную схему для уменьшения размера программы и ускорения работы. Delay - да зло, я с этим согласен. Но и то иногда и он необходим например в процессе инициализации контроллера. Я правда его ещё ни разу не применял, пока получается обходится, но примеры видел когда без него никак. Хотя вру, применял. в Модбасе у меня Delay на 5 милисекунд для очистки буера после неудачного приёма. там он просто необходим. но и то только при софтовом UART и в отдельных случаях. Там это необходимо и обойтись никак нельзя было. так что говорить что что то запрещено - нельзя. Надо просто думать что и когда применять. Ну и в конце концов это касается только блоков на  С. Блока Delay  в стандартной библиотеке у меня нет ))). как и блока  цикла.
Автор программы FLProg.

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

Путь развития программы.

#71

Сообщение Rovki » 13.08.2016{, 21:43}

dekorator писал(а):Плюс Flprog учит что шестнадцатиричная система ни к чему хорошему не приведёт и FBD это всё что нужно. Бедная молодёж.
Сколько можно об одном и том же ....
Электронщик до мозга костей и не только

Аватара пользователя
dekorator
Лейтенант
Сообщения: 418
Зарегистрирован: 06.09.2015{, 09:39}
Репутация: 7
Откуда: Баку

Путь развития программы.

#72

Сообщение dekorator » 13.08.2016{, 21:49}

Rovki писал(а):Сколько можно об одном и том же ....
А никто не держит...

findeler
Рядовой
Сообщения: 76
Зарегистрирован: 16.07.2016{, 08:31}
Репутация: 0
Откуда: Рязань

Путь развития программы.

#73

Сообщение findeler » 13.08.2016{, 21:51}

Слимпер писал(а):А так как вы предлагаете, нужный резальтат получишь когда он уже будет не нужен.
А вот здесь как раз одно из отличий меду обычным и пром программированием. Либо результат вычисляется постепенно, либо сразу. Причём сразу делают:через прерывание, без циклов с нечётким условием, с фиксированным временем исполнения кода , Время выполнения учитывают.

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

Путь развития программы.

#74

Сообщение nalnik » 13.08.2016{, 21:54}

Сколько умных советов!
Может хватит - помогите Человеку (с большой буквы) кодом или материально http://dic.academic.ru/dic.nsf....D%D0%BE
Тяжко читать такое "обычным электрикам"
:)
Последний раз редактировалось nalnik 13.08.2016{, 22:04}, всего редактировалось 1 раз.
Я хочу быть добрее, но люди сами нарываются.

Аватара пользователя
support
Супермодератор
Сообщения: 1787
Зарегистрирован: 03.01.2018{, 11:45}
Репутация: 638
Откуда: Астрахань
Имя: Сергей
Контактная информация:

Путь развития программы.

#75

Сообщение support » 13.08.2016{, 21:58}

Всё, я спать, у меня время 12, а в 6 вставать и арбайтен.
Автор программы FLProg.

findeler
Рядовой
Сообщения: 76
Зарегистрирован: 16.07.2016{, 08:31}
Репутация: 0
Откуда: Рязань

Путь развития программы.

#76

Сообщение findeler » 13.08.2016{, 22:00}

support писал(а):но при компиляции действительно многие блоки разворачиваются в циклы. просто это не заметно как говорится снаружи
Я знаю, я просматриваю скетч. Я наверное слишком предвзят. Но имхо это не правильно. Цикл не имеет чёткого времени исполнения. А это в управлении порой критично. Вот пример (не мой). Сложный блок питания в ракетостроении. Время отработки полного цикла программы 1 мс. То есть независимо от того что и как, полный цикл 1 мс не более. С циклами время очень сложно прогнозировать.

Слимпер
Майор
Сообщения: 1009
Зарегистрирован: 06.09.2015{, 16:56}
Репутация: 25
Откуда: Новосибирск

Путь развития программы.

#77

Сообщение Слимпер » 14.08.2016{, 03:54}

findeler писал(а):Я знаю, я просматриваю скетч. Я наверное слишком предвзят. Но имхо это не правильно. Цикл не имеет чёткого времени исполнения. А это в управлении порой критично. Вот пример (не мой). Сложный блок питания в ракетостроении. Время отработки полного цикла программы 1 мс. То есть независимо от того что и как, полный цикл 1 мс не более. С циклами время очень сложно прогнозировать.
Для таких задач нужны как раз уже дорогие пром контроллеры. Что бы не говорили, их цена в некоторых случаях обосновано.
А время исполнение в ардуино всегда будет плавающим, по другому не как.
Вот Время выполнения отдельных команд Arduino
Сейчас вывод на дисплей по I2C, занимает десятки мс, считывание с адресных датчиков тоже много времени ест.
 
А вот если есть, что то критичное по времени как раз его и надо исполнять по прерыванием (или по таймеру или по внешнему импульсу).
Или делить проект на несколько контроллеров, для разгрузки главного.

findeler
Рядовой
Сообщения: 76
Зарегистрирован: 16.07.2016{, 08:31}
Репутация: 0
Откуда: Рязань

Путь развития программы.

#78

Сообщение findeler » 14.08.2016{, 07:30}

Слимпер писал(а):Для таких задач нужны как раз уже дорогие пром контроллеры. Что бы не говорили, их цена в некоторых случаях обосновано.
Как раз нет, пром контроллер ценен своим софтом, разберите его, таже ардуинка но обвязка получше. Чипы там обычные. А вот как раз отдавать на откуп чужому интерпретатору критично важное решение , нет и ещё раз нет. Этим кстати сильно подкупает flprog, можно посмотреть код, и если надо поправить. Да есть и множество других факторов, не дают использовать пром контроллеры. Начиная от надёжности, размера, функционала, .....

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

Путь развития программы.

#79

Сообщение nalnik » 14.08.2016{, 08:01}

Вот это - ПЛК150УЛ фирмы ОВЕН в "разрезе"
Это ПЛК состоит из трех плат
Изображение
Изображение

Я и их с 2008 по 2012 год понаставил полторы сотни штук, это сплошное мучение - взрываются блоки питания, отваливаются кварцы, не пропаяны разъемы, задолбали своими обновлениями (4 версии плат) за четыре года.
Спасибо FLProg
Это все я меняю на
LM7812, LM7805, Atmega 328p, ULN2003, MAX485.
Одна беда в FLProg я не могу менять порядок передачи байт FLOAT по Motbas - приходится править в IDE перед заливкой.
Последний раз редактировалось nalnik 14.08.2016{, 08:28}, всего редактировалось 1 раз.
Я хочу быть добрее, но люди сами нарываются.

Аватара пользователя
support
Супермодератор
Сообщения: 1787
Зарегистрирован: 03.01.2018{, 11:45}
Репутация: 638
Откуда: Астрахань
Имя: Сергей
Контактная информация:

Путь развития программы.

#80

Сообщение support » 14.08.2016{, 08:11}

nalnik писал(а):Одна беда в FLProg я не могу менять порядок передачи байт FLOAT по Motbas - приходится править в IDE перед заливкой
А вот здесь поподробнее. Кокой должен быть порядок, да и вообще опишите стандартный способ передачи байт флоат через модбас. Я немного похоже затупил когда это делал. я так понял что каждый производитель делает как хочет. Сделаю настройку передачи для Овен. Ну и для других если инфу дадут.
Автор программы FLProg.

Ответить

Вернуться в «Новые»