Страница 13 из 15

Тестирование новой версии программы 6.Х

Добавлено: 08.09.2019{, 16:41}
support
С небольшой задержкой выпущена новая бэта версия программы с номером 6.0.
Обсуждаем ёё в этой теме.
Подробнее о релизе здесь
Версия 6.Х основной задачей имеет интеграцию контроллера ESP32. В самом начале работы над этой версией обнаружилось, что текущая реализация системы описания контроллера не позволяет описать этот процессор. В связи с этим пришлось полностью переделывать эту реализации. Под это дело я решил реализовать давно требующуюся функциональность – возможность пользователям создавать собственные описания контроллера. Поэтому архитектура новых описаний контроллеров сразу разрабатывалась с учетом этого функционала, и кроме того я постарался сделать её максимально гибкой, и масштабируемой.

В версии 6.0 в меню «Инструменты» главного окна появился пункт «Редактор описаний контроллеров», который и вызывает этот редактор. В нём можно как с нуля создать новое описание, так и создать новое на базе существующего, и потом отредактировать его под собственные нужды.

Созданные описания и целые библиотеки описаний, можно экспортировать в файл и импортировать из файла.

Более подробно работа с редактором будет описана мною в уроках в ближайшее время.

Создание новой архитектуры описаний контроллера, потянуло за собой коренную переделку программы, что и вызвало задержку в сроках выхода новой версии.

Наиболее большим изменениям подверглась среда программирования на языке LAD. Но мне удалось убрать многолетние «костыли» который были «подставлены», в связи с ошибками в архитектуре сделанными ещё в самом начале разработки программы.



Внимание! В связи с оптимизацией архитектуры проекта LAD в проектах, созданных в более ранних версиях при загрузке в версию 6.0 и выше (в будущем), на входах (контактах) будут сброшены галочки «Включить подтягивающий резистор» и «Защита от дребезга». Обратите на это внимание при редактировании старых проектов.



В остальном переход на новую версию должен происходить прозрачно, но всё-таки, не стоит забывать, что это БЭТА версия, и в работе программы возможны ошибки.

Так же обновлён просмоторщик описания контроллера, и информация, выводимая в нём теперь более полная.

В ближайшее время пока не устаканится новая архитектура описания контроллера, и не уберутся самые грубые ошибки, я не буду интегрировать ESPЗ32. На время первоначального тестирования у меня в качестве основной задачи, запланировано решение давно обещанной и востребованной задачи по реализации поддержки облака Каскады.

Так что приглашаю самых смелых пользователей к тестированию новой версии программы.

P.S. 11.09.2019 Выложил (пока на хабре) первый урок по работе с редактором описаний контроллера

P.S. 22.09.19 Версия обновилась до 6.1. Подробнее здесь


P.S. 29.10.19 Версия обновилась до 6.1.1. Подробнее здесь

P.S. 01.12.19 Тема уже очень большая, я её закрываю. Продолжаем обсуждение версии 6.2.Х здесь

Тестирование новой версии программы 6.Х

Добавлено: 17.11.2019{, 10:33}
andy
Sancho писал(а):
16.11.2019{, 23:25}
andy,dekorator, и все желаающие.
Есть мысли, касательно ядер, новых, для 8266 и их работы с модбас tcp.
Огромная просьба для теста:
установить последнюю версию ядра для esp8266;
в сгенерированном коде найти функцию и заменить на:
СпойлерПоказать

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

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;
}
Отписаться о результатах.
Провёл серию экспериментов и выяснил, что некорректно работает на версии ядра 2.5.1 и 2.5.2. На остальных нормально.
Если на неработающем варианте (ядро 2.5.1 или 2.5.2) в скетче заменить код:
СпойлерПоказать
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;
}

на предложенный Sancho :
СпойлерПоказать
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;
}
, то обмен по modbus TCP работает нормально.

Тестирование новой версии программы 6.Х

Добавлено: 17.11.2019{, 10:34}
Sancho
andy, Спасибо.
Значит предположение, у меня в голове, было верное.

Тестирование новой версии программы 6.Х

