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.
lj_plc/Actions/ChemicalWeighing/Mesnac.Action.ChemicalWeighing/Qu/InitAction.cs

258 lines
7.6 KiB
C#

6 months ago
using Mesnac.Action.Base;
using Mesnac.Controls.Default;
using System.Windows.Forms;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using DataBlockHelper.DBHelpers;
namespace Mesnac.Action.ChemicalWeighing.Qu
{
internal class InitAction : ChemicalWeighingAction, IAction
{
MCLabel MCLabelA;
MCLabel MCLabelB;
MCButton BtnA;
MCButton BtnB;
Timer timer;
MCTextBox vibSilo_On;
MCTextBox vibSilo_Off;
MCTextBox vibDaybin_On;
MCTextBox vibDaybin_Off;
MCTextBox vibHopper_On;
MCTextBox vibHopper_Off;
MCTextBox plsSilo_On;
MCTextBox plsSilo_Off;
MCTextBox plsDaybin_On;
MCTextBox plsDaybin_Off;
MCTextBox plsHopper_On;
MCTextBox plsHopper_Off;
MCButton btnUpdate;
MCButton MCButton2147483646;
public void Run(RuntimeParameter runtime)
{
base.RunIni(runtime); //必须调用
var controls = GetAllControls();
MCLabelA = controls.FirstOrDefault(x => x.Name == "MCLabelA") as MCLabel;
MCLabelA.MCValue = "";
MCLabelB = controls.FirstOrDefault(x => x.Name == "MCLabelB") as MCLabel;
MCLabelB.MCValue = "";
BtnA = controls.FirstOrDefault(x => x.Name == "BtnA") as MCButton;
BtnB = controls.FirstOrDefault(x => x.Name == "BtnB") as MCButton;
vibSilo_On= controls.FirstOrDefault(x => x.Name== "vibSilo_On") as MCTextBox;
vibSilo_Off= controls.FirstOrDefault(x => x.Name== "vibSilo_Off") as MCTextBox;
vibDaybin_On = controls.FirstOrDefault(x => x.Name == "vibDaybin_On") as MCTextBox;
vibDaybin_Off = controls.FirstOrDefault(x => x.Name == "vibDaybin_Off") as MCTextBox;
vibHopper_On = controls.FirstOrDefault(x => x.Name == "vibHopper_On") as MCTextBox;
vibHopper_Off = controls.FirstOrDefault(x => x.Name == "vibHopper_Off") as MCTextBox;
plsSilo_On = controls.FirstOrDefault(x => x.Name == "plsSilo_On") as MCTextBox;
plsSilo_Off = controls.FirstOrDefault(x => x.Name == "plsSilo_Off") as MCTextBox;
plsDaybin_On = controls.FirstOrDefault(x => x.Name == "plsDaybin_On") as MCTextBox;
plsDaybin_Off = controls.FirstOrDefault(x => x.Name == "plsDaybin_Off") as MCTextBox;
plsHopper_On = controls.FirstOrDefault(x => x.Name == "plsHopper_On") as MCTextBox;
plsHopper_Off = controls.FirstOrDefault(x => x.Name == "plsHopper_Off") as MCTextBox;
//BtnUpdate
btnUpdate= controls.FirstOrDefault(x => x.Name == "BtnUpdate") as MCButton;
MCButton2147483646 = controls.FirstOrDefault(x => x.Name == "MCButton2147483646") as MCButton;
MCButton2147483646.Click += MCButton2147483646_Click;
MCButton2147483646_Click(new object(),new EventArgs());
BtnA.Click += BtnA_Click;
BtnB.Click += BtnB_Click;
btnUpdate.Click += BtnBc_Click;
timer = new Timer();
timer.Interval = 1000;
timer.Enabled = true;
timer.Tick += new EventHandler(StateRefresh);//添加事件
}
private void MCButton2147483646_Click(object sender, EventArgs e)
{
DB2108HelperNew dB2108 = new DB2108HelperNew();
Time2108 time = dB2108.Time;
if (time != null)
{
vibSilo_On.MCValue = time.VibSiloOn;
vibSilo_Off.MCValue = time.VibSiloOff;
vibDaybin_On.MCValue = time.VibDaybinOn;
vibDaybin_Off.MCValue = time.VibDaybinOff;
vibHopper_On.MCValue = time.VibHopperOn;
vibHopper_Off.MCValue = time.VibHopperOff;
plsSilo_On.MCValue = time.PlsSiloOn;
plsSilo_Off.MCValue = time.PlsSiloOff;
plsDaybin_On.MCValue = time.PlsDaybinOn;
plsDaybin_Off.MCValue = time.PlsDaybinOff;
plsHopper_On.MCValue = time.PlsHopperOn;
plsHopper_Off.MCValue = time.PlsHopperOff;
}
}
private void BtnA_Click(object sender, EventArgs e)
{
DB2110WriteHelper.WriteA();
MessageBox.Show("清理成功");
}
private void BtnB_Click(object sender, EventArgs e)
{
DB2110WriteHelper.WriteB();
MessageBox.Show("清理成功");
}
private void BtnBc_Click(object sender, EventArgs e)
{
var b= Check(vibSilo_On);
if (b == false) return;
b = Check(vibSilo_Off);
if (b == false) return;
b = Check(vibDaybin_On);
if (b == false) return;
b = Check(vibDaybin_Off);
if (b == false) return;
b = Check(vibHopper_On);
if (b == false) return;
b = Check(vibHopper_Off);
if (b == false) return;
b = Check(plsSilo_On);
if (b == false) return;
b = Check(plsSilo_Off);
if (b == false) return;
b = Check(plsDaybin_On);
if (b == false) return;
b = Check(plsDaybin_Off);
if (b == false) return;
b = Check(plsHopper_On);
if (b == false) return;
b = Check(plsHopper_Off);
if (b == false) return;
Time2108 time=new Time2108();
time.VibSiloOn = ushort.Parse(vibSilo_On.MCValue.ToString());
time.VibSiloOff = ushort.Parse(vibSilo_Off.MCValue.ToString());
time.VibDaybinOn = ushort.Parse(vibDaybin_On.MCValue.ToString());
time.VibDaybinOff = ushort.Parse(vibDaybin_Off.MCValue.ToString());
time.VibHopperOn=ushort.Parse(vibHopper_On.MCValue.ToString());
time.VibHopperOff=ushort.Parse(vibHopper_Off.MCValue.ToString());
time.PlsSiloOn=ushort.Parse(plsSilo_On.MCValue.ToString()) ;
time.PlsSiloOff=ushort.Parse(plsSilo_Off.MCValue.ToString() ) ;
time.PlsDaybinOn=ushort.Parse(plsDaybin_On.MCValue.ToString()) ;
time.PlsDaybinOff=ushort.Parse(plsDaybin_Off.MCValue.ToString()) ;
time.PlsHopperOn = ushort.Parse(plsHopper_On.MCValue.ToString());
time.PlsHopperOff = ushort.Parse(plsHopper_Off.MCValue.ToString());
DB2108HelperWriteNew.Inser(time);
MessageBox.Show("更新成功");
}
private bool Check(MCTextBox cTextBox)
{
try
{
int mc = Convert.ToInt32(cTextBox.MCValue.ToString());
if(mc <=0 || mc > 60)
{
MessageBox.Show("范围错误 [1-60]");
return false;
}
}
catch (Exception)
{
MessageBox.Show("格式错误");
return false;
}
return true;
}
private void StateRefresh(object sender, EventArgs e)
{
Db2110Help db2110 = new Db2110Help();
string a = db2110.GetA();
if (a.Length == 0)
{
MCLabelA.MCValue = "无";
}
else
{
MCLabelA.MCValue = a;
}
string b=db2110.GetB();
if (b.Length == 0)
{
MCLabelB.MCValue = "无";
}
else
{
MCLabelB.MCValue = b;
}
}
}
}