TemperatureControllerControl.xaml 16 KB

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