首页 > 技术服务

西门子S7-200发送无限脉冲的实现

2017-02-27 17:27:09 图灵智控 已读

  西门子S7-200-深圳西门子PLC代理商产品

  来自西门子技术支持热线的故事:S7-200如何实现发送无限脉冲?

  西门子的S7-200应用普遍,热线中大家常常就实际的应用,来问些与基本功能相关的衍生问题。

  某次我遇到客户问这样的问题,Q:S7-200如何实现发送无限脉冲?这个客户提出问题的范围较大,我只能通过询问来缩小解答范围了。

  A:您是运用CPU本体上高速脉冲输出通道来实现运动控制的吗?

  Q:是的。

  A:那您是用什么方式来发脉冲的呢?

  Q:就是输出高速脉冲啊,能有什么方式啊?

  好吧,接下来,我简单讲解了本体上高速脉冲输出,来实现运动控制的方式。

  对于S7-200 DC/DC/DC,通过Q0.0和Q0.1发送脉冲来做运动控制,一般可以采用PTO/PWM向导配置;PLS指令编程; MAP运动控制库函数实现。

  Q:哦,这么多方式,那能帮我都讲讲吗?

  ~~~~~~遇到这样的问题,我建议您参考下面的讲解:咱们现在按照上面提到的方法,分别做来看看:

  1.向导配置:

  A. 在作PTO向导配置时,选择模式:单速连续旋转。

  调用功能块PTOx_RUN,实现单速连续旋转,发送固定频率的脉冲,可运用Abort引脚来停止。

  B. 不论在向导配置时,包络选择怎样的操作模式,在向导配置完成后,调用功能块PTOx_MAN,发送无限脉冲,通过RUN位来控制开始和结束。

  Q:这里A和B两种方法,同样都能实现发送无限脉冲,那区别在哪里呢?

  A:您问的很好,区别就在于你需不需要更改发送脉冲的频率。方法A的脉冲频率是向导配置时设定的,无法更改,除非您再从新配置向导。方法B的脉冲频率,可以在发送脉冲的过程中,进行实时更改。

  2. PLS指令编程:

  常用到高速脉冲输出的客户了解,在PTO手动编程时,你需要先去定义PTO/PWM寄存器。不论您要实现多段或单段进行脉冲输出操作,都需要定义所要发送的脉冲个数。那么如何实现发送无限脉冲呢?有的客户就会问:在脉冲个数SMD72里的计数值是有范围的啊?

  若在这个问题上,您可以使用下面的方法:

  A. 使能更新脉冲计数值,同时将脉冲个数设置为:-1

  B. 禁用更新脉冲计数值,同时将脉冲个数设置为:0

  这两种方法没有本质区别,如果您想更改PTO脉冲指令的话,需要从新给控制寄存器赋值,这里主要需要再从新触发PLS指令。

  3.使用MAP运动控制库函数时,首先需要注意的是,一些输入输出点的功能被预先定义好了。

  应用MAP库时,选择速度控制功能块,可以让轴按照指定的方向和频率运动,即也能够实现按照某个频率发送脉冲。但这个功能块只能通过Stop Block功能块来停止轴的运动。



标签:   S7-200无限脉冲的实现问题 S7-200编程