Compare commits
3 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 88b9226bcb | |||
| 9f4e025305 | |||
| ecbd6ecd66 |
@@ -120,6 +120,13 @@ Public Module ConstIni
|
|||||||
Public Const K_WALLBASEDIR As String = "BaseDir"
|
Public Const K_WALLBASEDIR As String = "BaseDir"
|
||||||
Public Const K_WALLBWEEXEC As String = "BweExec"
|
Public Const K_WALLBWEEXEC As String = "BweExec"
|
||||||
|
|
||||||
|
Public Const S_MACHINELOGFILTER As String = "MachineLogFilters"
|
||||||
|
Public Const K_PARTEVENTTYPE As String = "PartEventType"
|
||||||
|
Public Const K_ENTITYTYPE As String = "EntityType"
|
||||||
|
Public Const K_DAYTYPE As String = "DayType"
|
||||||
|
Public Const K_STARTDATE As String = "StartDate"
|
||||||
|
Public Const K_ENDDATE As String = "EndDate"
|
||||||
|
|
||||||
'Public Const S_NEST As String = "Nest"
|
'Public Const S_NEST As String = "Nest"
|
||||||
Public Const K_NESTEXEC As String = "NestExec"
|
Public Const K_NESTEXEC As String = "NestExec"
|
||||||
Public Const K_FLIPROT As String = "FlipRot"
|
Public Const K_FLIPROT As String = "FlipRot"
|
||||||
|
|||||||
@@ -40,7 +40,7 @@ Public Class LeftPanelVM
|
|||||||
Return m_SelChannel
|
Return m_SelChannel
|
||||||
End Get
|
End Get
|
||||||
Set(ByVal value As IdNameStruct)
|
Set(ByVal value As IdNameStruct)
|
||||||
MachManaging.AddToCommandList(ThreadCommand.CreateCommand(CommandTypes.SETCHANNEL, value.Id))
|
MachManaging.CommandList.Add(ThreadCommand.CreateCommand(CommandTypes.SETCHANNEL, value.Id))
|
||||||
m_SelChannel = value
|
m_SelChannel = value
|
||||||
End Set
|
End Set
|
||||||
End Property
|
End Property
|
||||||
@@ -86,7 +86,7 @@ Public Class LeftPanelVM
|
|||||||
Return m_SelOPMode
|
Return m_SelOPMode
|
||||||
End Get
|
End Get
|
||||||
Set(ByVal value As OPState)
|
Set(ByVal value As OPState)
|
||||||
MachManaging.AddToCommandList(ThreadCommand.CreateCommand(CommandTypes.SETOPMODE, value.Id))
|
MachManaging.CommandList.Add(ThreadCommand.CreateCommand(CommandTypes.SETOPMODE, value.Id))
|
||||||
' se MDI
|
' se MDI
|
||||||
If value.Id = OPModes.Mdi Then
|
If value.Id = OPModes.Mdi Then
|
||||||
' mostro pagina comandi MDI
|
' mostro pagina comandi MDI
|
||||||
@@ -561,6 +561,8 @@ Public Class LeftPanelVM
|
|||||||
If CurrentMachine.Flow = FlowTypes.ONEBYONE Then
|
If CurrentMachine.Flow = FlowTypes.ONEBYONE Then
|
||||||
MyMachGroupVM.UpdateProduceIsEnabledForAll()
|
MyMachGroupVM.UpdateProduceIsEnabledForAll()
|
||||||
End If
|
End If
|
||||||
|
' aggiorno log macchina
|
||||||
|
Map.refMachineLogPageVM.UpdateMachineLogList(False)
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
#End Region ' DoneRawPart
|
#End Region ' DoneRawPart
|
||||||
@@ -800,6 +802,8 @@ Public Class LeftPanelVM
|
|||||||
Next
|
Next
|
||||||
SetDonePart(SelMachGroup, SelMachGroup.SelPart)
|
SetDonePart(SelMachGroup, SelMachGroup.SelPart)
|
||||||
Map.refProjectVM.SupervisorMachGroupPanelVM.SelectedMachGroup = SelMachGroup
|
Map.refProjectVM.SupervisorMachGroupPanelVM.SelectedMachGroup = SelMachGroup
|
||||||
|
' aggiorno log macchina
|
||||||
|
Map.refMachineLogPageVM.UpdateMachineLogList(False)
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Public Sub SetDonePart(MachGroup As MyMachGroupVM, Part As PartVM)
|
Public Sub SetDonePart(MachGroup As MyMachGroupVM, Part As PartVM)
|
||||||
|
|||||||
@@ -163,7 +163,7 @@ Public Class MDIPageVM
|
|||||||
''' </summary>
|
''' </summary>
|
||||||
Friend Sub SendMDI()
|
Friend Sub SendMDI()
|
||||||
If Not String.IsNullOrWhiteSpace(m_sMDICommand_Text) Then
|
If Not String.IsNullOrWhiteSpace(m_sMDICommand_Text) Then
|
||||||
MachManaging.AddToCommandList(ThreadCommand.CreateCommand(CommandTypes.MDI, m_sMDICommand_Text))
|
MachManaging.CommandList.Add(ThreadCommand.CreateCommand(CommandTypes.MDI, m_sMDICommand_Text))
|
||||||
End If
|
End If
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
|
|||||||
@@ -427,11 +427,11 @@ Public Class MachCommandMessagePanelVM
|
|||||||
End Property
|
End Property
|
||||||
|
|
||||||
Public Sub Disconnect()
|
Public Sub Disconnect()
|
||||||
MachManaging.AddToCommandList(ThreadCommand.CreateCommand(CommandTypes.DISCONNECT))
|
MachManaging.CommandList.Add(ThreadCommand.CreateCommand(CommandTypes.DISCONNECT))
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Public Sub SetOPState(OpState As Integer)
|
Public Sub SetOPState(OpState As Integer)
|
||||||
MachManaging.AddToCommandList(ThreadCommand.CreateCommand(CommandTypes.SETOPMODE))
|
MachManaging.CommandList.Add(ThreadCommand.CreateCommand(CommandTypes.SETOPMODE))
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Public ReadOnly Property Start_Command As ICommand
|
Public ReadOnly Property Start_Command As ICommand
|
||||||
@@ -442,7 +442,7 @@ Public Class MachCommandMessagePanelVM
|
|||||||
End Property
|
End Property
|
||||||
|
|
||||||
Public Sub Start(ByVal param As Object)
|
Public Sub Start(ByVal param As Object)
|
||||||
MachManaging.AddToCommandList(ThreadCommand.CreateCommand(CommandTypes.START))
|
MachManaging.CommandList.Add(ThreadCommand.CreateCommand(CommandTypes.START))
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Public ReadOnly Property Stop_Command As ICommand
|
Public ReadOnly Property Stop_Command As ICommand
|
||||||
@@ -453,7 +453,7 @@ Public Class MachCommandMessagePanelVM
|
|||||||
End Property
|
End Property
|
||||||
|
|
||||||
Public Sub [Stop](ByVal param As Object)
|
Public Sub [Stop](ByVal param As Object)
|
||||||
MachManaging.AddToCommandList(ThreadCommand.CreateCommand(CommandTypes.STOP_))
|
MachManaging.CommandList.Add(ThreadCommand.CreateCommand(CommandTypes.STOP_))
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Public ReadOnly Property Reset_Command As ICommand
|
Public ReadOnly Property Reset_Command As ICommand
|
||||||
@@ -464,7 +464,7 @@ Public Class MachCommandMessagePanelVM
|
|||||||
End Property
|
End Property
|
||||||
|
|
||||||
Public Sub Reset(ByVal param As Object)
|
Public Sub Reset(ByVal param As Object)
|
||||||
MachManaging.AddToCommandList(ThreadCommand.CreateCommand(CommandTypes.RESET))
|
MachManaging.CommandList.Add(ThreadCommand.CreateCommand(CommandTypes.RESET))
|
||||||
' annullo stato di pronto ad essere lavorato di tutti i programmi
|
' annullo stato di pronto ad essere lavorato di tutti i programmi
|
||||||
If Not IsNothing(Map.refProjectVM.SupervisorMachGroupPanelVM) Then Map.refProjectVM.SupervisorMachGroupPanelVM.ResetAllMachGroups()
|
If Not IsNothing(Map.refProjectVM.SupervisorMachGroupPanelVM) Then Map.refProjectVM.SupervisorMachGroupPanelVM.ResetAllMachGroups()
|
||||||
End Sub
|
End Sub
|
||||||
@@ -477,7 +477,7 @@ Public Class MachCommandMessagePanelVM
|
|||||||
End Property
|
End Property
|
||||||
|
|
||||||
Public Sub [Step](ByVal param As Object)
|
Public Sub [Step](ByVal param As Object)
|
||||||
MachManaging.AddToCommandList(ThreadCommand.CreateCommand(CommandTypes.STEP_))
|
MachManaging.CommandList.Add(ThreadCommand.CreateCommand(CommandTypes.STEP_))
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Public ReadOnly Property SetPoint_Command As ICommand
|
Public ReadOnly Property SetPoint_Command As ICommand
|
||||||
@@ -488,7 +488,7 @@ Public Class MachCommandMessagePanelVM
|
|||||||
End Property
|
End Property
|
||||||
|
|
||||||
Public Sub SetPoint(ByVal param As Object)
|
Public Sub SetPoint(ByVal param As Object)
|
||||||
MachManaging.AddToCommandList(ThreadCommand.CreateCommand(CommandTypes.SETPOINT))
|
MachManaging.CommandList.Add(ThreadCommand.CreateCommand(CommandTypes.SETPOINT))
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
|
|
||||||
@@ -500,7 +500,7 @@ Public Class MachCommandMessagePanelVM
|
|||||||
End Property
|
End Property
|
||||||
|
|
||||||
Public Sub DeleteAlarms(ByVal param As Object)
|
Public Sub DeleteAlarms(ByVal param As Object)
|
||||||
MachManaging.AddToCommandList(ThreadCommand.CreateCommand(CommandTypes.DELETEALARMS))
|
MachManaging.CommandList.Add(ThreadCommand.CreateCommand(CommandTypes.DELETEALARMS))
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Public Function GetVarPathByName(Name As String) As String
|
Public Function GetVarPathByName(Name As String) As String
|
||||||
|
|||||||
@@ -10,9 +10,6 @@ Imports EgtBEAMWALL.Supervisor.CommVar
|
|||||||
|
|
||||||
Public Class MachManaging
|
Public Class MachManaging
|
||||||
|
|
||||||
' lock per aggiunta elemento a lista MachGroup
|
|
||||||
Private Shared Lock_CommandList As New Object
|
|
||||||
|
|
||||||
Private m_bConnected As Boolean = False
|
Private m_bConnected As Boolean = False
|
||||||
Public ReadOnly Property bConnected As Boolean
|
Public ReadOnly Property bConnected As Boolean
|
||||||
Get
|
Get
|
||||||
@@ -56,22 +53,6 @@ Public Class MachManaging
|
|||||||
Return m_CommandList
|
Return m_CommandList
|
||||||
End Get
|
End Get
|
||||||
End Property
|
End Property
|
||||||
Friend Shared Sub AddToCommandList(value As ThreadCommand)
|
|
||||||
SyncLock Lock_CommandList
|
|
||||||
' EgtOutLog("Inizio ciclo rimozioni")
|
|
||||||
For CommandIndex = m_CommandList.Count - 1 To 0 Step -1
|
|
||||||
Dim Command As ThreadCommand = m_CommandList(CommandIndex)
|
|
||||||
If Command.ProcessingStatus = ThreadCommand.ProcessingStatuses.DONE Then
|
|
||||||
' EgtOutLog("Inizio rimozione comando")
|
|
||||||
m_CommandList.Remove(Command)
|
|
||||||
' EgtOutLog("Fine rimozione comando")
|
|
||||||
End If
|
|
||||||
Next
|
|
||||||
' EgtOutLog("Fine ciclo rimozioni")
|
|
||||||
CommandList.Add(value)
|
|
||||||
' EgtOutLog("Count dopo aggiunta: " & CommandList.Count)
|
|
||||||
End SyncLock
|
|
||||||
End Sub
|
|
||||||
|
|
||||||
Private m_bStartPending As Boolean = False
|
Private m_bStartPending As Boolean = False
|
||||||
Public ReadOnly Property StartPending As Boolean
|
Public ReadOnly Property StartPending As Boolean
|
||||||
@@ -588,6 +569,8 @@ Public Class MachManaging
|
|||||||
' scrivo evento inizio MachGroup su DB
|
' scrivo evento inizio MachGroup su DB
|
||||||
DbControllers.m_LogMachineController.Create(LogEvent.CreateMachGroupStateLog(dtStart, nP_Prod, nP_Machgroup, nP_State, DbControllers.SupervisorId))
|
DbControllers.m_LogMachineController.Create(LogEvent.CreateMachGroupStateLog(dtStart, nP_Prod, nP_Machgroup, nP_State, DbControllers.SupervisorId))
|
||||||
End If
|
End If
|
||||||
|
' flag di aggiornamento log macchina
|
||||||
|
Map.refMachineLogPageVM.UpdateMachineLogList(False)
|
||||||
' attesa per essere sicuro che abbia scritto e riletto variabili
|
' attesa per essere sicuro che abbia scritto e riletto variabili
|
||||||
Threading.Thread.Sleep(300)
|
Threading.Thread.Sleep(300)
|
||||||
ElseIf nP_State = PartState.END_ Then
|
ElseIf nP_State = PartState.END_ Then
|
||||||
@@ -657,7 +640,7 @@ Public Class MachManaging
|
|||||||
|
|
||||||
' se non impostata data start
|
' se non impostata data start
|
||||||
If MachGroup.dtStartTime = DateTime.MinValue Then
|
If MachGroup.dtStartTime = DateTime.MinValue Then
|
||||||
' EgtOutLog("Start date not set on Prod " & nP_Prod & " Machgroup " & nP_Machgroup)
|
EgtOutLog("Start date not set on Prod " & nP_Prod & " Machgroup " & nP_Machgroup)
|
||||||
Dim dtStart As DateTime = MachGroup.dtEndTime - TimeSpan.FromSeconds(60)
|
Dim dtStart As DateTime = MachGroup.dtEndTime - TimeSpan.FromSeconds(60)
|
||||||
' provo a recuperare tempo stimato
|
' provo a recuperare tempo stimato
|
||||||
If MachGroup.nCALC_TIME > 0 Then
|
If MachGroup.nCALC_TIME > 0 Then
|
||||||
@@ -697,6 +680,8 @@ Public Class MachManaging
|
|||||||
Map.refLeftPanelVM.PrintLabel(MachGroup, Part)
|
Map.refLeftPanelVM.PrintLabel(MachGroup, Part)
|
||||||
End If
|
End If
|
||||||
End If
|
End If
|
||||||
|
' flag di aggiornamento log macchina
|
||||||
|
Map.refMachineLogPageVM.UpdateMachineLogList(False)
|
||||||
' attesa per essere sicuro che abbia scritto e riletto variabili
|
' attesa per essere sicuro che abbia scritto e riletto variabili
|
||||||
Threading.Thread.Sleep(300)
|
Threading.Thread.Sleep(300)
|
||||||
End If
|
End If
|
||||||
@@ -741,7 +726,7 @@ Public Class MachManaging
|
|||||||
End Function
|
End Function
|
||||||
|
|
||||||
Private Function SendNextProgram() As Boolean
|
Private Function SendNextProgram() As Boolean
|
||||||
' EgtOutLog("Inizio SendNextProgram")
|
EgtOutLog("Inizio SendNextProgram")
|
||||||
Dim bSent As Boolean = False
|
Dim bSent As Boolean = False
|
||||||
If (CurrentMachine.NCType = NCTypes.TPA AndAlso Not m_bStartPending AndAlso Tpa.opState = MachineOperatingState.Pending) OrElse
|
If (CurrentMachine.NCType = NCTypes.TPA AndAlso Not m_bStartPending AndAlso Tpa.opState = MachineOperatingState.Pending) OrElse
|
||||||
(CurrentMachine.NCType = NCTypes.NUM_FLEXIUM AndAlso Not Num_Flexium.bIsTransferActive) OrElse
|
(CurrentMachine.NCType = NCTypes.NUM_FLEXIUM AndAlso Not Num_Flexium.bIsTransferActive) OrElse
|
||||||
@@ -749,20 +734,20 @@ Public Class MachManaging
|
|||||||
(CurrentMachine.NCType = NCTypes.NUM_AXIUM_PCTOOLKIT AndAlso Not Num_Axium_PCToolkit.bIsTransferActive) Then ' Or Tpa.opState = MachineOperatingState.Start) Then
|
(CurrentMachine.NCType = NCTypes.NUM_AXIUM_PCTOOLKIT AndAlso Not Num_Axium_PCToolkit.bIsTransferActive) Then ' Or Tpa.opState = MachineOperatingState.Start) Then
|
||||||
' verifico se c'e' un programma da lanciare
|
' verifico se c'e' un programma da lanciare
|
||||||
If Not IsNothing(Map.refProjectVM.SupervisorMachGroupPanelVM) Then
|
If Not IsNothing(Map.refProjectVM.SupervisorMachGroupPanelVM) Then
|
||||||
' EgtOutLog("Start " & DateTime.Now())
|
EgtOutLog("Start " & DateTime.Now())
|
||||||
Dim bMachGroupNotReady As Boolean = False
|
Dim bMachGroupNotReady As Boolean = False
|
||||||
SyncLock m_Lock_SendProgram
|
SyncLock m_Lock_SendProgram
|
||||||
For Each MyMachGroup As MyMachGroupVM In Map.refProjectVM.SupervisorMachGroupPanelVM.MachGroupVMList
|
For Each MyMachGroup As MyMachGroupVM In Map.refProjectVM.SupervisorMachGroupPanelVM.MachGroupVMList
|
||||||
' EgtOutLog("Ciclo su name: " & MyMachGroup.Name & " id: " & MyMachGroup.Id)
|
EgtOutLog("Ciclo su name: " & MyMachGroup.Name & " id: " & MyMachGroup.Id)
|
||||||
If Not MyMachGroup.bSentToMachine AndAlso (MyMachGroup.dtStartTime = DateTime.MinValue OrElse
|
If Not MyMachGroup.bSentToMachine AndAlso (MyMachGroup.dtStartTime = DateTime.MinValue OrElse
|
||||||
(Map.refSupervisorManagerVM.CurrProd.nType = BWType.WALL AndAlso MyMachGroup.bResetWhileCutting)) Then
|
(Map.refSupervisorManagerVM.CurrProd.nType = BWType.WALL AndAlso MyMachGroup.bResetWhileCutting)) Then
|
||||||
' EgtOutLog(MyMachGroup.Name & " id: " & MyMachGroup.Id & " è da fare")
|
EgtOutLog(MyMachGroup.Name & " id: " & MyMachGroup.Id & " è da fare")
|
||||||
' verifico se ricalcolo finito
|
' verifico se ricalcolo finito
|
||||||
If MyMachGroup.bReadyForMachining AndAlso If(CurrentMachine.NCType = NCTypes.NUM_FLEXIUM Or CurrentMachine.NCType = NCTypes.NUM_AXIUM_APSERVER OrElse CurrentMachine.NCType = NCTypes.NUM_AXIUM_PCTOOLKIT, Not MyMachGroup.bSendingToMachine, True) Then
|
If MyMachGroup.bReadyForMachining AndAlso If(CurrentMachine.NCType = NCTypes.NUM_FLEXIUM Or CurrentMachine.NCType = NCTypes.NUM_AXIUM_APSERVER OrElse CurrentMachine.NCType = NCTypes.NUM_AXIUM_PCTOOLKIT, Not MyMachGroup.bSendingToMachine, True) Then
|
||||||
' EgtOutLog(MyMachGroup.Name & " id: " & MyMachGroup.Id & " pronto per essere lavorato")
|
EgtOutLog(MyMachGroup.Name & " id: " & MyMachGroup.Id & " pronto per essere lavorato")
|
||||||
' lo lancio
|
' lo lancio
|
||||||
bSent = SendProgram(MyMachGroup.CnFilePath(), MyMachGroup.Name)
|
bSent = SendProgram(MyMachGroup.CnFilePath(), MyMachGroup.Name)
|
||||||
' EgtOutLog(MyMachGroup.Name & " id: " & MyMachGroup.Id & " mandato " & DateTime.Now() & " " & MyMachGroup.Name & " " & bSent.ToString())
|
EgtOutLog(MyMachGroup.Name & " id: " & MyMachGroup.Id & " mandato " & DateTime.Now() & " " & MyMachGroup.Name & " " & bSent.ToString())
|
||||||
Select Case CurrentMachine.NCType
|
Select Case CurrentMachine.NCType
|
||||||
Case NCTypes.TPA
|
Case NCTypes.TPA
|
||||||
MyMachGroup.SetSentToMachine(bSent)
|
MyMachGroup.SetSentToMachine(bSent)
|
||||||
@@ -774,7 +759,7 @@ Public Class MachManaging
|
|||||||
Else
|
Else
|
||||||
' programma non ancora pronto, esco per attendere
|
' programma non ancora pronto, esco per attendere
|
||||||
bMachGroupNotReady = True
|
bMachGroupNotReady = True
|
||||||
' EgtOutLog(MyMachGroup.Name & " id: " & MyMachGroup.Id & " non ancora pronto per essere mandato")
|
EgtOutLog(MyMachGroup.Name & " id: " & MyMachGroup.Id & " non ancora pronto per essere mandato")
|
||||||
Exit For
|
Exit For
|
||||||
'Return False
|
'Return False
|
||||||
End If
|
End If
|
||||||
@@ -782,7 +767,7 @@ Public Class MachManaging
|
|||||||
Next
|
Next
|
||||||
End SyncLock
|
End SyncLock
|
||||||
If bMachGroupNotReady Then Return False
|
If bMachGroupNotReady Then Return False
|
||||||
' EgtOutLog("End " & DateTime.Now())
|
EgtOutLog("End " & DateTime.Now())
|
||||||
End If
|
End If
|
||||||
End If
|
End If
|
||||||
Return bSent
|
Return bSent
|
||||||
@@ -790,17 +775,10 @@ Public Class MachManaging
|
|||||||
|
|
||||||
Private Sub CommandList_CollectionChanged(sender As Object, e As NotifyCollectionChangedEventArgs)
|
Private Sub CommandList_CollectionChanged(sender As Object, e As NotifyCollectionChangedEventArgs)
|
||||||
If Not IsNothing(e.NewItems) Then
|
If Not IsNothing(e.NewItems) Then
|
||||||
' EgtOutLog("Inizio ciclo esecuzione comandi")
|
For Each Command In e.NewItems
|
||||||
Dim nCommandCount As Integer = e.NewItems.Count
|
ExecuteCommand(DirectCast(Command, ThreadCommand))
|
||||||
For CommandIndex = 0 To nCommandCount - 1
|
m_CommandList.Remove(Command)
|
||||||
Dim Command As ThreadCommand = e.NewItems(CommandIndex)
|
|
||||||
If Command.ProcessingStatus = ThreadCommand.ProcessingStatuses.WAITING Then
|
|
||||||
Command.SetProcessingStatus(ThreadCommand.ProcessingStatuses.PROCESSING)
|
|
||||||
ExecuteCommand(DirectCast(Command, ThreadCommand))
|
|
||||||
Command.SetProcessingStatus(ThreadCommand.ProcessingStatuses.DONE)
|
|
||||||
End If
|
|
||||||
Next
|
Next
|
||||||
' EgtOutLog("Fine ciclo esecuzione di " & nCommandCount & " comandi")
|
|
||||||
End If
|
End If
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
@@ -1070,7 +1048,7 @@ Public Class MachManaging
|
|||||||
Num_Axium_APServer.StartTransfer()
|
Num_Axium_APServer.StartTransfer()
|
||||||
Return True
|
Return True
|
||||||
Case NCTypes.NUM_AXIUM_PCTOOLKIT
|
Case NCTypes.NUM_AXIUM_PCTOOLKIT
|
||||||
' EgtOutLog("Pre Download")
|
EgtOutLog("Pre Download")
|
||||||
Dim nFileType As Integer = 0
|
Dim nFileType As Integer = 0
|
||||||
If Integer.TryParse(ProgramId, nFileType) AndAlso nFileType > 0 Then
|
If Integer.TryParse(ProgramId, nFileType) AndAlso nFileType > 0 Then
|
||||||
Num_Axium_PCToolkit.FileDownload(nFileType * 10, ProgramPath)
|
Num_Axium_PCToolkit.FileDownload(nFileType * 10, ProgramPath)
|
||||||
|
|||||||
@@ -54,12 +54,6 @@ End Class
|
|||||||
|
|
||||||
Public Class ThreadCommand
|
Public Class ThreadCommand
|
||||||
|
|
||||||
Public Enum ProcessingStatuses
|
|
||||||
WAITING = 1
|
|
||||||
PROCESSING = 2
|
|
||||||
DONE = 3
|
|
||||||
End Enum
|
|
||||||
|
|
||||||
Private m_CommandType As CommandTypes
|
Private m_CommandType As CommandTypes
|
||||||
Public ReadOnly Property CommandType As CommandTypes
|
Public ReadOnly Property CommandType As CommandTypes
|
||||||
Get
|
Get
|
||||||
@@ -101,16 +95,6 @@ Public Class ThreadCommand
|
|||||||
End Get
|
End Get
|
||||||
End Property
|
End Property
|
||||||
|
|
||||||
Private m_ProcessingStatus As ProcessingStatuses = ProcessingStatuses.WAITING
|
|
||||||
Public ReadOnly Property ProcessingStatus As ProcessingStatuses
|
|
||||||
Get
|
|
||||||
Return m_ProcessingStatus
|
|
||||||
End Get
|
|
||||||
End Property
|
|
||||||
Friend Sub SetProcessingStatus(value As ProcessingStatuses)
|
|
||||||
m_ProcessingStatus = value
|
|
||||||
End Sub
|
|
||||||
|
|
||||||
Protected Sub New()
|
Protected Sub New()
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
|
|||||||
@@ -25,16 +25,37 @@
|
|||||||
</Grid>
|
</Grid>
|
||||||
|
|
||||||
<StackPanel Orientation="Horizontal" Height="30">
|
<StackPanel Orientation="Horizontal" Height="30">
|
||||||
|
<TextBlock Text="Entità"
|
||||||
|
Style="{StaticResource Log_TextBlock}"/>
|
||||||
<ComboBox ItemsSource="{Binding EntityTypeList}"
|
<ComboBox ItemsSource="{Binding EntityTypeList}"
|
||||||
SelectedIndex="{Binding SelEntityType}"
|
SelectedIndex="{Binding SelEntityType}"
|
||||||
Width="70"
|
Width="70"
|
||||||
Margin="0,0,2.5,0"
|
Margin="0,0,2.5,0"
|
||||||
Style="{StaticResource PartParam_ComboBox}"/>
|
Style="{StaticResource PartParam_ComboBox}"/>
|
||||||
|
<TextBlock Text="Evento"
|
||||||
|
Style="{StaticResource Log_TextBlock}"/>
|
||||||
<ComboBox ItemsSource="{Binding PartEventTypeList}"
|
<ComboBox ItemsSource="{Binding PartEventTypeList}"
|
||||||
SelectedIndex="{Binding SelPartEventType}"
|
SelectedIndex="{Binding SelPartEventType}"
|
||||||
Width="70"
|
Width="70"
|
||||||
Margin="0,0,2.5,0"
|
Margin="0,0,2.5,0"
|
||||||
Style="{StaticResource PartParam_ComboBox}"/>
|
Style="{StaticResource PartParam_ComboBox}"/>
|
||||||
|
<TextBlock Text="Data"
|
||||||
|
Style="{StaticResource Log_TextBlock}"/>
|
||||||
|
<ComboBox ItemsSource="{Binding DayTypeList}"
|
||||||
|
SelectedIndex="{Binding SelDayType}"
|
||||||
|
Width="70"
|
||||||
|
Margin="0,0,2.5,0"
|
||||||
|
Style="{StaticResource PartParam_ComboBox}"/>
|
||||||
|
<StackPanel Orientation="Horizontal" Visibility="{Binding Date_Visibility}">
|
||||||
|
<TextBlock Text="Dal"
|
||||||
|
Style="{StaticResource Log_TextBlock}"/>
|
||||||
|
<DatePicker SelectedDate="{Binding dtStartDate}"
|
||||||
|
Style="{StaticResource Log_DatePicker}"/>
|
||||||
|
<TextBlock Text="Al"
|
||||||
|
Style="{StaticResource Log_TextBlock}"/>
|
||||||
|
<DatePicker SelectedDate="{Binding dtEndDate}"
|
||||||
|
Style="{StaticResource Log_DatePicker}"/>
|
||||||
|
</StackPanel>
|
||||||
<!--<TextBox Text="{Binding MaxRowNumber}"/>-->
|
<!--<TextBox Text="{Binding MaxRowNumber}"/>-->
|
||||||
<Button Grid.Column="1"
|
<Button Grid.Column="1"
|
||||||
Command="{Binding Refresh_Command}"
|
Command="{Binding Refresh_Command}"
|
||||||
|
|||||||
@@ -9,6 +9,16 @@ Imports EgtBEAMWALL.Core.MachLog
|
|||||||
Public Class MachineLogPageVM
|
Public Class MachineLogPageVM
|
||||||
Inherits VMBase
|
Inherits VMBase
|
||||||
|
|
||||||
|
Private m_Lock_LogList As New Object
|
||||||
|
|
||||||
|
Private m_MachineLog_Timer As New DispatcherTimer
|
||||||
|
|
||||||
|
Private Enum DayTypes As Integer
|
||||||
|
TODAY = 0
|
||||||
|
YESTERDAY = 1
|
||||||
|
PERIOD = 2
|
||||||
|
End Enum
|
||||||
|
|
||||||
Private m_colMachineLog_Type As EgtDataGridColumn
|
Private m_colMachineLog_Type As EgtDataGridColumn
|
||||||
Public ReadOnly Property colMachineLog_Type As EgtDataGridColumn
|
Public ReadOnly Property colMachineLog_Type As EgtDataGridColumn
|
||||||
Get
|
Get
|
||||||
@@ -76,6 +86,7 @@ Public Class MachineLogPageVM
|
|||||||
End Get
|
End Get
|
||||||
Set(value As Integer)
|
Set(value As Integer)
|
||||||
m_SelPartEventType = value
|
m_SelPartEventType = value
|
||||||
|
WriteMainPrivateProfileString(S_MACHINELOGFILTER, K_PARTEVENTTYPE, m_SelPartEventType.ToString())
|
||||||
m_MachineLogList_View.Refresh()
|
m_MachineLogList_View.Refresh()
|
||||||
End Set
|
End Set
|
||||||
End Property
|
End Property
|
||||||
@@ -94,10 +105,75 @@ Public Class MachineLogPageVM
|
|||||||
End Get
|
End Get
|
||||||
Set(value As Integer)
|
Set(value As Integer)
|
||||||
m_SelEntityType = value
|
m_SelEntityType = value
|
||||||
|
WriteMainPrivateProfileString(S_MACHINELOGFILTER, K_ENTITYTYPE, m_SelEntityType.ToString())
|
||||||
m_MachineLogList_View.Refresh()
|
m_MachineLogList_View.Refresh()
|
||||||
End Set
|
End Set
|
||||||
End Property
|
End Property
|
||||||
|
|
||||||
|
Private m_DayTypeList As New List(Of String)({"Oggi", "Ieri", "Periodo"})
|
||||||
|
Public ReadOnly Property DayTypeList As List(Of String)
|
||||||
|
Get
|
||||||
|
Return m_DayTypeList
|
||||||
|
End Get
|
||||||
|
End Property
|
||||||
|
|
||||||
|
Private m_SelDayType As DayTypes = DayTypes.TODAY
|
||||||
|
Public Property SelDayType As Integer
|
||||||
|
Get
|
||||||
|
Return m_SelDayType
|
||||||
|
End Get
|
||||||
|
Set(value As Integer)
|
||||||
|
Dim PrevSelDayType As DayTypes = m_SelDayType
|
||||||
|
m_SelDayType = value
|
||||||
|
WriteMainPrivateProfileString(S_MACHINELOGFILTER, K_DAYTYPE, Convert.ToInt32(m_SelDayType))
|
||||||
|
m_Date_Visibility = If(m_SelDayType = DayTypes.PERIOD, Visibility.Visible, Visibility.Collapsed)
|
||||||
|
If m_SelDayType = DayTypes.PERIOD Then
|
||||||
|
m_dtStartDate = If(PrevSelDayType = DayTypes.TODAY, DateTime.Today, DateTime.Today - TimeSpan.FromDays(1))
|
||||||
|
m_dtEndDate = If(PrevSelDayType = DayTypes.TODAY, DateTime.Today, DateTime.Today - TimeSpan.FromDays(1))
|
||||||
|
NotifyPropertyChanged(NameOf(dtStartDate))
|
||||||
|
NotifyPropertyChanged(NameOf(dtEndDate))
|
||||||
|
End If
|
||||||
|
NotifyPropertyChanged(NameOf(Date_Visibility))
|
||||||
|
' aggiorno lista da Db
|
||||||
|
UpdateMachineLogList(True)
|
||||||
|
End Set
|
||||||
|
End Property
|
||||||
|
|
||||||
|
Private m_dtStartDate As DateTime = DateTime.Today
|
||||||
|
Public Property dtStartDate As DateTime
|
||||||
|
Get
|
||||||
|
Return m_dtStartDate
|
||||||
|
End Get
|
||||||
|
Set(value As DateTime)
|
||||||
|
m_dtStartDate = value
|
||||||
|
Dim lStartDate As Long = m_dtStartDate.ToFileTimeUtc()
|
||||||
|
WriteMainPrivateProfileString(S_MACHINELOGFILTER, K_STARTDATE, lStartDate.ToString())
|
||||||
|
' aggiorno lista da Db
|
||||||
|
UpdateMachineLogList(True)
|
||||||
|
End Set
|
||||||
|
End Property
|
||||||
|
|
||||||
|
Private m_dtEndDate As DateTime = DateTime.Today
|
||||||
|
Public Property dtEndDate As DateTime
|
||||||
|
Get
|
||||||
|
Return m_dtEndDate
|
||||||
|
End Get
|
||||||
|
Set(value As DateTime)
|
||||||
|
m_dtEndDate = value
|
||||||
|
Dim lEndDate As Long = m_dtEndDate.ToFileTimeUtc()
|
||||||
|
WriteMainPrivateProfileString(S_MACHINELOGFILTER, K_ENDDATE, lEndDate.ToString())
|
||||||
|
' aggiorno lista da Db
|
||||||
|
UpdateMachineLogList(True)
|
||||||
|
End Set
|
||||||
|
End Property
|
||||||
|
|
||||||
|
Private m_Date_Visibility As Visibility = Visibility.Collapsed
|
||||||
|
Public ReadOnly Property Date_Visibility As Visibility
|
||||||
|
Get
|
||||||
|
Return m_Date_Visibility
|
||||||
|
End Get
|
||||||
|
End Property
|
||||||
|
|
||||||
' Definizione comandi
|
' Definizione comandi
|
||||||
Private m_cmdRefresh As ICommand
|
Private m_cmdRefresh As ICommand
|
||||||
|
|
||||||
@@ -167,6 +243,33 @@ Public Class MachineLogPageVM
|
|||||||
m_colMachineLog_Type = m_MachineLogColumns.FirstOrDefault(Function(x) x.Name = COL_TYPE)
|
m_colMachineLog_Type = m_MachineLogColumns.FirstOrDefault(Function(x) x.Name = COL_TYPE)
|
||||||
m_colMachineLog_Description = m_MachineLogColumns.FirstOrDefault(Function(x) x.Name = COL_DESCRIPTION)
|
m_colMachineLog_Description = m_MachineLogColumns.FirstOrDefault(Function(x) x.Name = COL_DESCRIPTION)
|
||||||
m_colMachineLog_SupervisorId = m_MachineLogColumns.FirstOrDefault(Function(x) x.Name = COL_SUPERVISORID)
|
m_colMachineLog_SupervisorId = m_MachineLogColumns.FirstOrDefault(Function(x) x.Name = COL_SUPERVISORID)
|
||||||
|
' imposto valori filtri da ini
|
||||||
|
m_SelPartEventType = GetMainPrivateProfileInt(S_MACHINELOGFILTER, K_PARTEVENTTYPE, 2)
|
||||||
|
m_SelEntityType = GetMainPrivateProfileInt(S_MACHINELOGFILTER, K_ENTITYTYPE, 1)
|
||||||
|
m_SelDayType = GetMainPrivateProfileInt(S_MACHINELOGFILTER, K_DAYTYPE, 0)
|
||||||
|
Select Case m_SelDayType
|
||||||
|
Case DayTypes.TODAY
|
||||||
|
m_dtStartDate = DateTime.Today
|
||||||
|
m_dtEndDate = DateTime.Today
|
||||||
|
Case DayTypes.YESTERDAY
|
||||||
|
m_dtStartDate = DateTime.Today - TimeSpan.FromDays(1)
|
||||||
|
m_dtEndDate = DateTime.Today - TimeSpan.FromDays(1)
|
||||||
|
Case DayTypes.PERIOD
|
||||||
|
Dim sStartDate As String = "0"
|
||||||
|
Dim lStartDate As Long = 0
|
||||||
|
GetMainPrivateProfileString(S_MACHINELOGFILTER, K_STARTDATE, 0, sStartDate)
|
||||||
|
Long.TryParse(sStartDate, lStartDate)
|
||||||
|
m_dtStartDate = If(lStartDate > 0, DateTime.FromFileTimeUtc(lStartDate), DateTime.Today)
|
||||||
|
Dim sEndDate As String = "0"
|
||||||
|
Dim lEndDate As Long = 0
|
||||||
|
GetMainPrivateProfileString(S_MACHINELOGFILTER, K_ENDDATE, 0, sEndDate)
|
||||||
|
Long.TryParse(sEndDate, lEndDate)
|
||||||
|
m_dtEndDate = If(lEndDate > 0, DateTime.FromFileTimeUtc(lEndDate), DateTime.Today)
|
||||||
|
m_Date_Visibility = Visibility.Visible
|
||||||
|
End Select
|
||||||
|
m_MachineLog_Timer.Interval = TimeSpan.FromMilliseconds(100)
|
||||||
|
AddHandler m_MachineLog_Timer.Tick, AddressOf MachineLog_Timer_Tick
|
||||||
|
m_MachineLog_Timer.Start()
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
#End Region ' CONSTRUCTORS
|
#End Region ' CONSTRUCTORS
|
||||||
@@ -209,13 +312,69 @@ Public Class MachineLogPageVM
|
|||||||
m_colMachineLog_Description.ColumnVisibility = Visibility.Collapsed
|
m_colMachineLog_Description.ColumnVisibility = Visibility.Collapsed
|
||||||
m_colMachineLog_SupervisorId.ColumnVisibility = Visibility.Collapsed
|
m_colMachineLog_SupervisorId.ColumnVisibility = Visibility.Collapsed
|
||||||
End If
|
End If
|
||||||
UpdateMachineLogList()
|
UpdateMachineLogList(True)
|
||||||
m_MachineLogList_View = CollectionViewSource.GetDefaultView(m_MachineLogList)
|
m_MachineLogList_View = CollectionViewSource.GetDefaultView(m_MachineLogList)
|
||||||
m_MachineLogList_View.Filter = AddressOf MachineLogFilter
|
m_MachineLogList_View.Filter = AddressOf MachineLogFilter
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Friend Sub UpdateMachineLogList()
|
' indice di aggiornamento della lista rispetto a Db
|
||||||
m_MachineLogList = New ObservableCollection(Of LogEvent)(DbControllers.m_LogMachineController.GetCoreDesc(DateTime.Now - TimeSpan.FromDays(300), DateTime.Now).Select(Of LogEvent)(Function(x) New LogEvent(x)).ToList())
|
Private m_nUpdateIndex As Integer
|
||||||
|
' indice di ricaricamento completo della lista dal Db
|
||||||
|
Private m_nRefreshIndex As Integer
|
||||||
|
' indice dell'ultimo update/refresh
|
||||||
|
Private m_nLastLogUpdate As Integer
|
||||||
|
|
||||||
|
Friend Sub UpdateMachineLogList(bRefresh As Boolean)
|
||||||
|
Dim nMaxIndex As Integer = Math.Max(m_nUpdateIndex, m_nRefreshIndex)
|
||||||
|
If bRefresh Then
|
||||||
|
m_nRefreshIndex = nMaxIndex + 1
|
||||||
|
Else
|
||||||
|
m_nUpdateIndex = nMaxIndex + 1
|
||||||
|
End If
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Private Sub MachineLog_Timer_Tick(sender As Object, e As EventArgs)
|
||||||
|
SyncLock m_Lock_LogList
|
||||||
|
Dim nRefresh As Integer = m_nRefreshIndex
|
||||||
|
Dim nUpdate As Integer = m_nUpdateIndex
|
||||||
|
If nRefresh > m_nLastLogUpdate Then
|
||||||
|
m_nLastLogUpdate = nRefresh
|
||||||
|
UpdateFromDb(True)
|
||||||
|
ElseIf nUpdate > m_nLastLogUpdate Then
|
||||||
|
m_nLastLogUpdate = nUpdate
|
||||||
|
UpdateFromDb(False)
|
||||||
|
End If
|
||||||
|
End SyncLock
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Friend Sub UpdateFromDb(bRefresh As Boolean)
|
||||||
|
'm_MachineLogList = New ObservableCollection(Of LogEvent)(DbControllers.m_LogMachineController.GetCoreDesc(DateTime.Now - TimeSpan.FromDays(300), DateTime.Now).Select(Of LogEvent)(Function(x) New LogEvent(x)).ToList())
|
||||||
|
Dim DbList As List(Of LogEvent)
|
||||||
|
Select Case m_SelDayType
|
||||||
|
Case DayTypes.PERIOD
|
||||||
|
DbList = DbControllers.m_LogMachineController.GetCoreDesc(m_dtStartDate, m_dtEndDate + TimeSpan.FromDays(1)).Select(Of LogEvent)(Function(x) New LogEvent(x)).ToList()
|
||||||
|
Case DayTypes.YESTERDAY
|
||||||
|
DbList = DbControllers.m_LogMachineController.GetCoreDesc(DateTime.Today - TimeSpan.FromDays(1), DateTime.Today).Select(Of LogEvent)(Function(x) New LogEvent(x)).ToList()
|
||||||
|
Case Else ' DayTypes.TODAY
|
||||||
|
DbList = DbControllers.m_LogMachineController.GetCoreDesc(DateTime.Today, DateTime.Today + TimeSpan.FromDays(1)).Select(Of LogEvent)(Function(x) New LogEvent(x)).ToList()
|
||||||
|
End Select
|
||||||
|
If bRefresh OrElse m_MachineLogList.Count < 1 Then
|
||||||
|
m_MachineLogList = New ObservableCollection(Of LogEvent)(DbList)
|
||||||
|
Else
|
||||||
|
' cerco in lista Db ultimo elemento della mia lista
|
||||||
|
Dim LastItem As LogEvent = m_MachineLogList(0)
|
||||||
|
Dim CommonItem As LogEvent = DbList.FirstOrDefault(Function(x) x.EventDateTime = LastItem.EventDateTime AndAlso x.EventType = LastItem.EventType AndAlso x.SupervisorId = LastItem.SupervisorId AndAlso x.Value = LastItem.Value)
|
||||||
|
Dim nCommonItemIndex As Integer
|
||||||
|
If Not IsNothing(CommonItem) Then
|
||||||
|
nCommonItemIndex = DbList.IndexOf(CommonItem)
|
||||||
|
End If
|
||||||
|
' aggiorno i successivi
|
||||||
|
If nCommonItemIndex >= 0 Then
|
||||||
|
For Index = nCommonItemIndex - 1 To 0 Step -1
|
||||||
|
m_MachineLogList.Insert(0, DbList(Index))
|
||||||
|
Next
|
||||||
|
End If
|
||||||
|
End If
|
||||||
NotifyPropertyChanged(NameOf(MachineLogList))
|
NotifyPropertyChanged(NameOf(MachineLogList))
|
||||||
m_MachineLogList_View = CollectionViewSource.GetDefaultView(m_MachineLogList)
|
m_MachineLogList_View = CollectionViewSource.GetDefaultView(m_MachineLogList)
|
||||||
m_MachineLogList_View.Filter = AddressOf MachineLogFilter
|
m_MachineLogList_View.Filter = AddressOf MachineLogFilter
|
||||||
@@ -243,7 +402,7 @@ Public Class MachineLogPageVM
|
|||||||
''' Execute the Open. This method is invoked by the OpenCommand.
|
''' Execute the Open. This method is invoked by the OpenCommand.
|
||||||
''' </summary>
|
''' </summary>
|
||||||
Friend Sub Refresh()
|
Friend Sub Refresh()
|
||||||
UpdateMachineLogList()
|
UpdateMachineLogList(False)
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
#End Region ' Refresh
|
#End Region ' Refresh
|
||||||
|
|||||||
@@ -277,31 +277,31 @@ Public Class MainMenuVM
|
|||||||
|
|
||||||
Private Function InitINPUTS() As Boolean
|
Private Function InitINPUTS() As Boolean
|
||||||
' fermo e riavvio lettura variabili per includere quelle della pagina input
|
' fermo e riavvio lettura variabili per includere quelle della pagina input
|
||||||
MachManaging.AddToCommandList(ThreadCommand.CreateCommand(CommandTypes.STOPREAD_NUMFLEXIUM))
|
MachManaging.CommandList.Add(ThreadCommand.CreateCommand(CommandTypes.STOPREAD_NUMFLEXIUM))
|
||||||
MachManaging.AddToCommandList(ThreadCommand.CreateCommand(CommandTypes.READ_NUMFLEXIUM))
|
MachManaging.CommandList.Add(ThreadCommand.CreateCommand(CommandTypes.READ_NUMFLEXIUM))
|
||||||
Map.refMainWindowVM.NotifyPropertyChanged(NameOf(Map.refMainWindowVM.nSelTabPage))
|
Map.refMainWindowVM.NotifyPropertyChanged(NameOf(Map.refMainWindowVM.nSelTabPage))
|
||||||
Return True
|
Return True
|
||||||
End Function
|
End Function
|
||||||
|
|
||||||
Private Function ExitINPUTS() As Boolean
|
Private Function ExitINPUTS() As Boolean
|
||||||
' fermo e riavvio lettura variabili per includere quelle della pagina input
|
' fermo e riavvio lettura variabili per includere quelle della pagina input
|
||||||
MachManaging.AddToCommandList(ThreadCommand.CreateCommand(CommandTypes.STOPREAD_NUMFLEXIUM))
|
MachManaging.CommandList.Add(ThreadCommand.CreateCommand(CommandTypes.STOPREAD_NUMFLEXIUM))
|
||||||
MachManaging.AddToCommandList(ThreadCommand.CreateCommand(CommandTypes.READ_NUMFLEXIUM))
|
MachManaging.CommandList.Add(ThreadCommand.CreateCommand(CommandTypes.READ_NUMFLEXIUM))
|
||||||
Return True
|
Return True
|
||||||
End Function
|
End Function
|
||||||
|
|
||||||
Private Function InitOUTPUTS() As Boolean
|
Private Function InitOUTPUTS() As Boolean
|
||||||
' fermo e riavvio lettura variabili per includere quelle della pagina input
|
' fermo e riavvio lettura variabili per includere quelle della pagina input
|
||||||
MachManaging.AddToCommandList(ThreadCommand.CreateCommand(CommandTypes.STOPREAD_NUMFLEXIUM))
|
MachManaging.CommandList.Add(ThreadCommand.CreateCommand(CommandTypes.STOPREAD_NUMFLEXIUM))
|
||||||
MachManaging.AddToCommandList(ThreadCommand.CreateCommand(CommandTypes.READ_NUMFLEXIUM))
|
MachManaging.CommandList.Add(ThreadCommand.CreateCommand(CommandTypes.READ_NUMFLEXIUM))
|
||||||
Map.refMainWindowVM.NotifyPropertyChanged(NameOf(Map.refMainWindowVM.nSelTabPage))
|
Map.refMainWindowVM.NotifyPropertyChanged(NameOf(Map.refMainWindowVM.nSelTabPage))
|
||||||
Return True
|
Return True
|
||||||
End Function
|
End Function
|
||||||
|
|
||||||
Private Function ExitOUTPUTS() As Boolean
|
Private Function ExitOUTPUTS() As Boolean
|
||||||
' fermo e riavvio lettura variabili per includere quelle della pagina input
|
' fermo e riavvio lettura variabili per includere quelle della pagina input
|
||||||
MachManaging.AddToCommandList(ThreadCommand.CreateCommand(CommandTypes.STOPREAD_NUMFLEXIUM))
|
MachManaging.CommandList.Add(ThreadCommand.CreateCommand(CommandTypes.STOPREAD_NUMFLEXIUM))
|
||||||
MachManaging.AddToCommandList(ThreadCommand.CreateCommand(CommandTypes.READ_NUMFLEXIUM))
|
MachManaging.CommandList.Add(ThreadCommand.CreateCommand(CommandTypes.READ_NUMFLEXIUM))
|
||||||
Return True
|
Return True
|
||||||
End Function
|
End Function
|
||||||
|
|
||||||
|
|||||||
@@ -234,7 +234,7 @@ Public Class MainWindowVM
|
|||||||
Return
|
Return
|
||||||
End If
|
End If
|
||||||
' disconnetto comunicazione con macchina
|
' disconnetto comunicazione con macchina
|
||||||
MachManaging.AddToCommandList(ThreadCommand.CreateCommand(CommandTypes.DISCONNECT))
|
MachManaging.CommandList.Add(ThreadCommand.CreateCommand(CommandTypes.DISCONNECT))
|
||||||
' termino thread di comunicazione con Db ed altri programmi
|
' termino thread di comunicazione con Db ed altri programmi
|
||||||
ViewerOptimizerCommThread.StopThread()
|
ViewerOptimizerCommThread.StopThread()
|
||||||
' Verifico modifica parametri in Configurazione e chiedo il salvataggio
|
' Verifico modifica parametri in Configurazione e chiedo il salvataggio
|
||||||
|
|||||||
@@ -342,6 +342,11 @@
|
|||||||
<Setter Property="VerticalAlignment" Value="Center"/>
|
<Setter Property="VerticalAlignment" Value="Center"/>
|
||||||
<Setter Property="Margin" Value="10,0,10,0"/>
|
<Setter Property="Margin" Value="10,0,10,0"/>
|
||||||
</Style>
|
</Style>
|
||||||
|
|
||||||
|
<Style x:Key="Log_TextBlock" TargetType="{x:Type TextBlock}" BasedOn="{StaticResource {x:Type TextBlock}}">
|
||||||
|
<Setter Property="VerticalAlignment" Value="Center"/>
|
||||||
|
<Setter Property="Margin" Value="5,0,5,0"/>
|
||||||
|
</Style>
|
||||||
|
|
||||||
<!-- ______________________________________________________________________________________________________________________________________________ -->
|
<!-- ______________________________________________________________________________________________________________________________________________ -->
|
||||||
|
|
||||||
@@ -720,4 +725,13 @@
|
|||||||
|
|
||||||
<!-- ______________________________________________________________________________________________________________________________________________ -->
|
<!-- ______________________________________________________________________________________________________________________________________________ -->
|
||||||
|
|
||||||
|
|
||||||
|
<!-- DatePicker -->
|
||||||
|
|
||||||
|
<Style x:Key="Log_DatePicker" TargetType="{x:Type DatePicker}">
|
||||||
|
<Setter Property="Height" Value="22" />
|
||||||
|
</Style>
|
||||||
|
|
||||||
|
<!-- ______________________________________________________________________________________________________________________________________________ -->
|
||||||
|
|
||||||
</ResourceDictionary>
|
</ResourceDictionary>
|
||||||
|
|||||||
@@ -64,7 +64,7 @@ Public Class Variable
|
|||||||
Return CommVar.sValue
|
Return CommVar.sValue
|
||||||
End Get
|
End Get
|
||||||
Set(value As String)
|
Set(value As String)
|
||||||
MachManaging.AddToCommandList(ThreadCommand.CreateCommand(CommandTypes.WRITE, {CommVar.nType}, Nothing, {CommVar.sAddress, value}))
|
MachManaging.CommandList.Add(ThreadCommand.CreateCommand(CommandTypes.WRITE, {CommVar.nType}, Nothing, {CommVar.sAddress, value}))
|
||||||
NotifyPropertyChanged(NameOf(sValue))
|
NotifyPropertyChanged(NameOf(sValue))
|
||||||
End Set
|
End Set
|
||||||
End Property
|
End Property
|
||||||
|
|||||||
Reference in New Issue
Block a user