请帮忙看看,用的是222+em235,模拟量输入4~20ma,输入电流稳定,拨码设的是SW1、sw6,看程序监控输入量值一直在26000左右乱跳,去掉输入量也在跳,程序如下:
Network 1 // 通道故障报警
LDW>= AIW0, 32767
OW< AIW0, 0
= V10.0
Network 2 // 模块输入转换[INT-DINT]
LDN V10.0
LPS
AW>= AIW0, 6400
MOVW AIW0, AC0
AENO
ITD AC0, VD200
LPP
AW< AIW0, 6400
MOVW 6400, AC0
AENO
ITD AC0, VD200
Network 3 // 模拟量值转换
LDN V10.0
MOVD VD200, AC0
-D +6400, AC0
*D 1400, AC0
/D 25600, AC0
Network 4 // 非故障时输出运算值
LDN V10.0
DTI AC0, VW100
Network 5 // 故障时输出故障值
LD V10.0
MOVW 32767, VW100
最佳答案
以下几个问题点,需要你自己修改一下:
1,拨码设的是SW1、sw6,单极性,4~20MA的输入组态DIP是正确的。
2,输入信号是否用了屏蔽线,屏蔽线一定要接地。
3,程序方面:
Network 2 // 模块输入转换[INT-DINT]
Network 3 // 模拟量值转换
Network 4 // 非故障时输出运算值
都有问题,主要是你网络3的模拟量转换程序编写有误。
参考资料:
<S7-200 可编程控制器系统手册>下载:
http://www2.ad.siemens.com.cn/download/Upload/AS/manual/1017[2].pdf
参考资料:西门子200中怎么把实数VD转化为整数VW?
http://www.ad.siemens.com.cn/service/answer/solution.asp?Q_id=68492_1028.html
4 模拟量编程:
举个例子:
压力变送器(-0.1MPa~0.15MPa)的输出信号为DC4~20mA,模拟量输入模块将0~20mA转换为0~32000的数字量,设转换后的数字为N,
(1)求以MPa为单位的压力值。(2)求气压值=-0.05MPa时对应的数字量N。
模拟量的输入/输出都可以用下列的通用换算公式换算:
Ov = [(Osh - Osl)*(Iv - Isl)/(Ish - Isl)] + Osl
其中:
Ov: 换算结果
Iv: 换算对象
Osh: 换算结果的高限
Osl: 换算结果的低限
Ish: 换算对象的高限
Isl: 换算对象的低限
Ov: 换算结果
这个公式以及模拟量比例换算库可以到《西门子 S7-200•LOGO!•SITOP 参考》V0.93版里面下载,
具体的在目录----S7-200PLC----编程软件STEP7-Micro/Win----Micro/Win指令库----Micro/Win附加指令库----Scaling量程换算库
到下载中心 http://www.ad.siemens.com.cn/download/
文档编号:A0136
文档类型:应用文档
文档中文标题:《西门子 S7-200•LOGO!•SITOP 参考》V0.93版
日期:2009/1/8
大小:5.68MB
(1)求以MPa为单位的压力值
Ov: 换算结果
Iv: 换算对象 (aiw0)
Osh: 换算结果的高限 (0.15)
Osl: 换算结果的低限 (-0.1)
Ish: 换算对象的高限 (32000)
Isl: 换算对象的低限 (6400)
[(0.15 +0.1)*(aiw0 - 6400)/25600] -0.1--------[(0.25aiw0-1600)/25600] -0.1
LD SM0.0
ITD AIW0, AC0
DTR AC0, AC0
*R 0.25, AC0
-R 1600.0, AC0
/R 25600.0, AC0
MOVR AC0, VD0
-R 0.1, VD0 //VD0就是压力变送器的实际压力值
(2)求气压值=-0.05MPa时对应的数字量N。
Iv: 换算对象 (-0.05)
Osh: 换算结果的高限 (32000)
Osl: 换算结果的低限 (6400)
Ish: 换算对象的高限 (0.15)
Isl: 换算对象的低限 (-0.1)
[(32000-6400)*(-0.05+0.1)/(0.15+0.1)] +6400=11520
s7 200SIEMENS提供一个库Scale下载
下载地址与用法:
http://support.automation.siemens.com/CN/llisapi.dll?func=cslib.csinfo&objId=27043396&objAction=csOpen&lang=zh&siteid=cseus&aktprim=0&extranet=standard&viewreg=CN
模拟量的输入/输出都可以用下列的通用换算公式换算:
Ov = [(Osh - Osl)*(Iv - Isl)/(Ish - Isl)] + Osl
其中: Ov: 换算结果
Iv: 换算对象 = Analog Input Value = 18000
Osh: 换算结果的高限 = 100
Osl: 换算结果的低限 = -50
Ish: 换算对象的高限 = 32000
Isl: 换算对象的低限 = 6400
对4-20mA电流(-50-100度)温度变送器:
Ov = [(100-(-50))*(18000-6400)/(32000.0-6400.0)] + (-50)
= 17.96875度
一个简单的自动压力调节变频的小程序
网络1 :这是一个压力变送器控制变频的程序,此段程序为显示压力值
LD SM0.0
MOVW AIW0, MW2
AENO
-I +6400, MW2
AENO
ITD MW2, MD6
AENO
DTR MD6, MD10
AENO
MOVR MD10, MD14
/R 25600.0, MD14
网络2 :
LD SM0.0
CALL PID0_INIT:SBR1, AIW0, 50.0, AQW0
模拟量在线跟我学,官方网站视频教学:
http://www.ad.siemens.com.cn/service/elearning/cn/CourseV2.aspx?CourseID=103&subCourseID=866
PID调节的详细说明
http://wenku.baidu.com/view/a4ce9300b52acfc789ebc90c.html
还可以参考:
http://v.youku.com/v_show/id_XMTE5NzI4NzA4.html
http://www.ad.siemens.com.cn/products/as/s7_200/elearning/D2-1-stu.asp
http://www.ad.siemens.com.cn/products/as/s7_200/elearning/D2-2-stu.asp
S7-200 PLC有自整定功能,请您参考下列链接对应的文档:
http://www2.ad.siemens.com.cn/Download/Upload/AS/application/A0136.chm
[精] 主题:分享:西门子S7-200系列PLC的PID功能块的应用经验
http://www.ad.siemens.com.cn/club/bbs/post.asp?b_id=3&a_id=330134
《西门子S7-200编程案例--PID程序》下载连接:
http://www.gkzhan.com/st777/Info_2701.html
<S7-200PID调试常见问题问答>连接:
http://hi.baidu.com/zhoujingyun/blog/item/d67228176e2f3f4020a4e9c6.html
引用:
PID的调整关键在实践和经验。和多次的调整。你可把他分为粗调和微调。 可按以下调整原则调整:
任何闭环控制系统的首要任务是要稳(稳定)、快(快速)、准(准确)的响应命令。PID调整的主要工作就是如何实现这一任务。PID调整方法。
增大比例系数P将加快系统的响应,它的作用于输出值较快,但不能很好稳定在一个理想的数值,不良的结果是虽较能有效的克服扰动的影响,但有余差出现,过大的比例系数会使系统有比较大的超调,并产生振荡,使稳定性变坏。
积分能在比例的基础上消除余差,它能对稳定后有累积误差的系统进行误差修整,减小稳态误差。
微分具有超前作用,对于具有容量滞后的控制通道,引入微分参与控制,在微分项设置得当的情况下,对于提高系统的动态性能指标,有着显著效果,它可以使系统超调量减小,稳定性增加,动态误差减小。
综上所述,P---比例控制系统的响应快速性,快速作用于输出,好比"现在"(现在就起作用,快),I---积分控制系统的准确性,消除过去的累积误差,好比"过去"(清除过去积怨,回到准确轨道),D---微分控制系统的稳定性,具有超前控制作用,好比"未来"(放眼未来,未雨绸缪,稳定才能发展)。当然这个结论也不可一概而论,只是想让初学者更加快速的理解PID的作用。
在调整的时候,你所要做的任务就是在系统结构允许的情况下,在这三个参数之间权衡调整,达到最佳控制效果,实现稳快准的控制特点。
PID控制器的参数整定是控制系统设计的核心内容。它是根据被控过程的特性确定PID控制器的比例系数、积分时间和微分时间的大小。PID控制器参数整定的方法很多,概括起来有两大类:一是理论计算整定法。它主要是依据系统的数学模型,经过理论计算确定控制器参数。这种方法所得到的计算数据未必可以直接用,还必须通过工程实际进行调整和修改。二是工程整定方法,它主要依赖工程经验,直接在控制系统的试验中进行,且方法简单、易于掌握,在工程实际中被广泛采用。PID控制器参数的工程整定方法,主要有临界比例法、反应曲线法和衰减法。三种方法各有其特点,其共同点都是通过试验,然后按照工程经验公式对控制器参数进行整定。但无论采用哪一种方法所得到的控制器参数,都需要在实际运行中进行最后调整与完善。现在一般采用的是临界比例法。利用该方法进行 PID控制器参数的整定步骤如下:(1)首先预选择一个足够短的采样周期让系统工作﹔(2)仅加入比例控制环节,直到系统对输入的阶跃响应出现临界振荡,记下这时的比例放大系数和临界振荡周期﹔(3)在一定的控制度下通过公式计算得到PID控制器的参数。
PID参数的设定:是靠经验及工艺的熟悉,参考测量值跟踪与设定值曲线,从而调整P\I\D的大小。
比例I/微分D=2,具体值可根据仪表定,再调整比例带P,P过头,到达稳定的时间长,P太短,会震荡,永远也打不到设定要求。
PID控制器参数的工程整定,各种调节系统中P.I.D参数经验数据以下可参照:
温度T: P=20~60%,T=180~600s,D=3-180s
压力P: P=30~70%,T=24~180s,
液位L: P=20~80%,T=60~300s,
流量L: P=40~100%,T=6~60s。
常用口诀:
参数整定找最佳,从小到大顺序查
先是比例后积分,最后再把微分加
曲线振荡很频繁,比例度盘要放大
曲线漂浮绕大湾,比例度盘往小扳
曲线偏离回复慢,积分时间往下降
曲线波动周期长,积分时间再加长
曲线振荡频率快,先把微分降下来
动差大来波动慢。微分时间应加长
理想曲线两个波,前高后低4比1
一看二调多分析,调节质量不会低
可以用MATLAB仿仿,感受一下参数对典型对象动态特性影响
请参考“先进PID控制及其MATLAB仿真”,刘金琨编,电子工业出版社2003年1月版
控制电动阀的开度来达到控制温度是可以的,我个人认为用比例电磁阀替代电动阀完全可以实现PID的控制。因为比例电磁阀有标准的模拟量输入信号和反馈信号而且具有PID调节功能。经过多年的工作经验,我个人认为PID参数的设置的大小,一方面是要根据控制对象的具体情况而定;另一方面是经验。P是解决幅值震荡,P大了会出现幅值震荡的幅度大,但震荡频率小,系统达到稳定时间长;I是解决动作响应的速度快慢的,I大了响应速度慢,反之则快;D是消除静态误差的,一般D设置都比较小,而且对系统影响比较小。对于温度控制系统P在5-10%之间;I在180-240s之间;D在30以下。对于压力控制系统P在30-60%之间;I在30-90s之间;D在30以下。
参考连接:
http://www.ad.siemens.com.cn/service/answer/solution.asp?Q_id=68616_1028.html
提问者对于答案的评价:
真的非常详细,还需多多学习,非常感谢
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc308321.html