谁帮我推导一下三菱plc温度pid控制 PID控制的公式 说明书上是这样写的(如图)

如何使用PLC实现PID控制
介绍实现PID控制的方法。
在工业生产中,常需要用闭环控制方式来实现温度、压力、流量等连续变化的模拟量控制。无论使用模拟控制器的模拟控制系统,还是使用计算机(包括PLC)的数字控制系统,PID控制都得到了广泛的应用。
PID控制器是比例-积分-微分控制的简称,具有
(1) 不需要精确的控制系统数学模型;
(2) 有较强的灵活性和适应性;
(3) 结构典型、程序设计简单,工程上易于实现,参数调整方便等优点。积分控制可以消除系统的静差,微分控制可以改善系统的动态相应速度,比例、积分、微分三者有效地结合可以满足不同的控制要求。
2 PLC实现PID的控制方式
2.1 PID过程控制模块
这种模块的PID控制程序是PLC生产厂家设计的,并存放在模块中,用户使用时序要设置一些参数,使用起来非常方便,一个模块可以控制几路甚至几十路闭环回路。
2.2 PID功能指令
现在很多PLC都有供PID控制用的功能指令,如S7-200的PID指令。它们实际上是用于PID控制的子程序,与模拟量输入/输出模块一起使用,可以得到类似于使用PID过程控制模块的效果。
2.3 用自编的程序实现PID闭环控制
有的PLC没有PID过程控制模块和PID控制用的功能指令,有时虽然可以使用PID控制指令,但是希望采用某种改进的PID控制算法。在上述情况下都需要用户自己编制PID控制程序。
3 PLC-PID控制器的实现
本文以西门子S7-200PLC为例,说明PID控制的原理及PLC的PID功能指令的使用及控制功能的实现。
3.1 PID控制器的数字化
PLC的PID控制器的设计是以连续系统的PID控制规律为基础,将其数字化写成离散形式的PID控制方程,再跟据离散方程进行控制程序设计。
在连续系统中,典型的PID闭环控制系统如图1所示。图1中sp(t)是给定值,pv(t)是反馈量,c(t)是系统的输出量,PID控制的输入输出关系式为:
M(t)&控制器的输出量,M0为输出的初始值;
e(t)=sp(t)-pv(t)-误差信号;
KC比例系数;
TI-积分时间常数;
TD-微分时间常数。&
图1 连续闭环控制系统方框图
式(1)的右边前3项分别是比例、积分、微分部分,它们分别与误差,误差的积分和微分成正比。如果取其中的一项或两项,可以组成P、PD或PI控制器。
假设采样周期为TS,系统开始运行的时刻为t=0,用矩形积分来近似精确积分,用差分近似精确微分,将公式1离散化,第n次采样时控制器的输出为:
en-1-第n-1次采样时的误差值;
KI-积分系数;
KD-微分系数。
基于PLC的闭环控制系统如图2所示。图中的虚线部分在PLC内。其中spn、pvn、en、Mn分别为模拟量在sp(t)、pv(t)、e(t)、M(t)在第n次采样时的数字量。
图2 PLC闭环控制系统方框图
在许多控制系统内,可能只需要P、I、D中的一种或两种控制类型。如可能只要求比例控制或比例与积分控制,通过设置参数可对回路进行控制类型进行选择。
3.2 输入输出变量的转换
PID控制有两个输入量:给定值(sp)和过程变量(pv)。多数工艺要求给定值是固定的值,如加热炉温度的给定值。过程变量是经A/D转换和计算后得到的被控量的实测值,如加热炉温度的测量值。给定值与过程变量都是与被控对象有关的值,对于不同的系统,它们的大小、范围与工程单位有很大的区别。应用PLC的PID指令对这些量进行运算之前,必须将其转换成标准化的浮点数(实数)。
同样,对于PID指令的输出,在将其送给D/A转化器之前,也需进行转换。
3.3 回路输入的转换
转换的第一步是将给定值或A/D转换后得到的整数值由16位整数转换成浮点数,可用下面的程序实现这种转换:
XORD AC0, ACO
//清除累加器
MOVW AIWO, AC0
//将待转化的模拟量存入累加器
LDW>= AC0, 0
//如果模拟量数值为正
//直接转换成实数
ORD 16#FFFF0000, ACO
//将AC0内的数值进行符号扩展,扩展为32位负数
DTR AC0, AC0
//将32位整数转换成实数
转换的下一步是将实数进一步转换成0.0~1.0之间的标准化实数,可用下面的式(3)对给定值及过程变量进行标准化:
RNorm=(RRaw/Span)+Offset (3)
RNorm-标准化实数值;
RRaw-标准化前的值;
Offset-偏移量,对单极性变量为0.0,对双极性变量为0.5;
Span-取值范围,等于变量的最大值减去最小值,单极性变量的典型值为32000,双极性变量的典型值为64000。
下面的程序将上述转换后得到的AC0中的双极性实数(其Span=64000)转换成0.0~1.0之间的实数:
/R 64000.0, AC0
//累加器中的实数标准化
+R 0.5, AC0
//加上偏移值,使其在0.0~1.0之间
MOVR ACO, VD100
//加标准化后的值存入回路表内
3.4 回路输出的转换
回路输出即PID控制器输出,它是标准化的0.0~1.0之间的实数。将回路输出送给D/A转换器之前,必须转换成16位二进制整数。这一过程是将pv与sp转换成标准化数值的逆过程。用下面的公式将回路输出转换成实数:
RScal=(Mn-Offset)&Span (4)
式中,RScal是回路输出对应的实数值,Mn是回路输出标准化的实数值。
下面的程序用来将回路输出转换为对应的实数:
MOVR VD108, AC0
//将回路输出送入累加器
-R 0.5, AC0
//仅双极性数才有此语句
*R 64000.0, AC0
//单极性变量乘以32000.0
用下面的指令将代表回路输出的实数转换成16位整数:
ROUND AC0, AC0
//将实数转换为32位整数
MOVW AC0, AQW0
//将16位整数写入模拟输出(D/A)寄存器
3.5 PID指令及回路表
S7-200的PID指令如图3所示:
图3 PID指令
指令中TBL是回路表的起始地址,LOOP是回路的编号。编译时如果指令指定的回路表起始地址或回路号超出范围,CPU将生成编译错误(范围错误)仪器编译失败。PID指令对回路表中的某些输入值不进行范围检查,应保证过程变量、给定值等不超限。回路表参见附表。
附表 PID指令的回路表
如果PID指令中的算术运算发生错误,特殊存储器SMI.1(溢出或非法数值)被置1,并将终止PID指令的执行。要想消除错误,在下次执行PID运算之前,应改变引起运算错误的输入值,而不是更新输出值。4 PID指令编程举例
某一水箱里的水以变化速度流出,一台变频器驱动的水泵给水箱打水,以保持水箱的水位维持在满水位的75%。过程变量由浮在水面上的水位测量仪提供,PID控制器的输出值作为变频器的速度给定值。过程变量与回路输出均为单极性模拟量,取值范围为0.0~1.0。
本例采用PI控制器,给定值为0.75,选取控制器参数的初始值为:KC=0.25,TS=0.1s,TI=30min。编程如下:
//主程序(OBI)
LD SM0.1 //首次扫描时
CALL 0 //调用初始化子程序
MOVR 0.75, VD104 //装入给定值75%
MOVR 0.25, VD112 //装入回路增益0.25
MOVR 0.10, VD116 //装入采样时间0.1s
MOVR 30.0 VD120 //装入积分时间30min
MOVR 0.0, VD124 //关闭微分作用
MOVB 100, SMB34
//设置定时中断0的时间间隔为100ms
ATCH 0, 10
//设定定时中断以执行PID指令
//允许中断,子程序0结束
//中断程序0
LTD AIW0, AC0
//单极性模拟量经A/D转换后存入累加器
DTR AC0, AC0
//32位整数转换为实数
/R 32000.0, AC0
//标准化累加器中的实数
MOVR AC0, VD100 //存入回路表
//在自动方式下,执行PID指令
PID VB100, 0
//回路表的起始地址为VB100,回路号为0
MOVB VD108, AC0
//PID控制器的输出值送入累加器
*R 32000.0 AC0
//将累加器中的数值标准化
ROUND AC0, AC0
//实数转换为32位整数
DTI AC0, AQW0
//将16位整数写入到模拟量输出(D/A)寄存器
PLC实现PID控制的方法多种,直接应用PID指令来实现基于PLC的PID控制,是一种易于实现且经济实用的方法。
详细介绍 PLC 功能指令。 一、FX系列PLC可编程控制器功能指令概述 1 功能指令的通用表...
详细介绍 PLC 步进指令的应用。 一、小球分类传送系统 图 8.7 为小球分类传送系统示意...
详细介绍 PLC 步进指令状态转移图的主要类型。 一、单流程 图 8.3 为单流程的应用示例...
一、步进指令 ( 1 ) STL :步进开始指令 ( 2 ) RET :步进返回指令 二、步进梯形...
介绍plc步进指令的状态转移图。 状态转移图又叫功能图,它是用状态元件描述工步状态的...
详细介绍PLC的基本逻辑指令, plc 逻辑指令。 一、 逻辑取及输出线圈(LD/LDI/...三菱PLC实现智能PID控制及其应用_图文_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
三菱PLC实现智能PID控制及其应用
上传于||文档简介
&&三​菱​P​L​C​实​现​智​能​P​I​D​控​制​及​其​应​用
阅读已结束,如果下载本文需要使用1下载券
想免费下载本文?
定制HR最喜欢的简历
下载文档到电脑,查找使用更方便
还剩1页未读,继续阅读
定制HR最喜欢的简历
你可能喜欢三菱PLC的模拟量控制_图文_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
三菱PLC的模拟量控制
上传于||文档简介
&&三​菱​P​L​C​的​模​拟​量​控​制
阅读已结束,如果下载本文需要使用0下载券
想免费下载更多文档?
定制HR最喜欢的简历
下载文档到电脑,查找使用更方便
还剩16页未读,继续阅读
定制HR最喜欢的简历
你可能喜欢每日登录:+1西币&+1积分
&下次自动登录
绑定第三方账号登录 & & &
扫描二维码登录支持中心移动端
获取动态密码
| 新手必读 |
You are here:
PLC的PID控制程序
热点活动:
PLC的PID控制程序 - 已解决问题
现在我要对PLC的内部PID压力控制进行控制编程,但是不知道使用哪个程序,以及如何编程,哪位高手能够帮帮我???谢谢!!!
问题补充:我想问的是如何编写PID控制程序的梯形图,这个PID是运算的是压力值,通过PID运算PLC给变频器一个信号来调节变频器的输出频率。就是这个PID运算的梯形图!!!谢谢!!!
产品版区:
悬赏分:5 | 解决时间: 15:53:14 | 提问者: - 新生&nbsp&nbsp第1级
问题ID:74745
PID压力控制进行控制编程例子参考:  一、输入参数:SP_INT(给定值):0--100%的实数。假定模块的输入变量量程为0-10Mpa,则SP_IN的范围0.0-1.00对应0-10Mpa.可以根据这一比例关系来设置给定值。例:如给定5.0MpaSP_INT(给定值)=5.0/(10.0-0.0)*100.0=50.0(50%)PV_IN(过程值,即反馈值):0--100%的实数。此值来自与阀门阀位(开度)的相应的压力反馈值。其范围0.0-1.0对应0-100%.即,当模拟量模板输入为数值为27648时则对应100%(量程的上限),数值为0时则对应0%(量程的下限)。可以根据这一比例关系来换算PV_IN值。例:如输入数值为12000时PV_IN(过程值,即反馈值)=*100.0=43.403(43.403%)输出参数:当通过PID控制器(FB41)运算后,即得出调节值LMN_PER,该值已转化范围为0-27648的整型数值。例如经运算为43.403%,LMN_PER=43.403*,取整后为12000,将LMN_PER送入模拟量输出模板即可.上述调节阀门是&气开&式的,即输入20mA时阀门全开,4mA时全闭(失电全闭)。若调节阀门是&气闭&式的,即输入20mA时阀门全闭,4mA时全开(失电全开),FB41的SP_INT&与&PV_IN的数值互换即可(按制冷调节即可),此时如需输入MAN数值也应作相应处理。、在ob35里面插入FB41,方框顶上会有红字,输入一个类似“DB120”的,系统会问你要不要生成这个Db,yes就可以  二、大部分参数不要填,默认就行,下面是常用参数,用变量连接:    1、MAN_ON:用一个bool量,如m0.0,为true则手动,为false则自动;  2、cycle:T#100MS,这个值与ob35默认的100ms一致;  3、SP_INT:MD2,是hmi发下来的设定值,0-100.0的范围,real型;  4、PV_IN:md6,实际测量值,比如压力,要从piw×××转换为0-100.0的量程;  5、MAN:MD10,op值,也就是手动状态下的阀门输出,real型,0-100.0的范围;  6、GAIN:md14,Pid的P啊,默认写1-2吧(系统默认是2),调试的时候再改  7、TI:MW20,pid的i啊.默认写T#30S吧,调试的时候改;  8、DEAD_W:md22,死区,就是sp和pv的偏差死区,0-100.0的范围,默认0,调试的时候改;  输出:  9、LMN:MD26,0-100。0,最终再用fc106转换为word型move到pqw×××,如果pid运算结果不再有工艺条件其他限制可以用LMN_PER更简单就不用fc106了。
顶级工程师&nbsp&nbsp第12级&
以下网友赞了您的问题:
填写您的评论...
提问者对于答案的评价:嗯嗯。。。不错!!!
这位“左传”朋友,请不要在将他人的答案进行复制、粘贴了。你的答案出自何处,你是最清楚的。在此你的帖子就是拷贝阿鸣以前的答案。你多次引用这个答案,看看:http://www..cn/service/answer/tobe_solution.aspx?Q_ID=75504&cid=1029如果引用要标明出处。这样做非常不好!坛子里可没有过这种现象!注意你多日了,望自重!
11/17/:58 PM
更多相关问题
本版精华问答
等待您来回答
作者/最新回复
最后回复时间
用Step7中SFB41/FB&41、SFB42/FB42、SFB43/FB43实现PID控制
- 中级工程师&nbsp&nbsp第10级
& 19:46:37
首先,你可以直接在周期性中断OB35中调用PID控制块FB41,然后在CYCLE参数中输入采用时间就可以了,当然你也可以在自动生成的背景数据块如DB1,其变量与对应的FB41的变量声明表中的变量一一对应,可以在数据显示方式下修改实际值,即可以“Actual&Value”(实际值)中进行修改参数值,然后,你可以这样来实现,首先把内部PID压力值(如压力传感器输出的信号)由模拟量输入模块转换为数字化的模拟量如PIW3,把其值经过调用规范化功能FC105将传感器的压力标定浮点格式后DB1.DBD10通过送到过程变量输入FB41的参数PV_IN(由FB41的背景数据块直接提供),经过FB41的PID运算,输出参数LMN(浮点格式的PID输出值)提供给背景数据块DB1.DBD72;再通过调用去规范化功能FC106,将PID输出值DB1.DBD72作为FC106的输入参数IN,而上限参数HI_LIM为10、下限参数LO_LIM为0,把PID输出的控制值转换为0&–&10之间的值作为电压信号对变频器进行调速。如对MM440变频器进行无级调速,需要将参数P0756设定为”0”,可以参考下列回答链接调用FB41&无值输出&(大侠看一下)
- 顶级工程师&nbsp&nbsp第12级
& 22:54:02
上一页1下一页&
扫描打开手机版
20秒帮我们优化支持中心!
欢迎您访问支持中心!
丰富的视频,全方位的文档,大量的网友交流精华……
为了更好的完善这些内容,我们诚邀您在浏览结束后,花20秒左右的时间,完成一个用户在线调查!
感谢您的支持!
欢迎您来到找答案
在“找答案”,已有超过7万个被解决的技术问题供您参考!
西门子技术专家亲自把关!常规的,简单的问题,在这里您都可以找到答案!
遇到了问题,就来“找答案”提问。
点击搜索框右侧的提问按钮,只需2步就能成功提交问题!分分钟就有无数大侠前来帮你。
在“找答案”每天都有大量的新问题。
别犹豫,只需要点击问题下方的“我要回答”就能参与。答题不光有积分相送,也会给您积攒大侠人气。
“找答案”定期开展各种有奖活动期待您的参与。
更有机会参加西门子高端用户峰会。领略西门子的博大精深!三菱PLC的PID控制概述
添加时间:
来源: | 阅读量:22
受控对象电路如图10-17所示。系统原理为:通过电压加热电热丝产生温度,温度再通过温度变送器变送为电压,反馈回PLC。加热电热丝时,根据加热时间的长短,可产生不一样的热能,这就需要用到脉冲,输入电压不同就能产生不一样的脉宽。PLC输入的电压越大,脉宽越宽,通电时间长,热能越大,温度越高,输出电压就越高,同时,
&&& 受控对象电路如图10-17所示。系统原理为:通过电压加热电热丝产生温度,温度再通过温度变送器变送为电压,反馈回PLC。加热电热丝时,根据加热时间的长短,可产生不一样的热能,这就需要用到脉冲,输入电压不同就能产生不一样的脉宽。PLC输入的电压越大,脉宽越宽,通电时间长,热能越大,温度越高,输出电压就越高,同时,反馈回PLC的电压也越大。
&&& 图10-17&&& 温度控制受控对象原理图
&&& 本例采用三菱FX系列PLC对温度进行控制,采用PID算法。控制原理框图如图10-18所示,CPU的数据传送到D/A模块,驱动脉宽调制装置,温度传感器的输出电压由ND模块进行变换,传送到CPU进行运算。
&&& 图10-18&&& 三菱PLC的PID控制原理图
&&& PID控制有3个主要的I/O量,分别为:测定值(PV)、设定值(SV)、操作输出值(MV)。PID控制的目的,简单地说,就是要根据SV与PV之间的差值来进行运算,计算出MV,来对被控对象进行控制,以达到符合要求的控制效果。
(责任编辑: 佚名 )
本文关键字:
免责声明:本文章仅代表作者个人观点,与艾特贸易网无关。本站大部分技术资料均为原创文章,文章仅作为读者参考使用,请自行核实相关内容,如若转载请注明来源:
摆动递纸机构在纸张上面,递...
常用低合金工具钢等温淬火工...
(1)在专用设备上回火 回火时...
1.真空输纸带输纸装置 由于...
新闻热点排行

我要回帖

更多关于 三菱plc pid 的文章

 

随机推荐