Browse Source

修改50L反应釜冷凝水管道颜色,添加按钮设置变量的反馈

reconfiguration
ZhaoGang 2 days ago
parent
commit
9b5bacd791
13 changed files with 794 additions and 182 deletions
  1. +9
    -9
      BPASmartClient.Academy/50L/BoolAddEnum.cs
  2. +193
    -2
      BPASmartClient.Academy/50L/DeviceStatus.cs
  3. +46
    -1
      BPASmartClient.Academy/50L/PlcControl.cs
  4. +2
    -0
      BPASmartClient.Academy/App.xaml
  5. +20
    -1
      BPASmartClient.Academy/Converter/DeviceCtrlConvert.cs
  6. +40
    -0
      BPASmartClient.Academy/Converter/MultiBoolDeviceControl.cs
  7. +47
    -0
      BPASmartClient.Academy/Converter/MultiBoolToColorConverter.cs
  8. +3
    -3
      BPASmartClient.Academy/View/DeviceMotionView.xaml
  9. +3
    -1
      BPASmartClient.Academy/View/DeviceMotionView.xaml.cs
  10. +3
    -3
      BPASmartClient.Academy/View/DeviceMotion_2View.xaml
  11. +3
    -1
      BPASmartClient.Academy/View/DeviceMotion_2View.xaml.cs
  12. +422
    -159
      BPASmartClient.Academy/View/ReactionKettle50LView.xaml
  13. +3
    -2
      BPASmartClient.Academy/View/ReactionKettle50LView.xaml.cs

+ 9
- 9
BPASmartClient.Academy/50L/BoolAddEnum.cs View File

@@ -47,23 +47,23 @@ namespace BPASmartClient.Academy._50L
[Add("DB1.DBX1002.2")]
空压机启动,
[Add("DB1.DBX1002.3")]
备用IN8,
反应釜进料,
[Add("DB1.DBX1002.4")]
备用IN9,
反应釜反转,
[Add("DB1.DBX1002.5")]
备用IN10,
进卤水启动,
[Add("DB1.DBX1002.6")]
备用IN11,
排水启动,
[Add("DB1.DBX1002.7")]
备用IN12,
反应釜出冷却水阀,
[Add("DB1.DBX1003.0")]
备用IN13,
冷凝水罐进水阀,
[Add("DB1.DBX1003.1")]
备用IN14,
清洗启动按钮,
[Add("DB1.DBX1003.2")]
备用IN15,
真空蒸馏,
[Add("DB1.DBX1003.3")]
备用IN16,
去加料位,
[Add("DB1.DBX1003.4")]
称重水罐重量清零,
[Add("DB1.DBX1003.5")]


+ 193
- 2
BPASmartClient.Academy/50L/DeviceStatus.cs View File

