Трудности, проблемы, ошибки

HMI_панель на Андроиде - KaScada
ecoins
Полковник
Сообщения: 2921
Зарегистрирован: 12.02.2016{, 11:40}
Репутация: 452
Откуда: Шатура
Имя: Энвер

Трудности, проблемы, ошибки

#1

Сообщение ecoins » 21.05.2017{, 07:13}

Предлагаю выкладывать здесь выявляемые трудности, проблемы и ошибки, выявляемые при работе связки KaScada-FLProg

ecoins
Полковник
Сообщения: 2921
Зарегистрирован: 12.02.2016{, 11:40}
Репутация: 452
Откуда: Шатура
Имя: Энвер

Трудности, проблемы, ошибки

#2

Сообщение ecoins » 21.05.2017{, 07:24}

При первых попытках использования KaScada столкнулся с особенностью, которая приводит к тому, что обмен происходит очень медленно.
Эта же особенность проявляется и при развитии проекта - незаметно и неожиданно, и не сразу идентифицируется.
Много времени пришлось потратить, пока разобрался.

Суть проблемы:
Если в Flprog описан регистр ModBus, но программе он ни разу не используется, то он не компилируется в программу и соответственно при обмене с KaScada возникают задержки по тайм-ауту. Хорошо, если отображение тайм-аутов уже  включены на планшете и соответственно видны - пока осваиваешь о тайм-аутах особенно и не знаешь.
Думаю, что это не очень здорово - при отладке иногда приходится отключать платы FLProg и тогда начинаются дополнительные проблемы.

Может на это указать как баг FLProg?
Тестовые файлы присоединяю.
Вложения
test_Modbus_KaS.flp
(129.84 КБ) 133 скачивания
Последний раз редактировалось ecoins 21.05.2017{, 08:04}, всего редактировалось 1 раз.

ecoins
Полковник
Сообщения: 2921
Зарегистрирован: 12.02.2016{, 11:40}
Репутация: 452
Откуда: Шатура
Имя: Энвер

Трудности, проблемы, ошибки

#3

Сообщение ecoins » 21.05.2017{, 08:01}

А вот и простое решение проблемы - инициализировать регистры ModBus в плате ИНИЦИАЛИЗАЦИЯ ПАРАМЕТРОВ. Такая плата вообще всегда полезна


Ну и конечно надо активнее использовать обмен областями памяти через шлюзы, которые в KaScada изящно реализованы.
Вложения
4836838.flp
(183.93 КБ) 127 скачиваний
0210485.png
Последний раз редактировалось ecoins 21.05.2017{, 08:06}, всего редактировалось 1 раз.

Аватара пользователя
KaScada
Лейтенант
Сообщения: 388
Зарегистрирован: 23.04.2016{, 12:33}
Репутация: 13
Контактная информация:

Трудности, проблемы, ошибки

#4

Сообщение KaScada » 22.05.2017{, 15:27}

ecoins писал(а):обмен областями памяти через шлюзы
Совершенно верно. 
- - -
По поводу регистра modbus в flprog нам сказать нечего, напишите об этом Сергею.
ПО КаСкада на базе смартфона/планшета с ОС Андроид

Подробнее здесь: http://www.hmi-kascada.ru/

ecoins
Полковник
Сообщения: 2921
Зарегистрирован: 12.02.2016{, 11:40}
Репутация: 452
Откуда: Шатура
Имя: Энвер

Трудности, проблемы, ошибки

#5

Сообщение ecoins » 22.05.2017{, 16:40}

Проблемы с отладкой программ.
Ищем глюки в программе. Приходиться её менять.
Однако сохранить предыдущую версию или:
  • просто не представляется возможным,
  • или что-то не понимаю.
Пробовали сохранять через экспорт-->смена имени папки и файла в ней--> импорт. Пишет, что файл уже есть в системе.

Где находятся экспортируемые файлы видно - где текущие, не понятно.

Периодически по разным причинам - экран погас и еще какие-то пока непонятные - выскакивает программа, и все приходиться делать заново.

