Страница 13 из 15
Тестирование новой версии программы 6.Х
Добавлено: 17 ноя 2019, 10:33
andy
Sancho писал(а): 16 ноя 2019, 23:25
[ref]andy[/ref],[ref]dekorator[/ref], и все желаающие.
Есть мысли, касательно ядер, новых, для 8266 и их работы с модбас tcp.
Огромная просьба для теста:
установить последнюю версию ядра для esp8266;
в сгенерированном коде найти функцию и заменить на:
[spoiler]
Код: Выделить всё
void _modbusSlaveSendTxBuffer()
{
if(_modbusSlaveBuffer[0] == 0) {_modbusSlaveTCPClient.stop();return;}
_modbusSlaveMBAPBuffer[4] = highByte(_modbusSlaveBufferSize);
_modbusSlaveMBAPBuffer[5] = lowByte(_modbusSlaveBufferSize);
_modbusSlaveTCPClient.write(_modbusSlaveMBAPBuffer, 6);
_modbusSlaveTCPClient.write(_modbusSlaveBuffer, _modbusSlaveBufferSize);
_modbusSlaveBufferSize = 0;
}
[/spoiler]
Отписаться о результатах.
Провёл серию экспериментов и выяснил, что некорректно работает на версии ядра 2.5.1 и 2.5.2. На остальных нормально.
Если на неработающем варианте (ядро 2.5.1 или 2.5.2) в скетче заменить код:
[spoiler]void _modbusSlaveSendTxBuffer()
{
if(_modbusSlaveBuffer[0] == 0) {_modbusSlaveTCPClient.stop();return;}
String stringBuffer = "";
_modbusSlaveMBAPBuffer[4] = highByte(_modbusSlaveBufferSize);
_modbusSlaveMBAPBuffer[5] = lowByte(_modbusSlaveBufferSize);
for (int i=0; i <6; i++){stringBuffer.concat(char( _modbusSlaveMBAPBuffer
));}
for (int i=0; i <_modbusSlaveBufferSize; i++){stringBuffer.concat(char( _modbusSlaveBuffer));}
_modbusSlaveTCPClient.print(stringBuffer);
_modbusSlaveBufferSize = 0;
}[/spoiler]
на предложенный [ref]Sancho [/ref]:
[spoiler]void _modbusSlaveSendTxBuffer()
{
if(_modbusSlaveBuffer[0] == 0) {_modbusSlaveTCPClient.stop();return;}
_modbusSlaveMBAPBuffer[4] = highByte(_modbusSlaveBufferSize);
_modbusSlaveMBAPBuffer[5] = lowByte(_modbusSlaveBufferSize);
_modbusSlaveTCPClient.write(_modbusSlaveMBAPBuffer, 6);
_modbusSlaveTCPClient.write(_modbusSlaveBuffer, _modbusSlaveBufferSize);
_modbusSlaveBufferSize = 0;
}[/spoiler], то обмен по modbus TCP работает нормально.
Тестирование новой версии программы 6.Х
Добавлено: 17 ноя 2019, 10:34
Sancho
[ref]andy[/ref], Спасибо.
Значит предположение, у меня в голове, было верное.
Тестирование новой версии программы 6.Х
Добавлено: 17 ноя 2019, 10:46
vovka1973
Sancho писал(а): 17 ноя 2019, 10:34
Значит предположение, у меня в голове, было верное.
и как теперь быть ? постоянно менять?
Тестирование новой версии программы 6.Х
Добавлено: 17 ноя 2019, 11:19
Sancho
[ref]vovka1973[/ref], Надеюсь, Автор учтёт.
Тестирование новой версии программы 6.Х
Добавлено: 17 ноя 2019, 11:44
andy
vovka1973 писал(а): 17 ноя 2019, 10:46
и как теперь быть ? постоянно менять?
один раз в IDE обновить ядро до 2.6.1 и пользоваться как обычно)
Тестирование новой версии программы 6.Х
Добавлено: 17 ноя 2019, 12:00
Sancho
andy писал(а): 16 ноя 2019, 22:46
dekorator, спасибо! Ваш способ помог. Понизил версию с 2.6.1 до 2.4.1.
andy писал(а): 17 ноя 2019, 10:33
Если на неработающем варианте (ядро 2.5.1 или 2.5.2) в скетче заменить код:
на предложенный Sancho :
, то обмен по modbus TCP работает нормально.
vovka1973 писал(а): 17 ноя 2019, 10:46
Sancho писал(а): ↑Сегодня [10:34]
Значит предположение, у меня в голове, было верное.
и как теперь быть ? постоянно менять?
andy писал(а): 17 ноя 2019, 11:44
один раз в IDE обновить ядро до 2.6.1 и пользоваться как обычно)
Я так и не понял - в 2.6.1 работает стандартный вариант или нет? запутался...
Тестирование новой версии программы 6.Х
Добавлено: 17 ноя 2019, 13:59
vovka1973
Sancho писал(а): 17 ноя 2019, 12:00
Я так и не понял - в 2.6.1 работает стандартный вариант или нет? запутался...
обновил 2.6.1 [spoiler] if(_modbusSlaveBuffer[0] == 0) {_modbusSlaveTCPClient.stop(); return;}
String stringBuffer = "";
_modbusSlaveMBAPBuffer[4] = highByte(_modbusSlaveBufferSize);
_modbusSlaveMBAPBuffer[5] = lowByte(_modbusSlaveBufferSize);
for (int i=0; i <6; i++){stringBuffer.concat(char( _modbusSlaveMBAPBuffer
));}
for (int i=0; i <_modbusSlaveBufferSize; i++){stringBuffer.concat(char( _modbusSlaveBuffer));}
_modbusSlaveTCPClient.print(stringBuffer);
_modbusSlaveBufferSize = 0;
}[/spoiler]не понял там должно же поменятся ?
установил 2.4.1 [spoiler]void _modbusSlaveSendTxBuffer()
{
if(_modbusSlaveBuffer[0] == 0) {_modbusSlaveTCPClient.stop(); return;}
String stringBuffer = "";
_modbusSlaveMBAPBuffer[4] = highByte(_modbusSlaveBufferSize);
_modbusSlaveMBAPBuffer[5] = lowByte(_modbusSlaveBufferSize);
for (int i=0; i <6; i++){stringBuffer.concat(char( _modbusSlaveMBAPBuffer ));}
for (int i=0; i <_modbusSlaveBufferSize; i++){stringBuffer.concat(char( _modbusSlaveBuffer));}
_modbusSlaveTCPClient.print(stringBuffer);
_modbusSlaveBufferSize = 0;
}[/spoiler]
Тестирование новой версии программы 6.Х
Добавлено: 17 ноя 2019, 14:04
andy
Sancho писал(а): 17 ноя 2019, 12:00
Я так и не понял - в 2.6.1 работает стандартный вариант или нет? запутался...
извиняюсь, если ввёл в заблуждение.
да, в 2.6.1 работает.
выше писал:
andy писал(а): 17 ноя 2019, 10:33
Провёл серию экспериментов и выяснил, что некорректно работает на версии ядра 2.5.1 и 2.5.2. На остальных нормально.
пока пробовал разные варианты, сам запутался)))
Отправлено спустя 2 минуты 42 секунды:
vovka1973 писал(а): 17 ноя 2019, 13:59
не понял там должно же поменятся ?
у меня один и тот же скетч (не меняя этот участок программы) с версией 2.5.1 или 2.5.2 - работает некорректно, а с другими версиями работает нормально.
Тестирование новой версии программы 6.Х
Добавлено: 17 ноя 2019, 15:41
vovka1973
andy писал(а): 17 ноя 2019, 14:04
у меня один и тот же скетч (не меняя этот участок программы) с версией 2.5.1 или 2.5.2 - работает некорректно, а с другими версиями работает нормально.
Я то думал у меня руки кривые

