diff --git a/Constants/ConstIni.vb b/Constants/ConstIni.vb
index 0d959a0..86452af 100644
--- a/Constants/ConstIni.vb
+++ b/Constants/ConstIni.vb
@@ -284,6 +284,8 @@ Module ConstIni
Public Const K_MACHINESDIR As String = "MachinesDir"
Public Const K_TOOLMAKERSDIR As String = "ToolMakersDir"
Public Const K_CURRMACH As String = "CurrMach"
+ Public Const K_ENABLEFINALSAWCUT As String = "EnableFinalSawCut"
+ Public Const K_FINALDEPTH As String = "FinalDepth"
Public Const S_SIMUL As String = "Simul"
Public Const K_SLIDERX As String = "SliderX"
diff --git a/Machine/Alarms2PageUC.xaml b/Machine/Alarms2PageUC.xaml
new file mode 100644
index 0000000..3d9e238
--- /dev/null
+++ b/Machine/Alarms2PageUC.xaml
@@ -0,0 +1,58 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Machine/Alarms2PageUC.xaml.vb b/Machine/Alarms2PageUC.xaml.vb
new file mode 100644
index 0000000..88b938c
--- /dev/null
+++ b/Machine/Alarms2PageUC.xaml.vb
@@ -0,0 +1,30 @@
+Imports EgtUILib
+
+Public Class Alarms2PageUC
+
+ Private m_MainWindow As MainWindow = DirectCast(Application.Current.MainWindow, MainWindow)
+
+ Private Sub Alarms2Page_Initialized(sender As Object, e As EventArgs) Handles Me.Initialized
+ FinalSawCutGpBx.Header = EgtMsg(91254) ' Taglio Finale
+ EnableFinalSawCutTxBl.Text = EgtMsg(91255) ' Abilita
+ FinalDepthTxBl.Text = EgtMsg(91256) ' Ultimo Spessore
+ End Sub
+
+ Private Sub Allarm2Page_Loaded() Handles Me.Loaded
+ EnableFinalSawCutChBx.IsChecked = m_MainWindow.m_CurrentMachine.bEnableFinalSawCut
+ FinalDepthTxBx.Text = m_MainWindow.m_CurrentMachine.dFinalDepth
+ End Sub
+
+ Private Sub EnableFinalSawCutChBx_IsChecked() Handles EnableFinalSawCutChBx.Click
+ m_MainWindow.m_CurrentMachine.bEnableFinalSawCut = EnableFinalSawCutChBx.IsChecked
+ WritePrivateProfileString(S_MACH, K_ENABLEFINALSAWCUT, If(m_MainWindow.m_CurrentMachine.bEnableFinalSawCut, "1", "0"), m_MainWindow.GetMachIniFile())
+ End Sub
+
+ Private Sub FinalDepthTxBx_EgtClosed() Handles FinalDepthTxBx.EgtClosed
+ Dim dVal As Double = 0
+ StringToLen(FinalDepthTxBx.Text, dVal)
+ m_MainWindow.m_CurrentMachine.dFinalDepth = dVal
+ WritePrivateProfileString(S_MACH, K_FINALDEPTH, DoubleToString(m_MainWindow.m_CurrentMachine.dFinalDepth, 3), m_MainWindow.GetMachIniFile())
+ End Sub
+
+End Class
diff --git a/Machine/AlarmsPageUC.xaml b/Machine/AlarmsPageUC.xaml
index e7529e5..04f37bf 100644
--- a/Machine/AlarmsPageUC.xaml
+++ b/Machine/AlarmsPageUC.xaml
@@ -1,11 +1,11 @@
+ xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
+ xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
+ xmlns:EgtWPFLib="clr-namespace:EgtWPFLib;assembly=EgtWPFLib"
+ xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
+ xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
+ mc:Ignorable="d"
+ d:DesignHeight="768" d:DesignWidth="1280">
@@ -279,7 +279,7 @@
+ Style="{DynamicResource OmagCut_GroupBox}">
@@ -298,7 +298,7 @@
+ Style="{DynamicResource OmagCut_CenteredLowerCaseCharacterTextBlock}"/>
@@ -308,8 +308,8 @@
+ Style="{DynamicResource OmagCut_CenteredLowerCaseCharacterTextBlock}"
+ Visibility="Hidden"/>
@@ -319,8 +319,8 @@
+ Style="{DynamicResource OmagCut_CenteredLowerCaseCharacterTextBlock}"
+ Visibility="Hidden"/>
diff --git a/Machine/CurrentMachine.vb b/Machine/CurrentMachine.vb
index 41e460a..f2e65b1 100644
--- a/Machine/CurrentMachine.vb
+++ b/Machine/CurrentMachine.vb
@@ -212,6 +212,12 @@ Public Class CurrentMachine
' Massima altezza lavorabile con lama grande
Private m_dHighPieceZ As Double = 200.0
+ '
+ Private m_dFinalDepth As Double = 0.0
+
+ ' Flag che abilita l'esecuzione del taglio finale
+ Private m_bEnableFinalSawCut As Boolean = False
+
#Region "Proprietà che leggono e scrivono i valori anche da o su file ini"
Friend ReadOnly Property MaxTabDepth As Double
Get
@@ -1204,6 +1210,24 @@ Public Class CurrentMachine
End Get
End Property
+ Friend Property bEnableFinalSawCut As Boolean
+ Get
+ Return m_bEnableFinalSawCut
+ End Get
+ Set(value As Boolean)
+ m_bEnableFinalSawCut = value
+ End Set
+ End Property
+
+ Friend Property dFinalDepth As Double
+ Get
+ Return m_dFinalDepth
+ End Get
+ Set(value As Double)
+ m_dFinalDepth = value
+ End Set
+ End Property
+
#End Region
Sub New()
@@ -1488,6 +1512,12 @@ Public Class CurrentMachine
' Massimo spessore lavorabile con lama grande
m_dHighPieceZ = GetPrivateProfileDouble(S_RAWMOVE, "MaxHeightPiece", 800.0, m_MainWindow.GetMachIniFile())
+
+ ' Flag per abilitare taglio finale
+ m_bEnableFinalSawCut = GetPrivateProfileInt(S_MACH, K_ENABLEFINALSAWCUT, 0, m_MainWindow.GetMachIniFile()) <> 0
+
+ ' Flag per abilitare taglio finale
+ m_dFinalDepth = GetPrivateProfileDouble(S_MACH, K_FINALDEPTH, 0.0, m_MainWindow.GetMachIniFile())
End Sub
' Per il controllo FANUC al momento dell'inizializzazione del CN devono essere lette alcune variabili
diff --git a/Machine/MachinePageUC.xaml b/Machine/MachinePageUC.xaml
index c884f5f..ac43607 100644
--- a/Machine/MachinePageUC.xaml
+++ b/Machine/MachinePageUC.xaml
@@ -5,16 +5,16 @@
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
mc:Ignorable="d"
d:DesignHeight="853.3" d:DesignWidth="1280">
-
+
-
+
-
-
+
+
-
+
@@ -25,37 +25,40 @@
+
-
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
+
+
-
+
-
+
diff --git a/Machine/MachinePageUC.xaml.vb b/Machine/MachinePageUC.xaml.vb
index 94e6eb3..c0c305d 100644
--- a/Machine/MachinePageUC.xaml.vb
+++ b/Machine/MachinePageUC.xaml.vb
@@ -13,6 +13,7 @@ Public Class MachinePageUC
Friend m_WaterJetPageUC As WaterJetPageUC
Friend m_MachineCNPageUC As MachineCNPageUC
Friend m_StatisticsPageUC As StatisticsPageUC
+ Friend m_Alarms2PageUC As Alarms2PageUC
' Riferimento alla pagina correntemente attiva
Friend m_ActiveMachinePage As MachinePages
@@ -25,6 +26,7 @@ Public Class MachinePageUC
WaterJet
MachineCN
Statistics
+ Alarms2
End Enum
Private Sub MachinePage_Initialized(sender As Object, e As EventArgs) Handles Me.Initialized
@@ -37,6 +39,7 @@ Public Class MachinePageUC
m_WaterJetPageUC = New WaterJetPageUC
m_MachineCNPageUC = New MachineCNPageUC
m_StatisticsPageUC = New StatisticsPageUC
+ m_Alarms2PageUC = New Alarms2PageUC
'Posizionemento nella griglia delle Page UserControl
m_AlarmsPageUC.SetValue(Grid.RowProperty, 1)
@@ -46,8 +49,11 @@ Public Class MachinePageUC
m_WaterJetPageUC.SetValue(Grid.RowProperty, 1)
m_MachineCNPageUC.SetValue(Grid.RowProperty, 1)
m_StatisticsPageUC.SetValue(Grid.RowProperty, 1)
+ m_Alarms2PageUC.SetValue(Grid.RowProperty, 1)
AlarmsBtn.ToolTip = EgtMsg(MSG_MACHINEPAGEUC + 5)
+ Alarms2Btn.ToolTip = EgtMsg(MSG_MACHINEPAGEUC + 5)
+
ToolsDBBtn.ToolTip = EgtMsg(MSG_MACHINEPAGEUC + 6)
MachiningDBBtn.ToolTip = EgtMsg(MSG_MACHINEPAGEUC + 7)
PolishingsBtn.Content = EgtMsg(91090)
@@ -171,6 +177,95 @@ Public Class MachinePageUC
MachinePageGrid.Children.Remove(m_StatisticsPageUC)
MachinePageGrid.Children.Add(m_AlarmsPageUC)
m_ActiveMachinePage = MachinePages.Alarms
+ Case MachinePages.Alarms2
+ Alarms2Btn.IsChecked = False
+ MachinePageGrid.Children.Remove(m_Alarms2PageUC)
+ MachinePageGrid.Children.Add(m_AlarmsPageUC)
+ m_ActiveMachinePage = MachinePages.Alarms
+ End Select
+ End Sub
+
+ Private Sub Alarms2Btn_Click(sender As Object, e As RoutedEventArgs) Handles Alarms2Btn.Click
+ Select Case m_ActiveMachinePage
+ Case MachinePages.Alarms
+ AlarmsBtn.IsChecked = False
+ Alarms2Btn.IsChecked = True
+ MachinePageGrid.Children.Remove(m_AlarmsPageUC)
+ MachinePageGrid.Children.Add(m_Alarms2PageUC)
+ m_ActiveMachinePage = MachinePages.Alarms2
+ Case MachinePages.ToolsDb
+ ' Verifica ed eventuale salvataggio utensile corrente
+ If Not m_ToolsDbPageUC.SaveCurrTool() Then
+ Alarms2Btn.IsChecked = False
+ ToolsDBBtn.IsChecked = True
+ Return
+ End If
+ ' salvo il DB utensili
+ EgtSetCurrentContext(m_MainWindow.m_CurrentProjectPageUC.CurrentProjectScene.GetCtx())
+ EgtTdbSave()
+ ' passo alla pagina Dati macchina
+ Alarms2Btn.IsChecked = True
+ ToolsDBBtn.IsChecked = False
+ MachinePageGrid.Children.Remove(m_ToolsDbPageUC)
+ MachinePageGrid.Children.Add(m_Alarms2PageUC)
+ m_ActiveMachinePage = MachinePages.Alarms2
+ Case MachinePages.MachiningDb
+ ' Verifica ed eventuale salvataggio lavorazione corrente
+ If Not m_MachiningDbPageUC.SaveCurrMachining() Then
+ Alarms2Btn.IsChecked = False
+ MachiningDBBtn.IsChecked = True
+ Return
+ End If
+ ' salvo il DB lavorazioni
+ EgtSetCurrentContext(m_MainWindow.m_CurrentProjectPageUC.CurrentProjectScene.GetCtx())
+ EgtMdbSave()
+ ' passo alla pagina Dati macchina
+ Alarms2Btn.IsChecked = True
+ MachiningDBBtn.IsChecked = False
+ MachinePageGrid.Children.Remove(m_MachiningDbPageUC)
+ MachinePageGrid.Children.Add(m_Alarms2PageUC)
+ m_ActiveMachinePage = MachinePages.Alarms2
+ Case MachinePages.Polishings
+ ' Verifica ed eventuale salvataggio Lucidatura corrente
+ If Not m_PolishingsPageUC.SaveKit() Then
+ Alarms2Btn.IsChecked = False
+ PolishingsBtn.IsChecked = True
+ Return
+ End If
+ ' passo alla pagina Dati Macchina
+ Alarms2Btn.IsChecked = True
+ PolishingsBtn.IsChecked = False
+ MachinePageGrid.Children.Remove(m_PolishingsPageUC)
+ MachinePageGrid.Children.Add(m_Alarms2PageUC)
+ m_ActiveMachinePage = MachinePages.Alarms2
+ Case MachinePages.WaterJet
+ ' Verifica ed eventuale salvataggio Db Waterjet
+ Dim nPressedBtn As Integer = DirectCast(m_WaterJetPageUC.DataContext, WaterjetDbWindowVM_OmagCUT).CloseWaterjetDb_OmagCut(m_MainWindow)
+ If nPressedBtn = WaterjetDbWindowVM_OmagCUT.SaveWndBtnEnum.CANCEL Then
+ Alarms2Btn.IsChecked = False
+ WaterJetBtn.IsChecked = True
+ Return
+ ElseIf nPressedBtn = WaterjetDbWindowVM_OmagCUT.SaveWndBtnEnum.NO Then
+ m_WaterJetPageUC.WaterJetPage_Reinitialize()
+ End If
+ ' passo alla pagina Dati Macchina
+ Alarms2Btn.IsChecked = True
+ WaterJetBtn.IsChecked = False
+ MachinePageGrid.Children.Remove(m_WaterJetPageUC)
+ MachinePageGrid.Children.Add(m_Alarms2PageUC)
+ m_ActiveMachinePage = MachinePages.Alarms2
+ Case MachinePages.MachineCN
+ Alarms2Btn.IsChecked = True
+ TestingPageBtn.IsChecked = False
+ MachinePageGrid.Children.Remove(m_MachineCNPageUC)
+ MachinePageGrid.Children.Add(m_Alarms2PageUC)
+ m_ActiveMachinePage = MachinePages.Alarms2
+ Case MachinePages.Statistics
+ Alarms2Btn.IsChecked = True
+ StatisticsBtn.IsChecked = False
+ MachinePageGrid.Children.Remove(m_StatisticsPageUC)
+ MachinePageGrid.Children.Add(m_Alarms2PageUC)
+ m_ActiveMachinePage = MachinePages.Alarms2
End Select
End Sub
@@ -241,6 +336,12 @@ Public Class MachinePageUC
MachinePageGrid.Children.Remove(m_StatisticsPageUC)
MachinePageGrid.Children.Add(m_ToolsDbPageUC)
m_ActiveMachinePage = MachinePages.ToolsDb
+ Case MachinePages.Alarms2
+ Alarms2Btn.IsChecked = False
+ ToolsDBBtn.IsChecked = True
+ MachinePageGrid.Children.Remove(m_Alarms2PageUC)
+ MachinePageGrid.Children.Add(m_ToolsDbPageUC)
+ m_ActiveMachinePage = MachinePages.ToolsDb
End Select
End Sub
@@ -313,6 +414,12 @@ Public Class MachinePageUC
MachinePageGrid.Children.Remove(m_StatisticsPageUC)
MachinePageGrid.Children.Add(m_MachiningDbPageUC)
m_ActiveMachinePage = MachinePages.MachiningDb
+ Case MachinePages.Alarms2
+ Alarms2Btn.IsChecked = False
+ MachiningDBBtn.IsChecked = True
+ MachinePageGrid.Children.Remove(m_Alarms2PageUC)
+ MachinePageGrid.Children.Add(m_MachiningDbPageUC)
+ m_ActiveMachinePage = MachinePages.MachiningDb
End Select
End Sub
@@ -386,6 +493,12 @@ Public Class MachinePageUC
MachinePageGrid.Children.Remove(m_StatisticsPageUC)
MachinePageGrid.Children.Add(m_PolishingsPageUC)
m_ActiveMachinePage = MachinePages.Polishings
+ Case MachinePages.Alarms2
+ Alarms2Btn.IsChecked = False
+ PolishingsBtn.IsChecked = True
+ MachinePageGrid.Children.Remove(m_Alarms2PageUC)
+ MachinePageGrid.Children.Add(m_PolishingsPageUC)
+ m_ActiveMachinePage = MachinePages.Polishings
End Select
End Sub
@@ -457,6 +570,12 @@ Public Class MachinePageUC
MachinePageGrid.Children.Remove(m_StatisticsPageUC)
MachinePageGrid.Children.Add(m_WaterJetPageUC)
m_ActiveMachinePage = MachinePages.WaterJet
+ Case MachinePages.Alarms2
+ Alarms2Btn.IsChecked = False
+ WaterJetBtn.IsChecked = True
+ MachinePageGrid.Children.Remove(m_Alarms2PageUC)
+ MachinePageGrid.Children.Add(m_WaterJetPageUC)
+ m_ActiveMachinePage = MachinePages.WaterJet
End Select
End Sub
@@ -537,6 +656,12 @@ Public Class MachinePageUC
MachinePageGrid.Children.Remove(m_StatisticsPageUC)
MachinePageGrid.Children.Add(m_MachineCNPageUC)
m_ActiveMachinePage = MachinePages.MachineCN
+ Case MachinePages.Alarms2
+ Alarms2Btn.IsChecked = False
+ TestingPageBtn.IsChecked = True
+ MachinePageGrid.Children.Remove(m_Alarms2PageUC)
+ MachinePageGrid.Children.Add(m_MachineCNPageUC)
+ m_ActiveMachinePage = MachinePages.MachineCN
End Select
End Sub
@@ -617,6 +742,12 @@ Public Class MachinePageUC
m_ActiveMachinePage = MachinePages.Statistics
Case MachinePages.Statistics
StatisticsBtn.IsChecked = True
+ Case MachinePages.Alarms2
+ Alarms2Btn.IsChecked = False
+ StatisticsBtn.IsChecked = True
+ MachinePageGrid.Children.Remove(m_Alarms2PageUC)
+ MachinePageGrid.Children.Add(m_StatisticsPageUC)
+ m_ActiveMachinePage = MachinePages.Statistics
End Select
End Sub
@@ -670,6 +801,12 @@ Public Class MachinePageUC
MachinePageGrid.Children.Remove(m_StatisticsPageUC)
MachinePageGrid.Children.Add(m_AlarmsPageUC)
m_ActiveMachinePage = MachinePages.Alarms
+ Case MachinePages.Alarms2
+ AlarmsBtn.IsChecked = True
+ Alarms2Btn.IsChecked = False
+ MachinePageGrid.Children.Remove(m_Alarms2PageUC)
+ MachinePageGrid.Children.Add(m_AlarmsPageUC)
+ m_ActiveMachinePage = MachinePages.Alarms
End Select
End Sub
diff --git a/OmagCUT.vbproj b/OmagCUT.vbproj
index 13e2234..3a033ed 100644
--- a/OmagCUT.vbproj
+++ b/OmagCUT.vbproj
@@ -230,6 +230,9 @@
LicenseWindow.xaml
+
+ Alarms2PageUC.xaml
+
AlarmsPageUC.xaml
@@ -534,6 +537,10 @@
Designer
MSBuild:Compile
+
+ Designer
+ MSBuild:Compile
+
Designer
MSBuild:Compile