首页 上一页 1 2 下一页 尾页

怎样用西门子S7 300 PLC的PID控制实现电动阀门开度变化 点击:0 | 回复:29



BB机

    
  • 精华:0帖
  • 求助:0帖
  • 帖子:4帖 | 12回
  • 年度积分:0
  • 历史总积分:11
  • 注册:2003年11月04日
发表于:2010-03-07 18:15:26
楼主

我现在想通过电动阀门的开度变化,来实现阀门两端压力差维持在一个恒定值,请教各位大侠具体应该怎么做?要购买哪些元件?用哪种电动阀门更简单方便?

现有条件是:阀门两端都有压力变送器,采用西门子PLC S7 300,模拟量模块都有了,要不要再购买阀门定位控制器?

在网上查的时候我发现很多定位控制器也就是通过开关量来实现电动阀门的开关,那为什么不能直接用PLC输出来控制呀?

另外,PLC的PID控制怎么做,输出是开关量还是模拟量呢,请专家详细说说,我要还要购买哪些元器件,怎样实施,PLC里面做些什么,这方面我是新手,请多指教!!!




BB机

  • 精华:0帖
  • 求助:0帖
  • 帖子:4帖 | 12回
  • 年度积分:0
  • 历史总积分:11
  • 注册:2003年11月04日
发表于:2010-03-07 18:22:01
1楼

虽然我很想给更高的悬赏分数,不过我是新手呀,没多少积分,请高手帮忙

yjig

  • 精华:2帖
  • 求助:6帖
  • 帖子:121帖 | 5238回
  • 年度积分:0
  • 历史总积分:12514
  • 注册:2004年6月04日
发表于:2010-03-07 18:33:22
2楼

要实现恒压差控制,阀门的开度当然是无级变化的,也就是说可以接受模拟量信号的。

BB机

  • 精华:0帖
  • 求助:0帖
  • 帖子:4帖 | 12回
  • 年度积分:0
  • 历史总积分:11
  • 注册:2003年11月04日
发表于:2010-03-07 18:44:48
3楼

谢谢yjig的回答,但我具体该怎么做呢

yjig

  • 精华:2帖
  • 求助:6帖
  • 帖子:121帖 | 5238回
  • 年度积分:0
  • 历史总积分:12514
  • 注册:2004年6月04日
发表于:2010-03-07 18:52:44
4楼

建议根据阀门可以实现的功能,根据阀门可以接受的信号,来选择PLC及附件。

先上网搜索符合条件的阀门。

其实S7-200就完全可以满足你的需求,S7-300主要用于网络通讯,用来控制一个阀门,有点大材小用。

杜志华

  • 精华:0帖
  • 求助:1帖
  • 帖子:5帖 | 60回
  • 年度积分:0
  • 历史总积分:104
  • 注册:2007年11月23日
发表于:2010-03-07 18:57:53
5楼

BB机

  • 精华:0帖
  • 求助:0帖
  • 帖子:4帖 | 12回
  • 年度积分:0
  • 历史总积分:11
  • 注册:2003年11月04日
发表于:2010-03-07 19:02:29
6楼

我提的这个问题是一个工程中的一个部分,所以,PLC是已经定了的,只是阀门这一块,以前从来没应用过,所以想请大家给出点指导

我在网上查了一些阀门的资料,但是不知道要不要再购买一个定位器

还有PID调节,我也是新手,所以不晓得怎么用

谢谢各位的回复,我期待更仔细的回答

BB机

  • 精华:0帖
  • 求助:0帖
  • 帖子:4帖 | 12回
  • 年度积分:0
  • 历史总积分:11
  • 注册:2003年11月04日
发表于:2010-03-07 19:38:21
7楼

我也在网上看到了关于阀门开度的PID调节方面的论文,但是里面又是P,I,D的原理,又是流量什么的分析,一大堆数学式子把我的头都弄晕了。

而且好象网上一说阀门开度调节,就要提到定位控制器,包括用PLC的,也要加定位控制器,但我看了定位控制器的介绍,好象PLC就能实现它的功能嘛

按照我大致的理解,应该是这样:由压力变送器直接输入模拟量到PLC,它们的差就是PID控制时要采集的数,我要设定的压差与实际压差,决定了PID控制输出一个值,这个值去控制阀门开,当开度使开到实际压差接近设定值时,进行点动,最终刚好一致为止。但是这样的话,那这些值就可以是开关量了,定位器起什么作用呢。这只是我初略的想法,猜的,如果有错,专家莫笑话。

另外,我对PID还没很了解,如果真是我说的那样输出一个开关量的话,怎么实现的呢

有没有实际做过的,告诉我实际该怎么做,千万别又来介绍什么是P,什么是I,什么是D,直接告诉我,PID要设定什么,输出是什么,输出的这个