Пожелания:
В режиме отладки ввести две новых опции:
1. сохранить;
2. сохранить как.

ОЧЕНЬ, ОЧЕНЬ НУЖНО!!!

Программа много и много обещающая и очень хочется поскорее перейти к сложным проектам.
Спасибо.

Добавлено (22.05.2017, 15:45)
---------------------------------------------
СКОРОСТЬ ОБМЕНА НЕОЖИДАННО ПАДАЕТ.
При написании программы неожиданно падает скорость обмена, светодиодики на плате включаются/отключаются с большой задержкой. Тайм-ауты (треугольнички на экране) не выскакивают.
Попытка откатиться назад не получаеться по причине описанной в предыдущем сообщении.
Убирали назад все компоненты - остались только 4-кнопки c адресами на флаги Modbus(FLProg) - ситуация не изменилась.
Запустили новый проект с чистого листа с теми же 4-мя кнопками - светодиодики включаються быстро.

Такое ощущение, что что-то в программе на планшете остается чего-то не видимое, что тормозит.
Это результат многочисленных экспериментов в течении двух дней.
К сожалению идентифицировать момент появления проблемы пока установить не удалось.
Попробуем с начала еще раз - но проблема видимо есть. Добавляли шлюз. Потом убирали. Может с этим как-то связано.

Ничего не подскажите?
Последний раз редактировалось ecoins 22.05.2017{, 16:47}, всего редактировалось 1 раз.

ecoins
Полковник
Сообщения: 2921
Зарегистрирован: 12.02.2016{, 11:40}
Репутация: 452
Откуда: Шатура
Имя: Энвер

Трудности, проблемы, ошибки

#6

Сообщение ecoins » 23.05.2017{, 11:44}

Добрый день

продолжаем тестировать Каскаду.
Удалось идентифицировать  баг.
в присоединенном файле при нажатии на кнопку "ЗВУК" вырабатывается звуковой сигнал (колокольчик) подключен к S#10.4, который перед этим был удален.
Таким образом удаленный элемент экрана, каким-то образом остается в работающей системе.
Видимо этим же и объясняются и предыдущие проблемы в задержке системы - там тоже удалялись элементы ,
которые тормозили программу они становились невидимыми . но продолжали действовать. 

Можно что-то исправить в принципе? И если можно оперативно.

Спасибо.

Аватара пользователя
KaScada
Лейтенант
Сообщения: 388
Зарегистрирован: 23.04.2016{, 12:33}
Репутация: 13
Контактная информация:

Трудности, проблемы, ошибки

#7

Сообщение KaScada » 23.05.2017{, 19:41}

ecoins писал(а):Пробовали сохранять через экспорт-->смена имени папки и файла в ней--> импорт. Пишет, что файл уже есть в системе.
Переименовать файл недостаточно. Вы можете открыть этот файл любым текстовым редактором и найти там в первой строке "name":"test3". Смените test3 на любое имя, но ковычки должны остаться как есть.
ecoins писал(а):Таким образом удаленный элемент экрана, каким-то образом остается в работающей системе.Видимо этим же и объясняются и предыдущие проблемы в задержке системы - там тоже удалялись элементы ,
которые тормозили программу они становились невидимыми . но продолжали действовать.

Можно что-то исправить в принципе? И если можно оперативно.
Вам наверное уже переслали этот файл обратно, но приложу его здесь еще раз.
Причина была в том, что компонент не был удалён, а перемещен за границы видимости экрана, недоработка - согласен. Постараемся исправить в ближайших версиях.
ПО КаСкада на базе смартфона/планшета с ОС Андроид

Подробнее здесь: http://www.hmi-kascada.ru/

Аватара пользователя
KaScada
Лейтенант
Сообщения: 388
Зарегистрирован: 23.04.2016{, 12:33}
Репутация: 13
Контактная информация:

Трудности, проблемы, ошибки

#8

Сообщение KaScada » 23.05.2017{, 19:46}

ecoins писал(а):Периодически по разным причинам - экран погас
 Экран гаснуть не должен по умолчанию. Проверьте в меню справо (3 точки) 3й пункт, должно быть написано "Включить стационарный режим", если другое, то кликните на него. Это смена режима засыпания экрана.
