PartialPressureView.xaml 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266
  1. <UserControl x:Class="Venus_MainPages.Views.PartialPressureView"
  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:lvc="clr-namespace:LiveCharts.Wpf;assembly=LiveCharts.Wpf"
  7. xmlns:local="clr-namespace:Venus_MainPages.Views"
  8. xmlns:prism="http://prismlibrary.com/"
  9. xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity"
  10. prism:ViewModelLocator.AutoWireViewModel="True"
  11. xmlns:unity="clr-namespace:Venus_MainPages.Unity"
  12. xmlns:sys="clr-namespace:System;assembly=mscorlib"
  13. mc:Ignorable="d"
  14. d:DesignHeight="450" d:DesignWidth="800">
  15. <UserControl.Resources>
  16. <sys:String x:Key="Module">PMA</sys:String>
  17. </UserControl.Resources>
  18. <Grid>
  19. <Grid.ColumnDefinitions>
  20. <ColumnDefinition Width="2*"/>
  21. <ColumnDefinition Width="3*" />
  22. <ColumnDefinition Width="8*"/>
  23. </Grid.ColumnDefinitions>
  24. <Canvas>
  25. <TextBlock Text="Flow Time:" Canvas.Left="10" Canvas.Top="160" FontSize="15"/>
  26. <TextBox FontSize="15" Canvas.Left="92" Canvas.Top="160" Width="80" Text="{Binding GasTime}" BorderThickness="0,0,0,1" Background="Transparent" BorderBrush="Black" HorizontalContentAlignment="Center"/>
  27. <TextBlock FontSize="15" Canvas.Left="176" Canvas.Top="160" Text="(s)"/>
  28. <!--<TextBlock Text="Gas Select:" FontSize="15" Canvas.Left="20" Canvas.Top="170"/>-->
  29. <RadioButton Content="Gas1" Canvas.Left="20" Canvas.Top="200" FontSize="15" IsChecked="True">
  30. <i:Interaction.Triggers>
  31. <i:EventTrigger EventName="Checked">
  32. <i:InvokeCommandAction Command="{Binding SelectGasCommand}"
  33. CommandParameter="1"/>
  34. </i:EventTrigger>
  35. </i:Interaction.Triggers>
  36. </RadioButton>
  37. <Border BorderThickness="0,0,0,1" BorderBrush="Black" Canvas.Left="80" Canvas.Top="200" Width="80">
  38. <TextBlock Text="{Binding RtConfigValues[MfcGas1.GasName]}" VerticalAlignment="Center" HorizontalAlignment="Center" FontSize="15"/>
  39. </Border>
  40. <TextBlock Canvas.Left="170" Canvas.Top="200" Text="{Binding RtConfigValues[MfcGas1.MfcN2Scale],StringFormat= {}{0}sccm}" FontSize="15"/>
  41. <RadioButton Content="Gas2" Canvas.Left="20" Canvas.Top="260" FontSize="15">
  42. <i:Interaction.Triggers>
  43. <i:EventTrigger EventName="Checked">
  44. <i:InvokeCommandAction Command="{Binding SelectGasCommand}"
  45. CommandParameter="2"/>
  46. </i:EventTrigger>
  47. </i:Interaction.Triggers>
  48. </RadioButton>
  49. <Border BorderThickness="0,0,0,1" BorderBrush="Black" Canvas.Left="80" Canvas.Top="260" Width="80">
  50. <TextBlock Text="{Binding RtConfigValues[MfcGas2.GasName]}" VerticalAlignment="Center" HorizontalAlignment="Center" FontSize="15"/>
  51. </Border>
  52. <TextBlock Canvas.Left="170" Canvas.Top="260" Text="{Binding RtConfigValues[MfcGas2.MfcN2Scale],StringFormat= {}{0}sccm}" FontSize="15"/>
  53. <RadioButton Content="Gas3" Canvas.Left="20" Canvas.Top="320" FontSize="15">
  54. <i:Interaction.Triggers>
  55. <i:EventTrigger EventName="Checked">
  56. <i:InvokeCommandAction Command="{Binding SelectGasCommand}"
  57. CommandParameter="3"/>
  58. </i:EventTrigger>
  59. </i:Interaction.Triggers>
  60. </RadioButton>
  61. <Border BorderThickness="0,0,0,1" BorderBrush="Black" Canvas.Left="80" Canvas.Top="320" Width="80">
  62. <TextBlock Text="{Binding RtConfigValues[MfcGas3.GasName]}" VerticalAlignment="Center" HorizontalAlignment="Center" FontSize="15"/>
  63. </Border>
  64. <TextBlock Canvas.Left="170" Canvas.Top="320" Text="{Binding RtConfigValues[MfcGas3.MfcN2Scale],StringFormat= {}{0}sccm}" FontSize="15"/>
  65. <RadioButton Content="Gas4" Canvas.Left="20" Canvas.Top="380" FontSize="15">
  66. <i:Interaction.Triggers>
  67. <i:EventTrigger EventName="Checked">
  68. <i:InvokeCommandAction Command="{Binding SelectGasCommand}"
  69. CommandParameter="4"/>
  70. </i:EventTrigger>
  71. </i:Interaction.Triggers>
  72. </RadioButton>
  73. <Border BorderThickness="0,0,0,1" BorderBrush="Black" Canvas.Left="80" Canvas.Top="380" Width="80">
  74. <TextBlock Text="{Binding RtConfigValues[MfcGas4.GasName]}" VerticalAlignment="Center" HorizontalAlignment="Center" FontSize="15"/>
  75. </Border>
  76. <TextBlock Canvas.Left="170" Canvas.Top="380" Text="{Binding RtConfigValues[MfcGas4.MfcN2Scale],StringFormat= {}{0}sccm}" FontSize="15" />
  77. <RadioButton Content="Gas5" Canvas.Left="20" Canvas.Top="440" FontSize="15">
  78. <i:Interaction.Triggers>
  79. <i:EventTrigger EventName="Checked">
  80. <i:InvokeCommandAction Command="{Binding SelectGasCommand}"
  81. CommandParameter="5"/>
  82. </i:EventTrigger>
  83. </i:Interaction.Triggers>
  84. </RadioButton>
  85. <Border BorderThickness="0,0,0,1" BorderBrush="Black" Canvas.Left="80" Canvas.Top="440" Width="80">
  86. <TextBlock Text="{Binding RtConfigValues[MfcGas5.GasName]}" VerticalAlignment="Center" HorizontalAlignment="Center" FontSize="15"/>
  87. </Border>
  88. <TextBlock Canvas.Left="170" Canvas.Top="440" Text="{Binding RtConfigValues[MfcGas5.MfcN2Scale],StringFormat= {}{0}sccm}" FontSize="15"/>
  89. <RadioButton Content="Gas6" Canvas.Left="20" Canvas.Top="500" FontSize="15">
  90. <i:Interaction.Triggers>
  91. <i:EventTrigger EventName="Checked">
  92. <i:InvokeCommandAction Command="{Binding SelectGasCommand}"
  93. CommandParameter="6"/>
  94. </i:EventTrigger>
  95. </i:Interaction.Triggers>
  96. </RadioButton>
  97. <Border BorderThickness="0,0,0,1" BorderBrush="Black" Canvas.Left="80" Canvas.Top="500" Width="80">
  98. <TextBlock Text="{Binding RtConfigValues[MfcGas6.GasName]}" VerticalAlignment="Center" HorizontalAlignment="Center" FontSize="15"/>
  99. </Border>
  100. <TextBlock Canvas.Left="170" Canvas.Top="500" Text="{Binding RtConfigValues[MfcGas6.MfcN2Scale],StringFormat= {}{0}sccm}" FontSize="15"/>
  101. <RadioButton Content="Gas7" Canvas.Left="20" Canvas.Top="560" FontSize="15">
  102. <i:Interaction.Triggers>
  103. <i:EventTrigger EventName="Checked">
  104. <i:InvokeCommandAction Command="{Binding SelectGasCommand}"
  105. CommandParameter="7"/>
  106. </i:EventTrigger>
  107. </i:Interaction.Triggers>
  108. </RadioButton>
  109. <Border BorderThickness="0,0,0,1" BorderBrush="Black" Canvas.Left="80" Canvas.Top="560" Width="80">
  110. <TextBlock Text="{Binding RtConfigValues[MfcGas7.GasName]}" VerticalAlignment="Center" HorizontalAlignment="Center" FontSize="15"/>
  111. </Border>
  112. <TextBlock Canvas.Left="170" Canvas.Top="560" Text="{Binding RtConfigValues[MfcGas7.MfcN2Scale],StringFormat= {}{0}sccm}" FontSize="15"/>
  113. <RadioButton Content="Gas8" Canvas.Left="20" Canvas.Top="620" FontSize="15">
  114. <i:Interaction.Triggers>
  115. <i:EventTrigger EventName="Checked">
  116. <i:InvokeCommandAction Command="{Binding SelectGasCommand}"
  117. CommandParameter="8"/>
  118. </i:EventTrigger>
  119. </i:Interaction.Triggers>
  120. </RadioButton>
  121. <Border BorderThickness="0,0,0,1" BorderBrush="Black" Canvas.Left="80" Canvas.Top="620" Width="80">
  122. <TextBlock Text="{Binding RtConfigValues[MfcGas8.GasName]}" VerticalAlignment="Center" HorizontalAlignment="Center" FontSize="15"/>
  123. </Border>
  124. <TextBlock Canvas.Left="170" Canvas.Top="620" Text="{Binding RtConfigValues[MfcGas8.MfcN2Scale],StringFormat= {}{0}sccm}" FontSize="15"/>
  125. <Button Content="Start" Canvas.Left="20" Canvas.Top="700" Width="100" Height="25" Command="{Binding StartCommand}"/>
  126. <Button Content="Abort" Canvas.Left="130" Canvas.Top="700" Width="100" Height="25" Command="{Binding AbortCommand}"/>
  127. </Canvas>
  128. <Canvas Grid.Column="1">
  129. <TextBlock Text="Test Result:" FontSize="15" FontWeight="Bold" Canvas.Left="10" Canvas.Top="160"/>
  130. <!--<ComboBox Canvas.Left="10" Canvas.Top="200" Width="100">
  131. <ComboBoxItem>Gas1</ComboBoxItem>
  132. <ComboBoxItem>Gas2</ComboBoxItem>
  133. <ComboBoxItem>Gas3</ComboBoxItem>
  134. <ComboBoxItem>Gas4</ComboBoxItem>
  135. <ComboBoxItem>Gas5</ComboBoxItem>
  136. <ComboBoxItem>Gas6</ComboBoxItem>
  137. <ComboBoxItem>Gas7</ComboBoxItem>
  138. <ComboBoxItem>Gas8</ComboBoxItem>
  139. </ComboBox>-->
  140. <!--<Border Canvas.Left="10" Canvas.Top="200" Width="60" Height="20" BorderThickness="0,0,0,1" BorderBrush="Black">
  141. <TextBlock Text="123" VerticalAlignment="Center" HorizontalAlignment="Center" />
  142. </Border>-->
  143. <!--<TextBlock Text="Full Scale:" Canvas.Left="100" Canvas.Top="200" Padding="4"/>
  144. <Border Canvas.Left="190" Canvas.Top="200" Width="60" Height="20" BorderThickness="0,0,0,1" BorderBrush="Black">
  145. <TextBlock Text="123" VerticalAlignment="Center" HorizontalAlignment="Center" />
  146. </Border>-->
  147. <Grid Canvas.Left="10" Canvas.Top="200" Height="440" unity:GridOptions.ShowBorder="True" unity:GridOptions.LineBrush="Black" Width="400" Background="WhiteSmoke">
  148. <Grid.ColumnDefinitions>
  149. <ColumnDefinition/>
  150. <ColumnDefinition Width="2*"/>
  151. <ColumnDefinition/>
  152. <ColumnDefinition Width="2*"/>
  153. </Grid.ColumnDefinitions>
  154. <Grid.RowDefinitions>
  155. <RowDefinition Height="33.846"/>
  156. <RowDefinition/>
  157. <RowDefinition Height="33.846"/>
  158. <RowDefinition/>
  159. <RowDefinition/>
  160. <RowDefinition/>
  161. <RowDefinition/>
  162. <RowDefinition/>
  163. <RowDefinition/>
  164. <RowDefinition/>
  165. <RowDefinition/>
  166. <RowDefinition/>
  167. <RowDefinition/>
  168. </Grid.RowDefinitions>
  169. <TextBlock Text="Current" Grid.ColumnSpan="2" HorizontalAlignment="Center" VerticalAlignment="Center"/>
  170. <TextBlock Text="Reference" Grid.Column="2" Grid.ColumnSpan="2" HorizontalAlignment="Center" VerticalAlignment="Center"/>
  171. <TextBlock Text="Flow" Grid.Row="1" HorizontalAlignment="Center" VerticalAlignment="Center"/>
  172. <TextBlock Text="Pressure" Grid.Row="1" Grid.Column="1" HorizontalAlignment="Center" VerticalAlignment="Center"/>
  173. <TextBlock Text="Flow" Grid.Row="1" Grid.Column="2" HorizontalAlignment="Center" VerticalAlignment="Center"/>
  174. <TextBlock Text="Pressure" Grid.Row="1" Grid.Column="3" HorizontalAlignment="Center" VerticalAlignment="Center"/>
  175. <TextBlock Text="{Binding GasFlows[1]}" Grid.Row="2" HorizontalAlignment="Center" VerticalAlignment="Center"/>
  176. <TextBlock Text="{Binding GasFlows[2]}" Grid.Row="3" HorizontalAlignment="Center" VerticalAlignment="Center"/>
  177. <TextBlock Text="{Binding GasFlows[3]}" Grid.Row="4" HorizontalAlignment="Center" VerticalAlignment="Center"/>
  178. <TextBlock Text="{Binding GasFlows[4]}" Grid.Row="5" HorizontalAlignment="Center" VerticalAlignment="Center"/>
  179. <TextBlock Text="{Binding GasFlows[5]}" Grid.Row="6" HorizontalAlignment="Center" VerticalAlignment="Center"/>
  180. <TextBlock Text="{Binding GasFlows[6]}" Grid.Row="7" HorizontalAlignment="Center" VerticalAlignment="Center"/>
  181. <TextBlock Text="{Binding GasFlows[7]}" Grid.Row="8" HorizontalAlignment="Center" VerticalAlignment="Center"/>
  182. <TextBlock Text="{Binding GasFlows[8]}" Grid.Row="9" HorizontalAlignment="Center" VerticalAlignment="Center"/>
  183. <TextBlock Text="{Binding GasFlows[9]}" Grid.Row="10" HorizontalAlignment="Center" VerticalAlignment="Center"/>
  184. <TextBlock Text="{Binding GasFlows[10]}" Grid.Row="11" HorizontalAlignment="Center" VerticalAlignment="Center"/>
  185. <TextBlock Text="{Binding CurrentLineSeries[0]}" Grid.Row="2" Grid.Column="1" HorizontalAlignment="Center" VerticalAlignment="Center"/>
  186. <TextBlock Text="{Binding CurrentLineSeries[1]}" Grid.Row="3" Grid.Column="1" HorizontalAlignment="Center" VerticalAlignment="Center"/>
  187. <TextBlock Text="{Binding CurrentLineSeries[2]}" Grid.Row="4" Grid.Column="1" HorizontalAlignment="Center" VerticalAlignment="Center"/>
  188. <TextBlock Text="{Binding CurrentLineSeries[3]}" Grid.Row="5" Grid.Column="1" HorizontalAlignment="Center" VerticalAlignment="Center"/>
  189. <TextBlock Text="{Binding CurrentLineSeries[4]}" Grid.Row="6" Grid.Column="1" HorizontalAlignment="Center" VerticalAlignment="Center"/>
  190. <TextBlock Text="{Binding CurrentLineSeries[5]}" Grid.Row="7" Grid.Column="1" HorizontalAlignment="Center" VerticalAlignment="Center"/>
  191. <TextBlock Text="{Binding CurrentLineSeries[6]}" Grid.Row="8" Grid.Column="1" HorizontalAlignment="Center" VerticalAlignment="Center"/>
  192. <TextBlock Text="{Binding CurrentLineSeries[7]}" Grid.Row="9" Grid.Column="1" HorizontalAlignment="Center" VerticalAlignment="Center"/>
  193. <TextBlock Text="{Binding CurrentLineSeries[8]}" Grid.Row="10" Grid.Column="1" HorizontalAlignment="Center" VerticalAlignment="Center"/>
  194. <TextBlock Text="{Binding CurrentLineSeries[9]}" Grid.Row="11" Grid.Column="1" HorizontalAlignment="Center" VerticalAlignment="Center"/>
  195. <TextBlock Text="{Binding ReferenceFlow[0]}" Grid.Row="2" Grid.Column="2" HorizontalAlignment="Center" VerticalAlignment="Center"/>
  196. <TextBlock Text="{Binding ReferenceFlow[1]}" Grid.Row="3" Grid.Column="2" HorizontalAlignment="Center" VerticalAlignment="Center"/>
  197. <TextBlock Text="{Binding ReferenceFlow[2]}" Grid.Row="4" Grid.Column="2" HorizontalAlignment="Center" VerticalAlignment="Center"/>
  198. <TextBlock Text="{Binding ReferenceFlow[3]}" Grid.Row="5" Grid.Column="2" HorizontalAlignment="Center" VerticalAlignment="Center"/>
  199. <TextBlock Text="{Binding ReferenceFlow[4]}" Grid.Row="6" Grid.Column="2" HorizontalAlignment="Center" VerticalAlignment="Center"/>
  200. <TextBlock Text="{Binding ReferenceFlow[5]}" Grid.Row="7" Grid.Column="2" HorizontalAlignment="Center" VerticalAlignment="Center"/>
  201. <TextBlock Text="{Binding ReferenceFlow[6]}" Grid.Row="8" Grid.Column="2" HorizontalAlignment="Center" VerticalAlignment="Center"/>
  202. <TextBlock Text="{Binding ReferenceFlow[7]}" Grid.Row="9" Grid.Column="2" HorizontalAlignment="Center" VerticalAlignment="Center"/>
  203. <TextBlock Text="{Binding ReferenceFlow[8]}" Grid.Row="10" Grid.Column="2" HorizontalAlignment="Center" VerticalAlignment="Center"/>
  204. <TextBlock Text="{Binding ReferenceFlow[9]}" Grid.Row="11" Grid.Column="2" HorizontalAlignment="Center" VerticalAlignment="Center"/>
  205. <TextBlock Text="{Binding ReferenceLineSeries[0]}" Grid.Row="2" Grid.Column="3" HorizontalAlignment="Center" VerticalAlignment="Center"/>
  206. <TextBlock Text="{Binding ReferenceLineSeries[1]}" Grid.Row="3" Grid.Column="3" HorizontalAlignment="Center" VerticalAlignment="Center"/>
  207. <TextBlock Text="{Binding ReferenceLineSeries[2]}" Grid.Row="4" Grid.Column="3" HorizontalAlignment="Center" VerticalAlignment="Center"/>
  208. <TextBlock Text="{Binding ReferenceLineSeries[3]}" Grid.Row="5" Grid.Column="3" HorizontalAlignment="Center" VerticalAlignment="Center"/>
  209. <TextBlock Text="{Binding ReferenceLineSeries[4]}" Grid.Row="6" Grid.Column="3" HorizontalAlignment="Center" VerticalAlignment="Center"/>
  210. <TextBlock Text="{Binding ReferenceLineSeries[5]}" Grid.Row="7" Grid.Column="3" HorizontalAlignment="Center" VerticalAlignment="Center"/>
  211. <TextBlock Text="{Binding ReferenceLineSeries[6]}" Grid.Row="8" Grid.Column="3" HorizontalAlignment="Center" VerticalAlignment="Center"/>
  212. <TextBlock Text="{Binding ReferenceLineSeries[7]}" Grid.Row="9" Grid.Column="3" HorizontalAlignment="Center" VerticalAlignment="Center"/>
  213. <TextBlock Text="{Binding ReferenceLineSeries[8]}" Grid.Row="10" Grid.Column="3" HorizontalAlignment="Center" VerticalAlignment="Center"/>
  214. <TextBlock Text="{Binding ReferenceLineSeries[9]}" Grid.Row="11" Grid.Column="3" HorizontalAlignment="Center" VerticalAlignment="Center"/>
  215. </Grid>
  216. <Button Content="Save" Canvas.Left="10" Canvas.Top="700" Width="120" Height="26" Command="{Binding SaveCommand}"/>
  217. <Button Content="Load Reference" Canvas.Left="290" Canvas.Top="700" Width="120" Height="26" Command="{Binding LoadReferenceCommand}"/>
  218. </Canvas>
  219. <Grid Grid.Column="2">
  220. <!--<Grid.RowDefinitions>
  221. <RowDefinition Height="40"/>
  222. <RowDefinition/>
  223. </Grid.RowDefinitions>-->
  224. <lvc:CartesianChart LegendLocation="Right" Hoverable="True" DataTooltip="{x:Null}" Grid.Row="1" Height="700" >
  225. <lvc:CartesianChart.Series>
  226. <lvc:LineSeries Title="Current" Width="1" Values="{Binding CurrentLineSeries}" Fill="Transparent" LineSmoothness="0" PointGeometry="{x:Null}" />
  227. <lvc:LineSeries Title="Reference" Width="1" Values="{Binding ReferenceLineSeries}" Fill="Transparent" LineSmoothness="0" PointGeometry="{x:Null}"/>
  228. </lvc:CartesianChart.Series>
  229. <lvc:CartesianChart.AxisX>
  230. <lvc:Axis Title="SetPoint(%)" Labels="10%,20%,30%,40%,50%,60%,70%,80%,90%,100%" FontSize="15" Foreground="Black">
  231. <lvc:Axis.Separator>
  232. <lvc:Separator Step="1"/>
  233. </lvc:Axis.Separator>
  234. </lvc:Axis>
  235. </lvc:CartesianChart.AxisX>
  236. <lvc:CartesianChart.AxisY>
  237. <lvc:Axis Title="Pressure(mTorr)" FontSize="15" Foreground="Black">
  238. </lvc:Axis>
  239. </lvc:CartesianChart.AxisY>
  240. </lvc:CartesianChart>
  241. </Grid>
  242. </Grid>
  243. </UserControl>