Merge branch 'master' of http://www.scserverddns.top:13000/sc/DyeingComputer
This commit is contained in:
commit
c0b3dd9e75
2 files changed
+18
-9
No files matched your search
@@ -19,6 +19,7 @@ namespace DyeingComputer.UserClass
|
|||||||
private static double e1 = 0; // Error one iteration old
|
private static double e1 = 0; // Error one iteration old
|
||||||
private static double e2 = 0; // Error two iterations old
|
private static double e2 = 0; // Error two iterations old
|
||||||
|
|
||||||
|
#region 构造函数
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// PID构造器
|
/// PID构造器
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@@ -38,6 +39,16 @@ namespace DyeingComputer.UserClass
|
|||||||
this.OutputLowerLimit = OutputLowerLimit;
|
this.OutputLowerLimit = OutputLowerLimit;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public PID()
|
||||||
|
{
|
||||||
|
this.Kp = 0.5;
|
||||||
|
this.Ki = 0.1;
|
||||||
|
this.Kd = 0.2;
|
||||||
|
this.N = 1;
|
||||||
|
this.OutputUpperLimit = 65530;
|
||||||
|
this.OutputLowerLimit = 0;
|
||||||
|
}
|
||||||
|
#endregion
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// PID迭代器,在每个采样周期调用此函数以获取当前控制器输出。
|
/// PID迭代器,在每个采样周期调用此函数以获取当前控制器输出。
|
||||||
/// 设定点和过程值应使用相同的单位。
|
/// 设定点和过程值应使用相同的单位。
|
||||||
|
|||||||
@@ -52,23 +52,21 @@ namespace DyeingComputer.ViewModel
|
|||||||
private readonly string DBAddress = Environment.CurrentDirectory + "\\DataBase\\800COMPUTER.db"; //数据库路径
|
private readonly string DBAddress = Environment.CurrentDirectory + "\\DataBase\\800COMPUTER.db"; //数据库路径
|
||||||
private PID PID = null;
|
private PID PID = null;
|
||||||
private IniFile.IniFiles Configini = new IniFile.IniFiles(Convert.ToString(System.AppDomain.CurrentDomain.BaseDirectory) + "DyeingComputer.ini");
|
private IniFile.IniFiles Configini = new IniFile.IniFiles(Convert.ToString(System.AppDomain.CurrentDomain.BaseDirectory) + "DyeingComputer.ini");
|
||||||
|
PID pid = new PID();
|
||||||
|
|
||||||
public MainWindowViewModel()
|
public MainWindowViewModel()
|
||||||
{
|
{
|
||||||
SQLiteHelpers = new SQLiteHelper(DBAddress); //数据库连接路径
|
SQLiteHelpers = new SQLiteHelper(DBAddress); //数据库连接路径
|
||||||
SQLiteHelpers.Open(); //打开数据库
|
SQLiteHelpers.Open(); //打开数据库
|
||||||
double ST01 = Convert.ToDouble( SQLiteHelpers.ExecuteScalar("select value from system where ParameterID = 'ST01'", null)); //读取
|
pid.Kp = Convert.ToDouble( SQLiteHelpers.ExecuteScalar("select value from system where ParameterID = 'ST01'", null)); //读取
|
||||||
double ST02 = Convert.ToDouble( SQLiteHelpers.ExecuteScalar("select value from system where ParameterID = 'ST02'", null));
|
pid.Ki = Convert.ToDouble( SQLiteHelpers.ExecuteScalar("select value from system where ParameterID = 'ST02'", null));
|
||||||
double ST03 = Convert.ToDouble( SQLiteHelpers.ExecuteScalar("select value from system where ParameterID = 'ST03'", null));
|
pid.Kd = Convert.ToDouble( SQLiteHelpers.ExecuteScalar("select value from system where ParameterID = 'ST03'", null));
|
||||||
double ST04 = Convert.ToDouble(SQLiteHelpers.ExecuteScalar("select value from system where ParameterID = 'ST04'", null));
|
pid.N = Convert.ToDouble(SQLiteHelpers.ExecuteScalar("select value from system where ParameterID = 'ST04'", null));
|
||||||
double ST05 = Convert.ToDouble(SQLiteHelpers.ExecuteScalar("select value from system where ParameterID = 'ST05'", null));
|
pid.OutputUpperLimit = Convert.ToDouble(SQLiteHelpers.ExecuteScalar("select value from system where ParameterID = 'ST05'", null));
|
||||||
double ST06 = Convert.ToDouble(SQLiteHelpers.ExecuteScalar("select value from system where ParameterID = 'ST06'", null));
|
pid.OutputLowerLimit = Convert.ToDouble(SQLiteHelpers.ExecuteScalar("select value from system where ParameterID = 'ST06'", null));
|
||||||
SQLiteHelpers.Close();
|
SQLiteHelpers.Close();
|
||||||
|
|
||||||
WorkNumder = "----------";
|
WorkNumder = "----------";
|
||||||
PID pid=new PID(ST01,ST02,ST03,ST04,ST05,ST06);
|
|
||||||
|
|
||||||
CountDown(); //启动循环任务
|
CountDown(); //启动循环任务
|
||||||
SQL_data(); //读数据库
|
SQL_data(); //读数据库
|
||||||
UPort(); //启动串口
|
UPort(); //启动串口
|
||||||
|
|||||||
Reference in new issue
Block a user