Configurazione cn FANUC

This commit is contained in:
Nicola Pievani
2023-03-27 11:40:36 +02:00
parent 997e8c380d
commit d0439f2b05
8 changed files with 13365 additions and 1 deletions
@@ -569,6 +569,11 @@ Public MustInherit Class MachineButton
EgtOutLog("dopo scrittura seconda variabile")
End If
Return
Case 4
' EActive indica un comando di tipo impulsivo "D#####", altrimenti scrittura di un comando "M#"
m_CN.NC_pulse_bit(ENumber)
EgtOutLog("Fanuc_DNumber= " & ENumber)
Return
End Select
End If
'--------------------------------------------------------- MDI ---------------------------------------------------------
+7
View File
@@ -272,9 +272,16 @@ Public Class MachineButtonsUC
End If
Return
End If
' CONTROLLO FANUC
Case 4
' EActive indica un comando di tipo impulsivo "D#####", altrimenti scrittura di un comando "M#"
m_CN.NC_pulse_bit(ENumber)
EgtOutLog("Fanuc_DNumber= " & ENumber)
Return
End Select
End If
Dim nResult As Short
' Imposto modalità MDI per controlli num
Select Case m_MainWindow.m_CNCommunication.m_nNCType
+24 -1
View File
@@ -131,7 +131,7 @@ Public Class CNCommunication
End Sub
Private Sub ReadAxesData()
' Nomi e indici degli assi macchina
' Nomi e indici degli assi macchina: definisco il nome degli assi da satampare nella pagina MachineStatusUC
m_bAxesOk = True
GetPrivateProfileString(S_AXES, K_L1NAME, "X", m_sA1, m_MainWindow.GetMachIniFile())
m_nA1 = GetPrivateProfileInt(S_AXES, K_L1ID, 0, m_MainWindow.GetMachIniFile())
@@ -223,6 +223,9 @@ Public Class CNCommunication
m_CN = New Num.NumNC
Case 3
m_CN = New CN_Siemens
Case 4
' Fanuc
m_CN = New Fanuc.Fanuc
End Select
' Recupero la stringa di inizializzazione della comunicazione
@@ -419,6 +422,17 @@ Public Class CNCommunication
m_MachineStatus.MachineStatusGrid.Background = Application.Current.FindResource("OmagCut_Red")
End Try
End If
Case 4
If IsNothing(m_CN) OrElse m_CN.n_state < 2 Then
' Per evitare crash con azioni verso il controllo, avvio quello di debug
m_nNCType = 0
Me.m_CN = New CN_Debug
m_MachineStatus.MachineStatusGrid.Background = Application.Current.FindResource("OmagCut_Red")
Else
' ATTENZIONE: durante l'inizializzazione della classe il vettore che contiene tutti gli indirizzi di memoria non è caricato
m_CN.b_axis_events_enable = True
m_MachineStatus.MachineStatusGrid.Background = Application.Current.FindResource("OmagCut_DarkGray")
End If
End Select
' Assegno riferimento al CN alle diverse pagine
@@ -465,6 +479,7 @@ Public Class CNCommunication
m_MachineStatus.DisplayPositionDelta()
End If
' ----- INIZIO: lettura diretta di specifiche vaiabili -----
If m_CN.b_feed_changed Then
m_CN.b_feed_changed = False
m_MachineStatus.DisplayFeed()
@@ -491,6 +506,7 @@ Public Class CNCommunication
'FrmMain.LblToolRad.Text = cn.Tools(0).radius.ToString
'FrmMain.LblToolComp.Text = cn.Tools(0).comp_num.ToString
End If
' ----- FINE : lettura diretta di specifiche vaiabili -----
Select Case m_nNCType
Case 1
@@ -504,6 +520,12 @@ Public Class CNCommunication
m_nCurrMode = m_CN.nMachineMode
m_MachineStatus.DisplayActiveMode(m_nCurrMode)
End If
Case 4
If m_CN.read_active_mode() <> m_nCurrMode Then
m_nCurrMode = m_CN.read_active_mode()
m_MachineStatus.DisplayActiveMode(m_nCurrMode)
m_CN.nMachineMode = m_nCurrMode
End If
End Select
If m_CN.b_NC_error Then
@@ -532,6 +554,7 @@ Public Class CNCommunication
'End If
End If
' QUESTE VARIABILI NON SONO LETTE IN QUANTO NON SONO STATE CARICATE → vedere come esempio il NUM che assegna queste variabili
' Flag e variabili per bottoni macchina, che verifico solo nelle pagine in cui ci sono
If m_MainWindow.m_ActivePage = MainWindow.Pages.DirectCut Then
If m_MainWindow.m_DirectCutPageUC.m_NewMachineButtonsType Then
+32
View File
@@ -341,4 +341,36 @@ Public MustInherit Class CN_generico
#End Region
#Region " Nuovi metodi pubblici"
Public Overridable Function NC_read_var_short(VarAddr As String, ByRef value As Short) As Boolean
Return False
End Function
Public Overridable Function NC_read_var_short_range(VarStartAddr As String, VarEndAddr As String, ByRef values() As Short) As Boolean
Return False
End Function
Public Overridable Function NC_write_var_short(VarAddr As String, ByRef value As Short) As Boolean
Return False
End Function
Public Overridable Function NC_read_var_bit(VarAddr As String, ByRef value As Boolean) As Boolean
Return False
End Function
Public Overridable Function NC_write_var_bit(VarAddr As String, ByRef value As Boolean) As Boolean
Return False
End Function
Public Overridable Function NC_pulse_bit(VarAddr As String) As Boolean
Return False
End Function
Public Overridable Function Geppo() As Boolean
Return False
End Function
#End Region
End Class
+1325
View File
File diff suppressed because it is too large Load Diff
+1175
View File
File diff suppressed because it is too large Load Diff
+10794
View File
File diff suppressed because it is too large Load Diff
+3
View File
@@ -225,6 +225,9 @@
<Compile Include="Machine\WaterJetPageUC.xaml.vb">
<DependentUpon>WaterJetPageUC.xaml</DependentUpon>
</Compile>
<Compile Include="NcComm\fwlib32.vb" />
<Compile Include="NcComm\M_Fanuc.vb" />
<Compile Include="NcComm\M_Fanuc_hi.vb" />
<Compile Include="Project\AddToDataBaseUC.xaml.vb">
<DependentUpon>AddToDataBaseUC.xaml</DependentUpon>
</Compile>