名称:S型加减速定位控制脉冲输出

符号:PTO_POSITION_CTRL_S

说明:

        功能块使能后，将通过S型加/减速（7段）的方式执行定位控制，当目标频率、目标加速度无法达到时，自动降低。

图片:

参数:

参数名称 | 数据类型 | IN/OUT | 参数作用 | 说明 | 默认值
--- | --- | --- | --- | --- | ---
OUTPORT | UDINT | IN | 脉冲输出端口 | 0-7 |
    无
EXECUTE | BOOL | IN | 功能块使能 | 上升沿触发（触发后，未完成时，不可再次触发） |
    无
DESFREQ | UDINT | IN | 目标频率：单位Hz | 1-200KHz；0：使用默认值（目标频率不可达时，自动降低频率，执行三角形控制）（EXECUTE上升沿时载入） |
    有/100
STARTFREQ | UDINT | IN | 起始频率：单位Hz | 0-200KHz（不超过目标频率，超过时按0处理）（EXECUTE上升沿时载入） |
    有/0
ENDFREQ | UDINT | IN | 结束频率：单位Hz | 0-200KHz（不超过目标频率，超过时按0处理）（EXECUTE上升沿时载入） |
    有/0
DESTACC | UDINT | IN | 目标加/减速率：Hz/ms | 正数：小于最大加速度（1000Hz/ms）；0：使用默认值（目标加/减速度不可达时，自动降低）（EXECUTE上升沿时载入） |
    有/100
JERK | UDINT | IN | 加加速率：Hz/ms | 正数：小于最大加加速度（100Hz/ms）；0：使用默认值 （EXECUTE上升沿时载入） |
    有/10
PULSENUM | DINT | IN | 脉冲数量+方向 | 非0：正数-向前运动；负数-向后运动（EXECUTE上升沿时载入） |
    无
ABORT | BOOL | IN | 紧急停止触发 | TRUE：紧急停止使能（使能后不可撤销，处理完成前，不能重新使能功能块） |
    有/FALSE
STOPTIME | UDINT | IN | 紧急停止时间：单位ms | 在设定时间以内停止脉冲输出。非0；0：默认值运行（EXECUTE上升沿时载入） |
    有/5
DONE | BOOL | OUT | 定位控制完成标志 | TRUE：所有脉冲输出完成，定位控制执行完毕（状态仅保持一个周期） |
    有/FALSE
BUSY | BOOL | OUT | 定位控制运行状态 | TRUE：定位控制正常执行中；FALSE：定位控制未执行/执行完成/被紧急停止 |
    有/FALSE
CMDSTOP | BOOL | OUT | 紧急停止状态 | TRUE：紧急停止中，脉冲频率尚未减到0（此时无法响应新的轴启动控制）） |
    有/FALSE
ERROR | BOOL | OUT | 出错标志 | TRUE：功能块调用出错 |
    有/FALSE
ERRORID | DINT | OUT | 错误码 | 0：正常；其它：错误码值 |
    有/0

错误码:

错误码 | 说明
--- | ---
0 |
    无错误
1 |
    无效的脉冲端口
2 |
    脉冲端口忙/pre>
3 |
    脉冲端口正在执行停止动作
7 |
    频率超出最大允许范围
10 |
    加速度超过最大允许值
13 |
    加加速度超过最大允许值
14 |
    s型曲线参数错误

示例:

LD:

ST:

PTO_POSITION_CTRL_S_inst1(OUTPORT := 0, EXECUTE := TRUE, DESTFREQ := 10000, STARTFREQ := 100, ENDFREQ := 50, DESTACC := 100, JERK := 50, PULSENUM := 100000, ABORT := FALSE; STOPTIME := 10, DONE => DoneOut, BUSY => BusyOut, CMDSTOP => CmdStopOut, ERROR => ErrorOut, ERRORID => ErrorIDOut);

解释:

       OUTPORT为0表示操作端口0脉冲输出；
       EXECUTE为上升沿，表示执行此功能块；
       DESTFREQ为10000表示S型加减速定位控制过程最大目标脉冲频率是10000Hz，端口最大以10000Hz速率输出脉冲（若目标频率不可达，自动降低频率）；
       STARTFREQ为100表示功能块初始脉冲输出频率为100Hz；
       ENDFREQ为50表示功能块脉冲输出完毕后的输出频率为50Hz； DESTACC为800，表示脉冲输出频率最大的加/减速度为800Hz/ms（加/减速度不可达时，自动降低），（1）在加速段：加速度由0逐步增加至最大加速度（脉冲输出频率由起始频率逐步加速至最大目标频率）；（2）匀速段：加速度为0，保持恒频输出（若存在匀速段）；（3）减速段：减速度由0逐步增加至最大减速度（脉冲输出频率由最大目标频率逐渐减速至结束频率）；
       JERK为50，表示脉冲频率加速度会以50Hz/ms的加速度变化，且脉冲频率加/减速度最大不超过800Hz/ms(DESTACC)（若目标加速度DESTACC不可达，将自动降低）
       PULSENUM为100000，正数，表示向前运动，整个S型加减速定位控制过程输出脉冲数量为100000；
       ABORT为FALSE，表示功能块正常运行，不执行紧急停止；
       STOPTIME为10，表示紧急停止启动后，将在10ms内减速至0；
       DoneOut如果为TRUE，表示定位控制执行完毕；
       BusyOut如果为TRUE，则表示端口0正在执行定位控制脉冲输出，如果为FALSE，则不能执行定位控制脉冲输出，同时bError会置TRUE;
       CmdStopOut如果为TRUE，表示紧急停止正在执行中，且脉冲输出频率还未减速至0；如果为FALSE，表示未执行紧急停止，或已经完成；
       ErrorOut如果为TURE，则表示功能块存在错误，无法执行S型加减速定位控制脉冲输出，错误码为ErrorIDOut.