Добавлено: 17.11.2019{, 10:46}
vovka1973
Sancho писал(а):
17.11.2019{, 10:34}
Значит предположение, у меня в голове, было верное.
и как теперь быть ? постоянно менять?

Тестирование новой версии программы 6.Х

Добавлено: 17.11.2019{, 11:19}
Sancho
vovka1973, Надеюсь, Автор учтёт.

Тестирование новой версии программы 6.Х

Добавлено: 17.11.2019{, 11:44}
andy
vovka1973 писал(а):
17.11.2019{, 10:46}
и как теперь быть ? постоянно менять?
один раз в IDE обновить ядро до 2.6.1 и пользоваться как обычно)

Тестирование новой версии программы 6.Х

Добавлено: 17.11.2019{, 12:00}
Sancho
andy писал(а):
16.11.2019{, 22:46}
dekorator, спасибо! Ваш способ помог. Понизил версию с 2.6.1 до 2.4.1.
andy писал(а):
17.11.2019{, 10:33}
Если на неработающем варианте (ядро 2.5.1 или 2.5.2) в скетче заменить код:
на предложенный Sancho :
, то обмен по modbus TCP работает нормально.
vovka1973 писал(а):
17.11.2019{, 10:46}
Sancho писал(а): ↑Сегодня [10:34]
Значит предположение, у меня в голове, было верное.
и как теперь быть ? постоянно менять?
andy писал(а):
17.11.2019{, 11:44}
один раз в IDE обновить ядро до 2.6.1 и пользоваться как обычно)
Я так и не понял - в 2.6.1 работает стандартный вариант или нет? запутался...

Тестирование новой версии программы 6.Х

Добавлено: 17.11.2019{, 13:59}
vovka1973
Sancho писал(а):
17.11.2019{, 12:00}
Я так и не понял - в 2.6.1 работает стандартный вариант или нет? запутался...
обновил 2.6.1
СпойлерПоказать
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;
}
не понял там должно же поменятся ?
установил 2.4.1
СпойлерПоказать
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;
}

Тестирование новой версии программы 6.Х

Добавлено: 17.11.2019{, 14:01}
andy
Sancho писал(а):
17.11.2019{, 12:00}
Я так и не понял - в 2.6.1 работает стандартный вариант или нет? запутался...
извиняюсь, если ввёл в заблуждение.
да, в 2.6.1 работает.
выше писал:
andy писал(а):
17.11.2019{, 10:33}
Провёл серию экспериментов и выяснил, что некорректно работает на версии ядра 2.5.1 и 2.5.2. На остальных нормально.
пока пробовал разные варианты, сам запутался)))

Отправлено спустя 2 минуты 42 секунды:
vovka1973 писал(а):
17.11.2019{, 13:59}
не понял там должно же поменятся ?
у меня один и тот же скетч (не меняя этот участок программы) с версией 2.5.1 или 2.5.2 - работает некорректно, а с другими версиями работает нормально.

Тестирование новой версии программы 6.Х

Добавлено: 17.11.2019{, 15:41}
vovka1973
andy писал(а):
17.11.2019{, 14:04}
у меня один и тот же скетч (не меняя этот участок программы) с версией 2.5.1 или 2.5.2 - работает некорректно, а с другими версиями работает нормально.
Я то думал у меня руки кривые :D ,раньше работало на каскаде, hmi virtuino ,а теперь нет ,обновил ядро и все работает спасиб мил человек.

Тестирование новой версии программы 6.Х

Добавлено: 17.11.2019{, 23:55}
НовыйUser
support писал(а):
16.11.2019{, 04:11}
Я сейчас разбираюсь как научить инсталятор определить установлены ли эти библиотеки и при необходимости их устанавливать. Но я не волшебник, а пока только учусь)))))
https://otvet.mail.ru/question/77533788

Тестирование новой версии программы 6.Х

