Compare commits
33 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 4ab7811b50 | |||
| 1899c9a735 | |||
| 3f769c49da | |||
| da4ddb2a7f | |||
| 3667ecb3b7 | |||
| 206af48539 | |||
| 253e92b111 | |||
| 123d6118e9 | |||
| a2104eaa03 | |||
| 65b9bfdcdb | |||
| 004591896c | |||
| 02af01052b | |||
| 2bc386807f | |||
| 82af1baae3 | |||
| 68b4dfed80 | |||
| ffc7536177 | |||
| 70368b73be | |||
| 05b4e2e95a | |||
| 1d7cdf8fa0 | |||
| 5190a41470 | |||
| 3afe6bb35b | |||
| 554ae16e48 | |||
| 3b2d15703a | |||
| 8e5a4d4ac5 | |||
| ef621a340a | |||
| e7e1946230 | |||
| 8dc6b63801 | |||
| 7f548e5ba6 | |||
| 2cf1be7348 | |||
| bb932788f9 | |||
| 4c0da9af53 | |||
| 26ef6b2d3b | |||
| 529fb6d3a6 |
@@ -36,7 +36,7 @@
|
|||||||
<ColumnDefinition Width="1*"/>
|
<ColumnDefinition Width="1*"/>
|
||||||
</Grid.ColumnDefinitions>
|
</Grid.ColumnDefinitions>
|
||||||
<Border Name="LogoBrd" Grid.Column="1">
|
<Border Name="LogoBrd" Grid.Column="1">
|
||||||
<Image Source="../Resources/AboutBoxImage.png" Stretch="Uniform"/>
|
<Image Source="../Resources/NewIcons/Logo-Egalware (3).png" Stretch="Uniform"/>
|
||||||
</Border>
|
</Border>
|
||||||
</Grid>
|
</Grid>
|
||||||
<TextBlock Name="DescriptionLbl" Grid.Column="1" Grid.Row="3" HorizontalAlignment="Center"
|
<TextBlock Name="DescriptionLbl" Grid.Column="1" Grid.Row="3" HorizontalAlignment="Center"
|
||||||
|
|||||||
@@ -127,11 +127,10 @@ Public Class MoveRawPartPage
|
|||||||
UnloadPartsBtn.Content = "Go to MOVE part"
|
UnloadPartsBtn.Content = "Go to MOVE part"
|
||||||
' altrimenti, aggiorno visualizzazione
|
' altrimenti, aggiorno visualizzazione
|
||||||
ElseIf Not m_SplitPage.m_bOnAuxTab And m_SplitPage.m_bEnableOnAuxTab Then
|
ElseIf Not m_SplitPage.m_bOnAuxTab And m_SplitPage.m_bEnableOnAuxTab Then
|
||||||
EgtDraw()
|
|
||||||
UnloadPartsBtn.Content = "Go to UNLOAD part"
|
UnloadPartsBtn.Content = "Go to UNLOAD part"
|
||||||
End If
|
End If
|
||||||
'---------------------------- AUX TABLE ----------------------------
|
'---------------------------- AUX TABLE ----------------------------
|
||||||
|
EgtDraw()
|
||||||
' Carico i parametri di movimento
|
' Carico i parametri di movimento
|
||||||
m_dStep = GetPrivateProfileDouble(S_RAWMOVE, K_RAWSTEP, 50, m_MainWindow.GetIniFile())
|
m_dStep = GetPrivateProfileDouble(S_RAWMOVE, K_RAWSTEP, 50, m_MainWindow.GetIniFile())
|
||||||
' Ricavo la lunghezza del baffo di taglio
|
' Ricavo la lunghezza del baffo di taglio
|
||||||
@@ -860,6 +859,12 @@ Public Class MoveRawPartPage
|
|||||||
Return bOk
|
Return bOk
|
||||||
End Function
|
End Function
|
||||||
|
|
||||||
|
Private Sub RemovePart_KeyCancel(sender As Object, e As System.Windows.Forms.KeyEventArgs) Handles m_CurrProjPage.OnKeyCancelDownScene
|
||||||
|
If e.KeyCode = System.Windows.Forms.Keys.Delete Then
|
||||||
|
RemovePartBtn_Click(Nothing, Nothing)
|
||||||
|
End If
|
||||||
|
End Sub
|
||||||
|
|
||||||
Private Sub RemovePartBtn_Click(sender As Object, e As RoutedEventArgs) Handles RemovePartBtn.Click
|
Private Sub RemovePartBtn_Click(sender As Object, e As RoutedEventArgs) Handles RemovePartBtn.Click
|
||||||
Dim nRawId As Integer = EgtGetFirstSelectedObj()
|
Dim nRawId As Integer = EgtGetFirstSelectedObj()
|
||||||
While nRawId <> GDB_ID.NULL
|
While nRawId <> GDB_ID.NULL
|
||||||
@@ -927,6 +932,7 @@ Public Class MoveRawPartPage
|
|||||||
' Mantengo la fase che è stata creata e passo a gestire solo la visualizzazione dei bottoni
|
' Mantengo la fase che è stata creata e passo a gestire solo la visualizzazione dei bottoni
|
||||||
RefreshVisibility()
|
RefreshVisibility()
|
||||||
EgtZoom(ZM.ALL, True)
|
EgtZoom(ZM.ALL, True)
|
||||||
|
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Private Sub StepMoveTxBx_EgtClosed(sender As Object, e As EventArgs) Handles StepMoveTxBx.EgtClosed
|
Private Sub StepMoveTxBx_EgtClosed(sender As Object, e As EventArgs) Handles StepMoveTxBx.EgtClosed
|
||||||
@@ -1362,7 +1368,7 @@ Public Class MoveRawPartPage
|
|||||||
Return
|
Return
|
||||||
End If
|
End If
|
||||||
|
|
||||||
' ------- VISUALIZZAZIONE -------
|
' ------- VISUALIZZAZIONE (navigazione tra le fasi) -------
|
||||||
If m_SplitPage.m_bShow Then
|
If m_SplitPage.m_bShow Then
|
||||||
' verifico se la fase successiva è uno scarico frontale
|
' verifico se la fase successiva è uno scarico frontale
|
||||||
If NextOperationIsUnloading(m_nCurrDisposition) Then
|
If NextOperationIsUnloading(m_nCurrDisposition) Then
|
||||||
|
|||||||
@@ -220,17 +220,21 @@ Public Class NestPageUC
|
|||||||
m_nCountSpot = 0
|
m_nCountSpot = 0
|
||||||
m_nCountSpotCUT = 0
|
m_nCountSpotCUT = 0
|
||||||
End If
|
End If
|
||||||
|
EgtOutLog("Numero di SPOT caricati da OFFICE: " & m_nCountSpot.ToString)
|
||||||
' Se nel progetto non sono inseriti punti SpotReg disabilito i comandi
|
' Se nel progetto non sono inseriti punti SpotReg disabilito i comandi
|
||||||
If m_nCountSpot < 1 Then
|
If m_nCountSpot < 1 Then
|
||||||
UG0_Reg.IsEnabled = False
|
UG0_Reg.IsEnabled = False
|
||||||
UG1_Reg.IsEnabled = False
|
UG1_Reg.IsEnabled = False
|
||||||
|
EgtOutLog(" Abilito comandi gestione SPOT")
|
||||||
Else
|
Else
|
||||||
UG0_Reg.IsEnabled = True
|
UG0_Reg.IsEnabled = True
|
||||||
UG1_Reg.IsEnabled = True
|
UG1_Reg.IsEnabled = True
|
||||||
|
EgtOutLog(" Disabilito comandi gestione SPOT")
|
||||||
End If
|
End If
|
||||||
' Se nel progetto non sono inseriti punti SpotRegCUT provvedo ad aggiungerli
|
' Se nel progetto non sono inseriti punti SpotRegCUT provvedo ad aggiungerli
|
||||||
If m_nCountSpotCUT < 1 Then
|
If m_nCountSpotCUT < 1 Then
|
||||||
InsertSpotRegistration()
|
InsertSpotRegistration()
|
||||||
|
EgtOutLog(" Creo SPOT_CUT")
|
||||||
End If
|
End If
|
||||||
|
|
||||||
' Se necessario riabilito impostazione modificato
|
' Se necessario riabilito impostazione modificato
|
||||||
|
|||||||
+30
-30
@@ -457,21 +457,7 @@ Public Class SplitPageUC
|
|||||||
#End Region ' Bridge
|
#End Region ' Bridge
|
||||||
|
|
||||||
Private Sub OnMyMouseDownScene_DoubleClick(sender As Object, e As System.Windows.Forms.MouseEventArgs) Handles m_CurrProjPage.OnMouseDownScene_DoubleClick
|
Private Sub OnMyMouseDownScene_DoubleClick(sender As Object, e As System.Windows.Forms.MouseEventArgs) Handles m_CurrProjPage.OnMouseDownScene_DoubleClick
|
||||||
If MachiningLsBx.SelectedItems.Count = 1 Then
|
OnOffCut()
|
||||||
OnMyMouseDownScene(sender, e)
|
|
||||||
Dim x As NameIdLsBxItem = DirectCast(MachiningLsBx.SelectedItems(0), NameIdLsBxItem)
|
|
||||||
Dim nI As Integer = x.Ind
|
|
||||||
If m_MachiningList(nI).m_bEnabled Then
|
|
||||||
m_MachiningList(nI).m_bEnabled = False
|
|
||||||
x.bIsActive = False
|
|
||||||
Else
|
|
||||||
m_MachiningList(nI).m_bEnabled = True
|
|
||||||
x.bIsActive = True
|
|
||||||
End If
|
|
||||||
ColorMachining(m_MachiningList(nI))
|
|
||||||
ColorNumberArrow(nI)
|
|
||||||
EgtDraw()
|
|
||||||
End If
|
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Private Sub OnMyMouseDownScene(sender As Object, e As System.Windows.Forms.MouseEventArgs) Handles m_CurrProjPage.OnMouseDownScene
|
Private Sub OnMyMouseDownScene(sender As Object, e As System.Windows.Forms.MouseEventArgs) Handles m_CurrProjPage.OnMouseDownScene
|
||||||
@@ -756,20 +742,7 @@ Public Class SplitPageUC
|
|||||||
|
|
||||||
Private Sub MachiningLsBx_MouseDoubleClick(sender As Object, e As MouseEventArgs) Handles MachiningLsBx.MouseDoubleClick
|
Private Sub MachiningLsBx_MouseDoubleClick(sender As Object, e As MouseEventArgs) Handles MachiningLsBx.MouseDoubleClick
|
||||||
If m_IsCtrlKeyDown Or m_IsShiftKeyDown Then Return
|
If m_IsCtrlKeyDown Or m_IsShiftKeyDown Then Return
|
||||||
If MachiningLsBx.SelectedItems.Count = 1 Then
|
OnOffCut()
|
||||||
Dim x As NameIdLsBxItem = DirectCast(MachiningLsBx.SelectedItems(0), NameIdLsBxItem)
|
|
||||||
Dim nI As Integer = x.Ind
|
|
||||||
If m_MachiningList(nI).m_bEnabled Then
|
|
||||||
m_MachiningList(nI).m_bEnabled = False
|
|
||||||
x.bIsActive = False
|
|
||||||
Else
|
|
||||||
m_MachiningList(nI).m_bEnabled = True
|
|
||||||
x.bIsActive = True
|
|
||||||
End If
|
|
||||||
ColorMachining(m_MachiningList(nI))
|
|
||||||
ColorNumberArrow(nI)
|
|
||||||
EgtDraw()
|
|
||||||
End If
|
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Private Sub MoveUpBtn_Click(sender As Object, e As RoutedEventArgs) Handles MoveUpBtn.Click
|
Private Sub MoveUpBtn_Click(sender As Object, e As RoutedEventArgs) Handles MoveUpBtn.Click
|
||||||
@@ -1890,7 +1863,7 @@ Public Class SplitPageUC
|
|||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Private Sub NextBtn_Click(sender As Object, e As RoutedEventArgs) Handles NextBtn.Click
|
Private Sub NextBtn_Click(sender As Object, e As RoutedEventArgs) Handles NextBtn.Click
|
||||||
' ------- VISUALIZZAZIONE -------
|
' ------- VISUALIZZAZIONE (navigazione tra le fasi) -------
|
||||||
If m_bShow Then
|
If m_bShow Then
|
||||||
Dim CurrDisposition As Integer = EgtGetPhaseDisposition(m_nCurrPhase)
|
Dim CurrDisposition As Integer = EgtGetPhaseDisposition(m_nCurrPhase)
|
||||||
' recupero l'operazione successiva
|
' recupero l'operazione successiva
|
||||||
@@ -2199,6 +2172,33 @@ Public Class SplitPageUC
|
|||||||
|
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
|
Private Sub OnOffCut()
|
||||||
|
If MachiningLsBx.SelectedItems.Count = 1 Then
|
||||||
|
Dim x As NameIdLsBxItem = DirectCast(MachiningLsBx.SelectedItems(0), NameIdLsBxItem)
|
||||||
|
Dim nI As Integer = x.Ind
|
||||||
|
If m_MachiningList(nI).m_bEnabled Then
|
||||||
|
m_MachiningList(nI).m_bEnabled = False
|
||||||
|
x.bIsActive = False
|
||||||
|
Else
|
||||||
|
m_MachiningList(nI).m_bEnabled = True
|
||||||
|
x.bIsActive = True
|
||||||
|
End If
|
||||||
|
ColorMachining(m_MachiningList(nI))
|
||||||
|
ColorNumberArrow(nI)
|
||||||
|
EgtDraw()
|
||||||
|
' Imposto flag di modifica
|
||||||
|
m_bModified = True
|
||||||
|
' recupero l'elenco degli elementi selezionati
|
||||||
|
Dim ItemList As New List(Of NameIdLsBxItem)
|
||||||
|
For Each Item As NameIdLsBxItem In MachiningLsBx.SelectedItems
|
||||||
|
ItemList.Add(Item)
|
||||||
|
Next
|
||||||
|
VerifyHomogenousMachining(ItemList)
|
||||||
|
' Abilitazione bottone Next
|
||||||
|
EnableButtons()
|
||||||
|
End If
|
||||||
|
End Sub
|
||||||
|
|
||||||
Private Sub VerifyHomogenousMachining(ItemList As List(Of NameIdLsBxItem))
|
Private Sub VerifyHomogenousMachining(ItemList As List(Of NameIdLsBxItem))
|
||||||
If IsNothing(ItemList) OrElse ItemList.Count = 0 Then
|
If IsNothing(ItemList) OrElse ItemList.Count = 0 Then
|
||||||
m_MainWindow.m_CurrentProjectPageUC.ClearMessage()
|
m_MainWindow.m_CurrentProjectPageUC.ClearMessage()
|
||||||
|
|||||||
@@ -129,6 +129,7 @@
|
|||||||
Public Const K_SPOTLIGHT1 As String = "SpotLight1"
|
Public Const K_SPOTLIGHT1 As String = "SpotLight1"
|
||||||
Public Const K_SPOTLIGHT2 As String = "SpotLight2"
|
Public Const K_SPOTLIGHT2 As String = "SpotLight2"
|
||||||
Public Const K_NAXES As String = "nAxes"
|
Public Const K_NAXES As String = "nAxes"
|
||||||
|
Public Const K_RESETSTATUS As String = "ResetStatus"
|
||||||
' Nuove variabili
|
' Nuove variabili
|
||||||
Public Const K_SPEEDHOLD As String = "SpeedHold"
|
Public Const K_SPEEDHOLD As String = "SpeedHold"
|
||||||
Public Const K_XYJOG As String = "XYJog"
|
Public Const K_XYJOG As String = "XYJog"
|
||||||
|
|||||||
@@ -23,6 +23,9 @@ Public Class ControlsMachineButtonUC
|
|||||||
Friend m_CN As CN_generico
|
Friend m_CN As CN_generico
|
||||||
Private m_bFirst As Boolean = True
|
Private m_bFirst As Boolean = True
|
||||||
|
|
||||||
|
' visualizzo l'elenco degli elementi della pagina sono al primo avvio
|
||||||
|
Friend Shared m_OutLogTypeButton As Boolean = True
|
||||||
|
|
||||||
' Creazione converter da String a ImageSource
|
' Creazione converter da String a ImageSource
|
||||||
Dim ImageConverter As New ImageSourceConverter
|
Dim ImageConverter As New ImageSourceConverter
|
||||||
|
|
||||||
@@ -76,6 +79,7 @@ Public Class ControlsMachineButtonUC
|
|||||||
For Each MachineButton As MachineButton In m_ButtonList
|
For Each MachineButton As MachineButton In m_ButtonList
|
||||||
GetTypeButton(MachineButton)
|
GetTypeButton(MachineButton)
|
||||||
Next
|
Next
|
||||||
|
m_OutLogTypeButton = False
|
||||||
|
|
||||||
NotifyPropertyChanged("ButtonList")
|
NotifyPropertyChanged("ButtonList")
|
||||||
End If
|
End If
|
||||||
@@ -87,6 +91,7 @@ Public Class ControlsMachineButtonUC
|
|||||||
'-------------------------------------------------------------------------------
|
'-------------------------------------------------------------------------------
|
||||||
|
|
||||||
Friend Sub GetTypeButton(CurrMachineButton As MachineButton)
|
Friend Sub GetTypeButton(CurrMachineButton As MachineButton)
|
||||||
|
If Not m_OutLogTypeButton Then Return
|
||||||
Dim BtnType As Type = CurrMachineButton.GetType
|
Dim BtnType As Type = CurrMachineButton.GetType
|
||||||
If BtnType Is GetType(NoStateButton) Then
|
If BtnType Is GetType(NoStateButton) Then
|
||||||
EgtOutLog(" ► " & BtnType.ToString.Replace("OmagCUT.", "(0) ") & " , " & CurrMachineButton.StateFlag)
|
EgtOutLog(" ► " & BtnType.ToString.Replace("OmagCUT.", "(0) ") & " , " & CurrMachineButton.StateFlag)
|
||||||
@@ -750,8 +755,17 @@ Public MustInherit Class MachineButton
|
|||||||
EgtLuaSetGlobNumVar("CMD.R1", dR1)
|
EgtLuaSetGlobNumVar("CMD.R1", dR1)
|
||||||
EgtLuaSetGlobNumVar("CMD.R2", dR2)
|
EgtLuaSetGlobNumVar("CMD.R2", dR2)
|
||||||
EgtLuaSetGlobBoolVar("CMD.INCHES", m_MainWindow.m_CNCommunication.GetMachineInInches())
|
EgtLuaSetGlobBoolVar("CMD.INCHES", m_MainWindow.m_CNCommunication.GetMachineInInches())
|
||||||
|
|
||||||
|
' versione 2.6h1
|
||||||
|
Dim sCurrTable As String = String.Empty
|
||||||
|
Dim nCuttTable As Integer = 1
|
||||||
|
EgtGetTableName(sCurrTable)
|
||||||
|
If sCurrTable <> "MainTab" Then nCuttTable = 2
|
||||||
|
EgtLuaSetGlobIntVar("CMD.TABLE", nCuttTable)
|
||||||
|
|
||||||
EgtLuaCallFunction("CmdString")
|
EgtLuaCallFunction("CmdString")
|
||||||
' Leggo variabili
|
|
||||||
|
' Leggo variabili da file Lua
|
||||||
CmdString = String.Empty
|
CmdString = String.Empty
|
||||||
EgtLuaGetGlobStringVar("CMD.CMDSTRING", CmdString)
|
EgtLuaGetGlobStringVar("CMD.CMDSTRING", CmdString)
|
||||||
b2Start = False
|
b2Start = False
|
||||||
|
|||||||
@@ -53,14 +53,43 @@ Public Class ManualAxesMoveUC
|
|||||||
' Imposto check per considerare spessore lama
|
' Imposto check per considerare spessore lama
|
||||||
L1SawThChBx.IsChecked = m_MainWindow.m_CurrentMachine.bAddSawThTo5AxMove
|
L1SawThChBx.IsChecked = m_MainWindow.m_CurrentMachine.bAddSawThTo5AxMove
|
||||||
L2SawThChBx.IsChecked = m_MainWindow.m_CurrentMachine.bAddSawThTo5AxMove
|
L2SawThChBx.IsChecked = m_MainWindow.m_CurrentMachine.bAddSawThTo5AxMove
|
||||||
|
|
||||||
|
' Aggiorno visualizzazione
|
||||||
|
SetMachineInCurrPos()
|
||||||
|
EgtDraw()
|
||||||
|
m_MainWindow.m_DirectCutPageUC.m_bShowMachine = True
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Private Sub ManualAxesMove_UnLoaded(sender As Object, e As RoutedEventArgs) Handles Me.Unloaded
|
Private Sub ManualAxesMove_UnLoaded(sender As Object, e As RoutedEventArgs) Handles Me.Unloaded
|
||||||
m_Timer.Stop()
|
m_Timer.Stop()
|
||||||
m_MainWindow.m_CurrentMachine.bAddSawThTo5AxMove = (L1SawThChBx.IsEnabled And L1SawThChBx.IsChecked) Or
|
m_MainWindow.m_CurrentMachine.bAddSawThTo5AxMove = (L1SawThChBx.IsEnabled And L1SawThChBx.IsChecked) Or
|
||||||
(L2SawThChBx.IsEnabled And L2SawThChBx.IsChecked)
|
(L2SawThChBx.IsEnabled And L2SawThChBx.IsChecked)
|
||||||
|
' Nascondo la macchina
|
||||||
|
m_MainWindow.m_DirectCutPageUC.m_bShowMachine = False
|
||||||
|
EgtSetMachineLook(MCH_LOOK.TAB)
|
||||||
|
EgtDraw()
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
|
Private Function SetMachineInCurrPos() As Boolean
|
||||||
|
' Recupero la posizione macchina
|
||||||
|
Dim dL1, dL2, dL3, dR1, dR2 As Double
|
||||||
|
If Not m_MainWindow.m_CNCommunication.GetAxesPositions(dL1, dL2, dL3, dR1, dR2) Then Return False
|
||||||
|
' Recupero il nome degli assi macchina
|
||||||
|
Dim sL1 As String = String.Empty
|
||||||
|
Dim sL2 As String = String.Empty
|
||||||
|
Dim sL3 As String = String.Empty
|
||||||
|
Dim sR1 As String = String.Empty
|
||||||
|
Dim sR2 As String = String.Empty
|
||||||
|
If Not m_MainWindow.m_CNCommunication.GetAxesNames(sL1, sL2, sL3, sR1, sR2) Then Return False
|
||||||
|
' Visualizzo macchina in posizione
|
||||||
|
EgtSetAxisPos(sL1, dL1)
|
||||||
|
EgtSetAxisPos(sL2, dL2)
|
||||||
|
EgtSetAxisPos(sL3, dL3)
|
||||||
|
EgtSetAxisPos(sR1, dR1)
|
||||||
|
EgtSetAxisPos(sR2, dR2)
|
||||||
|
Return True
|
||||||
|
End Function
|
||||||
|
|
||||||
Private Sub UpdateAxesNames()
|
Private Sub UpdateAxesNames()
|
||||||
Dim sL1 As String = String.Empty
|
Dim sL1 As String = String.Empty
|
||||||
Dim sL2 As String = String.Empty
|
Dim sL2 As String = String.Empty
|
||||||
@@ -125,11 +154,16 @@ Public Class ManualAxesMoveUC
|
|||||||
Private Sub Timer_tick()
|
Private Sub Timer_tick()
|
||||||
UpdateAxesNames()
|
UpdateAxesNames()
|
||||||
UpdateUseSawThickness()
|
UpdateUseSawThickness()
|
||||||
|
' Aggiorno posizione macchina in disegno
|
||||||
|
SetMachineInCurrPos()
|
||||||
|
' Aggiorno il disegno
|
||||||
|
EgtDraw()
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Private m_MoveClicked As Boolean = False
|
Private m_MoveClicked As Boolean = False
|
||||||
Private Sub XXBtn_Click(sender As Object, e As MouseButtonEventArgs) Handles L1Btn.PreviewMouseDown, L2Btn.PreviewMouseDown, L3Btn.PreviewMouseDown, R1Btn.PreviewMouseDown, R2Btn.PreviewMouseDown
|
Private Sub XXBtn_Click(sender As Object, e As MouseButtonEventArgs) Handles L1Btn.PreviewMouseDown, L2Btn.PreviewMouseDown, L3Btn.PreviewMouseDown, R1Btn.PreviewMouseDown, R2Btn.PreviewMouseDown
|
||||||
If e.ClickCount > 1 OrElse m_MoveClicked Then
|
If e.ClickCount > 1 OrElse m_MoveClicked Then
|
||||||
|
EgtOutLog(" → Hold on! Do not click compulsively.")
|
||||||
Return
|
Return
|
||||||
End If
|
End If
|
||||||
m_MoveClicked = True
|
m_MoveClicked = True
|
||||||
@@ -216,6 +250,7 @@ Public Class ManualAxesMoveUC
|
|||||||
Private Sub SiemensMoveAxis(CurrentBtn As Button)
|
Private Sub SiemensMoveAxis(CurrentBtn As Button)
|
||||||
' leggo se stato reset
|
' leggo se stato reset
|
||||||
If Not m_CN.bResetState Then
|
If Not m_CN.bResetState Then
|
||||||
|
EgtOutLog("Reset status is 'False', is denied to execute file '\DirectCmd\AxesMove.lua'.")
|
||||||
m_MoveClicked = False
|
m_MoveClicked = False
|
||||||
Return
|
Return
|
||||||
End If
|
End If
|
||||||
|
|||||||
@@ -530,6 +530,10 @@ Public Class SawTestUC
|
|||||||
ElseIf nWSide = MCH_SAW_WS.LEFT Then
|
ElseIf nWSide = MCH_SAW_WS.LEFT Then
|
||||||
vtPerp = vtDir
|
vtPerp = vtDir
|
||||||
vtPerp.Rotate(Vector3d.Z_AX, +90)
|
vtPerp.Rotate(Vector3d.Z_AX, +90)
|
||||||
|
Else
|
||||||
|
m_CurrProjPage.ClearMessage()
|
||||||
|
' 91144 = Set machining side: right or left.
|
||||||
|
m_CurrProjPage.SetInfoMessage(EgtMsg(91144))
|
||||||
End If
|
End If
|
||||||
Dim ptEnd As Point3d = ptStart + vtDir * m_dLen + vtPerp * dThick
|
Dim ptEnd As Point3d = ptStart + vtDir * m_dLen + vtPerp * dThick
|
||||||
Dim dLen2 As Double = m_dLen / 2
|
Dim dLen2 As Double = m_dLen / 2
|
||||||
|
|||||||
@@ -22,6 +22,9 @@ Public Class VacuumMachineButtonUC
|
|||||||
Friend m_CN As CN_generico
|
Friend m_CN As CN_generico
|
||||||
Private m_bFirst As Boolean = True
|
Private m_bFirst As Boolean = True
|
||||||
|
|
||||||
|
' visualizzo l'elenco degli elementi della pagina sono al primo avvio
|
||||||
|
Friend m_OutLogTypeButton As Boolean = True
|
||||||
|
|
||||||
' Creazione converter da String a ImageSource
|
' Creazione converter da String a ImageSource
|
||||||
Dim ImageConverter As New ImageSourceConverter
|
Dim ImageConverter As New ImageSourceConverter
|
||||||
|
|
||||||
@@ -73,8 +76,9 @@ Public Class VacuumMachineButtonUC
|
|||||||
End While
|
End While
|
||||||
|
|
||||||
For Each MachineButton As MachineButton In m_ButtonList
|
For Each MachineButton As MachineButton In m_ButtonList
|
||||||
GetTypeButton(MachineButton)
|
OutLogTypeButton(MachineButton)
|
||||||
Next
|
Next
|
||||||
|
m_OutLogTypeButton = False
|
||||||
|
|
||||||
NotifyPropertyChanged("ButtonList")
|
NotifyPropertyChanged("ButtonList")
|
||||||
End If
|
End If
|
||||||
@@ -85,7 +89,8 @@ Public Class VacuumMachineButtonUC
|
|||||||
' i segeunti metodi notificano il cambiamento di stato di specifici bottoni
|
' i segeunti metodi notificano il cambiamento di stato di specifici bottoni
|
||||||
'-------------------------------------------------------------------------------
|
'-------------------------------------------------------------------------------
|
||||||
|
|
||||||
Friend Sub GetTypeButton(CurrMachineButton As MachineButton)
|
Friend Sub OutLogTypeButton(CurrMachineButton As MachineButton)
|
||||||
|
If Not m_OutLogTypeButton Then Return
|
||||||
Dim BtnType As Type = CurrMachineButton.GetType
|
Dim BtnType As Type = CurrMachineButton.GetType
|
||||||
If BtnType Is GetType(NoStateButton) Then
|
If BtnType Is GetType(NoStateButton) Then
|
||||||
EgtOutLog(" ► " & BtnType.ToString.Replace("OmagCUT.", "(0) ") & " , " & CurrMachineButton.StateFlag)
|
EgtOutLog(" ► " & BtnType.ToString.Replace("OmagCUT.", "(0) ") & " , " & CurrMachineButton.StateFlag)
|
||||||
|
|||||||
@@ -1265,7 +1265,7 @@ Public Class AlarmsPageUC
|
|||||||
System.Threading.Thread.Sleep(300)
|
System.Threading.Thread.Sleep(300)
|
||||||
m_MainWindow.m_CNCommunication.m_CN.DGeneralFunctions_CycleStart()
|
m_MainWindow.m_CNCommunication.m_CN.DGeneralFunctions_CycleStart()
|
||||||
' Creo MsgBox di attesa
|
' Creo MsgBox di attesa
|
||||||
Dim MsgBoxStateInfo As New EgtMsgBox(m_MainWindow, EgtMsg(MSG_DIRECTCUTPAGEUC + 41), EgtMsg(MSG_DIRECTCUTPAGEUC + 42), True, EgtMsgBox.Buttons.CANCEL, EgtMsgBox.Icons.NULL)
|
Dim MsgBoxStateInfo As New EgtMsgBox(m_MainWindow, String.Format(EgtMsg(MSG_DIRECTCUTPAGEUC + 41), ToolForProbing.m_ToolName), EgtMsg(MSG_DIRECTCUTPAGEUC + 42), True, EgtMsgBox.Buttons.CANCEL, EgtMsgBox.Icons.NULL)
|
||||||
m_MainWindow.m_CNCommunication.m_CN.n_DReadELS_handle = 0
|
m_MainWindow.m_CNCommunication.m_CN.n_DReadELS_handle = 0
|
||||||
' Definisco flag tastatura
|
' Definisco flag tastatura
|
||||||
Dim bProbingOk As Boolean = False
|
Dim bProbingOk As Boolean = False
|
||||||
|
|||||||
@@ -1662,7 +1662,9 @@ Public Class CurrentMachine
|
|||||||
Dim dToolDiam As Double = 0
|
Dim dToolDiam As Double = 0
|
||||||
EgtTdbGetCurrToolParam(MCH_TP.DIAM, dToolDiam)
|
EgtTdbGetCurrToolParam(MCH_TP.DIAM, dToolDiam)
|
||||||
' Confronto con massimo ammesso
|
' Confronto con massimo ammesso
|
||||||
Return (dToolDiam <= dMaxSawDiamForProbe)
|
Dim bOk As Boolean = dToolDiam <= dMaxSawDiamForProbe
|
||||||
|
If Not bOk Then EgtOutLog("WARNING: Saw diameter to big for probing")
|
||||||
|
Return bOk
|
||||||
End Function
|
End Function
|
||||||
|
|
||||||
Friend Function GetPrivateProfileMaterial(
|
Friend Function GetPrivateProfileMaterial(
|
||||||
|
|||||||
+1
-1
@@ -27,7 +27,7 @@
|
|||||||
</Grid.ColumnDefinitions>
|
</Grid.ColumnDefinitions>
|
||||||
|
|
||||||
<Border Name="LogoBrd" Background="Transparent">
|
<Border Name="LogoBrd" Background="Transparent">
|
||||||
<Image Source="{DynamicResource LogoOmagImg}" Stretch="Uniform" Margin="1"/>
|
<Image Source="../Resources/NewIcons/Logo-Egalware (2).png" Stretch="Uniform" Margin="1"/>
|
||||||
</Border>
|
</Border>
|
||||||
|
|
||||||
<!-- ** Definizione della Grid delle tab ** -->
|
<!-- ** Definizione della Grid delle tab ** -->
|
||||||
|
|||||||
+3
-2
@@ -343,8 +343,8 @@ Class MainWindow
|
|||||||
' Verifico abilitazione nesting automatico
|
' Verifico abilitazione nesting automatico
|
||||||
m_bAutoNest = Not String.IsNullOrWhiteSpace(sNestKey)
|
m_bAutoNest = Not String.IsNullOrWhiteSpace(sNestKey)
|
||||||
' Recupero opzioni della chiave
|
' Recupero opzioni della chiave
|
||||||
Dim bKey As Boolean = EgtGetKeyLevel(9423, 2607, 1, m_nKeyLevel) And
|
Dim bKey As Boolean = EgtGetKeyLevel(9423, 2610, 1, m_nKeyLevel) And
|
||||||
EgtGetKeyOptions(9423, 2607, 1, m_nKeyOptions)
|
EgtGetKeyOptions(9423, 2610, 1, m_nKeyOptions)
|
||||||
' Verifico abilitazione prodotto
|
' Verifico abilitazione prodotto
|
||||||
Dim bProd As Boolean = GetKeyOption(KEY_OPT.CUT_BASE)
|
Dim bProd As Boolean = GetKeyOption(KEY_OPT.CUT_BASE)
|
||||||
' Impostazione per programma OnlyFrame: solo se CUT_BASE non attivo
|
' Impostazione per programma OnlyFrame: solo se CUT_BASE non attivo
|
||||||
@@ -461,6 +461,7 @@ Class MainWindow
|
|||||||
If GetPrivateProfileInt(S_GENERAL, "Test", "0", m_sIniFile) = 0 OrElse
|
If GetPrivateProfileInt(S_GENERAL, "Test", "0", m_sIniFile) = 0 OrElse
|
||||||
Not File.Exists(m_CurrentMachine.sMachDir() & "\DirectCmd\TestWork.lua") Then
|
Not File.Exists(m_CurrentMachine.sMachDir() & "\DirectCmd\TestWork.lua") Then
|
||||||
m_CadCutPageUC.m_ProjectMgr.TestBtn.Visibility = Visibility.Collapsed
|
m_CadCutPageUC.m_ProjectMgr.TestBtn.Visibility = Visibility.Collapsed
|
||||||
|
EgtOutLog("Warning: Missing file 'TestWork.lua' in folder 'DirectCmd', buttun 'TEST' collapsed!")
|
||||||
Else
|
Else
|
||||||
m_CadCutPageUC.m_ProjectMgr.TestBtn.Visibility = Visibility.Visible
|
m_CadCutPageUC.m_ProjectMgr.TestBtn.Visibility = Visibility.Visible
|
||||||
End If
|
End If
|
||||||
|
|||||||
@@ -22,7 +22,7 @@ Imports System.Windows
|
|||||||
#End If
|
#End If
|
||||||
<Assembly: AssemblyCompany("Egalware s.r.l.")>
|
<Assembly: AssemblyCompany("Egalware s.r.l.")>
|
||||||
<Assembly: AssemblyProduct("OmagCUT")>
|
<Assembly: AssemblyProduct("OmagCUT")>
|
||||||
<Assembly: AssemblyCopyright("Copyright © 2015-2023 by Egalware s.r.l.")>
|
<Assembly: AssemblyCopyright("Copyright © 2015-2024 by Egalware s.r.l.")>
|
||||||
<Assembly: AssemblyTrademark("")>
|
<Assembly: AssemblyTrademark("")>
|
||||||
<Assembly: ComVisible(False)>
|
<Assembly: ComVisible(False)>
|
||||||
|
|
||||||
@@ -62,5 +62,5 @@ Imports System.Windows
|
|||||||
' by using the '*' as shown below:
|
' by using the '*' as shown below:
|
||||||
' <Assembly: AssemblyVersion("1.0.*")>
|
' <Assembly: AssemblyVersion("1.0.*")>
|
||||||
|
|
||||||
<Assembly: AssemblyVersion("2.6.7.6")>
|
<Assembly: AssemblyVersion("2.6.10.1")>
|
||||||
<Assembly: AssemblyFileVersion("2.6.7.6")>
|
<Assembly: AssemblyFileVersion("2.6.10.1")>
|
||||||
|
|||||||
+231
-73
@@ -4,6 +4,7 @@ Imports System.Collections.ObjectModel
|
|||||||
Imports EgtUILib
|
Imports EgtUILib
|
||||||
Imports System.IO
|
Imports System.IO
|
||||||
Imports System.Text
|
Imports System.Text
|
||||||
|
Imports EgtWPFLib.EgtMsgBox
|
||||||
Imports OmagCUT.CN_generico
|
Imports OmagCUT.CN_generico
|
||||||
|
|
||||||
Public Class CNCommunication
|
Public Class CNCommunication
|
||||||
@@ -240,6 +241,17 @@ Public Class CNCommunication
|
|||||||
m_bInInches = (GetPrivateProfileInt(S_AXES, K_ININCHES, 0, m_MainWindow.GetMachIniFile()) <> 0)
|
m_bInInches = (GetPrivateProfileInt(S_AXES, K_ININCHES, 0, m_MainWindow.GetMachIniFile()) <> 0)
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
|
Private Sub KillSimensCom(sProcessName As String)
|
||||||
|
Dim sAppName As String = Path.GetFileNameWithoutExtension(sProcessName)
|
||||||
|
Dim pList() As System.Diagnostics.Process = System.Diagnostics.Process.GetProcesses
|
||||||
|
For Each proc As System.Diagnostics.Process In pList
|
||||||
|
If proc.ProcessName.ToString = sAppName Then
|
||||||
|
proc.Kill()
|
||||||
|
EgtOutLog("ProcessKill : " & """" & sProcessName & """")
|
||||||
|
End If
|
||||||
|
Next
|
||||||
|
End Sub
|
||||||
|
|
||||||
Private Sub InitCn()
|
Private Sub InitCn()
|
||||||
|
|
||||||
m_MachineStatus.MachineStatusGrid.Background = Application.Current.FindResource("OmagCut_Yellow")
|
m_MachineStatus.MachineStatusGrid.Background = Application.Current.FindResource("OmagCut_Yellow")
|
||||||
@@ -377,6 +389,9 @@ Public Class CNCommunication
|
|||||||
m_CN.SetCnDataVar(CN_generico.CnData.VacuumOff, sVal)
|
m_CN.SetCnDataVar(CN_generico.CnData.VacuumOff, sVal)
|
||||||
GetPrivateProfileString(S_NCDATA, K_BYPASSTATE, "", sVal, m_MainWindow.GetMachIniFile())
|
GetPrivateProfileString(S_NCDATA, K_BYPASSTATE, "", sVal, m_MainWindow.GetMachIniFile())
|
||||||
m_CN.SetCnDataVar(CN_generico.CnData.BypassState, sVal)
|
m_CN.SetCnDataVar(CN_generico.CnData.BypassState, sVal)
|
||||||
|
' ver 2.6i1 : nuova gestione SiemensONE
|
||||||
|
GetPrivateProfileString(S_NCDATA, K_RESETSTATUS, "", sVal, m_MainWindow.GetMachIniFile())
|
||||||
|
m_CN.SetCnDataVar(CN_generico.CnData.ResetStatus, sVal)
|
||||||
|
|
||||||
' nuove variabili: stato dei nuovi pulsanti
|
' nuove variabili: stato dei nuovi pulsanti
|
||||||
nVal = GetPrivateProfileInt(S_NCDATA, K_NEWCONSOLE, 0, m_MainWindow.GetMachIniFile())
|
nVal = GetPrivateProfileInt(S_NCDATA, K_NEWCONSOLE, 0, m_MainWindow.GetMachIniFile())
|
||||||
@@ -407,8 +422,9 @@ Public Class CNCommunication
|
|||||||
EgtOutLog("Error starting NC communication : " & ex.Message)
|
EgtOutLog("Error starting NC communication : " & ex.Message)
|
||||||
End Try
|
End Try
|
||||||
|
|
||||||
'' Per forzare la lettura delle variabili siemens di configurazione
|
'' !!!!!!!!!!!!! Per forzare la lettura delle variabili siemens di configurazione !!!!!!!!!!!!!
|
||||||
'm_nNCType = 3
|
' m_nNCType = 3
|
||||||
|
'' !!!!!!!!!!!!! Per forzare la lettura delle variabili siemens di configurazione !!!!!!!!!!!!!
|
||||||
|
|
||||||
Select Case m_nNCType
|
Select Case m_nNCType
|
||||||
Case 0 'Debug
|
Case 0 'Debug
|
||||||
@@ -434,33 +450,27 @@ Public Class CNCommunication
|
|||||||
Try
|
Try
|
||||||
m_MachineStatus.MachineStatusGrid.Background = Application.Current.FindResource("OmagCut_DarkGray")
|
m_MachineStatus.MachineStatusGrid.Background = Application.Current.FindResource("OmagCut_DarkGray")
|
||||||
Dim sArg As String = "-start """ & m_sCNSiemensPath & """"
|
Dim sArg As String = "-start """ & m_sCNSiemensPath & """"
|
||||||
|
|
||||||
|
' !!!!!!!!!!!!!! FORZO LA SIMULAZIONE DELLA LETTURA DELLE VARIBILI E SIEMENS !!!!!!!!!!!!!!
|
||||||
|
EgtOutLog("ProcessStart : " & """" & m_sCNSiemensHMIPath & """" & " " & sArg)
|
||||||
|
KillSimensCom(m_sCNSiemensHMIPath)
|
||||||
Process.Start(m_sCNSiemensHMIPath, sArg)
|
Process.Start(m_sCNSiemensHMIPath, sArg)
|
||||||
|
' !!!!!!!!!!!!!! FORZO LA SIMULAZIONE DELLA LETTURA DELLE VARIBILI E SIEMENS !!!!!!!!!!!!!!
|
||||||
|
|
||||||
EgtOutLog("ProcessStart : " & """" & m_sCNSiemensHMIPath & """" & " " & sArg)
|
EgtOutLog("ProcessStart : " & """" & m_sCNSiemensHMIPath & """" & " " & sArg)
|
||||||
m_CN.m_IsSiemensOne = GetPrivateProfileInt(S_NCSIEMENS, K_ISSIEMENSONE, 0, m_MainWindow.GetMachIniFile()) > 0
|
m_CN.m_IsSiemensOne = GetPrivateProfileInt(S_NCSIEMENS, K_ISSIEMENSONE, 0, m_MainWindow.GetMachIniFile()) > 0
|
||||||
m_CN.m_IsActiveModeSubscription = GetPrivateProfileInt(S_NCSIEMENS, K_ISACTIVEMODESUBSCR, 0, m_MainWindow.GetMachIniFile()) > 0
|
m_CN.m_IsActiveModeSubscription = GetPrivateProfileInt(S_NCSIEMENS, K_ISACTIVEMODESUBSCR, 0, m_MainWindow.GetMachIniFile()) > 0
|
||||||
If m_CN.m_IsSiemensOne Then
|
If m_CN.m_IsSiemensOne Then
|
||||||
|
|
||||||
' ' Creo l'abbonamento delle seguenti varibili che saranno sempre lette in ciclo dal Siemenscomm
|
|
||||||
' m_CN.DVariables_Read_Subscription(m_CN.m_szCnDataVar(CN_generico.CnData.Laser), VarType.TInteger, 0)
|
|
||||||
' ' stati bottoni ventose
|
|
||||||
' m_CN.DVariables_Read_Subscription(m_CN.m_szCnDataVar(CN_generico.CnData.LaserTrac), VarType.TInteger, 1)
|
|
||||||
' ' stati porte
|
|
||||||
' m_CN.DVariables_Read_Subscription(m_CN.m_szCnDataVar(CN_generico.CnData.DoorClosed), VarType.TInteger, 2)
|
|
||||||
' ' ventose
|
|
||||||
' m_CN.DVariables_Read_Subscription(m_CN.m_szCnDataVar(CN_generico.CnData.BlowState), VarType.TInteger, 3)
|
|
||||||
' ' stati bottoni parte 2
|
|
||||||
' m_CN.DVariables_Read_Subscription(m_CN.m_szCnDataVar(CN_generico.CnData.CBAxes), VarType.TInteger, 4)
|
|
||||||
' ' ampere e ampere override
|
|
||||||
' m_CN.DVariables_Read_Subscription(m_CN.m_szCnDataVar(CN_generico.CnData.Spindle), VarType.TDouble, 0)
|
|
||||||
' m_CN.DVariables_Read_Subscription(m_CN.m_szCnDataVar(CN_generico.CnData.SpeedOvr), VarType.TDouble, 1)
|
|
||||||
|
|
||||||
' Leggo tutte le varaibili che sono state caricate nel percorso [NcData] del file *.ini
|
' Leggo tutte le varaibili che sono state caricate nel percorso [NcData] del file *.ini
|
||||||
Dim nIndexArrayBool As Integer = 0
|
Dim nIndexArrayBool As Integer = 0
|
||||||
Dim nIndexArrayInt As Integer = 0
|
Dim nIndexArrayInt As Integer = 0
|
||||||
Dim nIndexArrayLong As Integer = 0
|
Dim nIndexArrayLong As Integer = 0
|
||||||
Dim nIndexArrayDoub As Integer = 0
|
Dim nIndexArrayDoub As Integer = 0
|
||||||
Dim nIndexArrayStr As Integer = 0
|
Dim nIndexArrayStr As Integer = 0
|
||||||
' Creo un vettore che mi permetta di risalire a cose contiene ogni vettore FLAG (di tipo Enum)
|
' lista che associa Indice del vettore al nome (per associazioni Bit a Bit)
|
||||||
|
Dim ListIndexToVar As New List(Of IndexArrayToBit)
|
||||||
|
' Creo un vettore che mi permetta di risalire a cosa contiene ogni vettore FLAG (di tipo Enum)
|
||||||
For ItemIndex As Integer = 0 To m_CN.m_szCnDataVar.Count - 1
|
For ItemIndex As Integer = 0 To m_CN.m_szCnDataVar.Count - 1
|
||||||
' escludo i Flag 'Comm' e 'Refresh'
|
' escludo i Flag 'Comm' e 'Refresh'
|
||||||
If ItemIndex = CnData.Comm Or ItemIndex = CnData.Refresh Then
|
If ItemIndex = CnData.Comm Or ItemIndex = CnData.Refresh Then
|
||||||
@@ -478,7 +488,12 @@ Public Class CNCommunication
|
|||||||
End If
|
End If
|
||||||
nVarType = VarType.TBoolean
|
nVarType = VarType.TBoolean
|
||||||
m_CN.DVariables_Read_Subscription(sItem(1), nVarType, nIndexArrayBool)
|
m_CN.DVariables_Read_Subscription(sItem(1), nVarType, nIndexArrayBool)
|
||||||
ListReferenceIndex.Add(New RefereceFlagSimens(nIndexArrayBool, ItemIndex, nVarType))
|
Dim NewRefFlafSiemens As RefereceFlagSimens = New RefereceFlagSimens(nIndexArrayBool, ItemIndex, nVarType)
|
||||||
|
If sItem.Count = 3 Then
|
||||||
|
' forzo la lettura della variabile di default (ignoro lo stato letto da CN)
|
||||||
|
NewRefFlafSiemens.DefaultValue = sItem(2)
|
||||||
|
End If
|
||||||
|
ListReferenceIndex.Add(NewRefFlafSiemens)
|
||||||
nIndexArrayBool += 1
|
nIndexArrayBool += 1
|
||||||
Case 1
|
Case 1
|
||||||
If nIndexArrayInt > 14 Then
|
If nIndexArrayInt > 14 Then
|
||||||
@@ -512,6 +527,40 @@ Public Class CNCommunication
|
|||||||
m_CN.DVariables_Read_Subscription(sItem(1), nVarType, nIndexArrayStr)
|
m_CN.DVariables_Read_Subscription(sItem(1), nVarType, nIndexArrayStr)
|
||||||
ListReferenceIndex.Add(New RefereceFlagSimens(nIndexArrayStr, ItemIndex, nVarType))
|
ListReferenceIndex.Add(New RefereceFlagSimens(nIndexArrayStr, ItemIndex, nVarType))
|
||||||
nIndexArrayStr += 1
|
nIndexArrayStr += 1
|
||||||
|
Case 5
|
||||||
|
If nIndexArrayInt > 14 Then
|
||||||
|
Continue For
|
||||||
|
End If
|
||||||
|
' verifico se devo riempire un vettore con bit
|
||||||
|
Dim sSubItem As String() = sItem(1).Split("."c)
|
||||||
|
' //My. name. Is Bond._James Bond!
|
||||||
|
Dim sVarName = String.Join(".", sSubItem.Take(sSubItem.Length - 1)) ' //My. name. Is Bond
|
||||||
|
Dim sIndexBit = sSubItem.Last() ' //_James Bond!
|
||||||
|
If sSubItem.Count > 1 And IsNumeric(sIndexBit) Then
|
||||||
|
Dim bFound As Boolean = False
|
||||||
|
Dim nIndexArrayInt_1 As Integer = nIndexArrayInt
|
||||||
|
For Each VarSiemens As IndexArrayToBit In ListIndexToVar
|
||||||
|
If VarSiemens.sNameVar.Trim = sVarName.Trim Then
|
||||||
|
nIndexArrayInt_1 = VarSiemens.nIndex
|
||||||
|
bFound = True
|
||||||
|
Exit For
|
||||||
|
End If
|
||||||
|
Next
|
||||||
|
nVarType = VarType.TInteger
|
||||||
|
m_CN.DVariables_Read_Subscription(sVarName, nVarType, nIndexArrayInt_1)
|
||||||
|
Dim NewRefFlafSiemens As RefereceFlagSimens = New RefereceFlagSimens(nIndexArrayInt_1, ItemIndex, nVarType, sIndexBit)
|
||||||
|
If sItem.Count = 3 Then
|
||||||
|
' forzo la lettura della variabile di default (ignoro lo stato letto da CN)
|
||||||
|
NewRefFlafSiemens.DefaultValue = sItem(2)
|
||||||
|
End If
|
||||||
|
ListReferenceIndex.Add(NewRefFlafSiemens)
|
||||||
|
If Not bFound Then
|
||||||
|
nIndexArrayInt += 1
|
||||||
|
ListIndexToVar.Add(New IndexArrayToBit(nIndexArrayInt_1, sVarName.Trim))
|
||||||
|
End If
|
||||||
|
Else
|
||||||
|
EgtOutLog(" ATTENZIONE: in [NcData] '" & m_CN.m_szCnDataVar(ItemIndex) & "' non è inidicato il bit associato")
|
||||||
|
End If
|
||||||
Case Else
|
Case Else
|
||||||
If nIndexArrayInt > 14 Then
|
If nIndexArrayInt > 14 Then
|
||||||
Continue For
|
Continue For
|
||||||
@@ -522,6 +571,8 @@ Public Class CNCommunication
|
|||||||
nIndexArrayInt += 1
|
nIndexArrayInt += 1
|
||||||
End Select
|
End Select
|
||||||
End If
|
End If
|
||||||
|
Else
|
||||||
|
EgtOutLog(" ATTENZIONE: in [NcData] '" & m_CN.m_szCnDataVar(ItemIndex) & "' non è indicato il tipo (0→Bool,1→Int,2→Long,3→Double,4→String,5→Bit)")
|
||||||
End If
|
End If
|
||||||
End If
|
End If
|
||||||
Next
|
Next
|
||||||
@@ -529,6 +580,7 @@ Public Class CNCommunication
|
|||||||
|
|
||||||
' Recupero il perocorso delle variabili PLC
|
' Recupero il perocorso delle variabili PLC
|
||||||
GetPrivateProfileString(S_NCSIEMENS, K_DBVARPATH, "", m_CN.m_DbVarPath, m_MainWindow.GetMachIniFile)
|
GetPrivateProfileString(S_NCSIEMENS, K_DBVARPATH, "", m_CN.m_DbVarPath, m_MainWindow.GetMachIniFile)
|
||||||
|
|
||||||
ElseIf m_CN.m_IsActiveModeSubscription Then
|
ElseIf m_CN.m_IsActiveModeSubscription Then
|
||||||
m_CN.DVariables_Read_Subscription(m_CN.m_szCnDataVar(CN_generico.CnData.BlowState), VarType.TInteger, 3)
|
m_CN.DVariables_Read_Subscription(m_CN.m_szCnDataVar(CN_generico.CnData.BlowState), VarType.TInteger, 3)
|
||||||
End If
|
End If
|
||||||
@@ -1056,6 +1108,68 @@ Public Class CNCommunication
|
|||||||
'Laser = 16384
|
'Laser = 16384
|
||||||
End Enum
|
End Enum
|
||||||
|
|
||||||
|
#Region "MASCHERA per conttrollo Bit a Bit"
|
||||||
|
<Flags()>
|
||||||
|
Public Enum Mask As Integer
|
||||||
|
bit_Err = -1
|
||||||
|
bit_0 = &H1 ' 1
|
||||||
|
bit_1 = &H2 ' 2
|
||||||
|
bit_2 = &H4 ' 4
|
||||||
|
bit_3 = &H8 ' 8
|
||||||
|
bit_4 = &H10 ' 16
|
||||||
|
bit_5 = &H20 ' 32
|
||||||
|
bit_6 = &H40 ' 64
|
||||||
|
bit_7 = &H80 ' 128
|
||||||
|
bit_8 = &H100 ' 256
|
||||||
|
bit_9 = &H200 ' 512
|
||||||
|
bit_10 = &H400 ' 1024
|
||||||
|
bit_11 = &H800 ' 2048
|
||||||
|
bit_12 = &H1000 ' 4096
|
||||||
|
bit_13 = &H2000 ' 8192
|
||||||
|
bit_14 = &H4000 ' 16384
|
||||||
|
bit_15 = &H8000 ' 32768
|
||||||
|
End Enum
|
||||||
|
|
||||||
|
Public Function GetMaskByBit(IndexBit As Integer) As Mask
|
||||||
|
Dim Bit_ As Mask = Mask.bit_Err
|
||||||
|
Select Case IndexBit
|
||||||
|
Case 0
|
||||||
|
Bit_ = Mask.bit_0
|
||||||
|
Case 1
|
||||||
|
Bit_ = Mask.bit_1
|
||||||
|
Case 2
|
||||||
|
Bit_ = Mask.bit_2
|
||||||
|
Case 3
|
||||||
|
Bit_ = Mask.bit_3
|
||||||
|
Case 4
|
||||||
|
Bit_ = Mask.bit_4
|
||||||
|
Case 5
|
||||||
|
Bit_ = Mask.bit_5
|
||||||
|
Case 6
|
||||||
|
Bit_ = Mask.bit_6
|
||||||
|
Case 7
|
||||||
|
Bit_ = Mask.bit_7
|
||||||
|
Case 8
|
||||||
|
Bit_ = Mask.bit_8
|
||||||
|
Case 9
|
||||||
|
Bit_ = Mask.bit_9
|
||||||
|
Case 10
|
||||||
|
Bit_ = Mask.bit_10
|
||||||
|
Case 11
|
||||||
|
Bit_ = Mask.bit_11
|
||||||
|
Case 12
|
||||||
|
Bit_ = Mask.bit_12
|
||||||
|
Case 13
|
||||||
|
Bit_ = Mask.bit_13
|
||||||
|
Case 14
|
||||||
|
Bit_ = Mask.bit_14
|
||||||
|
Case 15
|
||||||
|
Bit_ = Mask.bit_15
|
||||||
|
End Select
|
||||||
|
Return Bit_
|
||||||
|
End Function
|
||||||
|
#End Region ' Maschera per controllo Bit a Bit
|
||||||
|
|
||||||
Public Function IsSetAll(value As Integer, flag As Integer) As Boolean
|
Public Function IsSetAll(value As Integer, flag As Integer) As Boolean
|
||||||
' somma Bit a Bit
|
' somma Bit a Bit
|
||||||
Return ((value And flag) = flag)
|
Return ((value And flag) = flag)
|
||||||
@@ -1071,7 +1185,7 @@ Public Class CNCommunication
|
|||||||
|
|
||||||
m_MachineStatus.DisplaySpeed()
|
m_MachineStatus.DisplaySpeed()
|
||||||
|
|
||||||
m_MachineStatus.DisplayPower()
|
'm_MachineStatus.DisplayPower()
|
||||||
|
|
||||||
m_MachineStatus.DisplayVar()
|
m_MachineStatus.DisplayVar()
|
||||||
'EgtOutLog("Modo attivato: " & m_CN.read_active_mode & " modo attivo: " & m_nCurrMode)
|
'EgtOutLog("Modo attivato: " & m_CN.read_active_mode & " modo attivo: " & m_nCurrMode)
|
||||||
@@ -1104,74 +1218,48 @@ Public Class CNCommunication
|
|||||||
End If
|
End If
|
||||||
End If
|
End If
|
||||||
|
|
||||||
|
' lettura delle variabili abbonate
|
||||||
If m_MainWindow.m_DirectCutPageUC.m_NewMachineButtonsType Then
|
If m_MainWindow.m_DirectCutPageUC.m_NewMachineButtonsType Then
|
||||||
|
|
||||||
' ' lettura variabili stati mancanti su Siemens
|
|
||||||
' Dim nVarValue As Integer = m_CN.n_data(0)
|
|
||||||
' EgtOutLog("Variabile PLC control addr: " & 1 & " value: " & nVarValue)
|
|
||||||
' m_CN.bSpindleState = IsSetAll(nVarValue, ControlStates.Spindle)
|
|
||||||
' m_CN.bLaserTracState = IsSetAll(nVarValue, ControlStates.LaserTrac)
|
|
||||||
' m_CN.bCoolantState = IsSetAll(nVarValue, ControlStates.Coolant)
|
|
||||||
' m_CN.bInternalCoolantState = IsSetAll(nVarValue, ControlStates.InternalCoolant)
|
|
||||||
' m_CN.bExternCoolantState = IsSetAll(nVarValue, ControlStates.ExternCoolant)
|
|
||||||
' m_CN.bCBAxesState = IsSetAll(nVarValue, ControlStates.CAxis)
|
|
||||||
' m_CN.bAirBlowState = IsSetAll(nVarValue, ControlStates.AirBlow)
|
|
||||||
' m_CN.bHomeState = IsSetAll(nVarValue, ControlStates.Home)
|
|
||||||
' m_CN.bTableUpState = IsSetAll(nVarValue, ControlStates.TableUp)
|
|
||||||
' m_CN.bTableDownState = IsSetAll(nVarValue, ControlStates.TableDown)
|
|
||||||
' m_CN.bLimitZState = IsSetAll(nVarValue, ControlStates.LimitZ)
|
|
||||||
' m_CN.b5AxesState = IsSetAll(nVarValue, ControlStates.Axis5)
|
|
||||||
|
|
||||||
'nVarValue = m_CN.n_data(1)
|
|
||||||
''EgtOutLog("Variabile PLC vacuum addr: " & m_CN.m_szCnDataVar(CN_generico.CnData.LaserTrac) & " value: " & nVarValue)
|
|
||||||
'm_CN.bVacuumUp = IsSetAll(nVarValue, VacuumStates.VacuumUp)
|
|
||||||
'm_CN.bVacuumDown = IsSetAll(nVarValue, VacuumStates.VacuumDown)
|
|
||||||
'm_CN.bVacuum2Up = IsSetAll(nVarValue, VacuumStates.Vacuum2Up)
|
|
||||||
'm_CN.bVacuum2Down = IsSetAll(nVarValue, VacuumStates.Vacuum2Down)
|
|
||||||
'm_CN.bVacuum1State = IsSetAll(nVarValue, VacuumStates.Vacuum1State)
|
|
||||||
'm_CN.bVacuum2State = IsSetAll(nVarValue, VacuumStates.Vacuum2State)
|
|
||||||
'm_CN.bVacuum3State = IsSetAll(nVarValue, VacuumStates.Vacuum3State)
|
|
||||||
'm_CN.bVacuum4State = IsSetAll(nVarValue, VacuumStates.Vacuum4State)
|
|
||||||
'm_CN.bVacuum5State = IsSetAll(nVarValue, VacuumStates.Vacuum5State)
|
|
||||||
'm_CN.bVacuum6State = IsSetAll(nVarValue, VacuumStates.Vacuum6State)
|
|
||||||
'm_CN.bOpenAllState = (m_CN.bVacuum1State And m_CN.bVacuum2State And m_CN.bVacuum3State And m_CN.bVacuum4State And m_CN.bVacuum5State And m_CN.bVacuum6State)
|
|
||||||
'm_CN.bCloseAllState = (Not m_CN.bVacuum1State And Not m_CN.bVacuum2State And Not m_CN.bVacuum3State And Not m_CN.bVacuum4State And Not m_CN.bVacuum5State And Not m_CN.bVacuum6State)
|
|
||||||
'm_CN.bOpen123State = (m_CN.bVacuum1State And m_CN.bVacuum2State And m_CN.bVacuum3State)
|
|
||||||
'm_CN.bOpen456State = (m_CN.bVacuum4State And m_CN.bVacuum5State And m_CN.bVacuum6State)
|
|
||||||
'm_CN.bClose123State = (Not m_CN.bVacuum1State And Not m_CN.bVacuum2State And Not m_CN.bVacuum3State)
|
|
||||||
'm_CN.bClose456State = (Not m_CN.bVacuum4State And Not m_CN.bVacuum5State And Not m_CN.bVacuum6State)
|
|
||||||
'm_CN.bBlowState = IsSetAll(nVarValue, VacuumStates.AirBlow)
|
|
||||||
'm_CN.bVacuumOn = IsSetAll(nVarValue, VacuumStates.VacuumOn)
|
|
||||||
'm_CN.bVacuumOff = IsSetAll(nVarValue, VacuumStates.VacuumOff)
|
|
||||||
'm_CN.bBypassState = IsSetAll(nVarValue, VacuumStates.BypassState)
|
|
||||||
'
|
|
||||||
'nVarValue = m_CN.n_data(2)
|
|
||||||
''EgtOutLog("Variabile PLC door addr: " & m_CN.m_szCnDataVar(CN_generico.CnData.DoorClosed) & " value: " & nVarValue)
|
|
||||||
'm_CN.nDoorClosedState = nVarValue
|
|
||||||
'
|
|
||||||
'nVarValue = m_CN.n_data(4)
|
|
||||||
''EgtOutLog("Variabile PLC control 2 addr: " & 3 & " value: " & nVarValue)
|
|
||||||
'm_CN.bLaserState = IsSetAll(nVarValue, ControlStates2.Laser)
|
|
||||||
'm_CN.bHsm = IsSetAll(nVarValue, ControlStates2.Hsm)
|
|
||||||
'm_CN.bResetState = IsSetAll(nVarValue, ControlStates2.ResetState)
|
|
||||||
'm_CN.bFeedHold = IsSetAll(nVarValue, ControlStates2.FeedHold)
|
|
||||||
'm_CN.bSpeedHold = IsSetAll(nVarValue, ControlStates2.SpindleHold)
|
|
||||||
|
|
||||||
'------------ SINUMERIK ONE ----------------------------------------------
|
'------------ SINUMERIK ONE ----------------------------------------------
|
||||||
For IndxLst As Integer = 0 To ListReferenceIndex.Count - 1
|
For IndxLst As Integer = 0 To ListReferenceIndex.Count - 1
|
||||||
Dim nType As Integer = ListReferenceIndex(IndxLst).TypeArray
|
Dim nType As Integer = ListReferenceIndex(IndxLst).TypeArray
|
||||||
Dim nFlag As Integer = ListReferenceIndex(IndxLst).FlagIndex
|
Dim nFlag As Integer = ListReferenceIndex(IndxLst).FlagIndex
|
||||||
Dim nIndex As Integer = ListReferenceIndex(IndxLst).SiemnesArrayIndex
|
Dim nIndex As Integer = ListReferenceIndex(IndxLst).SiemnesArrayIndex
|
||||||
|
Dim nIndexBit As Integer = ListReferenceIndex(IndxLst).IndexBit
|
||||||
|
Dim sDefaultValue As String = ListReferenceIndex(IndxLst).DefaultValue
|
||||||
Dim b_temp As Boolean = False
|
Dim b_temp As Boolean = False
|
||||||
Dim n_temp As Boolean = 0
|
Dim n_temp As Integer = 0
|
||||||
Dim l_temp As Long = 0.0
|
Dim l_temp As Long = 0.0
|
||||||
Dim d_temp As Double = 0.0
|
Dim d_temp As Double = 0.0
|
||||||
' leggo il valore caricato
|
' leggo il valore caricato
|
||||||
Select Case nType
|
Select Case nType
|
||||||
Case VarType.TBoolean
|
Case VarType.TBoolean
|
||||||
b_temp = m_CN.b_data(nIndex)
|
If Not String.IsNullOrEmpty(sDefaultValue) Then
|
||||||
|
' ver 2.6i1
|
||||||
|
Try
|
||||||
|
b_temp = CBool(sDefaultValue)
|
||||||
|
Catch ex As Exception
|
||||||
|
EgtOutLog("Default boolean value of flag " & nFlag.ToString & " is not Boolean, verify the form: True or true or 1, False or false or 0")
|
||||||
|
b_temp = m_CN.b_data(nIndex)
|
||||||
|
End Try
|
||||||
|
Else
|
||||||
|
b_temp = m_CN.b_data(nIndex)
|
||||||
|
End If
|
||||||
Case VarType.TInteger
|
Case VarType.TInteger
|
||||||
n_temp = m_CN.n_data(nIndex)
|
n_temp = m_CN.n_data(nIndex)
|
||||||
|
' VENTOSE: lettura dato da intero Bit a Bit (ver_2.6h1), ritorno un Boolean
|
||||||
|
If Not String.IsNullOrEmpty(sDefaultValue) Then
|
||||||
|
' ver 2.6i1
|
||||||
|
Try
|
||||||
|
b_temp = CBool(sDefaultValue)
|
||||||
|
Catch ex As Exception
|
||||||
|
EgtOutLog("Default bit value of flag " & nFlag.ToString & " is not Boolean, verify the form: True or true or 1, False or false or 0")
|
||||||
|
b_temp = ReadBit(nIndexBit, n_temp)
|
||||||
|
End Try
|
||||||
|
Else
|
||||||
|
b_temp = ReadBit(nIndexBit, n_temp)
|
||||||
|
End If
|
||||||
Case VarType.TLong
|
Case VarType.TLong
|
||||||
l_temp = m_CN.l_data(nIndex)
|
l_temp = m_CN.l_data(nIndex)
|
||||||
Case VarType.TDouble
|
Case VarType.TDouble
|
||||||
@@ -1196,6 +1284,8 @@ Public Class CNCommunication
|
|||||||
Else
|
Else
|
||||||
m_nCountRefresh = m_nCountRefresh + 1
|
m_nCountRefresh = m_nCountRefresh + 1
|
||||||
End If
|
End If
|
||||||
|
Case CN_generico.CnData.Power
|
||||||
|
m_CN.d_spindle_power = d_temp
|
||||||
Case CN_generico.CnData.Spindle ' (7) Stato rotazione mandrino
|
Case CN_generico.CnData.Spindle ' (7) Stato rotazione mandrino
|
||||||
m_CN.bSpindleState = b_temp
|
m_CN.bSpindleState = b_temp
|
||||||
Case CN_generico.CnData.Coolant ' (8) Stato acqua
|
Case CN_generico.CnData.Coolant ' (8) Stato acqua
|
||||||
@@ -1287,6 +1377,8 @@ Public Class CNCommunication
|
|||||||
Case CN_generico.CnData.nAxes ' (55)
|
Case CN_generico.CnData.nAxes ' (55)
|
||||||
m_CN.n_index_is_G24_active = nIndex
|
m_CN.n_index_is_G24_active = nIndex
|
||||||
m_CN.b5AxesState = b_temp
|
m_CN.b5AxesState = b_temp
|
||||||
|
Case CN_generico.CnData.ResetStatus ' (56)
|
||||||
|
m_CN.bResetState = b_temp
|
||||||
|
|
||||||
End Select
|
End Select
|
||||||
Next
|
Next
|
||||||
@@ -1294,6 +1386,8 @@ Public Class CNCommunication
|
|||||||
|
|
||||||
End If
|
End If
|
||||||
|
|
||||||
|
m_MachineStatus.DisplayPower()
|
||||||
|
|
||||||
' Flag e variabili per bottoni macchina, che verifico solo nelle pagine in cui ci sono
|
' 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_ActivePage = MainWindow.Pages.DirectCut Then
|
||||||
If m_MainWindow.m_DirectCutPageUC.m_NewMachineButtonsType Then
|
If m_MainWindow.m_DirectCutPageUC.m_NewMachineButtonsType Then
|
||||||
@@ -1383,6 +1477,14 @@ Public Class CNCommunication
|
|||||||
|
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
|
Private Function ReadBit(IndexBit As Integer, Val As Integer) As Boolean
|
||||||
|
If IndexBit < 0 Then Return False
|
||||||
|
Dim _mask = GetMaskByBit(IndexBit)
|
||||||
|
If _mask = Mask.bit_Err Then Return False
|
||||||
|
If (Val And _mask) = 0 Then Return False
|
||||||
|
Return True
|
||||||
|
End Function
|
||||||
|
|
||||||
Friend Function SetProgramMainOrSub(bMain As Boolean) As Boolean
|
Friend Function SetProgramMainOrSub(bMain As Boolean) As Boolean
|
||||||
Return m_CN.SetProgramMainOrSub(bMain)
|
Return m_CN.SetProgramMainOrSub(bMain)
|
||||||
End Function
|
End Function
|
||||||
@@ -1390,6 +1492,11 @@ Public Class CNCommunication
|
|||||||
Friend Function SendProgram(ByVal sCncPath As String, ByVal nNumProg As Integer,
|
Friend Function SendProgram(ByVal sCncPath As String, ByVal nNumProg As Integer,
|
||||||
Optional bActivate As Boolean = True) As Boolean
|
Optional bActivate As Boolean = True) As Boolean
|
||||||
Dim bOk As Boolean = True
|
Dim bOk As Boolean = True
|
||||||
|
|
||||||
|
' !!!!!!!!!!!!!!!!!! FORZO IL PROGRAMMA !!!!!!!!!!!!!!!!!!
|
||||||
|
' m_nNCType = 2
|
||||||
|
' !!!!!!!!!!!!!!!!!! FORZO IL PROGRAMMA !!!!!!!!!!!!!!!!!!
|
||||||
|
|
||||||
' Download programma
|
' Download programma
|
||||||
If m_MainWindow.m_bNCLink Then
|
If m_MainWindow.m_bNCLink Then
|
||||||
bOk = (m_nNCType > 0)
|
bOk = (m_nNCType > 0)
|
||||||
@@ -1423,7 +1530,7 @@ Public Class CNCommunication
|
|||||||
' Attesa opportuna
|
' Attesa opportuna
|
||||||
System.Threading.Thread.Sleep(m_MainWindow.m_CurrentMachine.nThreadSleep)
|
System.Threading.Thread.Sleep(m_MainWindow.m_CurrentMachine.nThreadSleep)
|
||||||
End If
|
End If
|
||||||
EgtOutLog("Download_NC_prog(sCncPath, sNumProg)")
|
EgtOutLog("Download_NC_prog(" & sCncPath & ", " & sNumProg.ToString & ")")
|
||||||
' -------------- START DOWNLOAD --------------
|
' -------------- START DOWNLOAD --------------
|
||||||
TimeSpanInit()
|
TimeSpanInit()
|
||||||
bOk = bOk AndAlso (m_CN.Download_NC_prog(sCncPath, sNumProg) = 0)
|
bOk = bOk AndAlso (m_CN.Download_NC_prog(sCncPath, sNumProg) = 0)
|
||||||
@@ -1600,6 +1707,9 @@ Public Class RefereceFlagSimens
|
|||||||
Private m_SiemnesArrayIndex As Integer
|
Private m_SiemnesArrayIndex As Integer
|
||||||
Private m_FlagIndex As Integer
|
Private m_FlagIndex As Integer
|
||||||
Private m_TypeArray As Integer
|
Private m_TypeArray As Integer
|
||||||
|
' Opzionale
|
||||||
|
Private m_IndexBit As Integer = -1
|
||||||
|
Private m_DefaultValue As String = ""
|
||||||
|
|
||||||
Public Property SiemnesArrayIndex As Integer
|
Public Property SiemnesArrayIndex As Integer
|
||||||
Get
|
Get
|
||||||
@@ -1628,10 +1738,58 @@ Public Class RefereceFlagSimens
|
|||||||
End Set
|
End Set
|
||||||
End Property
|
End Property
|
||||||
|
|
||||||
|
Public Property IndexBit As String
|
||||||
|
Get
|
||||||
|
Return m_IndexBit
|
||||||
|
End Get
|
||||||
|
Set(value As String)
|
||||||
|
m_IndexBit = value
|
||||||
|
End Set
|
||||||
|
End Property
|
||||||
|
|
||||||
|
Public Property DefaultValue As String
|
||||||
|
Get
|
||||||
|
Return m_DefaultValue
|
||||||
|
End Get
|
||||||
|
Set(value As String)
|
||||||
|
m_DefaultValue = value
|
||||||
|
End Set
|
||||||
|
End Property
|
||||||
|
|
||||||
Sub New(IndArray As Integer, Flag As Integer, nType As Integer)
|
Sub New(IndArray As Integer, Flag As Integer, nType As Integer)
|
||||||
m_SiemnesArrayIndex = IndArray
|
m_SiemnesArrayIndex = IndArray
|
||||||
m_FlagIndex = Flag
|
m_FlagIndex = Flag
|
||||||
m_TypeArray = nType
|
m_TypeArray = nType
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
|
Sub New(IndArray As Integer, Flag As Integer, nType As Integer, nIndBit As Integer)
|
||||||
|
m_SiemnesArrayIndex = IndArray
|
||||||
|
m_FlagIndex = Flag
|
||||||
|
m_TypeArray = nType
|
||||||
|
m_IndexBit = nIndBit
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
End Class
|
||||||
|
|
||||||
|
Public Class IndexArrayToBit
|
||||||
|
|
||||||
|
Private m_nIndex As Integer = 0
|
||||||
|
Public ReadOnly Property nIndex As Integer
|
||||||
|
Get
|
||||||
|
Return m_nIndex
|
||||||
|
End Get
|
||||||
|
End Property
|
||||||
|
|
||||||
|
Private m_sNameVar As String = ""
|
||||||
|
Public ReadOnly Property sNameVar As String
|
||||||
|
Get
|
||||||
|
Return m_sNameVar
|
||||||
|
End Get
|
||||||
|
End Property
|
||||||
|
|
||||||
|
Sub New(Index As Integer, NameVar As String)
|
||||||
|
m_nIndex = Index
|
||||||
|
m_sNameVar = NameVar
|
||||||
|
End Sub
|
||||||
|
|
||||||
End Class
|
End Class
|
||||||
@@ -228,7 +228,7 @@ Public Class CN_Siemens
|
|||||||
Public Overrides Sub DVariables_Read_Subscription(VarAddr As String, ParType As Short, Index As Integer)
|
Public Overrides Sub DVariables_Read_Subscription(VarAddr As String, ParType As Short, Index As Integer)
|
||||||
' Ricevo il percorso della varibile, il tipo
|
' Ricevo il percorso della varibile, il tipo
|
||||||
Dim n_ret As Short = Read_subscription(VarAddr, ParType, Index)
|
Dim n_ret As Short = Read_subscription(VarAddr, ParType, Index)
|
||||||
'EgtOutLog("CN SIEMENS Dopo lettura abbonamento")
|
EgtOutLog(" ABBONAMENTO (Esito: " & n_ret.ToString & ") -> Address: " & VarAddr & ", Type: " & ParType.ToString & ", Index: " & Index.ToString)
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
'
|
'
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ Public MustInherit Class CN_generico
|
|||||||
Public Const MAX_VAR As Short = 100
|
Public Const MAX_VAR As Short = 100
|
||||||
Public Const MAX_VALUES As Short = 9 ' Max. index to read the data from the FXServer array
|
Public Const MAX_VALUES As Short = 9 ' Max. index to read the data from the FXServer array
|
||||||
Public Const MAX_TOOLS As Short = 100
|
Public Const MAX_TOOLS As Short = 100
|
||||||
Public Const NUM_DATA = 56 ' Numero di dati del CN (Speed,Feed,...)
|
Public Const NUM_DATA = 57 ' Numero di dati del CN (Speed,Feed,...)
|
||||||
|
|
||||||
Public m_NewVariable As Boolean = False ' per scrittura delle vairbaili Apllication del PLC
|
Public m_NewVariable As Boolean = False ' per scrittura delle vairbaili Apllication del PLC
|
||||||
|
|
||||||
@@ -72,6 +72,8 @@ Public MustInherit Class CN_generico
|
|||||||
EnablePC = 54
|
EnablePC = 54
|
||||||
|
|
||||||
nAxes = 55
|
nAxes = 55
|
||||||
|
|
||||||
|
ResetStatus = 56
|
||||||
End Enum
|
End Enum
|
||||||
|
|
||||||
Public Enum Type As Short
|
Public Enum Type As Short
|
||||||
|
|||||||
+5
-6
@@ -603,16 +603,15 @@ Module M_MMFiles
|
|||||||
'EgtOutLog("Write_Nc_var start dell'm_mmFiles")
|
'EgtOutLog("Write_Nc_var start dell'm_mmFiles")
|
||||||
SiemensSend.n_Command = CMD.CMD_Read_NC_subscription
|
SiemensSend.n_Command = CMD.CMD_Read_NC_subscription
|
||||||
SiemensSend.sz_string_2 = VarAddr ' indirizzo su CN dell' oggetto da scrivere
|
SiemensSend.sz_string_2 = VarAddr ' indirizzo su CN dell' oggetto da scrivere
|
||||||
EgtOutLog(" Sottoscrivo lettura di '" & VarAddr & "'")
|
EgtOutLog(" → Sottoscrivo lettura di '" & VarAddr & "'")
|
||||||
SiemensSend.n_param1 = Index ' tipo di dato da scrivere
|
SiemensSend.n_param1 = Index ' tipo di dato da scrivere
|
||||||
EgtOutLog(" Indice del vettore associato '" & Index & "'")
|
EgtOutLog(" Indice del vettore associato '" & Index & "'")
|
||||||
SiemensSend.n_param2 = ParType ' tipo di dato da scrivere
|
SiemensSend.n_param2 = ParType ' tipo di dato da scrivere
|
||||||
EgtOutLog(" Indice tipo di variabile '" & ParType & "'")
|
EgtOutLog(" Indice tipo di variabile '" & ParType & "'")
|
||||||
execute_command()
|
execute_command()
|
||||||
m_MainWindow.m_CNCommunication.m_CN.sz_interf_error_message = SiemensRet.sz_interf_error_message
|
m_MainWindow.m_CNCommunication.m_CN.sz_interf_error_message = SiemensRet.sz_interf_error_message
|
||||||
|
EgtOutLog(" sz_interf_error_message: " & m_MainWindow.m_CNCommunication.m_CN.sz_interf_error_message)
|
||||||
EgtOutLog("sz_interf_error_message: " & m_MainWindow.m_CNCommunication.m_CN.sz_interf_error_message)
|
EgtOutLog(" n_result: " & SiemensRet.n_result)
|
||||||
EgtOutLog("n_result: " & SiemensRet.n_result)
|
|
||||||
Return SiemensRet.n_result
|
Return SiemensRet.n_result
|
||||||
End Function
|
End Function
|
||||||
|
|
||||||
|
|||||||
@@ -1376,6 +1376,13 @@
|
|||||||
<Resource Include="Resources\NewIcons\Move-Spot-Reg.png" />
|
<Resource Include="Resources\NewIcons\Move-Spot-Reg.png" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
<Resource Include="Resources\NewIcons\Logo-Egalware.png" />
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<Resource Include="Resources\NewIcons\Logo-Egalware %282%29.png" />
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<Resource Include="Resources\NewIcons\Logo-Egalware %283%29.png" />
|
||||||
<Resource Include="Resources\NewIcons\RawHeight.png" />
|
<Resource Include="Resources\NewIcons\RawHeight.png" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<Import Project="$(MSBuildToolsPath)\Microsoft.VisualBasic.targets" />
|
<Import Project="$(MSBuildToolsPath)\Microsoft.VisualBasic.targets" />
|
||||||
|
|||||||
@@ -10,6 +10,7 @@ Public Class CurrentProjectPageUC
|
|||||||
Friend Event OnMouseDownScene_DoubleClick(sender As Object, e As System.Windows.Forms.MouseEventArgs)
|
Friend Event OnMouseDownScene_DoubleClick(sender As Object, e As System.Windows.Forms.MouseEventArgs)
|
||||||
Friend Event OnMouseMoveScene(sender As Object, e As System.Windows.Forms.MouseEventArgs)
|
Friend Event OnMouseMoveScene(sender As Object, e As System.Windows.Forms.MouseEventArgs)
|
||||||
Friend Event OnMouseUpScene(sender As Object, e As System.Windows.Forms.MouseEventArgs)
|
Friend Event OnMouseUpScene(sender As Object, e As System.Windows.Forms.MouseEventArgs)
|
||||||
|
Friend Event OnKeyCancelDownScene(sender As Object, e As System.Windows.Forms.KeyEventArgs)
|
||||||
' Riferimento alla MainWindow
|
' Riferimento alla MainWindow
|
||||||
Private m_MainWindow As MainWindow = DirectCast(Application.Current.MainWindow, MainWindow)
|
Private m_MainWindow As MainWindow = DirectCast(Application.Current.MainWindow, MainWindow)
|
||||||
' Dichiarazione delle Page UserControl
|
' Dichiarazione delle Page UserControl
|
||||||
@@ -353,6 +354,10 @@ Public Class CurrentProjectPageUC
|
|||||||
SetInfoMessage(DistToString(vtDist))
|
SetInfoMessage(DistToString(vtDist))
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
|
Private Sub OnMyKeyCancelDownScene(sender As Object, e As System.Windows.Forms.KeyEventArgs) Handles CurrentProjectScene.KeyDown
|
||||||
|
RaiseEvent OnKeyCancelDownScene(sender, e)
|
||||||
|
End Sub
|
||||||
|
|
||||||
' Gestione progetto
|
' Gestione progetto
|
||||||
|
|
||||||
Friend Sub SetNextProjectIndex()
|
Friend Sub SetNextProjectIndex()
|
||||||
@@ -518,7 +523,7 @@ Public Class CurrentProjectPageUC
|
|||||||
' Sistemazioni finali
|
' Sistemazioni finali
|
||||||
If nAddTabId = GDB_ID.NULL Then Return False
|
If nAddTabId = GDB_ID.NULL Then Return False
|
||||||
EgtSetName(nAddTabId, MACH_ADD_TABLE)
|
EgtSetName(nAddTabId, MACH_ADD_TABLE)
|
||||||
EgtSetColor(nAddTabId, New Color3d(150, 75, 0, 100), True)
|
If nRefAddTabId = GDB_ID.NULL Then EgtSetColor(nAddTabId, New Color3d(150, 75, 0, 100), True)
|
||||||
EgtSetInfo(nAddTabId, KEY_ADD_TABLE, dAddTable)
|
EgtSetInfo(nAddTabId, KEY_ADD_TABLE, dAddTable)
|
||||||
Return True
|
Return True
|
||||||
End Function
|
End Function
|
||||||
|
|||||||
@@ -333,6 +333,10 @@ Public Class ProjectMgrUC
|
|||||||
EgtTdbGetCurrToolParam(MCH_TP.DIAM, dHeight)
|
EgtTdbGetCurrToolParam(MCH_TP.DIAM, dHeight)
|
||||||
' Raggio lama
|
' Raggio lama
|
||||||
dHeight = dHeight / 2
|
dHeight = dHeight / 2
|
||||||
|
ElseIf CurrTestTool.ToolIsLaser Then
|
||||||
|
' Raggio
|
||||||
|
dThick = 0
|
||||||
|
dHeight = 0
|
||||||
Else
|
Else
|
||||||
' Diametro FRESA/FORETTO (l'altezza non serve: posizione calcolata tiene conto del Tip Tool)
|
' Diametro FRESA/FORETTO (l'altezza non serve: posizione calcolata tiene conto del Tip Tool)
|
||||||
EgtTdbGetCurrToolParam(MCH_TP.DIAM, dThick)
|
EgtTdbGetCurrToolParam(MCH_TP.DIAM, dThick)
|
||||||
@@ -399,6 +403,10 @@ Public Class ProjectMgrUC
|
|||||||
EgtGetCalcAngles(vtDirT, vtPrefAuxDir, nStat, dC1, dB1, dC2, dB2)
|
EgtGetCalcAngles(vtDirT, vtPrefAuxDir, nStat, dC1, dB1, dC2, dB2)
|
||||||
' Forzo B90
|
' Forzo B90
|
||||||
dB1 = 90
|
dB1 = 90
|
||||||
|
' Forzo la pozione in Z alla quota di Home (per evitare l'errore di fine corsa asse Z)
|
||||||
|
Dim dHomeZ As Double = 0
|
||||||
|
EgtGetAxisHomePos("Z", dHomeZ)
|
||||||
|
ptMid.z = dHomeZ
|
||||||
Else
|
Else
|
||||||
' Se utensile speciale
|
' Se utensile speciale
|
||||||
If CurrTestTool.ToolType = MCH_TY.MILL_STD Or CurrTestTool.ToolType = MCH_TY.DRILL_STD Then
|
If CurrTestTool.ToolType = MCH_TY.MILL_STD Or CurrTestTool.ToolType = MCH_TY.DRILL_STD Then
|
||||||
@@ -424,6 +432,7 @@ Public Class ProjectMgrUC
|
|||||||
' verifica assi lineari
|
' verifica assi lineari
|
||||||
EgtVerifyOutstroke(dX, dY, dZ, dC1, dB1, nStat)
|
EgtVerifyOutstroke(dX, dY, dZ, dC1, dB1, nStat)
|
||||||
If nStat <> 0 Then
|
If nStat <> 0 Then
|
||||||
|
EgtOutLog("Out of stroke: " & nStat)
|
||||||
vtDirT = -vtDirT
|
vtDirT = -vtDirT
|
||||||
ptMid -= vtDirT * dThick
|
ptMid -= vtDirT * dThick
|
||||||
If CurrTestTool.ToolIsSaw Then
|
If CurrTestTool.ToolIsSaw Then
|
||||||
@@ -455,6 +464,12 @@ Public Class ProjectMgrUC
|
|||||||
End If
|
End If
|
||||||
' calcolo la posizione degli assi lineari X, Y, Z ( correggere il punto ptMid.z sommando il raggio utensile)
|
' calcolo la posizione degli assi lineari X, Y, Z ( correggere il punto ptMid.z sommando il raggio utensile)
|
||||||
EgtGetCalcPositions(ptMid, dC1, dB1, nStat, dX, dY, dZ)
|
EgtGetCalcPositions(ptMid, dC1, dB1, nStat, dX, dY, dZ)
|
||||||
|
|
||||||
|
' verifica assi lineari
|
||||||
|
EgtVerifyOutstroke(dX, dY, dZ, dC1, dB1, nStat)
|
||||||
|
If nStat <> 0 Then
|
||||||
|
EgtOutLog("2nd attemp out of stroke: " & nStat)
|
||||||
|
End If
|
||||||
End If
|
End If
|
||||||
|
|
||||||
'--------------------------- Comunico i movimenti in origine macchina al CN ----------------------------------------
|
'--------------------------- Comunico i movimenti in origine macchina al CN ----------------------------------------
|
||||||
@@ -744,6 +759,12 @@ Public Class ProjectMgrUC
|
|||||||
Exit For
|
Exit For
|
||||||
End If
|
End If
|
||||||
Next
|
Next
|
||||||
|
|
||||||
|
' leggo il nome della tavola da cui sto lanciando il progetto
|
||||||
|
Dim sTabeName As String = String.Empty
|
||||||
|
EgtGetTableName(sTabeName)
|
||||||
|
Dim bDoubleProg As Boolean = (GetPrivateProfileInt(S_PRODUCTIONLINE, "DoubleProg", 0, m_MainWindow.GetMachIniFile()) <> 0)
|
||||||
|
|
||||||
' Leggo eventuale variabile per lavorazione con 2 tavole in parallelo (standard E80027)
|
' Leggo eventuale variabile per lavorazione con 2 tavole in parallelo (standard E80027)
|
||||||
Dim nVarProgTwins As Integer = 1
|
Dim nVarProgTwins As Integer = 1
|
||||||
If Not String.IsNullOrWhiteSpace(m_CurrMachine.sVarProgTwins) Then
|
If Not String.IsNullOrWhiteSpace(m_CurrMachine.sVarProgTwins) Then
|
||||||
@@ -757,8 +778,26 @@ Public Class ProjectMgrUC
|
|||||||
End If
|
End If
|
||||||
Next
|
Next
|
||||||
End If
|
End If
|
||||||
|
|
||||||
' Verifico se posso scrivere nell'area 1
|
' Verifico se posso scrivere nell'area 1
|
||||||
If nVarProg1 = 0 And (nVarProg2 <> 1 Or nVarProgTwins = 2) Then
|
Dim bSendToAre1 As Boolean = (nVarProg1 = 0 And (nVarProg2 <> 1 Or nVarProgTwins = 2))
|
||||||
|
Dim bSendToAre2 As Boolean = (nVarProg2 = 0 And (nVarProg1 <> 1 Or nVarProgTwins = 2))
|
||||||
|
|
||||||
|
If bDoubleProg Then
|
||||||
|
If sTabeName = MAIN_TAB Then
|
||||||
|
' spedisco il programma da tavola 1 solo se CN ha terminato programma 901
|
||||||
|
bSendToAre1 = (nVarProg1 = 0)
|
||||||
|
bSendToAre2 = False
|
||||||
|
EgtOutLog(" Invio programma da tavola 1")
|
||||||
|
Else
|
||||||
|
' spedisco il programma da tavola 2 solo se CN ha terminato programma 902
|
||||||
|
bSendToAre1 = False
|
||||||
|
bSendToAre2 = (nVarProg2 = 0)
|
||||||
|
EgtOutLog(" Invio programma da tavola 2")
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
|
||||||
|
If bSendToAre1 Then
|
||||||
m_CurrNcComm.SetProgramMainOrSub(False)
|
m_CurrNcComm.SetProgramMainOrSub(False)
|
||||||
If m_CurrNcComm.SendProgram(sCncPath, m_CurrMachine.nProg1, False) Then
|
If m_CurrNcComm.SendProgram(sCncPath, m_CurrMachine.nProg1, False) Then
|
||||||
' Dichiaro part program inviato
|
' Dichiaro part program inviato
|
||||||
@@ -775,7 +814,7 @@ Public Class ProjectMgrUC
|
|||||||
End If
|
End If
|
||||||
m_CurrNcComm.SetProgramMainOrSub(True)
|
m_CurrNcComm.SetProgramMainOrSub(True)
|
||||||
' Altrimenti verifico se posso scrivere nell'area 2
|
' Altrimenti verifico se posso scrivere nell'area 2
|
||||||
ElseIf nVarProg2 = 0 And (nVarProg1 <> 1 Or nVarProgTwins = 2) Then
|
ElseIf bSendToAre2 Then
|
||||||
m_CurrNcComm.SetProgramMainOrSub(False)
|
m_CurrNcComm.SetProgramMainOrSub(False)
|
||||||
If m_CurrNcComm.SendProgram(sCncPath, m_CurrMachine.nProg2, False) Then
|
If m_CurrNcComm.SendProgram(sCncPath, m_CurrMachine.nProg2, False) Then
|
||||||
' Dichiaro part program inviato
|
' Dichiaro part program inviato
|
||||||
@@ -795,6 +834,12 @@ Public Class ProjectMgrUC
|
|||||||
Else
|
Else
|
||||||
m_CurrProjPage.SetErrorMessage(EgtMsg(90318)) 'La macchina non accetta il programma CN
|
m_CurrProjPage.SetErrorMessage(EgtMsg(90318)) 'La macchina non accetta il programma CN
|
||||||
End If
|
End If
|
||||||
|
' avvio programma solo se DoubleProg
|
||||||
|
If (GetPrivateProfileInt(S_GENERAL, K_STARTPROGRAM, 0, m_MainWindow.GetIniFile()) <> 0 And bDoubleProg) And
|
||||||
|
(bSendToAre1 Or bSendToAre2) Then
|
||||||
|
Dim MyCicloStartWD As New CicloStartWD(m_MainWindow)
|
||||||
|
MyCicloStartWD.ShowDialog()
|
||||||
|
End If
|
||||||
|
|
||||||
End If
|
End If
|
||||||
#End If
|
#End If
|
||||||
@@ -967,7 +1012,8 @@ Public Class ProjectMgrUC
|
|||||||
'EgtLuaSetGlobNumVar("CMD.SAWTH", dThick)
|
'EgtLuaSetGlobNumVar("CMD.SAWTH", dThick)
|
||||||
|
|
||||||
EgtTdbSetCurrTool(SelTestTool.ToolName)
|
EgtTdbSetCurrTool(SelTestTool.ToolName)
|
||||||
EgtLuaSetGlobStringVar("CMD.TLNAME", SelTestTool.ToolAlias)
|
EgtLuaSetGlobStringVar("CMD.TLNAME", SelTestTool.ToolName)
|
||||||
|
EgtLuaSetGlobStringVar("CMD.TLALIAS", SelTestTool.ToolAlias)
|
||||||
Dim dThick As Double = 0
|
Dim dThick As Double = 0
|
||||||
EgtTdbGetCurrToolParam(MCH_TP.THICK, dThick)
|
EgtTdbGetCurrToolParam(MCH_TP.THICK, dThick)
|
||||||
EgtLuaSetGlobNumVar("CMD.SAWTH", dThick)
|
EgtLuaSetGlobNumVar("CMD.SAWTH", dThick)
|
||||||
|
|||||||
Binary file not shown.
|
After Width: | Height: | Size: 1.7 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 6.4 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 8.2 KiB After Width: | Height: | Size: 6.3 KiB |
Reference in New Issue
Block a user