Визуализируйте и отредактируйте n-мерные данные Используя управление интерполяционной таблицей маски

Можно визуализировать и отредактировать N-мерные данные об интерполяционной таблице в диалоговом окне маски использование управления интерполяционной таблицей. Ищите таблицы аппроксимируют функции и значительно уменьшают время вычисления с помощью простых операций поиска.

Визуализируйте и отредактируйте таблицу и установите точки останова данные Используя управление интерполяционной таблицей

Рассмотрите сценарий, где топливный поток определяется крутящим моментом и скоростью вращения двигателя. Задавать данные явным образом для табличных данных и параметров точки останова:

1. Щелкните правой кнопкой по блоку, нажмите Edit Mask, чтобы открыть Редактор Маски. В Маске Редактор переходит к панели Parameters & Dialog, создает Крутящий момент параметров редактирования и Скорость вращения двигателя для точек останова. В панели Редактора свойств введите значения для точек останова в поле Values.

2. Создайте Топливный Поток параметра Редактирования для табличных данных в панели Редактора свойств, введите значения в поле Value.

3. Добавьте управление интерполяционной таблицей. Введите Табличный Параметр свойств таблицы, Табличный Модуль, Табличное Имя Отображения, Параметры Точки останова, Модули Точки останова и Имя Отображения Точек останова. Нажать ОК.

4. Дважды кликните маскированный блок, чтобы просмотреть интерполяционную таблицу. Нажмите на ячейку, чтобы отредактировать значение.

Чтобы просмотреть карту тепла таблицы, щелкните правой кнопкой по ячейке, затем нажмите Heatmap On.

Ссылочные продвинутые параметры для данных о таблице и точке останова

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

Задайте табличные данные и установите точки останова данные Используя объект интерполяционной таблицы

Сослаться на объект в Управлении Интерполяционной таблицей:

1. Создайте объект под названием lutobject в рабочем пространстве модели или базовом рабочем пространстве с таблицей и данными о точке останова.

2. Создайте параметр Редактирования и введите Значение как lutobject созданный в рабочем пространстве модели.

3. Создайте управление интерполяционной таблицей, lutcontrol и ссылка параметр Редактирования.

4. Интерполяционная таблица теперь заполняется с таблицей и устанавливает точки останова данные.

Переключитесь между явным режимом ссылки режима и данных о спецификации данных

Можно переключиться между Явным режимом спецификации данных и режимом ссылки Данных с помощью Раскрывающегося параметра. Создайте Раскрывающийся параметр и используйте его в управлении интерполяционной таблицей, чтобы выбрать между явным режимом спецификации данных и режимом ссылки объекта.

Используйте код коллбэка для Раскрывающегося параметра.

dataspec_paramName = 'dataspec';
  bp1_paramName = 'torque';
  bp2_paramName = 'enginespeed';
  tbl_paramName = 'fuelflow';
  lutobj_paramName = 'lutobject';
  underlyingLUTblock = 'slexMaskLookupTableControlExample/LUT Control with Data Specification Mode/2-D Lookup Table';
  dataSpec = get_param(gcb, dataspec_paramName);
  maskObj = Simulink.Mask.get(gcb);
  lutoParam = maskObj.getParameter(lutobj_paramName);
  bp1Param = maskObj.getParameter(bp1_paramName);
  bp2Param = maskObj.getParameter(bp2_paramName);
  tableParam = maskObj.getParameter(tbl_paramName);
  set_param(underlyingLUTblock, 'DataSpecification', dataSpec);
  if strcmp(dataSpec, 'Lookup table object')
      bp1Param.Visible = 'off';
      bp2Param.Visible = 'off';
      tableParam.Visible = 'off';
      lutoParam.Visible = 'on';
  else
      bp1Param.Visible = 'on';
      bp2Param.Visible = 'on';
      tableParam.Visible = 'on';
      lutoParam.Visible = 'off';
  end

Совместно используйте явные данные о точке останова между интерполяционными таблицами

Много приложений используют те же точки останова для различных видов данных. Можно создать несколько интерполяционных таблиц путем совместного использования данных о точке останова. Например, Выхлопная Температура, Давление воздуха и Топливный Поток используют тот же Крутящий момент точек останова и Скорость вращения двигателя. Создайте несколько контейнеров в Редакторе Маски для каждой интерполяционной таблицы и используйте те же точки останова в каждой таблице.

Визуализируйте многомерные данные

Чтобы визуализировать многомерные данные, создайте параметры Редактирования для таблицы и точек останова и введите значения. Чтобы визуализировать данные для размерности, выберите параметр для той размерности из списка.

Добавьте управление интерполяционной таблицей программно

Чтобы добавить интерполяционную таблицу маски управляют программно:

1. Получите маскирующий объект.

maskObj = Simulink.Mask.get(blkhndl);

2. Добавьте табличные данные и установите точки останова параметры к маске.

maskObj.addParameter('Name', 'torque', 'Prompt , 'Torque:', 'Type',  'edit');
maskObj.addParameter('Name', 'speed', 'Prompt', 'Engine speed:', 'Type',  'edit');
maskObj.addParameter('Name', 'fuelflowtable', 'Prompt', 'Fuel Flow Map:', 'Type',  'edit');

3. Установите свойства таблиц.

lutControl.Table.Name = 'fuelflowtable';
lutControl.Table.Unit = 'kg/s ;
lutControl.Table.FieldName = 'Fuel Flow';

Установите свойства точек прерывания Размерности 1.

lutControl.Breakpoints(1).Name = 'torque';
lutControl.Breakpoints(1).Unit = 'Nm';
lutControl.Breakpoints(1).FieldName = 'Torque';

Установите Свойства точек прерывания Размерности 2

lutControl.Breakpoints(2).Name = 'speed';
lutControl.Breakpoints(2).Unit = 'rpm';
lutControl.Breakpoints(2).FieldName = 'Speed';

4. Добавьте управление интерполяционной таблицей.

lutControl = maskObj.addDialogControl('Name', 'fuelflowlut', 'Type', 'lookuptablecontrol');

Смотрите также

Simulink.dialog.LookupTableControl| | Simulink.dialog.LookupTableControl.Breakpoints

Похожие темы