'Imports System.Windows.Threading Imports System.Globalization Imports EgtUILib Public Class MachineStatusUC Friend m_CN As CN_generico ' 'Const Private Const MAX_AXES As Integer = 9 ' ' Riferimento alla MainWindow Private m_MainWindow As MainWindow = Application.Current.MainWindow Private m_MachinePage As MachinePageUC Private Sub MachineStatus_Initialized(sender As Object, e As EventArgs) End Sub Private Sub MachineStatus_Loaded(sender As Object, e As RoutedEventArgs) m_MachinePage = m_MainWindow.m_MachinePageUC End Sub Private Sub MachineStatus_PreviewMouseDown(sender As Object, e As MouseButtonEventArgs) MachinePageClick() End Sub Sub MachinePageClick() 'Emulo il click della pagina Macchina Select Case m_MainWindow.m_ActivePage Case MainWindow.Pages.WorkInProgress m_MainWindow.WorkInProgressBtn.IsChecked = False m_MainWindow.MachineBtn.IsChecked = True m_MainWindow.MainWindowGrid.Children.Remove(m_MainWindow.m_WorkInProgressPageUC) m_MainWindow.MainWindowGrid.Children.Add(m_MainWindow.m_MachinePageUC) m_MainWindow.m_ActivePage = MainWindow.Pages.Machine AlarmsPageClick() Case MainWindow.Pages.DirectCut m_MainWindow.DirectCutBtn.IsChecked = False m_MainWindow.MachineBtn.IsChecked = True m_MainWindow.m_CurrentProjectPageUC.CurrentProjectPageGrid.Children.Remove(m_MainWindow.m_DirectCutPageUC) m_MainWindow.MainWindowGrid.Children.Remove(m_MainWindow.m_CurrentProjectPageUC) m_MainWindow.MainWindowGrid.Children.Add(m_MainWindow.m_MachinePageUC) m_MainWindow.m_ActivePage = MainWindow.Pages.Machine AlarmsPageClick() Case MainWindow.Pages.CadCut m_MainWindow.CadCutBtn.IsChecked = False m_MainWindow.MachineBtn.IsChecked = True m_MainWindow.m_CurrentProjectPageUC.CurrentProjectPageGrid.Children.Remove(m_MainWindow.m_CadCutPageUC) m_MainWindow.MainWindowGrid.Children.Remove(m_MainWindow.m_CurrentProjectPageUC) m_MainWindow.MainWindowGrid.Children.Add(m_MainWindow.m_MachinePageUC) m_MainWindow.m_ActivePage = MainWindow.Pages.Machine AlarmsPageClick() Case MainWindow.Pages.RawPart m_MainWindow.CadCutBtn.IsChecked = True m_MainWindow.MachineBtn.IsChecked = False Case MainWindow.Pages.Simulation m_MainWindow.CadCutBtn.IsChecked = True m_MainWindow.MachineBtn.IsChecked = False Case MainWindow.Pages.Draw m_MainWindow.CadCutBtn.IsChecked = True m_MainWindow.MachineBtn.IsChecked = False Case MainWindow.Pages.Import m_MainWindow.CadCutBtn.IsChecked = True m_MainWindow.MachineBtn.IsChecked = False Case MainWindow.Pages.FrameCut m_MainWindow.FrameCutBtn.IsChecked = False m_MainWindow.MachineBtn.IsChecked = True m_MainWindow.m_CurrentProjectPageUC.CurrentProjectPageGrid.Children.Remove(m_MainWindow.m_FrameCutPageUC) m_MainWindow.MainWindowGrid.Children.Remove(m_MainWindow.m_CurrentProjectPageUC) m_MainWindow.MainWindowGrid.Children.Add(m_MainWindow.m_MachinePageUC) m_MainWindow.m_ActivePage = MainWindow.Pages.Machine AlarmsPageClick() Case MainWindow.Pages.Machine m_MainWindow.MachineBtn.IsChecked = True AlarmsPageClick() Case MainWindow.Pages.Options m_MainWindow.MachineBtn.IsChecked = True m_MainWindow.OptionsBtn.IsChecked = False m_MainWindow.MainWindowGrid.Children.Remove(m_MainWindow.m_OptionsPageUC) m_MainWindow.MainWindowGrid.Children.Add(m_MainWindow.m_MachinePageUC) m_MainWindow.m_ActivePage = MainWindow.Pages.Machine AlarmsPageClick() End Select End Sub Sub AlarmsPageClick() 'Emulo il click della pagina allarmi dopo il click della pagina macchina Select Case m_MachinePage.m_ActiveMachinePage Case MachinePageUC.MachinePages.Alarms m_MachinePage.AlarmsBtn.IsChecked = True Case MachinePageUC.MachinePages.ToolsDb m_MachinePage.AlarmsBtn.IsChecked = False m_MachinePage.ToolsDBBtn.IsChecked = True Case MachinePageUC.MachinePages.MachiningDb m_MachinePage.AlarmsBtn.IsChecked = False m_MachinePage.MachiningDBBtn.IsChecked = True Case MachinePageUC.MachinePages.Testing m_MachinePage.AlarmsBtn.IsChecked = True m_MachinePage.TestingPageBtn.IsChecked = False m_MachinePage.MachinePageGrid.Children.Remove(m_MachinePage.m_TestingPage) m_MachinePage.MachinePageGrid.Children.Add(m_MachinePage.m_AlarmsPageUC) m_MachinePage.m_ActiveMachinePage = MachinePageUC.MachinePages.Alarms End Select End Sub Sub DisplayPosition() For n As Short = 0 To MAX_AXES - 1 Select Case n Case 0 'X Axis1Lbl.Content = m_CN.d_axis_position(n).ToString("F3", CultureInfo.InvariantCulture) Case 1 Axis2Lbl.Content = m_CN.d_axis_position(n).ToString("F3", CultureInfo.InvariantCulture) Case 2 Axis3Lbl.Content = m_CN.d_axis_position(n).ToString("F3", CultureInfo.InvariantCulture) Case 7 Axis5Lbl.Content = m_CN.d_axis_position(n).ToString("F3", CultureInfo.InvariantCulture) Case 8 Axis4Lbl.Content = m_CN.d_axis_position(n).ToString("F3", CultureInfo.InvariantCulture) End Select Next End Sub Sub DisplayDeltaPosition() For n As Short = 0 To MAX_AXES - 1 Select Case n Case 0 'X DeltaAxis1Lbl.Content = m_CN.d_axis_delta(n).ToString("F3", CultureInfo.InvariantCulture) Case 1 DeltaAxis2Lbl.Content = m_CN.d_axis_delta(n).ToString("F3", CultureInfo.InvariantCulture) Case 2 DeltaAxis3Lbl.Content = m_CN.d_axis_delta(n).ToString("F3", CultureInfo.InvariantCulture) Case 7 DeltaAxis4Lbl.Content = m_CN.d_axis_delta(n).ToString("F3", CultureInfo.InvariantCulture) Case 8 DeltaAxis5Lbl.Content = m_CN.d_axis_delta(n).ToString("F3", CultureInfo.InvariantCulture) End Select Next End Sub Sub DisplayFeed() FeedOverrideLbl.Content = m_CN.d_DInterpo_Feed_override.ToString & "%" FeedLbl.Content = m_CN.d_DInterpo_Prog_Feed.ToString End Sub Sub DisplaySpeed() SpeedOverrideLbl.Content = m_CN.n_spindle_override(0).ToString SpeedLbl.Content = m_CN.d_spindle_eff(0).ToString End Sub Sub DisplayActiveMode(Mode As Integer) Select Case Mode Case 0 MachineStatusImage.Source = New System.Windows.Media.Imaging.BitmapImage(New Uri("/Resources/Nest.png", UriKind.Relative)) Case 1 Case 2 Case 3 Case 7 End Select End Sub Sub DisplayVar() 'For n As Short = 0 To FrmMain.MAX_AXES - 1 ' lbl_var_values(n).Text = cn.d_Dvariable_values(n * 10).ToString 'Next End Sub End Class