You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
321 lines
10 KiB
C#
321 lines
10 KiB
C#
using System;
|
|
using System.Data;
|
|
using System.Linq;
|
|
using Mesnac.Action.Base;
|
|
using Mesnac.Action.ChemicalWeighing.LjElectrical;
|
|
using Mesnac.Action.ChemicalWeighing.LjMaterial;
|
|
using Mesnac.Action.ChemicalWeighing.LjMetage;
|
|
using Mesnac.Action.ChemicalWeighing.LjPressure;
|
|
using Mesnac.Action.ChemicalWeighing.LjProportional;
|
|
using Mesnac.Action.ChemicalWeighing.LjWeight;
|
|
|
|
namespace Mesnac.Action.ChemicalWeighing.OliveEQSetting
|
|
{
|
|
public class InItDbAction: ChemicalWeighingAction, IAction
|
|
{
|
|
|
|
LjElectrical.UpAction UpActionElectrical = new LjElectrical.UpAction();
|
|
LjMetage.UpAction UpActionMetage = new LjMetage.UpAction();
|
|
LjPressure.UpAction UpActionPressure = new LjPressure.UpAction();
|
|
LjProportional.UpAction UpActionProportional = new LjProportional.UpAction();
|
|
LjWeight.UpAction UpActionWeight = new LjWeight.UpAction();
|
|
|
|
public void Run(RuntimeParameter runtime)
|
|
{
|
|
base.RunIni(runtime); //必须调用
|
|
//FillPressureSetting();
|
|
//FillProportionalSetting();
|
|
//FillWeightSetting();
|
|
//FillElectricalSetting();
|
|
//FillMetageSetting();
|
|
InitEvent();
|
|
|
|
UpActionElectrical.Run(runtime);
|
|
UpActionMetage.Run(runtime);
|
|
UpActionPressure.Run(runtime);
|
|
UpActionProportional.Run(runtime);
|
|
UpActionWeight.Run(runtime);
|
|
|
|
|
|
}
|
|
|
|
private void InitEvent()
|
|
{
|
|
LjPressure.UpdateAction.OnUpdate -= null;
|
|
LjPressure.DownAction.OnHandler -= null;
|
|
LjPressure.UpAction.OnHandler -= null;
|
|
|
|
LjPressure.UpdateAction.OnUpdate += delegate
|
|
{
|
|
FillPressureSetting();
|
|
};
|
|
LjPressure.DownAction.OnHandler += delegate
|
|
{
|
|
FillPressureSetting();
|
|
};
|
|
LjPressure.UpAction.OnHandler += delegate
|
|
{
|
|
FillPressureSetting();
|
|
};
|
|
|
|
|
|
LjProportional.UpdateAction.OnUpdate -= null;
|
|
LjProportional.DownAction.OnHandler -= null;
|
|
LjProportional.UpAction.OnHandler -= null;
|
|
|
|
|
|
LjProportional.UpdateAction.OnUpdate+= delegate
|
|
{
|
|
FillProportionalSetting();
|
|
};
|
|
LjProportional.DownAction.OnHandler+= delegate
|
|
{
|
|
FillProportionalSetting();
|
|
};
|
|
LjProportional.UpAction.OnHandler+= delegate
|
|
{
|
|
FillProportionalSetting();
|
|
};
|
|
|
|
LjWeight.UpdateAction.OnUpdate -= null;
|
|
LjWeight.DownAction.OnHandler -= null;
|
|
LjWeight.UpAction.OnHandler -= null;
|
|
|
|
|
|
LjWeight.UpdateAction.OnUpdate += delegate
|
|
{
|
|
FillWeightSetting();
|
|
};
|
|
|
|
LjWeight.DownAction.OnHandler += delegate
|
|
{
|
|
FillWeightSetting();
|
|
};
|
|
LjWeight.UpAction.OnHandler += delegate
|
|
{
|
|
FillWeightSetting();
|
|
};
|
|
|
|
LjElectrical.DownAction.OnHandler -= null;
|
|
LjElectrical.UpAction.OnHandler -= null;
|
|
LjElectrical.UpdateAction.OnUpdate -= null;
|
|
|
|
|
|
LjElectrical.DownAction.OnHandler += delegate
|
|
{
|
|
FillElectricalSetting();
|
|
};
|
|
|
|
LjElectrical.UpAction.OnHandler += delegate
|
|
{
|
|
FillElectricalSetting();
|
|
};
|
|
|
|
LjElectrical.UpdateAction.OnUpdate += delegate
|
|
{
|
|
FillElectricalSetting();
|
|
};
|
|
|
|
|
|
LjMetage.DownAction.OnHandler -= null;
|
|
LjMetage.UpAction.OnHandler -= null;
|
|
LjMetage.UpdateAction.OnUpdate -= null;
|
|
|
|
|
|
LjMetage.DownAction.OnHandler += delegate
|
|
{
|
|
FillMetageSetting();
|
|
};
|
|
|
|
LjMetage.UpAction.OnHandler += delegate
|
|
{
|
|
FillMetageSetting();
|
|
};
|
|
|
|
LjMetage.UpdateAction.OnUpdate += delegate
|
|
{
|
|
FillMetageSetting();
|
|
};
|
|
}
|
|
|
|
|
|
private void FillPressureSetting()
|
|
{
|
|
DbMCControl materialGridControl =
|
|
this.GetDbMCControlByKey(Mesnac.Basic.DataSourceFactory.MCDbType.Local, "pressureSetting")
|
|
.FirstOrDefault(); //获取物料数据控件
|
|
|
|
|
|
|
|
//table.Rows.Clear();
|
|
|
|
var pressureSettingViews = new PressurePLC().UpdateFromPlc();
|
|
|
|
foreach (var v in pressureSettingViews)
|
|
{
|
|
|
|
//if(v.LowLimit>0 || v.HighLimit > 0)
|
|
//{
|
|
// string sql =
|
|
// $"update PressureSetting set LowLimit={v.LowLimit},HighLimit={v.HighLimit} where Id={v.Id}";
|
|
// DBHelp.ExecuteNonQuery(sql);
|
|
//}
|
|
|
|
}
|
|
|
|
DataTable table =
|
|
DBHelp.GetTable(@"select Id,Name,ActualValue,LowLimit,HighLimit,Alarm,
|
|
case Alarm when 1 then '超压' else '正常' end as AlarmValue from pressureSetting;");
|
|
|
|
|
|
|
|
if (materialGridControl != null && materialGridControl.BaseControl != null)
|
|
{
|
|
materialGridControl.BaseControl.BindDataSource = null;
|
|
materialGridControl.BaseControl.BindDataSource = table;
|
|
//DBLog("成功!");
|
|
}
|
|
}
|
|
|
|
private void FillProportionalSetting()
|
|
{
|
|
DbMCControl materialGridControl =
|
|
this.GetDbMCControlByKey(Mesnac.Basic.DataSourceFactory.MCDbType.Local, "ProportionalSetting")
|
|
.FirstOrDefault(); //获取物料数据控件
|
|
|
|
|
|
var views = new ProportionalPlc().UpFromPlc();
|
|
foreach (var v in views)
|
|
{
|
|
//if(v.SV>0 || v.PV > 0)
|
|
//{
|
|
// string sql =
|
|
// $"update ProportionalSetting set SV={v.SV},PV={v.PV} where Id={v.Id}";
|
|
// DBHelp.ExecuteNonQuery(sql);
|
|
//}
|
|
|
|
}
|
|
|
|
|
|
DataTable table =
|
|
DBHelp.GetTable(@"select Id, Name, PV, SV from ProportionalSetting");
|
|
|
|
if (materialGridControl != null && materialGridControl.BaseControl != null)
|
|
{
|
|
materialGridControl.BaseControl.BindDataSource = null;
|
|
materialGridControl.BaseControl.BindDataSource = table;
|
|
//DBLog("成功!");
|
|
}
|
|
}
|
|
|
|
//
|
|
|
|
private void FillWeightSetting()
|
|
{
|
|
DbMCControl materialGridControl =
|
|
this.GetDbMCControlByKey(Mesnac.Basic.DataSourceFactory.MCDbType.Local, "WeightSetting")
|
|
.FirstOrDefault(); //获取物料数据控件
|
|
|
|
|
|
var views = new WeightSettingPlc().UpFromPlc();
|
|
foreach (var v in views)
|
|
{
|
|
//if(v.LowWeight>0 || v.HighWeight > 0)
|
|
//{
|
|
// string sql =
|
|
// $"update WeightSetting set LowWeight={v.LowWeight},HighWeight={v.HighWeight} where Id={v.Id}";
|
|
// DBHelp.ExecuteNonQuery(sql);
|
|
//}
|
|
|
|
}
|
|
|
|
DataTable table =
|
|
DBHelp.GetTable(@"select Id,Name,ActWeight,HighLevel,HighWeight,LowLevel,LowWeight from WeightSetting");
|
|
|
|
if (materialGridControl != null && materialGridControl.BaseControl != null)
|
|
{
|
|
materialGridControl.BaseControl.BindDataSource = null;
|
|
materialGridControl.BaseControl.BindDataSource = table;
|
|
//DBLog("成功!");
|
|
}
|
|
}
|
|
|
|
private void FillElectricalSetting()
|
|
{
|
|
DbMCControl materialGridControl =
|
|
this.GetDbMCControlByKey(Mesnac.Basic.DataSourceFactory.MCDbType.Local, "ElectricalSetting")
|
|
.FirstOrDefault(); //获取物料数据控件
|
|
|
|
|
|
|
|
var view = new ElectricalPlc().UpFromPlc();
|
|
foreach (var v in view)
|
|
{
|
|
//if (v.Speed > 0)
|
|
//{
|
|
// string sql =
|
|
// $"update ElectricalSetting set Speed={v.Speed} where Id={v.Id}";
|
|
// DBHelp.ExecuteNonQuery(sql);
|
|
//}
|
|
|
|
}
|
|
|
|
DataTable table =
|
|
DBHelp.GetTable(@"select Id, Name, Speed from ElectricalSetting");
|
|
|
|
if (materialGridControl != null && materialGridControl.BaseControl != null)
|
|
{
|
|
materialGridControl.BaseControl.BindDataSource = null;
|
|
materialGridControl.BaseControl.BindDataSource = table;
|
|
//DBLog("成功!");
|
|
}
|
|
}
|
|
|
|
private void FillMetageSetting()
|
|
{
|
|
DbMCControl materialGridControl =
|
|
this.GetDbMCControlByKey(Mesnac.Basic.DataSourceFactory.MCDbType.Local, "MetageSetting")
|
|
.FirstOrDefault(); //获取物料数据控件
|
|
|
|
|
|
var view = new MetagePlc().UpFromPlc();
|
|
foreach (var v in view)
|
|
{
|
|
//if(v.HighSpeed > 0 || v.LowSpeed>0 || v.WeightSlow>0 || v.Precut>0 || v.JogTime > 0)
|
|
//{
|
|
// string sql =
|
|
// $"update MetageSetting set HighSpeed={v.HighSpeed},LowSpeed={v.LowSpeed}," +
|
|
// $"WeightSlow={v.WeightSlow},Precut={v.Precut},JogTime={v.JogTime} where Id={v.Id}";
|
|
// DBHelp.ExecuteNonQuery(sql);
|
|
//}
|
|
|
|
}
|
|
|
|
DataTable table =
|
|
DBHelp.GetTable(@"select Id, Name, HighSpeed, LowSpeed, WeightSlow, Precut, JogTime from MetageSetting order by Soc");
|
|
|
|
foreach (DataRow row in table.Rows)
|
|
{
|
|
string name = row["name"].ToString();
|
|
if (name == "大仓G")
|
|
{
|
|
row["name"] = "大仓J";
|
|
}
|
|
else
|
|
{
|
|
if (name == "大仓J")
|
|
{
|
|
row["name"] = "大仓G";
|
|
}
|
|
}
|
|
}
|
|
|
|
if (materialGridControl != null && materialGridControl.BaseControl != null)
|
|
{
|
|
materialGridControl.BaseControl.BindDataSource = null;
|
|
materialGridControl.BaseControl.BindDataSource = table;
|
|
//DBLog("成功!");
|
|
}
|
|
}
|
|
}
|
|
} |