回复:在PID向导中,选择数字量输出,如何确定输出占空比控制的周期?

ysm

  • 帖子

    55
  • 精华

    0
  • 被关注

    3

论坛等级:游士

注册时间:2003-06-06

普通 普通 如何晋级?

发布于 2009-01-12 15:10:18

0楼

下面是鼠老爹的大作:

在S7-200中,PID的输出只是一个0.0-1.0(0-100%)的浮点数,并不是模拟量。正因为此,这个无量纲的浮点数可以变换成任意范围的整数供其它程序使用,这仅仅是普通的线性方程罢了。

基于此,这个无量纲数就是相当于整个周期内的脉冲宽度-占空比。只要将这个无量纲数乘以脉冲周期,获得的就是脉冲宽度的具体数值。

在具体实施中,可以用定时器作为斜波发生器;定时值与脉宽数值比较并控制输出触点,在该触点上就能得到相应的占空比输出。

脉冲周期的选定没有定论,都是根据对象的特性决定的。一般原则是:大容量的缓慢对象周期应长一点,快反应对象周期应短一点。比如对于一个温度变化较慢的水槽(水的热容很大),我常将周期取为10秒;而对于电热烘箱,则取3-5秒为周期,甚至更短。但这又与驱动装置有关,因为有些驱动装置承受不起高频率的开闭。所有这些都取决于系统的构成。

在电子线路中,占空比调节就是由固定周期的斜波+比较器实现的。你可以查阅电子技术方面的书籍,这是很普通的电路。但其原理非常有用。

定时器做斜波发生器是数学意义上的。这也是基于电子电路的原理,只是在PLC中用数学的方式来做。在程序结构上,定义一个单增定时器(常用100毫秒级),预设一个定时值,并有定时器自己的触点复位,就构成了一个斜波发生器。而比较器在PLC中就是一个比较指令,定时器的当前值就是比较指令中的一个输入值。

由于定时器的数值属于整数格式,不能直接与PID的输出值比较,因此,必须将PID的输出值转换成整数(或将定时器值转换成浮点数)。浮点数与整数的转换有相应的指令可用。但是这里又有一个问题,PID的输出值是0.0-1.0,直接转换只能得到0和1。这是因为PID的输出值是一个无量纲准数,而定时器的当前值是以时间为单位的数值,所以两者必须在量纲上予以统一。只要把PID的输出值乘以定时器的定时周期就完成了量纲的统一。然后将这个结果转换成整数,就是比较器的另一个输入值。

用比较器触发一个触点,在这个触点上就得到脉宽调制输出了。
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-200

共有33277条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
X 图片
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。