FAQ: Тупиковые реализации "задачи реального времени"— как избежать?

Когда стоит задача реализации той или иной задачи реального времени, иногда бывает так:

– Сначала самостоятельно выбираю и приобретаю ту или иную систему сбора данных "Л Кард". Потом начинаю осваивать её программирование, время от времени обращаюсь в техподдержку Л Кард  по локальным вопросам реализации (примеру программирования) той или иной функции в необходимой мне программной среде. Проходят недели творческой деятельности – моей и техподдержки "Л Кард" (работа нешуточная!)... Дело доходит до физических экспериментов с аппаратурой и выясняется, что ожидаемое время реакции аппаратуры в данной программной среде не соответствует моим ожиданиям, или отработанные по отдельности программные функции разной аппаратуры вместе не хотят правильно (вовремя) работать, или не удаётся засинхронизировать с требуемой точностью по времени выполняемые операции, и т.д. Снова обращаюсь в техподдержку (но уже в ситуации, когда время потеряно и "всё запущено")...

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

  • Описание физического смысла данной задачи реального времени.
  • Количество и состав входных сигналов измерения и выходных сигналов управления.
  • Электрические характеристики входных сигналов измерения и выходных сигналов управления (электрические уровни сигналов, полоса частот, скорость изменения).
  • Требования у точности измерения входных сигналов и к точности воспроизведения выходных сигналов.
  • Требования к сигналам и процессам синхронизации в системе, если таковые имеются.
  • Численное описание требуемых времён реакции в системе и требуемой точности синхронизации по времени. Желательная временная диаграмма процессов с указанием требуемого времени реакции.
  • Требуемые функции ПК в данной задаче реального времени. Требования к интерфейсу с ПК.
  • Требования к программной среде.
  • Ограничения по экономическим параметрам реализации (бюджет, выделяемый на закупку оборудования). 

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

Между тем, сами по себе тупиковые ситуации могут быть связаны со следующими обстоятельствами (не обязательно относящимися к особенностям аппаратуры системы сбора данных):

  • C необоснованным расчётом на время реакции Windows (системы не реального времени).
  • С недоценкой факта задержки буферизации данных USB или Ethernet.
  • C попыткой работы с асинхронными функциями ввода-вывода так, будто они синхронные.
  • Неучёт механизма буферизации аппаратуры (например, в LTR - буферизация на ввод и на вывод).
  • Неучёт штатных возможностей синхронизации, заложенных в аппаратуру (например, в LTR - синхронизация по меткам).
  • Неучёт времени задержек самих модулей ввода-вывода (например, задержки - десятки периодов преобразования в сигма-дельта АЦП)
  • Неучёт трафика передачи данных по интерфейсу, который может быть близок к предельно возможному в данной ситуации.
  • Попытка реализации времён реакции (единицы-десятки миллисекунд - это условный ориентир) на верхнем программном уровне, в то время как подобные задачи принципиально могут быть решены только на уровне программирования встроенного процессора
  • С недостаточной квалификацией Вашего программиста, взявшегося за низкоуровневое программирование  путём модификации предоставленных "Л Кард" исходных текстов штатного низкоуровневого ПО.  

Действительно, некоторые задачи реального времени могут быть решены исключительно средствами встроенного ПО.  И, если Вы (как Заказчик) нанимаете высококвалифицированного программиста на эту работу, то уж точно Вам понадобится техническое задание (ТЗ) для успешного взаимодействия с программистом. А значит, подробное описание задачи реального времени (ответы на вопросы в начале этой статьи - основа ТЗ), прежде всего, нужны Вам! А также для Вас не будет лишней экспертная оценка специалистов техподдержки "Л Кард" по возможностям аппаратуры и штатного ПО при реализации данной задачи реального времени.    

C этой темой связаны следующие статьи:

 

Перейти к другим статьям FAQ       Cтатья создана:04.10.2015
Последняя редакция:15.08.2017

Контакты

Адрес: 117105, Москва, Варшавское шоссе, д. 5, корп. 4, стр. 2

Многоканальный телефон:
+7 (495) 785-95-25
Факс: +7 (495) 785-95-14

Отдел продаж: sale@lcard.ru
Техническая поддержка: support@lcard.ru

Время работы: с 9-00 до 19-00 мск

L-CARD в проектах