ReservoirsCatholyteView.xaml 38 KB

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