ПО КаСкада на базе смартфона/планшета с ОС Андроид

Подробнее здесь: http://www.hmi-kascada.ru/

ecoins
Полковник
Сообщения: 2921
Зарегистрирован: 12.02.2016{, 11:40}
Репутация: 452
Откуда: Шатура
Имя: Энвер

Трудности, проблемы, ошибки

#9

Сообщение ecoins » 23.05.2017{, 21:51}

С переименованием файла понятно.
Вопрос: планируются ли опции в режиме отладки "сохранить" и "сохранить как..."?

Аватара пользователя
Rovki
Полковник
Сообщения: 4872
Зарегистрирован: 22.04.2016{, 17:25}
Репутация: 269
Откуда: Чехов
Имя: Анатолий
Контактная информация:

Трудности, проблемы, ошибки

#10

Сообщение Rovki » 24.05.2017{, 18:41}

Запланировали
Электронщик до мозга костей и не только

ecoins
Полковник
Сообщения: 2921
Зарегистрирован: 12.02.2016{, 11:40}
Репутация: 452
Откуда: Шатура
Имя: Энвер

Трудности, проблемы, ошибки

#11

Сообщение ecoins » 26.05.2017{, 19:56}

Выяснились некоторые проблемы с FLProg в режиме ModeBus Master. Испытывали на модулях ОВЕН MВ-110-8А. Проблемы точно есть. Вчера отправили почтой Сергею модули, в том числе и в этот.
Из-за этого застопорились проекты структуры:
  Планшет с KaScada (мастер) - контроллер  (MEGA 2560) (slave)
  Контроллер (master) - удаленный доступ к периферийным модулям.

Пока будем преодолевать проблемы с драйверами ModeBus -  сами или самостоятельно.
Понимаем, что с планшета можно непосредственно обратиться к внешним Slave модулям, но пока избегаем этого делать.
Таким образом - мы на связи, в работе, наши прикладные проекты KaScada + FLProg развиваются.

Добавлено (26.05.2017, 19:56)
---------------------------------------------
1. Дополнительная просьба - можно ли запланировать копирование нужного байта из одного системного регистра в другой. 
Наверное здесь мог бы появиться еще один функциональный блок: на одном входе int, на выходах два байта - младший и старший.

2. Еще для отладки было бы здорово иметь возможность отображать в цифровом индикаторе значение в HEX-формате. 

3. Еще было бы неплохо в цифровом индикаторе отображать 2 регистра подряд (unsigned long) и в HEX-формате - 8 позиций без подавления передних нулей - очень удобно при отладке.

Аватара пользователя
Rovki
Полковник
Сообщения: 4872
Зарегистрирован: 22.04.2016{, 17:25}
Репутация: 269
Откуда: Чехов
Имя: Анатолий
Контактная информация:

Трудности, проблемы, ошибки

#12

Сообщение Rovki » 26.05.2017{, 20:15}

ecoins писал(а):1. Дополнительная просьба - можно ли запланировать копирование нужного байта из одного системного регистра в другой. Наверное здесь мог бы появиться еще один функциональный блок: на одном входе int, на выходах два байта - младший и старший.

2. Еще для отладки было бы здорово иметь возможность отображать в цифровом индикаторе значение в HEX-формате.

3. Еще было бы неплохо в цифровом индикаторе отображать 2 регистра подряд (unsigned long) и в HEX-формате - 8 позиций без подавления передних нулей - очень удобно при отладке.
1.Сделаем математику целочисленных ,тогда поделите на 256 и получите значение старшего байта в младшем .А если умножите на 256 ,то младший получите в старшем .А пока я это делаю битовыми переменными
не понятно где в каскаде нужны байты ,каким компонентам.Что бы что то нам делать ,тратить на это средства ,нужно понимать что ,зачем ,а не просто пожелания.
2.,3- Для этого есть разные ПО ,в том числе ОПС сервер на ноуте.
Электронщик до мозга костей и не только

