特殊指令:高速脉冲输出


Pls_Config:脉冲输出配置

脉冲输出配置指令用于配置脉冲的基本工作模式。

参数名称数据类型读写方向说明
EN能流输入当EN使能时,进行工作模式的配置。EN可以一直保持为1,指令会比较当前配置,只有在参数与当前配置不一致时,才进行配置。
PortUSINT输入需要配置的高速脉冲端口。
Active USINT 输入 脉冲启动与停止的控制模式:
  • [0] Active_ByPower:脉冲通过能流EN使能,若启动脉冲指令的能流EN切换为0,则停止脉冲发送。
  • [1] Active_ByCommand:脉冲通过能流EN使能。一旦脉冲开始发送,除非执行了Pls_Stop指令,否则脉冲将会一直发送直到指定的脉冲全部发送完毕。相对于ByPower模式,ByCommand模式主要用于脉冲启动和停止不在同一个位置的情况,例如在主循环中启动脉冲,在外部中断事件中停止脉冲。
Mode USINT 输入 工作模式一旦设定,除非复位,一般不可修改:
  • [1] Mode_PulseTrain:脉冲发送模式,占空比始终为1:1。
  • [2] Mode_Pwm:PWM模式,需要在中断中设置下一次的管脚翻转时间。
  • [3] Mode_PwmHardware:硬件PWM模式,不占用CPU时间。
TimeUnit USINT 输入 脉冲的脉宽单位:
  • [0] TimeUnit_100ns:基时定时器工作在10MHz频率下,脉宽的精度为100ns。
  • [1] TimeUnit_1us:基时定时器工作在1MHz频率下,脉宽的精度为1us。
  • [2] TimeUnit_10us:基时定时器工作在100KHz频率下,脉宽的精度为10us。
  • [3] TimeUnit_100us:基时定时器工作在10KHz频率下,脉宽的精度为100us。
  • [4] TimeUnit_1ms:基时定时器工作在1KHz频率下,脉宽的精度为1ms。
DoneBIT输出脉冲输出完成标志。
Error USINT 输出 脉冲输出错误:
  • [0] Err_None:无错误。
  • [1] Err_Port:脉冲发送端口不存在。
  • [2] Err_Parameter:脉冲发送参数错误。
  • [3] Err_Segment:脉冲发送包络段错误。
  • [4] Err_Start:脉冲发送启动时发生异常。
  • [5] Err_Failed:脉冲发送中发生异常。
  • [6] Err_Canceled:脉冲发送被用户取消。

Pls_Pwm、Pls_Output、Pls_RampOut、Pls_SegOut指令在启动脉冲时均提供了指令位置给高速脉冲端口,遵循那个位置的指令启动了脉冲,哪个位置的指令负责停止的控制原则。

Pls_Pwm:PWM输出

PWM输出指令用于占空比可调的PWM脉冲。

参数名称数据类型读写方向说明
EN能流输入当EN使能时,开始发送PWM脉冲。若端口配置为Active_ByPower模式且EN为0时,停止发送PWM脉冲。
PortUSINT输入高速脉冲端口。
Duty UINT 输入 脉冲为高的时间。
Period UINT 输入 脉冲周期的时间。

Pls_Output:匀速脉冲输出

匀速脉冲输出指令用于输出一段占空比为1:1的匀速脉冲。

参数名称数据类型读写方向说明
EN能流输入当EN使能时,开始发送匀速脉冲。若端口配置为Active_ByPower模式且EN为0时,停止发送匀速脉冲。
PortUSINT输入高速脉冲端口。
Freq UDINT 输入 匀速脉冲的频率,单位为Hz。
NumOfPluse UDINT 输入 匀速脉冲的数量。

Pls_RampOut:带加减速脉冲输出

带加减速脉冲输出指令用于输出三段占空比为1:1的脉冲,由加速段,匀速段,减速段组成。

参数名称数据类型读写方向说明
EN能流输入当EN使能时,开始发送脉冲。若端口配置为Active_ByPower模式且EN为0时,停止发送脉冲。
PortUSINT输入高速脉冲端口。
StartFreqUDINT输入脉冲启动时的频率,单位为Hz。
MaxFreqUDINT输入匀速脉冲的频率,单位为Hz。
StopFreqUDINT输入脉冲停止时的频率,单位为Hz。
NumOfPluseUDINT输入总脉冲的数量。
AccTimeUINT输入加速段的总时间,单位为1ms。若AccTime为0,表示没有加速段。
DecTimeUINT输入减速段的总时间,单位为1ms。若DecTime为0,表示没有减速段。

Pls_SegOut:自定义包络脉冲输出

自定义包络脉冲输出指令用于输出若干段占空比为1:1的脉冲,每段均可设定开始频率,结束频率,脉冲数量。

参数名称数据类型读写方向说明
EN能流输入当EN使能时,开始发送脉冲。若端口配置为Active_ByPower模式且EN为0时,停止发送脉冲。
PortUSINT输入高速脉冲端口。
SegTblUDINT输入段配置表格的开始地址,每段由3个双字组成,分别指定:段开始频率(Hz)、段结束频率(Hz),段的脉冲数量。
NumOfSegsUSINT输入段的数量。

若SegTbl的输入为VD200,NumOfSegs的输入为3,则表示需要输入3段脉冲:

第1段VD200段开始频率(Hz)
VD204段结束频率(Hz)
VD208段的脉冲数量。
第2段VD212段开始频率(Hz)
VD216段结束频率(Hz)
VD220段的脉冲数量。
第3段VD224段开始频率(Hz)
VD228段结束频率(Hz)
VD232段的脉冲数量。

Pls_Stop:脉冲停止/配置

若端口配置为Active_ByPower模式,脉冲停止/配置指令用于配置脉冲的停止方式。
若端口配置为Active_ByCommand模式,脉冲停止/配置指令用于停止脉冲的发送。

参数名称数据类型读写方向说明
EN能流输入当EN使能时,配置脉冲的停止方式(Active_ByPower模式)或停止脉冲的发送(Active_ByCommand模式)。
PortUSINT输入高速脉冲端口。
FreqUDINT输入减速脉冲段的停止频率,单位为Hz。本参数对PWM无效。
NumOfSegsUDINT输入减速脉冲段的脉冲数量。若数量为0,表示立即停止脉冲发送。本参数对PWM无效。