ReservoirsCatholyteView.xaml 37 KB

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