我要发布
仪器网/ 仪器社区/ 调节阀/ 压力调节阀PID控制

压力调节阀PID控制

夕love洋    2010-06-16    调节阀    浏览 266 次

求大侠帮忙做个设计....要求:1,做出两个画面:工艺流程画面、控制画面2,工艺流程画面:做出压力表,下水箱,下水箱液位表,调节阀,大水箱,水泵等器件及相关管路、阀门的工艺图,... 求大侠帮忙做个设计....
要求:
1,做出两个画面:工艺流程画面、控制画面
2,工艺流程画面:做出压力表,下水箱,下水箱液位表,调节阀,大水箱,水泵等器件及相关管路、阀门的工艺图,画面上要有液位,压力的动态数值显示区,年月日时显示、标题文本、系统启动按钮、系统停止按钮、系统运行指示灯
3,控制画面:画面上包括压力给定,反馈和输出实时趋势显示图,PID参数(P\I\D\SP)设置区域、反馈以及输出数值显示区域、手动输出数值显示区域、手动按钮、自动按钮、手/自动状态指示灯、系统启动按钮、系统停止按钮、系统运行指示灯、年月日时显示、标题文本。
4,编制S7-200的梯形图程序
5,绘制S7-200、传感器、电动调节阀的面板接线图

谢谢了,可以发邮箱550410662@qq.com谢了

精彩问答
好师傅邓 发布日期:2010-06-17
刚好前不久搞过PID,部分程序如下,仅供参考

/*==============================================================================
在使用单片机作为控制cpu时,请稍作简化,具体的PID参数必须由具体对象通过实验确定。
由于单片机的处理速度和ram资源的限制,一般不采用浮点数运算,而将所有参数全部用整数,
运算到Z后再除以一个2的N次方数据(相当于移位),作类似定点数运算,可大大提高运算速度,
根据控制精度的不同要求,当精度要求很高时,注意保留移位引起的“余数”,做好余数补偿。
这个程序只是一般常用pid算法的基本架构,没有包含输入输出处理部分。
==============================================================================*/

#include
#include

/*===============================================================================
PID Function
The PID function is used in mainly
control applications. PID Calc performs one iteration of the PID
algorithm.
While the PID function works, main is just a dummy program showing
a typical usage.

PID功能
在PID功能主要用于控制应用。 PID 计算器执行一个PID的迭代算法。虽然PID功能的工程,
主要只是一个虚拟程序显示一个典型的使用。
================================================================================*/
typedef struct PID {
double SetPoint; // 设定目标 Desired Value
double Proportion; // 比例常数 Proportional Const
double Integral; // 积分常数 Integral Const
double Derivative; // 微分常数 Derivative Const
double LastError; // Error[-1]
double PrevError; // Error[-2]
double SumError; // Sums of Errors
} PID;

/*================================ PID计算部分===============================*/
double PIDCalc( PID *pp, double NextPoint )
{
double dError, Error;

Error = pp->SetPoint - NextPoint; // 偏差
pp->SumError += Error; // 积分
dError = pp->LastError - pp->PrevError; // 当前微分
pp->PrevError = pp->LastError;
pp->LastError = Error;
return (pp->Proportion * Error // 比例项
+ pp->Integral * pp->SumError // 积分项
+ pp->Derivative * dError // 微分项
);
}

/*======================= 初始化的PID结构 Initialize PID Structure===========================*/
void PIDInit (PID *pp)
{
memset ( pp,0,sizeof(PID));
}

/*======================= 主程序 Main Program=======================================*/
double sensor (void) // 虚拟传感器功能 Dummy Sensor Function{ return 100.0;}
void actuator(double rDelta) // 虚拟驱动器功能 Dummy Actuator Function{}
void main(void)
{
PID sPID; // PID控制结构 PID Control Structure
double rOut; // PID响应(输出) PID Response (Output)
double rIn; // PID反馈(输入) PID Feedback (Input)
PIDInit ( &sPID ); // 初始化结构 Initialize Structure
sPID.Proportion = 0.5; // 设置PID系数 Set PID Coefficients
sPID.Integral = 0.5;
sPID.Derivative = 0.0;
sPID.SetPoint = 100.0; // 设置PID设定 Set PID Setpoint
for (;;)
{ // 模拟Z多的PID处理 Mock Up of PID Processing
rIn = sensor (); // 读取输入 Read Input
rOut = PIDCalc ( &sPID,rIn ); // 执行的PID迭代 Perform PID Interation
actuator ( rOut ); // 所需的更改的影响 Effect Needed Changes
}
最新主题
相关版块
我要评论
X您尚未登录
账号登录
X您尚未登录
手机动态密码登录
X您尚未登录
扫码登录
官方微信

仪器网微信服务号

扫码获取最新信息


仪器网官方订阅号

扫码获取最新信息

在线客服

咨询客服

在线客服
工作日:  9:00-18:00
联系客服 企业专属客服
电话客服:  400-822-6768
工作日:  9:00-18:00
订阅商机

仪采招微信公众号

采购信息一键获取海量商机轻松掌控