SPRUHJ1I January 2013 – October 2021 TMS320F2802-Q1 , TMS320F28026-Q1 , TMS320F28026F , TMS320F28027-Q1 , TMS320F28027F , TMS320F28027F-Q1 , TMS320F28052-Q1 , TMS320F28052F , TMS320F28052F-Q1 , TMS320F28052M , TMS320F28052M-Q1 , TMS320F28054-Q1 , TMS320F28054F , TMS320F28054F-Q1 , TMS320F28054M , TMS320F28054M-Q1 , TMS320F2806-Q1 , TMS320F28062-Q1 , TMS320F28062F , TMS320F28062F-Q1 , TMS320F28068F , TMS320F28068M , TMS320F28069-Q1 , TMS320F28069F , TMS320F28069F-Q1 , TMS320F28069M , TMS320F28069M-Q1
The interfaces and functions of SpinTAC Velocity Move are shown in Figure 4-7.
Figure 3-7 SpinTAC™ Velocity Move InterfacesTable 4-7 lists the interface parameters for SpinTAC Velocity Move.
| Signal Type | Structure Member Name | Data Type | Description | Value Range | Units |
|---|---|---|---|---|---|
| Config | cfg.Axis | ST_Axis_e | SpinTAC Move Axis ID | {ST_AXIS0, ST_AXIS1} | |
| cfg.CurveType | ST_MoveCurveType_e | Curve type | {ST_MOVE_CUR_TRAP, ST_MOVE_CUR_SCRV, ST_MOVE_CUR_STCRV} | ||
| cfg.T_sec | _iq24 | Sampling time | (0 , 0.01] | s | |
| cfg.VelMax | _iq24 | Maximum velocity of the system | (0 , 1] | pu / s | |
| cfg.AccMax | _iq24 | Maximum acceleration of the system | [0.001 , 120] | pu / s2 | |
| cfg.JrkMax | _iq20 | Maximum jerk of the system | [0.0005, 2000] | pu / s3 | |
| cfg.VelStart | _iq24 | Velocity start value | [-cfg.VelMax , cfg.VelMax] | pu / s | |
| cfg.IgnoreLimitErrors | bool | If a profile bound is set outside the valid value range, this will saturate the profile limit to within the valid value range | false: provide an error code & do not generate a profile; true: saturate profile limit & generate a profile | ||
| Message | msg.ProTime_tick | uint_32 | Profile time in sample time counts | Sample Counts | |
| msg.Acc | _iq24 | Maximum acceleration of the profile | pu / s2 | ||
| msg.Jrk | _iq20 | Maximum jerk of the profile | pu / s3 | ||
| Inputs | VelEnd | _iq24 | Velocity end value | [-cfg.VelMax , cfg.VelMax] | pu / s |
| AccLim | _iq24 | Acceleration limit | [0.001 , cfg.AccMax] | pu / s2 | |
| JrkLim | _iq20 | Jerk limit | [0.0005, cfg.JrkMax] | pu / s3 | |
| Control | ENB | bool | Enable bit | false: profile done or disabled; true: enable and run | |
| RES | bool | Reset bit | false: not reset; true: reset ERR_ID, and hold profile outputs as previous values | ||
| TST | bool | Profile configuration test bit | false: not test; true: test profile configuration | ||
| Outputs | VelRef | _iq24 | Velocity reference | pu / s | |
| AccRef | _iq24 | Acceleration reference | pu / s2 | ||
| JrkRef | _iq20 | Jerk reference | pu / s3 | ||
| Info | STATUS | ST_MoveStatus_e | Status information | {ST_MOVE_IDLE, ST_MOVE_INIT, ST_MOVE_CONF, ST_MOVE_BUSY, ST_MOVE_HALT} | |
| DON | bool | Profile done indicator | false: running; true: profile done or idle | ||
| ERR_ID | uint16_t | Error code | See Table 14-1 |
For simplicity in SpinTAC Velocity Move, all velocity profiles use the configured acceleration for all moves. For instance, you could have a profile that would technically be decelerating, but SpinTAC Velocity Move would use the acceleration limit for that profile.