




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
struct{intpvintegerthatcontainstheprocessvalueintsp;//*integerthatcontainsthesetpoint floatintegralfloatpgain;floatigain;floatintdeadband; intlast_error;struct_pidintprocess_point,floatp_gain,i_gain,d_gain,pid_initDESCRIPTIONThisfunctioninitializesthepointersinthe_pidstructuretotheprocessvariableandthesetpoint.*pvand*spareintegerpointers.voidpid_init(struct_pid*warm,intprocess_point,intset_point){struct_pid*pid;pid=warm;pid->pv=process_point;pid->sp=set_point;}pid_tuneDESCRIPTIONSetstheproportionalgain(p_gain),integralgain(i_gain),ofapidcontrolstructure_pid.voidpid_tune(struct_pid*pid,floatp_gain,floati_gain,floatd_gain,intdead_band){===pid->deadband=dead_band;}pid_setintegDESCRIPTIONSetanewvaluefortheintegraltermofthepidequation.Thisisusefulforsettingtheinitialoutputofthepidcontrolleratstartup.voidpid_setinteg(struct_pid*pid,float{pid->integral=new_integ;pid->last_error=0;}pid_bumplessDESCRIPTIONBumplesstransferWhensuddenlychangingsetpoints,orwhenrestartingthePIDequationafteranextendedpause,controlleroutput.Thisfunctionwillhelpsmoothoutthatbump.Theprocessvaluein*pvshouldbetheupdatedjustbeforethisfunctionisused.voidpid_bumpless(struct_pid{pid->last_errorpid->sp)-(pid->pv);//设定值与反}_pidstructureThisfunctionusesthepositionalformofthepidequation,andincorporatesanintegralwinduppreventionalgorithim.Rectangularintegrationisused,sothisfunctionmustberepeatedonaconsistenttimebasisforaccurateRETURNVALUEThenewoutputvalueforthepidloop.USAGE#include"control.h"floatpid_calc(struct_pidintfloatpterm,dterm,result,err=(pid->sp)-(pid-if(abs(err)>pid-{ferror=(float)err; //dointegertofloatconversiononlyonce数据类型转换pterm=pid->pgain*if(pterm>100||pterm<-{pid->integral=}{pid->integral+=pid->igain*if(pid->integral>100.0){pid->integral=}elseif(pid->integral<0.0)pid->integral=0.0;}result=pterm+pid->integral+}resultpid->integralpid->last_error=return(result);}void{floatdisy_value;intcount=0;pid=//printf("EnterthevaluesofProcesspoint,Setpoint,Pgain,Igain,Dgain\n");//scanf("%d%d%f%f%f",&process_point,&set_point,&p_gain,&i_gain,&d_gain);process_point=set_point=p_gain=(float)(5.2);i_gain=(float)(0.77);d_gain=(float)(0.18);dead_band=2;integral_valIgain,Dgain\n");printf("%6d%6d%4f%4f%4f\n",process_point,set_point,p_gain,i_gain,d_gain);printf("Enterthevalu
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025至2030年中国智能校园OA办公平台行业投资前景及策略咨询报告
- 2025至2030年中国星型卸料装置市场分析及竞争策略研究报告001
- 2025至2030年中国无铅焊条行业投资前景及策略咨询研究报告
- 2025至2030年中国无烟炉头行业发展研究报告
- 缙云旅游线路设计
- 2025至2030年中国数码立体仿真打样系统市场分析及竞争策略研究报告
- 跨文化禁忌语课件
- 连锁门店开发与设计知识点
- 孩子自信心培养的妙招
- 孩子自我激励心理技巧
- 闪烁灯光门铃电路设计
- 物料采购申请单
- 中国骨科大手术静脉血栓栓塞症预防指南
- 幼儿园园务会议制度
- DB41-T 2403-2023 饮用水水源地水质生物毒性发光细菌法在线监测技术规范
- 《档案管理概论》(肖秋惠编著)课后思考题及答案(参考)
- 助产士的语言沟通交
- 篮球创新创业PPT
- 初中英语 Unit5 Beauty in Common Things说课课件
- 游泳池聚脲防水施工方案
- 公司薪资异动表
评论
0/150
提交评论