В этой теме будем описывать ошибки найденные в текущей стабильной версии с номером 7.3.0.
Это баг.
Спасибо огромное! а я тут сижу до 7.2.2 откатываюсь)
Устранил
СделалSerg_Grn писал(а): ↑12.03.2021{, 15:32}support, если можно, напишите Ваше мнение по поводу вот этой правки в modbus master rtu:Правка позволила решить проблему, описанную тут: viewtopic.php?f=18&t=7187СпойлерПоказатьRTU_delay(10).jpg
Дублирую в этой теме, чтоб если это баг, он был учтён.
Перенесите вопрос в ветку хотелок для восьмой версии
Ну вообще то так и есть сейчасstarmos писал(а): ↑15.03.2021{, 14:47}У меня версия 6.3.1 сейчас рабочая, но я прошу проверить, не перешло ли это в 7.х.
Контроллер ESP32, защита от зависания 10 секунд. В IDE код выглядит так:
watchDogTimer = timerBegin(0, 80, true);
timerAttachInterrupt(watchDogTimer, &resetModule, true);
timerAlarmWrite(watchDogTimer,10000, false);
timerAlarmEnable(watchDogTimer);
Но судя по Инету, в первой строке цифра 80 - предделитель, частота входная считается 80МГц. Таким образом мы настраиваемся на частоту 1МГц и счетные импульсы = 1мкс.
Однако в третьей строке у нас 10 секунд выглядят как 10000, т.е. миллисекунды выходят. Видимо надо на 1000 умножать еще? Потому что с числом 10 000 у меня плата не запустилась, а с числом 10 000 000 = нормально.
Я конечно сразу придумал вводить 10000 в настройках контроллера FLProg, но там ограничение 10.
Отправлено спустя 19 минут 49 секунд:void setup()
{
watchDogTimer = timerBegin(0, 80, true);
timerAttachInterrupt(watchDogTimer, &resetModule, true);
timerAlarmWrite(watchDogTimer,10000000, false);
timerAlarmEnable(watchDogTimer);
}
starmos писал(а): ↑16.03.2021{, 09:35}Еще один момент вдогонку. Тоже мог перейти в новую версию.
Опрос датчиков температуры DS18B20, в IDE выглядит так (в версии 6.3.1. автор обещал функцию исправить в новых версиях, но мне хотелось еще на одно обратить):
float _readDS18_ow32(byte addr[8], byte type_s)
{ byte data[12];
byte i;
_ow32.reset();
_ow32.select(addr);
_ow32.write(0xBE);
for ( i = 0; i < 9; i++) {
data = _ow32.read();}
_ow32.reset();
_ow32.select(addr);
_ow32.write(0x44, 1);
return _convertDS18x2xData(type_s, data);}
Предпоследняя строка: "_ow32.write(0x44, 1);" . Второй параметр вызываемой функции, =1, применяется только для систем с паразитным питанием, согласно комментариям в используемой библиотеке. Для трехпроводных датчиков он вроде бы должен быть =0. У нас непонятные проблемы с датчиками, в том числе выход их из строя. Может дело в их неоригинальности, но может и в этом месте? Мы не используем паразитное питание и галку я в FLProg не ставил. Используем трехпроводные датчики с полноценным питанием.
Soyer писал(а): ↑16.03.2021{, 11:18}7.3.3.
Проблема с шаговыми двигателями. Стандартные блоки двигателя ULN не создаются вторым отдельным блоком. Первый создается легко, присваивается номер 1 при нажатии на кнопку новый, и вводит все значения. При создании еще одного, нет возможности присвоить ему номер два. Можно создать только созависимую копию под номером 1, которая будет копировать и менять настройки на оригинально первом моторе.Проверял на FBD и LAD, один и тот же баг.
Тема про ошибки , хотелки в другой темеcmept-27 писал(а): ↑17.03.2021{, 14:55}support, В версии 7.3.3 в блоке меню при выборе значения оно меняется по кольцу. Можно сделать как раньше или что бы был выбор по кольцу или до максимума ли минимума.
Оказывается если в блоке меню сделать шаг не кратный Макс. то значение будет меняться по кольцу. Если шаг будет кратный то значение будет меняться до максимального значения.
Rovki, Хотелка у тебя в ... )) А это ошибка , ну или пасхалка . Если в блоке меню сделать шаг не кратный Макс. то в блоке меню значение будет меняться по кольцу. А если будет кратный то до максимального значения.
ошибка выше возникает наверно именно после последовательности лонг, байт, стринг на выходе переменная выглядит как стринг а подключается как исхоная лонг. удалял все, делал заново. результат тот же.
А вот на Win7, вроде как, с точностью наоборот. Не было и появилось.
думаю не совпадение просто надо теперь выпускать для 7 и для 10 отдельно ,но на 10 ляпота стало работать.