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

Тестирование

Это мой личный форум. Здесь я буду задавать вопросы пользователям, проводить опросы, и тому подобное. Темы в этом форуме могу создавать только я, Вы можете создавать комментарии и отвечать на опросы.
Ivan-07
Рядовой
Сообщения: 62
Зарегистрирован: 18.11.2017{, 19:16}
Репутация: 1

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

#861

Сообщение Ivan-07 » 03.02.2019{, 17:31}

Опять вылет при компиляции ((((
FL4.2.4.jpg
Вложения
error.log
(15.57 КБ) 85 скачиваний

Ingwar
Полковник
Сообщения: 1929
Зарегистрирован: 28.10.2015{, 22:47}
Репутация: 223
Откуда: Ленобласть
Имя: Игорь

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

#862

Сообщение Ingwar » 03.02.2019{, 17:46}

Народ, у кого проблемы с не сохранением/вылетом/ошибками и т.д., в 99% случаев причина - пользовательские блоки (которые не на чистом коде) созданные в предыдущих версиях.
Гарантированное лечение - пересоздать нужный блок в актуальной версии.
Бывает и так, что файл содержащий ПБ на Си, созданный в ранних версиях заливается нормально, но не работает. В таком случае решение - пересобрать проект в актуальной версии.

З.Ы. про это уже много написано, читайте внимательнее.
Люди в своем большинстве живо интересуются всем на свете, за исключением того, что действительно стоит знать.

Аватара пользователя
Golan
Капитан
Сообщения: 827
Зарегистрирован: 26.11.2017{, 23:18}
Репутация: 77
Откуда: Деревня, 98 домов в Мордовии
Имя: Владимир
Контактная информация:

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

#863

Сообщение Golan » 03.02.2019{, 18:36}

Я сохраняю файл блоков, ставлю новую версию и перезаливаю файл, все нормально, вылетов нет.
Добро не ценится в современном мире, люди от него наглеют!

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

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

#864

Сообщение vovka1973 » 03.02.2019{, 19:33}

Golan писал(а):
03.02.2019{, 18:36}
Я сохраняю файл блоков, ставлю новую версию и перезаливаю файл, все нормально, вылетов нет.
просто у вас нет блоков где участвует старый счетчик по идеи должен такой блок вылететь так как счетчик переработан
Изображение

Аватара пользователя
Golan
Капитан
Сообщения: 827
Зарегистрирован: 26.11.2017{, 23:18}
Репутация: 77
Откуда: Деревня, 98 домов в Мордовии
Имя: Владимир
Контактная информация:

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

#865

Сообщение Golan » 03.02.2019{, 19:39}

Возможно.
Добро не ценится в современном мире, люди от него наглеют!

alexwalex
Рядовой
Сообщения: 15
Зарегистрирован: 21.10.2018{, 13:21}
Репутация: 2
Имя: Алексей

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

#866

Сообщение alexwalex » 03.02.2019{, 23:11}

Начиная с версии программы 4.2.1 на контроллерах ESP8266 перестала отключаться точка доступа при подключении контроллера как клиента к роутеру. Для отключения точки доступа использовал запись "0" в системный параметр "WiFi точка доступа - Состояние".
0000.flp
(37.73 КБ) 90 скачиваний
До версии 4.2.0 включительно это работало.
При выводе в ArduinoIDE отсутствуют строки:
WiFi.softAPdisconnect(true);
if( ! ESP8266ControllerWifiAP_workStatus) { return;}

и
WiFi.disconnect(true);
if( ! ESP8266ControllerWifiClient_workStatus) { return;}

com
Капитан
Сообщения: 831
Зарегистрирован: 31.05.2018{, 22:12}
Репутация: 83
Откуда: Санкт-Петербург
Имя: Ринат

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

#867

Сообщение com » 05.02.2019{, 17:45}

версия программы 4.2.4, в настройках блока установка часов sd3231 ставлю год 2019, а устанавливается 2067 год. Установил в настройках 1971, в часах стало 2019. Не понятно, то ли в часах дело то ли в программе.
Очень хочу в 1971 :smile171:
Последний раз редактировалось com 06.02.2019{, 03:11}, всего редактировалось 1 раз.

Ivan-07
Рядовой
Сообщения: 62
Зарегистрирован: 18.11.2017{, 19:16}
Репутация: 1

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

#868

Сообщение Ivan-07 » 05.02.2019{, 18:36}

Ingwar писал(а):
03.02.2019{, 17:46}
Народ, у кого проблемы с не сохранением/вылетом/ошибками и т.д., в 99% случаев причина - пользовательские блоки (которые не на чистом коде) созданные в предыдущих версиях.
Гарантированное лечение - пересоздать нужный блок в актуальной версии.
Бывает и так, что файл содержащий ПБ на Си, созданный в ранних версиях заливается нормально, но не работает. В таком случае решение - пересобрать проект в актуальной версии.

З.Ы. про это уже много написано, читайте внимательнее.
Пробовал. Создавал с самого начала. До определённого количества блоков внутри пользовательского блока работает нормально. Если их внутри много - вылетает.

Отправлено спустя 6 минут 20 секунд:
com писал(а):
05.02.2019{, 17:45}
#870 Сообщение com » 48 минут назад
версия программы 4.2.4, в настройках блока установка часов sd3231 ставлю год 20219, а устанавливается 2067 год. Установил в настройках 1971, в часах стало 2019. Не понятно, то ли в часах дело то ли в программе.
Очень хочу в 1971
20219 - зачем? Явное переполнение переменной, поэтому и сбрасывает

com
Капитан
Сообщения: 831
Зарегистрирован: 31.05.2018{, 22:12}
Репутация: 83
Откуда: Санкт-Петербург
Имя: Ринат

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

#869

Сообщение com » 06.02.2019{, 03:11}

Ivan-07, понятно же что опечатка, 2019

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

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

#870

Сообщение Sancho » 06.02.2019{, 08:23}

Ещё раз.
Блок установки часов реального времени.
Блок использует ВСЕ данные для времени и даты, независимо от того, используете Вы их или нет.
Не установленные Вами данные будут иметь значение 0.
Год устанавливается последними двумя цифрами. На данный момент - 19.
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.

whitevip
Лейтенант
Сообщения: 492
Зарегистрирован: 01.04.2017{, 20:25}
Репутация: 5
Имя: Имя

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

#871

Сообщение whitevip » 06.02.2019{, 13:21}

Sancho, где этот блок?
:smile37:

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

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

#872

Сообщение Sancho » 06.02.2019{, 15:24}

whitevip, Речь о стандартном блоке из программы.
"Установка времени для часов реального времени"

Отправлено спустя 13 минут 56 секунд:
Это недочёт Автора, надеюсь, исправит, а именно:
в функции

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

void set3231Date(int addres, struct _I2CRealRimeClockTime *timeStruct, byte sec, byte  minut, byte hou, byte dat, byte mo, byte ye, byte daW)
аргументы объявляются как байты, а потом проверяется на корректность и отправляется,
например:

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

if (sec < 0) {
    temp = timeStruct -> seconds;
  } else {
    temp = sec;
  }
  Wire.write(decToBcd(temp));
Учитывая, что байт по сути не может быть отрицательным, отправляется -1, т.е. 255
Вот когда Автор поменяет в функции byte на char, тогда и будет работать по Его задумке....
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.

Аватара пользователя
magpit
Лейтенант
Сообщения: 382
Зарегистрирован: 01.10.2017{, 12:55}
Репутация: 16
Имя: Сергей

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

#873

Сообщение magpit » 06.02.2019{, 16:28}

support,
Вылез вот такой баг сразу не понял а потом разобрался.
Как лечил - просто пришлось удалить тег и создать новый.
Раньше, когда меняешь тег на другой всё сбрасывалось на исходный.
А тут что то не перестроился
СпойлерПоказать
баг в тегах.jpg

Аватара пользователя
ussrsrtru
Рядовой
Сообщения: 36
Зарегистрирован: 27.02.2018{, 14:33}
Репутация: 19
Имя: Sergey

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

#874

Сообщение ussrsrtru » 07.02.2019{, 22:30}

Автору на заметку.
СпойлерПоказать
Screenshot_1.png
Просто опечатки в тексте FlProg. Автору на заметку.
"Зри в корень!" К. Прутков.

midnight1979
Рядовой
Сообщения: 1
Зарегистрирован: 08.02.2019{, 13:05}
Репутация: 3
Имя: Yuri

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

#875

Сообщение midnight1979 » 08.02.2019{, 15:03}

В общем сейчас решил попробовать создать на FLProg проект по мониторингу теплиц (больших, промышленных).
Все устройства обмениваются по протоколу Modbus
Суть вот в чем:
За пример берем один блок размером 100*100 метров.
На площади этого блока установлено:
1. 9 шт. датчиков (RS-485 Modbus) температуры-влажности - 2 тэга (HoldReg Float)
2. 1 комбинированный датчик газа (2 датчика пропана и 1 датчик СО) - 3 тэга (HoldReg ShortInt)
3. Модуль реле (2 реле в модуле) - 2 тэга. (Colis Bool)

Вышенаписанное для примера (тэгов на самом деле больше - адреса, еще кое какие служебные)

Окей - все эти датчики опрашивает мастер-контроллер, который одним интерфейсом RS-485 "смотрит" на датчики (т.е. является для них мастером), а на второй его интерфейс RS-485 смотрит OPC сервер (т.е. для него он Slave).
Ну и вот собственно один нюанс выскочил:
в flprog созданы проекты для мастера, слейвов, таблицы регистров для всех устройств естественно - всё работает за исключением того что если мы подтягиваем в OPC больше 14 тэгов - начинаются проблемы с контрольной суммой пакетов Modbus - об этом рапортует сам OPС.
Опрос мастер-контроллера становится не стабильным, различные игры со скоростью и таймаутами тоже эффекта не дают.
В итоге полез смотреть в Arduino IDE, что же получается после компиляции проекта.

Посмотрел на массивы с адресами и данными регистров - вроде всё адекватно.
Ну а потом нашел вот такую вещь в глобальных переменных: byte _modbusSlaveBuffer[64];
Собственно увеличил этот буфер РОВНО в два раза: byte _modbusSlaveBuffer[128];
И всё встало на свои места!!!

Собственно это косячок самой библиотеки Mobus которая сидит в FLProg - наверное нужно исправлять....

Немного еще добавлю - на данный момент добавил еще тэги и опрашиваю с мастер-контроллера 51 тэг (из них 36 тэгов Float, остальные int и Bool) - пришлось _modbusSlaveBuffer до 256 расширить (128 тоже с контрольными суммами при таком количестве тэгов начало бордачить...)

Аватара пользователя
dizzyy
Капитан
Сообщения: 752
Зарегистрирован: 24.11.2017{, 16:25}
Репутация: 37
Откуда: Червоноград
Имя: Марьян

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

#876

Сообщение dizzyy » 10.02.2019{, 15:05}

заметил непонятку в создании пользовательского блока в коде ..флпрог последняя
я оглашаю переменную , далее в теле делаю операции ... в иде присваивается нижняя черточка, переменная и куча цифр - вроде все нормально..
но когда пробовал усреднить 10 значений (сумирую и делю на 10) в таком виде x=y/10 то переменная х нормально записывается (_х14676646555), а вот y записывается просто одной буквой y , и при проверке выскакивает что она не декларируется .
что делаю не так?
СпойлерПоказать
ZMPT101B_(CODE).ubi
(129.65 КБ) 83 скачивания
здесть я декларирую float tenvals и в иде в формате tenvals_137100616_1= 0.0
но строчка деления так получается float Avg_137100616_1= tenvals/10.0;

Отправлено спустя 20 минут 47 секунд:
получилось обойти, проблема в делении , обновил код в таком формате и все в порядке float Avg= tenvals*0.10;

Аватара пользователя
RedSky
Лейтенант
Сообщения: 574
Зарегистрирован: 19.12.2016{, 20:07}
Репутация: 72
Откуда: Днепропетровск
Имя: Алексей

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

#877

Сообщение RedSky » 10.02.2019{, 15:50}

Было что то похожее. К переменной не дописывался уникальный идентификатор. Помогало добавление пробелов в начале строки, до/после скобок и операторов.

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

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

#878

Сообщение Sancho » 10.02.2019{, 16:24}

dizzyy, когда пишешь код прямо в flp, не набирай переменную, а нажимай пкм, вставить..., или
RedSky писал(а):
10.02.2019{, 15:50}
Помогало добавление пробелов в начале строки, до/после скобок и операторов.
В первом случае прога сама добавляет пробелы с двух сторон, и всё хоккей.
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.

golloper
Рядовой
Сообщения: 39
Зарегистрирован: 28.09.2018{, 17:16}
Репутация: 7
Имя: Дмитрий

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

#879

Сообщение golloper » 11.02.2019{, 19:40}

Скажите пожалуйста, когда починят встроенные в программу модули для RFID меток и модуль работы с CD картами. Ошибка при компиляции с вылетом из программы.

Отправлено спустя 39 секунд:
на 3.0 всё это прекрасно работает

aidar_i
Полковник
Сообщения: 3122
Зарегистрирован: 24.12.2016{, 16:55}
Репутация: 674
Откуда: Уфа
Имя: Айдар
Контактная информация:

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

#880

Сообщение aidar_i » 16.02.2019{, 16:35}

Сегодня заметил, при компиляции программа автоматически добавляет строки (попробуйте скомпилировать пустой проект, плата ESP8266):
СпойлерПоказать
bool _isTimer(unsigned long startTime, unsigned long period )
{
unsigned long currentTime;
currentTime = millis();
if (currentTime>= startTime) {return (currentTime>=(startTime + period));} else {return (currentTime >=(4294967295-startTime+period));}
}
Вопрос, зачем?
Последний раз редактировалось aidar_i 16.02.2019{, 17:42}, всего редактировалось 1 раз.

Ответить

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