ecoins
Полковник
Сообщения: 2921
Зарегистрирован: 12.02.2016{, 11:40}
Репутация: 452
Откуда: Шатура
Имя: Энвер

Трудности, проблемы, ошибки

#13

Сообщение ecoins » 03.07.2017{, 22:39}

Пожелание носит вполне прикладной характер.
В программе мы компонуем управляющий вектор в 32-разрядных словах. В  Flprog это позволяет уменьшить количество переменных для обмена между платами.Вы правы - в Flprogе удобно упаковать или распаковать биты, байты, 16-разрядные и 32 разрядные регистры. Например у нас такая структура в одной из прикладной задачи:
Байт 0 - команда;
Байт 1 - скорость (0-100)
Байт 2 - флаги - 8 шт.
Байт 3 - номера выбранного вектора управления (соответсвует одному из пяти источников упрааления).
Для того, чтобы отобразить эти данные в KaScada, приходиться вместо двух 16-разрядных регистров передавать 4-е регистра, и так для каждого источника управления.

По HEX-отображению. Широко используем при отладке на Fllproge - там такая возможность есть. Отображаем в этом формате 16-ти или 32-разрядный регистр и виден каждый байт по отдельности и соответственно и биты видны - и это все в одном 8-разрядном числе.
------
Еще раз повторюсь - пожелание носит прикладной характер и добавлю, что основано оно на опыте работы в Flprog.
Спасибо.
---------
Ваша KaScaда предоставляет мощное средство для отладки программ на Flprog.
У нас это уже получается.

Добавлено (03.07.2017, 22:39)
---------------------------------------------
Продолжаю о возможностях и реальных трудностях - преодолимых, но не приятных, при работе в связке KaSkada - FLProg.
Выкладываю исходники обеих программ, а в следующих сообщениях от трудностях.
Последний раз редактировалось ecoins 28.05.2017{, 23:11}, всего редактировалось 1 раз.

Аватара пользователя
Rovki
Полковник
Сообщения: 4872
Зарегистрирован: 22.04.2016{, 17:25}
Репутация: 269
Откуда: Чехов
Имя: Анатолий
Контактная информация:

Трудности, проблемы, ошибки

#14

Сообщение Rovki » 03.07.2017{, 23:14}

ecoins писал(а):Выкладываю исходники обеих программ
А где исходники
Электронщик до мозга костей и не только

ecoins
Полковник
Сообщения: 2921
Зарегистрирован: 12.02.2016{, 11:40}
Репутация: 452
Откуда: Шатура
Имя: Энвер

Трудности, проблемы, ошибки

#15

Сообщение ecoins » 03.07.2017{, 23:20}

Трудности:
1. На экране не отображается имя проекта - это не удобно, поскольку не знаешь какой проект  или версию конкретно правишь, особенно если имена похожи.
Пожелание: В первой строке отображать имя проекта.

2. На экране нет кнопки "Сохранить ". Программа иногда  вылетает, и все изменения теряются. Сейчас для этого приходиться выходить из редактирования с подтверждением сохранения и повторно открывать проект (хорошо, если он последний в списке, а так легко можно открыть и другой проект).
Пожелание: Кнопка "Сохранить" была бы очень удобна.

3. Нет возможности сохранить проект под новым именем.
Пожелание: Добавить кнопку "Сохранить как" для сохранения проекта под новым именем.

4.Не развит механизм копирования FB-блоков и системных переменных - каждый раз приходиться выбирать их из панели - а это трудоемко.
Пожелание: Добавить механизм копирования блоком и их комбинацию. Понимаю что реализация этого не проста.

5. Сейчас выход одной переменной или блока можно соединить только с одним входом. Было бы удобно если бы можно один выход соединять с несколькими входами.
Пожелание: В будущем иметь ввиду такой сервис.

6. Очень хочется простой возможности соединять и разъединять байты в системных переменных.
Иначе получается как в конкретном примере(файл прикреплен)
Пожелание: Повторно - очень нужна простая возможность соединять и разъединять байты в целое (а лучше еще и в двойном целом).
-----
Завтра продолжу.
Вложения
2796082.jpg
Последний раз редактировалось ecoins 03.07.2017{, 23:30}, всего редактировалось 1 раз.

