Генератор сигналов — модуль отправки сообщений в аналитической части TSMaster. Он служит для задания поведения значений каждого сигнала CAN/LIN при отправке — проще говоря, это функция управления и настройки значений сигналов CAN/LIN. Доступны 8 типов генераторов; в статье разобраны все восемь.
Ключевые слова: генератор сигналов, синус, наклонный импульс, диапазон значений, переключение, случайный, пользовательский, системная переменная.
1. Кнопки генератора сигналов
В окне отправки CAN/CAN FD после создания сообщения из базы данных выберите его — сигналам можно назначить генератор. У генератора сигналов три кнопки (рис. 1-1):

- Кнопка запуска (рис. 1-2): сигнал получает значения от генератора; после нажатия кнопка превращается в «Паузу».
- Кнопка паузы (рис. 1-3): приостанавливает генератор сигнала CAN/LIN; после нажатия кнопка возвращается к виду «Запуск».
- Кнопка остановки (рис. 1-4): останавливает работу генератора сигнала CAN/LIN.



2. Тип «Нет»
«Нет» означает отсутствие активного генератора: значения сигналов в отправляемом сообщении CAN/LIN определяются физическим значением, заданным в поле «Физическое значение» справа (рис. 2-1).

3. Тип «Синус»
При выборе синуса выбранный сигнал CAN/LIN генерирует синусоидальную волну в последовательности «подъём — спад» (рис. 3-1).

Описание интерфейса:
- Минимум и максимум из БД — минимальное и максимальное значения, определённые в базе данных.
- Физический минимум и максимум — физические пределы, которых может достигать сигнал.
- Циклическая генерация — при включении генератор перезапускается сам. На рис. 3-2 — пример без циклической генерации (создаётся одна волна), на рис. 3-3 — с включённой (генерация идёт непрерывно).
- Число повторов — количество перезапусков циклической генерации. Если не задано, перезапусков бесконечно много; настройка действует, только если активна «циклическая генерация». На рис. 3-4 задано 4 повтора — генерируются 4 синусоиды.
- Автозапуск при отправке сообщения — при включении генератор сигнала запускается автоматически при отправке сообщения.
- Таблица значений сигнала — задаёт связь физического значения каждого сигнала со временем в миллисекундах. Для всех типов, кроме пользовательского, таблица доступна только для чтения; для пользовательского типа значения задаются клавишами (см. раздел «Пользовательский»).
- Список параметров — форма сигнала определяется параметрами таблицы (рис. 3-5): амплитуда, период (мс), фаза (рад), смещение.
- Предпросмотр формы сигнала — предварительный просмотр в представлении «значение — время».




4. Тип «Наклонный импульс» (Ramp Pulse)
Настройки наклонного импульса показаны на рис. 4-1: выбранный сигнал CAN/LIN генерируется в последовательности «подъём — удержание — спад — задержка». Высокое значение, низкое значение и длительность каждого отрезка можно изменять.

Список параметров: форма сигнала определяется параметрами таблицы (рис. 4-2): время подъёма, время удержания, время спада, задержка после спада, низкое и высокое значения.

5. Тип «Диапазон значений»
Генератор диапазона значений перебирает значения сигнала в режимах «по возрастанию», «по убыванию» и «попеременно»; настройки — на рис. 5-1.

Список параметров (рис. 5-2): шаг, время удержания, минимум, максимум, направление.

6. Тип «Переключение» (Toggle)
Значение сигнала переключается между низким и высоким; оба значения задаёт пользователь. Настройки — на рис. 6-1.

Список параметров (рис. 6-2): низкое и высокое значения.

7. Тип «Случайный»
Генератор случайных значений выводит случайные значения сигнала; можно задать низкое и высокое значения случайного диапазона. Настройки — на рис. 7-1.

Список параметров (рис. 7-2): низкое и высокое значения.

8. Тип «Пользовательский»
В пользовательском генераторе значения сигнала задаются вручную; поддерживаются импорт и экспорт .sig-файлов. Настройки — на рис. 8-1.

Список параметров: задаётся время выборки в миллисекундах.
Таблица значений сигнала: для добавления нового значения в таблицу нажмите клавишу «Вниз»; для вставки нового значения перед выбранным — клавишу «Insert» (рис. 8-2). Внимание: временной ряд в таблице должен идти по возрастанию, иначе генератор остановится в неверный момент.

Кнопка импорта: можно импортировать внешне заданную форму сигнала. Файл данных формы должен иметь расширение *.sig (рис. 8-3).

Формат файла *.sig (рис. 8-4):
- строка 1 — метод интерполяции (пока поддерживается только линейная);
- строка 2 — частота выборки в миллисекундах;
- строка 3 — время задержки (мс);
- строка 4 — имя сигнала;
- строка 5 и далее — табличные данные значений сигнала, разделённые символом «;».

Кнопка экспорта: функция экспорта генератора выгружает текущие значения таблицы в файл *.sig (рис. 8-5).

9. Тип «Системная переменная»
Пользователь связывает сигнал с системной переменной, и изменение сигнала следует за изменением системной переменной. Системная переменная может быть пользовательской или внутренней переменной TSMaster — например переменной, созданной C-мини-приложением, диагностической или калибровочной переменной.
Список параметров: форма сигнала определяется параметрами таблицы — можно задать связанную системную переменную и период выборки (рис. 9-1).

Пример: сигнал Engspeed связан с системной переменной Var0 (рис. 9-2).

Когда Var0 каждые 100 мс увеличивается на 1, значение Engspeed также увеличивается на 1 каждые 100 мс; график — на рис. 9-3.
