.


   

Types of MechaWare Blocks

There are four types of MechaWare blocks: I/O, Computational, Data File, and Advanced.

 

Input/Output Blocks

Input / Output blocks are used to pass data to and from the Filter Objects. The filter algorithm can read data from any Axis Object and can write data to any Motor Object. The ability to access multiple data locations with the Input/Output blocks makes the design of MIMO (multi Input, multi Output) control algorithms possible. I/O blocks require a specific format for data entry, the format is the block tag followed by the desired axis number.

Input/Output Blocks
Block
Type
Tag
Actual Position Input ACTUAL
Axis Input AXIS
Command Position Input COMMAND
Error Input ERROR
Constant Input CONSTANT
TC Vel Input AXIS
TC Acc Input AXIS
Noise Input NOISE
Scope Output SCOPE
Output Output OUTPUT

In the example above, the block uses the actual position from Axis 3 as feedback.

 

Computation Blocks

Computational blocks support basic mathematical operations, biquad filters, and matrix computation. Each block will generate a single output from a single or multiple inputs, depending on the block's functionality.

Computation Blocks
Block
Tag
Use
Parameters
Gain GAIN Constant gain K
Matrix Gain MATRIXGAIN Vector product with sum Length, Coeff[]
Differentiator DIFF Derivative with smoothing Ksm
Integrator PID Integration Ki
PID PID Proportional, Integral, Derivative Kp, Ki, Kd, Imax, Drate
PIV PIV Proportional, Integral, Velocity  
Feedforward FF Four types of feedforward Kaff, Kvff, Kpff, Kfff
BiQuad BIQ5 Double precision observer Length, Coeff[]
Sp_BiQuad BIQ Single precision observer Length, Coeff[]
Observer OBS2 Double precision observer Length, Coeff[]
Observer OBS Single precision observer Length, Coeff[]
Clip CLIP Clip to limits Limit, Offset
Sum SUM Multi-input sum nSum, Coeff[]
Multiplication MULT Multi-input product nMult
Division DIV Multi-input quotient nDiv
Sine SIN Sine None
Cosine COS Cosine None

 

 

Biquad/Observer Block Data File Format

Biquad and Observers Blocks are defined in two ways. In the MATLAB workspace they are defined by a MechaWare biquad/observer structure. This structure is then used to create biquad and observer text files that are used to load block parameters to the ZMP or XMP controller.

The observer and the biquad blocks are defined in the discrete time domain. Mechaware structures include z-transform and difference equation descriptions of the blocks.

Biquad Structures

Z Domain

Difference Equations

Biquad Structure
Element
Description
OBS.b B(z): transfer function numerator
OBS.a A(z): transfer function denominator
OBS.A State transition matrix
OBS.B Input state matrix
OBS.C Output coupling matrix
OBS.D Input to Output coupling matrix
OBS.Ts Sample Rate
OBS.sys Matlab LTI object

 

Observer Structures

Z Domain

 

Difference Equations

Observer Structure
Element
Description
OBS.b1 B(z): ufb(z)/u(z) numerator
OBS.a1 A(z): ufb(z)/u(z) denominator
OBS.b2 B(z): ufb(z)/ymeas(z) numerator
OBS.a2 A(z): ufb(z)/ymeas(z) denominator
OBS.A State transition matrix
OBS.B Input state matrix
OBS.C Output coupling matrix
OBS.D Input to Output coupling matrix
OBS.Ts Sample Rate
OBS.sys Matlab LTI object


Advanced Blocks (currently not supported)

In the future, complex controls functions will be incorporated into MechaWare blocks.

Examples:
Scara Robot Block
Gearing and Camming Blocks
2 Dimensional Look-up Tables

Previous | Next

 

       Legal Notice  |  Tech Email  |  Feedback
      
Copyright ©
2001-2009 Motion Engineering