Аватара пользователя
Rovki
Полковник
Сообщения: 4872
Зарегистрирован: 22.04.2016{, 17:25}
Репутация: 269
Откуда: Чехов
Имя: Анатолий
Контактная информация:

Трудности, проблемы, ошибки

#16

Сообщение Rovki » 03.07.2017{, 23:51}

1.а разве вы не знаете что открыли  и почему имена похожи ?
2.Принято
3.принято
4.будем делать 
5.подумаем, если сможем сделаем
6.подумаем как сделать
Электронщик до мозга костей и не только

Аватара пользователя
Rovki
Полковник
Сообщения: 4872
Зарегистрирован: 22.04.2016{, 17:25}
Репутация: 269
Откуда: Чехов
Имя: Анатолий
Контактная информация:

Трудности, проблемы, ошибки

#17

Сообщение Rovki » 04.07.2017{, 00:05}

А если мы выделим под регистры пользователя 1000 регистров и вы под каждый параметр будите   брать слово ,а не байт .А что бы поднять скорость обмена вы будите делать групповое чтение шлюзом -это вас не спасет ? И не нужно делать всякие преобразования с байтами все же это не традиционный подход в скадах ,а скорее частная задача .
Электронщик до мозга костей и не только

ecoins
Полковник
Сообщения: 2921
Зарегистрирован: 12.02.2016{, 11:40}
Репутация: 452
Откуда: Шатура
Имя: Энвер

Трудности, проблемы, ошибки

#18

Сообщение ecoins » 04.07.2017{, 10:35}

По отображению названия проекта в окне разработке - это для организации учебного процесса (об этом немного писали и попозже еще к этому вернусь) - чтобы обучаемый и обучающий видели имя проекта.
По личному опыту - когда я в одном лице (обучаемый и обучающий  ), особенно когда на стадии разработки и поиска - путаюсь что на самом деле у меня открыто.
Особенно пока есть сложности с изменением имени в самой среде разработки.
Пожелание: Сделать отображение названия для дополнительного удобства.

Добавлено (04.07.2017, 07:35)
---------------------------------------------
Насчет упаковки и распаковки байтов в (из) 16-разрядных регистров. В целом неплохо расширить диапазон преобразования от тетрады (4-бита или один HEX-символ).
-----------
Вроде бы у Вас неплохо развиваются FB-блоки - там могли бы появиться идва блока преобразования?

