Advisor.authoring.generateBlockConstraintsDataFile

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

Описание

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

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

Примеры

свернуть все

Создайте собственную проверку для этого Check проверки MAB настройки для портов данных в Многопортовых блоках switch. Для Многопортовых блоков switch проверка содержит ограничение, которое проверяет, что установкой параметра Data port order является 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');

Создайте составное ограничение, которое указывает это, если блок Multiport Switch не соответствует ограничениям 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