Files
kou_zhaoxielou_shandong/口罩泄露定制款/Form/frm_ExperSetting.cs

254 lines
10 KiB
C#
Raw Normal View History

2026-01-16 20:53:33 +08:00
using Modbus.Device;
using Sunny.UI;
using System;
using System.Threading.Tasks;
using System.Windows.Forms;
using ;
namespace _定制款.
{
public partial class frm_ExperSetting : UIForm
{
ModbusMaster _master;
ExperData experData = new ExperData();
Function fc;
public frm_ExperSetting(ModbusMaster master)
{
InitializeComponent();
_master = master;
if (_master != null)
{ Task.Run(() => { Read_PLCdata(); });
fc=new Function(_master); }
}
#region
DataChange dc = new DataChange();
ushort[] data_D1310_D1330 = new ushort[21];
ushort[] data_D1360_D1380 = new ushort[21];
ushort[] data_D1410_D1430 = new ushort[21];
ushort[] data_D1460_D1480 = new ushort[21];
ushort[] data_D1510_D1530 = new ushort[21];
ushort[] data_D1560_D1580 = new ushort[21];
bool[] data_M6_M7 = new bool[2];
bool[] data_M14_M24 = new bool[11];
float CO2基数;
float CO2系数;
float CO2基数;
float CO2系数;
float O2基数;
float O2系数;
float ;
float ;
float 湿;
float 湿;
void Read_PLCdata()
{
while (true)
{
if (this.IsDisposed || _master == null)
break;
try
{
data_D1310_D1330 = _master.ReadHoldingRegisters(1, 1310, 21);
data_D1360_D1380 = _master.ReadHoldingRegisters(1, 1360, 21);
data_D1410_D1430 = _master.ReadHoldingRegisters(1, 1410, 21);
data_D1460_D1480 = _master.ReadHoldingRegisters(1, 1460, 21);
data_D1510_D1530 = _master.ReadHoldingRegisters(1, 1510, 21);
data_D1560_D1580 = _master.ReadHoldingRegisters(1, 1560, 21);
data_M14_M24 = _master.ReadInputs(1, 14, 12);
data_M6_M7 = _master.ReadInputs(1, 6, 2);
CO2基数 = dc.UshortToFloat(data_D1360_D1380[15], data_D1360_D1380[14]);
CO2系数 = dc.UshortToFloat(data_D1360_D1380[19], data_D1360_D1380[18]);
CO2基数 = dc.UshortToFloat(data_D1410_D1430[15], data_D1410_D1430[14]);
CO2系数 = dc.UshortToFloat(data_D1410_D1430[19], data_D1410_D1430[18]);
O2基数 = dc.UshortToFloat(data_D1460_D1480[15], data_D1460_D1480[14]);
O2系数 = dc.UshortToFloat(data_D1460_D1480[19], data_D1460_D1480[18]);
= dc.UshortToFloat(data_D1510_D1530[15], data_D1510_D1530[14]);
= dc.UshortToFloat(data_D1510_D1530[19], data_D1510_D1530[18]);
湿 = dc.UshortToFloat(data_D1560_D1580[15], data_D1560_D1580[14]);
湿 = dc.UshortToFloat(data_D1560_D1580[19], data_D1560_D1580[18]);
}
catch
{
break;
// MessageBox.Show(ex.Message, "读取失败");
}
}
}
#endregion
private void timer_UpdateUI_Tick(object sender, EventArgs e)
{
lb_室内CO2.Text = experData.CO2NongDu_Indoor.ToString("F2") + "%";
lb_室外CO2.Text = experData.Mask_CO2NongDu.ToString("F2") + "%";
lb_O2浓度.Text = experData.O2NongDu.ToString("F2") + "%";
lb_湿度.Text = experData.HuanJingShiDu.ToString("F2") + "%RH";
lb_温度.Text = experData.HuanJingWenDu.ToString("F2") + "℃";
lb_室内TSI.Text = experData.InDoor_TSINongDu.ToString("F3") + "mg/m³";
lb_室外TSI.Text = experData.Mask_TSINongDu.ToString("F3") + "mg/m³";
tb_室内CO2.Text= experData.CO2NongDu_Indoor.ToString("F2");
tb_室内CO2基数.Text= CO2基数.ToString("F2");
tb_室内CO2系数.Text= CO2系数.ToString("F2");
tb_口罩CO2.Text= experData.Mask_CO2NongDu.ToString("F2");
tb_口罩CO2基数.Text= CO2基数.ToString("F2");
tb_口罩CO2系数.Text= CO2系数.ToString("F2");
tb_室内02.Text= experData.O2NongDu.ToString("F2");
tb_室内02基数.Text= O2基数.ToString("F2");
tb_室内02系数.Text= O2系数.ToString("F2");
tb_室内温度.Text = experData.HuanJingShiDu.ToString("F2");
tb_室内温度基数.Text = .ToString("F2");
tb_室内温度系数.Text = .ToString("F2");
tb_室内湿度.Text= experData.HuanJingShiDu.ToString("F2");
tb_室内湿度基数.Text= 湿.ToString("F2");
tb_室内湿度系数.Text= 湿.ToString("F2");
if (data_M14_M24[2])//M16
{ lb_气溶胶进气阀.Text = " 气溶胶进气阀:开"; lb_气溶胶进气阀.ForeColor = System.Drawing.Color.Red; }
else
{ lb_气溶胶进气阀.Text = " 气溶胶进气阀:关"; lb_气溶胶进气阀.ForeColor = System.Drawing.Color.Black; }
if (data_M6_M7[0])
{ lb_换风系统.Text = " 换风系统:开"; lb_换风系统.ForeColor = System.Drawing.Color.Red; }
else
{ lb_换风系统.Text = " 换风系统:关"; lb_换风系统.ForeColor = System.Drawing.Color.Black; }
if (data_M14_M24[0])
{ lb_室内取样阀.Text = " 室内取样阀:开"; lb_室内取样阀.ForeColor = System.Drawing.Color.Red; }
else
{ lb_室内取样阀.Text = " 室内取样阀:关"; lb_室内取样阀.ForeColor = System.Drawing.Color.Black; }
if (data_M14_M24[1])
{ lb_口罩取样阀.Text = " 口罩取样阀:开"; lb_口罩取样阀.ForeColor = System.Drawing.Color.Red; }
else
{ lb_口罩取样阀.Text = " 口罩取样阀:关"; lb_口罩取样阀.ForeColor = System.Drawing.Color.Black; }
if (data_M14_M24[11])
{ lb_口罩取样泵.Text = " 口罩取样泵:开"; lb_口罩取样泵.ForeColor = System.Drawing.Color.Red; }
else
{ lb_口罩取样泵.Text = " 口罩取样泵:关"; lb_口罩取样泵.ForeColor = System.Drawing.Color.Black; }
}
private void Valve_气溶胶进气阀_Click(object sender, EventArgs e)
{
fc.BtnClickFunction(Function.ButtonType., 16);
}
private void Motor_换风系统_Click(object sender, EventArgs e)
{
fc.BtnClickFunction(Function.ButtonType., 6);
}
private void Valve_室内取样阀_Click(object sender, EventArgs e)
{
fc.BtnClickFunction(Function.ButtonType., 14);
}
private void Valve_口罩取样阀_Click(object sender, EventArgs e)
{
fc.BtnClickFunction(Function.ButtonType., 15);
}
private void Motor_口罩取样泵_Click(object sender, EventArgs e)
{
fc.BtnClickFunction(Function.ButtonType., 25);
}
private void frm_ExperSetting_FormClosing(object sender, FormClosingEventArgs e)
{
this.Dispose();
}
private void tb_室内CO2基数_ButtonClick(object sender, EventArgs e)
{
fc.WriteToPLC(tb_室内CO2基数.Text,1424,Function.DataType.);
}
private void tb_室内CO2系数_ButtonClick(object sender, EventArgs e)
{
fc.WriteToPLC(tb_室内CO2系数.Text, 1428, Function.DataType.);
}
private void tb_口罩CO2基数_ButtonClick(object sender, EventArgs e)
{
fc.WriteToPLC(tb_口罩CO2基数.Text, 1374, Function.DataType.);
}
private void tb_口罩CO2系数_ButtonClick(object sender, EventArgs e)
{
fc.WriteToPLC(tb_口罩CO2系数.Text, 1378, Function.DataType.);
}
private void tb_室内02基数_ButtonClick(object sender, EventArgs e)
{
fc.WriteToPLC(tb_室内02基数.Text, 1474, Function.DataType.);
}
private void tb_室内02系数_ButtonClick(object sender, EventArgs e)
{
fc.WriteToPLC(tb_室内02系数.Text, 1478, Function.DataType.);
}
private void tb_室内温度基数_ButtonClick(object sender, EventArgs e)
{
fc.WriteToPLC(tb_室内温度基数.Text, 1524, Function.DataType.);
}
private void tb_室内温度系数_ButtonClick(object sender, EventArgs e)
{
fc.WriteToPLC(tb_室内温度系数.Text, 1528, Function.DataType.);
}
private void tb_室内湿度基数_ButtonClick(object sender, EventArgs e)
{
fc.WriteToPLC(tb_室内湿度基数.Text, 1574, Function.DataType.);
}
private void tb_室内湿度系数_ButtonClick(object sender, EventArgs e)
{
fc.WriteToPLC(tb_室内湿度系数.Text, 1578, Function.DataType.);
}
private void btn_室内CO2_清零_Click(object sender, EventArgs e)
{
fc.BtnClickFunction(Function.ButtonType.,122);
}
private void btn_口罩CO2清零_Click(object sender, EventArgs e)
{
fc.BtnClickFunction(Function.ButtonType., 121);
}
private void btn_室内02清零_Click(object sender, EventArgs e)
{
fc.BtnClickFunction(Function.ButtonType., 123);
}
private void btn_室内温度清零_Click(object sender, EventArgs e)
{
fc.BtnClickFunction(Function.ButtonType., 124);
}
private void btn_室内湿度清零_Click(object sender, EventArgs e)
{
fc.BtnClickFunction(Function.ButtonType., 125);
}
}
}