- •Introduction
- •1 Quick Start
- •Overview of the Example
- •Create a Project and Adding a Drive
- •Editing the Program
- •Building and Downloading the Program
- •Monitoring Operation of the Program
- •Importing sm-Applications Lite syptLite Programs
- •Upgrading from the dpl Toolkit
- •Loading a dpl File from disk
- •Uploading a dpl File from a Target Node
- •Starting sypt
- •Configuration Editor
- •Menu Bar
- •Toolbars
- •View toolbar for the Hardware Architecture view
- •Status Bar
- •Hardware Architecture View
- •Link Architecture View
- •Cyclic Data View
- •Specifying Workbench Options
- •Dpl Editor
- •SyptLite
- •Watch Window
- •Menu Bar
- •Managing Projects
- •Creating Projects
- •Opening Projects
- •Saving Projects
- •Viewing Project Properties
- •Cloning Projects
- •Closing Projects
- •Printing Projects
- •Defining a Project Header
- •Inserting Nodes
- •Selecting Nodes
- •Editing the Properties of Nodes
- •Editing Node Descriptions
- •Deleting Nodes
- •Cutting, Copying, and Pasting Nodes
- •Rearranging Nodes
- •Networks
- •Unreachable Nodes
- •Inserting Networks
- •Selecting Networks
- •Deleting Networks
- •Editing the Properties of Networks
- •Pc Communications Settings
- •Rearranging Networks
- •Splitting Network Rails
- •Merging Network Rails
- •Cyclic Data Links
- •Inserting Data Links
- •Inserting Broadcast Links
- •Defining Cyclic Data
- •Viewing Cyclic Data
- •Selecting Links
- •Rearranging Links
- •Deleting Data Links
- •Editing Source/Destination Node Descriptions
- •Annotations
- •Inserting Annotations
- •Editing the Contents of Annotations
- •Formatting Text in Annotations
- •Deleting Annotations
- •Dpl Programs
- •Creating Programs
- •Opening and Closing Programs
- •Saving Programs
- •Editing Programs
- •Specifying the Floating-Point Model
- •Inserting Sections
- •Inserting Diagrams
- •Inserting Variables, Parameters or Numbers
- •Inserting Function Block Calls
- •Inserting Files
- •Inserting the Date and Time
- •Selecting Items in Programs
- •Cutting, Copying, and Pasting Items
- •Finding and Replacing Text
- •Go to a Source Line
- •Editing Diagram Titles
- •Editing/ Viewing the Properties of Programs
- •Printing Programs
- •Templates
- •Dpl Syntax Templates
- •Defining a Template
- •Dpl Templates Dialog
- •Defining a Template Category
- •Deleting a Template/ Changing a Template Name
- •Deleting a Category/ Changing a Category Name
- •Template Shortcut keys
- •Inserting a Template into a Program
- •Creating a Library
- •Specifying Function Block Properties
- •Library Folder Structure
- •Viewing Library Properties
- •Library Manager
- •Referencing and Using a Library
- •Removing a Reference To a Library
- •Exporting a Library
- •Importing a Library
- •Switching the Configuration Editor Online
- •Switching the Configuration Editor Offline
- •Node Detection and Indications
- •Successfully Detected Nodes
- •New Node
- •Nodes Not Found
- •Cyclic Data Mismatches
- •Cyclic Master and Trip Indications
- •Refreshing the View of Nodes While Online
- •Adding Detected Nodes
- •Deleting Target User Programs
- •Building Applications
- •Showing Build Errors
- •Downloading Node Programs
- •Uploading Node Programs
- •_______________________________________________________________________________________________ Accessing Diagnostic Information for Nodes
- •Accessing Identification Information for Nodes
- •Monitoring the Values of Variables and Parameters
- •Watching Values in the dpl Editor
- •Setting Up a Watch List
- •Opening and Closing Watch Lists
- •Saving Watch Lists
- •Adding Variables and Parameters to a Watch List
- •Selecting Watch List Items
- •Cutting, Copying, and Pasting Watch List Items
- •Removing Items from a Watch List
- •Editing the Properties of Watch List Items
- •Rearranging the Order of Watch List Items
- •Changing the Values of Variables or Parameters
- •Controlling Program Execution
- •Stopping and Starting Programs
- •Pausing and Resuming Programs
- •Stopping and Stepping Tasks
- •Running Tasks
- •Using Breakpoints
- •Switching dpl Programs to Editing Mode
- •Resetting Node Programs
- •Resetting Drives
- •Abs - Absolute
- •Ansiread - ansi Master Command
- •Ansireadn - ansi Master Command
- •Ansireply - ansi Master Command (ud70 and md29)
- •Ansireply - ansi Master Command (sm-Applications)
- •Ansiwrite - ansi Master Command
- •Ansiwriten - ansi Master Command
- •ApcSetRunMode
- •ApcReset
- •ApcGetOutputSpeed
- •ApcGetOutputSpeedRpmx10
- •ApcSelectAbsoluteMode
- •ApcSelectRelativeMode
- •ApcReadPar
- •ApcSetPositionResetOffset
- •ApcResetSourcesOnDisable
- •ApcDoNotResetSourcesOnDisable
- •ApcSetReferenceSource
- •ApcSetFeedbackSource
- •ApcSetNumOfTurnsBits
- •ApcEnableRefSourceMarker
- •ApcDisableRefSourceMarker
- •ApcEnableFbckSourceMarker
- •ApcDisableFbckSourceMarker
- •ApcResetRefSourceMarkerFlag
- •ApcResetFbckSourceMarkerFlag
- •ApcResetRefSourceFreezeFlag
- •ApcResetFbckSourceFreezeFlag
- •ApcInvertRefSource
- •ApcDoNotInvertRefSource
- •ApcInvertFbckSource
- •ApcDoNotInvertFbckSource
- •ApcSetReferencePosition
- •ApcSetFeedbackPosition
- •ApcGetReferenceStatus
- •ApcGetFeedbackStatus
- •ApcSelectReference
- •ApcSelectActionOnFreeze
- •ApcSetStopMode
- •ApcSetPositionSetPoint
- •ApcSetSpeedSetPoint
- •ApccamInitialise
- •ApccamInitialise1
- •ApccamInitialise2
- •ApccamInitialise3
- •ApcSetCamStartIndex
- •ApcSetCamSize
- •ApcSetCamDeltaSegLimit
- •ApcSetCamInterpolationMode
- •ApcSetCamOutRatioNumerator
- •ApcSetCamOutRatioDenominator
- •ApcSelectCamAbsoluteReset
- •ApcSelectCamZeroReset
- •ApcSetCamAbsResetIndex
- •ApcSetCamAbsResetPositionInSeg
- •ApcEnableCamSingleShot
- •ApcDisableCamSingleShot
- •ApcSetDigLockMode
- •ApcSetDigLockRatioNumerator
- •ApcSetDigLockRatioDenominator
- •ApcSetDigLockLockingSpeed
- •ApcSetDigLockLockingPosition
- •ApcSetSpeedOffset
- •ApcSetPositionOffset
- •ApcDisableRigidLock
- •ApcEnableProfile
- •ApcDisableProfile
- •ApcSetProfileAccelRate
- •ApcSetProfileDecelRate
- •ApcSetProfileMaxSpeedClamp
- •ApcSetPGain
- •ApcSetPGainSpeedClamp
- •ApcEnableExternalRefSpeed
- •ApcDisableExternalRefSpeed
- •ApcSetExternalRefSpeed
- •ApcEnableExternalRefPosition
- •ApcDisableExternalRefPosition
- •ApcSetExternalRefPosition
- •ApcSetOutputRatioNumerator
- •ApcSetOutputRatioDenominator
- •ApcSetupOutputChannel
- •ApcEnableOutputChannel
- •ApcDisableOutputChannel
- •ApcWriteOutputChannel
- •ApcToUserPosition
- •ApcToUserVelocity
- •ApcToUserAcceleration
- •Arrayget - Get Array Element
- •Arrayset - Set array element
- •Arraysort
- •Arraystat
- •Assram - Associate an array with a file
- •Autosync - ctNet Sync Master Redundancy
- •Autosyncerror
- •Average - Running Average
- •Bcd2bin - Binary-coded Decimal to Binary Conversion
- •Bin2bcd - Binary to Binary-coded Decimal Conversion
- •Bcd2seg - Binary-coded Decimal to Seven-segment Display Data
- •Blkdef - Block Parameter Write
- •Bridge - rs485 Serial Protocol Function
- •Cambox - cam function generator
- •Cambox2 - cam function generator
- •Cambox/cambox2 - cam information
- •Caminit - cam Table Initialise
- •CanConfigEvent
- •CanGetNodeAddr
- •CanReady
- •CanSetup
- •CanStatus
- •CanStatusAll
- •Checknode - Check Existence of Node on ctNet
- •CloseSmartCard
- •Cmodexfer
- •Cmp - Comparison Block
- •Condparw - Conditional Parameter Write
- •ConvertBackwards
- •ConvertForwards
- •Cos - Cosine Function
- •Crc16 - Cyclic Redundancy Check
- •Ctd - Down Counter
- •Ctu - Up Counter
- •Ctud - Up/ Down Counter
- •Ctnetdiagnostics
- •CtSyncDisableOutputChannel
- •CtSyncEnableOutputChannel
- •CtSyncGetSlaveReferences
- •CtSyncSetMasterReferences
- •CtSyncSetupOutputChannel
- •CtSyncWriteOutputChannel
- •Datastuff
- •Decoder4/decoder8
- •Digsel8 - Digital Select Block
- •IDMux/ fDMux / iDMux8 - De-multiplexers
- •Dterm - Differentiator Block
- •Editfastlink/editslowlink - ctNet Cyclic Link Editing
- •Egb / egb2
- •EnableCanTrips
- •Encoder4/encoder8 - Binary Encoder Blocks
- •Exp - Exponential Function
- •Filter - First-order Digital Filter
- •Float - Integer to Floating Point Conversion
- •Float32
- •Getchar - Read rs485 Port
- •GetNextSmartCardFile
- •GetParAttr
- •GetSamplesPerSec
- •GetTaskId
- •Home1 - Homing function
- •Home2 - Homing function
- •HiLoDet - Max and min value detection
- •Int - Floating Point to Integer Conversion
- •ITerm - Integrator Block
- •IWindow
- •ILimit/ fLimit
- •ILimit2/ fLimit2
- •IInvert/fInvert
- •Ln - Natural Logarithm
- •LinInt - Linear Interpolation
- •Modexfer
- •Mpot - Motorised Pot
- •Muldivrm
- •IMux / fMux / iMux2 / fMux2 / iMux8 - Multiplexers
- •Nand4 - Four-input nand Gate
- •Neg - Inverts Input
- •Netreply
- •Netstatus
- •Nor4 - Four-input nor Gate
- •OpenReadSmartCard
- •OpenWriteSmartCard
- •Or4 - Four-input or Gate
- •IOs/ fOs - Offset-Scale
- •Pfixread - Fixed Precision (3 dps) Parameter Read
- •Pfixread6 - Fixed Precision (6 dps) Parameter Read
- •Pfixwrite - Fixed Precision (3 dps) Parameter Write
- •Pfixwrite6 - Fixed Precision (6 dps) Parameter Write
- •Pid - pid Block
- •Posloop - Position Loop Controller
- •Posloop2 - Position Loop Controller
- •Precisiontimer
- •Pt - Pulse Timer
- •Ptd - Pulse Timer
- •Putblock
- •PutBottomWord
- •Putchar - Write Character to rs485 Port
- •Putkey - Write Character to Port
- •PutTopWord
- •RamLength
- •Ramp - Linear Ramp
- •Readnet
- •Readnetb
- •ReadReadOnlyBit
- •ReadSmartCardByte
- •Reg - Registration Block
- •ResetCanTimer
- •Rs/sr : Event Memory Latches
- •RtuReadRegs
- •RtuReadParas
- •RtuReadInputRegs
- •RtuPresetRegs
- •RtuPresetParas
- •RtuMasterReply
- •RtuMasterStatus
- •Runtime
- •Scheduleevent
- •SetConverterDenominator
- •SetConverterNumerator
- •SetCtnSync
- •SetRamLength
- •SetUserId
- •Shiftlr
- •SignedBottomWord
- •SignedTopWord
- •Sin - Sine Function
- •ISo/fSo : Scale-Offset
- •Splitter
- •SpGateway - ctNet to fieldbus gateway
- •Sq1int/ Sq2int - Square Interpolation
- •Sqr - Square Root Function
- •Sramp - s-Ramp Profile Generator Function
- •Ssramp - s-Ramp Profile Generator Function
- •Stuff2 / stuff4 / stuff8 - Bit Stuffers
- •Tan - Tan Function
- •Tcyclic - Cyclic Timer
- •ToffRet
- •Trl - Triggered Latch Function
- •UnAssram
- •UnsignedBottomWord
- •UnsignedTopWord
- •UserToApcAcceleration
- •UserToApcPosition
- •UserToApcVelocity
- •Vel2pos - Velocity Profile Integrator
- •Writenet
- •Writenetb
- •Wrnet - ctNet Write Command
- •Wrnetb - ctNet Block Parameter Write Command
- •WriteReadOnlyBit
- •WriteSmartCardByte
- •Xor4 - Four-input xor Gate
- •SmartCard Example Program
- •Supported Languages
- •Variables, Parameters, Constants and Data Types
- •Variables
- •Bit Access For Variables
- •Predefined Variables
- •Parameters
- •Plc Registers
- •Data Types
- •Constants
- •Numbers
- •Variable and Parameter Scope
- •Aliases
- •Program Structure
- •Subroutines
- •User-Defined Function Blocks (udfBs)
- •Calling udfBs
- •Udfb Argument Restrictions
- •Udfb Instances
- •Udfb Code Sections
- •Dpl (Drive Programming Language) Reference
- •Directives
- •Operators
- •Conditional Operators
- •Comments
- •Constructs
- •Variable Assignment
- •If ... Then
- •For Loop
- •Function Block Call
- •Ld/ fb Elements
- •Ld/ fb Coil Types
- •Ld/ fb Contact Types
- •Ld/ fb Order of Execution
- •Qld (Quick Ladder Diagram) Reference
- •Qld Elements
- •Qld Coil Types
- •Qld Contact Types
- •Advanced Position Controller
- •Programming Hints and Tips
- •Copyright
Cambox2 - cam function generator
This function provides a versatile CAM function generator.
Arguments
Ctrl%[0]
Bitmapped of Control word.
Ctrl%[1]
Array size. Determines the size of the array and is used in conjunction with dynamic start (Ctrl%[0], bit2) and the pointer start position (Ctrl%[0], bits 16-31).
Ctrl%[2]
Xin. The X (master) axis reference to the CAMBOX2.
X%
The X (master) axis array. The array can be constant (CONST) or variable. See CAM Tables information.
Y1%
The Y (slave1) axis array. The array can be either constant (CONST) or variable. See CAM Tables information.
fx%
Interpolation array, when using multiple interpolation. It specifies the interpolation technique to use with respect to the Master and Slave (X% and Y1%) co-ordinate. The array can be either constant (CONST) or variable. See CAM Tables information.
Y2%
The Y2 (slave2) axis array. The array can be either constant (CONST) or variable. The output of this array is summed with the Y1 slave array. When this is defined linear interpolation is used between each co-ordinate with reference to the Master axis (X%). See CAM Tables information.
Return Values
Q%
Periodic mode - Set high once CAMBOX2 is enabled.
Single shot mode - Set high once the CAM profile is complete. Cleared (set to zero) when the Reset bit is cleared.
Ptr%
The current position of the pointer within the CAM table.
Error%
Decimal value of the internal CAMBOX2 error.
Yout%
The interpolated output from the CAM generator, which is based on the value of master (Ctrl%[2]) reference with respect to the CAM tables and the type of interpolation used.
Combined Profiles using Slave1 and Slave2 Profiles
See Also
CAMBOX
POSLOOP
________________________________________________________________________________
Cambox/cambox2 - cam information
CAMBOX
CAMBOX2
Linear Interpolation
Linear Interpolation is used between each set of co-ordinates (x, y), to determine the value of Y', with respect to the X' position, as shown on the upper diagram (Green).
The Lower diagram, (Blue) is the rate of change of the linear interpolation and is an indication of the resultant velocity when the CAMBOX is used with the Feedforward derivative Gain within the position loop, (POSLOOP).
Linear interpolation will derive a STEADY STATE VELOCITY when using the CAMBOX with position control.
Y(velocity) = X(velocity) * ((Y co-ordinate) / (X co-ordinate))
Square 1 Interpolation
Square1 Interpolation is used between each set of co-ordinates (x, y), to determine the value of Y', with respect to the X' position. As shown on the upper diagram (Green).
The Lower diagram, (Blue) is the rate of change of the Square1 interpolation and is an indication of the resultant velocity when the CAMBOX is used with the Feedforward derivative Gain within the position loop, (POSLOOP).
For a positive increasing value of 'X' axis, Square1 will derive a POSITIVE LINEAR ACCELERATION OF VELOCITY, when using the CAMBOX with position control.
Note: |
This velocity function is from ZERO to a velocity dependant on the positional co-ordinates (x, y), and the rate of change of the x' position. |
Final 'Y' axis Velocity:
Y(velocity) = X(velocity) * ((2 * Y co-ordinate) / (X co-ordinate))
Square 2 Interpolation
Square2 Interpolation is used between each set of co-ordinates (x, y), to determine the value of Y', with respect to the X' position. As shown on the upper diagram (Green).
The Lower diagram, (Blue) is the rate of change of the Square2 interpolation and is an indication of the resultant velocity when the CAMBOX is used with the Feedforward derivative Gain within the position loop, (POSLOOP).
For a positive increasing value of 'X' axis, Square2 will derive a NEGATIVE LINEAR ACCELERATION OF VELOCITY, when using the CAMBOX with position control.
Note: |
This velocity function is from a velocity dependant on the positional co-ordinates (x, y), and the rate of change of the x' position, to ZERO. |
'Y' axis Start Velocity:
Y(velocity) = X(velocity) * ((2 * Y co-ordinate) / (X co-ordinate))
Sine Interpolation
Sine Interpolation is used between each set of co-ordinates (x, y), to determine the value of Y', with respect to the X' position. As shown on the upper diagram (Green).
The Lower diagram, (Blue) is the rate of change of the Sine 1 interpolation and is an indication of the resultant velocity when the CAMBOX is used with the Feedforward derivative Gain within the position loop, (POSLOOP).
Sine interpolation will derive a COSINE velocity profile when using the CAMBOX with position control.
Note: |
This velocity function always starts from ZERO and finishes at ZERO. |
Y(velocity) = X(velocity) * ((Y co-ordinate) / (0.636 * X co-ordinate))
Warning: |
This interpolation calculation uses Double Precision, Floating Point Maths and will take more processor resource. |
Cosine 1 Interpolation
Cosine 1 Interpolation is used between each set of co-ordinates (x, y), to determine the value of Y', with respect to the X' position. As shown on the upper diagram (Green).
The Lower diagram, (Blue) is the rate of change of the Cosine 1 interpolation and is an indication of the resultant velocity when the CAMBOX is used with the Feedforward derivative Gain within the position loop, (POSLOOP).
For a positive increasing value of 'X' axis, Cosine 1 will derive a POSITIVE SINUS ACCELERATION OF VELOCITY, when using the CAMBOX with position control.
Note: |
This velocity function is from ZERO to a velocity dependant on the positional co-ordinates (x, y), and the rate of change of the x' position. |
Final 'Y' axis Velocity:
Y(velocity) = X(velocity) * ((2 * Y co-ordinate) / (X co-ordinate))
Warning: |
This interpolation calculation uses Double Precision, Floating Point Maths and will take more processor resource. |
Cosine 2 Interpolation
Cosine 2 Interpolation is used between each set of co-ordinates (x, y), to determine the value of Y', with respect to the X' position. As shown on the upper diagram (Green).
The Lower diagram, (Blue) is the rate of change of the Cosine 2 interpolation and is an indication of the resultant velocity when the CAMBOX is used with the Feedforward derivative Gain within the position loop, (POSLOOP).
For a positive increasing value of 'X' axis, Cosine 2 will derive a NEGATIVE SINUS ACCELERATION OF VELOCITY, when using the CAMBOX with position control.
Note: |
This velocity function is from a velocity dependant on the positional co-ordinates (x, y), and the rate of change of the x' position, to ZERO. |
'Y' axis Start Velocity:
Y(velocity) = X(velocity) * ((2 * Y co-ordinate) / (X co-ordinate))
Warning: |
This interpolation calculation uses Double Precision, Floating Point Maths and will take more processor resource. |
Multiple Interpolation Array
Three arrays are used consisting of the X, Y co-ordinates and interpolation. Each element of the interpolation array will define the type of interpolation to be used for its corresponding pair of X-Y co-ordinates. The types of interpolation methods are defined in Interpolation word (bits4-7 of the Control word), ranging from 0-14.
Relative start
Absolute start
Periodic CAM
Non-periodic CAM
Creating CAM tables
Creating a flying shear profile
System information:
For this example it is assumed that the Master and Slave components (motors, gearboxes etc.) are identical.
Note: |
Speed(cps) = (Speed(rpm) * Encoder(cpr)) / 60 |
The table below shows how the CAM table should be constructed.
This example is to simply demonstrate the ease of use of Multi-interpolation feature with the CAMBOX function block, when applying to a flying shear profile. With Real Flying shear type application it is deemed the responsibility the user to ensure correct velocities, distances, accelerations and accuracy is achieved.
The following diagram shows the profile when using the above settings.
Calculating CAM co-ordinates from positional Information
This method demonstrates how to calculate the Master co-ordinates for a trapezoidal Velocity profile from the following position information: -
1. Master overall distance (Pmt)
2. Slave overall distance (Pst)
3. Slave acceleration distance (Psa)
4. Slave deceleration distance (Psd)
With reference to the diagram below the following calculations can be deduced: -
Slave Steady State Distance (Pss) = Pst - Psa - Psd
Blue Shaded area (Psf) = (2*Psa) + Pss + (2*Psd)
Master Acceleration Distance (Pma) = (2*Psa / Psf) * Pmt
Master Steady State Distance (Pms) = (Pss / Psf) * Pmt
Master Deceleration Distance (Pmd) = (2*Psd / Psf) * Pmt
Velocity Check:
Final velocity for acceleration = Master Velocity * ((2 * Psa) / Pma)
Start velocity for deceleration = Master Velocity * ((2 * Psd) / Pmd)
Steady State Velocity = Master Velocity * (Psa / Pma)
Calculating CAM co-ordinates from time and distance information
This method demonstrates how to calculate the Master co-ordinates for a trapezoidal Velocity profile from the following position information: -
Acceleration time (X1)
Constant speed time (X2)
Deceleration time (X3)
Slave total distance (Pst)
Velocity of master (Vm)
With reference to the diagram below the following calculation can be deduced: -
Using Xt = (X1/2) + X2 + (X3/2)
Slave Acceleration Distance (Psa) = (((X1 / Xt) * Pst) / 2)
Slave Steady State Distance (Pss) = ((X2 / Xt) * Pst)
Slave Deceleration Distance (Psd) = (((X3 / Xt) * Pst) / 2)
Xmt = X1 + X2 + X3
Total distance of the master will be:
Pmt = Xmt * Vm
Master Acceleration Distance (Pma) = ((X1 / Xmt) * Pmt)
Master Steady State Distance (Pms) = ((X2 / Xmt) * Pmt)
Master Deceleration Distance (Pmd) = ((X3 / Xmt) * Pmt)
The Constant speed slave Velocity will be
Vs = Pss / X2
Check that your calculations are correct:
Pst = Psa + Pss + Psd
Pmt = Pma + Pms + Pmd
Switching Position References between CAM and Profile Position
This example demonstrates how to maintain the Current Position reference when switching between CAMBOX and position reference, (Using Sramp profile generator). The CAMBOX is configured with Relative Start bit2 = 0 and Reset function bit3 = 1.
This example does not cater for bumpless velocity transitions between each reference for on-the-fly switching.
CAM Tables information
There are two tables that are required for the 'X' axis, (Master) and 'Y' axis, (Slave) that hold their respective co-ordinate positional data, a third table maybe also required if multi-interpolation is used. The UD70/MD29 uses arrays to hold each table data, where the element data type is +/-32bit integer. Each element of the 'X' and 'Y' axis data is entered with reference to its' axis units, (e.g. encoder counts, time, velocity, etc).
The 'X' and 'Y' arrays can be of different types, constant or dynamic, (variable) arrays.
Constant arrays are defined when the program is compiled, and cannot subsequently be changed unless the program is re-compiled. Constant arrays share the same memory as used for the DPL program, thus the only limitation is that the compiled program size does not exceed the maximum program size for the particular target.
Dynamic arrays use RAM, so the total number of array elements is far smaller. The advantage of a dynamic array is that the DPL program can change element values, while the cam function is in use. If array elements are modified, changes should be completed before the CAM pointer gets to within at least 3 elements.
Refer to the target specifications for more information on the size of the arrays that can be used.
Each table is configured with Relative Co-ordinates, meaning each co-ordinate value is with reference to previous co-ordinate. For example: -
Relative co-ordinate = Present Absolute co-ordinate - Previous Absolute co-ordinate
________________________________________________________________________________