,раньше работало на каскаде, hmi virtuino ,а теперь нет ,обновил ядро и все работает спасиб мил человек.
Тестирование новой версии программы 6.Х
Добавлено: 17 ноя 2019, 23:55
НовыйUser
support писал(а): 16 ноя 2019, 04:11
Я сейчас разбираюсь как научить инсталятор определить установлены ли эти библиотеки и при необходимости их устанавливать. Но я не волшебник, а пока только учусь)))))
https://otvet.mail.ru/question/77533788
Тестирование новой версии программы 6.Х
Добавлено: 19 ноя 2019, 13:22
belyx
изначально проект был на промини-решил переделать на ESP8266
в проекте используется по одному блоку чтения,записи в ееprom
1-при копировании блока кнопок 1 выскочило такое окно 2
[spoiler]
1-вставил блок кнопок копия.jpg
[/spoiler]
2-при этом пропадают связи 3 и выбрать переменную в eeprom уже нельзя даже если старый блок чтения eeprom удалить и поставить новый
[spoiler]
2-выбрать переменную в eeprom уже нельзя.jpg
[/spoiler]
3-переменная не видится хотя она есть
[spoiler]
3-не видит.jpg
[/spoiler]
4-такая же ситуация повторилась при смене контроллёра
[spoiler]
4-смена контроллёра.jpg
[/spoiler]
5-лечится копированием клона этого блока чтения eeprom из предыдущей версии проекта и при этом снова выскакивает это окно
на этом этапе Программа не падает,
[spoiler]
5-вставил блок ееprom.jpg
[/spoiler]
но компилЯцию не проходит,пробовал версию Ядра длЯ esp8266 2.5.2 и 2.4.2-вылет программы
проверил на версиях портативная XP и портативная 7 64,компьютеры разные и системы тоже разные
error XP.log
error 7-64.log
ДА такая фигня и при удалении блока надпись и переменной

