161 lines
5.3 KiB
VB.net
161 lines
5.3 KiB
VB.net
Imports EgtBEAMWALL.Core.ConstMachComm
|
|
|
|
Class MachineCommThread
|
|
|
|
' variabile che ferma il ciclo
|
|
Private Shared m_Stop As Boolean = False
|
|
Private Shared m_StartTick As Boolean = False
|
|
|
|
Friend Shared Sub StopThread()
|
|
m_Stop = True
|
|
End Sub
|
|
Friend Shared Sub StartTick()
|
|
m_StartTick = True
|
|
End Sub
|
|
|
|
' variabile in cui ci sono stati inizio e fine pezzo
|
|
Private Shared sP1VarName As String = "0.FUNM.E81295"
|
|
Private Shared sP2VarName As String = "0.FUNM.E81296"
|
|
Private Shared sP3VarName As String = "0.FUNM.E81297"
|
|
Private Shared sP4VarName As String = "0.FUNM.E81298"
|
|
Private Shared sResetVarName As String = "0.FUNM.E80048"
|
|
|
|
Public Shared Sub MachManagingThreadFunction(ResultCallbackDlg As ResultCallbackDlg, CloseCallbackDlg As CloseCallbackDlg, UpdateCallbackDlg As UpdateCallbackDlg,
|
|
TPAAlarmCallbackDlg As TPAAlarmCallbackDlg, NUMAlarmCallbackDlg As NUMAlarmCallbackDlg, AxisCoordinatesCallbackDlg As AxisCoordinatesCallbackDlg,
|
|
OpStateCallbackDlg As OpStateCallbackDlg, OpModeCallbackDlg As OpModeCallbackDlg, ChannelCallbackDlg As ChannelCallbackDlg,
|
|
ReadVarCallbackDlg As ReadVarCallbackDlg)
|
|
' inizializzo callback
|
|
m_ResultCallbackDlg = ResultCallbackDlg
|
|
m_CloseCallbackDlg = CloseCallbackDlg
|
|
m_UpdateCallbackDlg = UpdateCallbackDlg
|
|
m_TPAAlarmCallbackDlg = TPAAlarmCallbackDlg
|
|
m_NUMAlarmCallbackDlg = NUMAlarmCallbackDlg
|
|
m_AxisCoordinatesCallbackDlg = AxisCoordinatesCallbackDlg
|
|
m_OpStateCallbackDlg = OpStateCallbackDlg
|
|
m_OpModeCallbackDlg = OpModeCallbackDlg
|
|
m_ChannelCallbackDlg = ChannelCallbackDlg
|
|
m_ReadVarCallbackDlg = ReadVarCallbackDlg
|
|
|
|
' creo classe di comunicazione
|
|
Dim m_MachManaging As MachManaging = New MachManaging()
|
|
|
|
While Not m_Stop
|
|
' eseguo ciclo principale che tiene vivo il thread
|
|
If m_StartTick Then
|
|
m_MachManaging.Timer_Tick()
|
|
End If
|
|
Threading.Thread.Sleep(TimeSpan.FromMilliseconds(1000))
|
|
End While
|
|
|
|
End Sub
|
|
|
|
End Class
|
|
|
|
Public Class ThreadCommand
|
|
|
|
Public Enum ProcessingStatuses
|
|
WAITING = 1
|
|
PROCESSING = 2
|
|
DONE = 3
|
|
End Enum
|
|
|
|
Private m_CommandType As CommandTypes
|
|
Public ReadOnly Property CommandType As CommandTypes
|
|
Get
|
|
Return m_CommandType
|
|
End Get
|
|
End Property
|
|
|
|
Private m_nVariables(5) As Integer
|
|
Public ReadOnly Property nVariable As Integer
|
|
Get
|
|
Return m_nVariables(0)
|
|
End Get
|
|
End Property
|
|
Public ReadOnly Property nVariables As Integer()
|
|
Get
|
|
Return m_nVariables
|
|
End Get
|
|
End Property
|
|
Private m_dVariables(5) As Double
|
|
Public ReadOnly Property dVariable As Double
|
|
Get
|
|
Return m_dVariables(0)
|
|
End Get
|
|
End Property
|
|
Public ReadOnly Property dVariables As Double()
|
|
Get
|
|
Return m_dVariables
|
|
End Get
|
|
End Property
|
|
Private m_sVariables(5) As String
|
|
Public ReadOnly Property sVariable As String
|
|
Get
|
|
Return m_sVariables(0)
|
|
End Get
|
|
End Property
|
|
Public ReadOnly Property sVariables As String()
|
|
Get
|
|
Return m_sVariables
|
|
End Get
|
|
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()
|
|
End Sub
|
|
|
|
Public Shared Function CreateCommand(CommandType As CommandTypes) As ThreadCommand
|
|
Dim NewCommand As New ThreadCommand With {
|
|
.m_CommandType = CommandType
|
|
}
|
|
Return NewCommand
|
|
End Function
|
|
Public Shared Function CreateCommand(CommandType As CommandTypes, Variable As Integer) As ThreadCommand
|
|
Dim NewCommand As ThreadCommand = New ThreadCommand With {
|
|
.m_CommandType = CommandType
|
|
}
|
|
NewCommand.m_nVariables(0) = Variable
|
|
Return NewCommand
|
|
End Function
|
|
Public Shared Function CreateCommand(CommandType As CommandTypes, Variable As Double) As ThreadCommand
|
|
Dim NewCommand As New ThreadCommand With {
|
|
.m_CommandType = CommandType
|
|
}
|
|
NewCommand.m_dVariables(0) = Variable
|
|
Return NewCommand
|
|
End Function
|
|
Public Shared Function CreateCommand(CommandType As CommandTypes, Variable As String) As ThreadCommand
|
|
Dim NewCommand As New ThreadCommand With {
|
|
.m_CommandType = CommandType
|
|
}
|
|
NewCommand.m_sVariables(0) = Variable
|
|
Return NewCommand
|
|
End Function
|
|
Public Shared Function CreateCommand(CommandType As CommandTypes, nVariables() As Integer, dVariables() As Double, sVariables() As String) As ThreadCommand
|
|
Dim NewCommand As New ThreadCommand With {
|
|
.m_CommandType = CommandType,
|
|
.m_nVariables = nVariables,
|
|
.m_dVariables = dVariables,
|
|
.m_sVariables = sVariables
|
|
}
|
|
Return NewCommand
|
|
End Function
|
|
Public Shared Function CreateReadCommand(sVariable As String) As ThreadCommand
|
|
Dim NewCommand As New ThreadCommand With {
|
|
.m_CommandType = CommandTypes.READ_TPA
|
|
}
|
|
NewCommand.m_sVariables(0) = sVariable
|
|
Return NewCommand
|
|
End Function
|
|
|
|
End Class
|