О чем не расскажут в компании Galileosky
Опубликовано: 15.04.2020, Автор : LocMe.ru

В этой статье речь пойдет о технологии Easy Logic, доступной для всех, кто работает с современными приборами Galileosky.

Технология Easy Logic — способ самостоятельного программирования функционала приборов Galileosky. Обычно используется в сложных проектах для создания уникального функционала в соответствии с техническим заданием клиента. Позволяет реализовать сложные задачи быстро посредством встроенного средства визуального программирования.

Достоинств у технологии Easy Logic масса! Все недостатки выливаются в отсутствие детальной и качественной документации. Если скачать с сайта, к примеру, руководство пользователя к терминалу Galileosky OBD-II или к новым приборам 7x с целью найти описание работы CAN-сканера, вы напрасно потратите время. Продукту CAN-сканер уже больше года, но его документирование и не начиналось. Нет документации и на продукт Exigner но документация на него появилась только сейчас (исправлено на основе комментариев одного из сотрудников компании).

Вебинары — это очень хорошо, но отсутствие документации для читающих людей сильно тормозит продвижение продуктов! Записи вебинаров не имеют оглавления и не позволяют быстро найти нужную информацию.

Алгоритмы реального времени

Многие, кто уже использует технологию Easy Logic, столкнулись с проблемой отработки алгоритмов по таймингу терминала.

Пример: В контролируемом параметре CAN-шины произошло событие, регистрируемое терминалом Galileosky. В пользовательский тег записывается «единица», а на сервере это событие отображается только с очередным пакетом, который терминал отправляет по заранее настроенному таймингу.

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

Пример алгоритма Easy logic

Пример алгоритма выше как раз относится к такому типу алгоритмов, которые работают по таймингу терминала. В указанном примере анализируются данные из идентификатора (ID) 55D и в зависимости от результата переменной «i» присваивается значение «0» или «1». В отдельной ветке происходит запись значения переменной «i» в пользовательский тег. Да, можно после этого поставить блок «Записать точку», чем обеспечить отправку состояния на сервер значительно быстрее, чем по настроенному таймингу терминала. Но в этом случае вы получите огромное количество записанных точек, так как алгоритм будет записывать точку один раз в несколько миллисекунд, вне зависимости от изменения или не изменения переменной «i».

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

Пример: Тот же алгоритм контролирует изменение параметра в CAN-шине транспортного средства и должен записывать и отправлять на сервер мониторинга внеочередную точку исключительно при любом изменении параметра.

Пример алгоритма Easy logic для обработки параметров CAN-шины в режиме реального времени

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

В алгоритме на рисунке выше введена новая переменная «s». Дополнительная ветвь алгоритма раз в секунду анализирует состояние переменной «i» и изменяет состояние переменной «s», только если переменная «i» изменилась. По признаку состояния переменной «s» и происходит запись точки. Таким образом можно достичь отработку параметров CAN-шины в режиме реального времени.

В таком алгоритме удобно использовать блок Script, и это, на самом деле, не сложно. Логика скрипта проста и понятна. Его функционал заключается в записи значения нужной переменной в пользовательский тег. Однако можно обойтись и без скрипта — обычными блоками. Если задачу можно решить простыми средствами — её нужно решать простыми средствами! В данном случае посредством визуального программирования терминала без написания кода на скриптовом языке.

Пример скрипта для записи содержимого переменных в пользовательские теги.

На примере выше приведен код для записи содержимого переменных в пользовательские теги. Частота записи регулируется в самой правой ветви алгоритма. В конкретном примере она составляет 30 секунд. И если вы внимательно дочитали статью до этого места, то вам, скорее всего, не нужно объяснять, что подобное решение задачи не является единственно верным и безальтернативным.

Напоследок расскажем вам о ещё одном моменте, о котором вам не расскажет компания Galileosky.

Как не потерять работоспособность уже работающих алгоритмов?

С выходом новой серии приборов Galileosky 7x произошли изменения и в конфигураторе: теперь он поддерживает приборы 7x с двумя CAN-шинами. Изменения отразились и на Easy Logic.

Если у вас есть работающие алгоритмы Easy Logic, связанные с CAN, то мы не рекомендуем вам открывать их в новом конфигураторе, ну разве что из любопытства и без сохранения и изменения.

Новый конфигуратор Galileosky разрушает уже работающие алгоритмы.

Новый конфигуратор разрушает связи блоков старых алгоритмов и добавляет кое-что от себя. И если разорванные связи можно исправить, то «отсебятину» конфигуратора удалить нельзя. Будьте осторожны. Также обратите внимание на тот факт, что все настройки фильтров CAN сообщений в новом конфигураторе поменялись на линию CAN 0, что вполне логично.

Примечание: на момент написания статьи мы использовали конфигуратор версии 4.19.17

Пока мы рекомендуем работать со старыми алгоритмами в старом конфигураторе. К созданию новых алгоритмов в новом конфигураторе противопоказаний нет.

Если вам понравилась страница или статья, пожалуйста, поделитесь ей