异常显示添加错误信息轮询显示
This commit is contained in:
commit
bf161904a9
5 files changed
+28
-22
No files matched your search
@@ -70,6 +70,16 @@ namespace DyeingComputer.UserClass
|
|||||||
LOGDB("IOLog", API_LOG);//行插入
|
LOGDB("IOLog", API_LOG);//行插入
|
||||||
API_LOG.Clear();
|
API_LOG.Clear();
|
||||||
}
|
}
|
||||||
|
public static void ERRlog(string WorkOrder, string ERRID, string MESSAGE, string Time)
|
||||||
|
{
|
||||||
|
Dictionary<string, object> API_LOG = new Dictionary<string, object>();//缓存函数
|
||||||
|
API_LOG.Add("NAME", WorkOrder);
|
||||||
|
API_LOG.Add("ERRID", ERRID);
|
||||||
|
API_LOG.Add("MESSAGE", MESSAGE);
|
||||||
|
API_LOG.Add("TIME", Time);
|
||||||
|
LOGDB("ERRLog", API_LOG);//行插入
|
||||||
|
API_LOG.Clear();
|
||||||
|
}
|
||||||
|
|
||||||
public static void LOGDB(string NAME, Dictionary<string, object> dat)//添加信息到队列
|
public static void LOGDB(string NAME, Dictionary<string, object> dat)//添加信息到队列
|
||||||
{
|
{
|
||||||
|
|||||||
+5
-1
@@ -23,6 +23,7 @@ namespace DyeingComputer.UserClass
|
|||||||
if (i == 0)
|
if (i == 0)
|
||||||
{
|
{
|
||||||
dataTable.Rows.Add(ID,dat, DateTime.Now.ToString("yyMMddHHmmss"));
|
dataTable.Rows.Add(ID,dat, DateTime.Now.ToString("yyMMddHHmmss"));
|
||||||
|
APILog.ERRlog(MainWindowViewModel.WorkNumder.ToString(),ID,dat, DateTime.Now.ToString("yy_MM_dd_HH:mm:ss"));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
public static void ERRinf_d(DataTable dataTable, string dat)//删除
|
public static void ERRinf_d(DataTable dataTable, string dat)//删除
|
||||||
@@ -33,9 +34,12 @@ namespace DyeingComputer.UserClass
|
|||||||
dataTable.Rows.Remove(dataTable.Select("ID='" + dat + "'").First());
|
dataTable.Rows.Remove(dataTable.Select("ID='" + dat + "'").First());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static int i=0;
|
||||||
public static string ERRinf_r(DataTable dataTable)//读取
|
public static string ERRinf_r(DataTable dataTable)//读取
|
||||||
{
|
{
|
||||||
string index = dataTable.Rows[0].Field<string>("INF");
|
if (i >= dataTable.Rows.Count) { i = 0; } else { i++; }
|
||||||
|
string index = dataTable.Rows[i].Field<string>("INF");
|
||||||
return index;
|
return index;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -90,7 +90,7 @@
|
|||||||
</DataGrid>
|
</DataGrid>
|
||||||
<Grid Width="600" Margin="0,40,0,0" HorizontalAlignment="Left" >
|
<Grid Width="600" Margin="0,40,0,0" HorizontalAlignment="Left" >
|
||||||
<ScrollViewer VerticalScrollBarVisibility="Auto" PanningMode="VerticalOnly">
|
<ScrollViewer VerticalScrollBarVisibility="Auto" PanningMode="VerticalOnly">
|
||||||
<TextBlock x:Name="log" TextWrapping="Wrap" FontSize="25" Background="White"
|
<TextBlock x:Name="log" FontSize="25" Background="White"
|
||||||
Text="{Binding Sys_log}" />
|
Text="{Binding Sys_log}" />
|
||||||
</ScrollViewer>
|
</ScrollViewer>
|
||||||
<DataGrid x:Name="Receip" IsHitTestVisible="False" Visibility="Collapsed"
|
<DataGrid x:Name="Receip" IsHitTestVisible="False" Visibility="Collapsed"
|
||||||
|
|||||||
@@ -199,7 +199,6 @@ namespace DyeingComputer.View
|
|||||||
Parameter_set.ItemsSource = tblDatas.DefaultView;
|
Parameter_set.ItemsSource = tblDatas.DefaultView;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void Parameter_set_CellEditEnding(object sender, DataGridCellEditEndingEventArgs e)
|
private void Parameter_set_CellEditEnding(object sender, DataGridCellEditEndingEventArgs e)
|
||||||
{
|
{
|
||||||
string VID;
|
string VID;
|
||||||
@@ -247,7 +246,6 @@ namespace DyeingComputer.View
|
|||||||
}
|
}
|
||||||
}//参数设置
|
}//参数设置
|
||||||
|
|
||||||
|
|
||||||
DataTable tblDatas = new DataTable("Datas");
|
DataTable tblDatas = new DataTable("Datas");
|
||||||
public static object workName;
|
public static object workName;
|
||||||
public static SQLiteHelper SQLiteHelpers = null; //定义数据库
|
public static SQLiteHelper SQLiteHelpers = null; //定义数据库
|
||||||
@@ -284,7 +282,6 @@ namespace DyeingComputer.View
|
|||||||
}
|
}
|
||||||
SQLiteHelpers.Close(); //关闭连接
|
SQLiteHelpers.Close(); //关闭连接
|
||||||
}
|
}
|
||||||
|
|
||||||
private void TechnologicalProcess_sql()
|
private void TechnologicalProcess_sql()
|
||||||
{
|
{
|
||||||
SQLiteHelpers = new SQLiteHelper(DBAddress); //数据库连接路径
|
SQLiteHelpers = new SQLiteHelper(DBAddress); //数据库连接路径
|
||||||
@@ -309,7 +306,6 @@ namespace DyeingComputer.View
|
|||||||
// FocusManager.SetFocusedElement(Grid, Grid);
|
// FocusManager.SetFocusedElement(Grid, Grid);
|
||||||
// Grid.DataContext = new MainWindowViewModel();
|
// Grid.DataContext = new MainWindowViewModel();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void UserControl_KeyDown(object sender, KeyEventArgs e) //键盘监控
|
private void UserControl_KeyDown(object sender, KeyEventArgs e) //键盘监控
|
||||||
{
|
{
|
||||||
if (errTabler.Rows.Count == 0)//无错误信息
|
if (errTabler.Rows.Count == 0)//无错误信息
|
||||||
@@ -385,7 +381,6 @@ namespace DyeingComputer.View
|
|||||||
"StepID="+ e.StepID + ";StepName="+ e.StepNAME+";P1="+ e.P1+
|
"StepID="+ e.StepID + ";StepName="+ e.StepNAME+";P1="+ e.P1+
|
||||||
";P2="+ e.P2+";P3="+ e.P3+";P4="+ e.P4+";P5="+ e.P5);
|
";P2="+ e.P2+";P3="+ e.P3+";P4="+ e.P4+";P5="+ e.P5);
|
||||||
User_Button = true;
|
User_Button = true;
|
||||||
|
|
||||||
}
|
}
|
||||||
public static void Dat()//行号刷新
|
public static void Dat()//行号刷新
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -219,8 +219,6 @@ namespace DyeingComputer.ViewModel
|
|||||||
execute:ProgramgroupView_run_ );//开始/暂停事件
|
execute:ProgramgroupView_run_ );//开始/暂停事件
|
||||||
ProgramgroupView_stop = new RelayCommand(
|
ProgramgroupView_stop = new RelayCommand(
|
||||||
execute: ProgramgroupView_stop_);//结束事件
|
execute: ProgramgroupView_stop_);//结束事件
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
DataTable dt_con = new DataTable();
|
DataTable dt_con = new DataTable();
|
||||||
@@ -357,7 +355,6 @@ namespace DyeingComputer.ViewModel
|
|||||||
WORK_RUN = 2;//
|
WORK_RUN = 2;//
|
||||||
SETP_runtime = true;
|
SETP_runtime = true;
|
||||||
APILog.LOGlog(WorkNumder.ToString(), "UserActions", "WORK_RUN = RUN", WORK_RUN.ToString());
|
APILog.LOGlog(WorkNumder.ToString(), "UserActions", "WORK_RUN = RUN", WORK_RUN.ToString());
|
||||||
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@@ -420,6 +417,7 @@ namespace DyeingComputer.ViewModel
|
|||||||
if (errTabler.Rows.Count!=0)
|
if (errTabler.Rows.Count!=0)
|
||||||
{
|
{
|
||||||
Status_Str = ERRinf.ERRinf_r(errTabler);
|
Status_Str = ERRinf.ERRinf_r(errTabler);
|
||||||
|
|
||||||
Alert_red = true;
|
Alert_red = true;
|
||||||
Alert_bell = true;
|
Alert_bell = true;
|
||||||
}
|
}
|
||||||
@@ -445,11 +443,11 @@ namespace DyeingComputer.ViewModel
|
|||||||
if (Selet_dtd("2013")) { ERRinf.ERRinf_w(errTabler, Resources.Fault + ":" + Resources.OtherCircuits, "ERR108"); } //其它电器故障
|
if (Selet_dtd("2013")) { ERRinf.ERRinf_w(errTabler, Resources.Fault + ":" + Resources.OtherCircuits, "ERR108"); } //其它电器故障
|
||||||
else { ERRinf.ERRinf_d(errTabler, "ERR108"); }
|
else { ERRinf.ERRinf_d(errTabler, "ERR108"); }
|
||||||
if (Selet_dtd("2014")) { ERRinf.ERRinf_w(errTabler, Resources.Fault + ":" + Resources.Pump + "-1", "ERR104-1"); } //加料泵
|
if (Selet_dtd("2014")) { ERRinf.ERRinf_w(errTabler, Resources.Fault + ":" + Resources.Pump + "-1", "ERR104-1"); } //加料泵
|
||||||
else { ERRinf.ERRinf_d(errTabler, "ERR100"); }
|
else { ERRinf.ERRinf_d(errTabler, "ERR104-1"); }
|
||||||
if (Selet_dtd("2015")) { ERRinf.ERRinf_w(errTabler, Resources.Fault + ":" + Resources.Pump + "-2", "ERR104-2"); } //加料泵
|
if (Selet_dtd("2015")) { ERRinf.ERRinf_w(errTabler, Resources.Fault + ":" + Resources.Pump + "-2", "ERR104-2"); } //加料泵
|
||||||
else { ERRinf.ERRinf_d(errTabler, "ERR100"); }
|
else { ERRinf.ERRinf_d(errTabler, "ERR104-2"); }
|
||||||
if (Selet_dtd("2016")) { ERRinf.ERRinf_w(errTabler, Resources.Fault + ":" + Resources.Pump + "-3", "ERR104-3"); } //加料泵
|
if (Selet_dtd("2016")) { ERRinf.ERRinf_w(errTabler, Resources.Fault + ":" + Resources.Pump + "-3", "ERR104-3"); } //加料泵
|
||||||
else { ERRinf.ERRinf_d(errTabler, "ERR100"); }
|
else { ERRinf.ERRinf_d(errTabler, "ERR104-3"); }
|
||||||
}
|
}
|
||||||
|
|
||||||
uint TX_t;
|
uint TX_t;
|
||||||
@@ -565,7 +563,6 @@ namespace DyeingComputer.ViewModel
|
|||||||
if (timer5s_ >=10) { timer5s_ = 0; Tick_Event_5S(); }
|
if (timer5s_ >=10) { timer5s_ = 0; Tick_Event_5S(); }
|
||||||
|
|
||||||
if (LINK_OK) IO_data();
|
if (LINK_OK) IO_data();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void Chart()
|
void Chart()
|
||||||
@@ -841,7 +838,7 @@ namespace DyeingComputer.ViewModel
|
|||||||
}
|
}
|
||||||
else if (THL_mode == 1)//升温
|
else if (THL_mode == 1)//升温
|
||||||
{
|
{
|
||||||
if (STEP_P1 > TEMP_co) TEMP_co = TEMP_co + (STEP_P2 / 600);
|
if (STEP_P1 > TEMP_co) TEMP_co = TEMP_co + (STEP_P2 / 60);
|
||||||
TO = pid.PID_iterate(TEMP_co, T, ts);
|
TO = pid.PID_iterate(TEMP_co, T, ts);
|
||||||
if (TO < 0) TO = 0;
|
if (TO < 0) TO = 0;
|
||||||
if ((TEMP_co < T) || (T - TEMP_co > 3)) TO = 0;
|
if ((TEMP_co < T) || (T - TEMP_co > 3)) TO = 0;
|
||||||
@@ -852,24 +849,25 @@ namespace DyeingComputer.ViewModel
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
TIME_M = Convert.ToInt16((STEP_P1 - T) / (STEP_P2 / 10));
|
TIME_M = Convert.ToInt16((STEP_P1 - T) / STEP_P2 );
|
||||||
}
|
}
|
||||||
if (errTabler.Rows.Count == 0)
|
if (errTabler.Rows.Count == 0)
|
||||||
{
|
{
|
||||||
Status_Str = Resources.Heats + ":" + Resources.Target + Resources.Temperature + string.Format(" {0:###.#}", STEP_P1) + "°C";
|
Status_Str = Resources.Heats + ":" + Resources.Target + Resources.Temperature + string.Format(" {0:###.#}", STEP_P1) + "°C";
|
||||||
if ((TEMP_co - T) > 5)
|
if ((TEMP_co - T) > 5)
|
||||||
{
|
{
|
||||||
Status_Str = Status_Str + "[" + Resources.Heats + Resources.LnsufficientPower + "]";
|
ERRinf.ERRinf_w(errTabler, Status_Str + "[" + Resources.Heats + Resources.LnsufficientPower + "]", "201-1");//写入
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
ERRinf.ERRinf_d(errTabler, "201-1");//
|
||||||
Status_Str = Status_Str + Resources.Expected + string.Format(" {0:D2}", TIME_M) + Resources.Min;
|
Status_Str = Status_Str + Resources.Expected + string.Format(" {0:D2}", TIME_M) + Resources.Min;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (THL_mode == 2)//降温
|
else if (THL_mode == 2)//降温
|
||||||
{
|
{
|
||||||
if (STEP_P1 < TEMP_co) TEMP_co = TEMP_co - (STEP_P2 / 600);
|
if (STEP_P1 < TEMP_co) TEMP_co = TEMP_co - (STEP_P2 / 60);
|
||||||
TO = pid.PID_iterate(TEMP_co, T, ts);
|
TO = pid.PID_iterate(TEMP_co, T, ts);
|
||||||
if (TO > 0) TO = 0;
|
if (TO > 0) TO = 0;
|
||||||
TO = Math.Abs(TO);
|
TO = Math.Abs(TO);
|
||||||
@@ -880,17 +878,18 @@ namespace DyeingComputer.ViewModel
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
TIME_M = Convert.ToInt16((T - STEP_P1) / (STEP_P2 / 10));
|
TIME_M = Convert.ToInt16((T - STEP_P1) / STEP_P2 );
|
||||||
}
|
}
|
||||||
if (errTabler.Rows.Count == 0)
|
if (errTabler.Rows.Count == 0)
|
||||||
{
|
{
|
||||||
Status_Str = Resources.Cooling + ":" + Resources.Target + Resources.Temperature + string.Format(" {0:###.#}", STEP_P1) + "°C";
|
Status_Str = Resources.Cooling + ":" + Resources.Target + Resources.Temperature + string.Format(" {0:###.#}", STEP_P1) + "°C";
|
||||||
if ((T - TEMP_co) > 5)
|
if ((T - TEMP_co) > 5)
|
||||||
{
|
{
|
||||||
Status_Str = Status_Str + "[" + Resources.Cooling + Resources.LnsufficientPower + "]";
|
ERRinf.ERRinf_w(errTabler, Status_Str + "[" + Resources.Cooling + Resources.LnsufficientPower + "]", "201-2");//写入
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
ERRinf.ERRinf_d(errTabler, "201-2");//
|
||||||
Status_Str = Status_Str + Resources.Expected + string.Format(" {0:D2}", TIME_M) + Resources.Min;
|
Status_Str = Status_Str + Resources.Expected + string.Format(" {0:D2}", TIME_M) + Resources.Min;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1571,8 +1570,6 @@ namespace DyeingComputer.ViewModel
|
|||||||
}
|
}
|
||||||
else if (WORK_RUN == 1)
|
else if (WORK_RUN == 1)
|
||||||
{
|
{
|
||||||
SETP_runtime = false;
|
|
||||||
STEP_finish = false;
|
|
||||||
Status_Str = Resources.Paused;
|
Status_Str = Resources.Paused;
|
||||||
Updata_dtm("1004", 0);
|
Updata_dtm("1004", 0);
|
||||||
Updata_dtd("3009", false);
|
Updata_dtd("3009", false);
|
||||||
|
|||||||
Reference in new issue
Block a user