BB机

  • 精华:0帖
  • 求助:0帖
  • 帖子:4帖 | 12回
  • 年度积分:0
  • 历史总积分:11
  • 注册:2003年11月04日
发表于:2010-03-07 20:42:54
8楼

都沉了,还没高手给出个好答案呀

电霸

  • 精华:0帖
  • 求助:0帖
  • 帖子:3帖 | 25回
  • 年度积分:0
  • 历史总积分:57
  • 注册:2007年5月01日
发表于:2010-03-08 08:15:46
9楼
我也是新手啊。。不过还是想说下愚见。要实现恒压控制可能要用伺服或步进电机电机控制阀门。还要用到闭环控制啊。。我也没试过。。。说错了别笑我哦

1234456

  • 精华:0帖
  • 求助:0帖
  • 帖子:9帖 | 275回
  • 年度积分:0
  • 历史总积分:531
  • 注册:2004年12月12日
发表于:2010-03-08 10:14:53
10楼

硬件条件:

1:1台差压变送器,测目标值。2:300PLC具有二个模拟量输入模块(阀门信号反馈,差压测量4-20MA,一路4-20MA输出,用来控制阀门开度)。3:调节阀门(我用的泰科比较多)

1234456

  • 精华:0帖
  • 求助:0帖
  • 帖子:9帖 | 275回
  • 年度积分:0
  • 历史总积分:531
  • 注册:2004年12月12日
发表于:2010-03-08 10:19:29
11楼

软件设置:

1:差压采集做目标值2:工艺压力要求做设定值。3:调用PID模块,用PI就可以了,不过我基本不用,自己做程序。4:正负作用根据工艺。5:300硬件组态,4-20MA输出

就可以了

gkrs

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 85回
  • 年度积分:0
  • 历史总积分:156
  • 注册:2007年10月26日
发表于:2010-03-08 16:47:11
12楼
有现成的差压调节阀可用。

DINGJIEPING

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 21回
  • 年度积分:0
  • 历史总积分:23
  • 注册:2007年10月21日
发表于:2010-03-08 17:23:52
13楼
不好意思我也没搞过,我可以找为高手处理。

芳季

  • [版主]
  • 精华:6帖
  • 求助:8帖
  • 帖子:130帖 | 5331回
  • 年度积分:0
  • 历史总积分:20053
  • 注册:2003年1月31日
发表于:2010-03-08 21:45:37
14楼

输出用正转反转两点就够了。阀门信号反馈不要也可以的。

好像要除了PID计算目标值外还有用PID计算目标值偏差。

BB机

  • 精华:0帖
  • 求助:0帖
  • 帖子:4帖 | 12回
  • 年度积分:0
  • 历史总积分:11
  • 注册:2003年11月04日
发表于:2010-03-09 00:20:46
15楼

还没人回答呀,那我先回答一半。关于阀门的选取问题,阀门,有好多种分类方法,就电动阀的控制要求来分类,有开关型和调节型两种。所以我提的答案应该选择调节型。所谓调节型,就是由电流信号(4~20mA、0~10mA)或电压信号(0~5V、1~5V)来控制。我提问的时候没弄清楚,就是因为查了好多阀,都是开关型的,也就只有开或关的。另外你一查电动阀几个字,出来的大多是什么控制器,定位器。根据我题中所列的情况,有PLC了,就不用控制器了,由PLC的PID调节直接输出电流或电压来控制。

现在我已经晓得这一半了,先分享给那些对阀门有要求的朋友。如果对电动阀门选型还不不清楚的,请看http://www.easyou.cn/2009/12-26/11110299583.html

剩下的一半就是在S7 300中,怎样使用PID的步骤了,网上也查了很多资料,还是没闹懂,有没有高手就这个问题一步一步地说一下,比如第一步,是建立一个FB41的功能块,然后呢,功能块里要设置什么才会自动建立数据块?抓紧时间答呀,别等我自己都答出来了,你才给答案,我不得给你分哦,哈哈

顺便问一句,管理员,如果是我自己给出了答案,可不可以把自己的答案设为最佳答案呀

BB机

  • 精华:0帖
  • 求助:0帖
  • 帖子:4帖 | 12回
  • 年度积分:0
  • 历史总积分:11
  • 注册:2003年11月04日
发表于:2010-03-09 00:23:39
16楼
哦,不好意思,我从收藏里面直接点出来看的,没看到已经回复了这么多了,123456回答的很好,要是后面没有人回答PID的具体使用的话,我就把分给你了哈

AmigoⅡ

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 54回
  • 年度积分:0
  • 历史总积分:1
  • 注册:2009年11月11日
发表于:2010-03-09 08:52:20
17楼

国产附件:

