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

Defines whether a processing block is processed synchronously or asynchronously on the controller.

Period

Processing block sample period.

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>
Inputs

Inputs

Description

Velocity

Demand velocity from TrajectoryInterpolator.

Acceleration

Demand acceleration from TrajectoryInterpolator.

Jerk

Demand jerk from TrajectoryInterpolator.

Snap

Demand snap from TrajectoryInterpolator.

Reset

Clear the feedforward control output from the time delay.

Read-only signals

Signals R

Description

KfvOutput

Viscous friction compensation.

KfcOutput

Coulomb friction compensation.

KfaOutput

Acceleration friction compensation.

kfjOutput

Jerk friction compensation.

kfsOutput

Snap friction compensation.

Read-write signals

Signals R/W

Description

Kfv

Viscous friction compensation gain.

Kfc

Coulomb friction compensation gain.

Kfa

Acceleration compensation gain.

Kfj

Jerk compensation gain.

Kfs

Snap compensation gain.

FeedforwardDelay

Delay of the feedforward signal.