Путь развития программы.
Путь развития программы.
Да и на форум Радио Кот, тоже множество закончены и элегантных устройств с МК.
Путь развития программы.
Нихт, пишите так что бы в каждом проходе программы (основной цикл) выполнялся бы только один шаг. Пусть ищет сто- двести циклов программы, но никаких внутренних циклов. Это и есть основа 100% работоспособности.Слимпер писал(а):Насчет delay согласен, а вот циклы очень даже нужны, как без них найти нужный элемент в массиве или разобрать строку ? Проста ими надо уметь пользоваться.
Путь развития программы.
Стрельнё то может и срельнёт, но с таким псевдо рассистким подходом - электрик, программист, "визуальщик" скорее всего будет осечка.
Долой разделение!!! И тогда всё получится.
Долой разделение!!! И тогда всё получится.
Последний раз редактировалось dekorator 13 авг 2016, 21:20, всего редактировалось 1 раз.
Путь развития программы.
Я редкий случай, который может вообще всё. И схему создать, и плату развести , и программу написать, И корпус сделать, и производство запустить. И я полностью согласен в этом вопросе с Сергеем. Хотите "С" atmel studio ждёт вас.dekorator писал(а):Стрельнё то может и срельнёт, но с таким псевдо рассистким подходом - электрик, программист, "визуальщик" скорее всего будет осечка.
Долой разделение!!!
Путь развития программы.
Нихт, пишите так что бы в каждом проходе программы (основной цикл) выполнялся бы только один шаг. Пусть ищет сто- двести циклов программы, но никаких внутренних циклов. Это и есть основа 100% работоспособности.
Берем штатный для FLProg Блок поиск элемента в массиве и коде видем
[spoiler=Спойлер]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;
}[/spoiler]
И по другому не как
Берем штатный для FLProg Блок поиск элемента в массиве и коде видем
[spoiler=Спойлер]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;
}[/spoiler]
И по другому не как
Последний раз редактировалось Слимпер 13 авг 2016, 21:25, всего редактировалось 1 раз.
Путь развития программы.
Недоработка автора, есть другие решения.Слимпер писал(а):И по другому не как
- support
- Супермодератор
- Сообщения: 1917
- Зарегистрирован: 03 янв 2018, 11:45
- Откуда: Астрахань
- Имя: Сергей
- Поблагодарили: 23 раза
- Контактная информация:
Путь развития программы.
Конечно есть. Но редкость. И в основном из старшего поколения. Молодежи грамотной мало. Да и откуда ей взяться? Такие увлечения как у нас появляются и развиваются в основном с детства. Я в своё время БЕСПЛАТНО ходил в радиокружок в Дворце пионеров (да я такой динозавр), одновременно БЕСПЛАТНО посещал картинговую секцию в Доме юнного техника. Папа мог с зарплаты без проблем купить мне конструктор или набор типа "электронные кубики". Уже постарше с денег полученных за колхоз я смог купить мечту всех мальчишек - набор для сборки маленького телевизора (уже не помню как назывался). А сейчас любой мало мальски приличный набор стоит среднюю зарплату по Новосибирску. Отечественных нет вообще, а импортные не подьёмны по деньгам. Все технические кружки -платные, и то же достаточно дороги. Куда деваться детям у родителей со средним достатком. В пивнушки. Откуда взяться грамотным специалистам. В институтах то же стоимость обучения зашкаливает. Бюджетные места вот недавно ещё урезали. Так и получаем безграмотное поколение.Слимпер писал(а):Вот глянте Электроника для всех Там куча примеров того, что возможно и симбиоз Программист + Схемотехника + Конструктор. Но таких людей не так уже и много, но они есть.
Автор программы FLProg.
Путь развития программы.
Если пойти глубже то все штатные функции CИ по работе со строками это и есть цикл с перебором всех символов строки.findeler писал(а):Недоработка автора, есть другие решения.
А так как вы предлагаете, нужный резальтат получишь когда он уже будет не нужен.
Т.е. исходное значение давно поменялось, а мы еще его анализ не закончили.
Путь развития программы.
Плюс Flprog учит что шестнадцатиричная система ни к чему хорошему не приведёт и FBD это всё что нужно. Бедная молодёж.support писал(а):Так и получаем безграмотное поколение.
- support
- Супермодератор
- Сообщения: 1917
- Зарегистрирован: 03 янв 2018, 11:45
- Откуда: Астрахань
- Имя: Сергей
- Поблагодарили: 23 раза
- Контактная информация:
Путь развития программы.
Нет это продуманное решение. То что вы говорите по поводу одного уикда - правильно при визуальном программированиии (непосредственно в схеме), но при компиляции действительно многие блоки разворачиваются в циклы. просто это не заметно как говорится снаружи. В этом и есть работа компилятора - оптимизировать исходную схему для уменьшения размера программы и ускорения работы. Delay - да зло, я с этим согласен. Но и то иногда и он необходим например в процессе инициализации контроллера. Я правда его ещё ни разу не применял, пока получается обходится, но примеры видел когда без него никак. Хотя вру, применял. в Модбасе у меня Delay на 5 милисекунд для очистки буера после неудачного приёма. там он просто необходим. но и то только при софтовом UART и в отдельных случаях. Там это необходимо и обойтись никак нельзя было. так что говорить что что то запрещено - нельзя. Надо просто думать что и когда применять. Ну и в конце концов это касается только блоков на С. Блока Delay в стандартной библиотеке у меня нет ))). как и блока цикла.findeler писал(а):Недоработка автора, есть другие решения.
Автор программы FLProg.
- Rovki
- Полковник
- Сообщения: 5744
- Зарегистрирован: 22 апр 2016, 17:25
- Откуда: Чехов
- Имя: Анатолий
- Благодарил (а): 69 раз
- Поблагодарили: 223 раза
- Контактная информация:
Путь развития программы.
Сколько можно об одном и том же ....dekorator писал(а):Плюс Flprog учит что шестнадцатиричная система ни к чему хорошему не приведёт и FBD это всё что нужно. Бедная молодёж.
Электронщик до мозга костей и не только
Путь развития программы.
А вот здесь как раз одно из отличий меду обычным и пром программированием. Либо результат вычисляется постепенно, либо сразу. Причём сразу делают:через прерывание, без циклов с нечётким условием, с фиксированным временем исполнения кода , Время выполнения учитывают.Слимпер писал(а):А так как вы предлагаете, нужный резальтат получишь когда он уже будет не нужен.
- nalnik
- Подполковник
- Сообщения: 1320
- Зарегистрирован: 14 май 2016, 17:12
- Откуда: Кисловодск
- Имя: Александр
Путь развития программы.
Сколько умных советов!
Может хватит - помогите Человеку (с большой буквы) кодом или материально http://dic.academic.ru/dic.nsf....D%D0%BE
Тяжко читать такое "обычным электрикам"

