Long time no commit
This commit is contained in:
@@ -0,0 +1,148 @@
|
||||
using Newtonsoft.Json;
|
||||
using System;
|
||||
using System.IO;
|
||||
using System.Text;
|
||||
using System.Windows.Forms;
|
||||
using Xylem.Common.CommonCore.Consts;
|
||||
using Xylem.Common.Hardware.WaterMeter.Genesis.GenesisConfig;
|
||||
using Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore;
|
||||
using Xylem.Common.Hardware.WaterMeter.Genesis.Registers;
|
||||
using Xylem.Common.Hardware.WaterMeter.WaterMeterCore;
|
||||
|
||||
namespace Xylem.Common.Ui.GenesisToolBox
|
||||
{
|
||||
public partial class FrmPressure : Form
|
||||
{
|
||||
public FrmPressure()
|
||||
{
|
||||
InitializeComponent();
|
||||
|
||||
|
||||
|
||||
}
|
||||
private void FrmPressure_Load(object sender, System.EventArgs e)
|
||||
{
|
||||
|
||||
var configFile = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), nameof(Hardware.WaterMeter.Genesis), ProgramConfig.SerialConfigFileName);
|
||||
|
||||
if (!File.Exists(configFile))
|
||||
{
|
||||
configFile = Path.Combine(ProgramConfig.SerialConfigFileName);
|
||||
if (!File.Exists(configFile))
|
||||
{
|
||||
throw new ApplicationException($"Configuration file {configFile} not found ");
|
||||
}
|
||||
}
|
||||
if (!File.Exists(configFile))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
SlotConfig[] meterConfigList;
|
||||
using (var tr = new StreamReader(configFile))
|
||||
{
|
||||
var _fileString = tr.ReadToEnd();
|
||||
meterConfigList = JsonConvert.DeserializeObject<SlotConfig[]>(_fileString);
|
||||
}
|
||||
cblSlots.Items.Clear();
|
||||
foreach (var item in meterConfigList)
|
||||
{
|
||||
cblSlots.Items.Add(item.Slot, false);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
private void button1_Click(object sender, System.EventArgs e)
|
||||
{
|
||||
|
||||
|
||||
}
|
||||
|
||||
private void timer1_Tick(object sender, System.EventArgs e)
|
||||
{
|
||||
if (meterBatch != null)
|
||||
{
|
||||
var sb = new StringBuilder();
|
||||
sb.Append($"{DateTime.Now} ;");
|
||||
foreach (var item in meterBatch.ListOfMeters)
|
||||
{
|
||||
|
||||
if (item is GenesisMeter meter)
|
||||
{
|
||||
try
|
||||
{
|
||||
if (meter.ReLogin())
|
||||
{
|
||||
var a = meter.WriteRegister("METROLOGYASST_PressureMeasure", 1, true);
|
||||
if (a)
|
||||
{
|
||||
var toEinheit = RegisterConverter.ConvertTo<Int32>(meter.ReadRegister("METROLOGYASST_PressureMeasure"));
|
||||
sb.Append($" {meter.Slot } : {toEinheit} Pa;");
|
||||
meter.WriteLog($" Pressure : {toEinheit} Pa;");
|
||||
}
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
sb.Append($" {meter.Slot } : {ex} ;");
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
textBox1.Text = textBox1.Text + System.Environment.NewLine + sb.ToString();
|
||||
}
|
||||
}
|
||||
|
||||
private MeterBatch meterBatch;
|
||||
private void btnStart_Click(object sender, EventArgs e)
|
||||
{
|
||||
btnStart.Enabled = false;
|
||||
try
|
||||
{
|
||||
if (!timer1.Enabled)
|
||||
{
|
||||
|
||||
|
||||
timer1.Interval = (int)numericUpDown1.Value * 1000;
|
||||
timer1.Enabled = true;
|
||||
|
||||
meterBatch = new MeterBatch();
|
||||
|
||||
foreach (var item in cblSlots.CheckedItems)
|
||||
{
|
||||
var meter = new GenesisMeter();
|
||||
meter.SetupFromConfigFile((int)item);
|
||||
meterBatch.AddMeter(meter);
|
||||
|
||||
meter.Login();
|
||||
meter.WriteRegister("METROLOGYASST_PressurePresent", true, true);
|
||||
}
|
||||
btnStart.Text = "Stop";
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
btnStart.Text = "Start";
|
||||
meterBatch.Dispose();
|
||||
timer1.Enabled = false;
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
btnStart.Text = "Start";
|
||||
meterBatch.Dispose();
|
||||
timer1.Enabled = false;
|
||||
}
|
||||
finally
|
||||
{
|
||||
btnStart.Enabled = true;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user