1 总线连接器 6ES7 972-0BA12-0XA0
2 总线连接器 6ES7 972-0BB12-0XA0
3 总线连接器 6ES7 972-0BA41-0XA0
4 总线连接器 6ES7 972-0BB41-0XA0
5 总线连接器 6ES7 972-0BA50-0XA0
6 总线连接器 6ES7 972-0BB50-0XA0
7 总线连接器 6ES7 972-0BA51-0XA0
8 总线连接器 6ES7 972-0BB51-0XA0
9 前连接器 6ES7 392-1AJ00-0AA0
10 前连接器 6ES7 392-1AM00-0AA0
11 前连接器 6ES7 492-1AL00-0AA0
12 导轨(482mm) 6ES7 390-1AE80-0AA0
13 导轨(530mm) 6ES7 390-1AF30-0AA0
14 导轨(830mm) 6ES7 390 1AJ30 0AA0
15 总线连接器 6GK1 500-0EA02
16 总线连接器 6GK1 500-0FC00
18 总线电缆 6XV1830-0EH10
19 CP5611卡 6GK 1561-1AA00
20 CP5611卡 6GK 1561-1AA01
21 电源(5A) 6ES7 307 1EA00 0AA0
22 电源(10A) 6ES7 307 1KA01 0AA0



联系人:张工
手机:13911896836
QQ:45621672

BB机

  • 精华:0帖
  • 求助:0帖
  • 帖子:4帖 | 12回
  • 年度积分:0
  • 历史总积分:11
  • 注册:2003年11月04日
发表于:2010-03-14 18:50:25
18楼

在123456的帮助下,我弄懂了,关于PID部分,主要是以前没用过标准库里面的功能块,所以在插入FB41时,没有参数

现在清楚了

袁泉

  • 精华:2帖
  • 求助:14帖
  • 帖子:242帖 | 1734回
  • 年度积分:119
  • 历史总积分:3101
  • 注册:2005年4月26日
发表于:2010-03-14 21:50:56
19楼

请BB机,说一下具体怎样做的好吗?

谢谢。包括程序。

BB机

  • 精华:0帖
  • 求助:0帖
  • 帖子:4帖 | 12回
  • 年度积分:0
  • 历史总积分:11
  • 注册:2003年11月04日
发表于:2010-03-24 18:43:50
20楼
回复内容:
对:袁泉 关于

请BB机,说一下具体怎样做的好吗?

谢谢。包括程序。

 

 

S7300 PLC通过OB35调用FB41功能块实现PID控制,步骤为:
建立OB35组织块,插入PID控制功能块FB41(从插入选项中,点击标准库,在里面选PID控制里面的FB41——之前我就是因为没用过标准库,在网上看到插入FB41,我就自己建了一个FB41,结果什么也没有,当然没有参数设置了。——插入时,会要求你填写一个DB块的名称,我输入DB20,然后系统会自动给出一个梯形图的块,同时产生一个DB20数据块,里面的参数具体的含义,我这里把用到的给注释了一下,还有很多没用到的参数,你如果要弄清楚的话,网上有很多,就不说了哈)

对其参数进行设置。大多数参数采用系统默认值,配置程序如下: (前面几句赋值,是我把它转化为语句表时,它自动生成的,你自己试一下就晓得了)
A M 300.0
= L 20.0
BLD 103
A M 300.1
= L 20.1
BLD 103

CALL "CONT_C" , DB20
COM_RST :=L20.0 //重新启动PID,在OB100中对M300.0置位
MAN_ON :=L20.1 //手动与自动切换,当MD300.1为1时是手动
PVPER_ON:= //默认为0,设为1时表示反馈量不经规格化处理直接采用
P_SEL := //比例选择,默认为on,表示选择P有效
I_SEL := //积分选择,默认为on,表示选择I有效
D_SEL := //微分选择,默认为off,表示选择P无效
CYCLE :=T#200MS //PID采样周期
SP_INT :=MD306 //设定压差,通过触摸屏设置
PV_IN :=MD310 //反馈值,经PLC程序规格化后给MD310
PV_PER := //未经规格化的反馈值
MAN :=MD320 //手动状态下的输入值,由触摸屏输入
GAIN :=MD324 //比例增益,由触摸屏输入
TI :=MD328 //积分时间,由触摸屏输入
DEADB_W :=MD340 //死区宽度,默认值为0,调整时由触摸屏输入
LMN :=MD350 //PID输出
…… //其它参数均采用系统默认
NOP 0
由于反馈值和输出值都是0-100%之间的实数,所以要将其规格化:输入时,变量*100/27648,赋值给PV-IN和SP-INT,输出时,LMN*27648/100,取整。

你自己试了就清楚了。


内容的回复:关于阀门的选取,就不说了,前面已经说的比较详细,这里我把程序中要做的事写出来,与大家分享:

相关主题

官方公众号

智造工程师
首页 上一页 1 2 下一页 尾页