PID程序的实现
一般而言,使用PLC进行控制的场合是不需要进行PID编程的,目前PLC中都带有PLC的控制模块,只要对有关的参数进行设置就可以很好的工作了,可谓是“傻瓜式”的控制,这也大大降低了对开发者的要求。但在使用工业板卡的场合,遇到需要进行PID控制的工艺时,如果不是采用组态软件进行开发的话,就必须使用高级语言做出PID的控制程序,这里给出一个最简单的PID控制程序,以对大家有所启发,这里使用的是PID的增量控制式。因为程序比较简单,这里不做进一步的解释,需要说明的是,这个程序虽然简单,但却有着使用性,稍作修改就可以用于工业实际,当然,仍然由进一步修改的余地,比如进行防积分饱和运算、加入滤波处理等等。代码如下: Option Explicit Dim EK1 As SINGLE, EK2 As SINGLE
Dim U As SINGLE
Dim Uk As SINGLE, Uk1 As SINGLE, A As SINGLE, B As SINGLE, C As SINGLE(float), Ek As SINGLE
Dim Ti As Integer, Td As Integer, Kp As Integer
Dim SP As SINGLE, PV As SINGLE
Private Sub Timer1_Timer() Ti = Val(Text1) '读取积分时间值 Td = Val(Text2) '读取微分时间值 Kp = Val(Text3) '读取比例值 SP = Val(Text4) '设定值 Text5.Text = Slider1.Value PV = Val(Text5) '模拟的反馈值 If Ti = 0 Then A = Kp * (1 + Td) Else
A = Kp * (1 + 1 / Ti + Td) End If
B = Kp * (1 + 2 * Td)
C = Kp * Td
Ek = SP - PV
Uk = Uk1 + A * Ek - B * EK1 + C * EK2 If Int(Uk) <= 0 Then Uk = 0 '对输出进行调理,实际使用时灵活掌握。 If Int(Uk) > 1000 Then Uk = 1000 Uk1 = Uk
EK2 = EK1
EK1 = Ek
Text6.Text = Uk '输出显示 End Sub
刘良运
- 粉丝: 80
- 资源: 1万+
最新资源
- 一个用于声波场时域仿真的MATLAB工具箱.zip
- 一个用于求解广义二次姿态估计问题和相关不确定性描述的CMATLAB库.zip
- 一种基于MATLAB的编程语言,适合编写高尔夫球代码.zip
- 一些用于图像分割的活动轮廓模型的matlab代码.zip
- 一套支持基于MATLABSimulink的四轴飞行器动态建模与仿真控制系统设计的文档和软件.zip
- 一组MATLAB实用程序的多视图几何提供与Hartley Zissermans多视图几何在计算机视觉第二版2004获得.zip
- 遗传算法免疫算法退火算法粒子群算法鱼群算法蚁群算法和神经网络算法等常用智能算法的MATLAB实现.zip
- 一组用于MatlabOctave的数字林业工具.zip
- 用Astar算法实现飞行路径的三维规划matlab CODE.zip
- 用COMSOLMATLAB脚本计算二维光子晶体的带隙.zip
- 用HPatches数据集计算局部特征描述符的Python Matlab代码.zip
- 用matlab编写了一套用于ASR和说话人识别的语音特征提取函数.zip
- 用MATLAB编写的开放源代码圈速模拟器.zip
- 用MATLAB、Python和Julia语言编写的CHAOS挑战评估代码.zip
- MATLAB代码:基于阶梯碳的含 P2G-CCS 耦合和燃气惨氢的电厂优化调度 关键词:阶梯碳 电厂 燃气掺氢 优化调度 仿真平台: matlab+gurobi+yalmip,90%复现 主要内容:代
- 外转子开关磁阻电机,额定功率3.5KW,额定转速5000rpm,额定电压200V,槽满率63.87%,效率81.15%,额定输出转矩6.6N.m,转矩脉动0.72,包含RMxprt路算并转为Maxwe
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