这个数据类型位于CODESYS SoftMotion 函数库 ⇘ SM3_CNC。这个结构体用于存储一个路径对象, 例如一个程序路径部分,例如一条线,圆弧或者椭圆部分。相关的有关对象的更多几何信息可以被存储,例如起始时的速度 / 路径结束或者表格。
|   | 从 V3.5 SP2 编程系统开始, iSourceLine_No 存储CNC关键字并且语句数量存储在 diSentenceNo。在之前的版本中,尤其是CODESYS V2.3,语句的数量存储在 iSourceLine_No。 | 
| 成员 | 类型 | 初始值 | 描述 | 
|---|---|---|---|
| iObjNo | INT | 0 | 任意对象号 (与当前路径描述不相关)。是一个以 1-开始的转换 Id。 | 
| iSourceLine_No | INT | 0 | 存储以 0-开始的内部CNC文件的行号。 | 
| diSentenceNo | DINT | 0 | 存储 G-代码语句序号 (关键字 N-的值) | 
| iMoveTyp | SMC_MOVTYP | 
 | 对象编译类型的值。 ⇘ “SMC_MOVTYP (ENUM)” | 
| piStartPos | SMC_POSINFO | 
 | 精确描述对象位置的结构体 (如果 iMoveType=INITPOS将会被忽略)。 | 
| piDestPos | SMC_POSINFO | 
 | 精确描述对象结束位置的数据结构体。 | 
| dP1 | LREAL | 0 | 依据 iMoveType 这些参数将包含以下的信息: 
 | 
| dP2 | LREAL | 0 | |
| dP3 | LREAL | 0 | |
| dP4 | LREAL | 0 | |
| dP4 | LREAL | 0 | |
| dP5 | LREAL | 0 | |
| dP6 | LREAL | 0 | |
| dP7 | LREAL | 0 | |
| dP8 | LREAL | 0 | |
| dP9 | LREAL | 0 | |
| dP10 | LREAL | 0 | |
| dP11 | LREAL | 0 | |
| dP12 | LREAL | 0 | |
| dP13 | LREAL | 0 | |
| dP14 | LREAL | 0 | |
| dP15 | LREAL | 0 | |
| dP16 | LREAL | 0 | |
| dP17 | LREAL | 0 | |
| dP18 | LREAL | 0 | |
| vX | SMC_Vector3D | STRUCT(dX := 1, dY := 0, dZ := 0) | 本地坐标系统的 X-轴,以世界坐标系表达。 | 
| vY | SMC_Vector3D | STRUCT(dX := 0, dY := 1, dZ := 0) | 本地坐标系统的 Y-轴,以世界坐标系表达。 | 
| vN | SMC_Vector3D | STRUCT(dX := 0, dY := 0, dZ := 1) | 本地坐标系统的 Z-轴,以世界坐标系表达。 | 
| dT1 | LREAL | 0 | 圆周/样条曲线的起始参数 
 | 
| dT2 | LREAL | 1 | |
| dToolRadius | LREAL | 0 | 路径编译必须的信息 ⇘ SMC_ToolCorr 或者 ⇘ SMC_RoundPath 以及其他相关。 | 
| dVel | LREAL | 0 | 到达的目标速度 (以 path units / sec 为单位)。 | 
| dVelEnd | LREAL | 0 | 对象结束时的预定速度 (以 Bahneinheiten / sec为单位)。 | 
| dVelEndStored | LREAL | 0 | 结束部分最大速度值调用 SMC_CheckVelocities功能块之前。 | 
| dVelEndSafe | LREAL | 0 | 用于二次曲线的计算: maximum <= dVelEnd 允许在下一语句达到 dVelEndSafe 。如果下一语句有无效的速度,加速度以及减速度值那么此值为 -1。 | 
| dAccel | LREAL | 100 | 允许最大加速度 (以路径 units / sec²为单位)。 | 
| dDecel | LREAL | 100 | 允许最大减速度 (以路径 units / sec²为单位)。 | 
| dLength | LREAL | 0 | 在路径单元的对象长度 | 
| byInternMark | BYTE | 0 | 路径预处理的起始和结束点: Bit 0 置位: 完成此对象之后停止刀具补偿 Bit 1 置位:在对象的左半部分启动刀具补偿 Bit 2 置位:在对象的右部分启动刀具补偿 Bit 3 置位:停止路径弯曲 / 此对象之后进行圆滑处理 Bit 4 置位:停止路径弯曲 / 在这个对象启动圆滑 Bit 5 置位:在这个对象启动路径圆滑 Bit 6 置位:在此对象之后停止避让循环 Bit 7 置位:在这个对象中停止避让循环 | 
| dHelpPos | ARRAY[0..MAX_IPOSWITCHES] OF INT | 
 | 辅助开关的相对位置 (0: 对象启动, 1: 对象结束,类似于G代码中的 O) | 
| iHelpID | ARRAY[0..MAX_IPOSWITCHES] OF INT | 
 | ID (G-代码: H) 辅助开关。如果当前 MCOMMAND类型的对象 iHelpID[0] 中将包含 M-操作的序号。 | 
| adVelAddAx | ARRAY[0..7] OF LREAL | 
 | If <>0 这些错误值指定速度值: 0: 用于所有 G0 命令的速度值 1: Z轴最大速度值;用于 SMC_ExtendedVelocityChecks 2: Q轴最大速度值;用于 SMC_ExtendedVelocityChecks 3:Q轴最大速度值;用于 SMC_ExtendedVelocityChecks 4:U轴最大速度值;用于 SMC_ExtendedVelocityChecks 5: V轴最大速度值;用于 SMC_ExtendedVelocityChecks 6: W轴最大速度值;用于 SMC_ExtendedVelocityChecks | 
| adAccAddAx | ARRAY[0..7] OF LREAL | 
 | If <>0 这些错误的值定义加速度的值: 0: 加速度/减速度用于所有的 G0 命令 1: Z轴最大的加速度/减速度值;用于SMC_ExtendedVelocityChecks 2: P轴最大的加速度/减速度值;用于SMC_ExtendedVelocityChecks 3:Q轴最大的加速度/减速度值;用于SMC_ExtendedVelocityChecks 4:U轴最大的加速度/减速度值;用于SMC_ExtendedVelocityChecks 5: V轴最大的加速度/减速度值;用于SMC_ExtendedVelocityChecks 6: W轴最大的加速度/减速度值;用于SMC_ExtendedVelocityChecks | 
| adDecAddAx | ARRAY[0..7] OF LREAL | 
 |