Добавлено (04.07.2017, 07:49)
---------------------------------------------
По тому, что упаковка и распаковка байтов частная задача.
Да - это так.
Но...
1. В FLProg тоже столкнулся с такой проблемой - очень быстро плодятся тэги, а обмен между платами возможен только через тэги.
Проблема была сильно упрощена, когда обмен между платами (по сути задачами) стал происходить через 32-разрядные тэги, куда напихиваются нужные переменные. Распаковки и упаковки разнообразные (32-->8*4, 8*2-->16, 8-->1*8 и т.п. реализованы через библиотеку пользовательских блоков (собираюсь выложить).
2. Реализуется конкретный образовательный (и по сути благотворительны) проект - обучение детей  роботехнике в кружках, клубах и школах. Соответственно все делается с упором на то, чтобы не просто работало, но и было бы просто повторяемо вслед за разработчиком другими людьми. Сейчас это неплохо работает с FLProg и RemoteXY. После скетчей (детей и этому стараемся учить или знакомить) - FLProg для них счастливая находка.
3. Роботехника - требуется чтобы реакция механизмов (двигатели, серво, лампочки и т.п.) на кнопки управления были быстрыми. И чтобы некоторые индикаторы (например стрелочный индикатор скорости) быстро отображался. В связке FLProg и RemoteXY это получается. И связано это с особенностью реализации обмена в FLProg - там свой драйвер RemoteXY (не разобрался, но возможно он полноценно работает по прерываниям). С реализацией ModBus в FLProg есть проблемы - он медленный и сильно зависит от объема передаваемых данных.
Теперь стало понятно, что у автора не скоро до Modbus руки дойдут.
Поэтому ищем кривые пути...

Добавлено (04.07.2017, 10:35)
---------------------------------------------
Продолжение пожеланий.
7. При приеме данных в KaScada шлюзом, хотелось бы некоторые данные (не оперативные) принимать не непрерывно, а периодически - например по таймеру в миллисекундах. Сейчас есть возможность делать это по фронту - но механизм в реализации через переменные разрастается очень быстро.
Пожелание: Ввести работу со шлюзами по таймеру.
8. При передаче параметров по изменению (очень хорошая возможность) в контроллере данные из KaScada появляются только после того как параметр измениться. Например слайдер в положении 50%, но это значение передастся только тогда, когда чуть сдвинешь слайдер.
Пожелание: Ввести режим разовой или периодической инициализации, например совместить в будущем режиме передачи по изменению и по таймеру, который в этом случае выступал бы в роли watch-dog.
9. В RemoteXY предусмотрен выход CS - наличие связи. С KaScadа это можно реализовать как-то (например периодически передавать и принимать какие-то данные), а в FLProg соответственно добавить какой-то блок. Хотя конечно же это мог-бы сделать автор FLProg - но у него до этого по всей видимости сейчас руки не дойдут.
Пожелание: Ввести (или предложить простые варианты) диагностирования обмена между  KaScada и контролером.
10. Сложновато настраиваются шлюзы - и потом просматривать их настройки сложно.
Пожелание: Сделать настройки шлюзов и их просмотр через таблицу.
11. Сложновато настраиваются и регистры (и инициализация их значений) - источник (внешнее устройство, система, констранта), номер регистра, номер бита (если битовая переменная), номер байта (если байтовая переменная и т.п.
Пожелание: Сделать настройки регистров и их просмотр через таблицу.
12. Если нет одного из контроллера в проекте (или переменная в проекте отсутствует) KaScada очень тормозит. Это на нет сводит возможность создания систем из нескольких контроллеров, где планшет с KaScada выступает в роли мастера и коммуникатора. Например робот - контроллер перемещения, контроллер головы и т.п. - управляется все от KaScada.
Пожелание: Преодолеть проблему задержек из-за  по сути кратковременных подвисаний KaScada при обмене.
-------
Пока все.  Пожелания буду формулировать по ходу развития нашего проекта.
Спасибо.
Последний раз редактировалось ecoins 04.07.2017{, 10:47}, всего редактировалось 1 раз.

Аватара пользователя
KaScada
Лейтенант
Сообщения: 388
Зарегистрирован: 23.04.2016{, 12:33}
Репутация: 13
Контактная информация:

Трудности, проблемы, ошибки

#19

Сообщение KaScada » 04.07.2017{, 10:58}

9. Смотрите системные регистры, всё есть.
12. Не совсем понимаю архитектуру, поподробнее бы, но выдерживать таймауты нужно обязательно.
ПО КаСкада на базе смартфона/планшета с ОС Андроид

Подробнее здесь: http://www.hmi-kascada.ru/

ecoins
Полковник
Сообщения: 2921
Зарегистрирован: 12.02.2016{, 11:40}
Репутация: 452
Откуда: Шатура
Имя: Энвер

Трудности, проблемы, ошибки

#20

Сообщение ecoins » 04.07.2017{, 14:13}

Файлы проекта - первый раз не получилось отправить

Добавлено (04.07.2017, 14:04)
---------------------------------------------
Получается только по одному файлу прикреплять

Добавлено (04.07.2017, 14:13)
---------------------------------------------
По пункту 9 - увидел в старшем бите 9-ого регистра статус KaScada.
Попробую блок в FLProg соответствующий сделать (или использовать готовый) - по результатам напишу.
Последний раз редактировалось ecoins 04.07.2017{, 14:09}, всего редактировалось 1 раз.

Ответить

Вернуться в «HMI_панель на Андроиде - KaScada»