ProcessingBlock

The ProcessingBlock is used to configure a processing block. A processing block consumes data from its inputs, processes it, and produces output on its signals.

Example

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
<Controller Name="Arcas 5EG-0">
  <AxisControl Name="X" Template="LogicalAxisControlStandard3rdOrderTemplate">
    <ProcessingBlock Name="Watchdog" Template="WatchdogTemplate">
      <Signal Name="Interval" Unit="s">1.0</Signal>
    </ProcessingBlock>
  </AxisControl>

  <ProcessingBlock Name="WaveformGenerator" Template="WaveformGeneratorTemplate">
    <Signal Name="Gain" Unit="">1.0</Signal>
    <Signal Name="Type" Unit="">1</Signal>
  </ProcessingBlock>
</Controller>

Note

A ProcessingBlock is instantiated (and scoped) within a controller. If a ProcessingBlock block with the provided name already exists in the controller where it is defined, then either:

  • if it has the exact same attributes (specifying attributes when Template already exists is optional), then input connections, signal values or updatable content can be changed.

  • otherwise, initialization fails.

XML schema

Complex type ProcessingBlockType
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
<xs:complexType name="ProcessingBlockType">
  <xs:choice minOccurs="0" maxOccurs="unbounded">
    <xs:element name="Signal" type="SignalType"/>
    <xs:element name="Event" type="EventType"/>
    <xs:element name="Input" type="InputType"/>
    <xs:element name="Updatable" type="UpdatableType"/>
    <xs:element name="Filter" type="FilterType"/>
    <xs:element name="Variant" type="ProcessingBlockVariantType"/>
    <xs:element name="NamedMutation" type="NamedMutationType"/>
  </xs:choice>
  <xs:attribute name="Name" type="xs:string" use="required"/>
  <xs:attribute name="Template" type="xs:string"/>
  <xs:attribute name="ExecutionBudget" type="xs:string"/>
  <xs:attribute name="ExecutionType" type="xs:string"/>
  <xs:attribute name="Period" type="xs:string"/>
  <xs:attribute name="CalculationStart" type="Boolean"/>
</xs:complexType>

Attribute

Description

Name

Used to define a name for a processing block.

Template

Specifies the template, which is required to be instantiated.

ExecutionBudget

Defines the maximum amount of time required by the processing block for each process step`.

ExecutionType

Reserved.

Period

Reserved.

CalculationStart

Defines the block to be calculated first In case of a circular dependency.

Complex type ProcessingBlockVariantType
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
<xs:complexType name="ProcessingBlockVariantType">
  <xs:complexContent>
    <xs:extension base="BaseVariantType">
      <xs:choice minOccurs="0" maxOccurs="unbounded">
        <xs:element name="Signal" type="SignalType"/>
        <xs:element name="Event" type="EventType"/>
        <xs:element name="Input" type="InputType"/>
        <xs:element name="Updatable" type="UpdatableType"/>
        <xs:element name="Filter" type="FilterType"/>
        <xs:element name="Variant" type="ProcessingBlockVariantType"/>
        <xs:element name="NamedMutation" type="NamedMutationType"/>
      </xs:choice>
    </xs:extension>
  </xs:complexContent>
</xs:complexType>