Может хватит - помогите Человеку (с большой буквы) кодом или материально http://dic.academic.ru/dic.nsf....D%D0%BE
Тяжко читать такое "обычным электрикам"

Последний раз редактировалось nalnik 13 авг 2016, 22:04, всего редактировалось 1 раз.
Я хочу быть добрее, но люди сами нарываются.
- support
- Супермодератор
- Сообщения: 1917
- Зарегистрирован: 03 янв 2018, 11:45
- Откуда: Астрахань
- Имя: Сергей
- Поблагодарили: 23 раза
- Контактная информация:
Путь развития программы.
Всё, я спать, у меня время 12, а в 6 вставать и арбайтен.
Автор программы FLProg.
Путь развития программы.
Я знаю, я просматриваю скетч. Я наверное слишком предвзят. Но имхо это не правильно. Цикл не имеет чёткого времени исполнения. А это в управлении порой критично. Вот пример (не мой). Сложный блок питания в ракетостроении. Время отработки полного цикла программы 1 мс. То есть независимо от того что и как, полный цикл 1 мс не более. С циклами время очень сложно прогнозировать.support писал(а):но при компиляции действительно многие блоки разворачиваются в циклы. просто это не заметно как говорится снаружи
Путь развития программы.
Для таких задач нужны как раз уже дорогие пром контроллеры. Что бы не говорили, их цена в некоторых случаях обосновано.findeler писал(а):Я знаю, я просматриваю скетч. Я наверное слишком предвзят. Но имхо это не правильно. Цикл не имеет чёткого времени исполнения. А это в управлении порой критично. Вот пример (не мой). Сложный блок питания в ракетостроении. Время отработки полного цикла программы 1 мс. То есть независимо от того что и как, полный цикл 1 мс не более. С циклами время очень сложно прогнозировать.
А время исполнение в ардуино всегда будет плавающим, по другому не как.
Вот Время выполнения отдельных команд Arduino
Сейчас вывод на дисплей по I2C, занимает десятки мс, считывание с адресных датчиков тоже много времени ест.
А вот если есть, что то критичное по времени как раз его и надо исполнять по прерыванием (или по таймеру или по внешнему импульсу).
Или делить проект на несколько контроллеров, для разгрузки главного.
Путь развития программы.
Как раз нет, пром контроллер ценен своим софтом, разберите его, таже ардуинка но обвязка получше. Чипы там обычные. А вот как раз отдавать на откуп чужому интерпретатору критично важное решение , нет и ещё раз нет. Этим кстати сильно подкупает flprog, можно посмотреть код, и если надо поправить. Да есть и множество других факторов, не дают использовать пром контроллеры. Начиная от надёжности, размера, функционала, .....Слимпер писал(а):Для таких задач нужны как раз уже дорогие пром контроллеры. Что бы не говорили, их цена в некоторых случаях обосновано.
- nalnik
- Подполковник
- Сообщения: 1320
- Зарегистрирован: 14 май 2016, 17:12
- Откуда: Кисловодск
- Имя: Александр
Путь развития программы.
Вот это - ПЛК150УЛ фирмы ОВЕН в "разрезе"
Это ПЛК состоит из трех плат


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


Я и их с 2008 по 2012 год понаставил полторы сотни штук, это сплошное мучение - взрываются блоки питания, отваливаются кварцы, не пропаяны разъемы, задолбали своими обновлениями (4 версии плат) за четыре года.
Спасибо FLProg
Это все я меняю на
LM7812, LM7805, Atmega 328p, ULN2003, MAX485.
Одна беда в FLProg я не могу менять порядок передачи байт FLOAT по Motbas - приходится править в IDE перед заливкой.
Последний раз редактировалось nalnik 14 авг 2016, 08:28, всего редактировалось 1 раз.
Я хочу быть добрее, но люди сами нарываются.
- support
- Супермодератор
- Сообщения: 1917
- Зарегистрирован: 03 янв 2018, 11:45
- Откуда: Астрахань
- Имя: Сергей
- Поблагодарили: 23 раза
- Контактная информация:
Путь развития программы.
А вот здесь поподробнее. Кокой должен быть порядок, да и вообще опишите стандартный способ передачи байт флоат через модбас. Я немного похоже затупил когда это делал. я так понял что каждый производитель делает как хочет. Сделаю настройку передачи для Овен. Ну и для других если инфу дадут.nalnik писал(а):Одна беда в FLProg я не могу менять порядок передачи байт FLOAT по Motbas - приходится править в IDE перед заливкой
Автор программы FLProg.
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость