Трудности, проблемы, ошибки
Трудности, проблемы, ошибки
Предлагаю выкладывать здесь выявляемые трудности, проблемы и ошибки, выявляемые при работе связки KaScada-FLProg
Трудности, проблемы, ошибки
При первых попытках использования KaScada столкнулся с особенностью, которая приводит к тому, что обмен происходит очень медленно.
Эта же особенность проявляется и при развитии проекта - незаметно и неожиданно, и не сразу идентифицируется.
Много времени пришлось потратить, пока разобрался.
Суть проблемы:
Если в Flprog описан регистр ModBus, но программе он ни разу не используется, то он не компилируется в программу и соответственно при обмене с KaScada возникают задержки по тайм-ауту. Хорошо, если отображение тайм-аутов уже включены на планшете и соответственно видны - пока осваиваешь о тайм-аутах особенно и не знаешь.
Думаю, что это не очень здорово - при отладке иногда приходится отключать платы FLProg и тогда начинаются дополнительные проблемы.
Может на это указать как баг FLProg?
Тестовые файлы присоединяю.
Эта же особенность проявляется и при развитии проекта - незаметно и неожиданно, и не сразу идентифицируется.
Много времени пришлось потратить, пока разобрался.
Суть проблемы:
Если в Flprog описан регистр ModBus, но программе он ни разу не используется, то он не компилируется в программу и соответственно при обмене с KaScada возникают задержки по тайм-ауту. Хорошо, если отображение тайм-аутов уже включены на планшете и соответственно видны - пока осваиваешь о тайм-аутах особенно и не знаешь.
Думаю, что это не очень здорово - при отладке иногда приходится отключать платы FLProg и тогда начинаются дополнительные проблемы.
Может на это указать как баг FLProg?
Тестовые файлы присоединяю.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Последний раз редактировалось ecoins 21 май 2017, 08:04, всего редактировалось 1 раз.
Трудности, проблемы, ошибки
А вот и простое решение проблемы - инициализировать регистры ModBus в плате ИНИЦИАЛИЗАЦИЯ ПАРАМЕТРОВ. Такая плата вообще всегда полезна
Ну и конечно надо активнее использовать обмен областями памяти через шлюзы, которые в KaScada изящно реализованы.
Ну и конечно надо активнее использовать обмен областями памяти через шлюзы, которые в KaScada изящно реализованы.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Последний раз редактировалось ecoins 21 май 2017, 08:06, всего редактировалось 1 раз.
Трудности, проблемы, ошибки
Совершенно верно.ecoins писал(а):обмен областями памяти через шлюзы
- - -
По поводу регистра modbus в flprog нам сказать нечего, напишите об этом Сергею.
Трудности, проблемы, ошибки
Проблемы с отладкой программ.
Ищем глюки в программе. Приходиться её менять.
Однако сохранить предыдущую версию или:
Где находятся экспортируемые файлы видно - где текущие, не понятно.
Периодически по разным причинам - экран погас и еще какие-то пока непонятные - выскакивает программа, и все приходиться делать заново.
Пожелания:
В режиме отладки ввести две новых опции:
1. сохранить;
2. сохранить как.
ОЧЕНЬ, ОЧЕНЬ НУЖНО!!!
Программа много и много обещающая и очень хочется поскорее перейти к сложным проектам.
Спасибо.
Добавлено (22.05.2017, 15:45)
---------------------------------------------
СКОРОСТЬ ОБМЕНА НЕОЖИДАННО ПАДАЕТ.
При написании программы неожиданно падает скорость обмена, светодиодики на плате включаются/отключаются с большой задержкой. Тайм-ауты (треугольнички на экране) не выскакивают.
Попытка откатиться назад не получаеться по причине описанной в предыдущем сообщении.
Убирали назад все компоненты - остались только 4-кнопки c адресами на флаги Modbus(FLProg) - ситуация не изменилась.
Запустили новый проект с чистого листа с теми же 4-мя кнопками - светодиодики включаються быстро.
Такое ощущение, что что-то в программе на планшете остается чего-то не видимое, что тормозит.
Это результат многочисленных экспериментов в течении двух дней.
К сожалению идентифицировать момент появления проблемы пока установить не удалось.
Попробуем с начала еще раз - но проблема видимо есть. Добавляли шлюз. Потом убирали. Может с этим как-то связано.
Ничего не подскажите?
Ищем глюки в программе. Приходиться её менять.
Однако сохранить предыдущую версию или:
- просто не представляется возможным,
- или что-то не понимаю.
Где находятся экспортируемые файлы видно - где текущие, не понятно.
Периодически по разным причинам - экран погас и еще какие-то пока непонятные - выскакивает программа, и все приходиться делать заново.
Пожелания:
В режиме отладки ввести две новых опции:
1. сохранить;
2. сохранить как.
ОЧЕНЬ, ОЧЕНЬ НУЖНО!!!
Программа много и много обещающая и очень хочется поскорее перейти к сложным проектам.
Спасибо.
Добавлено (22.05.2017, 15:45)
---------------------------------------------
СКОРОСТЬ ОБМЕНА НЕОЖИДАННО ПАДАЕТ.
При написании программы неожиданно падает скорость обмена, светодиодики на плате включаются/отключаются с большой задержкой. Тайм-ауты (треугольнички на экране) не выскакивают.
Попытка откатиться назад не получаеться по причине описанной в предыдущем сообщении.
Убирали назад все компоненты - остались только 4-кнопки c адресами на флаги Modbus(FLProg) - ситуация не изменилась.
Запустили новый проект с чистого листа с теми же 4-мя кнопками - светодиодики включаються быстро.
Такое ощущение, что что-то в программе на планшете остается чего-то не видимое, что тормозит.
Это результат многочисленных экспериментов в течении двух дней.
К сожалению идентифицировать момент появления проблемы пока установить не удалось.
Попробуем с начала еще раз - но проблема видимо есть. Добавляли шлюз. Потом убирали. Может с этим как-то связано.
Ничего не подскажите?
Последний раз редактировалось ecoins 22 май 2017, 16:47, всего редактировалось 1 раз.
Трудности, проблемы, ошибки
Добрый день
продолжаем тестировать Каскаду.
Удалось идентифицировать баг.
в присоединенном файле при нажатии на кнопку "ЗВУК" вырабатывается звуковой сигнал (колокольчик) подключен к S#10.4, который перед этим был удален.
Таким образом удаленный элемент экрана, каким-то образом остается в работающей системе.
Видимо этим же и объясняются и предыдущие проблемы в задержке системы - там тоже удалялись элементы ,
которые тормозили программу они становились невидимыми . но продолжали действовать.
Можно что-то исправить в принципе? И если можно оперативно.
Спасибо.
продолжаем тестировать Каскаду.
Удалось идентифицировать баг.
в присоединенном файле при нажатии на кнопку "ЗВУК" вырабатывается звуковой сигнал (колокольчик) подключен к S#10.4, который перед этим был удален.
Таким образом удаленный элемент экрана, каким-то образом остается в работающей системе.
Видимо этим же и объясняются и предыдущие проблемы в задержке системы - там тоже удалялись элементы ,
которые тормозили программу они становились невидимыми . но продолжали действовать.
Можно что-то исправить в принципе? И если можно оперативно.
Спасибо.
Трудности, проблемы, ошибки
Переименовать файл недостаточно. Вы можете открыть этот файл любым текстовым редактором и найти там в первой строке "name":"test3". Смените test3 на любое имя, но ковычки должны остаться как есть.ecoins писал(а):Пробовали сохранять через экспорт-->смена имени папки и файла в ней--> импорт. Пишет, что файл уже есть в системе.
Вам наверное уже переслали этот файл обратно, но приложу его здесь еще раз.ecoins писал(а):Таким образом удаленный элемент экрана, каким-то образом остается в работающей системе.Видимо этим же и объясняются и предыдущие проблемы в задержке системы - там тоже удалялись элементы ,
которые тормозили программу они становились невидимыми . но продолжали действовать.
Можно что-то исправить в принципе? И если можно оперативно.
Причина была в том, что компонент не был удалён, а перемещен за границы видимости экрана, недоработка - согласен. Постараемся исправить в ближайших версиях.
Трудности, проблемы, ошибки
Экран гаснуть не должен по умолчанию. Проверьте в меню справо (3 точки) 3й пункт, должно быть написано "Включить стационарный режим", если другое, то кликните на него. Это смена режима засыпания экрана.ecoins писал(а):Периодически по разным причинам - экран погас
Трудности, проблемы, ошибки
С переименованием файла понятно.
Вопрос: планируются ли опции в режиме отладки "сохранить" и "сохранить как..."?
Вопрос: планируются ли опции в режиме отладки "сохранить" и "сохранить как..."?
Трудности, проблемы, ошибки
Выяснились некоторые проблемы с 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 позиций без подавления передних нулей - очень удобно при отладке.
Из-за этого застопорились проекты структуры:
Планшет с 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
- Полковник
- Сообщения: 4891
- Зарегистрирован: 22 апр 2016, 17:25
- Откуда: Чехов
- Имя: Анатолий
- Контактная информация:
Трудности, проблемы, ошибки
1.Сделаем математику целочисленных ,тогда поделите на 256 и получите значение старшего байта в младшем .А если умножите на 256 ,то младший получите в старшем .А пока я это делаю битовыми переменнымиecoins писал(а):1. Дополнительная просьба - можно ли запланировать копирование нужного байта из одного системного регистра в другой. Наверное здесь мог бы появиться еще один функциональный блок: на одном входе int, на выходах два байта - младший и старший.
2. Еще для отладки было бы здорово иметь возможность отображать в цифровом индикаторе значение в HEX-формате.
3. Еще было бы неплохо в цифровом индикаторе отображать 2 регистра подряд (unsigned long) и в HEX-формате - 8 позиций без подавления передних нулей - очень удобно при отладке.
не понятно где в каскаде нужны байты ,каким компонентам.Что бы что то нам делать ,тратить на это средства ,нужно понимать что ,зачем ,а не просто пожелания.
2.,3- Для этого есть разные ПО ,в том числе ОПС сервер на ноуте.
Электронщик до мозга костей и не только
Трудности, проблемы, ошибки
Пожелание носит вполне прикладной характер.
В программе мы компонуем управляющий вектор в 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.
Выкладываю исходники обеих программ, а в следующих сообщениях от трудностях.
В программе мы компонуем управляющий вектор в 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 май 2017, 23:11, всего редактировалось 1 раз.
- Rovki
- Полковник
- Сообщения: 4891
- Зарегистрирован: 22 апр 2016, 17:25
- Откуда: Чехов
- Имя: Анатолий
- Контактная информация:
Трудности, проблемы, ошибки
А где исходникиecoins писал(а):Выкладываю исходники обеих программ
Электронщик до мозга костей и не только
Трудности, проблемы, ошибки
Трудности:
1. На экране не отображается имя проекта - это не удобно, поскольку не знаешь какой проект или версию конкретно правишь, особенно если имена похожи.
Пожелание: В первой строке отображать имя проекта.
2. На экране нет кнопки "Сохранить ". Программа иногда вылетает, и все изменения теряются. Сейчас для этого приходиться выходить из редактирования с подтверждением сохранения и повторно открывать проект (хорошо, если он последний в списке, а так легко можно открыть и другой проект).
Пожелание: Кнопка "Сохранить" была бы очень удобна.
3. Нет возможности сохранить проект под новым именем.
Пожелание: Добавить кнопку "Сохранить как" для сохранения проекта под новым именем.
4.Не развит механизм копирования FB-блоков и системных переменных - каждый раз приходиться выбирать их из панели - а это трудоемко.
Пожелание: Добавить механизм копирования блоком и их комбинацию. Понимаю что реализация этого не проста.
5. Сейчас выход одной переменной или блока можно соединить только с одним входом. Было бы удобно если бы можно один выход соединять с несколькими входами.
Пожелание: В будущем иметь ввиду такой сервис.
6. Очень хочется простой возможности соединять и разъединять байты в системных переменных.
Иначе получается как в конкретном примере(файл прикреплен)
Пожелание: Повторно - очень нужна простая возможность соединять и разъединять байты в целое (а лучше еще и в двойном целом).
-----
Завтра продолжу.
1. На экране не отображается имя проекта - это не удобно, поскольку не знаешь какой проект или версию конкретно правишь, особенно если имена похожи.
Пожелание: В первой строке отображать имя проекта.
2. На экране нет кнопки "Сохранить ". Программа иногда вылетает, и все изменения теряются. Сейчас для этого приходиться выходить из редактирования с подтверждением сохранения и повторно открывать проект (хорошо, если он последний в списке, а так легко можно открыть и другой проект).
Пожелание: Кнопка "Сохранить" была бы очень удобна.
3. Нет возможности сохранить проект под новым именем.
Пожелание: Добавить кнопку "Сохранить как" для сохранения проекта под новым именем.
4.Не развит механизм копирования FB-блоков и системных переменных - каждый раз приходиться выбирать их из панели - а это трудоемко.
Пожелание: Добавить механизм копирования блоком и их комбинацию. Понимаю что реализация этого не проста.
5. Сейчас выход одной переменной или блока можно соединить только с одним входом. Было бы удобно если бы можно один выход соединять с несколькими входами.
Пожелание: В будущем иметь ввиду такой сервис.
6. Очень хочется простой возможности соединять и разъединять байты в системных переменных.
Иначе получается как в конкретном примере(файл прикреплен)
Пожелание: Повторно - очень нужна простая возможность соединять и разъединять байты в целое (а лучше еще и в двойном целом).
-----
Завтра продолжу.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Последний раз редактировалось ecoins 03 июл 2017, 23:30, всего редактировалось 1 раз.
- Rovki
- Полковник
- Сообщения: 4891
- Зарегистрирован: 22 апр 2016, 17:25
- Откуда: Чехов
- Имя: Анатолий
- Контактная информация:
Трудности, проблемы, ошибки
1.а разве вы не знаете что открыли и почему имена похожи ?
2.Принято
3.принято
4.будем делать
5.подумаем, если сможем сделаем
6.подумаем как сделать
2.Принято
3.принято
4.будем делать
5.подумаем, если сможем сделаем
6.подумаем как сделать
Электронщик до мозга костей и не только
- Rovki
- Полковник
- Сообщения: 4891
- Зарегистрирован: 22 апр 2016, 17:25
- Откуда: Чехов
- Имя: Анатолий
- Контактная информация:
Трудности, проблемы, ошибки
А если мы выделим под регистры пользователя 1000 регистров и вы под каждый параметр будите брать слово ,а не байт .А что бы поднять скорость обмена вы будите делать групповое чтение шлюзом -это вас не спасет ? И не нужно делать всякие преобразования с байтами все же это не традиционный подход в скадах ,а скорее частная задача .
Электронщик до мозга костей и не только
Трудности, проблемы, ошибки
По отображению названия проекта в окне разработке - это для организации учебного процесса (об этом немного писали и попозже еще к этому вернусь) - чтобы обучаемый и обучающий видели имя проекта.
По личному опыту - когда я в одном лице (обучаемый и обучающий ), особенно когда на стадии разработки и поиска - путаюсь что на самом деле у меня открыто.
Особенно пока есть сложности с изменением имени в самой среде разработки.
Пожелание: Сделать отображение названия для дополнительного удобства.
Добавлено (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 при обмене.
-------
Пока все. Пожелания буду формулировать по ходу развития нашего проекта.
Спасибо.
По личному опыту - когда я в одном лице (обучаемый и обучающий ), особенно когда на стадии разработки и поиска - путаюсь что на самом деле у меня открыто.
Особенно пока есть сложности с изменением имени в самой среде разработки.
Пожелание: Сделать отображение названия для дополнительного удобства.
Добавлено (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 июл 2017, 10:47, всего редактировалось 1 раз.
Трудности, проблемы, ошибки
9. Смотрите системные регистры, всё есть.
12. Не совсем понимаю архитектуру, поподробнее бы, но выдерживать таймауты нужно обязательно.
12. Не совсем понимаю архитектуру, поподробнее бы, но выдерживать таймауты нужно обязательно.
Трудности, проблемы, ошибки
Файлы проекта - первый раз не получилось отправить
Добавлено (04.07.2017, 14:04)
---------------------------------------------
Получается только по одному файлу прикреплять
Добавлено (04.07.2017, 14:13)
---------------------------------------------
По пункту 9 - увидел в старшем бите 9-ого регистра статус KaScada.
Попробую блок в FLProg соответствующий сделать (или использовать готовый) - по результатам напишу.
Добавлено (04.07.2017, 14:04)
---------------------------------------------
Получается только по одному файлу прикреплять
Добавлено (04.07.2017, 14:13)
---------------------------------------------
По пункту 9 - увидел в старшем бите 9-ого регистра статус KaScada.
Попробую блок в FLProg соответствующий сделать (или использовать готовый) - по результатам напишу.
Последний раз редактировалось ecoins 04 июл 2017, 14:09, всего редактировалось 1 раз.
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 0 гостей