@@ -8,10 +8,200 @@ namespace BPASmartClient.Academy._50L
{
public class DeviceStatus:NotifyBase
{
#region 按钮状态反馈
/// <summary>
/// 反应釜旋转电机 V2000.0
/// </summary>
public bool IsSetReactTurnMotor { get { return _isSetreactTurnMotor; } set { _isSetreactTurnMotor = value; OnPropertyChanged(); } }
private bool _isSetreactTurnMotor;
/// <summary>
/// 负压风机 V2000.1
/// </summary>
public bool IsSetFans { get { return _isSetfans; } set { _isSetfans = value; OnPropertyChanged(); } }
private bool _isSetfans;

/// <summary>
/// 卤水泵 V2000.2
/// </summary>
public bool IsSetBrinePumpState { get { return _isSetbrinePumpState; } set { _isSetbrinePumpState = value; OnPropertyChanged(); } }
private bool _isSetbrinePumpState;

/// <summary>
/// 反应釜回原点
/// </summary>
public bool IsSetReactHomeBit { get { return _isSetreactHomeBit; } set { _isSetreactHomeBit = value; OnPropertyChanged(); } }
private bool _isSetreactHomeBit;

/// <summary>
/// 反应釜去倒料位
/// </summary>
public bool IsSetReactOut { get { return _isSetreactOut; } set { _isSetreactOut = value; OnPropertyChanged(); } }
private bool _isSetreactOut;

/// <summary>
/// 反应釜旋转电机点动 V2000.0
/// </summary>
public bool IsSetReactTurnMotorJogging { get { return _isSetreactTurnMotorJogging; } set { _isSetreactTurnMotorJogging = value; OnPropertyChanged(); } }
private bool _isSetreactTurnMotorJogging;

/// <summary>
/// 反应釜升温 V2000.0
/// </summary>
public bool IsSetReactHeat { get { return _isSetReactHeat; } set { _isSetReactHeat = value; OnPropertyChanged(); } }
private bool _isSetReactHeat;

/// <summary>
/// 反应釜降温 V2000.0
/// </summary>
public bool IsSetReactCool { get { return _isSetReactCool; } set { _isSetReactCool = value; OnPropertyChanged(); } }
private bool _isSetReactCool;

/// <summary>
/// 冷凝水罐降温 V2000.0
/// </summary>
public bool IsSetCWTCool { get { return _isSetCWTCool; } set { _isSetCWTCool = value; OnPropertyChanged(); } }
private bool _isSetCWTCool;

/// <summary>
/// 反应釜泄压阀 V2001.7
/// </summary>
public bool IsSetReactPressureReliefValve { get { return _isSetreactPressureReliefValve; } set { _isSetreactPressureReliefValve = value; OnPropertyChanged(); } }
private bool _isSetreactPressureReliefValve;

/// <summary>
/// 反应釜排热空气阀(抽真空阀) V2001.2
/// </summary>
public bool IsSetReactOutHotGasValve { get { return _isSetreactOutHotGasValve; } set { _isSetreactOutHotGasValve = value; OnPropertyChanged(); } }
private bool _isSetreactOutHotGasValve;

/// <summary>
/// 热气排空阀 V1001.3
/// </summary>
public bool IsSetHotGasEmptyValve { get { return _isSethotGasEmptyValve; } set { _isSethotGasEmptyValve = value; OnPropertyChanged(); } }
private bool _isSethotGasEmptyValve;

/// <summary>
/// 冷凝水进气阀 V2001.4
/// </summary>
public bool IsSetColdWaterTankInAirValve { get { return _isSetcoldWaterTankInAirValve; } set { _isSetcoldWaterTankInAirValve = value; OnPropertyChanged(); } }
private bool _isSetcoldWaterTankInAirValve;
/// <summary>
/// 反应釜排水阀 V2000.6
/// </summary>
public bool IsSetReactDrainValve { get { return _isSetreactDrainValve; } set { _isSetreactDrainValve = value; OnPropertyChanged(); } }
private bool _isSetreactDrainValve;

/// <summary>
/// 反应釜进清水阀 V2000.7
/// </summary>
public bool IsSetReactInCleanWaterValve { get { return _isSetreactInCleanWaterValve; } set { _isSetreactInCleanWaterValve = value; OnPropertyChanged(); } }
private bool _isSetreactInCleanWaterValve;

/// <summary>
/// 反应釜压缩空气进气阀 V2001.0
/// </summary>
public bool IsSetReactPressureAirInValve { get { return _isSetreactPressureAirInValve; } set { _isSetreactPressureAirInValve = value; OnPropertyChanged(); } }
private bool _isSetreactPressureAirInValve;

/// <summary>
/// 反应釜进卤水阀 V2001.1
/// </summary>
public bool IsSetReactInBrineWaterValve { get { return _isSetreactInBrineWaterValve; } set { _isSetreactInBrineWaterValve = value; OnPropertyChanged(); } }
private bool _isSetreactInBrineWaterValve;
/// <summary>
/// 冷凝水罐真空阀 V2002.0
/// </summary>
public bool IsSetColdWaterTankVacuumValve { get { return _isSetcoldWaterTankVacuumValve; } set { _isSetcoldWaterTankVacuumValve = value; OnPropertyChanged(); } }
private bool _isSetcoldWaterTankVacuumValve;
/// <summary>
/// 空压机启动 V2002.1
/// </summary>
public bool IsSetCompressorRunning { get { return _isSetcompressorRunning; } set { _isSetcompressorRunning = value; OnPropertyChanged(); } }
private bool _isSetcompressorRunning;

/// <summary>
/// 反应釜进料 V2002.1
/// </summary>
public bool IsSetReactEnter { get { return _isSetReactEnter; } set { _isSetReactEnter = value; OnPropertyChanged(); } }
private bool _isSetReactEnter;

/// <summary>
/// 反应釜反转 V2002.1
/// </summary>
public bool IsSetReactReverse { get { return _isSetReactReverse; } set { _isSetReactReverse = value; OnPropertyChanged(); } }
private bool _isSetReactReverse;

/// <summary>
/// 进卤水启动 V2002.1
/// </summary>
public bool IsSetStartEnterBrine { get { return _isSetStartEnterBrine; } set { _isSetStartEnterBrine = value; OnPropertyChanged(); } }
private bool _isSetStartEnterBrine;

/// <summary>
/// 排水启动 V2002.1
/// </summary>
public bool IsSetStartEmptyWater { get { return _isSetStartEmptyWater; } set { _isSetStartEmptyWater = value; OnPropertyChanged(); } }
private bool _isSetStartEmptyWater;
/// <summary>
/// 反应釜出冷却水阀 V2000.5
/// </summary>
public bool IsSetReactOutColdValve { get { return _isSetreactOutColdValve; } set { _isSetreactOutColdValve = value; OnPropertyChanged(); } }
private bool _isSetreactOutColdValve;

/// <summary>
/// 冷凝水罐进水阀 V2001.5
/// </summary>
public bool IsSetColdWaterTankInWaterValve { get { return _isSetcoldWaterTankInWaterValve; } set { _isSetcoldWaterTankInWaterValve = value; OnPropertyChanged(); } }
private bool _isSetcoldWaterTankInWaterValve;

/// <summary>
/// 清洗启动按钮 V2001.5
/// </summary>
public bool IsSetStartClean { get { return _isSetStartClean; } set { _isSetStartClean = value; OnPropertyChanged(); } }
private bool _isSetStartClean;

/// <summary>
/// 真空蒸馏 V2001.5
/// </summary>
public bool IsSetVacuumDistill { get { return _isSetVacuumDistill; } set { _isSetVacuumDistill = value; OnPropertyChanged(); } }
private bool _isSetVacuumDistill;

/// <summary>
/// 去加料位 V2001.5
/// </summary>
public bool IsSetGoAddPosition { get { return _isSetGoAddPosition; } set { _isSetGoAddPosition = value; OnPropertyChanged(); } }
private bool _isSetGoAddPosition;

/// <summary>
/// 称重水罐重量清零 V1003.7
/// </summary>
public bool IsSetColdWaterTankZero { get { return _isSetColdWaterTankZero; } set { _isSetColdWaterTankZero = value; OnPropertyChanged(); } }
private bool _isSetColdWaterTankZero;

/// <summary>
/// 卤水配制罐重量清零 V1003.7
/// </summary>
public bool IsSetBrineTankZero { get { return _isSetBrineTankZero; } set { _isSetBrineTankZero = value; OnPropertyChanged(); } }
private bool _isSetBrineTankZero;

/// <summary>
/// 系统启动 V1003.7
/// </summary>
public bool IsSetSystemStart { get { return _isSetSystemStart; } set { _isSetSystemStart = value; OnPropertyChanged(); } }
private bool _isSetSystemStart;
/// <summary>
/// 心跳 V1003.7
/// </summary>
public bool IsSetHeartBeat { get { return _isSetheartBeat; } set { _isSetheartBeat = value; OnPropertyChanged(); } }
private bool _isSetheartBeat;
#endregion

#region 电机阀门反馈
/// <summary>
/// 旋转电机启停反馈 V2000.0
/// </summary>
public bool ReactTurnMotor {get { return _reactTurnMotor; }set { _reactTurnMotor = value; OnPropertyChanged(); }}
public bool ReactTurnMotor { get { return _reactTurnMotor; } set { _reactTurnMotor = value; OnPropertyChanged(); } }
private bool _reactTurnMotor;
/// <summary>
/// 负压风机启动反馈 V2000.1
@@ -129,7 +319,8 @@ namespace BPASmartClient.Academy._50L
///// 称重水罐负压阀反馈
///// </summary>
//public bool WeightPot { get { return _weightPot; } set { _weightPot = value; OnPropertyChanged(); } }
//private bool _weightPot;
//private bool _weightPot;
#endregion

#region 模拟量
/// <summary>


+ 46
- 1
BPASmartClient.Academy/50L/PlcControl.cs View File

@@ -40,6 +40,52 @@ namespace BPASmartClient.Academy._50L
{
TaskManage.GetInstance.StartLong(() =>
{
comm.Read<bool[]>("DB1.DBX1000.0", 32).OnSuccess(s =>
{
#region V1000
DeviceStatus.IsSetReactTurnMotor = s.Content[0];
DeviceStatus.IsSetFans = s.Content[1];
DeviceStatus.IsSetBrinePumpState = s.Content[2];
DeviceStatus.IsSetReactHomeBit = s.Content[3];
DeviceStatus.IsSetReactOut = s.Content[4];
DeviceStatus.IsSetReactTurnMotorJogging = s.Content[5];
DeviceStatus.IsSetReactHeat = s.Content[6];
DeviceStatus.IsSetReactCool = s.Content[7];
#endregion

#region V1001
DeviceStatus.IsSetCWTCool = s.Content[8];
DeviceStatus.IsSetReactPressureReliefValve = s.Content[9];
DeviceStatus.IsSetReactOutHotGasValve = s.Content[10];
DeviceStatus.IsSetHotGasEmptyValve = s.Content[11];
DeviceStatus.IsSetColdWaterTankInAirValve = s.Content[12];
DeviceStatus.IsSetReactDrainValve = s.Content[13];
DeviceStatus.IsSetReactInCleanWaterValve = s.Content[14];
DeviceStatus.IsSetReactPressureAirInValve = s.Content[15];
#endregion

#region V1002
DeviceStatus.IsSetReactInBrineWaterValve = s.Content[16];
DeviceStatus.IsSetColdWaterTankVacuumValve = s.Content[17];
DeviceStatus.IsSetCompressorRunning = s.Content[18];
DeviceStatus.IsSetReactEnter = s.Content[19];
DeviceStatus.IsSetReactReverse = s.Content[20];
DeviceStatus.IsSetStartEnterBrine = s.Content[21];
DeviceStatus.IsSetStartEmptyWater = s.Content[22];
DeviceStatus.IsSetReactOutColdValve = s.Content[23];
#endregion

#region V1003
DeviceStatus.IsSetColdWaterTankInWaterValve = s.Content[24];
DeviceStatus.IsSetStartClean = s.Content[25];
DeviceStatus.IsSetVacuumDistill = s.Content[26];
DeviceStatus.IsSetGoAddPosition = s.Content[27];
DeviceStatus.IsSetColdWaterTankZero = s.Content[28];
DeviceStatus.IsSetBrineTankZero = s.Content[29];
DeviceStatus.IsSetSystemStart = s.Content[30];
DeviceStatus.IsSetHeartBeat = s.Content[31];
#endregion
});
comm.Read<bool[]>("DB1.DBX2000.0", 31).OnSuccess(s =>
{
//Data[FeedbackData.旋转电机启停反馈] = s.Content[0];
@@ -81,7 +127,6 @@ namespace BPASmartClient.Academy._50L
#endregion
});


comm.Read<float[]>("DB1.DBD2006", 11).OnSuccess(s =>
{
//Data[FeedbackData.反应釜温度] = s.Content[0];


+ 2
- 0
BPASmartClient.Academy/App.xaml View File

@@ -43,6 +43,8 @@
<convert:BoolToColorConverter x:Key="BoolToColorConverter" TrueColor="Green" FalseColor="Red"/>
<convert:BoolToVisibilityReverseConverter x:Key="BoolToVisibilityReverseConverter"/>
<convert:BoolToDoubleConverter x:Key="BoolToDoubleConverter" TrueValue="1" FalseValue="0.5"/>
<convert:MultiBoolToColorConverter x:Key="MultiBoolToColorConverter"/>
<convert:MultiBoolDeviceControl x:Key="MultiBoolDeviceControl"/>
</ResourceDictionary>
</ResourceDictionary.MergedDictionaries>



+ 20
- 1
BPASmartClient.Academy/Converter/DeviceCtrlConvert.cs View File

@@ -91,7 +91,7 @@ namespace BPASmartClient.Academy.Converter
return new SolidColorBrush(Color.FromRgb(255, 255, 255));
}
}
else//流向反向
else if(parameter.ToString() == "5")//流向反向
{
if (value is bool)
{
@@ -110,6 +110,25 @@ namespace BPASmartClient.Academy.Converter
return 0;
}
}
else //冷凝水颜色
{
if (value is bool)
{
bool value_get = (bool)value;
if (value_get)
{
return Color.FromRgb(0, 255, 0);
}
else
{
return Color.FromRgb(255, 255, 255);
}
}
else
{
return Color.FromRgb(255, 255, 255);
}
}
}

public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)


+ 40
- 0
BPASmartClient.Academy/Converter/MultiBoolDeviceControl.cs View File

@@ -0,0 +1,40 @@
using BPASmartClient.CustomResource.UserControls.Enum;

using System;
using System.Collections.Generic;
using System.Globalization;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Data;
using System.Windows.Media;

namespace BPASmartClient.Academy.Converter
{
//并联形式的,只要有一个bool量为true,则根据parameter返回相应的值
public class MultiBoolDeviceControl : IMultiValueConverter
{
private readonly DeviceCtrlConvert deviceCtrlConvert = new();
public object Convert(object[] values, Type targetType, object parameter, CultureInfo culture)
{
bool value = false;
for (int i = 0; i < values.Length; i++)
{
if (values[i] is bool b)
{
value = value | b;
if (value)
{
break;
}
}
}
return deviceCtrlConvert.Convert(value, targetType, parameter, culture);
}

public object[] ConvertBack(object value, Type[] targetTypes, object parameter, CultureInfo culture)
{
throw new NotImplementedException();
}
}
}

+ 47
- 0
BPASmartClient.Academy/Converter/MultiBoolToColorConverter.cs View File

@@ -0,0 +1,47 @@
using System;
using System.Collections.Generic;
using System.Globalization;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Data;
using System.Windows.Media;

namespace BPASmartClient.Academy.Converter
{
public class MultiBoolToColorConverter : IMultiValueConverter
{
public object Convert(object[] values, Type targetType, object parameter, CultureInfo culture)
{
if (parameter is string colorString)
{
string[] colorStr=colorString.Split(',');
for (int i = 0; i < values.Length; i++)
{
if (values[i] is bool b && i < colorStr.Length)
{
if (b)
{
try
{
var color = (SolidColorBrush)new BrushConverter().ConvertFromString(colorStr[i]);
return color.Color;
}
catch (Exception)
{
throw;
}
}
}
}
}
//返回透明色。
return Brushes.White.Color;
}

public object[] ConvertBack(object value, Type[] targetTypes, object parameter, CultureInfo culture)
{
throw new NotImplementedException();
}
}
}

+ 3
- 3
BPASmartClient.Academy/View/DeviceMotionView.xaml View File

@@ -478,13 +478,13 @@
<bpa:PipeLineTL
Width="24" Height="24" Margin="360,266,402,154"
Direction="{Binding DeviceStatus.VX110, Converter={StaticResource deviceConvert}, ConverterParameter=1}"
Fill="{Binding DeviceStatus.VX110, Converter={StaticResource deviceConvert}, ConverterParameter=2}"
Fill="{Binding DeviceStatus.VX110, Converter={StaticResource deviceConvert}, ConverterParameter=6}"
LineWidth="18" Speed="1" />

<bpa:PipeLineV
Width="12" Height="40" Margin="372,226,402,154"
Direction="{Binding DeviceStatus.VX110, Converter={StaticResource deviceConvert}, ConverterParameter=1}"
Fill="{Binding DeviceStatus.VX110, Converter={StaticResource deviceConvert}, ConverterParameter=2}"
Fill="{Binding DeviceStatus.VX110, Converter={StaticResource deviceConvert}, ConverterParameter=6}"
LineWidth="4" Speed="10" />
<bpa:HandValve
x:Name="VX110" Width="35" Height="35" Margin="365,232,402,154"
@@ -538,7 +538,7 @@
<bpa:PipeLineH
Width="95" Height="12" Margin="265,278,402,154"
Direction="{Binding PipeLine.PipeH_2.Direction}"
Fill="{Binding PipeLine.PipeH_2.Fill, Converter={StaticResource deviceConvert}, ConverterParameter=2}"
Fill="{Binding PipeLine.PipeH_2.Fill, Converter={StaticResource deviceConvert}, ConverterParameter=6}"
LineWidth="4" />
<!--#endregion-->



+ 3
- 1
BPASmartClient.Academy/View/DeviceMotionView.xaml.cs View File

@@ -32,7 +32,9 @@ namespace BPASmartClient.Academy.View
/// </summary>
public partial class DeviceMotionView : UserControl
{
public DeviceMotionView()
private volatile static DeviceMotionView _Instance;
public static DeviceMotionView GetInstance => _Instance ?? (_Instance = new DeviceMotionView());
private DeviceMotionView()
{
InitializeComponent();
this.DataContext = DeviceMotionViewModel.GetInstance;


+ 3
- 3
BPASmartClient.Academy/View/DeviceMotion_2View.xaml View File

@@ -477,13 +477,13 @@
<bpa:PipeLineTL
Width="24" Height="24" Margin="360,266,402,154"
Direction="{Binding DeviceStatus.VX110, Converter={StaticResource deviceConvert}, ConverterParameter=1}"
Fill="{Binding DeviceStatus.VX110, Converter={StaticResource deviceConvert}, ConverterParameter=2}"
Fill="{Binding DeviceStatus.VX110, Converter={StaticResource deviceConvert}, ConverterParameter=6}"
LineWidth="18" Speed="1" />

<bpa:PipeLineV
Width="12" Height="40" Margin="372,226,402,154"
Direction="{Binding DeviceStatus.VX110, Converter={StaticResource deviceConvert}, ConverterParameter=1}"
Fill="{Binding DeviceStatus.VX110, Converter={StaticResource deviceConvert}, ConverterParameter=2}"
Fill="{Binding DeviceStatus.VX110, Converter={StaticResource deviceConvert}, ConverterParameter=6}"
LineWidth="4" Speed="10" />
<bpa:HandValve
x:Name="VX110" Width="35" Height="35" Margin="365,232,402,154"
@@ -537,7 +537,7 @@
<bpa:PipeLineH
Width="95" Height="12" Margin="265,278,402,154"
Direction="{Binding PipeLine.PipeH_2.Direction}"
Fill="{Binding PipeLine.PipeH_2.Fill, Converter={StaticResource deviceConvert}, ConverterParameter=2}"
Fill="{Binding PipeLine.PipeH_2.Fill, Converter={StaticResource deviceConvert}, ConverterParameter=6}"
LineWidth="4" />
<!--#endregion-->



+ 3
- 1
BPASmartClient.Academy/View/DeviceMotion_2View.xaml.cs View File

@@ -21,7 +21,9 @@ namespace BPASmartClient.Academy.View
/// </summary>
public partial class DeviceMotion_2View : UserControl
{
public DeviceMotion_2View()
private volatile static DeviceMotion_2View _Instance;
public static DeviceMotion_2View GetInstance => _Instance ?? (_Instance = new DeviceMotion_2View());
private DeviceMotion_2View()
{
InitializeComponent();
this.DataContext = DeviceMotion_2ViewModel.GetInstance;


+ 422
- 159
BPASmartClient.Academy/View/ReactionKettle50LView.xaml View File

@@ -294,46 +294,29 @@
Grid.Row="1" Margin="10" Stretch="Uniform">
<Canvas Width="1000" Height="490">
<!--#region 开关控制按钮-->
<bpa:PipeLineH
Canvas.Left="600.5" Canvas.Top="214.5" Canvas.Right="339.4" Width="42"
Height="5" HorizontalAlignment="Left" VerticalAlignment="Center"
Direction="{Binding DeviceStatus.HotGasEmptyValve, ConverterParameter=1, Converter={StaticResource deviceConvert}}"
Fill="{Binding DeviceStatus.HotGasEmptyValve, ConverterParameter=2, Converter={StaticResource deviceConvert}}"
LineWidth="1" Speed="10" />
<bpa:PipeLineV
Canvas.Left="744" Canvas.Top="31" Canvas.Right="250.9" Width="5"
Height="30" HorizontalAlignment="Center" VerticalAlignment="Center"
Direction="{Binding DeviceStatus.ReactInSteamValue, ConverterParameter=1, Converter={StaticResource deviceConvert}}"
Fill="{Binding DeviceStatus.ReactInSteamValue, ConverterParameter=2, Converter={StaticResource deviceConvert}}"
LineWidth="1" />
<!--#region 开关控制按钮-->
<!--#region 开关控制按钮-->
<bpa:PipeLineH
Canvas.Left="681" Canvas.Top="51.3" Canvas.Right="261" Width="58.5"
Height="5" HorizontalAlignment="Center" VerticalAlignment="Center" d:Direction="1"
Direction="{Binding DeviceStatus.ReactInColdValve, ConverterParameter=1, Converter={StaticResource deviceConvert}}"
Fill="{Binding DeviceStatus.ReactInColdValve, ConverterParameter=2, Converter={StaticResource deviceConvert}}"
LineWidth="1" Speed="2" />
<bpa:PipeLineH
Canvas.Left="52" Canvas.Top="22" Canvas.Right="260.7" Width="310"
Height="5" HorizontalAlignment="Left" VerticalAlignment="Center" d:Direction="1"
Fill="#E31A1A" LineWidth="1" Speed="25" />
<bpa:PipeLineH
Canvas.Left="371" Canvas.Top="22" Canvas.Right="260.7" Width="61"
Canvas.Left="332" Canvas.Top="22" Canvas.Right="260.7" Width="100"
Height="5" HorizontalAlignment="Left" VerticalAlignment="Center" d:Direction="1"
Direction="{Binding DeviceStatus.ReactInSteamValue, ConverterParameter=1, Converter={StaticResource deviceConvert}}"
Fill="{Binding DeviceStatus.ReactInSteamValue, ConverterParameter=2, Converter={StaticResource deviceConvert}}"
LineWidth="1" Speed="25" />
<bpa:PipeLineV
Canvas.Left="189.5" Canvas.Top="177" Width="5" Height="22"
Canvas.Left="242" Canvas.Top="59" Width="5" Height="140"
HorizontalAlignment="Left" VerticalAlignment="Center" d:Direction="2"
Direction="{Binding DeviceStatus.ColdWaterTankInWaterValve, ConverterParameter=1, Converter={StaticResource deviceConvert}}"
Fill="{Binding DeviceStatus.ColdWaterTankInWaterValve, ConverterParameter=2, Converter={StaticResource deviceConvert}}"
Fill="{Binding DeviceStatus.ColdWaterTankInWaterValve, ConverterParameter=6, Converter={StaticResource deviceConvert}}"
LineWidth="1" RenderTransformOrigin="0.5,0.5">
<bpa:PipeLineV.RenderTransform>
<TransformGroup>
<ScaleTransform ScaleY="-1" />
<SkewTransform />
<RotateTransform />
<TranslateTransform />
</TransformGroup>
</bpa:PipeLineV.RenderTransform>
</bpa:PipeLineV>
<bpa:PipeLineH
Canvas.Left="133" Canvas.Top="69" Width="107" Height="5"
Canvas.Left="133" Canvas.Top="69" Width="152" Height="5"
HorizontalAlignment="Left" VerticalAlignment="Center" d:Direction="1"
Direction="{Binding DeviceStatus.ColdWaterTankVacuumValve, ConverterParameter=1, Converter={StaticResource deviceConvert}}"
Fill="{Binding DeviceStatus.ColdWaterTankVacuumValve, ConverterParameter=2, Converter={StaticResource deviceConvert}}"
@@ -342,7 +325,9 @@
<bpa:PipeLineH
Canvas.Left="115" Canvas.Top="456" Canvas.Right="257.5" Width="95"
Height="5" HorizontalAlignment="Center" VerticalAlignment="Top" d:Direction="1"
Fill="#E31A1A" LineWidth="1" Speed="10" />
Direction="{Binding DeviceStatus.ReactInBrineWaterValve, ConverterParameter=1, Converter={StaticResource deviceConvert}}"
Fill="{Binding DeviceStatus.ReactInBrineWaterValve, ConverterParameter=2, Converter={StaticResource deviceConvert}}"
LineWidth="1" Speed="10" />
<!--#region 开关控制按钮-->
<bpa:PipeLineBR
Canvas.Left="216" Canvas.Top="438" Canvas.Right="272.3" Width="11"
@@ -359,9 +344,9 @@
LineWidth="1" Speed="10" />
<!--#region 开关控制按钮-->
<bpa:PipeLineTL
Canvas.Left="712.7" Canvas.Top="433" Canvas.Right="272.3" Width="10"
Height="10" HorizontalAlignment="Center" VerticalAlignment="Top" d:Direction="2"
Direction="{Binding DeviceStatus.ReactInBrineWaterValve, ConverterParameter=1, Converter={StaticResource deviceConvert}}"
Canvas.Left="746.5" Canvas.Top="433" Canvas.Right="272.3" Width="10"
Height="10" HorizontalAlignment="Left" VerticalAlignment="Center" d:Direction="2"
Direction="{Binding DeviceStatus.ReactInBrineWaterValve, ConverterParameter=5, Converter={StaticResource deviceConvert}}"
Fill="{Binding DeviceStatus.ReactInBrineWaterValve, ConverterParameter=2, Converter={StaticResource deviceConvert}}"
LineWidth="10" Speed="1.5" />
<!--#region 开关控制按钮-->
@@ -408,7 +393,7 @@
Tag="卤水泵" />
</StackPanel>
<StackPanel
Canvas.Left="921.095" Canvas.Top="331.398" HorizontalAlignment="Left" VerticalAlignment="Top"
Canvas.Left="870" Canvas.Top="331" HorizontalAlignment="Left" VerticalAlignment="Center"
Panel.ZIndex="99" Orientation="Vertical">
<RadioButton
Width="70" Height="20" Margin="0,0,0,2" BorderThickness="0"
@@ -422,7 +407,21 @@
Tag="反应釜回原点" />
</StackPanel>
<StackPanel
Canvas.Left="815" Canvas.Top="329.953" HorizontalAlignment="Center" VerticalAlignment="Top"
Canvas.Left="944" Canvas.Top="331" HorizontalAlignment="Left" VerticalAlignment="Center"
Panel.ZIndex="99" Orientation="Vertical">
<RadioButton
Width="70" Height="20" Margin="0,0,0,2" BorderThickness="0"
Click="open_Click" Content="反应釜反转:开" FontSize="8" Foreground="White"
Style="{StaticResource radiobutton}"
Tag="反应釜反转" />
<RadioButton
Width="70" Height="20" BorderThickness="0" Click="close_Click"
Content="反应釜反转:关" FontSize="8" Foreground="White" IsChecked="True"
Style="{StaticResource radiobutton}"
Tag="反应釜反转" />
</StackPanel>
<StackPanel
Canvas.Left="795" Canvas.Top="331" HorizontalAlignment="Left" VerticalAlignment="Top"
Panel.ZIndex="99" Orientation="Vertical">
<RadioButton
Width="70" Height="20" Margin="0,0,0,2" BorderThickness="0"
@@ -435,6 +434,34 @@
Style="{StaticResource radiobutton}"
Tag="反应釜去倒料位" />
</StackPanel>
<StackPanel
Canvas.Left="795" Canvas.Top="394" HorizontalAlignment="Center" VerticalAlignment="Top"
Panel.ZIndex="99" Orientation="Vertical">
<RadioButton
Width="70" Height="20" Margin="0,0,0,2" BorderThickness="0"
Click="open_Click" Content="反应釜去加料位:开" FontSize="8" Foreground="White"
Style="{StaticResource radiobutton}"
Tag="去加料位" />
<RadioButton
Width="70" Height="20" BorderThickness="0" Click="close_Click"
Content="反应釜去加料位:关" FontSize="8" Foreground="White" IsChecked="True"
Style="{StaticResource radiobutton}"
Tag="去加料位" />
</StackPanel>
<StackPanel
Canvas.Left="870" Canvas.Top="394" HorizontalAlignment="Center" VerticalAlignment="Top"
Panel.ZIndex="99" Orientation="Vertical">
<RadioButton
Width="70" Height="20" Margin="0,0,0,2" BorderThickness="0"
Click="open_Click" Content="反应釜进料:开" FontSize="8" Foreground="White"
Style="{StaticResource radiobutton}"
Tag="反应釜进料" />
<RadioButton
Width="70" Height="20" BorderThickness="0" Click="close_Click"
Content="反应釜进料:关" FontSize="8" Foreground="White" IsChecked="True"
Style="{StaticResource radiobutton}"
Tag="反应釜进料" />
</StackPanel>
<StackPanel
Canvas.Left="921.095" Canvas.Top="264.326" HorizontalAlignment="Left" VerticalAlignment="Top"
Panel.ZIndex="99" Orientation="Vertical">
@@ -505,6 +532,7 @@
Style="{StaticResource radiobutton}"
Tag="反应釜泄压阀" />
</StackPanel>
<!-- 之前抽真空阀叫排热空气阀,后面改了 -->
<StackPanel
Canvas.Left="660" Canvas.Top="230" HorizontalAlignment="Left" VerticalAlignment="Top"
Panel.ZIndex="99" Orientation="Vertical">
@@ -548,7 +576,7 @@
Tag="冷凝水进气阀" />
</StackPanel>
<StackPanel
Canvas.Left="416" Canvas.Top="251" HorizontalAlignment="Center" VerticalAlignment="Top"
Canvas.Left="506" Canvas.Top="251" HorizontalAlignment="Left" VerticalAlignment="Center"
Panel.ZIndex="99" Orientation="Vertical">
<RadioButton
Width="70" Height="20" Margin="0,0,0,2" BorderThickness="0"
@@ -561,6 +589,34 @@
Style="{StaticResource radiobutton}"
Tag="反应釜排水阀" />
</StackPanel>
<StackPanel
Canvas.Left="507" Canvas.Top="201" HorizontalAlignment="Left" VerticalAlignment="Top"
Panel.ZIndex="99" Orientation="Vertical">
<RadioButton
Width="70" Height="20" Margin="0,0,0,2" BorderThickness="0"
Click="open_Click" Content="排水启动:开" FontSize="8" Foreground="White"
Style="{StaticResource radiobutton}"
Tag="排水启动" />
<RadioButton
Width="70" Height="20" BorderThickness="0" Click="close_Click"
Content="排水启动:关" FontSize="8" Foreground="White" IsChecked="True"
Style="{StaticResource radiobutton}"
Tag="排水启动" />
</StackPanel>
<StackPanel
Canvas.Left="392" Canvas.Top="285" Width="102" HorizontalAlignment="Left"
VerticalAlignment="Center" Panel.ZIndex="99" Orientation="Vertical">
<RadioButton
Width="85" Height="20" Margin="0,0,0,2" BorderThickness="0"
Click="open_Click" Content="反应釜出冷却水阀:开" FontSize="8" Foreground="White"
Style="{StaticResource radiobutton}"
Tag="反应釜出冷却水阀" />
<RadioButton
Width="85" Height="20" BorderThickness="0" Click="close_Click"
Content="反应釜出冷却水阀:关" FontSize="8" Foreground="White" IsChecked="True"
Style="{StaticResource radiobutton}"
Tag="反应釜出冷却水阀" />
</StackPanel>
<StackPanel
Canvas.Left="469" Canvas.Top="370" HorizontalAlignment="Left" VerticalAlignment="Center"
Panel.ZIndex="99" Orientation="Vertical">
@@ -575,6 +631,20 @@
Style="{StaticResource radiobutton}"
Tag="反应釜进清水阀" />
</StackPanel>
<StackPanel
Canvas.Left="913" Canvas.Top="71" HorizontalAlignment="Left" VerticalAlignment="Top"
Panel.ZIndex="99" Orientation="Vertical">
<RadioButton
Width="70" Height="20" Margin="0,0,0,2" BorderThickness="0"
Click="open_Click" Content="真空蒸馏:开" FontSize="8" Foreground="White"
Style="{StaticResource radiobutton}"
Tag="真空蒸馏" />
<RadioButton
Width="70" Height="20" BorderThickness="0" Click="close_Click"
Content="真空蒸馏:关" FontSize="8" Foreground="White" IsChecked="True"
Style="{StaticResource radiobutton}"
Tag="真空蒸馏" />
</StackPanel>
<StackPanel
Canvas.Left="306" Canvas.Top="381" HorizontalAlignment="Left" VerticalAlignment="Top"
Panel.ZIndex="99" Orientation="Vertical">
@@ -617,6 +687,20 @@
Style="{StaticResource radiobutton}"
Tag="冷凝水罐真空阀" />
</StackPanel>
<StackPanel
Canvas.Left="162" Canvas.Top="158" HorizontalAlignment="Left" VerticalAlignment="Top"
Panel.ZIndex="99" Orientation="Vertical">
<RadioButton
Width="70" Height="20" Margin="0,0,0,2" BorderThickness="0"
Click="open_Click" Content="冷凝水罐进水阀:开" FontSize="8" Foreground="White"
Style="{StaticResource radiobutton}"
Tag="冷凝水罐进水阀" />
<RadioButton
Width="70" Height="20" BorderThickness="0" Click="close_Click"
Content="冷凝水罐进水阀:关" FontSize="8" Foreground="White" IsChecked="True"
Style="{StaticResource radiobutton}"
Tag="冷凝水罐进水阀" />
</StackPanel>
<StackPanel
Canvas.Left="14" Canvas.Top="210" HorizontalAlignment="Left" VerticalAlignment="Top"
Panel.ZIndex="99" Orientation="Vertical">
@@ -633,8 +717,8 @@

</StackPanel>
<Button
Canvas.Left="100" Canvas.Top="264" Width="100" Height="20"
HorizontalAlignment="Left" VerticalAlignment="Center" Panel.ZIndex="99" BorderThickness="0"
Canvas.Left="152" Canvas.Top="280" Width="100" Height="20"
HorizontalAlignment="Left" VerticalAlignment="Top" Panel.ZIndex="99" BorderThickness="0"
Click="open_Click" Content="称重水罐重量清零" FontSize="8" Foreground="White"
Style="{StaticResource ButtonStyle}"
Tag="称重水罐重量清零" />
@@ -645,15 +729,23 @@
RenderTransformOrigin="-3.206,-0.55"
Style="{StaticResource ButtonStyle}"
Tag="卤水配制罐重量清零" />
<Button
Canvas.Left="174" Canvas.Top="411" Width="76" Height="20"
HorizontalAlignment="Left" VerticalAlignment="Top" Panel.ZIndex="99" BorderThickness="0"
Click="open_Click" Content="进卤水启动" FontSize="8" Foreground="White"
RenderTransformOrigin="-3.206,-0.55"
Style="{StaticResource ButtonStyle}"
Tag="进卤水启动" />
<Button
Canvas.Left="589" Canvas.Top="366" Width="76" Height="20"
HorizontalAlignment="Left" VerticalAlignment="Top" Panel.ZIndex="99" BorderThickness="0"
Click="open_Click" Content="清洗启动" FontSize="8" Foreground="White"
RenderTransformOrigin="-3.206,-0.55"
Style="{StaticResource ButtonStyle}"
Tag="清洗启动按钮" />
<!--#region 进卤水阀、压缩空气进气阀连接处-->
<bpa:PipeLineBR
Canvas.Left="718" Canvas.Top="389" Canvas.Right="272.3" Width="9"
Height="11" HorizontalAlignment="Center" VerticalAlignment="Center" d:Direction="1"
Direction="{Binding DeviceStatus.ReactInBrineWaterValve, ConverterParameter=1, Converter={StaticResource deviceConvert}}"
Fill="{Binding DeviceStatus.ReactInBrineWaterValve, ConverterParameter=2, Converter={StaticResource deviceConvert}}"
LineWidth="10" Speed="1.5" />
<Image
Canvas.Left="384" Canvas.Top="59" Width="235" Height="264"
Canvas.Left="429" Canvas.Top="59" Width="235" Height="264"
HorizontalAlignment="Left" VerticalAlignment="Center" Source="../50L/Page/罐.png">
<Image.RenderTransform>
<TransformGroup>
@@ -675,10 +767,10 @@
VerticalAlignment="Top" />
<!--#region 标记信息-->
<TextBlock
Canvas.Left="247" Canvas.Top="257" HorizontalAlignment="Left" VerticalAlignment="Center"
Canvas.Left="292" Canvas.Top="257" HorizontalAlignment="Left" VerticalAlignment="Center"
FontSize="12" Foreground="White" Text="称重水罐" />
<TextBlock
Canvas.Left="294.574" Canvas.Top="126.3" HorizontalAlignment="Center" VerticalAlignment="Top"
Canvas.Left="340" Canvas.Top="126" HorizontalAlignment="Left" VerticalAlignment="Center"
FontSize="10" Foreground="White" Text="冷&#xA;凝&#xA;水&#xA;罐" />
<TextBlock
Canvas.Left="933" Canvas.Top="204" Canvas.Right="384.8" Height="20"
@@ -690,8 +782,8 @@
VerticalAlignment="Center" FontSize="12" Foreground="White" Text="反应釜&#xA;原点"
TextAlignment="Center" />
<TextBlock
Canvas.Left="892" Canvas.Top="115" Canvas.Right="384.8" Height="20"
HorizontalAlignment="Left" VerticalAlignment="Top" d:Foreground="Red" FontSize="16"
Canvas.Left="875" Canvas.Top="118" Canvas.Right="384.8" Height="20"
HorizontalAlignment="Left" VerticalAlignment="Center" d:Foreground="Red" FontSize="16"
Foreground="{Binding DeviceStatus.ReactPressureReliefValve, Converter={StaticResource BoolToColorConverter}}"
Text="⚫" TextAlignment="Center" />
<!--#region 模拟量反馈-->
@@ -711,23 +803,23 @@
Text="{Binding DeviceStatus.ReactSteamFlow, StringFormat=蒸汽流量:\{0:F2\}m³/H}"
TextAlignment="Center" />
<TextBlock
Canvas.Left="332" Canvas.Top="135" Width="135" HorizontalAlignment="Left"
VerticalAlignment="Center" d:Text="冷凝水罐温度:30.02℃" Foreground="Red"
Canvas.Left="377" Canvas.Top="156" Width="135" HorizontalAlignment="Center"
VerticalAlignment="Top" d:Text="冷凝水罐温度:30.02℃" Foreground="Red"
Text="{Binding DeviceStatus.ColdWaterTankTemp, StringFormat=冷凝水罐温度:\{0:F2\}℃}"
TextAlignment="Center" />
<TextBlock
Canvas.Left="334" Canvas.Top="150" Width="145" HorizontalAlignment="Left"
VerticalAlignment="Center" d:Text="冷凝水罐湿度:30.20%RH" Foreground="Red"
Canvas.Left="379" Canvas.Top="171" Width="145" HorizontalAlignment="Center"
VerticalAlignment="Top" d:Text="冷凝水罐湿度:30.20%RH" Foreground="Red"
Text="{Binding DeviceStatus.ColdWaterTankHumidity, StringFormat=冷凝水罐湿度:\{0:F2\}%RH}"
TextAlignment="Center" />
<TextBlock
Canvas.Left="64" Canvas.Top="138" Width="98" HorizontalAlignment="Left"
VerticalAlignment="Center" d:Text="流量:30.02m³/H" Foreground="Red"
Canvas.Left="64" Canvas.Top="140" Width="98" HorizontalAlignment="Center"
VerticalAlignment="Top" d:Text="流量:30.02m³/H" Foreground="Red"
Text="{Binding DeviceStatus.VacuumFlow, StringFormat=流量:\{0:F2\}m³/H}"
TextAlignment="Center" />
<TextBlock
Canvas.Left="216" Canvas.Top="274" Width="107" Height="18"
HorizontalAlignment="Left" VerticalAlignment="Top" d:Text="重量:30.22Kg" Foreground="Red"
Canvas.Left="261" Canvas.Top="274" Width="107" Height="18"
HorizontalAlignment="Left" VerticalAlignment="Center" d:Text="重量:30.22Kg" Foreground="Red"
Text="{Binding DeviceStatus.WaterTankWeight, StringFormat=重量:\{0:F2\}Kg}"
TextAlignment="Center" />
<TextBlock
@@ -754,12 +846,24 @@
<!--#region 冷却水出水阀-->
<bpa:PipeLineV
Canvas.Left="735" Canvas.Top="224.571" Canvas.Right="260" Width="5"
Height="67" HorizontalAlignment="Center" VerticalAlignment="Top" Fill="#E31A1A"
LineWidth="1" />
Height="67" HorizontalAlignment="Center" VerticalAlignment="Top" LineWidth="1">
<bpa:PipeLineV.Fill>
<MultiBinding Converter="{StaticResource MultiBoolDeviceControl}" ConverterParameter="2">
<Binding Path="DeviceStatus.ReactOutHotGasValve" />
<Binding Path="DeviceStatus.ReactDrainValve" />
</MultiBinding>
</bpa:PipeLineV.Fill>
<bpa:PipeLineV.Direction>
<MultiBinding Converter="{StaticResource MultiBoolDeviceControl}" ConverterParameter="1">
<Binding Path="DeviceStatus.ReactOutHotGasValve" />
<Binding Path="DeviceStatus.ReactDrainValve" />
</MultiBinding>
</bpa:PipeLineV.Direction>
</bpa:PipeLineV>
<!--#region 冷凝水罐进气阀-->
<bpa:PipeLineV
Canvas.Left="590.8" Canvas.Top="72.7" Canvas.Right="404.2" Width="5"
Height="158" HorizontalAlignment="Center" VerticalAlignment="Top" d:Direction="1"
Canvas.Left="591" Canvas.Top="73" Canvas.Right="404.2" Width="5"
Height="137" HorizontalAlignment="Center" VerticalAlignment="Top" d:Direction="1"
Direction="{Binding DeviceStatus.ColdWaterTankInAirValve, ConverterParameter=1, Converter={StaticResource deviceConvert}}"
Fill="{Binding DeviceStatus.ColdWaterTankInAirValve, ConverterParameter=2, Converter={StaticResource deviceConvert}}"
LineWidth="1" />
@@ -770,14 +874,14 @@
Fill="{Binding DeviceStatus.ColdWaterTankInAirValve, ConverterParameter=2, Converter={StaticResource deviceConvert}}"
LineWidth="10" Speed="1.5" />
<bpa:PipeLineH
Canvas.Left="303.793" Canvas.Top="63.41" Canvas.Right="413.9" Width="283"
Height="5" HorizontalAlignment="Center" VerticalAlignment="Top" d:Direction="1"
Canvas.Left="349" Canvas.Top="63" Canvas.Right="413.9" Width="238"
Height="5" HorizontalAlignment="Left" VerticalAlignment="Center" d:Direction="1"
Direction="{Binding DeviceStatus.ColdWaterTankInAirValve, ConverterParameter=1, Converter={StaticResource deviceConvert}}"
Fill="{Binding DeviceStatus.ColdWaterTankInAirValve, ConverterParameter=2, Converter={StaticResource deviceConvert}}"
LineWidth="1" />
<bpa:PipeLineBR
Canvas.Left="293.793" Canvas.Top="63.4" Canvas.Right="480.2" Width="10"
Height="10" HorizontalAlignment="Center" VerticalAlignment="Top" d:Direction="1"
Canvas.Left="339" Canvas.Top="63" Canvas.Right="480.2" Width="10"
Height="10" HorizontalAlignment="Left" VerticalAlignment="Center" d:Direction="1"
Direction="{Binding DeviceStatus.ColdWaterTankInAirValve, ConverterParameter=1, Converter={StaticResource deviceConvert}}"
Fill="{Binding DeviceStatus.ColdWaterTankInAirValve, ConverterParameter=2, Converter={StaticResource deviceConvert}}"
LineWidth="10" Speed="1.5" />
@@ -797,18 +901,12 @@
TextAlignment="Center" />

<!--#region 热气排空阀-->
<bpa:PipeLineTR
Canvas.Left="590.8" Canvas.Top="209.532" Canvas.Right="399.2" Width="10"
Height="10" HorizontalAlignment="Center" VerticalAlignment="Top" d:Direction="2"
Direction="{Binding DeviceStatus.HotGasEmptyValve, ConverterParameter=5, Converter={StaticResource deviceConvert}}"
Fill="{Binding DeviceStatus.HotGasEmptyValve, ConverterParameter=2, Converter={StaticResource deviceConvert}}"
LineWidth="10" Speed="1.5" />
<bpa:PipeLineH
Canvas.Left="652" Canvas.Top="215" Canvas.Right="339.4" Width="27"
Canvas.Left="601" Canvas.Top="215" Canvas.Right="339.4" Width="78"
Height="5" HorizontalAlignment="Left" VerticalAlignment="Center"
Direction="{Binding DeviceStatus.HotGasEmptyValve, ConverterParameter=1, Converter={StaticResource deviceConvert}}"
Direction="{Binding DeviceStatus.HotGasEmptyValve, ConverterParameter=5, Converter={StaticResource deviceConvert}}"
Fill="{Binding DeviceStatus.HotGasEmptyValve, ConverterParameter=2, Converter={StaticResource deviceConvert}}"
LineWidth="1" Speed="10" />
LineWidth="1" Speed="1" />
<bpa:HandValve
Canvas.Left="640.6" Canvas.Top="207" Canvas.Right="343.4" Width="16"
Height="16" HorizontalAlignment="Center" VerticalAlignment="Top"
@@ -821,7 +919,9 @@
<!--#region 抽真空阀-->
<bpa:PipeLineTL
Canvas.Left="730" Canvas.Top="290.5" Canvas.Right="260" Width="10"
Height="10" HorizontalAlignment="Center" VerticalAlignment="Top" Fill="#E31A1A"
Height="10" HorizontalAlignment="Center" VerticalAlignment="Top"
Direction="{Binding DeviceStatus.ReactOutHotGasValve, ConverterParameter=5, Converter={StaticResource deviceConvert}}"
Fill="{Binding DeviceStatus.ReactOutHotGasValve, ConverterParameter=2, Converter={StaticResource deviceConvert}}"
LineWidth="10" Speed="1.5" />
<bpa:PipeLineH
Canvas.Left="600.3" Canvas.Top="295.5" Canvas.Right="269.7" Width="130"
@@ -836,8 +936,8 @@
Fill="{Binding DeviceStatus.ReactOutHotGasValve, ConverterParameter=2, Converter={StaticResource deviceConvert}}"
LineWidth="10" Speed="1.5" />
<bpa:PipeLineV
Canvas.Left="590.8" Canvas.Top="230.7" Canvas.Right="404.2" Width="5"
Height="60" HorizontalAlignment="Center" VerticalAlignment="Top" d:Direction="2"
Canvas.Left="591" Canvas.Top="210" Canvas.Right="404.2" Width="5"
Height="81" HorizontalAlignment="Center" VerticalAlignment="Top" d:Direction="2"
Direction="{Binding DeviceStatus.ReactOutHotGasValve, ConverterParameter=5, Converter={StaticResource deviceConvert}}"
Fill="{Binding DeviceStatus.ReactOutHotGasValve, ConverterParameter=2, Converter={StaticResource deviceConvert}}"
LineWidth="1" />
@@ -846,6 +946,7 @@
Height="16" HorizontalAlignment="Center" VerticalAlignment="Top"
EdgeColor="{Binding DeviceStatus.ReactOutHotGasValve, ConverterParameter=2, Converter={StaticResource deviceConvert}}"
OpenEnable="{Binding DeviceStatus.ReactOutHotGasValve}" />
<!-- 之前抽真空阀叫排热空气阀,后面改了 -->
<TextBlock
Canvas.Left="613" Canvas.Top="272" Canvas.Right="384.8" HorizontalAlignment="Left"
VerticalAlignment="Top" FontSize="12" Foreground="White" Text="抽真空阀"
@@ -864,67 +965,75 @@
Fill="{Binding DeviceStatus.ReactDrainValve, ConverterParameter=2, Converter={StaticResource deviceConvert}}"
LineWidth="10" Speed="1.5" />
<bpa:PipeLineH
Canvas.Left="433" Canvas.Top="318" Canvas.Right="269" Width="298"
Height="5" HorizontalAlignment="Center" VerticalAlignment="Top" d:Direction="2"
Direction="{Binding DeviceStatus.ReactDrainValve, ConverterParameter=1, Converter={StaticResource deviceConvert}}"
Canvas.Left="505" Canvas.Top="318" Canvas.Right="269" Width="226"
Height="5" HorizontalAlignment="Left" VerticalAlignment="Center" d:Direction="2"
Direction="{Binding DeviceStatus.ReactDrainValve, ConverterParameter=5, Converter={StaticResource deviceConvert}}"
Fill="{Binding DeviceStatus.ReactDrainValve, ConverterParameter=2, Converter={StaticResource deviceConvert}}"
LineWidth="1" />
<bpa:HandValve
Canvas.Left="445" Canvas.Top="310.5" Canvas.Right="339" Width="16"
Height="16" HorizontalAlignment="Center" VerticalAlignment="Top"
Canvas.Left="535" Canvas.Top="310" Canvas.Right="339" Width="16"
Height="16" HorizontalAlignment="Left" VerticalAlignment="Center"
EdgeColor="{Binding DeviceStatus.ReactDrainValve, ConverterParameter=2, Converter={StaticResource deviceConvert}}"
OpenEnable="{Binding DeviceStatus.ReactDrainValve}" />
<TextBlock
Canvas.Left="415" Canvas.Top="297" HorizontalAlignment="Center" VerticalAlignment="Top"
Canvas.Left="505" Canvas.Top="297" HorizontalAlignment="Left" VerticalAlignment="Center"
FontSize="12" Foreground="White" Text="反应釜排水阀" TextAlignment="Center" />
<!--#region 冷却水、疏水-->
<bpa:PipeLineV
Canvas.Left="744" Canvas.Top="225" Canvas.Right="250.9" Width="5"
Height="122" HorizontalAlignment="Center" VerticalAlignment="Top"
Direction="{Binding DeviceStatus.ReactOutColdValve, ConverterParameter=1, Converter={StaticResource deviceConvert}}"
Fill="{Binding DeviceStatus.ReactOutColdValve, ConverterParameter=2, Converter={StaticResource deviceConvert}}"
Fill="{Binding DeviceStatus.ReactOutColdValve, ConverterParameter=6, Converter={StaticResource deviceConvert}}"
LineWidth="1" />
<bpa:PipeLineTL
Canvas.Left="734" Canvas.Top="347" Canvas.Right="245.9" Width="20"
Height="10" HorizontalAlignment="Center" VerticalAlignment="Top"
Direction="{Binding DeviceStatus.ReactOutColdValve, ConverterParameter=1, Converter={StaticResource deviceConvert}}"
Fill="{Binding DeviceStatus.ReactOutColdValve, ConverterParameter=2, Converter={StaticResource deviceConvert}}"
Fill="{Binding DeviceStatus.ReactOutColdValve, ConverterParameter=6, Converter={StaticResource deviceConvert}}"
LineWidth="10" Speed="1.5" />
<bpa:PipeLineH
Canvas.Left="199" Canvas.Top="352" Canvas.Right="260.6" Width="540"
Height="5" HorizontalAlignment="Center" VerticalAlignment="Top" d:Direction="2"
Direction="{Binding DeviceStatus.ReactOutColdValve, ConverterParameter=1, Converter={StaticResource deviceConvert}}"
Fill="{Binding DeviceStatus.ReactOutColdValve, ConverterParameter=2, Converter={StaticResource deviceConvert}}"
LineWidth="1" Speed="10" />
Canvas.Left="340" Canvas.Top="352" Canvas.Right="260.6" Width="399"
Height="5" HorizontalAlignment="Left" VerticalAlignment="Center" d:Direction="2"
Direction="{Binding DeviceStatus.ReactOutColdValve, ConverterParameter=5, Converter={StaticResource deviceConvert}}"
Fill="{Binding DeviceStatus.ReactOutColdValve, ConverterParameter=6, Converter={StaticResource deviceConvert}}"
LineWidth="1" Speed="16" />
<bpa:HandValve
Canvas.Left="424" Canvas.Top="345" Canvas.Right="360" Width="16"
Height="16" HorizontalAlignment="Center" VerticalAlignment="Top"
EdgeColor="{Binding DeviceStatus.ReactOutColdValve, ConverterParameter=2, Converter={StaticResource deviceConvert}}"
Canvas.Left="434" Canvas.Top="345" Canvas.Right="360" Width="16"
Height="16" HorizontalAlignment="Left" VerticalAlignment="Center"
EdgeColor="{Binding DeviceStatus.ReactOutColdValve, ConverterParameter=6, Converter={StaticResource deviceConvert}}"
OpenEnable="{Binding DeviceStatus.ReactOutColdValve}" />
<TextBlock
Canvas.Left="396" Canvas.Top="330" HorizontalAlignment="Left" VerticalAlignment="Top"
Canvas.Left="406" Canvas.Top="330" HorizontalAlignment="Left" VerticalAlignment="Center"
FontSize="12" Foreground="White" Text="冷却水、疏水" TextAlignment="Center" />
<!--#region 进清水阀、进卤水阀、压缩空气进气阀进连接处-->
<bpa:PipeLineV
Canvas.Left="751.7" Canvas.Top="224.571" Canvas.Right="243.3" Width="5"
Height="160" HorizontalAlignment="Center" VerticalAlignment="Top" d:Direction="2"
Direction="2" Fill="#E31A1A" LineWidth="1" />
Height="160" HorizontalAlignment="Center" VerticalAlignment="Top" LineWidth="1">
<bpa:PipeLineV.Fill>
<MultiBinding Converter="{StaticResource MultiBoolDeviceControl}" ConverterParameter="2">
<Binding Path="DeviceStatus.ReactInCleanWaterValve" />
<Binding Path="DeviceStatus.ReactPressureAirInValve" />
<Binding Path="DeviceStatus.ReactInBrineWaterValve" />
</MultiBinding>
</bpa:PipeLineV.Fill>
<bpa:PipeLineV.Direction>
<MultiBinding Converter="{StaticResource MultiBoolDeviceControl}" ConverterParameter="5">
<Binding Path="DeviceStatus.ReactInCleanWaterValve" />
<Binding Path="DeviceStatus.ReactPressureAirInValve" />
<Binding Path="DeviceStatus.ReactInBrineWaterValve" />
</MultiBinding>
</bpa:PipeLineV.Direction>
</bpa:PipeLineV>
<bpa:PipeLineTL
Canvas.Left="741.7" Canvas.Top="384.3" Canvas.Right="238.3" Width="20"
Height="10" HorizontalAlignment="Center" VerticalAlignment="Top" d:Direction="2"
Direction="{Binding DeviceStatus.ReactInCleanWaterValve, ConverterParameter=1, Converter={StaticResource deviceConvert}}"
Direction="{Binding DeviceStatus.ReactInCleanWaterValve, ConverterParameter=5, Converter={StaticResource deviceConvert}}"
Fill="{Binding DeviceStatus.ReactInCleanWaterValve, ConverterParameter=2, Converter={StaticResource deviceConvert}}"
LineWidth="10" Speed="1.5" />
<bpa:PipeLineH
Canvas.Left="726.9" Canvas.Top="389.3" Canvas.Right="253.1" Width="20"
Height="5" HorizontalAlignment="Center" VerticalAlignment="Top"
Direction="{Binding DeviceStatus.ReactInCleanWaterValve, ConverterParameter=1, Converter={StaticResource deviceConvert}}"
Fill="{Binding DeviceStatus.ReactInCleanWaterValve, ConverterParameter=2, Converter={StaticResource deviceConvert}}"
LineWidth="1" />
<!--#region 进清水阀-->
<bpa:PipeLineH
Canvas.Left="549" Canvas.Top="389.5" Canvas.Right="272.9" Width="178"
Height="5" HorizontalAlignment="Left" VerticalAlignment="Center" d:Direction="1"
Canvas.Left="549" Canvas.Top="389" Canvas.Right="272.9" Width="198"
Height="5" HorizontalAlignment="Center" VerticalAlignment="Center" d:Direction="1"
Direction="{Binding DeviceStatus.ReactInCleanWaterValve, ConverterParameter=1, Converter={StaticResource deviceConvert}}"
Fill="{Binding DeviceStatus.ReactInCleanWaterValve, ConverterParameter=2, Converter={StaticResource deviceConvert}}"
LineWidth="1" />
@@ -937,18 +1046,18 @@
Canvas.Left="538" Canvas.Top="367" HorizontalAlignment="Left" VerticalAlignment="Top"
FontSize="12" Foreground="White" Text="进清水阀" TextAlignment="Center" />
<bpa:PipeLineV
Canvas.Left="717.7" Canvas.Top="399" Canvas.Right="277.3" Width="5"
Height="15" HorizontalAlignment="Center" VerticalAlignment="Top" d:Direction="2"
Direction="{Binding DeviceStatus.ReactPressureAirInValve, ConverterParameter=1, Converter={StaticResource deviceConvert}}"
Canvas.Left="751.5" Canvas.Top="385" Canvas.Right="277.3" Width="5"
Height="29" HorizontalAlignment="Left" VerticalAlignment="Center" d:Direction="2"
Direction="{Binding DeviceStatus.ReactPressureAirInValve, ConverterParameter=5, Converter={StaticResource deviceConvert}}"
Fill="{Binding DeviceStatus.ReactPressureAirInValve, ConverterParameter=2, Converter={StaticResource deviceConvert}}"
LineWidth="1" Speed="1.5" />
<!--#region 进卤水阀-->
<bpa:PipeLineV
Canvas.Left="717.7" Canvas.Top="414" Canvas.Right="277.3" Width="5"
Height="19.5" HorizontalAlignment="Center" VerticalAlignment="Top" d:Direction="2"
Direction="{Binding DeviceStatus.ReactInBrineWaterValve, ConverterParameter=1, Converter={StaticResource deviceConvert}}"
Canvas.Left="751.5" Canvas.Top="414" Canvas.Right="277.3" Width="5"
Height="20" HorizontalAlignment="Left" VerticalAlignment="Center" d:Direction="2"
Direction="{Binding DeviceStatus.ReactInBrineWaterValve, ConverterParameter=5, Converter={StaticResource deviceConvert}}"
Fill="{Binding DeviceStatus.ReactInBrineWaterValve, ConverterParameter=2, Converter={StaticResource deviceConvert}}"
LineWidth="1" Speed="1.5" />
LineWidth="1" Speed="1" />
<TextBlock
Canvas.Left="583.798" Canvas.Top="446.79" Canvas.Right="240" HorizontalAlignment="Center"
VerticalAlignment="Top" FontSize="12" Foreground="White" Text="进卤水阀" />
@@ -964,14 +1073,14 @@
VerticalAlignment="Top" Foreground="White" Text="卤水泵" />
<!--#region 压缩空气进气阀-->
<bpa:PipeLineTL
Canvas.Left="712.7" Canvas.Top="410.037" Canvas.Right="277.3" Width="10"
Height="10" HorizontalAlignment="Center" VerticalAlignment="Top" d:Direction="2"
Direction="{Binding DeviceStatus.ReactPressureAirInValve, ConverterParameter=1, Converter={StaticResource deviceConvert}}"
Canvas.Left="746.5" Canvas.Top="410" Canvas.Right="277.3" Width="10"
Height="10" HorizontalAlignment="Left" VerticalAlignment="Center" d:Direction="2"
Direction="{Binding DeviceStatus.ReactPressureAirInValve, ConverterParameter=5, Converter={StaticResource deviceConvert}}"
Fill="{Binding DeviceStatus.ReactPressureAirInValve, ConverterParameter=2, Converter={StaticResource deviceConvert}}"
LineWidth="10" Speed="1.5" />
<bpa:PipeLineH
Canvas.Left="379" Canvas.Top="415" Canvas.Right="286.9" Width="334"
Height="5" HorizontalAlignment="Left" VerticalAlignment="Center" d:Direction="1"
Canvas.Left="379" Canvas.Top="415" Canvas.Right="286.9" Width="368"
Height="5" HorizontalAlignment="Center" VerticalAlignment="Center" d:Direction="1"
Direction="{Binding DeviceStatus.ReactPressureAirInValve, ConverterParameter=1, Converter={StaticResource deviceConvert}}"
Fill="{Binding DeviceStatus.ReactPressureAirInValve, ConverterParameter=2, Converter={StaticResource deviceConvert}}"
LineWidth="1" />
@@ -986,43 +1095,55 @@

<!--#region 冷却水进水阀-->
<bpa:PipeLineV
Canvas.Left="744.1" Canvas.Top="31.963" Canvas.Right="250.9" Width="5"
Height="169" HorizontalAlignment="Center" VerticalAlignment="Top" Fill="#E31A1A"
LineWidth="1" />
Canvas.Left="744" Canvas.Top="61" Canvas.Right="255.9" Width="5"
Height="140" HorizontalAlignment="Center" VerticalAlignment="Top" LineWidth="1">
<bpa:PipeLineV.Fill>
<MultiBinding Converter="{StaticResource MultiBoolToColorConverter}" ConverterParameter="Green,Red">
<Binding Path="DeviceStatus.ReactInColdValve" />
<Binding Path="DeviceStatus.ReactInSteamValue" />
</MultiBinding>
</bpa:PipeLineV.Fill>
<bpa:PipeLineV.Direction>
<MultiBinding Converter="{StaticResource MultiBoolDeviceControl}" ConverterParameter="1">
<Binding Path="DeviceStatus.ReactInColdValve" />
<Binding Path="DeviceStatus.ReactInSteamValue" />
</MultiBinding>
</bpa:PipeLineV.Direction>
</bpa:PipeLineV>
<bpa:PipeLineBL
Canvas.Left="739.1" Canvas.Top="51.3" Canvas.Right="250.9" Width="10"
Canvas.Left="739.1" Canvas.Top="51.0" Canvas.Right="250.9" Width="10"
Height="10" HorizontalAlignment="Center" VerticalAlignment="Top"
Direction="{Binding DeviceStatus.ReactInColdValve, ConverterParameter=1, Converter={StaticResource deviceConvert}}"
Fill="{Binding DeviceStatus.ReactInColdValve, ConverterParameter=2, Converter={StaticResource deviceConvert}}"
Fill="{Binding DeviceStatus.ReactInColdValve, ConverterParameter=6, Converter={StaticResource deviceConvert}}"
LineWidth="10" Speed="1.5" />
<bpa:PipeLineBL
Canvas.Left="184.502" Canvas.Top="51.3" Width="10" Height="10"
HorizontalAlignment="Center" VerticalAlignment="Top" Fill="#E31A1A" LineWidth="10"
Speed="2" />
Canvas.Left="237" Canvas.Top="51" Width="10" Height="10"
HorizontalAlignment="Left" VerticalAlignment="Center"
Direction="{Binding DeviceStatus.ColdWaterTankInWaterValve, ConverterParameter=1, Converter={StaticResource deviceConvert}}"
Fill="{Binding DeviceStatus.ColdWaterTankInWaterValve, ConverterParameter=6, Converter={StaticResource deviceConvert}}"
LineWidth="10" Speed="2" />
<bpa:PipeLineH
Canvas.Left="31" Canvas.Top="51" Canvas.Right="260.7" Width="642"
Height="5" HorizontalAlignment="Left" VerticalAlignment="Center" d:Direction="2"
Direction="2" Fill="#E31A1A" LineWidth="1" Speed="2" />
<bpa:PipeLineV
Canvas.Left="189.5" Canvas.Top="61" Width="5" Height="107"
HorizontalAlignment="Left" VerticalAlignment="Center" d:Direction="1" Fill="#E31A1A"
LineWidth="1" />
Canvas.Left="220" Canvas.Top="51" Canvas.Right="260.7" Width="519"
Height="5" HorizontalAlignment="Left" VerticalAlignment="Center"
Direction="{Binding DeviceStatus.ReactInColdValve, ConverterParameter=5, Converter={StaticResource deviceConvert}}"
Fill="{Binding DeviceStatus.ReactInColdValve, ConverterParameter=6, Converter={StaticResource deviceConvert}}"
LineWidth="1" Speed="1" />
<bpa:PipeLineH
Canvas.Left="199.1" Canvas.Top="203.154" Width="33.5" Height="5"
HorizontalAlignment="Center" VerticalAlignment="Top" d:Direction="1"
Canvas.Left="252" Canvas.Top="203" Width="26" Height="5"
HorizontalAlignment="Center" VerticalAlignment="Center" d:Direction="1"
Direction="{Binding DeviceStatus.ColdWaterTankInWaterValve, ConverterParameter=1, Converter={StaticResource deviceConvert}}"
Fill="{Binding DeviceStatus.ColdWaterTankInWaterValve, ConverterParameter=2, Converter={StaticResource deviceConvert}}"
Fill="{Binding DeviceStatus.ColdWaterTankInWaterValve, ConverterParameter=6, Converter={StaticResource deviceConvert}}"
LineWidth="1" />
<bpa:PipeLineTR
Canvas.Left="189.5" Canvas.Top="198.154" Width="10" Height="10"
HorizontalAlignment="Center" VerticalAlignment="Top" d:Direction="2"
Direction="{Binding DeviceStatus.ColdWaterTankInWaterValve, ConverterParameter=1, Converter={StaticResource deviceConvert}}"
Fill="{Binding DeviceStatus.ColdWaterTankInWaterValve, ConverterParameter=2, Converter={StaticResource deviceConvert}}"
Canvas.Left="242" Canvas.Top="198" Width="10" Height="10"
HorizontalAlignment="Left" VerticalAlignment="Center" d:Direction="2"
Direction="{Binding DeviceStatus.ColdWaterTankInWaterValve, ConverterParameter=5, Converter={StaticResource deviceConvert}}"
Fill="{Binding DeviceStatus.ColdWaterTankInWaterValve, ConverterParameter=6, Converter={StaticResource deviceConvert}}"
LineWidth="10" Speed="1" />
<bpa:HandValve
Canvas.Left="670" Canvas.Top="44" Width="16" Height="16"
HorizontalAlignment="Left" VerticalAlignment="Center"
EdgeColor="{Binding DeviceStatus.ReactInColdValve, ConverterParameter=2, Converter={StaticResource deviceConvert}}"
EdgeColor="{Binding DeviceStatus.ReactInColdValve, ConverterParameter=6, Converter={StaticResource deviceConvert}}"
OpenEnable="{Binding DeviceStatus.ReactInColdValve}" />
<TextBlock
Canvas.Left="640" Canvas.Top="30" HorizontalAlignment="Left" VerticalAlignment="Center"
@@ -1030,8 +1151,8 @@

<!--#region 风机-->
<bpa:PipeLineBL
Canvas.Left="239.709" Canvas.Top="69.202" Width="10" Height="10"
HorizontalAlignment="Center" VerticalAlignment="Top"
Canvas.Left="285" Canvas.Top="69" Width="10" Height="10"
HorizontalAlignment="Left" VerticalAlignment="Center"
Direction="{Binding DeviceStatus.ColdWaterTankVacuumValve, ConverterParameter=1, Converter={StaticResource deviceConvert}}"
Fill="{Binding DeviceStatus.ColdWaterTankVacuumValve, ConverterParameter=2, Converter={StaticResource deviceConvert}}"
LineWidth="10" Speed="1" />
@@ -1048,12 +1169,12 @@
IsEnabled="False"
Style="{StaticResource wind}" />
<TextBlock
Canvas.Left="101" Canvas.Top="206" Canvas.Right="384.8" Height="20"
Canvas.Left="101" Canvas.Top="211" Canvas.Right="384.8" Height="20"
HorizontalAlignment="Center" VerticalAlignment="Top" d:Foreground="Red" FontSize="16"
Foreground="{Binding DeviceStatus.CompressorRunning, Converter={StaticResource BoolToColorConverter}}"
Text="⚫" TextAlignment="Center" />
<TextBlock
Canvas.Left="88" Canvas.Top="229" Canvas.Right="384.8" HorizontalAlignment="Center"
Canvas.Left="88" Canvas.Top="234" Canvas.Right="384.8" HorizontalAlignment="Center"
VerticalAlignment="Top" FontSize="12" Foreground="White" Text="空压机&#xA;启动反馈"
TextAlignment="Center" />
<TextBlock
@@ -1096,38 +1217,44 @@
Fill="{Binding DeviceStatus.ReactInSteamValue, ConverterParameter=2, Converter={StaticResource deviceConvert}}"
LineWidth="10" Speed="1.5" />
<bpa:PipeLineV
Canvas.Left="321" Canvas.Top="109" Canvas.Right="404.2" Width="5"
Height="238" HorizontalAlignment="Center" VerticalAlignment="Top" d:Direction="1"
Fill="#E31A1A" LineWidth="1" />
Canvas.Left="366" Canvas.Top="111" Canvas.Right="404.2" Width="5"
Height="236" HorizontalAlignment="Center" VerticalAlignment="Top" d:Direction="1"
Direction="{Binding DeviceStatus.ColdWaterTankInWaterValve, ConverterParameter=1, Converter={StaticResource deviceConvert}}"
Fill="{Binding DeviceStatus.ColdWaterTankInWaterValve, ConverterParameter=6, Converter={StaticResource deviceConvert}}"
LineWidth="1" />
<bpa:PipeLineBL
Canvas.Left="315.8" Canvas.Top="100.069" Canvas.Right="404.2" Width="10"
Canvas.Left="361" Canvas.Top="101" Canvas.Right="404.2" Width="10"
Height="10" HorizontalAlignment="Center" VerticalAlignment="Top" d:Direction="1"
Fill="#E31A1A" LineWidth="10" Speed="1.5" />
Direction="{Binding DeviceStatus.ColdWaterTankInWaterValve, ConverterParameter=1, Converter={StaticResource deviceConvert}}"
Fill="{Binding DeviceStatus.ColdWaterTankInWaterValve, ConverterParameter=6, Converter={StaticResource deviceConvert}}"
LineWidth="10" Speed="1.5" />
<bpa:PipeLineTL
Canvas.Left="311" Canvas.Top="347" Canvas.Right="238.3" Width="20"
Height="10" HorizontalAlignment="Center" VerticalAlignment="Top" d:Direction="1"
Fill="#E31A1A" LineWidth="10" Speed="1.5" />
Canvas.Left="356" Canvas.Top="347" Canvas.Right="238.3" Width="20"
Height="10" HorizontalAlignment="Left" VerticalAlignment="Center" d:Direction="1"
Direction="{Binding DeviceStatus.ColdWaterTankInWaterValve, ConverterParameter=1, Converter={StaticResource deviceConvert}}"
Fill="{Binding DeviceStatus.ColdWaterTankInWaterValve, ConverterParameter=6, Converter={StaticResource deviceConvert}}"
LineWidth="10" Speed="1.5" />
<TextBlock
Canvas.Left="815" Canvas.Top="120" Canvas.Right="312.8" HorizontalAlignment="Left"
VerticalAlignment="Top" FontSize="12" Foreground="White" Text="反应釜泄压阀"
Canvas.Left="798" Canvas.Top="120" Canvas.Right="312.8" HorizontalAlignment="Left"
VerticalAlignment="Center" FontSize="12" Foreground="White" Text="反应釜泄压阀"
TextAlignment="Center" />
<bpa:HandValve
Canvas.Left="182" Canvas.Top="179" Canvas.Right="343.4" Width="16"
Height="16" HorizontalAlignment="Left" VerticalAlignment="Center"
EdgeColor="{Binding DeviceStatus.ColdWaterTankInWaterValve, ConverterParameter=2, Converter={StaticResource deviceConvert}}"
Canvas.Left="234" Canvas.Top="154" Canvas.Right="343.4" Width="16"
Height="16" HorizontalAlignment="Center" VerticalAlignment="Top"
EdgeColor="{Binding DeviceStatus.ColdWaterTankInWaterValve, ConverterParameter=6, Converter={StaticResource deviceConvert}}"
OpenEnable="{Binding DeviceStatus.ColdWaterTankInWaterValve}">
<bpa:HandValve.RenderTransform>
<RotateTransform Angle="270" />
</bpa:HandValve.RenderTransform>
</bpa:HandValve>
<bpa:PipeLineH
Canvas.Left="603" Canvas.Top="438" Canvas.Right="257.5" Width="110"
Height="5" HorizontalAlignment="Left" VerticalAlignment="Center" d:Direction="1"
Canvas.Left="603" Canvas.Top="438" Canvas.Right="257.5" Width="144"
Height="5" HorizontalAlignment="Center" VerticalAlignment="Center" d:Direction="1"
Direction="{Binding DeviceStatus.ReactInBrineWaterValve, ConverterParameter=1, Converter={StaticResource deviceConvert}}"
Fill="{Binding DeviceStatus.ReactInBrineWaterValve, ConverterParameter=2, Converter={StaticResource deviceConvert}}"
LineWidth="1" Speed="10" />
<TextBlock
Canvas.Left="168" Canvas.Top="117" Canvas.Right="312.8" HorizontalAlignment="Left"
Canvas.Left="255" Canvas.Top="92" Canvas.Right="312.8" HorizontalAlignment="Center"
VerticalAlignment="Top" FontSize="12" Foreground="White"
Text="冷&#xA;凝&#xA;水&#xA;罐&#xA;进&#xA;水&#xA;阀"
TextAlignment="Center" />
@@ -1151,6 +1278,142 @@
</TransformGroup>
</bpa:Joint.RenderTransform>
</bpa:Joint>
<bpa:PipeLineTR
Canvas.Left="590.8" Canvas.Top="209.532" Canvas.Right="399.2" Width="10"
Height="10" HorizontalAlignment="Center" VerticalAlignment="Top" d:Direction="2"
Direction="{Binding DeviceStatus.HotGasEmptyValve, ConverterParameter=5, Converter={StaticResource deviceConvert}}"
Fill="{Binding DeviceStatus.HotGasEmptyValve, ConverterParameter=2, Converter={StaticResource deviceConvert}}"
LineWidth="10" Speed="1.5" />
<TextBlock
Canvas.Left="85" Canvas.Top="166" Canvas.Right="384.8" Height="20"
d:Foreground="Red" FontSize="16"
Foreground="{Binding DeviceStatus.IsSetFans, Converter={StaticResource BoolToColorConverter}}"
Text="⚫" TextAlignment="Center" HorizontalAlignment="Left" VerticalAlignment="Top" />
<TextBlock
Canvas.Left="170" Canvas.Top="106" Canvas.Right="384.8" Height="20"
d:Foreground="Red" FontSize="16"
Foreground="{Binding DeviceStatus.IsSetColdWaterTankVacuumValve, Converter={StaticResource BoolToColorConverter}}"
Text="⚫" TextAlignment="Center" HorizontalAlignment="Left" VerticalAlignment="Top" />
<TextBlock
Canvas.Left="210" Canvas.Top="135" Canvas.Right="384.8" Height="20"
d:Foreground="Red" FontSize="16"
Foreground="{Binding DeviceStatus.IsSetColdWaterTankInWaterValve, Converter={StaticResource BoolToColorConverter}}"
Text="⚫" TextAlignment="Center" HorizontalAlignment="Left" VerticalAlignment="Top" />
<TextBlock
Canvas.Left="629" Canvas.Top="112" Canvas.Right="384.8" Height="20"
d:Foreground="Red" FontSize="16"
Foreground="{Binding DeviceStatus.IsSetColdWaterTankInAirValve, Converter={StaticResource BoolToColorConverter}}"
Text="⚫" TextAlignment="Center" HorizontalAlignment="Left" VerticalAlignment="Top" />
<TextBlock
Canvas.Left="636" Canvas.Top="168" Canvas.Right="384.8" Height="20"
d:Foreground="Red" FontSize="16"
Foreground="{Binding DeviceStatus.IsSetHotGasEmptyValve, Converter={StaticResource BoolToColorConverter}}"
Text="⚫" TextAlignment="Center" HorizontalAlignment="Left" VerticalAlignment="Top" />
<TextBlock
Canvas.Left="625" Canvas.Top="249" Canvas.Right="384.8" Height="20"
d:Foreground="Red" FontSize="16"
Foreground="{Binding DeviceStatus.IsSetReactOutHotGasValve, Converter={StaticResource BoolToColorConverter}}"
Text="⚫" TextAlignment="Center" HorizontalAlignment="Left" VerticalAlignment="Top" />
<TextBlock
Canvas.Left="480" Canvas.Top="213" Canvas.Right="384.8" Height="20"
d:Foreground="Red" FontSize="16"
Foreground="{Binding DeviceStatus.IsSetStartEmptyWater, Converter={StaticResource BoolToColorConverter}}"
Text="⚫" TextAlignment="Center" HorizontalAlignment="Left" VerticalAlignment="Center" />
<TextBlock
Canvas.Left="482" Canvas.Top="263" Canvas.Right="384.8" Height="20"
d:Foreground="Red" FontSize="16"
Foreground="{Binding DeviceStatus.IsSetReactDrainValve, Converter={StaticResource BoolToColorConverter}}"
Text="⚫" TextAlignment="Center" HorizontalAlignment="Left" VerticalAlignment="Top" />
<TextBlock
Canvas.Left="427" Canvas.Top="258" Canvas.Right="384.8" Height="20"
d:Foreground="Red" FontSize="16"
Foreground="{Binding DeviceStatus.IsSetReactOutColdValve, Converter={StaticResource BoolToColorConverter}}"
Text="⚫" TextAlignment="Center" HorizontalAlignment="Left" VerticalAlignment="Top" />
<TextBlock
Canvas.Left="200" Canvas.Top="255" Canvas.Right="384.8" Height="20"
d:Foreground="Red" FontSize="16"
Foreground="{Binding DeviceStatus.IsSetBrineTankZero, Converter={StaticResource BoolToColorConverter}}"
Text="⚫" TextAlignment="Center" HorizontalAlignment="Left" VerticalAlignment="Top" />
<TextBlock
Canvas.Left="209" Canvas.Top="382" Canvas.Right="384.8" Height="20"
d:Foreground="Red" FontSize="16"
Foreground="{Binding DeviceStatus.IsSetStartEnterBrine, Converter={StaticResource BoolToColorConverter}}"
Text="⚫" TextAlignment="Center" HorizontalAlignment="Left" VerticalAlignment="Top" />
<TextBlock
Canvas.Left="382" Canvas.Top="383" Canvas.Right="384.8" Height="20"
d:Foreground="Red" FontSize="16"
Foreground="{Binding DeviceStatus.IsSetReactPressureAirInValve, Converter={StaticResource BoolToColorConverter}}"
Text="⚫" TextAlignment="Center" HorizontalAlignment="Left" VerticalAlignment="Top" />
<TextBlock
Canvas.Left="549" Canvas.Top="393" Canvas.Right="384.8" Height="20"
d:Foreground="Red" FontSize="16"
Foreground="{Binding DeviceStatus.IsSetReactInCleanWaterValve, Converter={StaticResource BoolToColorConverter}}"
Text="⚫" TextAlignment="Center" HorizontalAlignment="Left" VerticalAlignment="Top" />
<TextBlock
Canvas.Left="318" Canvas.Top="455" Canvas.Right="384.8" Height="20"
d:Foreground="Red" FontSize="16"
Foreground="{Binding DeviceStatus.IsSetBrinePumpState, Converter={StaticResource BoolToColorConverter}}"
Text="⚫" TextAlignment="Center" HorizontalAlignment="Left" VerticalAlignment="Top" />
<TextBlock
Canvas.Left="39" Canvas.Top="462" Canvas.Right="384.8" Height="20"
d:Foreground="Red" FontSize="16"
Foreground="{Binding DeviceStatus.IsSetBrineTankZero, Converter={StaticResource BoolToColorConverter}}"
Text="⚫" TextAlignment="Center" HorizontalAlignment="Left" VerticalAlignment="Top" />
<TextBlock
Canvas.Left="588" Canvas.Top="460" Canvas.Right="384.8" Height="20"
d:Foreground="Red" FontSize="16"
Foreground="{Binding DeviceStatus.IsSetReactInBrineWaterValve, Converter={StaticResource BoolToColorConverter}}"
Text="⚫" TextAlignment="Center" HorizontalAlignment="Left" VerticalAlignment="Center" />
<TextBlock
Canvas.Left="678" Canvas.Top="366" Canvas.Right="384.8" Height="20"
d:Foreground="Red" FontSize="16"
Foreground="{Binding DeviceStatus.IsSetStartClean, Converter={StaticResource BoolToColorConverter}}"
Text="⚫" TextAlignment="Center" HorizontalAlignment="Left" VerticalAlignment="Top" />
<TextBlock
Canvas.Left="819" Canvas.Top="437" Canvas.Right="384.8" Height="20"
d:Foreground="Red" FontSize="16"
Foreground="{Binding DeviceStatus.IsSetGoAddPosition, Converter={StaticResource BoolToColorConverter}}"
Text="⚫" TextAlignment="Center" HorizontalAlignment="Center" VerticalAlignment="Top" />
<TextBlock
Canvas.Left="894" Canvas.Top="439" Canvas.Right="384.8" Height="20"
d:Foreground="Red" FontSize="16"
Foreground="{Binding DeviceStatus.IsSetReactEnter, Converter={StaticResource BoolToColorConverter}}"
Text="⚫" TextAlignment="Center" HorizontalAlignment="Center" VerticalAlignment="Top" />
<TextBlock
Canvas.Left="819" Canvas.Top="372" Canvas.Right="384.8" Height="20"
d:Foreground="Red" FontSize="16"
Foreground="{Binding DeviceStatus.IsSetReactOut, Converter={StaticResource BoolToColorConverter}}"
Text="⚫" TextAlignment="Center" HorizontalAlignment="Left" VerticalAlignment="Top" />
<TextBlock
Canvas.Left="894" Canvas.Top="372" Canvas.Right="384.8" Height="20"
d:Foreground="Red" FontSize="16"
Foreground="{Binding DeviceStatus.IsSetReactHomeBit, Converter={StaticResource BoolToColorConverter}}"
Text="⚫" TextAlignment="Center" HorizontalAlignment="Left" VerticalAlignment="Center" />
<TextBlock
Canvas.Left="968" Canvas.Top="373" Canvas.Right="384.8" Height="20"
d:Foreground="Red" FontSize="16"
Foreground="{Binding DeviceStatus.IsSetReactReverse, Converter={StaticResource BoolToColorConverter}}"
Text="⚫" TextAlignment="Center" HorizontalAlignment="Left" VerticalAlignment="Top" />
<TextBlock
Canvas.Left="941" Canvas.Top="307" Canvas.Right="384.8" Height="20"
d:Foreground="Red" FontSize="16"
Foreground="{Binding DeviceStatus.IsSetReactTurnMotorJogging, Converter={StaticResource BoolToColorConverter}}"
Text="⚫" TextAlignment="Center" HorizontalAlignment="Left" VerticalAlignment="Top" />
<TextBlock
Canvas.Left="934" Canvas.Top="120" Canvas.Right="384.8" Height="20"
d:Foreground="Red" FontSize="16"
Foreground="{Binding DeviceStatus.IsSetReactTurnMotor, Converter={StaticResource BoolToColorConverter}}"
Text="⚫" TextAlignment="Center" HorizontalAlignment="Left" VerticalAlignment="Top" />
<TextBlock
Canvas.Left="934" Canvas.Top="48" Canvas.Right="384.8" Height="20"
d:Foreground="Red" FontSize="16"
Foreground="{Binding DeviceStatus.IsSetVacuumDistill, Converter={StaticResource BoolToColorConverter}}"
Text="⚫" TextAlignment="Center" HorizontalAlignment="Left" VerticalAlignment="Top" />
<TextBlock
Canvas.Left="797" Canvas.Top="85" Canvas.Right="384.8" Height="20"
d:Foreground="Red" FontSize="16"
Foreground="{Binding DeviceStatus.IsSetReactPressureReliefValve, Converter={StaticResource BoolToColorConverter}}"
Text="⚫" TextAlignment="Center" HorizontalAlignment="Left" VerticalAlignment="Top" />
<!--#endregion-->
</Canvas>
</Viewbox>


+ 3
- 2
BPASmartClient.Academy/View/ReactionKettle50LView.xaml.cs View File

@@ -23,12 +23,13 @@ namespace BPASmartClient.Academy.View
/// </summary>
public partial class ReactionKettle50LView : UserControl
{
public ReactionKettle50LView()
private volatile static ReactionKettle50LView _Instance;
public static ReactionKettle50LView GetInstance => _Instance ?? (_Instance = new ReactionKettle50LView());
private ReactionKettle50LView()
{
InitializeComponent();
this.DataContext = ReactionKettle50LViewModel.GetInstance;
}
private bool _lastState = false;




Loading…
Cancel
Save