aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Software/DB/Tango.mdfbin75497472 -> 75497472 bytes
-rw-r--r--Software/DB/Tango_log.ldfbin8388608 -> 8388608 bytes
-rw-r--r--Software/Graphics/balance.pngbin0 -> 1844 bytes
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/Tango.MachineStudio.DB.csproj15
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/ViewModelLocator.cs10
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/ViewModels/PidControlsViewVM.cs19
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/Views/DBViews/PidControlView.xaml73
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/Views/DBViews/PidControlView.xaml.cs28
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/Views/DBViews/PidControlsView.xaml48
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/Views/DBViews/PidControlsView.xaml.cs32
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.HardwareDesigner/Images/balance.pngbin0 -> 1844 bytes
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.HardwareDesigner/Tango.MachineStudio.HardwareDesigner.csproj3
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.HardwareDesigner/ViewModels/MainViewVM.cs43
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.HardwareDesigner/Views/MainView.xaml184
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.HardwareDesigner/Views/MainView.xaml.cs12
-rw-r--r--Software/Visual_Studio/Tango.DAL.Remote/DB/HARDWARE_VERSIONS.cs3
-rw-r--r--Software/Visual_Studio/Tango.DAL.Remote/DB/HARDWARE_VERSIONS_PID_CONTROLS.cs26
-rw-r--r--Software/Visual_Studio/Tango.DAL.Remote/DB/PID_CONTROLS.cs47
-rw-r--r--Software/Visual_Studio/Tango.DAL.Remote/DB/RemoteADO.Context.cs2
-rw-r--r--Software/Visual_Studio/Tango.DAL.Remote/DB/RemoteADO.edmx183
-rw-r--r--Software/Visual_Studio/Tango.DAL.Remote/DB/RemoteADO.edmx.diagram118
-rw-r--r--Software/Visual_Studio/Tango.DAL.Remote/Tango.DAL.Remote.csproj6
-rw-r--r--Software/Visual_Studio/Tango.Integration/Observables/Entities/HardwareVersion.cs21
-rw-r--r--Software/Visual_Studio/Tango.Integration/Observables/Entities/HardwareVersionsPidControl.cs108
-rw-r--r--Software/Visual_Studio/Tango.Integration/Observables/Entities/PidControl.cs386
-rw-r--r--Software/Visual_Studio/Tango.Integration/Observables/Enumerations/DancerTypes.cs18
-rw-r--r--Software/Visual_Studio/Tango.Integration/Observables/Enumerations/MotorTypes.cs25
-rw-r--r--Software/Visual_Studio/Tango.Integration/Observables/Enumerations/PidControls.cs97
-rw-r--r--Software/Visual_Studio/Tango.Integration/Observables/ObservablesContext.cs16
-rw-r--r--Software/Visual_Studio/Tango.Integration/Observables/ObservablesEntitiesAdapter.cs4
-rw-r--r--Software/Visual_Studio/Tango.Integration/Observables/ObservablesEntitiesAdapterExtension.cs76
-rw-r--r--Software/Visual_Studio/Tango.Integration/Observables/Partials/HardwareVersion.cs1
-rw-r--r--Software/Visual_Studio/Tango.Integration/Tango.Integration.csproj2
33 files changed, 1519 insertions, 87 deletions
diff --git a/Software/DB/Tango.mdf b/Software/DB/Tango.mdf
index bfed91e3b..e2f8dbfcc 100644
--- a/Software/DB/Tango.mdf
+++ b/Software/DB/Tango.mdf
Binary files differ
diff --git a/Software/DB/Tango_log.ldf b/Software/DB/Tango_log.ldf
index 104430f7a..51a797193 100644
--- a/Software/DB/Tango_log.ldf
+++ b/Software/DB/Tango_log.ldf
Binary files differ
diff --git a/Software/Graphics/balance.png b/Software/Graphics/balance.png
new file mode 100644
index 000000000..46255b3ed
--- /dev/null
+++ b/Software/Graphics/balance.png
Binary files differ
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/Tango.MachineStudio.DB.csproj b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/Tango.MachineStudio.DB.csproj
index 189c7ee0d..fa567697d 100644
--- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/Tango.MachineStudio.DB.csproj
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/Tango.MachineStudio.DB.csproj
@@ -134,6 +134,7 @@
<Compile Include="ViewModels\MultiComboVM.cs" />
<Compile Include="ViewModels\OrganizationsViewVM.cs" />
<Compile Include="ViewModels\PermissionsViewVM.cs" />
+ <Compile Include="ViewModels\PidControlsViewVM.cs" />
<Compile Include="ViewModels\ProcessParametersTablesViewVM.cs" />
<Compile Include="ViewModels\ProcessParametersTablesGroupsViewVM.cs" />
<Compile Include="ViewModels\RmlsViewVM.cs" />
@@ -148,9 +149,15 @@
<Compile Include="Views\DBViews\ActionTypeView.xaml.cs">
<DependentUpon>ActionTypeView.xaml</DependentUpon>
</Compile>
+ <Compile Include="Views\DBViews\PidControlsView.xaml.cs">
+ <DependentUpon>PidControlsView.xaml</DependentUpon>
+ </Compile>
<Compile Include="Views\DBViews\DancerTypesView.xaml.cs">
<DependentUpon>DancerTypesView.xaml</DependentUpon>
</Compile>
+ <Compile Include="Views\DBViews\PidControlView.xaml.cs">
+ <DependentUpon>PidControlView.xaml</DependentUpon>
+ </Compile>
<Compile Include="Views\DBViews\DancerTypeView.xaml.cs">
<DependentUpon>DancerTypeView.xaml</DependentUpon>
</Compile>
@@ -402,10 +409,18 @@
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
</Page>
+ <Page Include="Views\DBViews\PidControlsView.xaml">
+ <Generator>MSBuild:Compile</Generator>
+ <SubType>Designer</SubType>
+ </Page>
<Page Include="Views\DBViews\DancerTypesView.xaml">
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
</Page>
+ <Page Include="Views\DBViews\PidControlView.xaml">
+ <Generator>MSBuild:Compile</Generator>
+ <SubType>Designer</SubType>
+ </Page>
<Page Include="Views\DBViews\DancerTypeView.xaml">
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/ViewModelLocator.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/ViewModelLocator.cs
index 13fd85122..0889be54e 100644
--- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/ViewModelLocator.cs
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/ViewModelLocator.cs
@@ -67,6 +67,8 @@ namespace Tango.MachineStudio.DB
SimpleIoc.Default.Register<DancerTypesViewVM>();
SimpleIoc.Default.Register<HardwareVersionsDancerTypeViewVM>();
SimpleIoc.Default.Register<HardwareVersionsMotorTypesViewVM>();
+
+ SimpleIoc.Default.Register<PidControlsViewVM>();
}
public static MainViewVM MainViewVM
@@ -404,5 +406,13 @@ namespace Tango.MachineStudio.DB
return ServiceLocator.Current.GetInstance<HardwareVersionsMotorTypesViewVM>();
}
}
+
+ public static PidControlsViewVM PidControlsViewVM
+ {
+ get
+ {
+ return ServiceLocator.Current.GetInstance<PidControlsViewVM>();
+ }
+ }
}
} \ No newline at end of file
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/ViewModels/PidControlsViewVM.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/ViewModels/PidControlsViewVM.cs
new file mode 100644
index 000000000..7fe342da5
--- /dev/null
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/ViewModels/PidControlsViewVM.cs
@@ -0,0 +1,19 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using Tango.Integration.Observables;
+using Tango.MachineStudio.Common.Notifications;
+using Tango.SharedUI;
+
+namespace Tango.MachineStudio.DB.ViewModels
+{
+ public class PidControlsViewVM : DbTableViewModel<PidControl>
+ {
+ public PidControlsViewVM(INotificationProvider notification) : base(notification)
+ {
+
+ }
+ }
+}
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/Views/DBViews/PidControlView.xaml b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/Views/DBViews/PidControlView.xaml
new file mode 100644
index 000000000..5459fbbff
--- /dev/null
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/Views/DBViews/PidControlView.xaml
@@ -0,0 +1,73 @@
+<UserControl x:Class="Tango.MachineStudio.DB.Views.DBViews.PidControlView"
+ xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
+ xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
+ xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
+ xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
+ xmlns:mahapps="http://metro.mahapps.com/winfx/xaml/controls"
+ xmlns:controls="clr-namespace:Tango.MachineStudio.DB.Controls"
+ xmlns:colorPicker="clr-namespace:Tango;assembly=Tango.ColorPicker"
+ xmlns:converters="clr-namespace:Tango.SharedUI.Converters;assembly=Tango.SharedUI"
+ xmlns:vm="clr-namespace:Tango.MachineStudio.DB.ViewModels"
+ xmlns:local="clr-namespace:Tango.MachineStudio.DB.Views.DBViews"
+ mc:Ignorable="d"
+ d:DesignHeight="400" d:DesignWidth="300" d:DataContext="{d:DesignInstance Type=vm:PidControlsViewVM, IsDesignTimeCreatable=False}">
+
+ <Grid>
+ <controls:TableGrid>
+ <TextBlock Text="ID:" FontWeight="Bold"></TextBlock>
+ <TextBox Text="{Binding EditEntity.ID}" IsReadOnly="True"></TextBox>
+ <TextBlock Text="GUID:" FontWeight="Bold"></TextBlock>
+ <TextBox Text="{Binding EditEntity.Guid}" IsReadOnly="True"></TextBox>
+ <TextBlock Text="Last Updated:" FontWeight="Bold"></TextBlock>
+ <TextBox Text="{Binding EditEntity.LastUpdated}" IsReadOnly="True"></TextBox>
+ <TextBlock Text="Code:" FontWeight="Bold"></TextBlock>
+ <mahapps:NumericUpDown Minimum="0" Maximum="10000" InterceptArrowKeys="True" Background="Transparent" BorderThickness="0" InterceptMouseWheel="True" HasDecimals="False" HorizontalContentAlignment="Left" Value="{Binding EditEntity.Code,Mode=TwoWay}"></mahapps:NumericUpDown>
+ <TextBlock Text="Name:" FontWeight="Bold"></TextBlock>
+ <TextBox Text="{Binding EditEntity.Name,Mode=TwoWay}"></TextBox>
+ <TextBlock Text="Description:" FontWeight="Bold"></TextBlock>
+ <TextBox Text="{Binding EditEntity.Description,Mode=TwoWay}"></TextBox>
+
+ <TextBlock Text="Output Proportional Power Limit:" FontWeight="Bold"></TextBlock>
+ <mahapps:NumericUpDown Minimum="0" Maximum="10000" Value="{Binding EditEntity.OutputProportionalPowerLimit,Mode=TwoWay}" InterceptArrowKeys="True" Background="Transparent" BorderThickness="0" InterceptMouseWheel="True" HasDecimals="False" HorizontalContentAlignment="Left"></mahapps:NumericUpDown>
+
+ <TextBlock Text="Output Proportional Band:" FontWeight="Bold"></TextBlock>
+ <mahapps:NumericUpDown Minimum="0" Maximum="10000" Value="{Binding EditEntity.OutputProportionalBand,Mode=TwoWay}" InterceptArrowKeys="True" Background="Transparent" BorderThickness="0" InterceptMouseWheel="True" HasDecimals="False" HorizontalContentAlignment="Left"></mahapps:NumericUpDown>
+
+ <TextBlock Text="Integral Time:" FontWeight="Bold"></TextBlock>
+ <mahapps:NumericUpDown Minimum="0" Maximum="10000" Value="{Binding EditEntity.IntegralTime,Mode=TwoWay}" InterceptArrowKeys="True" Background="Transparent" BorderThickness="0" InterceptMouseWheel="True" HasDecimals="False" HorizontalContentAlignment="Left"></mahapps:NumericUpDown>
+
+ <TextBlock Text="Derivative Time:" FontWeight="Bold"></TextBlock>
+ <mahapps:NumericUpDown Minimum="0" Maximum="10000" Value="{Binding EditEntity.DerivativeTime,Mode=TwoWay}" InterceptArrowKeys="True" Background="Transparent" BorderThickness="0" InterceptMouseWheel="True" HasDecimals="False" HorizontalContentAlignment="Left"></mahapps:NumericUpDown>
+
+ <TextBlock Text="Sensor Correction Adjustment:" FontWeight="Bold"></TextBlock>
+ <mahapps:NumericUpDown Minimum="0" Maximum="10000" Value="{Binding EditEntity.SensorCorrectionAdjustment,Mode=TwoWay}" InterceptArrowKeys="True" Background="Transparent" BorderThickness="0" InterceptMouseWheel="True" HasDecimals="False" HorizontalContentAlignment="Left"></mahapps:NumericUpDown>
+
+ <TextBlock Text="Sensor Min Value:" FontWeight="Bold"></TextBlock>
+ <mahapps:NumericUpDown Minimum="0" Maximum="10000" Value="{Binding EditEntity.SensorMinValue,Mode=TwoWay}" InterceptArrowKeys="True" Background="Transparent" BorderThickness="0" InterceptMouseWheel="True" HasDecimals="False" HorizontalContentAlignment="Left"></mahapps:NumericUpDown>
+
+ <TextBlock Text="Sensor Max Value:" FontWeight="Bold"></TextBlock>
+ <mahapps:NumericUpDown Minimum="0" Maximum="10000" Value="{Binding EditEntity.SensorMaxValue,Mode=TwoWay}" InterceptArrowKeys="True" Background="Transparent" BorderThickness="0" InterceptMouseWheel="True" HasDecimals="False" HorizontalContentAlignment="Left"></mahapps:NumericUpDown>
+
+ <TextBlock Text="SetPoint Ramp Rateor Soft Start Ramp:" FontWeight="Bold"></TextBlock>
+ <mahapps:NumericUpDown Minimum="0" Maximum="10000" Value="{Binding EditEntity.SetPointRampRateorSoftStartRamp,Mode=TwoWay}" InterceptArrowKeys="True" Background="Transparent" BorderThickness="0" InterceptMouseWheel="True" HasDecimals="False" HorizontalContentAlignment="Left"></mahapps:NumericUpDown>
+
+ <TextBlock Text="Set Point Control Output Rate:" FontWeight="Bold"></TextBlock>
+ <mahapps:NumericUpDown Minimum="0" Maximum="10000" Value="{Binding EditEntity.SetPointControlOutputRate,Mode=TwoWay}" InterceptArrowKeys="True" Background="Transparent" BorderThickness="0" InterceptMouseWheel="True" HasDecimals="False" HorizontalContentAlignment="Left"></mahapps:NumericUpDown>
+
+ <TextBlock Text="Control Output Type:" FontWeight="Bold"></TextBlock>
+ <mahapps:NumericUpDown Minimum="0" Maximum="10000" Value="{Binding EditEntity.ControlOutputType,Mode=TwoWay}" InterceptArrowKeys="True" Background="Transparent" BorderThickness="0" InterceptMouseWheel="True" HasDecimals="False" HorizontalContentAlignment="Left"></mahapps:NumericUpDown>
+
+ <TextBlock Text="SSR Control Output Type:" FontWeight="Bold"></TextBlock>
+ <mahapps:NumericUpDown Minimum="0" Maximum="10000" Value="{Binding EditEntity.SsrControlOutputType,Mode=TwoWay}" InterceptArrowKeys="True" Background="Transparent" BorderThickness="0" InterceptMouseWheel="True" HasDecimals="False" HorizontalContentAlignment="Left"></mahapps:NumericUpDown>
+
+ <TextBlock Text="Output On/Off Hysteresis Value:" FontWeight="Bold"></TextBlock>
+ <mahapps:NumericUpDown Minimum="0" Maximum="10000" Value="{Binding EditEntity.OutputOnOffHysteresisValue,Mode=TwoWay}" InterceptArrowKeys="True" Background="Transparent" BorderThickness="0" InterceptMouseWheel="True" HasDecimals="False" HorizontalContentAlignment="Left"></mahapps:NumericUpDown>
+
+ <TextBlock Text="Process Variable Sampling Rate:" FontWeight="Bold"></TextBlock>
+ <mahapps:NumericUpDown Minimum="0" Maximum="10000" Value="{Binding EditEntity.ProcessVariableSamplingRate,Mode=TwoWay}" InterceptArrowKeys="True" Background="Transparent" BorderThickness="0" InterceptMouseWheel="True" HasDecimals="False" HorizontalContentAlignment="Left"></mahapps:NumericUpDown>
+
+ <TextBlock Text="PV Input Filter Factor Mode:" FontWeight="Bold"></TextBlock>
+ <mahapps:NumericUpDown Minimum="0" Maximum="10000" Value="{Binding EditEntity.PvInputFilterFactorMode,Mode=TwoWay}" InterceptArrowKeys="True" Background="Transparent" BorderThickness="0" InterceptMouseWheel="True" HasDecimals="False" HorizontalContentAlignment="Left"></mahapps:NumericUpDown>
+ </controls:TableGrid>
+ </Grid>
+</UserControl>
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/Views/DBViews/PidControlView.xaml.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/Views/DBViews/PidControlView.xaml.cs
new file mode 100644
index 000000000..df45fb1ff
--- /dev/null
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/Views/DBViews/PidControlView.xaml.cs
@@ -0,0 +1,28 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.Windows;
+using System.Windows.Controls;
+using System.Windows.Data;
+using System.Windows.Documents;
+using System.Windows.Input;
+using System.Windows.Media;
+using System.Windows.Media.Imaging;
+using System.Windows.Navigation;
+using System.Windows.Shapes;
+
+namespace Tango.MachineStudio.DB.Views.DBViews
+{
+ /// <summary>
+ /// Interaction logic for MachineView.xaml
+ /// </summary>
+ public partial class PidControlView : UserControl
+ {
+ public PidControlView()
+ {
+ InitializeComponent();
+ }
+ }
+}
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/Views/DBViews/PidControlsView.xaml b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/Views/DBViews/PidControlsView.xaml
new file mode 100644
index 000000000..0a7d6d4df
--- /dev/null
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/Views/DBViews/PidControlsView.xaml
@@ -0,0 +1,48 @@
+<UserControl x:Class="Tango.MachineStudio.DB.Views.DBViews.PidControlsView"
+ xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
+ xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
+ xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
+ xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
+ xmlns:global="clr-namespace:Tango.MachineStudio.DB"
+ xmlns:controls="clr-namespace:Tango.MachineStudio.DB.Controls"
+ xmlns:converters="clr-namespace:Tango.SharedUI.Converters;assembly=Tango.SharedUI"
+ xmlns:observables="clr-namespace:Tango.Integration.Observables;assembly=Tango.Integration"
+ xmlns:materialDesign="http://materialdesigninxaml.net/winfx/xaml/themes"
+ mc:Ignorable="d"
+ d:DesignHeight="720" d:DesignWidth="1280" Background="White" d:DataContext="{d:DesignInstance Type=observables:PidControl, IsDesignTimeCreatable=False}" DataContext="{x:Static global:ViewModelLocator.PidControlsViewVM}">
+
+ <UserControl.Resources>
+ <converters:BooleanToYesNoConverter x:Key="BooleanToYesNoConverter" />
+ </UserControl.Resources>
+
+ <Grid>
+ <controls:DbTableView>
+ <DataGrid Background="Transparent" ItemsSource="{Binding Adapter.PidControlsViewSource}" SelectedItem="{Binding SelectedEntity}" AutoGenerateColumns="False" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" IsReadOnly="True">
+ <DataGrid.Columns>
+ <DataGridTextColumn Header="ID" Binding="{Binding ID}"></DataGridTextColumn>
+ <DataGridTextColumn Header="GUID" Binding="{Binding Guid}"></DataGridTextColumn>
+ <DataGridTextColumn Header="Code" Binding="{Binding Code}"></DataGridTextColumn>
+ <DataGridTextColumn Header="Name" Binding="{Binding Name}"></DataGridTextColumn>
+
+ <DataGridTextColumn Header="Description" Binding="{Binding Description}"></DataGridTextColumn>
+ <DataGridTextColumn Header="Output Proportional Power Limit" Binding="{Binding OutputProportionalPowerLimit}"></DataGridTextColumn>
+ <DataGridTextColumn Header="Output Proportional Band" Binding="{Binding OutputProportionalBand}"></DataGridTextColumn>
+
+ <DataGridTextColumn Header="Integral Time" Binding="{Binding IntegralTime}"></DataGridTextColumn>
+ <DataGridTextColumn Header="Derivative Time" Binding="{Binding DerivativeTime}"></DataGridTextColumn>
+ <DataGridTextColumn Header="Sensor Correction Adjustment" Binding="{Binding SensorCorrectionAdjustment}"></DataGridTextColumn>
+ <DataGridTextColumn Header="Sensor Min Value" Binding="{Binding SensorMinValue}"></DataGridTextColumn>
+ <DataGridTextColumn Header="Sensor Max Value" Binding="{Binding SensorMaxValue}"></DataGridTextColumn>
+ <DataGridTextColumn Header="SetPoint Ramp Rateor Soft Start Ramp" Binding="{Binding SetPointRampRateorSoftStartRamp}"></DataGridTextColumn>
+ <DataGridTextColumn Header="Set Point Control Output Rate" Binding="{Binding SetPointControlOutputRate}"></DataGridTextColumn>
+ <DataGridTextColumn Header="Control Output Type" Binding="{Binding ControlOutputType}"></DataGridTextColumn>
+
+ <DataGridTextColumn Header="SSR Control Output Type" Binding="{Binding SsrControlOutputType}"></DataGridTextColumn>
+ <DataGridTextColumn Header="Output On/Off Hysteresis Value" Binding="{Binding OutputOnOffHysteresisValue}"></DataGridTextColumn>
+ <DataGridTextColumn Header="Process Variable Sampling Rate" Binding="{Binding ProcessVariableSamplingRate}"></DataGridTextColumn>
+ <DataGridTextColumn Header="PV Input Filter Factor Mode" Binding="{Binding PvInputFilterFactorMode}"></DataGridTextColumn>
+ </DataGrid.Columns>
+ </DataGrid>
+ </controls:DbTableView>
+ </Grid>
+</UserControl>
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/Views/DBViews/PidControlsView.xaml.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/Views/DBViews/PidControlsView.xaml.cs
new file mode 100644
index 000000000..9ac44d396
--- /dev/null
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/Views/DBViews/PidControlsView.xaml.cs
@@ -0,0 +1,32 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.Windows;
+using System.Windows.Controls;
+using System.Windows.Data;
+using System.Windows.Documents;
+using System.Windows.Input;
+using System.Windows.Media;
+using System.Windows.Media.Imaging;
+using System.Windows.Navigation;
+using System.Windows.Shapes;
+using Tango.MachineStudio.DB.CustomAttributes;
+using Tango.MachineStudio.DB.Managers;
+using Tango.SharedUI.Controls;
+
+namespace Tango.MachineStudio.DB.Views.DBViews
+{
+ /// <summary>
+ /// Interaction logic for MachinesView.xaml
+ /// </summary>
+ [DBView]
+ public partial class PidControlsView : UserControl
+ {
+ public PidControlsView() : base()
+ {
+ InitializeComponent();
+ }
+ }
+}
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.HardwareDesigner/Images/balance.png b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.HardwareDesigner/Images/balance.png
new file mode 100644
index 000000000..46255b3ed
--- /dev/null
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.HardwareDesigner/Images/balance.png
Binary files differ
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.HardwareDesigner/Tango.MachineStudio.HardwareDesigner.csproj b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.HardwareDesigner/Tango.MachineStudio.HardwareDesigner.csproj
index 15186d65b..12c32df08 100644
--- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.HardwareDesigner/Tango.MachineStudio.HardwareDesigner.csproj
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.HardwareDesigner/Tango.MachineStudio.HardwareDesigner.csproj
@@ -155,5 +155,8 @@
<ItemGroup>
<Resource Include="Images\compass.png" />
</ItemGroup>
+ <ItemGroup>
+ <Resource Include="Images\balance.png" />
+ </ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
</Project> \ No newline at end of file
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.HardwareDesigner/ViewModels/MainViewVM.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.HardwareDesigner/ViewModels/MainViewVM.cs
index 4becc0b04..0da894aba 100644
--- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.HardwareDesigner/ViewModels/MainViewVM.cs
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.HardwareDesigner/ViewModels/MainViewVM.cs
@@ -4,6 +4,7 @@ using System.Collections.ObjectModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
+using Tango.Core.Commands;
using Tango.Integration.Observables;
using Tango.SharedUI;
@@ -46,10 +47,20 @@ namespace Tango.MachineStudio.HardwareDesigner.ViewModels
set { _currentVersionDancerTypes = value; RaisePropertyChangedAuto(); }
}
+ private ObservableCollection<PidControl> _currentVersionPidControls;
+ public ObservableCollection<PidControl> CurrentVersionPidControls
+ {
+ get { return _currentVersionPidControls; }
+ set { _currentVersionPidControls = value; RaisePropertyChangedAuto(); }
+ }
+
+ public RelayCommand SaveCommand { get; set; }
public MainViewVM()
{
Adapter = ObservablesEntitiesAdapter.Instance;
+
+ SaveCommand = new RelayCommand(Save);
}
private void OnSelectedVersionChanged()
@@ -57,6 +68,7 @@ namespace Tango.MachineStudio.HardwareDesigner.ViewModels
CurrentVersion = SelectedVersion.Clone();
CurrentVersionDancerTypes = CurrentVersion.HardwareVersionsDancerTypes.Select(x => x.DancerType).ToObservableCollection();
CurrentVersionMotorTypes = CurrentVersion.HardwareVersionsMotorTypes.Select(x => x.MotorType).ToObservableCollection();
+ CurrentVersionPidControls = CurrentVersion.HardwareVersionsPidControls.Select(x => x.PidControl).ToObservableCollection();
}
public void OnRemoveDancer(DancerType dancerType)
@@ -69,14 +81,41 @@ namespace Tango.MachineStudio.HardwareDesigner.ViewModels
CurrentVersionMotorTypes.Remove(motorType);
}
+ public void OnRemovePidControl(PidControl pidControl)
+ {
+ CurrentVersionPidControls.Remove(pidControl);
+ }
+
public void OnMotorDrop(MotorType motorType)
{
- CurrentVersionMotorTypes.Add(motorType);
+ if (!CurrentVersionMotorTypes.Contains(motorType))
+ {
+ CurrentVersionMotorTypes.Add(motorType);
+ }
}
public void OnDropDancer(DancerType dancerType)
{
- CurrentVersionDancerTypes.Add(dancerType);
+ if (!CurrentVersionDancerTypes.Contains(dancerType))
+ {
+ CurrentVersionDancerTypes.Add(dancerType);
+ }
+ }
+
+ public void OnDropPidControl(PidControl pidControl)
+ {
+ if (!CurrentVersionPidControls.Contains(pidControl))
+ {
+ CurrentVersionPidControls.Add(pidControl);
+ }
+ }
+
+ private void Save()
+ {
+ if (CurrentVersion != null)
+ {
+
+ }
}
}
}
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.HardwareDesigner/Views/MainView.xaml b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.HardwareDesigner/Views/MainView.xaml
index 77ace3e63..e73ba2a1f 100644
--- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.HardwareDesigner/Views/MainView.xaml
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.HardwareDesigner/Views/MainView.xaml
@@ -60,10 +60,10 @@
</Image>
<Canvas ClipToBounds="False" x:Name="canvas">
- <Border BorderThickness="2" BorderBrush="Gray" CornerRadius="0 0 20 20" Width="707" Height="132" Canvas.Left="50" Canvas.Top="378" Background="#ABFFFFFF">
+ <Border BorderThickness="1" BorderBrush="Gray" CornerRadius="0 0 20 20" Width="707" Height="132" Canvas.Left="50" Canvas.Top="378" Background="#ABFFFFFF">
<Grid Style="{StaticResource droppableGrid}" dragAndDrop:DragAndDropService.Drop="OnDancerDrop">
<TextBlock HorizontalAlignment="Center" VerticalAlignment="Center" Foreground="Silver" FontSize="20">DRAG &amp; DROP DANCERS</TextBlock>
- <ListBox x:Name="listDancers" ItemsSource="{Binding CurrentVersionDancerTypes}" Margin="0 5 0 0" ScrollViewer.HorizontalScrollBarVisibility="Disabled" ScrollViewer.VerticalScrollBarVisibility="Disabled">
+ <ListBox x:Name="listDancers" ItemContainerStyle="{StaticResource basicListBoxItem}" ItemsSource="{Binding CurrentVersionDancerTypes}" Margin="0 5 0 0" ScrollViewer.HorizontalScrollBarVisibility="Disabled" ScrollViewer.VerticalScrollBarVisibility="Disabled">
<ListBox.ItemsPanel>
<ItemsPanelTemplate>
<WrapPanel Orientation="Horizontal" />
@@ -72,22 +72,23 @@
<ListBox.ItemTemplate>
<DataTemplate DataType="{x:Type observables:DancerType}">
<Grid Style="{StaticResource draggableGrid}">
- <Grid.ToolTip>
- <Border Padding="2">
- <ItemsControl ItemsSource="{Binding Parameters}">
- <ItemsControl.ItemTemplate>
- <DataTemplate>
- <TextBlock Margin="2">
- <Run Text="{Binding Name}" FontWeight="SemiBold"></Run>
- :
- <Run Text="{Binding Value}" FontStyle="Italic"></Run>
- </TextBlock>
- </DataTemplate>
- </ItemsControl.ItemTemplate>
- </ItemsControl>
- </Border>
- </Grid.ToolTip>
- <Border BorderBrush="Gray" Width="100" Height="100" BorderThickness="1" Background="White" Padding="2" IsHitTestVisible="False">
+ <Border Margin="5" CornerRadius="5" Width="100" Height="100" BorderThickness="1" Padding="2" IsHitTestVisible="False">
+ <Border.Style>
+ <Style TargetType="Border">
+ <Setter Property="BorderBrush" Value="Silver"></Setter>
+ <Style.Triggers>
+ <DataTrigger Binding="{Binding RelativeSource={RelativeSource AncestorType=ListBoxItem},Path=IsSelected}" Value="True">
+ <Setter Property="BorderBrush" Value="{StaticResource AccentColorBrush}"></Setter>
+ </DataTrigger>
+ </Style.Triggers>
+ </Style>
+ </Border.Style>
+ <Border.Background>
+ <LinearGradientBrush>
+ <GradientStop Color="White"/>
+ <GradientStop Color="#FFD6D6D6" Offset="1"/>
+ </LinearGradientBrush>
+ </Border.Background>
<Grid>
<StackPanel>
<Image Source="../Images/compass.png" Width="32" Margin="5" />
@@ -102,10 +103,10 @@
</Grid>
</Border>
- <Border BorderThickness="2 2 2 0" BorderBrush="Gray" Width="576" Height="157" Canvas.Left="114" Canvas.Top="224" Background="#ABFFFFFF">
+ <Border BorderThickness="1 1 1 0" BorderBrush="Gray" Width="576" Height="157" Canvas.Left="114" Canvas.Top="224" Background="#ABFFFFFF">
<Grid Style="{StaticResource droppableGrid}" dragAndDrop:DragAndDropService.Drop="OnMotorsDrop">
<TextBlock HorizontalAlignment="Center" VerticalAlignment="Center" Foreground="Silver" FontSize="20">DRAG &amp; DROP MOTORS</TextBlock>
- <ListBox x:Name="listMotors" ItemsSource="{Binding CurrentVersionMotorTypes}" ScrollViewer.HorizontalScrollBarVisibility="Disabled" ScrollViewer.VerticalScrollBarVisibility="Disabled">
+ <ListBox x:Name="listMotors" ItemContainerStyle="{StaticResource basicListBoxItem}" ItemsSource="{Binding CurrentVersionMotorTypes}" ScrollViewer.HorizontalScrollBarVisibility="Disabled" ScrollViewer.VerticalScrollBarVisibility="Disabled">
<ListBox.ItemsPanel>
<ItemsPanelTemplate>
<WrapPanel Orientation="Horizontal" />
@@ -129,7 +130,23 @@
</ItemsControl>
</Border>
</Grid.ToolTip>
- <Border BorderBrush="Gray" Height="25" IsHitTestVisible="False" MaxWidth="100" BorderThickness="1" Background="White" Padding="2">
+ <Border Margin="4" CornerRadius="3" Height="25" IsHitTestVisible="False" MaxWidth="100" BorderThickness="1" Padding="5 2 9 2">
+ <Border.Style>
+ <Style TargetType="Border">
+ <Setter Property="BorderBrush" Value="Silver"></Setter>
+ <Style.Triggers>
+ <DataTrigger Binding="{Binding RelativeSource={RelativeSource AncestorType=ListBoxItem},Path=IsSelected}" Value="True">
+ <Setter Property="BorderBrush" Value="{StaticResource AccentColorBrush}"></Setter>
+ </DataTrigger>
+ </Style.Triggers>
+ </Style>
+ </Border.Style>
+ <Border.Background>
+ <LinearGradientBrush>
+ <GradientStop Color="White"/>
+ <GradientStop Color="#FFD6D6D6" Offset="1"/>
+ </LinearGradientBrush>
+ </Border.Background>
<Grid>
<StackPanel Orientation="Horizontal">
<Image Source="../Images/engine.png" Width="16" />
@@ -143,6 +160,49 @@
</ListBox>
</Grid>
</Border>
+
+ <Border BorderThickness="1 1 1 0" BorderBrush="Gray" Width="545" Height="120" Canvas.Left="130" Canvas.Top="105" Background="#ABFFFFFF" CornerRadius="20 20 0 0" Padding="5">
+ <Grid Style="{StaticResource droppableGrid}" dragAndDrop:DragAndDropService.Drop="OnPidControlDrop">
+ <TextBlock HorizontalAlignment="Center" VerticalAlignment="Center" Foreground="Silver" FontSize="20">DRAG &amp; DROP PID CONTROLS</TextBlock>
+ <ListBox x:Name="listPid" ItemContainerStyle="{StaticResource basicListBoxItem}" ItemsSource="{Binding CurrentVersionPidControls}" ScrollViewer.HorizontalScrollBarVisibility="Disabled" ScrollViewer.VerticalScrollBarVisibility="Disabled">
+ <ListBox.ItemsPanel>
+ <ItemsPanelTemplate>
+ <WrapPanel Orientation="Horizontal" />
+ </ItemsPanelTemplate>
+ </ListBox.ItemsPanel>
+ <ListBox.ItemTemplate>
+ <DataTemplate DataType="{x:Type observables:PidControl}">
+ <Grid Style="{StaticResource draggableGrid}">
+ <Border Margin="4" CornerRadius="3" Height="25" IsHitTestVisible="False" MaxWidth="100" BorderThickness="1" Padding="5 2 9 2">
+ <Border.Style>
+ <Style TargetType="Border">
+ <Setter Property="BorderBrush" Value="Silver"></Setter>
+ <Style.Triggers>
+ <DataTrigger Binding="{Binding RelativeSource={RelativeSource AncestorType=ListBoxItem},Path=IsSelected}" Value="True">
+ <Setter Property="BorderBrush" Value="{StaticResource AccentColorBrush}"></Setter>
+ </DataTrigger>
+ </Style.Triggers>
+ </Style>
+ </Border.Style>
+ <Border.Background>
+ <LinearGradientBrush>
+ <GradientStop Color="White"/>
+ <GradientStop Color="#FFD6D6D6" Offset="1"/>
+ </LinearGradientBrush>
+ </Border.Background>
+ <Grid>
+ <StackPanel Orientation="Horizontal">
+ <Image Source="../Images/balance.png" Width="16" />
+ <TextBlock FontSize="8" Margin="5 0 0 0" TextTrimming="CharacterEllipsis" Text="{Binding Name}" VerticalAlignment="Center"></TextBlock>
+ </StackPanel>
+ </Grid>
+ </Border>
+ </Grid>
+ </DataTemplate>
+ </ListBox.ItemTemplate>
+ </ListBox>
+ </Grid>
+ </Border>
</Canvas>
</Grid>
</Viewbox>
@@ -209,7 +269,11 @@
</ListBox.ItemTemplate>
</ListBox>
</Expander>
- <Border Height="1" HorizontalAlignment="Stretch" Background="{DynamicResource MaterialDesignDivider}" SnapsToDevicePixels="True" />
+ </StackPanel>
+ </materialDesign:Card>
+
+ <materialDesign:Card Margin="5,10,5,0" Background="{DynamicResource MaterialDesignBackground}">
+ <StackPanel>
<Expander HorizontalAlignment="Stretch" Header="Dancers">
<ListBox ItemsSource="{Binding Adapter.DancerTypes}" HorizontalContentAlignment="Stretch">
<ListBox.ItemContainerStyle>
@@ -240,8 +304,38 @@
<materialDesign:Card Margin="5,10,5,0" Background="{DynamicResource MaterialDesignBackground}">
<StackPanel>
+ <Expander HorizontalAlignment="Stretch" Header="PID Controls">
+ <ListBox ItemsSource="{Binding Adapter.PidControls}" HorizontalContentAlignment="Stretch">
+ <ListBox.ItemContainerStyle>
+ <Style TargetType="ListBoxItem" BasedOn="{StaticResource {x:Type ListBoxItem}}">
+ <Setter Property="HorizontalContentAlignment" Value="Stretch"></Setter>
+ <Setter Property="VerticalContentAlignment" Value="Stretch"></Setter>
+ <Setter Property="Padding" Value="1"></Setter>
+ </Style>
+ </ListBox.ItemContainerStyle>
+ <ListBox.ItemTemplate>
+ <DataTemplate>
+ <Grid Background="Transparent" IsHitTestVisible="True" dragAndDrop:DragAndDropService.DraggableBorderBrush="{StaticResource AccentColorBrush}" dragAndDrop:DragAndDropService.Draggable="True" dragAndDrop:DragAndDropService.DraggingSurface="{Binding RelativeSource={RelativeSource AncestorType=UserControl},Path=DraggingSurface}">
+ <StackPanel Orientation="Horizontal" Margin="2 8">
+ <Image IsHitTestVisible="False" Width="24" Height="24" Source="../Images/balance.png" Stretch="Fill" RenderOptions.BitmapScalingMode="Fant"></Image>
+ <StackPanel Margin="5 0 0 0" IsHitTestVisible="False" VerticalAlignment="Center">
+ <TextBlock IsHitTestVisible="False" FontSize="10" Foreground="DimGray"><Run Text="{Binding Name}"></Run></TextBlock>
+ </StackPanel>
+ </StackPanel>
+
+ <Rectangle Margin="0 10 0 0" VerticalAlignment="Bottom" Stroke="Gainsboro" StrokeThickness="1"></Rectangle>
+ </Grid>
+ </DataTemplate>
+ </ListBox.ItemTemplate>
+ </ListBox>
+ </Expander>
+ </StackPanel>
+ </materialDesign:Card>
+
+ <materialDesign:Card Margin="5,10,5,0" Background="{DynamicResource MaterialDesignBackground}">
+ <StackPanel>
<Grid>
- <Expander HorizontalAlignment="Stretch" Header="Selected Motor Properties">
+ <Expander HorizontalAlignment="Stretch" Header="Motor Properties">
<editors:ParameterizedEditor ParameterizedObject="{Binding ElementName=listMotors,Path=SelectedItem}" Padding="10">
<editors:ParameterizedEditor.ItemsPanel>
<ItemsPanelTemplate>
@@ -281,7 +375,7 @@
<materialDesign:Card Margin="5,10,5,0" Background="{DynamicResource MaterialDesignBackground}">
<StackPanel>
<Grid>
- <Expander HorizontalAlignment="Stretch" Header="Selected Dancer Properties">
+ <Expander HorizontalAlignment="Stretch" Header="Dancer Properties">
<editors:ParameterizedEditor ParameterizedObject="{Binding ElementName=listDancers,Path=SelectedItem}" Padding="10">
<editors:ParameterizedEditor.ItemsPanel>
<ItemsPanelTemplate>
@@ -317,11 +411,51 @@
</Grid>
</StackPanel>
</materialDesign:Card>
+
+ <materialDesign:Card Margin="5,10,5,0" Background="{DynamicResource MaterialDesignBackground}">
+ <StackPanel>
+ <Grid>
+ <Expander HorizontalAlignment="Stretch" Header="PID Control Properties">
+ <editors:ParameterizedEditor ParameterizedObject="{Binding ElementName=listPid,Path=SelectedItem}" Padding="10">
+ <editors:ParameterizedEditor.ItemsPanel>
+ <ItemsPanelTemplate>
+ <StackPanel></StackPanel>
+ </ItemsPanelTemplate>
+ </editors:ParameterizedEditor.ItemsPanel>
+ <editors:ParameterizedEditor.DoubleTemplate>
+ <DataTemplate>
+ <DockPanel>
+ <mahApps:NumericUpDown DockPanel.Dock="Right" Background="Transparent" BorderThickness="0 0 0 0" Value="{Binding Value,UpdateSourceTrigger=PropertyChanged}" HasDecimals="True" HorizontalContentAlignment="Center" Width="100" />
+ <TextBlock Text="{Binding Name}" VerticalAlignment="Center"></TextBlock>
+ </DockPanel>
+ </DataTemplate>
+ </editors:ParameterizedEditor.DoubleTemplate>
+ <editors:ParameterizedEditor.Int32Template>
+ <DataTemplate>
+ <DockPanel>
+ <mahApps:NumericUpDown DockPanel.Dock="Right" Background="Transparent" BorderThickness="0 0 0 0" Value="{Binding Value,Converter={StaticResource DoubleToIntConverter},UpdateSourceTrigger=PropertyChanged}" HasDecimals="False" HorizontalContentAlignment="Center" Width="100" />
+ <TextBlock Text="{Binding Name}" VerticalAlignment="Center"></TextBlock>
+ </DockPanel>
+ </DataTemplate>
+ </editors:ParameterizedEditor.Int32Template>
+ <editors:ParameterizedEditor.BooleanTemplate>
+ <DataTemplate>
+ <DockPanel Margin="0 5 0 0">
+ <ToggleButton DockPanel.Dock="Right" Width="100" IsChecked="{Binding Value}" HorizontalAlignment="Right" />
+ <TextBlock Text="{Binding Name}" VerticalAlignment="Center"></TextBlock>
+ </DockPanel>
+ </DataTemplate>
+ </editors:ParameterizedEditor.BooleanTemplate>
+ </editors:ParameterizedEditor>
+ </Expander>
+ </Grid>
+ </StackPanel>
+ </materialDesign:Card>
</StackPanel>
</Grid>
</ScrollViewer>
- <Grid Grid.Row="1" Margin="10">
+ <Grid Grid.Row="1" Margin="10 0 10 10">
<Button Height="Auto" Command="{Binding SaveCommand}" Margin="0 0 0 0">
<StackPanel Orientation="Horizontal">
<materialDesign:PackIcon Width="20" Height="20" VerticalAlignment="Center" Kind="ContentSaveSettings"></materialDesign:PackIcon>
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.HardwareDesigner/Views/MainView.xaml.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.HardwareDesigner/Views/MainView.xaml.cs
index b06d3bd27..d18a8ac71 100644
--- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.HardwareDesigner/Views/MainView.xaml.cs
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.HardwareDesigner/Views/MainView.xaml.cs
@@ -57,6 +57,14 @@ namespace Tango.MachineStudio.HardwareDesigner.Views
}
}
+ private void OnPidControlDrop(object sender, DropEventArgs e)
+ {
+ if (e.Draggable.DataContext is PidControl)
+ {
+ _vm.OnDropPidControl(e.Draggable.DataContext as PidControl);
+ }
+ }
+
private void OnTrashDrop(object sender, DropEventArgs e)
{
if (e.Draggable.DataContext is MotorType)
@@ -67,6 +75,10 @@ namespace Tango.MachineStudio.HardwareDesigner.Views
{
_vm.OnRemoveDancer(e.Draggable.DataContext as DancerType);
}
+ else if (e.Draggable.DataContext is PidControl)
+ {
+ _vm.OnRemovePidControl(e.Draggable.DataContext as PidControl);
+ }
}
}
}
diff --git a/Software/Visual_Studio/Tango.DAL.Remote/DB/HARDWARE_VERSIONS.cs b/Software/Visual_Studio/Tango.DAL.Remote/DB/HARDWARE_VERSIONS.cs
index c3fddde5c..6e5371f37 100644
--- a/Software/Visual_Studio/Tango.DAL.Remote/DB/HARDWARE_VERSIONS.cs
+++ b/Software/Visual_Studio/Tango.DAL.Remote/DB/HARDWARE_VERSIONS.cs
@@ -20,6 +20,7 @@ namespace Tango.DAL.Remote.DB
this.CONFIGURATIONS = new HashSet<CONFIGURATION>();
this.HARDWARE_VERSIONS_DANCER_TYPES = new HashSet<HARDWARE_VERSIONS_DANCER_TYPES>();
this.HARDWARE_VERSIONS_MOTOR_TYPES = new HashSet<HARDWARE_VERSIONS_MOTOR_TYPES>();
+ this.HARDWARE_VERSIONS_PID_CONTROLS = new HashSet<HARDWARE_VERSIONS_PID_CONTROLS>();
}
public int ID { get; set; }
@@ -34,5 +35,7 @@ namespace Tango.DAL.Remote.DB
public virtual ICollection<HARDWARE_VERSIONS_DANCER_TYPES> HARDWARE_VERSIONS_DANCER_TYPES { get; set; }
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
public virtual ICollection<HARDWARE_VERSIONS_MOTOR_TYPES> HARDWARE_VERSIONS_MOTOR_TYPES { get; set; }
+ [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
+ public virtual ICollection<HARDWARE_VERSIONS_PID_CONTROLS> HARDWARE_VERSIONS_PID_CONTROLS { get; set; }
}
}
diff --git a/Software/Visual_Studio/Tango.DAL.Remote/DB/HARDWARE_VERSIONS_PID_CONTROLS.cs b/Software/Visual_Studio/Tango.DAL.Remote/DB/HARDWARE_VERSIONS_PID_CONTROLS.cs
new file mode 100644
index 000000000..2f70cf1d0
--- /dev/null
+++ b/Software/Visual_Studio/Tango.DAL.Remote/DB/HARDWARE_VERSIONS_PID_CONTROLS.cs
@@ -0,0 +1,26 @@
+//------------------------------------------------------------------------------
+// <auto-generated>
+// This code was generated from a template.
+//
+// Manual changes to this file may cause unexpected behavior in your application.
+// Manual changes to this file will be overwritten if the code is regenerated.
+// </auto-generated>
+//------------------------------------------------------------------------------
+
+namespace Tango.DAL.Remote.DB
+{
+ using System;
+ using System.Collections.Generic;
+
+ public partial class HARDWARE_VERSIONS_PID_CONTROLS
+ {
+ public int ID { get; set; }
+ public string GUID { get; set; }
+ public System.DateTime LAST_UPDATED { get; set; }
+ public string HARDWARE_VERSION_GUID { get; set; }
+ public string PID_CONTROL_GUID { get; set; }
+
+ public virtual HARDWARE_VERSIONS HARDWARE_VERSIONS { get; set; }
+ public virtual PID_CONTROLS PID_CONTROLS { get; set; }
+ }
+}
diff --git a/Software/Visual_Studio/Tango.DAL.Remote/DB/PID_CONTROLS.cs b/Software/Visual_Studio/Tango.DAL.Remote/DB/PID_CONTROLS.cs
new file mode 100644
index 000000000..2b98ebad3
--- /dev/null
+++ b/Software/Visual_Studio/Tango.DAL.Remote/DB/PID_CONTROLS.cs
@@ -0,0 +1,47 @@
+//------------------------------------------------------------------------------
+// <auto-generated>
+// This code was generated from a template.
+//
+// Manual changes to this file may cause unexpected behavior in your application.
+// Manual changes to this file will be overwritten if the code is regenerated.
+// </auto-generated>
+//------------------------------------------------------------------------------
+
+namespace Tango.DAL.Remote.DB
+{
+ using System;
+ using System.Collections.Generic;
+
+ public partial class PID_CONTROLS
+ {
+ [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2214:DoNotCallOverridableMethodsInConstructors")]
+ public PID_CONTROLS()
+ {
+ this.HARDWARE_VERSIONS_PID_CONTROLS = new HashSet<HARDWARE_VERSIONS_PID_CONTROLS>();
+ }
+
+ public int ID { get; set; }
+ public string GUID { get; set; }
+ public System.DateTime LAST_UPDATED { get; set; }
+ public int CODE { get; set; }
+ public string NAME { get; set; }
+ public string DESCRIPTION { get; set; }
+ public int OUTPUT_PROPORTIONAL_POWER_LIMIT { get; set; }
+ public int OUTPUT_PROPORTIONAL_BAND { get; set; }
+ public int INTEGRAL_TIME { get; set; }
+ public int DERIVATIVE_TIME { get; set; }
+ public int SENSOR_CORRECTION_ADJUSTMENT { get; set; }
+ public int SENSOR_MIN_VALUE { get; set; }
+ public int SENSOR_MAX_VALUE { get; set; }
+ public int SET_POINT_RAMP_RATEOR_SOFT_START_RAMP { get; set; }
+ public int SET_POINT_CONTROL_OUTPUT_RATE { get; set; }
+ public int CONTROL_OUTPUT_TYPE { get; set; }
+ public int SSR_CONTROL_OUTPUT_TYPE { get; set; }
+ public int OUTPUT_ON_OFF_HYSTERESIS_VALUE { get; set; }
+ public int PROCESS_VARIABLE_SAMPLING_RATE { get; set; }
+ public int PV_INPUT_FILTER_FACTOR_MODE { get; set; }
+
+ [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
+ public virtual ICollection<HARDWARE_VERSIONS_PID_CONTROLS> HARDWARE_VERSIONS_PID_CONTROLS { get; set; }
+ }
+}
diff --git a/Software/Visual_Studio/Tango.DAL.Remote/DB/RemoteADO.Context.cs b/Software/Visual_Studio/Tango.DAL.Remote/DB/RemoteADO.Context.cs
index 5f73f3e16..f5eb58da6 100644
--- a/Software/Visual_Studio/Tango.DAL.Remote/DB/RemoteADO.Context.cs
+++ b/Software/Visual_Studio/Tango.DAL.Remote/DB/RemoteADO.Context.cs
@@ -50,6 +50,7 @@ namespace Tango.DAL.Remote.DB
public virtual DbSet<HARDWARE_VERSIONS> HARDWARE_VERSIONS { get; set; }
public virtual DbSet<HARDWARE_VERSIONS_DANCER_TYPES> HARDWARE_VERSIONS_DANCER_TYPES { get; set; }
public virtual DbSet<HARDWARE_VERSIONS_MOTOR_TYPES> HARDWARE_VERSIONS_MOTOR_TYPES { get; set; }
+ public virtual DbSet<HARDWARE_VERSIONS_PID_CONTROLS> HARDWARE_VERSIONS_PID_CONTROLS { get; set; }
public virtual DbSet<IDS_PACK_FORMULAS> IDS_PACK_FORMULAS { get; set; }
public virtual DbSet<IDS_PACKS> IDS_PACKS { get; set; }
public virtual DbSet<JOB_RUNS> JOB_RUNS { get; set; }
@@ -70,6 +71,7 @@ namespace Tango.DAL.Remote.DB
public virtual DbSet<MOTOR_TYPES> MOTOR_TYPES { get; set; }
public virtual DbSet<ORGANIZATION> ORGANIZATIONS { get; set; }
public virtual DbSet<PERMISSION> PERMISSIONS { get; set; }
+ public virtual DbSet<PID_CONTROLS> PID_CONTROLS { get; set; }
public virtual DbSet<PROCESS_PARAMETERS_TABLES> PROCESS_PARAMETERS_TABLES { get; set; }
public virtual DbSet<PROCESS_PARAMETERS_TABLES_GROUPS> PROCESS_PARAMETERS_TABLES_GROUPS { get; set; }
public virtual DbSet<RML> RMLS { get; set; }
diff --git a/Software/Visual_Studio/Tango.DAL.Remote/DB/RemoteADO.edmx b/Software/Visual_Studio/Tango.DAL.Remote/DB/RemoteADO.edmx
index 956538b65..2c57cb744 100644
--- a/Software/Visual_Studio/Tango.DAL.Remote/DB/RemoteADO.edmx
+++ b/Software/Visual_Studio/Tango.DAL.Remote/DB/RemoteADO.edmx
@@ -343,6 +343,16 @@
<Property Name="HARDWARE_VERSION_GUID" Type="varchar" MaxLength="36" Nullable="false" />
<Property Name="MOTOR_TYPE_GUID" Type="varchar" MaxLength="36" Nullable="false" />
</EntityType>
+ <EntityType Name="HARDWARE_VERSIONS_PID_CONTROLS">
+ <Key>
+ <PropertyRef Name="GUID" />
+ </Key>
+ <Property Name="ID" Type="int" StoreGeneratedPattern="Identity" Nullable="false" />
+ <Property Name="GUID" Type="varchar" MaxLength="36" Nullable="false" />
+ <Property Name="LAST_UPDATED" Type="datetime2" Precision="3" Nullable="false" />
+ <Property Name="HARDWARE_VERSION_GUID" Type="varchar" MaxLength="36" Nullable="false" />
+ <Property Name="PID_CONTROL_GUID" Type="varchar" MaxLength="36" Nullable="false" />
+ </EntityType>
<EntityType Name="IDS_PACK_FORMULAS">
<Key>
<PropertyRef Name="GUID" />
@@ -593,6 +603,31 @@
<Property Name="NAME" Type="nvarchar" MaxLength="30" Nullable="false" />
<Property Name="DESCRIPTION" Type="nvarchar" MaxLength="100" Nullable="false" />
</EntityType>
+ <EntityType Name="PID_CONTROLS">
+ <Key>
+ <PropertyRef Name="GUID" />
+ </Key>
+ <Property Name="ID" Type="int" StoreGeneratedPattern="Identity" Nullable="false" />
+ <Property Name="GUID" Type="varchar" MaxLength="36" Nullable="false" />
+ <Property Name="LAST_UPDATED" Type="datetime2" Precision="3" Nullable="false" />
+ <Property Name="CODE" Type="int" Nullable="false" />
+ <Property Name="NAME" Type="varchar" MaxLength="100" Nullable="false" />
+ <Property Name="DESCRIPTION" Type="varchar" MaxLength="100" Nullable="false" />
+ <Property Name="OUTPUT_PROPORTIONAL_POWER_LIMIT" Type="int" Nullable="false" />
+ <Property Name="OUTPUT_PROPORTIONAL_BAND" Type="int" Nullable="false" />
+ <Property Name="INTEGRAL_TIME" Type="int" Nullable="false" />
+ <Property Name="DERIVATIVE_TIME" Type="int" Nullable="false" />
+ <Property Name="SENSOR_CORRECTION_ADJUSTMENT" Type="int" Nullable="false" />
+ <Property Name="SENSOR_MIN_VALUE" Type="int" Nullable="false" />
+ <Property Name="SENSOR_MAX_VALUE" Type="int" Nullable="false" />
+ <Property Name="SET_POINT_RAMP_RATEOR_SOFT_START_RAMP" Type="int" Nullable="false" />
+ <Property Name="SET_POINT_CONTROL_OUTPUT_RATE" Type="int" Nullable="false" />
+ <Property Name="CONTROL_OUTPUT_TYPE" Type="int" Nullable="false" />
+ <Property Name="SSR_CONTROL_OUTPUT_TYPE" Type="int" Nullable="false" />
+ <Property Name="OUTPUT_ON_OFF_HYSTERESIS_VALUE" Type="int" Nullable="false" />
+ <Property Name="PROCESS_VARIABLE_SAMPLING_RATE" Type="int" Nullable="false" />
+ <Property Name="PV_INPUT_FILTER_FACTOR_MODE" Type="int" Nullable="false" />
+ </EntityType>
<EntityType Name="PROCESS_PARAMETERS_TABLES">
<Key>
<PropertyRef Name="GUID" />
@@ -1071,6 +1106,32 @@
</Dependent>
</ReferentialConstraint>
</Association>
+ <Association Name="FK_HARDWARE_VERSIONS_PID_CONTROLS_HARDWARE_VERSIONS">
+ <End Role="HARDWARE_VERSIONS" Type="Self.HARDWARE_VERSIONS" Multiplicity="1" />
+ <End Role="HARDWARE_VERSIONS_PID_CONTROLS" Type="Self.HARDWARE_VERSIONS_PID_CONTROLS" Multiplicity="*" />
+ <ReferentialConstraint>
+ <Principal Role="HARDWARE_VERSIONS">
+ <PropertyRef Name="GUID" />
+ </Principal>
+ <Dependent Role="HARDWARE_VERSIONS_PID_CONTROLS">
+ <PropertyRef Name="HARDWARE_VERSION_GUID" />
+ </Dependent>
+ </ReferentialConstraint>
+ </Association>
+ <Association Name="FK_HARDWARE_VERSIONS_PID_CONTROLS_PID_CONTROLS">
+ <End Role="PID_CONTROLS" Type="Self.PID_CONTROLS" Multiplicity="1">
+ <OnDelete Action="Cascade" />
+ </End>
+ <End Role="HARDWARE_VERSIONS_PID_CONTROLS" Type="Self.HARDWARE_VERSIONS_PID_CONTROLS" Multiplicity="*" />
+ <ReferentialConstraint>
+ <Principal Role="PID_CONTROLS">
+ <PropertyRef Name="GUID" />
+ </Principal>
+ <Dependent Role="HARDWARE_VERSIONS_PID_CONTROLS">
+ <PropertyRef Name="PID_CONTROL_GUID" />
+ </Dependent>
+ </ReferentialConstraint>
+ </Association>
<Association Name="FK_IDS_PACKS_CARTRIDGE_TYPES">
<End Role="CARTRIDGE_TYPES" Type="Self.CARTRIDGE_TYPES" Multiplicity="1" />
<End Role="IDS_PACKS" Type="Self.IDS_PACKS" Multiplicity="*" />
@@ -1619,6 +1680,7 @@
<EntitySet Name="HARDWARE_VERSIONS" EntityType="Self.HARDWARE_VERSIONS" Schema="dbo" store:Type="Tables" />
<EntitySet Name="HARDWARE_VERSIONS_DANCER_TYPES" EntityType="Self.HARDWARE_VERSIONS_DANCER_TYPES" Schema="dbo" store:Type="Tables" />
<EntitySet Name="HARDWARE_VERSIONS_MOTOR_TYPES" EntityType="Self.HARDWARE_VERSIONS_MOTOR_TYPES" Schema="dbo" store:Type="Tables" />
+ <EntitySet Name="HARDWARE_VERSIONS_PID_CONTROLS" EntityType="Self.HARDWARE_VERSIONS_PID_CONTROLS" Schema="dbo" store:Type="Tables" />
<EntitySet Name="IDS_PACK_FORMULAS" EntityType="Self.IDS_PACK_FORMULAS" Schema="dbo" store:Type="Tables" />
<EntitySet Name="IDS_PACKS" EntityType="Self.IDS_PACKS" Schema="dbo" store:Type="Tables" />
<EntitySet Name="JOB_RUNS" EntityType="Self.JOB_RUNS" Schema="dbo" store:Type="Tables" />
@@ -1639,6 +1701,7 @@
<EntitySet Name="MOTOR_TYPES" EntityType="Self.MOTOR_TYPES" Schema="dbo" store:Type="Tables" />
<EntitySet Name="ORGANIZATIONS" EntityType="Self.ORGANIZATIONS" Schema="dbo" store:Type="Tables" />
<EntitySet Name="PERMISSIONS" EntityType="Self.PERMISSIONS" Schema="dbo" store:Type="Tables" />
+ <EntitySet Name="PID_CONTROLS" EntityType="Self.PID_CONTROLS" Schema="dbo" store:Type="Tables" />
<EntitySet Name="PROCESS_PARAMETERS_TABLES" EntityType="Self.PROCESS_PARAMETERS_TABLES" Schema="dbo" store:Type="Tables" />
<EntitySet Name="PROCESS_PARAMETERS_TABLES_GROUPS" EntityType="Self.PROCESS_PARAMETERS_TABLES_GROUPS" Schema="dbo" store:Type="Tables" />
<EntitySet Name="RMLS" EntityType="Self.RMLS" Schema="dbo" store:Type="Tables" />
@@ -1739,6 +1802,14 @@
<End Role="MOTOR_TYPES" EntitySet="MOTOR_TYPES" />
<End Role="HARDWARE_VERSIONS_MOTOR_TYPES" EntitySet="HARDWARE_VERSIONS_MOTOR_TYPES" />
</AssociationSet>
+ <AssociationSet Name="FK_HARDWARE_VERSIONS_PID_CONTROLS_HARDWARE_VERSIONS" Association="Self.FK_HARDWARE_VERSIONS_PID_CONTROLS_HARDWARE_VERSIONS">
+ <End Role="HARDWARE_VERSIONS" EntitySet="HARDWARE_VERSIONS" />
+ <End Role="HARDWARE_VERSIONS_PID_CONTROLS" EntitySet="HARDWARE_VERSIONS_PID_CONTROLS" />
+ </AssociationSet>
+ <AssociationSet Name="FK_HARDWARE_VERSIONS_PID_CONTROLS_PID_CONTROLS" Association="Self.FK_HARDWARE_VERSIONS_PID_CONTROLS_PID_CONTROLS">
+ <End Role="PID_CONTROLS" EntitySet="PID_CONTROLS" />
+ <End Role="HARDWARE_VERSIONS_PID_CONTROLS" EntitySet="HARDWARE_VERSIONS_PID_CONTROLS" />
+ </AssociationSet>
<AssociationSet Name="FK_IDS_PACKS_CARTRIDGE_TYPES" Association="Self.FK_IDS_PACKS_CARTRIDGE_TYPES">
<End Role="CARTRIDGE_TYPES" EntitySet="CARTRIDGE_TYPES" />
<End Role="IDS_PACKS" EntitySet="IDS_PACKS" />
@@ -1934,6 +2005,7 @@
<EntitySet Name="HARDWARE_VERSIONS" EntityType="RemoteModel.HARDWARE_VERSIONS" />
<EntitySet Name="HARDWARE_VERSIONS_DANCER_TYPES" EntityType="RemoteModel.HARDWARE_VERSIONS_DANCER_TYPES" />
<EntitySet Name="HARDWARE_VERSIONS_MOTOR_TYPES" EntityType="RemoteModel.HARDWARE_VERSIONS_MOTOR_TYPES" />
+ <EntitySet Name="HARDWARE_VERSIONS_PID_CONTROLS" EntityType="RemoteModel.HARDWARE_VERSIONS_PID_CONTROLS" />
<EntitySet Name="IDS_PACK_FORMULAS" EntityType="RemoteModel.IDS_PACK_FORMULAS" />
<EntitySet Name="IDS_PACKS" EntityType="RemoteModel.IDS_PACKS" />
<EntitySet Name="JOB_RUNS" EntityType="RemoteModel.JOB_RUNS" />
@@ -1954,6 +2026,7 @@
<EntitySet Name="MOTOR_TYPES" EntityType="RemoteModel.MOTOR_TYPES" />
<EntitySet Name="ORGANIZATIONS" EntityType="RemoteModel.ORGANIZATION" />
<EntitySet Name="PERMISSIONS" EntityType="RemoteModel.PERMISSION" />
+ <EntitySet Name="PID_CONTROLS" EntityType="RemoteModel.PID_CONTROLS" />
<EntitySet Name="PROCESS_PARAMETERS_TABLES" EntityType="RemoteModel.PROCESS_PARAMETERS_TABLES" />
<EntitySet Name="PROCESS_PARAMETERS_TABLES_GROUPS" EntityType="RemoteModel.PROCESS_PARAMETERS_TABLES_GROUPS" />
<EntitySet Name="RMLS" EntityType="RemoteModel.RML" />
@@ -2098,10 +2171,18 @@
<End Role="HARDWARE_VERSIONS" EntitySet="HARDWARE_VERSIONS" />
<End Role="HARDWARE_VERSIONS_MOTOR_TYPES" EntitySet="HARDWARE_VERSIONS_MOTOR_TYPES" />
</AssociationSet>
+ <AssociationSet Name="FK_HARDWARE_VERSIONS_PID_CONTROLS_HARDWARE_VERSIONS" Association="RemoteModel.FK_HARDWARE_VERSIONS_PID_CONTROLS_HARDWARE_VERSIONS">
+ <End Role="HARDWARE_VERSIONS" EntitySet="HARDWARE_VERSIONS" />
+ <End Role="HARDWARE_VERSIONS_PID_CONTROLS" EntitySet="HARDWARE_VERSIONS_PID_CONTROLS" />
+ </AssociationSet>
<AssociationSet Name="FK_HARDWARE_VERSIONS_MOTOR_TYPES_MOTOR_TYPES" Association="RemoteModel.FK_HARDWARE_VERSIONS_MOTOR_TYPES_MOTOR_TYPES">
<End Role="MOTOR_TYPES" EntitySet="MOTOR_TYPES" />
<End Role="HARDWARE_VERSIONS_MOTOR_TYPES" EntitySet="HARDWARE_VERSIONS_MOTOR_TYPES" />
</AssociationSet>
+ <AssociationSet Name="FK_HARDWARE_VERSIONS_PID_CONTROLS_PID_CONTROLS" Association="RemoteModel.FK_HARDWARE_VERSIONS_PID_CONTROLS_PID_CONTROLS">
+ <End Role="PID_CONTROLS" EntitySet="PID_CONTROLS" />
+ <End Role="HARDWARE_VERSIONS_PID_CONTROLS" EntitySet="HARDWARE_VERSIONS_PID_CONTROLS" />
+ </AssociationSet>
<AssociationSet Name="FK_IDS_PACKS_IDS_PACK_FORMULAS" Association="RemoteModel.FK_IDS_PACKS_IDS_PACK_FORMULAS">
<End Role="IDS_PACK_FORMULAS" EntitySet="IDS_PACK_FORMULAS" />
<End Role="IDS_PACKS" EntitySet="IDS_PACKS" />
@@ -2580,6 +2661,7 @@
<NavigationProperty Name="CONFIGURATIONS" Relationship="RemoteModel.FK_CONFIGURATIONS_HARDWARE_VERSIONS" FromRole="HARDWARE_VERSIONS" ToRole="CONFIGURATION" />
<NavigationProperty Name="HARDWARE_VERSIONS_DANCER_TYPES" Relationship="RemoteModel.FK_HARDWARE_VERSIONS_DANCER_TYPES_HARDWARE_VERSIONS" FromRole="HARDWARE_VERSIONS" ToRole="HARDWARE_VERSIONS_DANCER_TYPES" />
<NavigationProperty Name="HARDWARE_VERSIONS_MOTOR_TYPES" Relationship="RemoteModel.FK_HARDWARE_VERSIONS_MOTOR_TYPES_HARDWARE_VERSIONS" FromRole="HARDWARE_VERSIONS" ToRole="HARDWARE_VERSIONS_MOTOR_TYPES" />
+ <NavigationProperty Name="HARDWARE_VERSIONS_PID_CONTROLS" Relationship="RemoteModel.FK_HARDWARE_VERSIONS_PID_CONTROLS_HARDWARE_VERSIONS" FromRole="HARDWARE_VERSIONS" ToRole="HARDWARE_VERSIONS_PID_CONTROLS" />
</EntityType>
<EntityType Name="HARDWARE_VERSIONS_DANCER_TYPES">
<Key>
@@ -2605,6 +2687,18 @@
<NavigationProperty Name="HARDWARE_VERSIONS" Relationship="RemoteModel.FK_HARDWARE_VERSIONS_MOTOR_TYPES_HARDWARE_VERSIONS" FromRole="HARDWARE_VERSIONS_MOTOR_TYPES" ToRole="HARDWARE_VERSIONS" />
<NavigationProperty Name="MOTOR_TYPES" Relationship="RemoteModel.FK_HARDWARE_VERSIONS_MOTOR_TYPES_MOTOR_TYPES" FromRole="HARDWARE_VERSIONS_MOTOR_TYPES" ToRole="MOTOR_TYPES" />
</EntityType>
+ <EntityType Name="HARDWARE_VERSIONS_PID_CONTROLS">
+ <Key>
+ <PropertyRef Name="GUID" />
+ </Key>
+ <Property Name="ID" Type="Int32" Nullable="false" annotation:StoreGeneratedPattern="Identity" />
+ <Property Name="GUID" Type="String" Nullable="false" MaxLength="36" FixedLength="false" Unicode="false" />
+ <Property Name="LAST_UPDATED" Type="DateTime" Nullable="false" Precision="3" />
+ <Property Name="HARDWARE_VERSION_GUID" Type="String" Nullable="false" MaxLength="36" FixedLength="false" Unicode="false" />
+ <Property Name="PID_CONTROL_GUID" Type="String" Nullable="false" MaxLength="36" FixedLength="false" Unicode="false" />
+ <NavigationProperty Name="HARDWARE_VERSIONS" Relationship="RemoteModel.FK_HARDWARE_VERSIONS_PID_CONTROLS_HARDWARE_VERSIONS" FromRole="HARDWARE_VERSIONS_PID_CONTROLS" ToRole="HARDWARE_VERSIONS" />
+ <NavigationProperty Name="PID_CONTROLS" Relationship="RemoteModel.FK_HARDWARE_VERSIONS_PID_CONTROLS_PID_CONTROLS" FromRole="HARDWARE_VERSIONS_PID_CONTROLS" ToRole="PID_CONTROLS" />
+ </EntityType>
<EntityType Name="IDS_PACK_FORMULAS">
<Key>
<PropertyRef Name="GUID" />
@@ -2900,6 +2994,32 @@
<Property Name="DESCRIPTION" Type="String" Nullable="false" MaxLength="100" FixedLength="false" Unicode="true" />
<NavigationProperty Name="ROLES_PERMISSIONS" Relationship="RemoteModel.FK_ROLES_PERMISSIONS_PERMISSIONS" FromRole="PERMISSION" ToRole="ROLES_PERMISSIONS" />
</EntityType>
+ <EntityType Name="PID_CONTROLS">
+ <Key>
+ <PropertyRef Name="GUID" />
+ </Key>
+ <Property Name="ID" Type="Int32" Nullable="false" annotation:StoreGeneratedPattern="Identity" />
+ <Property Name="GUID" Type="String" Nullable="false" MaxLength="36" FixedLength="false" Unicode="false" />
+ <Property Name="LAST_UPDATED" Type="DateTime" Nullable="false" Precision="3" />
+ <Property Name="CODE" Type="Int32" Nullable="false" />
+ <Property Name="NAME" Type="String" Nullable="false" MaxLength="100" FixedLength="false" Unicode="false" />
+ <Property Name="DESCRIPTION" Type="String" Nullable="false" MaxLength="100" FixedLength="false" Unicode="false" />
+ <Property Name="OUTPUT_PROPORTIONAL_POWER_LIMIT" Type="Int32" Nullable="false" />
+ <Property Name="OUTPUT_PROPORTIONAL_BAND" Type="Int32" Nullable="false" />
+ <Property Name="INTEGRAL_TIME" Type="Int32" Nullable="false" />
+ <Property Name="DERIVATIVE_TIME" Type="Int32" Nullable="false" />
+ <Property Name="SENSOR_CORRECTION_ADJUSTMENT" Type="Int32" Nullable="false" />
+ <Property Name="SENSOR_MIN_VALUE" Type="Int32" Nullable="false" />
+ <Property Name="SENSOR_MAX_VALUE" Type="Int32" Nullable="false" />
+ <Property Name="SET_POINT_RAMP_RATEOR_SOFT_START_RAMP" Type="Int32" Nullable="false" />
+ <Property Name="SET_POINT_CONTROL_OUTPUT_RATE" Type="Int32" Nullable="false" />
+ <Property Name="CONTROL_OUTPUT_TYPE" Type="Int32" Nullable="false" />
+ <Property Name="SSR_CONTROL_OUTPUT_TYPE" Type="Int32" Nullable="false" />
+ <Property Name="OUTPUT_ON_OFF_HYSTERESIS_VALUE" Type="Int32" Nullable="false" />
+ <Property Name="PROCESS_VARIABLE_SAMPLING_RATE" Type="Int32" Nullable="false" />
+ <Property Name="PV_INPUT_FILTER_FACTOR_MODE" Type="Int32" Nullable="false" />
+ <NavigationProperty Name="HARDWARE_VERSIONS_PID_CONTROLS" Relationship="RemoteModel.FK_HARDWARE_VERSIONS_PID_CONTROLS_PID_CONTROLS" FromRole="PID_CONTROLS" ToRole="HARDWARE_VERSIONS_PID_CONTROLS" />
+ </EntityType>
<EntityType Name="PROCESS_PARAMETERS_TABLES">
<Key>
<PropertyRef Name="GUID" />
@@ -3547,6 +3667,18 @@
</Dependent>
</ReferentialConstraint>
</Association>
+ <Association Name="FK_HARDWARE_VERSIONS_PID_CONTROLS_HARDWARE_VERSIONS">
+ <End Type="RemoteModel.HARDWARE_VERSIONS" Role="HARDWARE_VERSIONS" Multiplicity="1" />
+ <End Type="RemoteModel.HARDWARE_VERSIONS_PID_CONTROLS" Role="HARDWARE_VERSIONS_PID_CONTROLS" Multiplicity="*" />
+ <ReferentialConstraint>
+ <Principal Role="HARDWARE_VERSIONS">
+ <PropertyRef Name="GUID" />
+ </Principal>
+ <Dependent Role="HARDWARE_VERSIONS_PID_CONTROLS">
+ <PropertyRef Name="HARDWARE_VERSION_GUID" />
+ </Dependent>
+ </ReferentialConstraint>
+ </Association>
<Association Name="FK_HARDWARE_VERSIONS_MOTOR_TYPES_MOTOR_TYPES">
<End Type="RemoteModel.MOTOR_TYPES" Role="MOTOR_TYPES" Multiplicity="1" />
<End Type="RemoteModel.HARDWARE_VERSIONS_MOTOR_TYPES" Role="HARDWARE_VERSIONS_MOTOR_TYPES" Multiplicity="*" />
@@ -3559,6 +3691,20 @@
</Dependent>
</ReferentialConstraint>
</Association>
+ <Association Name="FK_HARDWARE_VERSIONS_PID_CONTROLS_PID_CONTROLS">
+ <End Type="RemoteModel.PID_CONTROLS" Role="PID_CONTROLS" Multiplicity="1">
+ <OnDelete Action="Cascade" />
+ </End>
+ <End Type="RemoteModel.HARDWARE_VERSIONS_PID_CONTROLS" Role="HARDWARE_VERSIONS_PID_CONTROLS" Multiplicity="*" />
+ <ReferentialConstraint>
+ <Principal Role="PID_CONTROLS">
+ <PropertyRef Name="GUID" />
+ </Principal>
+ <Dependent Role="HARDWARE_VERSIONS_PID_CONTROLS">
+ <PropertyRef Name="PID_CONTROL_GUID" />
+ </Dependent>
+ </ReferentialConstraint>
+ </Association>
<Association Name="FK_IDS_PACKS_IDS_PACK_FORMULAS">
<End Type="RemoteModel.IDS_PACK_FORMULAS" Role="IDS_PACK_FORMULAS" Multiplicity="1" />
<End Type="RemoteModel.IDS_PACKS" Role="IDS_PACKS" Multiplicity="*" />
@@ -4300,6 +4446,17 @@
</MappingFragment>
</EntityTypeMapping>
</EntitySetMapping>
+ <EntitySetMapping Name="HARDWARE_VERSIONS_PID_CONTROLS">
+ <EntityTypeMapping TypeName="RemoteModel.HARDWARE_VERSIONS_PID_CONTROLS">
+ <MappingFragment StoreEntitySet="HARDWARE_VERSIONS_PID_CONTROLS">
+ <ScalarProperty Name="PID_CONTROL_GUID" ColumnName="PID_CONTROL_GUID" />
+ <ScalarProperty Name="HARDWARE_VERSION_GUID" ColumnName="HARDWARE_VERSION_GUID" />
+ <ScalarProperty Name="LAST_UPDATED" ColumnName="LAST_UPDATED" />
+ <ScalarProperty Name="GUID" ColumnName="GUID" />
+ <ScalarProperty Name="ID" ColumnName="ID" />
+ </MappingFragment>
+ </EntityTypeMapping>
+ </EntitySetMapping>
<EntitySetMapping Name="IDS_PACK_FORMULAS">
<EntityTypeMapping TypeName="RemoteModel.IDS_PACK_FORMULAS">
<MappingFragment StoreEntitySet="IDS_PACK_FORMULAS">
@@ -4570,6 +4727,32 @@
</MappingFragment>
</EntityTypeMapping>
</EntitySetMapping>
+ <EntitySetMapping Name="PID_CONTROLS">
+ <EntityTypeMapping TypeName="RemoteModel.PID_CONTROLS">
+ <MappingFragment StoreEntitySet="PID_CONTROLS">
+ <ScalarProperty Name="PV_INPUT_FILTER_FACTOR_MODE" ColumnName="PV_INPUT_FILTER_FACTOR_MODE" />
+ <ScalarProperty Name="PROCESS_VARIABLE_SAMPLING_RATE" ColumnName="PROCESS_VARIABLE_SAMPLING_RATE" />
+ <ScalarProperty Name="OUTPUT_ON_OFF_HYSTERESIS_VALUE" ColumnName="OUTPUT_ON_OFF_HYSTERESIS_VALUE" />
+ <ScalarProperty Name="SSR_CONTROL_OUTPUT_TYPE" ColumnName="SSR_CONTROL_OUTPUT_TYPE" />
+ <ScalarProperty Name="CONTROL_OUTPUT_TYPE" ColumnName="CONTROL_OUTPUT_TYPE" />
+ <ScalarProperty Name="SET_POINT_CONTROL_OUTPUT_RATE" ColumnName="SET_POINT_CONTROL_OUTPUT_RATE" />
+ <ScalarProperty Name="SET_POINT_RAMP_RATEOR_SOFT_START_RAMP" ColumnName="SET_POINT_RAMP_RATEOR_SOFT_START_RAMP" />
+ <ScalarProperty Name="SENSOR_MAX_VALUE" ColumnName="SENSOR_MAX_VALUE" />
+ <ScalarProperty Name="SENSOR_MIN_VALUE" ColumnName="SENSOR_MIN_VALUE" />
+ <ScalarProperty Name="SENSOR_CORRECTION_ADJUSTMENT" ColumnName="SENSOR_CORRECTION_ADJUSTMENT" />
+ <ScalarProperty Name="DERIVATIVE_TIME" ColumnName="DERIVATIVE_TIME" />
+ <ScalarProperty Name="INTEGRAL_TIME" ColumnName="INTEGRAL_TIME" />
+ <ScalarProperty Name="OUTPUT_PROPORTIONAL_BAND" ColumnName="OUTPUT_PROPORTIONAL_BAND" />
+ <ScalarProperty Name="OUTPUT_PROPORTIONAL_POWER_LIMIT" ColumnName="OUTPUT_PROPORTIONAL_POWER_LIMIT" />
+ <ScalarProperty Name="DESCRIPTION" ColumnName="DESCRIPTION" />
+ <ScalarProperty Name="NAME" ColumnName="NAME" />
+ <ScalarProperty Name="CODE" ColumnName="CODE" />
+ <ScalarProperty Name="LAST_UPDATED" ColumnName="LAST_UPDATED" />
+ <ScalarProperty Name="GUID" ColumnName="GUID" />
+ <ScalarProperty Name="ID" ColumnName="ID" />
+ </MappingFragment>
+ </EntityTypeMapping>
+ </EntitySetMapping>
<EntitySetMapping Name="PROCESS_PARAMETERS_TABLES">
<EntityTypeMapping TypeName="RemoteModel.PROCESS_PARAMETERS_TABLES">
<MappingFragment StoreEntitySet="PROCESS_PARAMETERS_TABLES">
diff --git a/Software/Visual_Studio/Tango.DAL.Remote/DB/RemoteADO.edmx.diagram b/Software/Visual_Studio/Tango.DAL.Remote/DB/RemoteADO.edmx.diagram
index 4238e03d4..6002a4773 100644
--- a/Software/Visual_Studio/Tango.DAL.Remote/DB/RemoteADO.edmx.diagram
+++ b/Software/Visual_Studio/Tango.DAL.Remote/DB/RemoteADO.edmx.diagram
@@ -5,67 +5,69 @@
<!-- Diagram content (shape and connector positions) -->
<edmx:Diagrams>
<Diagram DiagramId="f9ae01d708754bbd997add25a4bacc79" Name="Diagram1">
- <EntityTypeShape EntityType="RemoteModel.ACTION_TYPES" Width="1.5" PointX="8" PointY="62.125" />
- <EntityTypeShape EntityType="RemoteModel.ADDRESS" Width="1.5" PointX="1.5" PointY="37.875" />
- <EntityTypeShape EntityType="RemoteModel.APPLICATION_DISPLAY_PANEL_VERSIONS" Width="1.5" PointX="1.5" PointY="57.375" />
- <EntityTypeShape EntityType="RemoteModel.APPLICATION_FIRMWARE_VERSIONS" Width="1.5" PointX="1.5" PointY="74.5" />
- <EntityTypeShape EntityType="RemoteModel.APPLICATION_OS_VERSIONS" Width="1.5" PointX="1.5" PointY="54.5" />
- <EntityTypeShape EntityType="RemoteModel.APPLICATION_VERSIONS" Width="1.5" PointX="1.5" PointY="80.375" />
- <EntityTypeShape EntityType="RemoteModel.BRUSH_STOPS" Width="1.5" PointX="9.75" PointY="20" />
- <EntityTypeShape EntityType="RemoteModel.CARTRIDGE_TYPES" Width="1.5" PointX="8" PointY="51.875" />
- <EntityTypeShape EntityType="RemoteModel.CAT" Width="1.5" PointX="8.25" PointY="14.375" />
- <EntityTypeShape EntityType="RemoteModel.CCT" Width="1.5" PointX="5.25" PointY="24.75" />
- <EntityTypeShape EntityType="RemoteModel.COLOR_CATALOGS" Width="1.5" PointX="7.5" PointY="35.375" />
- <EntityTypeShape EntityType="RemoteModel.COLOR_SPACES" Width="1.5" PointX="5.25" PointY="37.125" />
- <EntityTypeShape EntityType="RemoteModel.CONFIGURATION" Width="1.5" PointX="0.75" PointY="61.75" />
- <EntityTypeShape EntityType="RemoteModel.CONTACT" Width="1.5" PointX="1.5" PointY="50.125" />
- <EntityTypeShape EntityType="RemoteModel.DANCER_TYPES" Width="1.5" PointX="1.5" PointY="84.125" />
- <EntityTypeShape EntityType="RemoteModel.DISPENSER_TYPES" Width="1.5" PointX="8" PointY="43.125" />
- <EntityTypeShape EntityType="RemoteModel.EMBEDDED_FIRMWARE_VERSIONS" Width="1.5" PointX="1.5" PointY="71.625" />
- <EntityTypeShape EntityType="RemoteModel.EMBEDDED_SOFTWARE_VERSIONS" Width="1.5" PointX="1.5" PointY="77.5" />
- <EntityTypeShape EntityType="RemoteModel.EVENT_TYPES" Width="1.5" PointX="8" PointY="5" />
- <EntityTypeShape EntityType="RemoteModel.EVENT_TYPES_ACTIONS" Width="1.5" PointX="10.25" PointY="5.125" />
- <EntityTypeShape EntityType="RemoteModel.FIBER_SHAPES" Width="1.5" PointX="0.75" PointY="21.125" />
- <EntityTypeShape EntityType="RemoteModel.FIBER_SYNTHS" Width="1.5" PointX="0.75" PointY="27" />
- <EntityTypeShape EntityType="RemoteModel.HARDWARE_VERSIONS" Width="1.5" PointX="1.5" PointY="68.375" />
- <EntityTypeShape EntityType="RemoteModel.HARDWARE_VERSIONS_DANCER_TYPES" Width="1.5" PointX="3.75" PointY="68.375" />
- <EntityTypeShape EntityType="RemoteModel.HARDWARE_VERSIONS_MOTOR_TYPES" Width="1.5" PointX="6.75" PointY="68.375" />
- <EntityTypeShape EntityType="RemoteModel.IDS_PACK_FORMULAS" Width="1.5" PointX="8" PointY="54.75" />
- <EntityTypeShape EntityType="RemoteModel.IDS_PACKS" Width="1.5" PointX="10.25" PointY="36.125" />
- <EntityTypeShape EntityType="RemoteModel.JOB_RUNS" Width="1.5" PointX="7.5" PointY="18.75" />
- <EntityTypeShape EntityType="RemoteModel.JOB" Width="1.5" PointX="5.25" PointY="13.125" />
+ <EntityTypeShape EntityType="RemoteModel.ACTION_TYPES" Width="1.5" PointX="7" PointY="58.25" />
+ <EntityTypeShape EntityType="RemoteModel.ADDRESS" Width="1.5" PointX="1.5" PointY="71.75" />
+ <EntityTypeShape EntityType="RemoteModel.APPLICATION_DISPLAY_PANEL_VERSIONS" Width="1.5" PointX="1.5" PointY="52.75" />
+ <EntityTypeShape EntityType="RemoteModel.APPLICATION_FIRMWARE_VERSIONS" Width="1.5" PointX="1.5" PointY="58.5" />
+ <EntityTypeShape EntityType="RemoteModel.APPLICATION_OS_VERSIONS" Width="1.5" PointX="1.5" PointY="49.75" />
+ <EntityTypeShape EntityType="RemoteModel.APPLICATION_VERSIONS" Width="1.5" PointX="1.5" PointY="33.875" />
+ <EntityTypeShape EntityType="RemoteModel.BRUSH_STOPS" Width="1.5" PointX="10.75" PointY="16.625" />
+ <EntityTypeShape EntityType="RemoteModel.CARTRIDGE_TYPES" Width="1.5" PointX="8" PointY="42.375" />
+ <EntityTypeShape EntityType="RemoteModel.CAT" Width="1.5" PointX="8.25" PointY="14.25" />
+ <EntityTypeShape EntityType="RemoteModel.CCT" Width="1.5" PointX="5.25" PointY="24.625" />
+ <EntityTypeShape EntityType="RemoteModel.COLOR_CATALOGS" Width="1.5" PointX="8.5" PointY="2" />
+ <EntityTypeShape EntityType="RemoteModel.COLOR_SPACES" Width="1.5" PointX="6.25" PointY="3.75" />
+ <EntityTypeShape EntityType="RemoteModel.CONFIGURATION" Width="1.5" PointX="0.75" PointY="37.75" />
+ <EntityTypeShape EntityType="RemoteModel.CONTACT" Width="1.5" PointX="1.5" PointY="76" />
+ <EntityTypeShape EntityType="RemoteModel.DANCER_TYPES" Width="1.5" PointX="5.5" PointY="45.25" />
+ <EntityTypeShape EntityType="RemoteModel.DISPENSER_TYPES" Width="1.5" PointX="8" PointY="48.5" />
+ <EntityTypeShape EntityType="RemoteModel.EMBEDDED_FIRMWARE_VERSIONS" Width="1.5" PointX="1.5" PointY="61.5" />
+ <EntityTypeShape EntityType="RemoteModel.EMBEDDED_SOFTWARE_VERSIONS" Width="1.5" PointX="1.5" PointY="55.625" />
+ <EntityTypeShape EntityType="RemoteModel.EVENT_TYPES" Width="1.5" PointX="7" PointY="54.125" />
+ <EntityTypeShape EntityType="RemoteModel.EVENT_TYPES_ACTIONS" Width="1.5" PointX="9.25" PointY="54.25" />
+ <EntityTypeShape EntityType="RemoteModel.FIBER_SHAPES" Width="1.5" PointX="0.75" PointY="10.25" />
+ <EntityTypeShape EntityType="RemoteModel.FIBER_SYNTHS" Width="1.5" PointX="0.75" PointY="18.25" />
+ <EntityTypeShape EntityType="RemoteModel.HARDWARE_VERSIONS" Width="1.5" PointX="1.5" PointY="30.375" />
+ <EntityTypeShape EntityType="RemoteModel.HARDWARE_VERSIONS_DANCER_TYPES" Width="1.5" PointX="7.75" PointY="25.5" />
+ <EntityTypeShape EntityType="RemoteModel.HARDWARE_VERSIONS_MOTOR_TYPES" Width="1.5" PointX="3.75" PointY="33.5" />
+ <EntityTypeShape EntityType="RemoteModel.HARDWARE_VERSIONS_PID_CONTROLS" Width="1.5" PointX="6.75" PointY="35.5" />
+ <EntityTypeShape EntityType="RemoteModel.IDS_PACK_FORMULAS" Width="1.5" PointX="8" PointY="39.125" />
+ <EntityTypeShape EntityType="RemoteModel.IDS_PACKS" Width="1.5" PointX="10.25" PointY="25" />
+ <EntityTypeShape EntityType="RemoteModel.JOB_RUNS" Width="1.5" PointX="7.5" PointY="22.125" />
+ <EntityTypeShape EntityType="RemoteModel.JOB" Width="1.5" PointX="5.25" PointY="13" />
<EntityTypeShape EntityType="RemoteModel.LINEAR_MASS_DENSITY_UNITS" Width="1.5" PointX="0.75" PointY="7.375" />
<EntityTypeShape EntityType="RemoteModel.LIQUID_TYPES" Width="1.5" PointX="6" PointY="9.25" />
- <EntityTypeShape EntityType="RemoteModel.LIQUID_TYPES_RMLS" Width="1.5" PointX="8.25" PointY="10.5" />
- <EntityTypeShape EntityType="RemoteModel.MACHINE_STUDIO_VERSIONS" Width="1.5" PointX="5.25" PointY="21" />
- <EntityTypeShape EntityType="RemoteModel.MACHINE_VERSIONS" Width="1.5" PointX="0.75" PointY="42.125" />
- <EntityTypeShape EntityType="RemoteModel.MACHINE" Width="1.5" PointX="3" PointY="44.75" />
- <EntityTypeShape EntityType="RemoteModel.MACHINES_CONFIGURATIONS" Width="1.5" PointX="5.25" PointY="54.875" />
- <EntityTypeShape EntityType="RemoteModel.MACHINES_EVENTS" Width="1.5" PointX="10.25" PointY="31.75" />
- <EntityTypeShape EntityType="RemoteModel.MEDIA_COLORS" Width="1.5" PointX="0.75" PointY="14.75" />
- <EntityTypeShape EntityType="RemoteModel.MEDIA_CONDITIONS" Width="1.5" PointX="0.75" PointY="24" />
- <EntityTypeShape EntityType="RemoteModel.MEDIA_MATERIALS" Width="1.5" PointX="0.75" PointY="10.25" />
- <EntityTypeShape EntityType="RemoteModel.MEDIA_PURPOSES" Width="1.5" PointX="0.75" PointY="18.25" />
- <EntityTypeShape EntityType="RemoteModel.MID_TANK_TYPES" Width="1.5" PointX="8" PointY="48.75" />
- <EntityTypeShape EntityType="RemoteModel.MOTOR_TYPES" Width="1.5" PointX="4.5" PointY="62.125" />
- <EntityTypeShape EntityType="RemoteModel.ORGANIZATION" Width="1.5" PointX="0.75" PointY="33.125" />
- <EntityTypeShape EntityType="RemoteModel.PERMISSION" Width="1.5" PointX="8" PointY="58.875" />
+ <EntityTypeShape EntityType="RemoteModel.LIQUID_TYPES_RMLS" Width="1.5" PointX="8.25" PointY="10.375" />
+ <EntityTypeShape EntityType="RemoteModel.MACHINE_STUDIO_VERSIONS" Width="1.5" PointX="5.25" PointY="21.25" />
+ <EntityTypeShape EntityType="RemoteModel.MACHINE_VERSIONS" Width="1.5" PointX="0.75" PointY="46.375" />
+ <EntityTypeShape EntityType="RemoteModel.MACHINE" Width="1.5" PointX="3" PointY="44.375" />
+ <EntityTypeShape EntityType="RemoteModel.MACHINES_CONFIGURATIONS" Width="1.5" PointX="5.25" PointY="41.875" />
+ <EntityTypeShape EntityType="RemoteModel.MACHINES_EVENTS" Width="1.5" PointX="9.25" PointY="34.875" />
+ <EntityTypeShape EntityType="RemoteModel.MEDIA_COLORS" Width="1.5" PointX="0.75" PointY="24" />
+ <EntityTypeShape EntityType="RemoteModel.MEDIA_CONDITIONS" Width="1.5" PointX="0.75" PointY="21.125" />
+ <EntityTypeShape EntityType="RemoteModel.MEDIA_MATERIALS" Width="1.5" PointX="0.75" PointY="14.625" />
+ <EntityTypeShape EntityType="RemoteModel.MEDIA_PURPOSES" Width="1.5" PointX="0.75" PointY="26.75" />
+ <EntityTypeShape EntityType="RemoteModel.MID_TANK_TYPES" Width="1.5" PointX="8" PointY="45.375" />
+ <EntityTypeShape EntityType="RemoteModel.MOTOR_TYPES" Width="1.5" PointX="1.5" PointY="1.25" />
+ <EntityTypeShape EntityType="RemoteModel.ORGANIZATION" Width="1.5" PointX="0.75" PointY="67" />
+ <EntityTypeShape EntityType="RemoteModel.PERMISSION" Width="1.5" PointX="11" PointY="9.375" />
+ <EntityTypeShape EntityType="RemoteModel.PID_CONTROLS" Width="1.5" PointX="4.5" PointY="49.25" />
<EntityTypeShape EntityType="RemoteModel.PROCESS_PARAMETERS_TABLES" Width="1.5" PointX="7.5" PointY="28.75" />
<EntityTypeShape EntityType="RemoteModel.PROCESS_PARAMETERS_TABLES_GROUPS" Width="1.5" PointX="5.25" PointY="30" />
- <EntityTypeShape EntityType="RemoteModel.RML" Width="1.5" PointX="3" PointY="11.875" />
- <EntityTypeShape EntityType="RemoteModel.ROLE" Width="1.5" PointX="8" PointY="0.75" />
- <EntityTypeShape EntityType="RemoteModel.ROLES_PERMISSIONS" Width="1.5" PointX="10.25" PointY="0.875" />
- <EntityTypeShape EntityType="RemoteModel.SEGMENT" Width="1.5" PointX="7.5" PointY="22" />
- <EntityTypeShape EntityType="RemoteModel.SYNC_CONFIGURATIONS" Width="1.5" PointX="0.75" PointY="0.875" />
- <EntityTypeShape EntityType="RemoteModel.TECH_DISPENSERS" Width="1.5" PointX="2.75" PointY="0.875" />
- <EntityTypeShape EntityType="RemoteModel.TECH_HEATERS" Width="1.5" PointX="0.75" PointY="3.875" />
- <EntityTypeShape EntityType="RemoteModel.TECH_IOS" Width="1.5" PointX="2.75" PointY="3.875" />
- <EntityTypeShape EntityType="RemoteModel.TECH_MONITORS" Width="1.5" PointX="4.75" PointY="0.875" />
- <EntityTypeShape EntityType="RemoteModel.TECH_MOTORS" Width="1.5" PointX="4.75" PointY="5.875" />
- <EntityTypeShape EntityType="RemoteModel.TECH_VALVES" Width="1.5" PointX="10.75" PointY="8.875" />
- <EntityTypeShape EntityType="RemoteModel.USER" Width="1.5" PointX="3" PointY="24" />
- <EntityTypeShape EntityType="RemoteModel.USERS_ROLES" Width="1.5" PointX="10.25" PointY="27.75" />
- <EntityTypeShape EntityType="RemoteModel.WINDING_METHODS" Width="1.5" PointX="3" PointY="20.875" />
+ <EntityTypeShape EntityType="RemoteModel.RML" Width="1.5" PointX="3" PointY="11.75" />
+ <EntityTypeShape EntityType="RemoteModel.ROLE" Width="1.5" PointX="11" PointY="13.25" />
+ <EntityTypeShape EntityType="RemoteModel.ROLES_PERMISSIONS" Width="1.5" PointX="13.25" PointY="13.375" />
+ <EntityTypeShape EntityType="RemoteModel.SEGMENT" Width="1.5" PointX="7.5" PointY="18.625" />
+ <EntityTypeShape EntityType="RemoteModel.SYNC_CONFIGURATIONS" Width="1.5" PointX="3.75" PointY="0.75" />
+ <EntityTypeShape EntityType="RemoteModel.TECH_DISPENSERS" Width="1.5" PointX="5.75" PointY="0.75" />
+ <EntityTypeShape EntityType="RemoteModel.TECH_HEATERS" Width="1.5" PointX="2.75" PointY="7.75" />
+ <EntityTypeShape EntityType="RemoteModel.TECH_IOS" Width="1.5" PointX="10.75" PointY="0.75" />
+ <EntityTypeShape EntityType="RemoteModel.TECH_MONITORS" Width="1.5" PointX="10.75" PointY="4.75" />
+ <EntityTypeShape EntityType="RemoteModel.TECH_MOTORS" Width="1.5" PointX="12.75" PointY="0.75" />
+ <EntityTypeShape EntityType="RemoteModel.TECH_VALVES" Width="1.5" PointX="12.75" PointY="4.75" />
+ <EntityTypeShape EntityType="RemoteModel.USER" Width="1.5" PointX="3" PointY="20.5" />
+ <EntityTypeShape EntityType="RemoteModel.USERS_ROLES" Width="1.5" PointX="13.25" PointY="21.25" />
+ <EntityTypeShape EntityType="RemoteModel.WINDING_METHODS" Width="1.5" PointX="3" PointY="65" />
<AssociationConnector Association="RemoteModel.FK_EVENTS_ACTIONS_ACTIONS" />
<AssociationConnector Association="RemoteModel.FK_ORGANIZATIONS_ADDRESSES" />
<AssociationConnector Association="RemoteModel.FK_USERS_ADDRESSES" />
@@ -98,7 +100,9 @@
<AssociationConnector Association="RemoteModel.FK_RML_FIBER_SYNTHESIS" />
<AssociationConnector Association="RemoteModel.FK_HARDWARE_VERSIONS_DANCER_TYPES_HARDWARE_VERSIONS" />
<AssociationConnector Association="RemoteModel.FK_HARDWARE_VERSIONS_MOTOR_TYPES_HARDWARE_VERSIONS" />
+ <AssociationConnector Association="RemoteModel.FK_HARDWARE_VERSIONS_PID_CONTROLS_HARDWARE_VERSIONS" />
<AssociationConnector Association="RemoteModel.FK_HARDWARE_VERSIONS_MOTOR_TYPES_MOTOR_TYPES" />
+ <AssociationConnector Association="RemoteModel.FK_HARDWARE_VERSIONS_PID_CONTROLS_PID_CONTROLS" />
<AssociationConnector Association="RemoteModel.FK_IDS_PACKS_IDS_PACK_FORMULAS" />
<AssociationConnector Association="RemoteModel.FK_CONFIGURATIONS_DISPENSERS_LIQUIDS" />
<AssociationConnector Association="RemoteModel.FK_IDS_PACKS_MID_TANK_TYPES" />
diff --git a/Software/Visual_Studio/Tango.DAL.Remote/Tango.DAL.Remote.csproj b/Software/Visual_Studio/Tango.DAL.Remote/Tango.DAL.Remote.csproj
index f66276545..f2432e22f 100644
--- a/Software/Visual_Studio/Tango.DAL.Remote/Tango.DAL.Remote.csproj
+++ b/Software/Visual_Studio/Tango.DAL.Remote/Tango.DAL.Remote.csproj
@@ -140,6 +140,9 @@
<Compile Include="DB\HARDWARE_VERSIONS_MOTOR_TYPES.cs">
<DependentUpon>RemoteADO.tt</DependentUpon>
</Compile>
+ <Compile Include="DB\HARDWARE_VERSIONS_PID_CONTROLS.cs">
+ <DependentUpon>RemoteADO.tt</DependentUpon>
+ </Compile>
<Compile Include="DB\IDS_PACKS.cs">
<DependentUpon>RemoteADO.tt</DependentUpon>
</Compile>
@@ -200,6 +203,9 @@
<Compile Include="DB\PERMISSION.cs">
<DependentUpon>RemoteADO.tt</DependentUpon>
</Compile>
+ <Compile Include="DB\PID_CONTROLS.cs">
+ <DependentUpon>RemoteADO.tt</DependentUpon>
+ </Compile>
<Compile Include="DB\PROCESS_PARAMETERS_TABLES.cs">
<DependentUpon>RemoteADO.tt</DependentUpon>
</Compile>
diff --git a/Software/Visual_Studio/Tango.Integration/Observables/Entities/HardwareVersion.cs b/Software/Visual_Studio/Tango.Integration/Observables/Entities/HardwareVersion.cs
index 03e19f9ed..fe41140fd 100644
--- a/Software/Visual_Studio/Tango.Integration/Observables/Entities/HardwareVersion.cs
+++ b/Software/Visual_Studio/Tango.Integration/Observables/Entities/HardwareVersion.cs
@@ -111,6 +111,25 @@ namespace Tango.Integration.Observables
}
+ protected ObservableCollection<HardwareVersionsPidControl> _hardwareversionspidcontrols;
+ /// <summary>
+ /// Gets or sets the hardwareversion hardware versions pid controls.
+ /// </summary>
+
+ public virtual ObservableCollection<HardwareVersionsPidControl> HardwareVersionsPidControls
+ {
+ get
+ {
+ return _hardwareversionspidcontrols;
+ }
+
+ set
+ {
+ _hardwareversionspidcontrols = value; RaisePropertyChanged(nameof(HardwareVersionsPidControls));
+ }
+
+ }
+
/// <summary>
/// Initializes a new instance of the <see cref="HardwareVersion" /> class.
/// </summary>
@@ -123,6 +142,8 @@ namespace Tango.Integration.Observables
HardwareVersionsMotorTypes = new ObservableCollection<HardwareVersionsMotorType>();
+ HardwareVersionsPidControls = new ObservableCollection<HardwareVersionsPidControl>();
+
}
}
}
diff --git a/Software/Visual_Studio/Tango.Integration/Observables/Entities/HardwareVersionsPidControl.cs b/Software/Visual_Studio/Tango.Integration/Observables/Entities/HardwareVersionsPidControl.cs
new file mode 100644
index 000000000..75eedb23f
--- /dev/null
+++ b/Software/Visual_Studio/Tango.Integration/Observables/Entities/HardwareVersionsPidControl.cs
@@ -0,0 +1,108 @@
+using System;
+using System.Collections.Generic;
+using System.Collections.ObjectModel;
+using System.ComponentModel.DataAnnotations;
+using System.ComponentModel.DataAnnotations.Schema;
+using System.Xml.Serialization;
+using Newtonsoft.Json;
+using System.Linq;
+using Tango.DAL.Remote.DB;
+
+namespace Tango.Integration.Observables
+{
+ [Table("HARDWARE_VERSIONS_PID_CONTROLS")]
+ public partial class HardwareVersionsPidControl : ObservableEntity<HardwareVersionsPidControl>
+ {
+
+ protected String _hardwareversionguid;
+ /// <summary>
+ /// Gets or sets the hardwareversionspidcontrol hardware version guid.
+ /// </summary>
+ [Column("HARDWARE_VERSION_GUID")]
+ [ForeignKey("HardwareVersion")]
+
+ public String HardwareVersionGuid
+ {
+ get
+ {
+ return _hardwareversionguid;
+ }
+
+ set
+ {
+ _hardwareversionguid = value; RaisePropertyChanged(nameof(HardwareVersionGuid));
+ }
+
+ }
+
+ protected String _pidcontrolguid;
+ /// <summary>
+ /// Gets or sets the hardwareversionspidcontrol pid control guid.
+ /// </summary>
+ [Column("PID_CONTROL_GUID")]
+ [ForeignKey("PidControl")]
+
+ public String PidControlGuid
+ {
+ get
+ {
+ return _pidcontrolguid;
+ }
+
+ set
+ {
+ _pidcontrolguid = value; RaisePropertyChanged(nameof(PidControlGuid));
+ }
+
+ }
+
+ protected HardwareVersion _hardwareversion;
+ /// <summary>
+ /// Gets or sets the hardwareversionspidcontrol hardware versions.
+ /// </summary>
+
+ [XmlIgnore]
+ [JsonIgnore]
+ public virtual HardwareVersion HardwareVersion
+ {
+ get
+ {
+ return _hardwareversion;
+ }
+
+ set
+ {
+ _hardwareversion = value; RaisePropertyChanged(nameof(HardwareVersion));
+ }
+
+ }
+
+ protected PidControl _pidcontrol;
+ /// <summary>
+ /// Gets or sets the hardwareversionspidcontrol pid controls.
+ /// </summary>
+
+ [XmlIgnore]
+ [JsonIgnore]
+ public virtual PidControl PidControl
+ {
+ get
+ {
+ return _pidcontrol;
+ }
+
+ set
+ {
+ _pidcontrol = value; RaisePropertyChanged(nameof(PidControl));
+ }
+
+ }
+
+ /// <summary>
+ /// Initializes a new instance of the <see cref="HardwareVersionsPidControl" /> class.
+ /// </summary>
+ public HardwareVersionsPidControl() : base()
+ {
+ }
+ }
+}
diff --git a/Software/Visual_Studio/Tango.Integration/Observables/Entities/PidControl.cs b/Software/Visual_Studio/Tango.Integration/Observables/Entities/PidControl.cs
new file mode 100644
index 000000000..7c8ac3bb3
--- /dev/null
+++ b/Software/Visual_Studio/Tango.Integration/Observables/Entities/PidControl.cs
@@ -0,0 +1,386 @@
+using System;
+using System.Collections.Generic;
+using System.Collections.ObjectModel;
+using System.ComponentModel.DataAnnotations;
+using System.ComponentModel.DataAnnotations.Schema;
+using System.Xml.Serialization;
+using Newtonsoft.Json;
+using System.Linq;
+using Tango.DAL.Remote.DB;
+
+namespace Tango.Integration.Observables
+{
+ [Table("PID_CONTROLS")]
+ public partial class PidControl : ObservableEntity<PidControl>
+ {
+
+ protected Int32 _code;
+ /// <summary>
+ /// Gets or sets the pidcontrol code.
+ /// </summary>
+ [Column("CODE")]
+
+ public Int32 Code
+ {
+ get
+ {
+ return _code;
+ }
+
+ set
+ {
+ _code = value; RaisePropertyChanged(nameof(Code));
+ }
+
+ }
+
+ protected String _name;
+ /// <summary>
+ /// Gets or sets the pidcontrol name.
+ /// </summary>
+ [Column("NAME")]
+
+ public String Name
+ {
+ get
+ {
+ return _name;
+ }
+
+ set
+ {
+ _name = value; RaisePropertyChanged(nameof(Name));
+ }
+
+ }
+
+ protected String _description;
+ /// <summary>
+ /// Gets or sets the pidcontrol description.
+ /// </summary>
+ [Column("DESCRIPTION")]
+
+ public String Description
+ {
+ get
+ {
+ return _description;
+ }
+
+ set
+ {
+ _description = value; RaisePropertyChanged(nameof(Description));
+ }
+
+ }
+
+ protected Int32 _outputproportionalpowerlimit;
+ /// <summary>
+ /// Gets or sets the pidcontrol output proportional power limit.
+ /// </summary>
+ [Column("OUTPUT_PROPORTIONAL_POWER_LIMIT")]
+
+ public Int32 OutputProportionalPowerLimit
+ {
+ get
+ {
+ return _outputproportionalpowerlimit;
+ }
+
+ set
+ {
+ _outputproportionalpowerlimit = value; RaisePropertyChanged(nameof(OutputProportionalPowerLimit));
+ }
+
+ }
+
+ protected Int32 _outputproportionalband;
+ /// <summary>
+ /// Gets or sets the pidcontrol output proportional band.
+ /// </summary>
+ [Column("OUTPUT_PROPORTIONAL_BAND")]
+
+ public Int32 OutputProportionalBand
+ {
+ get
+ {
+ return _outputproportionalband;
+ }
+
+ set
+ {
+ _outputproportionalband = value; RaisePropertyChanged(nameof(OutputProportionalBand));
+ }
+
+ }
+
+ protected Int32 _integraltime;
+ /// <summary>
+ /// Gets or sets the pidcontrol integral time.
+ /// </summary>
+ [Column("INTEGRAL_TIME")]
+
+ public Int32 IntegralTime
+ {
+ get
+ {
+ return _integraltime;
+ }
+
+ set
+ {
+ _integraltime = value; RaisePropertyChanged(nameof(IntegralTime));
+ }
+
+ }
+
+ protected Int32 _derivativetime;
+ /// <summary>
+ /// Gets or sets the pidcontrol derivative time.
+ /// </summary>
+ [Column("DERIVATIVE_TIME")]
+
+ public Int32 DerivativeTime
+ {
+ get
+ {
+ return _derivativetime;
+ }
+
+ set
+ {
+ _derivativetime = value; RaisePropertyChanged(nameof(DerivativeTime));
+ }
+
+ }
+
+ protected Int32 _sensorcorrectionadjustment;
+ /// <summary>
+ /// Gets or sets the pidcontrol sensor correction adjustment.
+ /// </summary>
+ [Column("SENSOR_CORRECTION_ADJUSTMENT")]
+
+ public Int32 SensorCorrectionAdjustment
+ {
+ get
+ {
+ return _sensorcorrectionadjustment;
+ }
+
+ set
+ {
+ _sensorcorrectionadjustment = value; RaisePropertyChanged(nameof(SensorCorrectionAdjustment));
+ }
+
+ }
+
+ protected Int32 _sensorminvalue;
+ /// <summary>
+ /// Gets or sets the pidcontrol sensor min value.
+ /// </summary>
+ [Column("SENSOR_MIN_VALUE")]
+
+ public Int32 SensorMinValue
+ {
+ get
+ {
+ return _sensorminvalue;
+ }
+
+ set
+ {
+ _sensorminvalue = value; RaisePropertyChanged(nameof(SensorMinValue));
+ }
+
+ }
+
+ protected Int32 _sensormaxvalue;
+ /// <summary>
+ /// Gets or sets the pidcontrol sensor max value.
+ /// </summary>
+ [Column("SENSOR_MAX_VALUE")]
+
+ public Int32 SensorMaxValue
+ {
+ get
+ {
+ return _sensormaxvalue;
+ }
+
+ set
+ {
+ _sensormaxvalue = value; RaisePropertyChanged(nameof(SensorMaxValue));
+ }
+
+ }
+
+ protected Int32 _setpointramprateorsoftstartramp;
+ /// <summary>
+ /// Gets or sets the pidcontrol set point ramp rateor soft start ramp.
+ /// </summary>
+ [Column("SET_POINT_RAMP_RATEOR_SOFT_START_RAMP")]
+
+ public Int32 SetPointRampRateorSoftStartRamp
+ {
+ get
+ {
+ return _setpointramprateorsoftstartramp;
+ }
+
+ set
+ {
+ _setpointramprateorsoftstartramp = value; RaisePropertyChanged(nameof(SetPointRampRateorSoftStartRamp));
+ }
+
+ }
+
+ protected Int32 _setpointcontroloutputrate;
+ /// <summary>
+ /// Gets or sets the pidcontrol set point control output rate.
+ /// </summary>
+ [Column("SET_POINT_CONTROL_OUTPUT_RATE")]
+
+ public Int32 SetPointControlOutputRate
+ {
+ get
+ {
+ return _setpointcontroloutputrate;
+ }
+
+ set
+ {
+ _setpointcontroloutputrate = value; RaisePropertyChanged(nameof(SetPointControlOutputRate));
+ }
+
+ }
+
+ protected Int32 _controloutputtype;
+ /// <summary>
+ /// Gets or sets the pidcontrol control output type.
+ /// </summary>
+ [Column("CONTROL_OUTPUT_TYPE")]
+
+ public Int32 ControlOutputType
+ {
+ get
+ {
+ return _controloutputtype;
+ }
+
+ set
+ {
+ _controloutputtype = value; RaisePropertyChanged(nameof(ControlOutputType));
+ }
+
+ }
+
+ protected Int32 _ssrcontroloutputtype;
+ /// <summary>
+ /// Gets or sets the pidcontrol ssr control output type.
+ /// </summary>
+ [Column("SSR_CONTROL_OUTPUT_TYPE")]
+
+ public Int32 SsrControlOutputType
+ {
+ get
+ {
+ return _ssrcontroloutputtype;
+ }
+
+ set
+ {
+ _ssrcontroloutputtype = value; RaisePropertyChanged(nameof(SsrControlOutputType));
+ }
+
+ }
+
+ protected Int32 _outputonoffhysteresisvalue;
+ /// <summary>
+ /// Gets or sets the pidcontrol output on off hysteresis value.
+ /// </summary>
+ [Column("OUTPUT_ON_OFF_HYSTERESIS_VALUE")]
+
+ public Int32 OutputOnOffHysteresisValue
+ {
+ get
+ {
+ return _outputonoffhysteresisvalue;
+ }
+
+ set
+ {
+ _outputonoffhysteresisvalue = value; RaisePropertyChanged(nameof(OutputOnOffHysteresisValue));
+ }
+
+ }
+
+ protected Int32 _processvariablesamplingrate;
+ /// <summary>
+ /// Gets or sets the pidcontrol process variable sampling rate.
+ /// </summary>
+ [Column("PROCESS_VARIABLE_SAMPLING_RATE")]
+
+ public Int32 ProcessVariableSamplingRate
+ {
+ get
+ {
+ return _processvariablesamplingrate;
+ }
+
+ set
+ {
+ _processvariablesamplingrate = value; RaisePropertyChanged(nameof(ProcessVariableSamplingRate));
+ }
+
+ }
+
+ protected Int32 _pvinputfilterfactormode;
+ /// <summary>
+ /// Gets or sets the pidcontrol pv input filter factor mode.
+ /// </summary>
+ [Column("PV_INPUT_FILTER_FACTOR_MODE")]
+
+ public Int32 PvInputFilterFactorMode
+ {
+ get
+ {
+ return _pvinputfilterfactormode;
+ }
+
+ set
+ {
+ _pvinputfilterfactormode = value; RaisePropertyChanged(nameof(PvInputFilterFactorMode));
+ }
+
+ }
+
+ protected ObservableCollection<HardwareVersionsPidControl> _hardwareversionspidcontrols;
+ /// <summary>
+ /// Gets or sets the pidcontrol hardware versions pid controls.
+ /// </summary>
+
+ public virtual ObservableCollection<HardwareVersionsPidControl> HardwareVersionsPidControls
+ {
+ get
+ {
+ return _hardwareversionspidcontrols;
+ }
+
+ set
+ {
+ _hardwareversionspidcontrols = value; RaisePropertyChanged(nameof(HardwareVersionsPidControls));
+ }
+
+ }
+
+ /// <summary>
+ /// Initializes a new instance of the <see cref="PidControl" /> class.
+ /// </summary>
+ public PidControl() : base()
+ {
+
+ HardwareVersionsPidControls = new ObservableCollection<HardwareVersionsPidControl>();
+
+ }
+ }
+}
diff --git a/Software/Visual_Studio/Tango.Integration/Observables/Enumerations/DancerTypes.cs b/Software/Visual_Studio/Tango.Integration/Observables/Enumerations/DancerTypes.cs
index 1f2130d1a..59183419d 100644
--- a/Software/Visual_Studio/Tango.Integration/Observables/Enumerations/DancerTypes.cs
+++ b/Software/Visual_Studio/Tango.Integration/Observables/Enumerations/DancerTypes.cs
@@ -10,10 +10,22 @@ namespace Tango.Integration.Observables
{
/// <summary>
- /// (LEFT_DANCER)
+ /// (Middle Dancer)
/// </summary>
- [Description("LEFT_DANCER")]
- LEFT_DANCER = 0,
+ [Description("Middle Dancer")]
+ MiddleDancer = 1,
+
+ /// <summary>
+ /// (Left Dancer)
+ /// </summary>
+ [Description("Left Dancer")]
+ LeftDancer = 0,
+
+ /// <summary>
+ /// (Right Dancer)
+ /// </summary>
+ [Description("Right Dancer")]
+ RightDancer = 2,
}
}
diff --git a/Software/Visual_Studio/Tango.Integration/Observables/Enumerations/MotorTypes.cs b/Software/Visual_Studio/Tango.Integration/Observables/Enumerations/MotorTypes.cs
index 8a545b264..ec7bbb90e 100644
--- a/Software/Visual_Studio/Tango.Integration/Observables/Enumerations/MotorTypes.cs
+++ b/Software/Visual_Studio/Tango.Integration/Observables/Enumerations/MotorTypes.cs
@@ -8,5 +8,30 @@ namespace Tango.Integration.Observables
{
public enum MotorTypes
{
+
+ /// <summary>
+ /// (Winder Motor)
+ /// </summary>
+ [Description("Winder Motor")]
+ WinderMotor = 2,
+
+ /// <summary>
+ /// (Feeder Motor)
+ /// </summary>
+ [Description("Feeder Motor")]
+ FeederMotor = 0,
+
+ /// <summary>
+ /// (Dryer Motor)
+ /// </summary>
+ [Description("Dryer Motor")]
+ DryerMotor = 0,
+
+ /// <summary>
+ /// (Pooler Motor)
+ /// </summary>
+ [Description("Pooler Motor")]
+ PoolerMotor = 1,
+
}
}
diff --git a/Software/Visual_Studio/Tango.Integration/Observables/Enumerations/PidControls.cs b/Software/Visual_Studio/Tango.Integration/Observables/Enumerations/PidControls.cs
new file mode 100644
index 000000000..76a079484
--- /dev/null
+++ b/Software/Visual_Studio/Tango.Integration/Observables/Enumerations/PidControls.cs
@@ -0,0 +1,97 @@
+using System;
+using System.Collections.Generic;
+using System.Collections.ObjectModel;
+using System.Linq;
+using System.ComponentModel;
+
+namespace Tango.Integration.Observables
+{
+ public enum PidControls
+ {
+
+ /// <summary>
+ /// (MixerHeater)
+ /// </summary>
+ [Description("MixerHeater")]
+ MixerHeater = 7,
+
+ /// <summary>
+ /// (WasteControl)
+ /// </summary>
+ [Description("WasteControl")]
+ WasteControl = 8,
+
+ /// <summary>
+ /// (MotorWinder)
+ /// </summary>
+ [Description("MotorWinder")]
+ MotorWinder = 12,
+
+ /// <summary>
+ /// (MotorFeeder)
+ /// </summary>
+ [Description("MotorFeeder")]
+ MotorFeeder = 10,
+
+ /// <summary>
+ /// (MotorDryer)
+ /// </summary>
+ [Description("MotorDryer")]
+ MotorDryer = 9,
+
+ /// <summary>
+ /// (DryerHeater200w1)
+ /// </summary>
+ [Description("DryerHeater200w1")]
+ DryerHeater200w1 = 1,
+
+ /// <summary>
+ /// (MotorPooler)
+ /// </summary>
+ [Description("MotorPooler")]
+ MotorPooler = 11,
+
+ /// <summary>
+ /// (HeadHeaterZ4)
+ /// </summary>
+ [Description("HeadHeaterZ4")]
+ HeadHeaterZ4 = 6,
+
+ /// <summary>
+ /// (DryerHeater1000w)
+ /// </summary>
+ [Description("DryerHeater1000w")]
+ DryerHeater1000w = 0,
+
+ /// <summary>
+ /// (HeadHeaterZ3)
+ /// </summary>
+ [Description("HeadHeaterZ3")]
+ HeadHeaterZ3 = 5,
+
+ /// <summary>
+ /// (HeadHeaterZ1)
+ /// </summary>
+ [Description("HeadHeaterZ1")]
+ HeadHeaterZ1 = 3,
+
+ /// <summary>
+ /// (HeadHeaterZ2)
+ /// </summary>
+ [Description("HeadHeaterZ2")]
+ HeadHeaterZ2 = 4,
+
+ /// <summary>
+ /// (DryerHeater400)
+ /// </summary>
+ [Description("DryerHeater400")]
+ DryerHeater400 = 13,
+
+ /// <summary>
+ /// (DryerHeater200w2)
+ /// </summary>
+ [Description("DryerHeater200w2")]
+ DryerHeater200w2 = 2,
+
+ }
+}
diff --git a/Software/Visual_Studio/Tango.Integration/Observables/ObservablesContext.cs b/Software/Visual_Studio/Tango.Integration/Observables/ObservablesContext.cs
index b29bfabbf..213f79ef7 100644
--- a/Software/Visual_Studio/Tango.Integration/Observables/ObservablesContext.cs
+++ b/Software/Visual_Studio/Tango.Integration/Observables/ObservablesContext.cs
@@ -221,6 +221,14 @@ namespace Tango.Integration.Observables
}
/// <summary>
+ /// Gets or sets the HardwareVersionsPidControls.
+ /// </summary>
+ public DbSet<HardwareVersionsPidControl> HardwareVersionsPidControls
+ {
+ get; set;
+ }
+
+ /// <summary>
/// Gets or sets the IdsPackFormulas.
/// </summary>
public DbSet<IdsPackFormula> IdsPackFormulas
@@ -381,6 +389,14 @@ namespace Tango.Integration.Observables
}
/// <summary>
+ /// Gets or sets the PidControls.
+ /// </summary>
+ public DbSet<PidControl> PidControls
+ {
+ get; set;
+ }
+
+ /// <summary>
/// Gets or sets the ProcessParametersTables.
/// </summary>
public DbSet<ProcessParametersTable> ProcessParametersTables
diff --git a/Software/Visual_Studio/Tango.Integration/Observables/ObservablesEntitiesAdapter.cs b/Software/Visual_Studio/Tango.Integration/Observables/ObservablesEntitiesAdapter.cs
index 640e34436..6d6c7c2cb 100644
--- a/Software/Visual_Studio/Tango.Integration/Observables/ObservablesEntitiesAdapter.cs
+++ b/Software/Visual_Studio/Tango.Integration/Observables/ObservablesEntitiesAdapter.cs
@@ -279,10 +279,14 @@ namespace Tango.Integration.Observables
MotorTypes = Context.MotorTypes.ToObservableCollection();
+ PidControls = Context.PidControls.ToObservableCollection();
+
HardwareVersionsDancerTypes = Context.HardwareVersionsDancerTypes.ToObservableCollection();
HardwareVersionsMotorTypes = Context.HardwareVersionsMotorTypes.ToObservableCollection();
+ HardwareVersionsPidControls = Context.HardwareVersionsPidControls.ToObservableCollection();
+
InitCollectionSources();
//var action = ActionTypes.First();
diff --git a/Software/Visual_Studio/Tango.Integration/Observables/ObservablesEntitiesAdapterExtension.cs b/Software/Visual_Studio/Tango.Integration/Observables/ObservablesEntitiesAdapterExtension.cs
index 3e4a34798..d7c714274 100644
--- a/Software/Visual_Studio/Tango.Integration/Observables/ObservablesEntitiesAdapterExtension.cs
+++ b/Software/Visual_Studio/Tango.Integration/Observables/ObservablesEntitiesAdapterExtension.cs
@@ -906,6 +906,42 @@ namespace Tango.Integration.Observables
}
+ private ObservableCollection<HardwareVersionsPidControl> _hardwareversionspidcontrols;
+ /// <summary>
+ /// Gets or sets the HardwareVersionsPidControls.
+ /// </summary>
+ public ObservableCollection<HardwareVersionsPidControl> HardwareVersionsPidControls
+ {
+ get
+ {
+ return _hardwareversionspidcontrols;
+ }
+
+ set
+ {
+ _hardwareversionspidcontrols = value; RaisePropertyChanged(nameof(HardwareVersionsPidControls));
+ }
+
+ }
+
+ private ICollectionView _hardwareversionspidcontrolsViewSource;
+ /// <summary>
+ /// Gets or sets the HardwareVersionsPidControls View Source.
+ ///</summary>
+ public ICollectionView HardwareVersionsPidControlsViewSource
+ {
+ get
+ {
+ return _hardwareversionspidcontrolsViewSource;
+ }
+
+ set
+ {
+ _hardwareversionspidcontrolsViewSource = value; RaisePropertyChanged(nameof(HardwareVersionsPidControlsViewSource));
+ }
+
+ }
+
private ObservableCollection<IdsPackFormula> _idspackformulas;
/// <summary>
/// Gets or sets the IdsPackFormulas.
@@ -1626,6 +1662,42 @@ namespace Tango.Integration.Observables
}
+ private ObservableCollection<PidControl> _pidcontrols;
+ /// <summary>
+ /// Gets or sets the PidControls.
+ /// </summary>
+ public ObservableCollection<PidControl> PidControls
+ {
+ get
+ {
+ return _pidcontrols;
+ }
+
+ set
+ {
+ _pidcontrols = value; RaisePropertyChanged(nameof(PidControls));
+ }
+
+ }
+
+ private ICollectionView _pidcontrolsViewSource;
+ /// <summary>
+ /// Gets or sets the PidControls View Source.
+ ///</summary>
+ public ICollectionView PidControlsViewSource
+ {
+ get
+ {
+ return _pidcontrolsViewSource;
+ }
+
+ set
+ {
+ _pidcontrolsViewSource = value; RaisePropertyChanged(nameof(PidControlsViewSource));
+ }
+
+ }
+
private ObservableCollection<ProcessParametersTable> _processparameterstables;
/// <summary>
/// Gets or sets the ProcessParametersTables.
@@ -2258,6 +2330,8 @@ namespace Tango.Integration.Observables
HardwareVersionsMotorTypesViewSource = CreateCollectionView(HardwareVersionsMotorTypes);
+ HardwareVersionsPidControlsViewSource = CreateCollectionView(HardwareVersionsPidControls);
+
IdsPackFormulasViewSource = CreateCollectionView(IdsPackFormulas);
IdsPacksViewSource = CreateCollectionView(IdsPacks);
@@ -2298,6 +2372,8 @@ namespace Tango.Integration.Observables
PermissionsViewSource = CreateCollectionView(Permissions);
+ PidControlsViewSource = CreateCollectionView(PidControls);
+
ProcessParametersTablesViewSource = CreateCollectionView(ProcessParametersTables);
ProcessParametersTablesGroupsViewSource = CreateCollectionView(ProcessParametersTablesGroups);
diff --git a/Software/Visual_Studio/Tango.Integration/Observables/Partials/HardwareVersion.cs b/Software/Visual_Studio/Tango.Integration/Observables/Partials/HardwareVersion.cs
index c150f85e5..6674c0d8b 100644
--- a/Software/Visual_Studio/Tango.Integration/Observables/Partials/HardwareVersion.cs
+++ b/Software/Visual_Studio/Tango.Integration/Observables/Partials/HardwareVersion.cs
@@ -13,6 +13,7 @@ namespace Tango.Integration.Observables
var cloned = base.Clone();
cloned.HardwareVersionsMotorTypes = HardwareVersionsMotorTypes.ToObservableCollection();
cloned.HardwareVersionsDancerTypes = HardwareVersionsDancerTypes.ToObservableCollection();
+ cloned.HardwareVersionsPidControls = HardwareVersionsPidControls.ToObservableCollection();
return cloned;
}
}
diff --git a/Software/Visual_Studio/Tango.Integration/Tango.Integration.csproj b/Software/Visual_Studio/Tango.Integration/Tango.Integration.csproj
index cf7c041fd..d08655a29 100644
--- a/Software/Visual_Studio/Tango.Integration/Tango.Integration.csproj
+++ b/Software/Visual_Studio/Tango.Integration/Tango.Integration.csproj
@@ -114,10 +114,12 @@
<Compile Include="Observables\Entities\HardwareVersion.cs" />
<Compile Include="Observables\Entities\HardwareVersionsDancerType.cs" />
<Compile Include="Observables\Entities\HardwareVersionsMotorType.cs" />
+ <Compile Include="Observables\Entities\HardwareVersionsPidControl.cs" />
<Compile Include="Observables\Entities\IdsPack.cs" />
<Compile Include="Observables\Entities\IdsPackFormula.cs" />
<Compile Include="Observables\Entities\MachineStudioVersion.cs" />
<Compile Include="Observables\Entities\MotorType.cs" />
+ <Compile Include="Observables\Entities\PidControl.cs" />
<Compile Include="Observables\Entities\TechDispenser.cs" />
<Compile Include="Observables\Entities\TechHeater.cs" />
<Compile Include="Observables\Entities\TechIo.cs" />