|
|
|
@ -38,8 +38,9 @@ namespace GuideScreen.UI
|
|
|
|
|
private PLCController plcController;
|
|
|
|
|
//客流量
|
|
|
|
|
private int passengerFlowDayCount = 0;
|
|
|
|
|
|
|
|
|
|
//男厕使用数量
|
|
|
|
|
private const string currentManNumStrFormat = "5/{0}";
|
|
|
|
|
//女厕使用数量
|
|
|
|
|
private const string currentWomanNumStrFormat = "3/{0}";
|
|
|
|
|
|
|
|
|
|
public FormScreen()
|
|
|
|
@ -81,117 +82,18 @@ namespace GuideScreen.UI
|
|
|
|
|
//开启PLC通信
|
|
|
|
|
plcController.Start();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private void timer1_Tick(object sender, EventArgs e)
|
|
|
|
|
{
|
|
|
|
|
lblTime.Text = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#region 获取点位更新
|
|
|
|
|
private void PlcController_PointChnage(object sender, PLCPoint e)
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
switch (e.Name)
|
|
|
|
|
this.Invoke(new Action(() =>
|
|
|
|
|
{
|
|
|
|
|
#region 侧位状态
|
|
|
|
|
|
|
|
|
|
//男侧位1状态
|
|
|
|
|
case PLCPointNameByToiletPosition.ToiletManStatus1:
|
|
|
|
|
ToileUseChange(true, 1, e.GetValue<bool>());
|
|
|
|
|
break;
|
|
|
|
|
//男侧位2状态
|
|
|
|
|
case PLCPointNameByToiletPosition.ToiletManStatus2:
|
|
|
|
|
ToileUseChange(true, 2, e.GetValue<bool>());
|
|
|
|
|
break;
|
|
|
|
|
//男侧位3状态
|
|
|
|
|
case PLCPointNameByToiletPosition.ToiletManStatus3:
|
|
|
|
|
ToileUseChange(true, 3, e.GetValue<bool>());
|
|
|
|
|
break;
|
|
|
|
|
//男侧位4状态
|
|
|
|
|
case PLCPointNameByToiletPosition.ToiletManStatus4:
|
|
|
|
|
ToileUseChange(true, 4, e.GetValue<bool>());
|
|
|
|
|
break;
|
|
|
|
|
//男侧位5状态
|
|
|
|
|
case PLCPointNameByToiletPosition.ToiletManStatus5:
|
|
|
|
|
ToileUseChange(true, 5, e.GetValue<bool>());
|
|
|
|
|
break;
|
|
|
|
|
//女侧位1状态
|
|
|
|
|
case PLCPointNameByToiletPosition.ToiletWomanStatus1:
|
|
|
|
|
ToileUseChange(false, 1, e.GetValue<bool>());
|
|
|
|
|
break;
|
|
|
|
|
//女侧位2状态
|
|
|
|
|
case PLCPointNameByToiletPosition.ToiletWomanStatus2:
|
|
|
|
|
ToileUseChange(false, 2, e.GetValue<bool>());
|
|
|
|
|
break;
|
|
|
|
|
//女侧位3状态
|
|
|
|
|
case PLCPointNameByToiletPosition.ToiletWomanStatus3:
|
|
|
|
|
ToileUseChange(false, 3, e.GetValue<bool>());
|
|
|
|
|
break;
|
|
|
|
|
#endregion
|
|
|
|
|
|
|
|
|
|
#region 能耗监控
|
|
|
|
|
//用电量
|
|
|
|
|
case PLCPointNameEnergyMonitoring.ElectricityConsumption:
|
|
|
|
|
lblElectricityMeter.Text = Convert.ToInt32(e.GetValue<float>()).ToString();
|
|
|
|
|
break;
|
|
|
|
|
//用水量
|
|
|
|
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
|
|
|
|
#region 环境监控
|
|
|
|
|
case PLCPointNameByEnvironmentalMonitoring.H2S:
|
|
|
|
|
lblAmmoniaGas.Text = Math.Round(e.GetValue<float>(), 1).ToString() + " PPM";
|
|
|
|
|
break;
|
|
|
|
|
case PLCPointNameByEnvironmentalMonitoring.NH3:
|
|
|
|
|
lblEnviHydrogenSulfide.Text = Math.Round(e.GetValue<float>(), 2).ToString() + " PPM";
|
|
|
|
|
break;
|
|
|
|
|
case PLCPointNameByEnvironmentalMonitoring.Temperature:
|
|
|
|
|
lblEnvirTempl.Text = Math.Round(e.GetValue<float>(), 1).ToString() + " °C";
|
|
|
|
|
break;
|
|
|
|
|
case PLCPointNameByEnvironmentalMonitoring.Humidity:
|
|
|
|
|
lblEnvirTempl.Text = Math.Round(e.GetValue<float>(), 1).ToString() + " %";
|
|
|
|
|
break;
|
|
|
|
|
#endregion
|
|
|
|
|
|
|
|
|
|
#region 真空泵站
|
|
|
|
|
//实时真空度
|
|
|
|
|
case PLCPointNameByVacuumPumpingStation.RealTimeVacuum:
|
|
|
|
|
AnalogMeter.Value = Convert.ToInt32(e.GetValue<float>());
|
|
|
|
|
lblRealTimeVacuum.Text = $"-{AnalogMeter.Value}";
|
|
|
|
|
break;
|
|
|
|
|
//1号泵状态
|
|
|
|
|
case PLCPointNameByVacuumPumpingStation.PumpingStation1:
|
|
|
|
|
if (e.GetValue<bool>())
|
|
|
|
|
{
|
|
|
|
|
lblOneState.Text = "运行";
|
|
|
|
|
lblOneState.ForeColor = Color.PaleGreen;
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
lblOneState.Text = "停运";
|
|
|
|
|
lblOneState.ForeColor = Color.Red;
|
|
|
|
|
}
|
|
|
|
|
break;
|
|
|
|
|
//2号泵状态
|
|
|
|
|
case PLCPointNameByVacuumPumpingStation.PumpingStation2:
|
|
|
|
|
if (e.GetValue<bool>())
|
|
|
|
|
{
|
|
|
|
|
lblTwoState.Text = "运行";
|
|
|
|
|
lblTwoState.ForeColor = Color.PaleGreen;
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
lblTwoState.Text = "停运";
|
|
|
|
|
lblTwoState.ForeColor = Color.Red;
|
|
|
|
|
}
|
|
|
|
|
break;
|
|
|
|
|
#endregion
|
|
|
|
|
PointChange(e);
|
|
|
|
|
|
|
|
|
|
default:
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
}));
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
|
|
|
|
#region 厕所是否有人
|
|
|
|
@ -388,7 +290,6 @@ namespace GuideScreen.UI
|
|
|
|
|
#endregion
|
|
|
|
|
|
|
|
|
|
#region 人流统计
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 人流经过
|
|
|
|
@ -418,9 +319,107 @@ namespace GuideScreen.UI
|
|
|
|
|
#endregion
|
|
|
|
|
|
|
|
|
|
#region PLC获取点位
|
|
|
|
|
private void PointChange()
|
|
|
|
|
private void PointChange(PLCPoint e)
|
|
|
|
|
{
|
|
|
|
|
switch (e.Name)
|
|
|
|
|
{
|
|
|
|
|
#region 侧位状态
|
|
|
|
|
|
|
|
|
|
//男侧位1状态
|
|
|
|
|
case PLCPointNameByToiletPosition.ToiletManStatus1:
|
|
|
|
|
ToileUseChange(true, 1, e.GetValue<bool>());
|
|
|
|
|
break;
|
|
|
|
|
//男侧位2状态
|
|
|
|
|
case PLCPointNameByToiletPosition.ToiletManStatus2:
|
|
|
|
|
ToileUseChange(true, 2, e.GetValue<bool>());
|
|
|
|
|
break;
|
|
|
|
|
//男侧位3状态
|
|
|
|
|
case PLCPointNameByToiletPosition.ToiletManStatus3:
|
|
|
|
|
ToileUseChange(true, 3, e.GetValue<bool>());
|
|
|
|
|
break;
|
|
|
|
|
//男侧位4状态
|
|
|
|
|
case PLCPointNameByToiletPosition.ToiletManStatus4:
|
|
|
|
|
ToileUseChange(true, 4, e.GetValue<bool>());
|
|
|
|
|
break;
|
|
|
|
|
//男侧位5状态
|
|
|
|
|
case PLCPointNameByToiletPosition.ToiletManStatus5:
|
|
|
|
|
ToileUseChange(true, 5, e.GetValue<bool>());
|
|
|
|
|
break;
|
|
|
|
|
//女侧位1状态
|
|
|
|
|
case PLCPointNameByToiletPosition.ToiletWomanStatus1:
|
|
|
|
|
ToileUseChange(false, 1, e.GetValue<bool>());
|
|
|
|
|
break;
|
|
|
|
|
//女侧位2状态
|
|
|
|
|
case PLCPointNameByToiletPosition.ToiletWomanStatus2:
|
|
|
|
|
ToileUseChange(false, 2, e.GetValue<bool>());
|
|
|
|
|
break;
|
|
|
|
|
//女侧位3状态
|
|
|
|
|
case PLCPointNameByToiletPosition.ToiletWomanStatus3:
|
|
|
|
|
ToileUseChange(false, 3, e.GetValue<bool>());
|
|
|
|
|
break;
|
|
|
|
|
#endregion
|
|
|
|
|
|
|
|
|
|
#region 能耗监控
|
|
|
|
|
//用电量
|
|
|
|
|
case PLCPointNameEnergyMonitoring.ElectricityConsumption:
|
|
|
|
|
lblElectricityMeter.Text = Convert.ToInt32(e.GetValue<float>()).ToString();
|
|
|
|
|
break;
|
|
|
|
|
//用水量
|
|
|
|
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
|
|
|
|
#region 环境监控
|
|
|
|
|
case PLCPointNameByEnvironmentalMonitoring.H2S:
|
|
|
|
|
lblAmmoniaGas.Text = Math.Round(e.GetValue<float>(), 1).ToString() + " PPM";
|
|
|
|
|
break;
|
|
|
|
|
case PLCPointNameByEnvironmentalMonitoring.NH3:
|
|
|
|
|
lblEnviHydrogenSulfide.Text = Math.Round(e.GetValue<float>(), 2).ToString() + " PPM";
|
|
|
|
|
break;
|
|
|
|
|
case PLCPointNameByEnvironmentalMonitoring.Temperature:
|
|
|
|
|
lblEnvirTempl.Text = Math.Round(e.GetValue<float>(), 1).ToString() + " °C";
|
|
|
|
|
break;
|
|
|
|
|
case PLCPointNameByEnvironmentalMonitoring.Humidity:
|
|
|
|
|
lblEnvirTempl.Text = Math.Round(e.GetValue<float>(), 1).ToString() + " %";
|
|
|
|
|
break;
|
|
|
|
|
#endregion
|
|
|
|
|
|
|
|
|
|
#region 真空泵站
|
|
|
|
|
//实时真空度
|
|
|
|
|
case PLCPointNameByVacuumPumpingStation.RealTimeVacuum:
|
|
|
|
|
AnalogMeter.Value = Convert.ToInt32(e.GetValue<float>());
|
|
|
|
|
lblRealTimeVacuum.Text = $"-{AnalogMeter.Value}";
|
|
|
|
|
break;
|
|
|
|
|
//1号泵状态
|
|
|
|
|
case PLCPointNameByVacuumPumpingStation.PumpingStation1:
|
|
|
|
|
if (e.GetValue<bool>())
|
|
|
|
|
{
|
|
|
|
|
lblOneState.Text = "运行";
|
|
|
|
|
lblOneState.ForeColor = Color.PaleGreen;
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
lblOneState.Text = "停运";
|
|
|
|
|
lblOneState.ForeColor = Color.Red;
|
|
|
|
|
}
|
|
|
|
|
break;
|
|
|
|
|
//2号泵状态
|
|
|
|
|
case PLCPointNameByVacuumPumpingStation.PumpingStation2:
|
|
|
|
|
if (e.GetValue<bool>())
|
|
|
|
|
{
|
|
|
|
|
lblTwoState.Text = "运行";
|
|
|
|
|
lblTwoState.ForeColor = Color.PaleGreen;
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
lblTwoState.Text = "停运";
|
|
|
|
|
lblTwoState.ForeColor = Color.Red;
|
|
|
|
|
}
|
|
|
|
|
break;
|
|
|
|
|
#endregion
|
|
|
|
|
|
|
|
|
|
default:
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
#endregion
|
|
|
|
|
|
|
|
|
@ -528,6 +527,15 @@ namespace GuideScreen.UI
|
|
|
|
|
this.ShowErrorTip(e, 3000);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 日期时间
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="sender"></param>
|
|
|
|
|
/// <param name="e"></param>
|
|
|
|
|
private void timer1_Tick(object sender, EventArgs e)
|
|
|
|
|
{
|
|
|
|
|
lblTime.Text = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void contextMenuStrip1_ItemClicked(object sender, ToolStripItemClickedEventArgs e)
|
|
|
|
|
{
|
|
|
|
|