技术论坛

 回复:应用探讨—PID应用探讨深入一

返回主题列表
作者 主题

奇侠

经验值:6044
发帖数:3917
精华帖:20
楼主    2010-09-19 17:16:56
主题:应用探讨—PID应用探讨深入一
在前一阶段,我们讨论了“软件PID功能块的使用”等基础问题,其讨论整理可参见此处
在此交流基础上,我们可以继续进行应用举例的收集和探讨。
如:正作用/反作用,开阀/关阀,单冷/单热/双向调节,张力调节等应用示例。
欢迎大家畅所欲言,提出您在工程项目中所遇到的实际情况,让我们可以共同分享或是寻找更优方案,相互探讨和学习!
此次集中探讨将持续至1月7日,其中有突出表现的网友将获得加倍精华奖励积分;最终所有有效留帖的网友将获得加倍发帖积分;根据交流情况,会酌情赠送小礼品。
交流结束后也将专门整理重要内容,供广大网友分享参考。
预祝大家交流愉快,收获丰富!
Zane
版主

经验值:85161
发帖数:21047
精华帖:399
18楼    2010-09-30 22:36:54
精华帖  主题:回复:应用探讨—PID应用探讨深入一
哈,观察了这些天,大家的讨论都有些不对题啊,今天还是言归正传。

话题1:如何实现PID增量式算法

最近论坛里有讨论增量式PID算法的实现,连接如下
http://www.ad.siemens.com.cn/club/bbs/post.asp?b_id=4&a_id=737326&s_id=0&num=11#anch


位置式PID控制的输出与整个过去的状态有关,用到了误差的累加值;而增量式PID的输出只与当前拍和前两拍的误差有关,因此位置式PID控制的累积误差相对更大

增量式PID控制输出的是控制量增量,并无积分作用,因此该方法适用于执行机构带积分部件的对象,如步进电机等,而位置式PID适用于执行机构不带积分部件的对象,如电液伺服阀

由于增量式PID输出的是控制量增量,如果计算机出现故障,误动作影响较小,而执行机构本身有记忆功能,可仍保持原位,不会严重影响系统的工作,而位置式的输出直接对应对象的输出,因此对系统影响较大。

大家比较熟悉的FB41,FB58都是典型的位置型算法,然而大家有没有注意到FB42,FB59所谓的STEP CONTROLLER?只不过其输出是脉冲式开关量的。

而对于模拟式的执行机构,我们可以用一个递归式A=A+B来实现,其中A为闭环控制最终的累加输出值,而B则为PID的输出值,趋于稳定时,B的值应为0.

管理员注:本帖已被纳入此次探讨发帖整理,请点此详阅
Zane 注册自动化系统工程师 Always save before download
西门子Auto
官方工程师
西门子官方工程师

经验值:2462
发帖数:126
精华帖:16
95楼    2010-12-01 11:08:41
精华帖  主题:回复:应用探讨—PID应用探讨深入一
1. 电加热控温系统
测温(输入)热电阻或热电偶
控温(输出)由固态继电器控制的电热丝

采用FB58,系统用到 1AI +1DO
建议增加1DO用于控制加热电源的接触器,只有在主接触输出才使能PID输出,这样做的好处是,当固态继电器损坏直通时,确保加热电源是断开的



建议采用手册中介绍的S7-300模式(模式2),这个程序结构在S7-300/400中是通用的,同时应用灵活方便,具体参考《1_SIMATIC S7-300400版区软件PID功能块的使用探讨整理》一文

SELECT = 1(OB1) 2(OB35)
COM_RST = 建议采用加热电源的接触器状态控制COM_RST
PVPER_ON = TRUE
PV_PER = PIW256 建议采用热电偶、热电阻模拟量直接输入,采用硬件滤波方式
MAN_ON = FALSE
PID_ON = TRUE
CYCLE = 4s
CYCLE_P = 20ms 建议采用周波的倍数 控制精度0.5% 即OB35的中断周期
PER_TM = CYCLE = 4s
PULSE_ON = TRUE
QPULSE = Q0.0 (PWM输出)
CONZ _ON = TRUE
CON_ZONE = 10.0
LMN_HLM = 100.0
LMN_LLM = 0.0

点击此处查看附件
管理员注:本帖已被纳入此次探讨发帖整理,请点此详阅
西门子Auto
官方工程师
西门子官方工程师

经验值:2462
发帖数:126
精华帖:16
96楼    2010-12-01 11:14:16
精华帖  主题:回复:应用探讨—PID应用探讨深入一
2. 挤出机中一个控温区的双向控温
测温(输入) 热电偶
控温(加热输出) 固态继电器控制的加热管
(冷却输出) 固态继电器控制的冷却水开关阀

采用 FB58 + FB43 系统用到1AI + 2DO




FB58 仍旧推荐使用模式2的应用方式,OB1中调用FB58模式1,OB35中调用FB58模式2及FB43

FB 58参数
SELECT = 1(OB1) 2(OB35)
COM_RST = OB100初始化
PVPER_ON = TRUE
PV_PER = PIW256 建议采用热电偶、热电阻模拟量直接输入,采用硬件滤波方式
MAN_ON = FALSE
PID_ON = TRUE
CYCLE = 4s 采样周期
CYCLE_P = 20ms 建议采用周波的倍数 控制精度0.5% 即OB35的中断周期
PER_TM = CYCLE = 4s
CONZ _ON = TRUE
CON_ZONE = 10.0
LMN_HLM = 100.0
LMN_LLM = -100.0

FB43参数
COM_RST = OB100初始化
MAN_ON = FALSE
STEP3_ON = FALSE
ST2BI_ON = TRUE
INV = TCONT.LMN
CYCLE = 20ms 即OB35中断周期
PER_TM = 4S 即采样周期
RATIOFAC = 1.0 由于加热与制冷的惯性不一样,调节此倍率参数使系统的加热制冷的惯性趋于一致
QPOS_P = Q0.0 加热PWM输出
QNEG_P =Q0.1 制冷PWM输出

点击此处查看附件
管理员注:本帖已被纳入此次探讨发帖整理,请点此详阅
西门子Auto
官方工程师
西门子官方工程师

经验值:2462
发帖数:126
精华帖:16
97楼    2010-12-01 11:18:41
精华帖  主题:回复:应用探讨—PID应用探讨深入一
3. 具有定速牵引的收线装置的控制



由上图可以得知,线材张力由舞蹈轮的自重决定,是恒定的;牵引轮出线速度V1是恒定的;收线轮随着卷径的增大,V2有增大的趋势,舞蹈轮会被提起;当通过闭环控制使舞蹈轮在垂直方向的位置不变时,V1=V2,从而实现恒张力恒线速卷取



这是一个典型的前馈+PID微调的应用,建议采用FB41做微调闭环运算,OB35中直接调用,中断周期 5- 20 ms。不建议采用FB41的DISV做前馈通道,这里的前馈是主通道,而PID是辅助通道,这样程序的灵活性会有所限制。

FB41参数
COM_RST
CYCLE = 10ms
MAN_ON = FALSE 可以利用手动功能暂时禁止PID微调功能
MAN = 0.0
PVPER_ON = TRUE
PV_PER = PIW 256 舞蹈轮电位计 0-10V 反馈,直接输入,采用硬件滤波,滤波作用要尽量小
SP_INT = 50% 取舞蹈轮电位计的中间位置值
LMN_HLM = 100.0
LMN_LLM = -100.0
LMN 系统稳定时,卷径计算合理,LMN的输出应该趋于0

点击此处查看附件
点击此处查看附件
管理员注:本帖已被纳入此次探讨发帖整理,请点此详阅
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。