add - timeradd

dep_nodyang
wangsr 1 year ago
parent fb1ff146c0
commit ac92eb3529

@ -16,22 +16,60 @@ namespace Mesnac.Action.ChemicalWeighing.ManualControl
List<DbMCControl> McControllist; List<DbMCControl> McControllist;
OperateResult<byte[]> Read; OperateResult<byte[]> Read;
byte[] content; byte[] content;
System.Timers.Timer timer;
bool State1;
bool State2;
byte Byt;
public void Run(RuntimeParameter runtime) public void Run(RuntimeParameter runtime)
{ {
base.RunIni(runtime); //必须要调用的 base.RunIni(runtime); //必须要调用的
//ReadFromPlc();
InitTimer();
timer.Start();
}
private void ReadFromPlc(Object sender, System.Timers.ElapsedEventArgs e)
{
McControllist = GetAllDbMCControlsByOption(DbOptionTypes.InitData);//获取所有待初始化控件 McControllist = GetAllDbMCControlsByOption(DbOptionTypes.InitData);//获取所有待初始化控件
IBaseControl WaterActualValue1 = GetBaseControl("WaterActualValue1"); IBaseControl WaterActualValue1 = GetBaseControl("WaterActualValue1");
IBaseControl WaterActualValue2 = GetBaseControl("WaterActualValue2"); IBaseControl WaterActualValue2 = GetBaseControl("WaterActualValue2");
IBaseControl WaterActualValue3 = GetBaseControl("WaterActualValue3"); IBaseControl WaterActualValue3 = GetBaseControl("WaterActualValue3");
IBaseControl WaterActualValue4 = GetBaseControl("WaterActualValue4"); IBaseControl WaterActualValue4 = GetBaseControl("WaterActualValue4");
IBaseControl WaterMetValue1 = GetBaseControl("WaterMetValue1");
IBaseControl WaterMetValue2 = GetBaseControl("WaterMetValue2");
IBaseControl WaterMetValue3 = GetBaseControl("WaterMetValue3");
IBaseControl WaterMetValue4 = GetBaseControl("WaterMetValue4");
IBaseControl SpiralActValue1 = GetBaseControl("SpiralActValue1"); IBaseControl SpiralActValue1 = GetBaseControl("SpiralActValue1");
IBaseControl SpiralActValue2 = GetBaseControl("SpiralActValue2"); IBaseControl SpiralActValue2 = GetBaseControl("SpiralActValue2");
IBaseControl SpiralActValue3 = GetBaseControl("SpiralActValue3"); IBaseControl SpiralActValue3 = GetBaseControl("SpiralActValue3");
IBaseControl SpiralActValue4 = GetBaseControl("SpiralActValue4"); IBaseControl SpiralActValue4 = GetBaseControl("SpiralActValue4");
IBaseControl MetageState1 = GetBaseControl("MetageState1");
IBaseControl MetageState2 = GetBaseControl("MetageState2");
IBaseControl MetageState3 = GetBaseControl("MetageState3");
IBaseControl MetageState4 = GetBaseControl("MetageState4");
IBaseControl WaterOutState1 = GetBaseControl("WaterOutState1");
IBaseControl WaterOutState2 = GetBaseControl("WaterOutState2");
IBaseControl WaterOutState3 = GetBaseControl("WaterOutState3");
IBaseControl WaterOutState4 = GetBaseControl("WaterOutState4");
IBaseControl SpiralState1 = GetBaseControl("SpiralState1");
IBaseControl SpiralState2 = GetBaseControl("SpiralState2");
IBaseControl SpiralState3 = GetBaseControl("SpiralState3");
IBaseControl SpiralState4 = GetBaseControl("SpiralState4");
Read = PlcConnect.Instance.Read("DB2119.22.0", 2); Read = PlcConnect.Instance.Read("DB2119.22.0", 2);
@ -57,6 +95,34 @@ namespace Mesnac.Action.ChemicalWeighing.ManualControl
WaterActualValue4.MCValue = PlcConnect.Instance.ByteTransform.TransInt16(content, 0); WaterActualValue4.MCValue = PlcConnect.Instance.ByteTransform.TransInt16(content, 0);
Read = PlcConnect.Instance.Read("DB2119.24.0", 2);
content = Read.Content;
WaterMetValue1.MCValue = PlcConnect.Instance.ByteTransform.TransInt16(content, 0);
Read = PlcConnect.Instance.Read("DB2119.4.0", 2);
content = Read.Content;
WaterMetValue2.MCValue = PlcConnect.Instance.ByteTransform.TransInt16(content, 0);
Read = PlcConnect.Instance.Read("DB2119.34.0", 2);
content = Read.Content;
WaterMetValue3.MCValue = PlcConnect.Instance.ByteTransform.TransInt16(content, 0);
Read = PlcConnect.Instance.Read("DB2119.14.0", 2);
content = Read.Content;
WaterMetValue4.MCValue = PlcConnect.Instance.ByteTransform.TransInt16(content, 0);
Read = PlcConnect.Instance.Read("DB2119.42.0", 2); Read = PlcConnect.Instance.Read("DB2119.42.0", 2);
content = Read.Content; content = Read.Content;
@ -75,11 +141,207 @@ namespace Mesnac.Action.ChemicalWeighing.ManualControl
SpiralActValue3.MCValue = PlcConnect.Instance.ByteTransform.TransInt16(content, 0); SpiralActValue3.MCValue = PlcConnect.Instance.ByteTransform.TransInt16(content, 0);
Read = PlcConnect.Instance.Read("DB2119.28.0", 1);
content = Read.Content;
Byt = content[0];
State1 = Byt.GetBit(2);
State2 = Byt.GetBit(6);
if (State1)
{
MetageState1.MCValue = "正在称量";
}
else
{
MetageState1.MCValue = "停止称量";
}
if (State2)
{
WaterOutState1.MCValue = "正在排水";
}
else
{
WaterOutState1.MCValue = "停止排水";
}
Read = PlcConnect.Instance.Read("DB2119.8.0", 1);
content = Read.Content;
Byt = content[0];
State1 = Byt.GetBit(2);
State2 = Byt.GetBit(6);
if (State1)
{
MetageState2.MCValue = "正在称量";
}
else
{
MetageState2.MCValue = "停止称量";
}
if (State2)
{
WaterOutState2.MCValue = "正在排水";
}
else
{
WaterOutState2.MCValue = "停止排水";
}
Read = PlcConnect.Instance.Read("DB2119.38.0", 1);
content = Read.Content;
Byt = content[0];
State1 = Byt.GetBit(2);
State2 = Byt.GetBit(6);
if (State1)
{
MetageState3.MCValue = "正在称量";
}
else
{
MetageState3.MCValue = "停止称量";
}
if (State2)
{
WaterOutState3.MCValue = "正在排水";
}
else
{
WaterOutState3.MCValue = "停止排水";
}
Read = PlcConnect.Instance.Read("DB2119.18.0", 1);
content = Read.Content;
Byt = content[0];
State1 = Byt.GetBit(2);
State2 = Byt.GetBit(6);
if (State1)
{
MetageState4.MCValue = "正在称量";
}
else
{
MetageState4.MCValue = "停止称量";
}
if (State2)
{
WaterOutState4.MCValue = "正在排水";
}
else
{
WaterOutState4.MCValue = "停止排水";
}
Read = PlcConnect.Instance.Read("DB2119.60.0", 1);
content = Read.Content;
Byt = content[0];
State1 = Byt.GetBit(2);
if (State1)
{
SpiralState1.MCValue = "正在螺旋";
}
else
{
SpiralState1.MCValue = "停止螺旋";
}
Read = PlcConnect.Instance.Read("DB2119.82.0", 1);
content = Read.Content;
Byt = content[0];
State1 = Byt.GetBit(2);
if (State1)
{
SpiralState2.MCValue = "正在螺旋";
}
else
{
SpiralState2.MCValue = "停止螺旋";
}
Read = PlcConnect.Instance.Read("DB2119.104.0", 1);
content = Read.Content;
Byt = content[0];
State1 = Byt.GetBit(2);
if (State1)
{
SpiralState3.MCValue = "正在螺旋";
}
else
{
SpiralState3.MCValue = "停止螺旋";
}
//Read = PlcConnect.Instance.Read("DB2119..0", 1);
//content = Read.Content;
//Byt = content[0];
//State1 = Byt.GetBit(2);
//if (State1)
//{
// MetageState4.MCValue = "正在螺旋";
//}
//else
//{
// MetageState4.MCValue = "停止螺旋";
//}
}
private void InitTimer()
{
//设置定时间隔(毫秒为单位)
int interval = 900;
timer = new System.Timers.Timer(interval);
//设置执行一次false还是一直执行(true)
timer.AutoReset = true;
//设置是否执行System.Timers.Timer.Elapsed事件
timer.Enabled = true;
//绑定Elapsed事件
timer.Elapsed += new System.Timers.ElapsedEventHandler(ReadFromPlc);
} }
private IBaseControl GetBaseControl(string name) private IBaseControl GetBaseControl(string name)
{ {
return McControllist.Where(t => t.BaseControl.MCKey != null && t.BaseControl.MCKey == name).FirstOrDefault().BaseControl; return McControllist.Where(t => t.BaseControl.MCKey != null && t.BaseControl.MCKey == name).FirstOrDefault().BaseControl;
} }
} }
} }

