This commit is contained in:
@@ -1,11 +1,12 @@
|
||||
using Microsoft.Win32;
|
||||
using Modbus.Device;
|
||||
using Modbus;
|
||||
using Modbus.Device;
|
||||
using OfficeOpenXml;
|
||||
using System;
|
||||
using System.Configuration;
|
||||
using System.Data.SQLite;
|
||||
using System.IO;
|
||||
using System.Net.Mail;
|
||||
using System.Net.Sockets;
|
||||
using System.Runtime.Intrinsics;
|
||||
using System.Threading.Tasks;
|
||||
@@ -17,6 +18,7 @@ using System.Windows.Media;
|
||||
using System.Windows.Media.Animation;
|
||||
using System.Windows.Media.Imaging;
|
||||
using 口罩泄露定制款;
|
||||
using static OfficeOpenXml.ExcelErrorValue;
|
||||
|
||||
namespace ShanghaiEnvironmentalTechnology
|
||||
{
|
||||
@@ -164,7 +166,7 @@ namespace ShanghaiEnvironmentalTechnology
|
||||
if (!_isEditingFrequency)
|
||||
{
|
||||
ReadAndUpdateSingleRegister(
|
||||
368,
|
||||
3680,
|
||||
isFloat: true,
|
||||
value => UpdatePressureUI5(value.ToString())
|
||||
);
|
||||
@@ -389,7 +391,8 @@ namespace ShanghaiEnvironmentalTechnology
|
||||
BeginCO2 REAL NOT NULL,
|
||||
EndCO2 REAL NOT NULL,
|
||||
CO2Added REAL NOT NULL,
|
||||
RecordTime DATETIME NOT NULL
|
||||
RecordTime DATETIME NOT NULL,
|
||||
IsEnd BOOLEAN DEFAULT 0
|
||||
);";
|
||||
using (var command = new SQLiteCommand(createTableSql, connection))
|
||||
{
|
||||
@@ -947,12 +950,13 @@ namespace ShanghaiEnvironmentalTechnology
|
||||
}
|
||||
try
|
||||
{
|
||||
await Task.Run(() => _modbusMaster.WriteSingleCoil(0x01, 38, false));
|
||||
UpdateResetButtonStatus(_lang == "en-US" ? "Resetting..." : "正在复位...", Brushes.LightGreen);
|
||||
await Task.Run(() => _modbusMaster.WriteSingleCoil(0x01, _resetAddress, true));
|
||||
fc.BtnClickFunctionForNew(Function.ButtonType.复位型, _resetAddress);
|
||||
//await Task.Run(() => _modbusMaster.WriteSingleCoil(0x01, _resetAddress, true));
|
||||
fc.BtnClickFunctionForNew(Function.ButtonType.复归型, 2);
|
||||
await Task.Delay(100);
|
||||
await Task.Run(() => _modbusMaster.WriteSingleCoil(0x01, _resetAddress, false));
|
||||
fc.BtnClickFunctionForNew(Function.ButtonType.复位型, _resetAddress);
|
||||
|
||||
//fc.BtnClickFunctionForNew(Function.ButtonType.复位型, _resetAddress);
|
||||
UpdateResetButtonStatus(_lang == "en-US" ? "Reset Success" : "复位成功", Brushes.LightGreen);
|
||||
}
|
||||
catch (Exception ex)
|
||||
@@ -1054,6 +1058,25 @@ namespace ShanghaiEnvironmentalTechnology
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
float flowData = ReadAndUpdateSingleRegisterWithNoUI(_co2Address, true);
|
||||
float pressureData = ReadAndUpdateSingleRegisterWithNoUI(_breathOutAddress, true);
|
||||
float beginCo2Data = ReadAndUpdateSingleRegisterWithNoUI(_co2BeginAddress, true);
|
||||
float endCo2Data = ReadAndUpdateSingleRegisterWithNoUI(_co2EndAddress, true);
|
||||
float addCo2Data = ReadAndUpdateSingleRegisterWithNoUI(_co2AddAddress, true);
|
||||
|
||||
// 保存到数据库
|
||||
SaveRecordToDatabase(
|
||||
flowData,
|
||||
pressureData,
|
||||
beginCo2Data,
|
||||
endCo2Data,
|
||||
addCo2Data,
|
||||
true
|
||||
);
|
||||
|
||||
|
||||
|
||||
var records = ReadCO2RecordsFromDatabase();
|
||||
if (records == null || !records.Any())
|
||||
{
|
||||
@@ -1078,7 +1101,7 @@ namespace ShanghaiEnvironmentalTechnology
|
||||
{
|
||||
conn.Open();
|
||||
// 查询CO2表所有记录(按时间排序)
|
||||
string query = "SELECT Flow, Pressure, BeginCO2, EndCO2, CO2Added, RecordTime FROM CO2 ORDER BY RecordTime desc limit 1 ";
|
||||
string query = "SELECT Flow, Pressure, BeginCO2, EndCO2, CO2Added, RecordTime,isEnd FROM CO2 ORDER BY RecordTime desc limit 1 ";
|
||||
using (SQLiteCommand cmd = new SQLiteCommand(query, conn))
|
||||
{
|
||||
using (SQLiteDataReader reader = cmd.ExecuteReader())
|
||||
@@ -1162,6 +1185,8 @@ namespace ShanghaiEnvironmentalTechnology
|
||||
public double EndCO2 { get; set; } // 终CO2浓度(%)
|
||||
public double CO2Added { get; set; } // CO2浓度相对增加(%)
|
||||
public DateTime RecordTime { get; set; } // 时间
|
||||
|
||||
public bool? isEnd { get; set; }
|
||||
}
|
||||
|
||||
private void Button_Click_15(object sender, RoutedEventArgs e) { }
|
||||
@@ -1221,7 +1246,7 @@ namespace ShanghaiEnvironmentalTechnology
|
||||
/// <summary>
|
||||
/// 保存记录到数据库
|
||||
/// </summary>
|
||||
private void SaveRecordToDatabase(double flow, double pressure, double beginCo2, double endCo2, double co2Added)
|
||||
private void SaveRecordToDatabase(double flow, double pressure, double beginCo2, double endCo2, double co2Added, bool isEnd = false)
|
||||
{
|
||||
try
|
||||
{
|
||||
@@ -1230,12 +1255,15 @@ namespace ShanghaiEnvironmentalTechnology
|
||||
beginCo2 = Math.Round(beginCo2, 2);
|
||||
endCo2 = Math.Round(endCo2, 2);
|
||||
co2Added = Math.Round(co2Added, 2);
|
||||
|
||||
int isEnded= isEnd ? 1 : 0;
|
||||
|
||||
using (var conn = new SQLiteConnection(CSConstant.DbConnectionString))
|
||||
{
|
||||
conn.Open();
|
||||
string insertSql = @"
|
||||
INSERT INTO CO2(Flow, Pressure, BeginCO2, EndCO2, CO2Added, RecordTime)
|
||||
VALUES (@Flow, @Pressure, @BeginCO2, @EndCO2, @CO2Added, @RecordTime);";
|
||||
INSERT INTO CO2(Flow, Pressure, BeginCO2, EndCO2, CO2Added, RecordTime,isEnd)
|
||||
VALUES (@Flow, @Pressure, @BeginCO2, @EndCO2, @CO2Added, @RecordTime,"+ isEnded + ");";
|
||||
using (var cmd = new SQLiteCommand(insertSql, conn))
|
||||
{
|
||||
cmd.Parameters.AddWithValue("@Flow", flow);
|
||||
@@ -1514,5 +1542,30 @@ namespace ShanghaiEnvironmentalTechnology
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
private async void CaptureModeComboBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
|
||||
{
|
||||
if (sender == null) return;
|
||||
var comboBox = sender as ComboBox;
|
||||
if (comboBox == null) return;
|
||||
var selectedItem = comboBox.SelectedItem as ComboBoxItem;
|
||||
if (selectedItem == null) return;
|
||||
var content = selectedItem.Content?.ToString();
|
||||
if (string.IsNullOrEmpty(content)) return;
|
||||
if (_modbusMaster == null) return;
|
||||
|
||||
switch (content)
|
||||
{
|
||||
case "自定义":
|
||||
case "customize":
|
||||
await _modbusMaster?.WriteSingleRegisterAsync(0x01, 30, 1);
|
||||
break;
|
||||
case "YY0671":
|
||||
await _modbusMaster?.WriteSingleRegisterAsync(0x01, 30, 0);
|
||||
break;
|
||||
default:
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user