Advisor.authoring.generateBlockConstraintsDataFile

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

Описание

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

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

Примеры

свернуть все

Создайте собственную проверку для этой проверки MAB Настройки проверки портов данных в блоках Multiport Switch. Для блоков Multiport 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