Тестирование новой версии программы 6.Х
Добавлено: 19 ноя 2019, 18:30
support
Sancho писал(а): 17 ноя 2019, 12:00
Я так и не понял - в 2.6.1 работает стандартный вариант или нет? запутался...
C ядром 2.6.1 весь модбас работает нормально. Вчера всю ночь проверял. В новой версии будет уже это ядро.
Тестирование новой версии программы 6.Х
Добавлено: 19 ноя 2019, 18:34
belyx
добавил видео
к посту 251
Тестирование новой версии программы 6.Х
Добавлено: 19 ноя 2019, 20:38
Sancho
support писал(а): 19 ноя 2019, 18:30
C ядром 2.6.1 весь модбас работает нормально. Вчера всю ночь проверял. В новой версии будет уже это ядро.
С вариантом функции без стринг - быстрее и меньше оперативки сожрёт...
Тестирование новой версии программы 6.Х
Добавлено: 20 ноя 2019, 10:49
aag
6,1,1
Тестирование новой версии программы 6.Х
Добавлено: 20 ноя 2019, 14:44
Sergey123
Отправлено спустя 2 минуты 58 секунд:
И еще исправьте пожалуйста работу UART с RemoteXY. Вылетает при компиляции.
[/quote]
Поддерживаю Phazz. У меня такая же беда. В чистый проект устанавливаю RemoteXY + UART, при компиляции вылет.
Тестирование новой версии программы 6.Х
Добавлено: 20 ноя 2019, 15:15
vovka1973
Sergey123 писал(а): 20 ноя 2019, 14:44
Поддерживаю Phazz. У меня такая же беда. В чистый проект устанавливаю RemoteXY + UART, при компиляции вылет.
у меня не вылетает .какой микроконтроллер выбираете?
Тестирование новой версии программы 6.Х
Добавлено: 20 ноя 2019, 15:23
Sergey123
vovka1973 писал(а): 20 ноя 2019, 15:15
Sergey123 писал(а): 20 ноя 2019, 14:44
Поддерживаю Phazz. У меня такая же беда. В чистый проект устанавливаю RemoteXY + UART, при компиляции вылет.
у меня не вылетает .какой микроконтроллер выбираете?
Mega 2560
Тестирование новой версии программы 6.Х
Добавлено: 20 ноя 2019, 15:27
vovka1973
Sergey123 писал(а): 20 ноя 2019, 15:23Mega 2560
проверил пустой проект с ремоте ху и уарт не вылетает
Тестирование новой версии программы 6.Х
Добавлено: 20 ноя 2019, 15:38
Sergey123
vovka1973 писал(а): 20 ноя 2019, 15:27
Sergey123 писал(а): 20 ноя 2019, 15:23Mega 2560
проверил пустой проект с ремоте ху и уарт не вылетает
какую версию Flprog вы используете?