@ -48,6 +48,10 @@ namespace Mesnac.Action.ChemicalWeighing.ManualControl
IBaseControl WaterOut2 = GetBaseControl("WaterOut2"); IBaseControl WaterOut2 = GetBaseControl("WaterOut2");
IBaseControl WaterOut3 = GetBaseControl("WaterOut3"); IBaseControl WaterOut3 = GetBaseControl("WaterOut3");
IBaseControl WaterOut4 = GetBaseControl("WaterOut4"); IBaseControl WaterOut4 = GetBaseControl("WaterOut4");
IBaseControl WaterStop1 = GetBaseControl("WaterStop1");
IBaseControl WaterStop2 = GetBaseControl("WaterStop2");
IBaseControl WaterStop3 = GetBaseControl("WaterStop3");
IBaseControl WaterStop4 = GetBaseControl("WaterStop4");
IBaseControl SpiralOn1 = GetBaseControl("SpiralOn1"); IBaseControl SpiralOn1 = GetBaseControl("SpiralOn1");
IBaseControl SpiralOn2 = GetBaseControl("SpiralOn2"); IBaseControl SpiralOn2 = GetBaseControl("SpiralOn2");
IBaseControl SpiralOn3 = GetBaseControl("SpiralOn3"); IBaseControl SpiralOn3 = GetBaseControl("SpiralOn3");
@ -443,6 +447,123 @@ namespace Mesnac.Action.ChemicalWeighing.ManualControl
} }
if (WaterStop1 == runtime.Sender)
{
switch (GelChooseA)
{
case 1:
PlcConnect.Instance.Write("DB2119.26.0", Convert.ToUInt16(1));
PlcConnect.Instance.Write("DB2119.28.5", true);
break;
case 2:
PlcConnect.Instance.Write("DB2119.26.0", Convert.ToUInt16(2));
PlcConnect.Instance.Write("DB2119.28.5", true);
break;
case 3:
PlcConnect.Instance.Write("DB2119.26.0", Convert.ToUInt16(3));
PlcConnect.Instance.Write("DB2119.28.5", true);
break;
case 4:
PlcConnect.Instance.Write("DB2119.26.0", Convert.ToUInt16(4));
PlcConnect.Instance.Write("DB2119.28.5", true);
break;
default:
MessageBox.Show("请选择一个糊化锅!");
return;
}
MessageBox.Show("冷水称A已停止排水");
MesnacServiceManager.Instance.LoggingService.Info("冷水称A停止排水");
}
if (WaterStop2 == runtime.Sender)
{
switch (GelChooseA)
{
case 1:
PlcConnect.Instance.Write("DB2119.6.0", Convert.ToUInt16(1));
PlcConnect.Instance.Write("DB2119.8.5", true);
break;
case 2:
PlcConnect.Instance.Write("DB2119.6.0", Convert.ToUInt16(2));
PlcConnect.Instance.Write("DB2119.8.5", true);
break;
case 3:
PlcConnect.Instance.Write("DB2119.6.0", Convert.ToUInt16(3));
PlcConnect.Instance.Write("DB2119.8.5", true);
break;
case 4:
PlcConnect.Instance.Write("DB2119.6.0", Convert.ToUInt16(4));
PlcConnect.Instance.Write("DB2119.8.5", true);
break;
default:
MessageBox.Show("请选择一个糊化锅!");
return;
}
MessageBox.Show("热水称A已停止排水");
MesnacServiceManager.Instance.LoggingService.Info("热水称A停止排水");
}
if (WaterStop3 == runtime.Sender)
{
switch (GelChooseB)
{
case 5:
PlcConnect.Instance.Write("DB2119.36.0", Convert.ToUInt16(1));
PlcConnect.Instance.Write("DB2119.38.5", true);
break;
case 6:
PlcConnect.Instance.Write("DB2119.36.0", Convert.ToUInt16(2));
PlcConnect.Instance.Write("DB2119.38.5", true);
break;
case 7:
PlcConnect.Instance.Write("DB2119.36.0", Convert.ToUInt16(3));
PlcConnect.Instance.Write("DB2119.38.5", true);
break;
case 8:
PlcConnect.Instance.Write("DB2119.36.0", Convert.ToUInt16(4));
PlcConnect.Instance.Write("DB2119.38.5", true);
break;
default:
MessageBox.Show("请选择一个糊化锅!");
return;
}
MessageBox.Show("冷水称B已停止排水");
MesnacServiceManager.Instance.LoggingService.Info("冷水称B停止排水");
}
if (WaterStop4 == runtime.Sender)
{
switch (GelChooseB)
{
case 5:
PlcConnect.Instance.Write("DB2119.16.0", Convert.ToUInt16(1));
PlcConnect.Instance.Write("DB2119.18.5", true);
break;
case 6:
PlcConnect.Instance.Write("DB2119.16.0", Convert.ToUInt16(2));
PlcConnect.Instance.Write("DB2119.18.5", true);
break;
case 7:
PlcConnect.Instance.Write("DB2119.16.0", Convert.ToUInt16(3));
PlcConnect.Instance.Write("DB2119.18.5", true);
break;
case 8:
PlcConnect.Instance.Write("DB2119.16.0", Convert.ToUInt16(4));
PlcConnect.Instance.Write("DB2119.18.5", true);
break;
default:
MessageBox.Show("请选择一个糊化锅!");
return;
}
MessageBox.Show("热水称B已停止排水");
MesnacServiceManager.Instance.LoggingService.Info("热水称B停止排水");
}
if (SpiralOn1 == runtime.Sender) if (SpiralOn1 == runtime.Sender)
{ {
float valueSet; float valueSet;
@ -701,6 +822,7 @@ namespace Mesnac.Action.ChemicalWeighing.ManualControl
//MessageBox.Show("螺旋4已停止"); //MessageBox.Show("螺旋4已停止");
} }
#endregion #endregion

File diff suppressed because it is too large Load Diff
Loading…
Cancel
Save