这个数据类型位于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 |
|