Advisor.authoring.generateBlockConstraintsDataFile

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

Синтаксис

Advisor.authoring.generateBlockConstraintsDataFile(dataFile, 'constraints',constraintslist)

Описание

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

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

Примеры

свернуть все

Создайте собственную проверку для этой проверки JMAAB 4.0: jc_0632: Default case port in Multiport Switch block. Для Многопортовых блоков 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');

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