Добавлено: 19.11.2019{, 13:22}
belyx
изначально проект был на промини-решил переделать на ESP8266
в проекте используется по одному блоку чтения,записи в ееprom
1-при копировании блока кнопок 1 выскочило такое окно 2
СпойлерПоказать
1-вставил блок кнопок копия.jpg
2-при этом пропадают связи 3 и выбрать переменную в eeprom уже нельзя даже если старый блок чтения eeprom удалить и поставить новый
СпойлерПоказать
2-выбрать переменную в eeprom уже нельзя.jpg
3-переменная не видится хотя она есть
СпойлерПоказать
3-не видит.jpg
4-такая же ситуация повторилась при смене контроллёра
СпойлерПоказать
4-смена контроллёра.jpg
5-лечится копированием клона этого блока чтения eeprom из предыдущей версии проекта и при этом снова выскакивает это окно
на этом этапе Программа не падает,
СпойлерПоказать
5-вставил блок ееprom.jpg
но компилЯцию не проходит,пробовал версию Ядра длЯ esp8266 2.5.2 и 2.4.2-вылет программы
проверил на версиях портативная XP и портативная 7 64,компьютеры разные и системы тоже разные
error XP.log
(32.06 КБ) 70 скачиваний
error 7-64.log
(31.73 КБ) 70 скачиваний
ДА такая фигня и при удалении блока надпись и переменной :smile37: :smile427:

Тестирование новой версии программы 6.Х

Добавлено: 19.11.2019{, 18:30}
support
Sancho писал(а):
17.11.2019{, 12:00}
Я так и не понял - в 2.6.1 работает стандартный вариант или нет? запутался...
C ядром 2.6.1 весь модбас работает нормально. Вчера всю ночь проверял. В новой версии будет уже это ядро.

Тестирование новой версии программы 6.Х

Добавлено: 19.11.2019{, 18:34}
belyx
добавил видео к посту 251

Тестирование новой версии программы 6.Х

Добавлено: 19.11.2019{, 20:38}
Sancho
support писал(а):
19.11.2019{, 18:30}
C ядром 2.6.1 весь модбас работает нормально. Вчера всю ночь проверял. В новой версии будет уже это ядро.
С вариантом функции без стринг - быстрее и меньше оперативки сожрёт...

Тестирование новой версии программы 6.Х

Добавлено: 20.11.2019{, 10:49}
aag
6,1,1

Тестирование новой версии программы 6.Х

Добавлено: 20.11.2019{, 14:44}
Sergey123
Отправлено спустя 2 минуты 58 секунд:
И еще исправьте пожалуйста работу UART с RemoteXY. Вылетает при компиляции.
[/quote]

Поддерживаю Phazz. У меня такая же беда. В чистый проект устанавливаю RemoteXY + UART, при компиляции вылет.

Тестирование новой версии программы 6.Х

Добавлено: 20.11.2019{, 15:15}
vovka1973
Sergey123 писал(а):
20.11.2019{, 14:44}
Поддерживаю Phazz. У меня такая же беда. В чистый проект устанавливаю RemoteXY + UART, при компиляции вылет.
у меня не вылетает .какой микроконтроллер выбираете?

Тестирование новой версии программы 6.Х

Добавлено: 20.11.2019{, 15:23}
Sergey123
vovka1973 писал(а):
20.11.2019{, 15:15}
Sergey123 писал(а):
20.11.2019{, 14:44}
Поддерживаю Phazz. У меня такая же беда. В чистый проект устанавливаю RemoteXY + UART, при компиляции вылет.
у меня не вылетает .какой микроконтроллер выбираете?
Mega 2560

Тестирование новой версии программы 6.Х

Добавлено: 20.11.2019{, 15:27}
vovka1973
Sergey123 писал(а):
20.11.2019{, 15:23}
Mega 2560
проверил пустой проект с ремоте ху и уарт не вылетает

Тестирование новой версии программы 6.Х

Добавлено: 20.11.2019{, 15:38}
Sergey123
vovka1973 писал(а):
20.11.2019{, 15:27}
Sergey123 писал(а):
20.11.2019{, 15:23}
Mega 2560
проверил пустой проект с ремоте ху и уарт не вылетает
какую версию Flprog вы используете?