TemperatureControllerControl.xaml 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159
  1. <UserControl xmlns:Control="clr-namespace:MECF.Framework.UI.Core.Control;assembly=MECF.Framework.UI.Core" x:Class="CyberX8_Themes.UserControls.TemperatureControllerControl"
  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:local="clr-namespace:CyberX8_Themes.UserControls"
  7. xmlns:lvc="clr-namespace:LiveCharts.Wpf;assembly=LiveCharts.Wpf"
  8. xmlns:converters="clr-namespace:CyberX8_Themes.Converters"
  9. mc:Ignorable="d" Name="self"
  10. d:DesignHeight="500" d:DesignWidth="500">
  11. <UserControl.Resources>
  12. <converters:BoolToColor x:Key="boolToColor"/>
  13. <converters:BoolToRedColor x:Key="boolToRedColor"/>
  14. <converters:BoolToYellowColor x:Key="boolToYellowColor"/>
  15. </UserControl.Resources>
  16. <GroupBox Header="{Binding ElementName=self,Path=ModuleTitle}" Background="{DynamicResource Table_BD_Title}" BorderBrush="DarkGray" Height="500">
  17. <Grid>
  18. <Grid.RowDefinitions>
  19. <RowDefinition/>
  20. <RowDefinition Height="130"/>
  21. </Grid.RowDefinitions>
  22. <Grid Grid.Row="0">
  23. <Grid.RowDefinitions>
  24. <RowDefinition Height="40"/>
  25. <RowDefinition Height="30"/>
  26. <RowDefinition Height="60"/>
  27. <RowDefinition Height="40"/>
  28. <RowDefinition/>
  29. </Grid.RowDefinitions>
  30. <Grid Grid.Row="0" Margin="0,5,0,0">
  31. <Ellipse Margin="5,0" Width="16" Height="16" Fill="{Binding ElementName=self,Path=IsConnected, Converter={StaticResource boolToColor}}" Stroke="Silver" HorizontalAlignment="Left"/>
  32. <Label Height="30" Width="70" Content="{Binding ElementName=self,Path=ModuleName}" VerticalContentAlignment="Center" HorizontalContentAlignment="Left" VerticalAlignment="Center" HorizontalAlignment="Left" Margin="28,0,0,0"/>
  33. <TextBlock Width="100" VerticalAlignment="Center" Text="{Binding ElementName=self,Path=DisableStatus}" Background="Black" Foreground="Lime" FontSize="16" FontWeight="Bold" HorizontalAlignment="Right" Margin="0,0,180,0"/>
  34. <Button IsEnabled="{Binding IsEnable}" Style="{StaticResource SysBtnStyle}" Content="Disable" Click="Disable_Click" HorizontalAlignment="Right" Width="70" Margin="0,0,80,0"></Button>
  35. <Button IsEnabled="{Binding IsEnable}" Style="{StaticResource SysBtnStyle}" Content="Enable" Click="Enable_Click" HorizontalAlignment="Right" Width="70" Margin="0,0,5,0"></Button>
  36. </Grid>
  37. <Grid Grid.Row="1">
  38. <Label Height="30" Content="State" VerticalContentAlignment="Center" HorizontalContentAlignment="Left" VerticalAlignment="Center" HorizontalAlignment="Left"/>
  39. <TextBlock Width="110" VerticalAlignment="Center" Text="{Binding ElementName=self,Path=Status}" Background="Black" Foreground="Lime" FontSize="16" FontWeight="Bold" HorizontalAlignment="Left" Margin="44,0,0,0"/>
  40. <TextBlock Width="100" VerticalAlignment="Center" Text="{Binding ElementName=self,Path=AutoStatus}" Background="Black" Foreground="Lime" FontSize="16" FontWeight="Bold" HorizontalAlignment="Right" Margin="0,0,180,0"/>
  41. <Label Height="30" Content="OperationMode" VerticalContentAlignment="Center" HorizontalContentAlignment="Left" VerticalAlignment="Top" HorizontalAlignment="Left" Margin="313,2,0,0"/>
  42. </Grid>
  43. <Grid Grid.Row="2">
  44. <Grid.ColumnDefinitions>
  45. <ColumnDefinition Width="189*"/>
  46. <ColumnDefinition Width="55*"/>
  47. </Grid.ColumnDefinitions>
  48. <Label Height="30" Content="Set Point" VerticalContentAlignment="Center" HorizontalContentAlignment="Left" VerticalAlignment="Center" HorizontalAlignment="Left"/>
  49. <Control:NumbericUpDown IsEnabled="{Binding IsEnable}" Height="30" Width="70" IncrementValue="1" Margin="67,15,0,15" HorizontalAlignment="Left" Value="{Binding ElementName=self,Path=SetPointValue,Mode=TwoWay}"/>
  50. <Label Height="30" Content="­℃" VerticalContentAlignment="Center" HorizontalContentAlignment="Left" VerticalAlignment="Center" HorizontalAlignment="Left" Margin="139,0,0,0"/>
  51. <Button Style="{StaticResource SysBtnStyle}" IsEnabled="{Binding IsApplyEnable}" Content="Apply" Click="Apply_Click" HorizontalAlignment="Left" Width="70" Height="30" Margin="174,15,0,15"></Button>
  52. <Ellipse Margin="0,10,10,34" Width="16" Height="16" Fill="{Binding ElementName=self,Path=TemperatureReached, Converter={StaticResource boolToColor}}" Stroke="Silver" HorizontalAlignment="Right" Grid.Column="1"/>
  53. <Label Content="Temperature Reached" VerticalContentAlignment="Center" HorizontalContentAlignment="Center" VerticalAlignment="Top" HorizontalAlignment="Right" Margin="0,5,30,0" Grid.ColumnSpan="2"/>
  54. <Ellipse Margin="0,34,10,10" Width="16" Height="16" Fill="{Binding ElementName=self,Path=DeltaExceeded, Converter={StaticResource boolToRedColor}}" Stroke="Silver" HorizontalAlignment="Right" Grid.Column="1"/>
  55. <Label Content="Delta Exceeded" VerticalContentAlignment="Center" HorizontalContentAlignment="Center" VerticalAlignment="Top" HorizontalAlignment="Right" Margin="0,29,30,0" Grid.ColumnSpan="2"/>
  56. </Grid>
  57. <Grid Grid.Row="3">
  58. <Label Height="30" Content="Set Point Limits:" VerticalContentAlignment="Center" HorizontalContentAlignment="Left" VerticalAlignment="Center" HorizontalAlignment="Left"/>
  59. <Control:NumbericUpDown IsEnabled="{Binding IsEnable}" Height="30" Width="70" IncrementValue="1" Margin="107,0,0,0" HorizontalAlignment="Left" Value="{Binding ElementName=self,Path=SetPointMinValue,Mode=TwoWay}"/>
  60. <Label Height="30" Content="­℃" VerticalContentAlignment="Center" HorizontalContentAlignment="Left" VerticalAlignment="Center" HorizontalAlignment="Left" Margin="179,0,0,0"/>
  61. <Control:NumbericUpDown IsEnabled="{Binding IsEnable}" Height="30" Width="70" IncrementValue="1" Margin="357,0,0,0" HorizontalAlignment="Left" Value="{Binding ElementName=self,Path=SetPointMaxValue,Mode=TwoWay}"/>
  62. <Label Height="30" Content="­℃" VerticalContentAlignment="Center" HorizontalContentAlignment="Left" VerticalAlignment="Center" HorizontalAlignment="Left" Margin="427,0,0,0"/>
  63. <TextBlock Width="100" VerticalAlignment="Center" Text="{Binding ElementName=self,Path=TargetTemperatureValue,StringFormat=\{0:F2\}}" Background="Black"
  64. Foreground="Lime" FontSize="16" FontWeight="Bold" HorizontalAlignment="Left" Margin="210,0,0,0" />
  65. <Label Height="30" Content="­℃" VerticalContentAlignment="Center" HorizontalContentAlignment="Left" VerticalAlignment="Center" HorizontalAlignment="Left"
  66. Margin="307,0,0,0"/>
  67. </Grid>
  68. <Grid Grid.Row="4">
  69. <Label Content="Reservior" VerticalContentAlignment="Center" HorizontalContentAlignment="Center" VerticalAlignment="Top" HorizontalAlignment="Left" Margin="0,70,0,0"/>
  70. <TextBlock Width="50" VerticalAlignment="Top" Text="{Binding ElementName=self,Path=ReserviorValue,StringFormat=\{0:F2\}}" Background="Black"
  71. Foreground="Lime" FontSize="16" FontWeight="Bold" HorizontalAlignment="Left" Margin="67,72,0,0" />
  72. <Label Content="­℃" VerticalContentAlignment="Center" HorizontalContentAlignment="Left" VerticalAlignment="Top" HorizontalAlignment="Left" Margin="113,70,0,0"/>
  73. <Label Content="Heat Exch" VerticalContentAlignment="Center" HorizontalContentAlignment="Center" VerticalAlignment="Top" HorizontalAlignment="Left" Margin="0,120,0,0"/>
  74. <TextBlock Width="50" VerticalAlignment="Top" Text="{Binding ElementName=self,Path=HeatExchangerValue,StringFormat=\{0:F2\}}" Background="Black"
  75. Foreground="Lime" FontSize="16" FontWeight="Bold" HorizontalAlignment="Left" Margin="67,122,0,0" />
  76. <Label Content="­℃" VerticalContentAlignment="Center" HorizontalContentAlignment="Left" VerticalAlignment="Top" HorizontalAlignment="Left" Margin="113,120,0,0"/>
  77. <lvc:CartesianChart LegendLocation="Top" Hoverable="True" Margin="140,0,0,0" >
  78. <lvc:CartesianChart.Series>
  79. <lvc:LineSeries Title="Reservior series" Width="1" Values="{Binding ReserviorSeries}" Stroke="Blue" LineSmoothness="1"/>
  80. <lvc:LineSeries Title="Heat Exch" Width="1" Values="{Binding HeatExchangerSeries}" Stroke="Green" LineSmoothness="1"/>
  81. </lvc:CartesianChart.Series>
  82. <lvc:CartesianChart.AxisX>
  83. <lvc:Axis Labels="{Binding LabelSeries}" FontSize="15" Foreground="Black" ShowLabels="False">
  84. <lvc:Axis.Separator>
  85. <lvc:Separator Step="1"/>
  86. </lvc:Axis.Separator>
  87. </lvc:Axis>
  88. </lvc:CartesianChart.AxisX>
  89. </lvc:CartesianChart>
  90. </Grid>
  91. </Grid>
  92. <GroupBox Header="Alarm" Grid.Row="1">
  93. <Grid>
  94. <Grid.RowDefinitions>
  95. <RowDefinition/>
  96. <RowDefinition/>
  97. <RowDefinition/>
  98. <RowDefinition/>
  99. </Grid.RowDefinitions>
  100. <Grid.ColumnDefinitions>
  101. <ColumnDefinition/>
  102. <ColumnDefinition/>
  103. <ColumnDefinition/>
  104. </Grid.ColumnDefinitions>
  105. <WrapPanel Grid.Row="0" Grid.Column="0" >
  106. <Ellipse Margin="5,0" Width="16" Height="16" Fill="{Binding ElementName=self,Path=AutoTuning, Converter={StaticResource boolToRedColor}}" Stroke="Silver"/>
  107. <Label Height="40" Content="Auto Tuning" VerticalContentAlignment="Center" HorizontalContentAlignment="Center" VerticalAlignment="Center" HorizontalAlignment="Center"/>
  108. </WrapPanel>
  109. <WrapPanel Grid.Row="0" Grid.Column="1" >
  110. <Ellipse Margin="5,0" Width="16" Height="16" Fill="{Binding ElementName=self,Path=Fan, Converter={StaticResource boolToRedColor}}" Stroke="Silver"/>
  111. <Label Height="40" Content="Fan" VerticalContentAlignment="Center" HorizontalContentAlignment="Center" VerticalAlignment="Center" HorizontalAlignment="Center"/>
  112. </WrapPanel>
  113. <WrapPanel Grid.Row="0" Grid.Column="2" >
  114. <Ellipse Margin="5,0" Width="16" Height="16" Fill="{Binding ElementName=self,Path=RemoteOff, Converter={StaticResource boolToYellowColor}}" Stroke="Silver"/>
  115. <Label Height="40" Content="Remote Off" VerticalContentAlignment="Center" HorizontalContentAlignment="Center" VerticalAlignment="Center" HorizontalAlignment="Center"/>
  116. </WrapPanel>
  117. <WrapPanel Grid.Row="1" Grid.Column="0" >
  118. <Ellipse Margin="5,0" Width="16" Height="16" Fill="{Binding ElementName=self,Path=AutoTuning, Converter={StaticResource boolToRedColor}}" Stroke="Silver"/>
  119. <Label Height="40" Content="Ext Sensor Failure" VerticalContentAlignment="Center" HorizontalContentAlignment="Center" VerticalAlignment="Center" HorizontalAlignment="Center"/>
  120. </WrapPanel>
  121. <WrapPanel Grid.Row="1" Grid.Column="1" >
  122. <Ellipse Margin="5,0" Width="16" Height="16" Fill="{Binding ElementName=self,Path=HighTempCutoff, Converter={StaticResource boolToRedColor}}" Stroke="Silver"/>
  123. <Label Height="40" Content="High Temp Cuteoff" VerticalContentAlignment="Center" HorizontalContentAlignment="Center" VerticalAlignment="Center" HorizontalAlignment="Center"/>
  124. </WrapPanel>
  125. <WrapPanel Grid.Row="1" Grid.Column="2" >
  126. <Ellipse Margin="5,0" Width="16" Height="16" Fill="{Binding ElementName=self,Path=LowTempCutoff, Converter={StaticResource boolToRedColor}}" Stroke="Silver"/>
  127. <Label Height="40" Content="Low Temp Cuteoff" VerticalContentAlignment="Center" HorizontalContentAlignment="Center" VerticalAlignment="Center" HorizontalAlignment="Center"/>
  128. </WrapPanel>
  129. <WrapPanel Grid.Row="2" Grid.Column="0" >
  130. <Ellipse Margin="5,0" Width="16" Height="16" Fill="{Binding ElementName=self,Path=OutputFailure, Converter={StaticResource boolToRedColor}}" Stroke="Silver"/>
  131. <Label Height="40" Content="Output Failure" VerticalContentAlignment="Center" HorizontalContentAlignment="Center" VerticalAlignment="Center" HorizontalAlignment="Center"/>
  132. </WrapPanel>
  133. <WrapPanel Grid.Row="2" Grid.Column="1" >
  134. <Ellipse Margin="5,0" Width="16" Height="16" Fill="{Binding ElementName=self,Path=IntSensorFailure, Converter={StaticResource boolToRedColor}}" Stroke="Silver"/>
  135. <Label Height="40" Content="Int Sensor Failure" VerticalContentAlignment="Center" HorizontalContentAlignment="Center" VerticalAlignment="Center" HorizontalAlignment="Center"/>
  136. </WrapPanel>
  137. <WrapPanel Grid.Row="2" Grid.Column="2" >
  138. <Ellipse Margin="5,0" Width="16" Height="16" Fill="{Binding ElementName=self,Path=TempLimitWarn, Converter={StaticResource boolToYellowColor}}" Stroke="Silver"/>
  139. <Label Height="40" Content="Temp Limit Warn" VerticalContentAlignment="Center" HorizontalContentAlignment="Center" VerticalAlignment="Center" HorizontalAlignment="Center"/>
  140. </WrapPanel>
  141. <WrapPanel Grid.Row="3" Grid.Column="0" >
  142. <Ellipse Margin="5,0" Width="16" Height="16" Fill="{Binding ElementName=self,Path=PowerFailure, Converter={StaticResource boolToRedColor}}" Stroke="Silver"/>
  143. <Label Height="40" Content="Power Failure" VerticalContentAlignment="Center" HorizontalContentAlignment="Center" VerticalAlignment="Center" HorizontalAlignment="Center"/>
  144. </WrapPanel>
  145. <WrapPanel Grid.Row="3" Grid.Column="1" >
  146. <Ellipse Margin="5,0" Width="16" Height="16" Fill="{Binding ElementName=self,Path=Leak, Converter={StaticResource boolToRedColor}}" Stroke="Silver"/>
  147. <Label Height="40" Content="Leak" VerticalContentAlignment="Center" HorizontalContentAlignment="Center" VerticalAlignment="Center" HorizontalAlignment="Center"/>
  148. </WrapPanel>
  149. <WrapPanel Grid.Row="3" Grid.Column="2" >
  150. <Ellipse Margin="5,0" Width="16" Height="16" Fill="{Binding ElementName=self,Path=Thermostat, Converter={StaticResource boolToRedColor}}" Stroke="Silver"/>
  151. <Label Height="40" Content="Thermostat" VerticalContentAlignment="Center" HorizontalContentAlignment="Center" VerticalAlignment="Center" HorizontalAlignment="Center"/>
  152. </WrapPanel>
  153. </Grid>
  154. </GroupBox>
  155. </Grid>
  156. </GroupBox>
  157. </UserControl>