s7 200 PID 脉冲宽度调制 点击:1238 | 回复:8



谁的流年谁的殇

    
  • 精华:0帖
  • 求助:9帖
  • 帖子:26帖 | 421回
  • 年度积分:0
  • 历史总积分:1801
  • 注册:2011年4月19日
发表于:2012-08-15 15:20:08
楼主
求助帖10分-已结帖

通过S7 200 PID向导可以生成模拟量和数字量输出,但是不知道脉冲宽度调制是怎么回事。现将本人理解列举如下,请高手帮忙鉴定:

 

生成的PID模块如下:

1 过程变量输入范围0-4000,给定值输入范围0.0-400.0,PID输出范围0-1000。0-1000代表的是脉冲宽度,此脉冲宽度控制的是Q0.0的开度吗?

2 如何使用PLS指令?只知道将VW108数值传送给SMB70,将SMB67设置为16#DA(设置Q0.0的脉冲宽度调制方式),将1000写入SMB68.不知道何时使用PLS指令。

3 使用脉冲宽度调制是为了便于控制开关量的开度吗?如果是的话,开关量如何变化?

一知半解,请高手指点!

现将原程序整理一下:首先利用PID向导建立PID功能块,然后PWM初始化:

 

VW108的数值传送给SMB70VW108代表脉冲宽度),使用PLS指令(Q0.0)修改脉宽

点击查看原图

下面的程序不是很明白:1为什么加热开关关闭的情况下调用PLS指令?2 为什么使用SM0.5的上升沿触发?直接使用SM0.0行不行?

V0.1-加热开关,V120.0加热方式(自动),M11.1加热方式设定

点击查看原图




welfare87

  • 精华:0帖
  • 求助:4帖
  • 帖子:44帖 | 2827回
  • 年度积分:0
  • 历史总积分:25853
  • 注册:2009年2月20日
发表于:2012-08-15 19:26:11
1楼

你配置的这个输出类型为模拟量,PID输出范围0-1000代表输出的上下限

如果输出为数字量,即调节的是单位时间内输出点接通断开的比值,也就是接通断开时间

谁的流年谁的殇

  • 精华:0帖
  • 求助:9帖
  • 帖子:26帖 | 421回
  • 年度积分:0
  • 历史总积分:1801
  • 注册:2011年4月19日
发表于:2012-08-16 10:35:47
2楼

回复内容:
对:welfare87关于你配置的这个输出类型为模拟量,PID输出范围0-1000代表输出的上下限如果输出为数字量,即调节的是单位时间内输出点接通断开的比值,也就是接通断开时间内容的回复:


使用的是脉冲宽度调制,VW108的数值传送给SMB70(VW108代表脉冲宽度),使用PLS指令(Q0.0)修改脉宽,控制的是加热棒的温度 。设定温度VD100=280。

问题一:温度的上升速度是由Q0.0决定的吗?是不是利用Q0.0直接控制加热棒?

问题二:过程变量输入范围不是取决于应用的模拟量输入模块吗?现在使用的是EM231,选择方式是0-20mA,模拟量输入范围不应该是0-32000吗,为什么可以是0-4000?是不是只要在0-32000范围内都可以?

miy_gongkong

  • 精华:0帖
  • 求助:2帖
  • 帖子:23帖 | 3065回
  • 年度积分:0
  • 历史总积分:12421
  • 注册:2008年9月18日
发表于:2012-08-16 10:40:42
3楼

你要把 PID 的输出转换成 PWM 输出,  应该是0~1000,对应的脉冲频率,脉冲频率要计算的,你脉冲输出,驱动的是 伺服电机? 换是步进电机?

 

假设 是伺服电机 ,接受 0~5000脉冲,那么你在程序中做一个转换,0~1000 线性对应0~5000.......

 

 

谁的流年谁的殇

  • 精华:0帖
  • 求助:9帖
  • 帖子:26帖 | 421回
  • 年度积分:0
  • 历史总积分:1801
  • 注册:2011年4月19日
发表于:2012-08-16 10:58:30
4楼

不知道怎么使用PLS指令来控制Q0.0。为什么使用SM0.5的上升沿呢?

谁的流年谁的殇

  • 精华:0帖
  • 求助:9帖
  • 帖子:26帖 | 421回
  • 年度积分:0
  • 历史总积分:1801
  • 注册:2011年4月19日
发表于:2012-08-16 11:06:59
5楼
回复内容:
对:miy_gongkong关于你要把 PID 的输出转换成 PWM 输出,  应该是0~1000,对应的脉冲频率,脉冲频率要计算的,你脉冲输出,驱动的是 伺服电机? 换是步进电机? 假设 是伺服电机 ,接受 0~5000脉冲,那么你在程序中做一个转换,0~1000 线性对应0~5000.......  内容的回复:

控制的是加热温度,是公司以前的项目,使用的可能是加热棒,温度升到280以后就不再往上升了,没有看到相应的转换程序。脉冲输出的话必须得有步进或伺服,是吗?

谁的流年谁的殇

  • 精华:0帖
  • 求助:9帖
  • 帖子:26帖 | 421回
  • 年度积分:0
  • 历史总积分:1801
  • 注册:2011年4月19日
发表于:2012-08-17 11:56:25
6楼
有木有人告诉我?脉冲输出可以直接控制继电器吗?固态继电器行不行?

谁的流年谁的殇

  • 精华:0帖
  • 求助:9帖
  • 帖子:26帖 | 421回
  • 年度积分:0
  • 历史总积分:1801
  • 注册:2011年4月19日
发表于:2012-08-20 09:45:35
7楼

没人回答,结贴。自己找资料去!

zacao0902

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 54回
  • 年度积分:0
  • 历史总积分:2
  • 注册:2015年4月01日
发表于:2016-10-24 16:51:16
8楼

999999999999999999555555555555


热门招聘
相关主题

官方公众号

智造工程师