ReservoirsCatholyteView.xaml 38 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486
  1. <UserControl x:Class="PunkHPX8_MainPages.Views.ReservoirsCatholyteView"
  2. xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  3. xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  4. xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
  5. xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
  6. xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity"
  7. xmlns:local="clr-namespace:PunkHPX8_MainPages.Views"
  8. xmlns:ctrls="clr-namespace:PunkHPX8_Themes.UserControls;assembly=PunkHPX8_Themes"
  9. xmlns:userControls="clr-namespace:PunkHPX8_Themes.UserControls;assembly=PunkHPX8_Themes"
  10. xmlns:converters="clr-namespace:PunkHPX8_Themes.Converters;assembly=PunkHPX8_Themes"
  11. xmlns:prism="http://prismlibrary.com/"
  12. prism:ViewModelLocator.AutoWireViewModel="True"
  13. mc:Ignorable="d"
  14. xmlns:customControls="clr-namespace:PunkHPX8_Themes.CustomControls;assembly=PunkHPX8_Themes"
  15. xmlns:Control="clr-namespace:MECF.Framework.UI.Core.Control;assembly=MECF.Framework.UI.Core"
  16. xmlns:Control1="clr-namespace:Aitex.Core.UI.Control;assembly=MECF.Framework.UI.Core"
  17. d:DesignHeight="800" d:DesignWidth="1500">
  18. <UserControl.Resources>
  19. <converters:BoolToOrientation x:Key="boolToOrientation"></converters:BoolToOrientation>
  20. <converters:BoolToOrientation2 x:Key="boolToOrientation2"></converters:BoolToOrientation2>
  21. <converters:BoolToColor x:Key="boolToColor"/>
  22. <converters:BoolToRedColor x:Key="boolToRedColor"/>
  23. <converters:boolToRedColor2 x:Key="boolToRedColor2"/>
  24. <converters:BoolToVisibility2 x:Key="boolToVisibility2"/>
  25. <converters:MutiBoolToBool x:Key="mutiBoolToBool"/>
  26. </UserControl.Resources>
  27. <Canvas>
  28. <StackPanel Canvas.Left="220" Canvas.Top="40" Orientation="Horizontal" Grid.Row="1" HorizontalAlignment="Center" VerticalAlignment="Top" Margin="-220,-40,0,0">
  29. <Grid>
  30. <Grid.RowDefinitions>
  31. <RowDefinition Height="5"/>
  32. <RowDefinition Height="170"/>
  33. <RowDefinition Height="170"/>
  34. <RowDefinition Height="160"/>
  35. <RowDefinition Height="250"/>
  36. <RowDefinition/>
  37. </Grid.RowDefinitions>
  38. <Grid.ColumnDefinitions>
  39. <ColumnDefinition Width="700"></ColumnDefinition>
  40. <ColumnDefinition Width="470"></ColumnDefinition>
  41. <ColumnDefinition Width="500"></ColumnDefinition>
  42. <ColumnDefinition Width="200"></ColumnDefinition>
  43. <ColumnDefinition/>
  44. </Grid.ColumnDefinitions>
  45. <Grid Grid.Row="1" Grid.Column="0">
  46. <ctrls:ReservoirsInformationPanel HorizontalAlignment="Left" Margin="10,0,0,0" VerticalAlignment="Center"
  47. ModuleTitle="{Binding Module}"
  48. RecipeContentValue="{Binding CurrentRecipe.Ppid}"
  49. StateValue="{Binding State}"
  50. OperatingModeValue="{Binding ReservoirsPersistent.OperatingMode}"
  51. />
  52. </Grid>
  53. <Grid Grid.Row="2" Grid.Column="3">
  54. <ctrls:OperatingModeControl HorizontalAlignment="Left" Margin="10,0,0,0" VerticalAlignment="Top"
  55. ModuleName="{Binding Module}"
  56. OperationModeValue="{Binding ReservoirsPersistent.OperatingMode}"
  57. />
  58. </Grid>
  59. <Grid Grid.Row="1" Grid.Column="3">
  60. <Grid.RowDefinitions>
  61. <RowDefinition Height="60"></RowDefinition>
  62. <RowDefinition Height="50"></RowDefinition>
  63. <RowDefinition Height="60"></RowDefinition>
  64. </Grid.RowDefinitions>
  65. <Grid Grid.Row="0">
  66. <Label Content="{Binding Module}" FontSize="35" FontWeight="Bold" VerticalContentAlignment="Center" HorizontalContentAlignment="Center" VerticalAlignment="Bottom" HorizontalAlignment="Center" Margin="0,0,0,13"></Label>
  67. </Grid>
  68. <Grid Grid.Row="2">
  69. <Label Content="Operating Mode" FontSize="15" FontWeight="Bold" VerticalContentAlignment="Center" HorizontalContentAlignment="Center" VerticalAlignment="Bottom" HorizontalAlignment="Center"></Label>
  70. </Grid>
  71. </Grid>
  72. <GroupBox Header="CA Settings" FontWeight="Bold" FontSize="15" Grid.Column="3" Grid.Row="2" Margin="10,140,0,109" Grid.RowSpan="2">
  73. <Grid>
  74. <Grid.RowDefinitions>
  75. <RowDefinition Height="30"></RowDefinition>
  76. <RowDefinition Height="35"></RowDefinition>
  77. </Grid.RowDefinitions>
  78. <Grid Grid.Row="0" HorizontalAlignment="Center" VerticalAlignment="Center">
  79. <Label FontSize="14" FontWeight="Bold">Pump Speed(RPM)</Label>
  80. </Grid>
  81. <Control:NumbericTextBox IsEnabled="{Binding IsEnabled}" Grid.Row="1" Margin="10,0,10,0" VerticalAlignment="Center" HorizontalAlignment="Center" FontSize="15" FontWeight="Bold" Height="30" Width="130"
  82. Value="{Binding Path=CAPumpSpeed,Mode=TwoWay}" TextboxName="CAPumpSpeed" KeyOperation="{Binding CAPumpSpeedCommand}"
  83. />
  84. </Grid>
  85. </GroupBox>
  86. <GroupBox Header="DI Replen" FontWeight="Bold" FontSize="15" Grid.Row="3" Grid.Column="3" Margin="10,80,0,0" Grid.RowSpan="3">
  87. <Grid>
  88. <Grid.RowDefinitions>
  89. <RowDefinition Height="35"></RowDefinition>
  90. <RowDefinition Height="30"></RowDefinition>
  91. <RowDefinition Height="35"></RowDefinition>
  92. <RowDefinition Height="35"></RowDefinition>
  93. <RowDefinition Height="30"></RowDefinition>
  94. <RowDefinition Height="35"></RowDefinition>
  95. <RowDefinition Height="35"></RowDefinition>
  96. <RowDefinition Height="35"></RowDefinition>
  97. <RowDefinition Height="35"></RowDefinition>
  98. <RowDefinition Height="35"></RowDefinition>
  99. </Grid.RowDefinitions>
  100. <Grid Grid.Row="0">
  101. <Label Content="Total On Time" FontSize="14" FontWeight="Bold" VerticalContentAlignment="Center" HorizontalContentAlignment="Center" VerticalAlignment="Center" HorizontalAlignment="Center" />
  102. </Grid>
  103. <Border Grid.Row="1" Background="Black" Width="130" Margin="0 -3 0 0">
  104. <TextBlock Text="{Binding ReservoirsPersistent.TotalReplen,StringFormat={}{0} sec}" Foreground="Lime" FontSize="14" FontWeight="Bold" HorizontalAlignment="Center" VerticalAlignment="Center"/>
  105. </Border>
  106. <Grid Grid.Row="2">
  107. <Button IsEnabled="{Binding IsEnabled}" Style="{StaticResource SysBtnStyle}" Grid.Column="1" Command="{Binding ResetTotalCommand}" Height="30" Width="130" HorizontalAlignment="Center" VerticalAlignment="Bottom" Content="Reset Total"></Button>
  108. </Grid>
  109. <Grid Grid.Row="3">
  110. <Label Content="Max On Time" FontSize="14" FontWeight="Bold" VerticalContentAlignment="Center" HorizontalContentAlignment="Center" VerticalAlignment="Center" HorizontalAlignment="Center" />
  111. </Grid>
  112. <Border Grid.Row="4" Background="Black" Width="130" Margin="0 -3 0 0">
  113. <TextBlock Text="{Binding DIValveMaxOnTime,StringFormat={}{0} sec}" Foreground="Lime" FontSize="14" FontWeight="Bold" HorizontalAlignment="Center" VerticalAlignment="Center"/>
  114. </Border>
  115. <Grid Grid.Row="5">
  116. <Label Content="Manual Fill Time" FontSize="14" FontWeight="Bold" VerticalContentAlignment="Center" HorizontalContentAlignment="Center" VerticalAlignment="Center" HorizontalAlignment="Center" />
  117. </Grid>
  118. <Grid Grid.Row="6">
  119. <Control:IntegerTextBox IsEnabled="{Binding IsEnabled}" Value="{Binding ManualFillSeconds,Mode=TwoWay}" VerticalAlignment="Center" HorizontalAlignment="Left" Margin="25,-3,0,0" Height="30" Width="100"/>
  120. <Label Content="sec" HorizontalAlignment="Right" VerticalAlignment="Center" Height="30" Width="55" Margin="0 -3 0 0"></Label>
  121. </Grid>
  122. <Grid Grid.Row="7">
  123. <Button IsEnabled="{Binding IsEnabled}" Style="{StaticResource SysBtnStyle}" HorizontalContentAlignment="Left" Padding="10 0 0 0" Grid.Column="1" Height="30" Width="130" HorizontalAlignment="Center" VerticalAlignment="Center" Content="Manual Replen" Command="{Binding ManualDireplenCommand}"></Button>
  124. <Ellipse Grid.Column="0" Width="16" Height="16" HorizontalAlignment="Right" Margin="0 0 30 0" Fill="{Binding IsManualReplen, Converter={StaticResource boolToColor}}" Stroke="Silver"/>
  125. </Grid>
  126. <Grid Grid.Row="8">
  127. <Label Content="DI Replen Fault" HorizontalAlignment="Left" FontSize="14" VerticalAlignment="Center" Height="30" Margin="10 -3 0 0"></Label>
  128. <Ellipse Grid.Column="0" Width="16" Height="16" HorizontalAlignment="Right" Margin="0 -3 30 0" Fill="{Binding IsDIReplenFault, Converter={StaticResource boolToRedColor}}" Stroke="Silver"/>
  129. </Grid>
  130. <Grid Grid.Row="9">
  131. <Button IsEnabled="{Binding IsEnabled}" Style="{StaticResource SysBtnStyle}" Command="{Binding DIReplenClearErrorCommand}" Height="28" Width="130" HorizontalAlignment="Center" VerticalAlignment="Center" Content="Clear Error"/>
  132. </Grid>
  133. </Grid>
  134. </GroupBox>
  135. </Grid>
  136. </StackPanel>
  137. <!--pipe-->
  138. <TextBlock FontSize="18" Text="CA Sample" Canvas.Left="22" Canvas.Top="485" HorizontalAlignment="Center" VerticalAlignment="Top"></TextBlock>
  139. <TextBlock FontSize="18" Text="DI Replen" Canvas.Left="22" Canvas.Top="545" HorizontalAlignment="Center" VerticalAlignment="Top"></TextBlock>
  140. <TextBlock FontSize="18" Visibility="{Binding IsEvaporatorConfig,Converter={StaticResource boolToVisibility2}}" Text="Flow" Canvas.Left="789" Canvas.Top="381" HorizontalAlignment="Center" VerticalAlignment="Top"></TextBlock>
  141. <TextBlock FontSize="18" Visibility="{Binding IsEvaporatorConfig,Converter={StaticResource boolToVisibility2}}" Text="Flow" Canvas.Left="707" Canvas.Top="316" HorizontalAlignment="Center" VerticalAlignment="Top"></TextBlock>
  142. <TextBlock FontSize="18" Visibility="{Binding IsEvaporatorConfig,Converter={StaticResource boolToVisibility2}}" Text="CDA" Canvas.Left="870" Canvas.Top="402" HorizontalAlignment="Center" VerticalAlignment="Top"></TextBlock>
  143. <ctrls:Pipe2 Visibility="{Binding IsEvaporatorConfig,Converter={StaticResource boolToVisibility2}}" Canvas.Left="630" Canvas.Top="274" HorizontalAlignment="Center" VerticalAlignment="Top" RotateTransformValue="0" RenderTransformOrigin="0.5,0.5" Height="8" >
  144. <userControls:Pipe2.RenderTransform>
  145. <TransformGroup>
  146. <ScaleTransform/>
  147. <SkewTransform/>
  148. <RotateTransform Angle="-69.267"/>
  149. <TranslateTransform/>
  150. </TransformGroup>
  151. </userControls:Pipe2.RenderTransform>
  152. </ctrls:Pipe2>
  153. <ctrls:Pipe2 Visibility="{Binding IsEvaporatorConfig,Converter={StaticResource boolToVisibility2}}" Canvas.Left="686" Canvas.Top="273" HorizontalAlignment="Center" VerticalAlignment="Top" RotateTransformValue="0" />
  154. <ctrls:Pipe2 Visibility="{Binding IsEvaporatorConfig,Converter={StaticResource boolToVisibility2}}" Canvas.Left="752" Canvas.Top="422" HorizontalAlignment="Center" VerticalAlignment="Top" RotateTransformValue="-90" />
  155. <ctrls:Pipe2 Canvas.Left="753" Canvas.Top="539" HorizontalAlignment="Left" VerticalAlignment="Center" RotateTransformValue="0" />
  156. <ctrls:Pipe2 Canvas.Left="822" Canvas.Top="450" HorizontalAlignment="Center" VerticalAlignment="Top" RotateTransformValue="0" />
  157. <ctrls:Pipe2 Canvas.Left="1498" Canvas.Top="717" HorizontalAlignment="Left" VerticalAlignment="Center" RotateTransformValue="90" />
  158. <ctrls:FlowPipe IsFlowing="{Binding ReservoirData.CADiReplen}" Height="8" Width="70" Canvas.Left="25" Canvas.Top="580" RotateTransformValue="0" HorizontalAlignment="Left" VerticalAlignment="Center"/>
  159. <ctrls:FlowPipe IsFlowing="{Binding ReservoirData.CADiReplen}" Height="8" Width="220" Canvas.Left="100" Canvas.Top="580" RotateTransformValue="0" HorizontalAlignment="Left" VerticalAlignment="Center"/>
  160. <ctrls:FlowPipe IsReverse="True" IsFlowing="{Binding ReservoirData.CASampleFlow}" Height="8" Width="70" Canvas.Left="25" Canvas.Top="520" RotateTransformValue="0" HorizontalAlignment="Left" VerticalAlignment="Center"/>
  161. <ctrls:FlowPipe IsReverse="True" IsFlowing="{Binding ReservoirData.CASampleFlow}" Height="8" Width="220" Canvas.Left="100" Canvas.Top="520" RotateTransformValue="0" HorizontalAlignment="Left" VerticalAlignment="Center"/>
  162. <ctrls:FlowPipe IsFlowing="true" Height="8" Width="180" Canvas.Left="644" Canvas.Top="450" RotateTransformValue="0" HorizontalAlignment="Left" VerticalAlignment="Center"/>
  163. <ctrls:FlowPipe IsFlowing="{Binding ReservoirData.CAByPass}" Height="8" Width="100" Canvas.Left="654" Canvas.Top="539" RotateTransformValue="0" HorizontalAlignment="Left" VerticalAlignment="Center"/>
  164. <ctrls:FlowPipe IsFlowing="{Binding ReservoirData.CAByPass}" Height="8" Width="65" Canvas.Left="766" Canvas.Top="551" RotateTransformValue="90" HorizontalAlignment="Left" VerticalAlignment="Center"/>
  165. <ctrls:FlowPipe IsFlowing="{Binding ReservoirData.CAPumpEnable}" Height="8" Width="850" Canvas.Left="641" Canvas.Top="722" RotateTransformValue="0" HorizontalAlignment="Left" VerticalAlignment="Center"/>
  166. <ctrls:FlowPipe IsFlowing="{Binding ReservoirData.CAByPass}" Height="8" Width="107" Canvas.Left="766" Canvas.Top="617" RotateTransformValue="90" HorizontalAlignment="Left" VerticalAlignment="Center"/>
  167. <ctrls:FlowPipe IsFlowing="true" Height="8" Width="263" Canvas.Left="835" Canvas.Top="461" RotateTransformValue="90" HorizontalAlignment="Center" VerticalAlignment="Top"/>
  168. <userControls:ReservoirPump IsEnabled="{Binding IsEnabled}" ModuleName="{Binding Module}" PumpType="CAPump" IsOpenPump="{Binding ReservoirData.CAPumpRunning}" Height="60" Width="60" Canvas.Left="674" Canvas.Top="675" Tag="26" HorizontalAlignment="Left" VerticalAlignment="Top" />
  169. <TextBlock FontSize="18" Text="CA Pump" Canvas.Left="667" Canvas.Top="740" HorizontalAlignment="Left" VerticalAlignment="Top"></TextBlock>
  170. <ctrls:ExhaustPipe IsFlowing="{Binding ReservoirData.CDAFlowValve}" Visibility="{Binding IsEvaporatorConfig,Converter={StaticResource boolToVisibility2}}" Height="8" Width="55" Canvas.Left="496" Canvas.Top="318" HorizontalAlignment="Center" VerticalAlignment="Top"/>
  171. <ctrls:ExhaustPipe IsFlowing="{Binding ReservoirData.CDAFlowValve}" Visibility="{Binding IsEvaporatorConfig,Converter={StaticResource boolToVisibility2}}" Height="8" Width="50" Canvas.Left="640" Canvas.Top="273" HorizontalAlignment="Center" VerticalAlignment="Top"/>
  172. <ctrls:ExhaustPipe IsFlowing="{Binding ReservoirData.CDAFlowValve}" Visibility="{Binding IsEvaporatorConfig,Converter={StaticResource boolToVisibility2}}" Height="8" Width="19" Canvas.Left="622" Canvas.Top="285" HorizontalAlignment="Center" VerticalAlignment="Top" RenderTransformOrigin="0.5,0.5">
  173. <ctrls:ExhaustPipe.RenderTransform>
  174. <TransformGroup>
  175. <ScaleTransform/>
  176. <SkewTransform/>
  177. <RotateTransform Angle="115"/>
  178. <TranslateTransform/>
  179. </TransformGroup>
  180. </ctrls:ExhaustPipe.RenderTransform>
  181. </ctrls:ExhaustPipe>
  182. <ctrls:ExhaustPipe IsFlowing="{Binding ReservoirData.CDAFlowValve}" Visibility="{Binding IsEvaporatorConfig,Converter={StaticResource boolToVisibility2}}" Height="8" Width="43" Canvas.Left="674" Canvas.Top="302" HorizontalAlignment="Center" VerticalAlignment="Top" RenderTransformOrigin="0.5,0.5">
  183. <ctrls:ExhaustPipe.RenderTransform>
  184. <TransformGroup>
  185. <ScaleTransform/>
  186. <SkewTransform/>
  187. <RotateTransform Angle="90"/>
  188. <TranslateTransform/>
  189. </TransformGroup>
  190. </ctrls:ExhaustPipe.RenderTransform>
  191. </ctrls:ExhaustPipe>
  192. <ctrls:ExhaustPipe IsFlowing="{Binding ReservoirData.CDAFlowValve}" Visibility="{Binding IsEvaporatorConfig,Converter={StaticResource boolToVisibility2}}" Height="8" Width="109" Canvas.Left="641" Canvas.Top="379" HorizontalAlignment="Center" VerticalAlignment="Top" RenderTransformOrigin="0.5,0.5">
  193. <ctrls:ExhaustPipe.RenderTransform>
  194. <TransformGroup>
  195. <ScaleTransform/>
  196. <SkewTransform/>
  197. <RotateTransform Angle="90"/>
  198. <TranslateTransform/>
  199. </TransformGroup>
  200. </ctrls:ExhaustPipe.RenderTransform>
  201. </ctrls:ExhaustPipe>
  202. <ctrls:ExhaustPipe IsFlowing="{Binding ReservoirData.CDAFlowValve}" Visibility="{Binding IsEvaporatorConfig,Converter={StaticResource boolToVisibility2}}" Height="8" Width="20" Canvas.Left="746" Canvas.Top="425" HorizontalAlignment="Center" VerticalAlignment="Top" RenderTransformOrigin="0.5,0.5">
  203. <ctrls:ExhaustPipe.RenderTransform>
  204. <TransformGroup>
  205. <ScaleTransform/>
  206. <SkewTransform/>
  207. <RotateTransform Angle="90"/>
  208. <TranslateTransform/>
  209. </TransformGroup>
  210. </ctrls:ExhaustPipe.RenderTransform>
  211. </ctrls:ExhaustPipe>
  212. <ctrls:ExhaustPipe IsFlowing="{Binding ReservoirData.CDAFlowValve}" Visibility="{Binding IsEvaporatorConfig,Converter={StaticResource boolToVisibility2}}" Height="8" Width="50" Canvas.Left="764" Canvas.Top="409" HorizontalAlignment="Center" VerticalAlignment="Top"/>
  213. <ctrls:ExhaustPipe IsFlowing="{Binding ReservoirData.CDAFlowValve}" Visibility="{Binding IsEvaporatorConfig,Converter={StaticResource boolToVisibility2}}" Height="8" Width="50" Canvas.Left="810" Canvas.Top="409" HorizontalAlignment="Center" VerticalAlignment="Top"/>
  214. <Canvas Visibility="{Binding IsEvaporatorConfig,Converter={StaticResource boolToVisibility2}}" Width="60" Height="15" Canvas.Top="456" Canvas.Left="782" HorizontalAlignment="Center" VerticalAlignment="Top">
  215. <Path Stroke="Silver" Canvas.Left="-91.496" Canvas.Top="-20" StrokeThickness="1" Height="15" Width="10" Data="M0,0 A 0,10 0 1 1 0,10 L 0,10 H 15 L 15,10 A 0,10 0 1 1 15,0 L 15,0 V 0" HorizontalAlignment="Center" VerticalAlignment="Top" Stretch="Fill">
  216. <Path.Fill>
  217. <LinearGradientBrush StartPoint="1,1" EndPoint="0,1">
  218. <GradientStop Color="Gray" Offset="0.0" />
  219. <GradientStop Color="Gray" Offset="0.25" />
  220. <GradientStop Color="LightGray" Offset="0.5" />
  221. <GradientStop Color="Gray" Offset="0.75" />
  222. <GradientStop Color="Gray" Offset="1" />
  223. </LinearGradientBrush>
  224. </Path.Fill>
  225. </Path>
  226. <Path Stroke="Silver" Canvas.Top="-20" StrokeThickness="1" Height="15" Width="10" Data="M0,0 A 0,10 0 1 1 0,10 L 0,10 H 15 L 15,10 A 0,10 0 1 1 15,0 L 15,0 V 0" HorizontalAlignment="Center" VerticalAlignment="Top" Stretch="Fill" Canvas.Left="-31">
  227. <Path.Fill>
  228. <LinearGradientBrush StartPoint="1,1" EndPoint="0,1">
  229. <GradientStop Color="Gray" Offset="0.0" />
  230. <GradientStop Color="Gray" Offset="0.25" />
  231. <GradientStop Color="LightGray" Offset="0.5" />
  232. <GradientStop Color="Gray" Offset="0.75" />
  233. <GradientStop Color="Gray" Offset="1" />
  234. </LinearGradientBrush>
  235. </Path.Fill>
  236. </Path>
  237. <Path Stroke="Silver" Canvas.Left="-100.332" StrokeThickness="1" Height="10" Width="15" Data="M0,0 A 0,10 0 1 1 0,30 L 0,30 H 15 L 15,30 A 0,10 0 1 1 15,0 L 15,0 V 0" HorizontalAlignment="Center" VerticalAlignment="Top" Stretch="Fill" Canvas.Top="-7">
  238. <Path.Fill>
  239. <LinearGradientBrush StartPoint="0,0" EndPoint="0,1">
  240. <GradientStop Color="Gray" Offset="0.0" />
  241. <GradientStop Color="Gray" Offset="0.25" />
  242. <GradientStop Color="LightGray" Offset="0.5" />
  243. <GradientStop Color="Gray" Offset="0.75" />
  244. <GradientStop Color="Gray" Offset="1" />
  245. </LinearGradientBrush>
  246. </Path.Fill>
  247. </Path>
  248. <Path Stroke="Silver" Canvas.Left="-27.377" StrokeThickness="1" Height="10" Width="15" Data="M0,0 A 0,10 0 1 1 0,30 L 0,30 H 15 L 15,30 A 0,10 0 1 1 15,0 L 15,0 V 0" HorizontalAlignment="Center" VerticalAlignment="Top" Stretch="Fill" Canvas.Top="-7">
  249. <Path.Fill>
  250. <LinearGradientBrush StartPoint="0,0" EndPoint="0,1">
  251. <GradientStop Color="Gray" Offset="0.0" />
  252. <GradientStop Color="Gray" Offset="0.25" />
  253. <GradientStop Color="LightGray" Offset="0.5" />
  254. <GradientStop Color="Gray" Offset="0.75" />
  255. <GradientStop Color="Gray" Offset="1" />
  256. </LinearGradientBrush>
  257. </Path.Fill>
  258. </Path>
  259. <Path Stroke="Silver" StrokeThickness="1" Height="15" Width="60" Data="M0,0 A 0,10 0 1 1 0,15 L 0,15 H 15 L 60,15 A 0,10 0 1 1 60,0 L 60,0 V 0" HorizontalAlignment="Center" VerticalAlignment="Top" Canvas.Left="-86.332" Canvas.Top="-10">
  260. <Path.Fill>
  261. <LinearGradientBrush StartPoint="0,0" EndPoint="0,1">
  262. <GradientStop Color="DarkSlateGray" Offset="0.0" />
  263. <GradientStop Color="Gray" Offset="0.25" />
  264. <GradientStop Color="LightSlateGray" Offset="0.5" />
  265. <GradientStop Color="Gray" Offset="0.75" />
  266. <GradientStop Color="DarkSlateGray" Offset="1" />
  267. </LinearGradientBrush>
  268. </Path.Fill>
  269. </Path>
  270. </Canvas>
  271. <customControls:CommonValveControl IsEnabled="{Binding IsEnabled}" Status="{Binding ReservoirData.CASampleFlow,Mode=TwoWay}" ValveOrientation="Horizontal" Height="20" Width="20" OperationName="{Binding Module,StringFormat='{}{0}.CASample'}" Command="{Binding ControlValveCommand}" CommandParameter="{Binding RelativeSource={x:Static RelativeSource.Self}}" Canvas.Left="87" Canvas.Top="514" IsCanEdit="True" HorizontalAlignment="Center" VerticalAlignment="Top"/>
  272. <customControls:CommonValveControl IsEnabled="{Binding IsEnabled}" Status="{Binding ReservoirData.CADiReplen,Mode=TwoWay}" ValveOrientation="Horizontal" Height="20" Width="20" OperationName="{Binding Module,StringFormat='{}{0}.CADiReplen'}" Command="{Binding ControlValveCommand}" CommandParameter="{Binding RelativeSource={x:Static RelativeSource.Self}}" Canvas.Left="87" Canvas.Top="574" IsCanEdit="True" HorizontalAlignment="Center" VerticalAlignment="Top"/>
  273. <customControls:CommonValveControl Visibility="{Binding IsEvaporatorConfig,Converter={StaticResource boolToVisibility2}}" Status="{Binding ReservoirData.CDAFlowValve,Mode=TwoWay}" OperationName="{Binding Module,StringFormat='{}{0}.CDAFlow'}" ValveOrientation="Vertical" Height="20" Width="20" Tag="CACDAFlow" Command="{Binding ControlValveCommand}" CommandParameter="{Binding RelativeSource={x:Static RelativeSource.Self}}" Canvas.Left="686" Canvas.Top="318" IsCanEdit="True" HorizontalAlignment="Center" VerticalAlignment="Top">
  274. <customControls:CommonValveControl.IsEnabled>
  275. <MultiBinding Converter="{StaticResource mutiBoolToBool}">
  276. <Binding Path="CdaOn" />
  277. <Binding Path="IsEnabled"/>
  278. </MultiBinding>
  279. </customControls:CommonValveControl.IsEnabled>
  280. </customControls:CommonValveControl>
  281. <customControls:CommonValveControl Visibility="{Binding IsEvaporatorConfig,Converter={StaticResource boolToVisibility2}}" Status="{Binding ReservoirData.CDAFlowValve,Mode=TwoWay}" OperationName="{Binding Module,StringFormat='{}{0}.CDAFlow'}" ValveOrientation="Horizontal" Height="20" Width="20" Tag="CACDAFlow" Command="{Binding ControlValveCommand}" CommandParameter="{Binding RelativeSource={x:Static RelativeSource.Self}}" Canvas.Left="799" Canvas.Top="403" IsCanEdit="True" HorizontalAlignment="Center" VerticalAlignment="Top">
  282. <customControls:CommonValveControl.IsEnabled>
  283. <MultiBinding Converter="{StaticResource mutiBoolToBool}">
  284. <Binding Path="CdaOn" />
  285. <Binding Path="IsEnabled"/>
  286. </MultiBinding>
  287. </customControls:CommonValveControl.IsEnabled>
  288. </customControls:CommonValveControl>
  289. <customControls:CommonValveControl IsEnabled="{Binding IsEnabled}" Status="{Binding ReservoirData.CAByPass}" ValveOrientation="Horizontal" Height="20" Width="20" Canvas.Left="752" Canvas.Top="605" IsCanEdit="True" OperationName="{Binding Module,StringFormat='{}{0}.CAByPass'}" Command="{Binding ControlValveCommand}" CommandParameter="{Binding RelativeSource={x:Static RelativeSource.Self}}" HorizontalAlignment="Left" VerticalAlignment="Center" RenderTransformOrigin="0.5,0.5">
  290. <customControls:CommonValveControl.RenderTransform>
  291. <TransformGroup>
  292. <ScaleTransform/>
  293. <SkewTransform/>
  294. <RotateTransform Angle="90.0"/>
  295. <TranslateTransform/>
  296. </TransformGroup>
  297. </customControls:CommonValveControl.RenderTransform>
  298. </customControls:CommonValveControl>
  299. <userControls:CatholyteGroove IsShowHighSafety="False"
  300. CALevel="{Binding AvgCALevel}"
  301. CALevelRaw="{Binding ReservoirData.CAWaterLevel}" Width="450" Height="400" Canvas.Top="363" Canvas.Left="217" HorizontalAlignment="Center" VerticalAlignment="Top" Loaded="CatholyteGroove_Loaded"
  302. IsHighLevel="{Binding IsHighLevel}"
  303. IsLowLevel="{Binding IsLowLevel}"
  304. IsError="{Binding IsError}"/>
  305. <Canvas Visibility="{Binding IsEvaporatorConfig,Converter={StaticResource boolToVisibility2}}" Width="100" Height="100" Canvas.Top="239" Canvas.Left="580" HorizontalAlignment="Center" VerticalAlignment="Top">
  306. <Polygon Stroke="Black" StrokeThickness="1" Points="0,50 105,90 105,140 0,140" HorizontalAlignment="Left" Canvas.Left="-44" VerticalAlignment="Center">
  307. <Polygon.Fill>
  308. <LinearGradientBrush StartPoint="0,0" EndPoint="1,1">
  309. <GradientStop Color="Silver" Offset="0.0" />
  310. <GradientStop Color="White" Offset="0.5" />
  311. <GradientStop Color="Silver" Offset="1" />
  312. </LinearGradientBrush>
  313. </Polygon.Fill>
  314. <Polygon.Effect>
  315. <DropShadowEffect Color="LightGray" Direction="0" ShadowDepth="5" Opacity="1" />
  316. </Polygon.Effect>
  317. </Polygon>
  318. <Path Stroke="Silver" StrokeThickness="1" Height="12" Width="10" Data="M0,0 A 0,10 0 1 1 0,30 L 0,30 H 15 L 15,30 A 0,10 0 1 1 15,0 L 15,0 V 0" HorizontalAlignment="Left" Canvas.Top="70.478" VerticalAlignment="Center" Canvas.Left="35.493" Stretch="Fill" RenderTransformOrigin="0.5,0.5">
  319. <Path.RenderTransform>
  320. <TransformGroup>
  321. <ScaleTransform/>
  322. <SkewTransform/>
  323. <RotateTransform Angle="-68"/>
  324. <TranslateTransform/>
  325. </TransformGroup>
  326. </Path.RenderTransform>
  327. <Path.Fill>
  328. <LinearGradientBrush StartPoint="0,0" EndPoint="0.2,1">
  329. <GradientStop Color="Gray" Offset="0.0" />
  330. <GradientStop Color="Silver" Offset="0.25" />
  331. <GradientStop Color="DarkGray" Offset="0.5" />
  332. <GradientStop Color="Silver" Offset="0.75" />
  333. <GradientStop Color="Gray" Offset="1" />
  334. </LinearGradientBrush>
  335. </Path.Fill>
  336. </Path>
  337. <Path Stroke="Silver" StrokeThickness="1" Height="15" Width="20" Data="M0,0 A 0,10 0 1 1 0,25 L 0,25 H 80 L 80,50 A 0,10 0 1 1 80,0 L 80,0 V 0" HorizontalAlignment="Left" Canvas.Left="34.086" VerticalAlignment="Center" RenderTransformOrigin="0.5,0.5" Canvas.Top="18.811">
  338. <Path.RenderTransform>
  339. <TransformGroup>
  340. <ScaleTransform/>
  341. <SkewTransform/>
  342. <RotateTransform Angle="-68"/>
  343. <TranslateTransform/>
  344. </TransformGroup>
  345. </Path.RenderTransform>
  346. <Path.Fill>
  347. <LinearGradientBrush StartPoint="0,0" EndPoint="0,0.4">
  348. <GradientStop Color="DarkSlateGray" Offset="0.0" />
  349. <GradientStop Color="Gray" Offset="0.25" />
  350. <GradientStop Color="LightSlateGray" Offset="0.5" />
  351. <GradientStop Color="Gray" Offset="0.75" />
  352. <GradientStop Color="DarkSlateGray" Offset="1" />
  353. </LinearGradientBrush>
  354. </Path.Fill>
  355. </Path>
  356. <Grid Canvas.Left="-30" Canvas.Top="70">
  357. <Grid.ColumnDefinitions>
  358. <ColumnDefinition Width="20"/>
  359. <ColumnDefinition Width="50"/>
  360. </Grid.ColumnDefinitions>
  361. <Grid.RowDefinitions>
  362. <RowDefinition Height="22"/>
  363. <RowDefinition Height="22"/>
  364. <RowDefinition Height="22"/>
  365. </Grid.RowDefinitions>
  366. <Grid Grid.Row="0" Grid.Column="0" Grid.ColumnSpan="2">
  367. <Label Content="Exhaust" FontSize="12" FontWeight="Bold" VerticalContentAlignment="Center" HorizontalContentAlignment="Left" VerticalAlignment="Center" HorizontalAlignment="Left"/>
  368. </Grid>
  369. <Grid Grid.Row="1" Grid.Column="0">
  370. <Ellipse Margin="0,2,0,2" Width="14" Height="14" Fill="{Binding CdaOn,Converter={StaticResource boolToColor}}" Stroke="Gray"/>
  371. </Grid>
  372. <Grid Grid.Row="2" Grid.Column="0">
  373. <Ellipse Margin="0,2,0,2" Fill="{Binding ReservoirData.EvaporatorLevel,Converter={StaticResource boolToRedColor}}" Width="14" Height="14" Stroke="Gray"/>
  374. </Grid>
  375. <Grid Grid.Row="1" Grid.Column="1">
  376. <Label Content="Enable" FontSize="12" FontWeight="Bold" VerticalContentAlignment="Center" HorizontalContentAlignment="Left" VerticalAlignment="Center" HorizontalAlignment="Left"/>
  377. </Grid>
  378. <Grid Grid.Row="2" Grid.Column="1">
  379. <Label Content="Level" FontSize="12" FontWeight="Bold" VerticalContentAlignment="Center" HorizontalContentAlignment="Left" VerticalAlignment="Center" HorizontalAlignment="Left"/>
  380. </Grid>
  381. </Grid>
  382. </Canvas>
  383. <Canvas Width="150" Height="100" Canvas.Left="778" Canvas.Top="476" HorizontalAlignment="Center" VerticalAlignment="Top">
  384. <userControls:TempControl TempValue="{Binding TemperatureControlData.ReserviorTemperature}" Status="{Binding TemperatureControlData.Status}"
  385. DisableStatus="{Binding TCEnableStatus}">
  386. <i:Interaction.Triggers>
  387. <i:EventTrigger EventName="MouseLeftButtonUp">
  388. <i:InvokeCommandAction Command="{Binding JumpToTCCommand}"/>
  389. </i:EventTrigger>
  390. </i:Interaction.Triggers>
  391. </userControls:TempControl>
  392. </Canvas>
  393. <Grid Canvas.Top="585" Canvas.Left="835" HorizontalAlignment="Left" VerticalAlignment="Center">
  394. <Grid.RowDefinitions>
  395. <RowDefinition Height="30"/>
  396. <RowDefinition Height="30"/>
  397. </Grid.RowDefinitions>
  398. <Grid.ColumnDefinitions>
  399. <ColumnDefinition Width="130"/>
  400. </Grid.ColumnDefinitions>
  401. <Grid Grid.Row="0" Grid.Column="0" >
  402. <Label Content="CA HED Flow" FontSize="14" FontWeight="Bold" VerticalContentAlignment="Center" HorizontalContentAlignment="Left" VerticalAlignment="Center" HorizontalAlignment="Left"/>
  403. </Grid>
  404. <Border Grid.Row="1" Grid.Column="0" Margin="5,0,15,0" Background="Black">
  405. <TextBlock Text="{Binding ReservoirData.CAHedFlow, StringFormat={}{0:F2} L/min}" Foreground="Lime" FontSize="14" FontWeight="Bold" HorizontalAlignment="Left" VerticalAlignment="Center"/>
  406. </Border>
  407. </Grid>
  408. <Grid Canvas.Top="590" Canvas.Left="1515">
  409. <Grid.RowDefinitions>
  410. <RowDefinition Height="30"/>
  411. <RowDefinition Height="30"/>
  412. </Grid.RowDefinitions>
  413. <Grid.ColumnDefinitions>
  414. <ColumnDefinition Width="130"/>
  415. </Grid.ColumnDefinitions>
  416. <Grid Grid.Row="0" Grid.Column="0" >
  417. <Label Content="Flow Ajust Delta" FontSize="14" FontWeight="Bold" VerticalContentAlignment="Center" HorizontalContentAlignment="Left" VerticalAlignment="Center" HorizontalAlignment="Left" />
  418. </Grid>
  419. <Border Grid.Row="1" Grid.Column="0" Margin="5,0,15,0" Background="Black">
  420. <TextBlock Text="{Binding FlowAdjustDelta, StringFormat={}{0:F2} L/min}" Foreground="Lime" FontSize="14" FontWeight="Bold" HorizontalAlignment="Center" VerticalAlignment="Center"/>
  421. </Border>
  422. </Grid>
  423. <Grid Width="650" Height="650" Margin="905,80,0,0">
  424. <ItemsControl ItemsSource="{Binding ReservoirsUIDatas}" FlowDirection="RightToLeft">
  425. <ItemsControl.ItemsPanel>
  426. <ItemsPanelTemplate>
  427. <WrapPanel Orientation="Horizontal"></WrapPanel>
  428. </ItemsPanelTemplate>
  429. </ItemsControl.ItemsPanel>
  430. <ItemsControl.ItemTemplate>
  431. <DataTemplate>
  432. <userControls:Clamp IsFlowing3="{Binding IsFlowing3, Mode=TwoWay}"
  433. IsFlowing2="{Binding IsFlowing2, Mode=TwoWay}"
  434. IsFlowing1="{Binding IsFlowing1, Mode=TwoWay}"
  435. IsMetalCellHigh="{Binding IsMetalCellHigh}"
  436. IsMetalCellLow="{Binding IsMetalCellLow}"
  437. IsShowSignal="True"
  438. LabelValue="{Binding Name}"
  439. ModuleName="{Binding Name}" Width="85" Height="508" Margin="20,0,20,0" HorizontalAlignment="Left" VerticalAlignment="Center"
  440. IsEnabled="{Binding RelativeSource={RelativeSource AncestorType={x:Type ItemsControl}},Path=DataContext.IsAutoEnabled}"
  441. IsFlowing3Enable="True"/>
  442. </DataTemplate>
  443. </ItemsControl.ItemTemplate>
  444. </ItemsControl>
  445. <ItemsControl ItemsSource="{Binding ReservoirsUIDatas}" FlowDirection="RightToLeft">
  446. <ItemsControl.ItemsPanel>
  447. <ItemsPanelTemplate>
  448. <WrapPanel Orientation="Horizontal"></WrapPanel>
  449. </ItemsPanelTemplate>
  450. </ItemsControl.ItemsPanel>
  451. <ItemsControl.ItemTemplate>
  452. <DataTemplate>
  453. <Border Margin="70,590,-27,10" Background="Black" Width="80">
  454. <TextBlock Text="{Binding MetalCellFlow, StringFormat={}{0:F2}L/min}" Foreground="Lime" FontSize="14" FontWeight="Bold" HorizontalAlignment="Left" VerticalAlignment="Center"/>
  455. </Border>
  456. </DataTemplate>
  457. </ItemsControl.ItemTemplate>
  458. </ItemsControl>
  459. </Grid>
  460. <Button Style="{StaticResource SysBtnStyle}" Grid.Column="1" Height="30" Width="100" HorizontalAlignment="Left" Content="Back" Command="{Binding BackCommand}" Canvas.Left="1525" Canvas.Top="670" VerticalAlignment="Top"/>
  461. </Canvas>
  462. </UserControl>