这个功能块位于CODESYS SoftMotion 函数库 ⇘ SM3_CNC。用于减少路径的速度,加速度以及减速度以至于得到的速度,加速度和减速度可以被附加轴 (Z, P, Q, U, V, W) 使用并且不会处理设置在 ⇘ SMC_GEOINFO 中的变量 adVelAddAx[0..6], adAccAddAx[0..6] 以及 adDecAddAx[0..6]值。
这些限制通常是使用 G代码中的关键字FZ, FP, FQ, FU, FV, FW 以及 EZ, EP, EQ, EU, EV, EW.定义在 G-代码中。
更多的,G代码中的关键字FF 以及 EF 在使用G0时定义附加轴的速度,加速度和减速度。
FF0, FZ0, FP0, FQ0, ..., FW0复位附加轴的速度限制。EF0, EZ0, ..., EW0复位附加轴的加速度或者减速度设置。
FZ 以及 EZ 只在二维模式下可以使用。
附加的EA, EB, EC 以及 FA, FB 以及 FC 关联到 A, B 和 C 覆盖轴 U, V 和 W。
名称 |
类型 |
初始值 |
描述 |
---|---|---|---|
VAR_IN |
|||
bExecute |
BOOL |
FALSE |
当为 TRUE,功能块被激活 |
bAbort |
BOOL |
FALSE |
中止功能块执行 |
bAppend |
BOOL |
FALSE |
如果位于bExecute的上升沿为 FALSE,输出队列poqDataOut为空。 |
poqDataIn |
POINTER TO SMC_OUTQUEUE |
0 |
这个输入指向SMC_OUTQUEUE结构体对象,此对象描述了路径中的SMC_GEOINFO对象;通常情况下指向预处理模块的poqDataOut输出 (例如:SMC_NCDecoder/SMC_SmoothPath). |
nSizeOutQueue |
UDINT |
0 |
这个变量定义数据缓冲区大小,GEOINFO 结构体对象列表将会被写入。这个缓冲区至少应为 GEOINFO 结构体本身的五倍大小。否则,SMC_NCDecoder 将不会进行任何动作的执行。尺寸大小可以预先定义,但是在下次复位之前不能被修改。可以通过以下方法创建缓冲区: ExampleBuf: ARRAY[1..50] OF SMC_GEOINFO 定义的缓冲区大小可以通过sizeof(ExampleBuf)操作进行读取。 |
pbyBufferOutQueue |
POINTER TO ARRAY[0..0] OF SMC_GEOINFO |
0 |
这个输入必须指向 OUTQUEUE-结构体定义的内存区域的第一个字节地址。定义的这个区域至少与 nSizeOutQueue 定义的一样大。通常情况下IEC中存储区域的定义是通过定义一个 SMC_GEOINFO 数组实现的 (例如:BUF: ARRAY[1..50] OF SMC_GEOINFO:这个缓冲区可以存储50个路径元素)。变量值可以预定义,但是在下次复位前不能被修改。 |
VAR_OUT |
|||
bBusy |
BOOL |
FALSE |
TRUE,功能块的处理没有完成并且路径对象仍旧在运行 |
bDone |
BOOL |
FALSE |
|
bError |
BOOL |
FALSE |
功能块内部发生错误信号 |
wErrorID |
SMC_ERROR |
SMC_NOERROR |
错误ID |
poqDataOut |
POINTER TO SMC_OUTQUEUE |
0 |
这个输出指向 SMC_OUTQUEUE-结构体,用于管理循环路径中的 SMC_GEOINFO-对象 |
示例
加速度和减速度用于对附加轴进行限制。在表达式N0中,附加轴 P 的加速度被限制为 10,加速度被限制为 13。在表达式N1中,附加轴 P 的限制会被重置。在语句N1通过关键字EP0将两者设置为0.
G-code
N0 G1 X100 EP10 EP-13 P100 N1 G1 X200 EP0 P0
G-code
N20 M9 N030 F10 E40.0 E-40.0 N040 M8 N050 G92 X0.0 Y0.0 Z570.0 U35.0 V225.0 W20.0 P382.0 (Starting position) N060 G1 X0.0 Y0.0 Z570.0 U35.0 V225.0 W20.0 P382.0 N230 G0 X0.0 F200.0 E200.0 E-200.0 N240 M7 N250 F50.0 E40.0 E-40.0 N260 G0 U100.0 V158.0 W100.0 P260.0 Y100.0 Z400.0 F50.0 N270 G0 V125.0 P260.0 Z400.0 FV1.25 EV500 EV-500 (additional axis V is set) N280 G0 V170.0 P260.0 Z400.0 FV50.0 N285 G0 V170.0 P260.0 Z400.0 FP100.0 EP500 EP-500 (additional axis P is set) N290 G0 X0.0 F200.0 E200.0 E-200.0 N300 M7 N310 F50.0 E40.0 E-40.0 N320 G0 U100.0 V158.0 W100.0 P260.0 Y100.0 Z400.0 F50.0 N330 G0 V125.0 P260.0 Z400.0 F1.25 N340 G0 V170.0 P260.0 Z400.0 F50.0 N350 M8