




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、西门子pid模块的使用经验西门子网站有文档专门说明pid软件模块的使用,可是真正要用起来还是有点混乱,参数太多,不知道取舍了,呵呵。其实用plcsim简单测试下还是可以做到心中有数,到了现场调试不用慌了。一、在ob35里面插入fb41,方框顶上会有红字,输入一个类似“db120”的,系统会问你要不要生成这个db,yes就可以二、大部分参数不要填,默认就行,下面是常用参数,用变量连接:1、man_on:用一个bool量,如m0.0,为true则手动,为false则自动;2、cycle:t#100ms,这个值与ob35默认的100ms一致;3、sp_int:md2,是hmi发下来的设定值,0100
2、.0的范围,real型;4、pv_in:md6,实际测量值,比如压力,要从piw×××转换为0100.0的量程;5、man:md10,op值,也就是手动状态下的阀门输出,real型,0100.0的范围;6、gain:md14,pid的p啊,默认写12吧(系统默认是2),调试的时候再改7、ti:mw20,pid的i啊.默认写t#30s吧,调试的时候改;8、dead_w:md22,死区,就是sp和pv的偏差死区,0100.0的范围,默认0,调试的时候改;输出:9、lmn:md26,0100。0,最终再用fc106转换为word型move到pqw××
3、×,如果pid运算结果不再有工艺条件其他限制可以用lmn_per更简单就不用fc106了。三、用plcsim模拟1、手动man_ontrue,看输出是否等于man;2、自动man_onfalse,调整pv或者sp,使得有偏差大于死区,看输出变化,这里的模拟只能说明pid工作了,不能测试实际调节效果啊。 3、如果需要反作用,有三种方法: a、pv和sp颠倒输入 b、p值用负的 c、输出用100减在 step 7 标准库 (simatic manager: "file > open > libraries > .") "pid contro
4、l blocks" (fbs) 目录 or "system function blocks" (sfbs) 目录中可以这些功能块。 当使用这些功能块时应注意下面几点: fb 41 "cont_c"块应当在循环中断ob (例如. ob35).中调用。 "cycle"参数对应cpu扫描时间,必须将程序块调用的间隔时间赋值该参数 。 缺省状态下为手动模式(man_on=true)。自动回路被中断,在man参数下输出控制值。 为了确保手自动的无扰切换,在手动模式下至少保证两次块调用的输出时间。当cpu 重新启动, 参数 "
5、com_rst" = true将引导块的执行。 参数 "com_rst"中断pid控制器的执行。fb 42 "cont_s"块应当在循环中断ob (例如. ob35).中调用。 "cycle"参数对应cpu扫描时间,必须将程序块调用的间隔时间赋值该参数 。 缺省状态下为手动模式(lman_on=true).。 当cpu 重新启动, 参数 "com_rst" = true将引导块的执行。 参数 "com_rst"中断pid控制器的执行。 参数 "pulse_tm" 和
6、 "break_tm" 被设置为 "cycle" 参数的倍数。fb 43 "pulsegen"块应当在循环中断ob (例如. ob35).中调用。 当cpu 重新启动, 参数 "com_rst" = true将引导块的执行。 "cycle"参数对应cpu扫描时间,必须将程序块调用的间隔时间赋值该参数 。 fb43可以和 fb41结合使用, 但是与 fb42功能不同。 参数"per_tm" 必须从pid控制器(fb41)上设置扫描时间。 fb41的调用时间通过时钟分配器完成 (
7、参考 fb43在线帮助).pid调节的正反作用问题最近调试,有两种类型的调节:一种是阀门本身就是反作用,因此对这种类型,我是把调节器的输出用100扣掉;因为pid手动时,就不必考虑把送到pid调节器的手动值用100扣了,而是在pid调节器的输出统一被100扣掉;如果这里用sp和pv掉个或者改p值为负就不方便了。一种是阀门本身是正作用,我就把sp和pv颠倒一下(其实把p改为负值也可以);这时候,pid手动时,输入多少就实际输出到阀门多少。pid的调整方法:一般不用d,除非一些大功率加热控制等惯大的系统;仅使用pi即可,一般先使i等于0,p从0开始往上加,直到系统出现等幅振荡为止,记下此时振荡的周
8、期,然后设置i为振荡周期的0.48倍,应该就可以满足大多数的需求。我记得网络上有许多调整pid的方法,但不记得那么多了,先试试吧。附录:pid的调整可以通过“开始>simatic->step7->pid调整”打开pid调整的控制面板,通过选择不同的pid背景数据块,调整不同回路的pid参数。程序结构统一 ob1:主程序; ob100:初始化程序(无需主程序调用); ob35:100ms(可修改)中断(无需主程序调用),可以调用pid模块; ob80、ob82、ob85、ob86、ob87、ob121、ob122:故障诊断模块(无需主程序调用、无需编程);fb58 cont_c
9、p 处理温度过程功能的pid控制算法只能使用fb tcont_cp来进行纯粹地加热或纯粹地冷却。如果使用块来冷却,必须为gain分配一个负值。除了在设定值和处理过程值分支处的功能外,fb还实现了完整的pid温度控制器功能,可以输出连续和二进制的操作变量。为了提高温度处理过程的控制响应,程序块包含一个控制区,如果设定值步长变化,则减小p操作。可以使用控制器调节功能,将程序块设置为pi/pid参数本身。 注意:只有定期调用块,才能正确计算控制器功能块的数值。因此,必须定期在循环中断ob (ob30-38)中调用此控制器功能块。在参数cycle中预先定义采样时间。在输入sp_int处以浮点数格式输入
10、设定值,作为实际数值或者百分比数值。表示出错的设定值和过程值单位必须相同。过程值选项(pvper_on) 可以获得外围设备(i/o)格式或浮点数格式的过程值。pvper_on过程值输入true在输入pv_per中,通过模拟量外围设备i/o (piw xxx)读取过程值。false从输入pv_in中获得浮点数格式的过程值。过程值格式转换crp_in (per_mode)按照下列规则,并根据开关per_mode的设置,crp_in功能将外围设备数值pv_per转换成浮点格式: per_modecrp_in输出模拟量输入类型单位0pv_per * 0.1热电偶;pt100/ni100;标准度1pv_
11、per * 0.01pt100/ni100;气温;度2pv_per * 100/27648电压/电流%标准化过程值pv_norm (pf_fac,pv_offs)pv_norm功能根据下面的规则计算crp_in的输出:v_norm的输出?= 揅pr_in的输出?* pv_fac + pv_offs在手动激活控制区域之前,确保控制区域范围不会太窄。如果控制区域范围太窄,则操作变量和过程变量都会发生振荡。控制区域的优点当过程值进入控制区域时,d作用会导致操作变量数值急剧下降。也就是说,只有激活d作用,控制区域才有用。如果没有控制区域,基本上,只要减少p作用,就将减小操作变量数值。如果操作变量的最小
12、输出值或最大输出值都远离新工作点所需操作变量值,那么控制区域导致没有过调节或欠调节的快速下降。手动值处理(man_on、man)可以在手动与自动操作之间切换。在手动模式下,操作变量被修正到手动数值。 将积分作用(int)内部设置为lmn - lmn_p - disv,且将微分作用(dif)设置为0并内部同步。因此,可以平滑的切换到自动模式。注意调节期间,man_on参数不起作用。 操作变量限值lmnlimit(lmn_hlm、lmn_llm)通过lmnlimit功能,可将操作变量的数值限制在lmn_hlm和lmn_llm限制值之间。如果达到了这些限制值,则通过消息位qlmn_hlm和qlmn_
13、llm进行指示。 如果操作变量受限,则停止i作用。如果误差朝着与i作用相反的操作变量范围方向出现,则可以再次激活i作用。在线改变操作变量的限值如果操作变量的范围减小,且其新的不受限数值超出了限值范围,则i作用起作用,从而改变操作变量的数值。操作变量减小的数值与操作变量限值改变的数值相等。如果在改变之前操作变量不受限制,则将其设置为新的限值(此处指操作变量的上限)。操作变量标准化lmn_norm (lmn_fac、lmn_offs)lmn_norm函数根据下面的公式标准化操作变量:lmn = lmnn * lmn_fac + lmn_offs它有下列用途:使用操作变量因子lmn_fac和操作变量
14、偏移量lmn_offs,改写操作变量也可以得到外围设备格式的操作变量数值。crp_out函数根据下面的公式将浮点数lmn转换成外围设备值:lmn_per = lmn * 27648/100地址参数声明数据类型取值范围初始值描述0.0 pv_in input real 取决于使用的传感器0.0 可以在“过程变量输入”输入端设置初始值,或者也可以连接到浮点数格式的外部过程变量上。4.0pv_perinputint0外部过程变量将外围设备i/o格式的过程变量连接到控制器的“外围设备过程变量”输入端6.0disvinputreal0.0干扰变量对于前馈控制,干扰变量被连接到 “干扰变量”输入端。10.
15、0int_hposinputboolfalse保持正方向上的积分作用可以在正方向上阻止积分作用输出。为此,必须将int_hpos输入设置为true。在级联控制中,主控制器的int_hpos与次级控制器的qlmn_hlm互连。10.1int_hneginputboolfalse保持负方向上的积分作用可以在负方向上阻止积分作用输出。为此,必须将int_hneg输入设置为true。在级联控制中,主控制器的int_hneg与次级控制器的qlmn_llm互连。12.0选择inputint0至30选择调用pid和脉冲发生器如果激活脉冲发生器,则有几种方法可以调用pid算法和脉冲发生器:select =0:
16、在快速周期性中断级别中调用控制器,并处理pid算法和脉冲发生器。select =1:在ob1中调用控制器,且只处理pid算法。select =2:在快速周期性中断级别中调用控制器,且仅处理脉冲发生器。?select =3:在慢速周期性中断级别中调用控制器,且仅处理pid算法。14.0pvoutputreal取决于使用的传感器0.0过程变量在“过程变量”输出端输出。18.0lmnoutputreal0.0操作变量在“可调节变量”输出端以浮点格式输出有效的操作变量值。22.0lmn_peroutputint0外围操作变量将外围设备格式的操作变量值连接到控制器的“外围设备操作可调节变量”输出端。24
17、.0qpulseoutputboolfalse输出脉冲信号操作变量的输出值为qpulse输出端调制的输出脉宽。24.1qlmn_hlmoutputboolfalse达到操作变量的上限操作变量的值始终受上限和下限的限制。当超出上限值时,qlmn_hlm输出给予指示。24.2qlmn_llmoutputboolfalse达到操作变量的下限操作变量的值始终受上限和下限的限制。当超出下限值时,qlmn_llm输出给予指示。24.3qc_actoutputbooltrue下一个周期,连续控制器正在工作此参数指示是否会在下一个块调用时执行连续控制器阶段(仅与select数值为0还是为1相关)。26.0cy
18、cleinput/outputreal?0.001s0.1s连续控制器采样时间秒为pid算法设置采样时间。调节器在阶段1计算采样时间,并将其输入到cycle。30.0cycle_pinput/outputreal?0.001秒0.02秒脉冲发生器采样时间秒在此输入端,输入脉冲发生器阶段的采样时间。fb 58“tcont_cp”在阶段1 中计算采样时间,然后将其输入到cycle_p。34.0sp_intinput/outputreal过程值范围0.0“内部设定值”禂输入用于指定一个设定值。38.0maninput/outputreal0.0“手动值”输入端用于指定一个手动值。在自动模式下,将其纠
19、正为操作变量。42.0com_rstinput/outputboolfalse完全重启动该块拥有一个初始化例行程序,在设置com_rst输入时进行处理。42.1man_oninput/outputbooltrue手动操作打开如果“手动操作打开”输入被置位,则中断控制回路。man 手动值被设置为可调节变量的值。44.0deadb_winputreal “死区宽度”输入决定死区大小。48.0i_itlvalinputreal0 -100%0.0 积分作用的初始化值积分作用的输出可以在i_itl_on 输入端上设置。该初始化值用于“积分作用的初始化值”输入。在重启动期间,com_rst = true
20、,并将i作用设置为初始化数值。52.0lmn_hlminputreal> lmn_llm 100.0操作变量上限操作变量的值始终受上限和下限的限制。“可调节变量上限”可指定上限。56.0lmn_llminputreal< lmn_hlm0.0操作变量下限操作变量的值始终受上限和下限的限制。“可调节变量下限”输入可指定下限。60.0pv_facinputreal1.0过程变量因子摴瘫淞恳蜃訑输入用于和撏馕瘫淞繑相乘。它以此来调整过程变量的范围。64.0pv_offsinputreal0.0过程变量偏移量摴瘫淞科屏繑输入用于和撏馕璞腹瘫淞繑相加。它以此来调整过程变量的范围。68.0lm
21、n_facinputreal1.0操作变量因子摬僮鞅淞恳蜃訑输入用于和操作变量相乘。它以此来调整操作变量的范围。72.0lmn_offsinputreal0.0操作变量偏移量摬僮鞅淞科屏繑输入用于和操作变量数值相加它以此来调整操作变量的范围。76.0per_tminputreal?cycle1.0秒周期时间秒在per_tm参数中输入脉宽调制的脉冲重复周期。脉冲重复周期与脉冲发生器采样时间的关系决定了脉宽调制的精度。 80.0p_b_tminputreal?0.00.02秒最小脉冲/断开时间秒可以在撟钚÷龀?断开时间敳问谏柚米钚÷龀寤蜃钚峡奔洹_b_tm在内部受限于 >
22、 cycle_p。84.0tun_dlmninputreal-100.0-100.0%20.0用于过程激励的delta操作变量由于tun_dlmn设定值步长发生变化,导致激活用于控制器调节的过程。88.0per_modeinputint0、1、20外围设备模式可以在此切换处输入i/o模块的类型。输入端pv_per的过程变量随即在pv输出端被标准化为癈。?per_mode = 0:标准?per_mode =1:气温?per_mode =2:电流/电压90.0pvper_oninputboolfalse外部过程变量开启如果希望从i/o中读取过程变量,则必须将输入端pv_per连接到i/o,并且必须
23、设置输入撏馕璞腹瘫淞繑。90.1i_itl_oninputboolfalse积分作用初始化开启可将积分作用的输出设置给输入i_itlval。必须设置撋柚肐作用斒淙搿?90.2pulse_oninputboolfalse脉冲发生器开启如果设置了pulse_on = true,则激活脉冲发生器90.3tun_keepinputboolfalse保持调节打开仅当tun_keep变为false时,模式才切换为自动模式。92.0eroutputreal取决于使用的传感器0.0误差信号有效误差在撐蟛钚藕艛输出端输出。96.0lmn_poutputreal0.0比例部分摫壤糠謹包含了操作变量的比例作用部分。
24、100.0lmn_ioutputreal0.0积分部分摶植糠謹包含了操作变量的积分作用部分。104.0lmn_doutputreal0.0微分部分撐植糠謹包含了操作变量的微分作用部分。108.0phaseoutputint0、1、2、3、4、5、7 0自调节阶段在phase输出端指示当前控制器调节的阶段(0.7)。110.0status_houtputint0自调节的加热状态status_h指示了加热时搜索的拐点诊断数值112.0status_doutputint0自调节时控制器配置状态status_d指示加热时控制器配置的诊断数值。114.0qtun_runoutputbool0激活调节(阶
25、段2)应用调节操作变量,启动调节并仍然位于阶段2 (定位拐点)。116.0pi_conoutputstructpi控制器参数+0.0gainoutputreal%/物理单位0.0pi比例增益+4.0tioutputreal?0.0秒0.0秒pi复位时间秒116.0pid_conoutputstructpid控制器参数+0.0gainoutputreal0.0pid比例增益+4.0tioutputreal?0.0秒0.0秒pid复位时间秒+8.0tdoutputreal?0.0秒0.0秒pid微分时间秒136.0par_saveoutputstruct保存的控制器参数pid参数保存在此结构中。+
26、0.0pfac_spinput/outputreal0.0 - 1.01.0用于改变设定值的比例因子+4.0gainoutputreal%/物理单位0.0比例增益+8.0tiinput/outputreal?0.0秒40.0秒复位时间秒+12.0tdinput/outputreal?0.0秒10.0秒微分时间秒+16.0d_foutputreal5.0 - 10.05.0微分因子+20.0con_zoneoutputreal?0.0100.0控制区域打开+24.0conz_onoutputboolfalse控制区域162.0pfac_spinput/outputreal0.0 - 1.01.0
27、用于改变设定值的比例因子当设定值改变时,pfac_sp指定有效的p作用。可设置0到1之间的值。?1:设定值改变时,p作用起最大效果。?0:设定值改变时,p作用不起任何效果。166.0gaininput/outputreal%/物理单位2.0比例增益摫壤鲆鏀输入用于指定控制器增益。通过设置负gain,可以使控制方向反向。170.0tiinput/outputreal?0.0秒40.0秒复位时间秒摳次皇奔鋽输入(积分时间)确定积分动作响应。174.0tdinput/outputreal?0.0秒10.0秒微分时间秒撐质奔鋽输入确定微分动作响应。178.0d_finput/outputreal5.0
28、 - 10.05.0微分因子微分因子确定d作用的滞后情况。 ?d_f = 微分时间/揇作用滞后时间?182.0con_zoneinput/outputreal取决于使用的传感器100.0控制区域如果误差大于控制区域的宽度,则输出操作变量的上限,作为操作变量的数值。如果误差小于负控制区域的宽度,则输出操作变量的下限,作为操作变量的数值。186.0conz_oninput/outputboolfalse控制区域打开conz_on =true,激活控制区域。186.1tun_oninput/outputboolfalse自调节打开如果设置tun_on=true,则操作变量取平均值,直到通过设定值步长
29、改变或tun_st=true激活操作变量tun_dlmn。 186.2tun_stinput/outputboolfalse启动自调节如果在工作点控制器调节时设定值保持恒定,则通过设置tun_st=true,将操作变量步长改变tun_dlmn大小。186.3undo_parinput/outputboolfalse撤销对控制器参数的更改从数据结构par_save中装载控制器参数pfac_sp、gain、ti、td、d_f conz_on和con_zone (仅限于手动模式)。186.4save_parinput/outputboolfalse保存当前控制器参数在数据结构par_save中保存控
30、制器参数pfac_sp、gain、ti、td、d_f conz_on和con_zone。186.5load_pidinput/outputboolfalse装载优化的pi/pid参数根据数据结构pi_con或pid_con里的pid_on,装载控制器参数gain、ti、td (仅限于手动模式)186.6pid_oninput/outputbooltruepid模式启动在pid_on的输入端,可以指定是否将调节好的控制器作为pi或pid控制器使用。?pid控制器:pid_on = true?pi控制器:pid_on = false对于使用的某些处理类型,即使pid_on = true,也只能设计pi控制器。188.0gain_poutputreal0.0过程比例增益
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年中国污水处理材料项目商业计划书
- 中国芯棒石墨润滑剂项目商业计划书
- 2025年中国纳米硅酸锆项目创业计划书
- 2025年激光比长仪项目合作计划书
- 赤峰市人民医院科室知识产权管理考核
- 2025年起重机械操作证考试冲刺试题试卷详解试卷详解试卷详解及答案
- 2025年低压电工(电工操作证)考试题库及答案
- 2025年城市居民瓶装液化石油气供应合同协议
- 鸡西市中医院文献检索能力考核
- 大同市人民医院时间管理能力考核
- 《系统性红斑狼疮诊疗规范2023》解读
- 食品添加剂:面粉处理剂
- 课件:《中华民族共同体概论》第十五讲:新时代与中华民族共同体建设
- 2024年新人教版七年级上册道德与法治全册教案
- T-CRHA 040.2-2024 神经系统变性疾病生物样本与数据库建设规范 第2部分:人类脑脊液样本采集与处理
- 灭火器充装合同范本
- 西门子S7-1200 PLC编程及应用教程 第3版 课件 侍寿永 第1-3章 基本指令的编程及应用-函数块与组织块的编程及应用
- 人教版九年级单词默写汉译英打印版
- 外耳道炎的认识与治疗
- 物业进场方案
- 物理原理在土木工程中的教学设计方案
评论
0/150
提交评论