exponenta event banner

Advisor.authoring.generateBlockConstraintsDataFile

Создание файла XML-данных для пользовательской проверки ограничений блоков

Описание

Advisor.authoring.generateBlockConstraintsDataFile(dataFile, 'constraints',constraintslist) создает XML-файл данных с именем dataFile. Этот файл данных определяет ограничения, содержащиеся в пользовательской проверке. Файл данных использует теги для указания информации об ограничениях. При создании пользовательской проверки используется файл данных.

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

Примеры

свернуть все

Создайте пользовательскую проверку для этой проверки MAB. Проверьте параметры для портов данных в блоках мультипортового коммутатора. Для блоков мультипортового коммутатора проверка содержит ограничение, которое проверяет, что параметр порядка порта данных имеет значение Specify indices. Если параметр имеет эту настройку, существуют ограничения, которые проверяют, что параметр Data port for default case имеет значение Additional data port и значением параметра Diagnostic for default case является None.

Создать три PositiveBlockParameter объекты зависимостей.

c1 = Advisor.authoring.PositiveBlockParameterConstraint(); 
c1.ID = 'ID_A2'; 
c1.BlockType = 'MultiPortSwitch'; 
c1.ParameterName = 'DataPortOrder'; 
c1.SupportedParameterValues = {'Specify indices'}; 
c1.ValueOperator = 'eq'; 

c2 = Advisor.authoring.PositiveBlockParameterConstraint(); 
c2.ID = 'ID_A3'; 
c2.BlockType = 'MultiPortSwitch'; 
c2.ParameterName = 'DataPortForDefault'; 
c2.SupportedParameterValues = {'Additional data port'}; 
c2.ValueOperator = 'eq'; 

c3 = Advisor.authoring.PositiveBlockParameterConstraint(); 
c3.ID = 'ID_A4'; 
c3.BlockType = 'MultiPortSwitch'; 
c3.ParameterName = 'DiagnosticForDefault'; 
c3.SupportedParameterValues = {'None'}; 
c3.ValueOperator = 'eq'; 

Используйте addPreRequisiteConstraintID способ изготовления c1 предпосылка для проверки ограничений c2 и c3.

c2.addPreRequisiteConstraintID('ID_A2'); 
c3.addPreRequisiteConstraintID('ID_A2');

Создание составного ограничения, указывающего, что если блок мультипортового коммутатора не соответствует ограничениям c2 и c3, блок нарушает эту проверку.

cc = Advisor.authoring.CompositeConstraint(); 
cc.addConstraintID('ID_A3');
cc.addConstraintID ('ID_A4');
cc.CompositeOperator = 'and'; 

Создайте файл данных, содержащий ограничения.

dataFile = 'myDataFile.xml';
Advisor.authoring.generateBlockConstraintsDataFile( ...
               dataFile,'constraints',{c1,c2,c3,cc});

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

<?xml version="1.0" encoding="utf-8"?>
<customcheck>
   <checkdata>
      <PositiveBlockParameterConstraint BlockType="MultiPortSwitch" id="ID_A2">
         <parameter type="string">DataPortOrder</parameter>
         <value>Specify indices</value>
         <operator>eq</operator>
      </PositiveBlockParameterConstraint>
      <PositiveBlockParameterConstraint BlockType="MultiPortSwitch" id="ID_A3">
         <parameter type="string">DataPortForDefault</parameter>
         <value>Additional data port</value>
         <operator>eq</operator>
         <dependson>ID_A2</dependson>
      </PositiveBlockParameterConstraint>
      <PositiveBlockParameterConstraint BlockType="MultiPortSwitch" id="ID_A4">
         <parameter type="string">DiagnosticForDefault</parameter>
         <value>None</value>
         <operator>eq</operator>
         <dependson>ID_A2</dependson>
      </PositiveBlockParameterConstraint>
      <CompositeConstraint>
         <ID>ID_A3</ID>
         <ID>ID_A4</ID>
         <operator>and</operator>
      </CompositeConstraint>
   </checkdata>
</customcheck>

Примечание

Для ограничений параметров конфигурации модели используйте Advisor.authoring.generateBlockConstraintsDataFile Метод используется только при определении ограничений параметров конфигурации модели в качестве предпосылок для ограничений блока или как часть составного ограничения, состоящего как из ограничений параметров конфигурации блока, так и из ограничений параметров конфигурации модели. Для других случаев используйте Advisor_authoring.generateConfigurationParameterDatafile способ.

Входные аргументы

свернуть все

Имя создаваемого XML-файла данных, указанного как символьный вектор.

Пример: 'myDataFile.xml'

Используйте эти классы для создания объектов зависимостей.

  • Advisor.authoring.PositiveBlockParameterConstraint

  • Advisor.authoring.NegativeBlockParameterConstraint

  • Advisor.authoring.PositiveModelParameterConstraint

  • Advisor.authoring.NegativeModelParameterConstraint

  • Advisor.authoring.PositiveBlockTypeConstraint

  • Advisor.authoring.NegativeBlockTypeConstraint

  • Advisor.authoring.CompositeConstraint

Пример: {c1, c2, c3}

Представлен в R2018a