Compare commits
2 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| fa0bdaba59 | |||
| 95d5baebc9 |
@@ -102,7 +102,15 @@ Public Class Axis
|
|||||||
End Property
|
End Property
|
||||||
|
|
||||||
Friend Sub SetValue(value As Double)
|
Friend Sub SetValue(value As Double)
|
||||||
m_dValue = value
|
Select Case Type
|
||||||
|
Case AxisTypes.LINEAR
|
||||||
|
m_dValue = value / 1000
|
||||||
|
Case AxisTypes.ROTATIONAL
|
||||||
|
m_dValue = value / 10000
|
||||||
|
Case Else
|
||||||
|
m_dValue = value
|
||||||
|
|
||||||
|
End Select
|
||||||
NotifyPropertyChanged(NameOf(dValue))
|
NotifyPropertyChanged(NameOf(dValue))
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
|
|||||||
+243
@@ -0,0 +1,243 @@
|
|||||||
|
Imports System
|
||||||
|
Imports System.Collections.Generic
|
||||||
|
Imports System.Linq
|
||||||
|
Imports System.Runtime.Remoting.Channels
|
||||||
|
Imports System.Runtime.Remoting.Channels.Ipc
|
||||||
|
Imports System.Security.Permissions
|
||||||
|
Imports System.Text
|
||||||
|
Imports System.Threading.Tasks
|
||||||
|
Imports System.Windows
|
||||||
|
Imports ISOCNC.Remoting
|
||||||
|
|
||||||
|
Class Comm
|
||||||
|
|
||||||
|
' creo classe di gestione variabili
|
||||||
|
Private m_RWVariableManager As RWVariableManager
|
||||||
|
Friend ReadOnly Property RWVariableManager As RWVariableManager
|
||||||
|
Get
|
||||||
|
Return m_RWVariableManager
|
||||||
|
End Get
|
||||||
|
End Property
|
||||||
|
|
||||||
|
Private m_MachManaging As MachManaging
|
||||||
|
Friend ReadOnly Property MachManaging As MachManaging
|
||||||
|
Get
|
||||||
|
Return m_MachManaging
|
||||||
|
End Get
|
||||||
|
End Property
|
||||||
|
|
||||||
|
Private _axesVal As Double() = New Double(23) {}
|
||||||
|
Private _cmdActive As Integer = 0
|
||||||
|
Private m_opState As ISOCNC.Remoting.MachineOperatingState = ISOCNC.Remoting.MachineOperatingState.Unspecified
|
||||||
|
Public ReadOnly Property opState As ISOCNC.Remoting.MachineOperatingState
|
||||||
|
Get
|
||||||
|
Return m_opState
|
||||||
|
End Get
|
||||||
|
End Property
|
||||||
|
Private _remObject As ISOCNC.Remoting_Server
|
||||||
|
|
||||||
|
Public ReadOnly Property remObject As ISOCNC.Remoting_Server
|
||||||
|
Get
|
||||||
|
Return _remObject
|
||||||
|
End Get
|
||||||
|
End Property
|
||||||
|
|
||||||
|
Private serverURI As String = "ipc://localhost:9090/IRemoteObject.rem"
|
||||||
|
Private m_eventProxy As ISOCNC.Remoting.EventProxyManager
|
||||||
|
Friend ReadOnly Property eventProxy As ISOCNC.Remoting.EventProxyManager
|
||||||
|
Get
|
||||||
|
Return m_eventProxy
|
||||||
|
End Get
|
||||||
|
End Property
|
||||||
|
Private _rpc As Integer
|
||||||
|
Private _prgCount As Integer
|
||||||
|
Private _prgAtIndex As String
|
||||||
|
Private _prgList As String()
|
||||||
|
Private _prgListUpdated As Boolean
|
||||||
|
Private _errCycle As String
|
||||||
|
Private _iso As String
|
||||||
|
Private _message As String
|
||||||
|
Private _errSystem As String
|
||||||
|
|
||||||
|
Private m_Proxy_CommandExecutedEventHandler As New CommandExecutedEventHandler(AddressOf RemoteObject_CommandExecuted)
|
||||||
|
Private m_Proxy_ServerErrorEventHandler As New ServerErrorEventHandler(AddressOf RemoteObject_ServerError)
|
||||||
|
Private m_Proxy_AxesCoordinatesUpdateEventHandler As New AxesCoordinatesUpdateEventHandler(AddressOf RemoteObject_AxisCoordinatesUpdate)
|
||||||
|
Private m_Proxy_OpStateUpdateEventHandler As New OpStateUpdateEventHandler(AddressOf RemoteObject_OpStateUpdate)
|
||||||
|
Private m_Proxy_AlarmNotificationEventHandler As New AlarmNotificationEventHandler(AddressOf RemoteObject_AlarmNotification)
|
||||||
|
Private m_Proxy_ListInfoEventHandler As New ListInfoEventHandler(AddressOf RemoteObject_ListInfoResponse)
|
||||||
|
Private m_Proxy_RPCUpdateEventHandler As New RPCUpdateEventHandler(AddressOf RemoteObject_RPCUpdate)
|
||||||
|
Private m_Proxy_VariableCommandExecutedEventHandler As New VariableCommandExecutedEventHandler(AddressOf RemoteObject_VariableCommandExecuted)
|
||||||
|
Private m_Proxy_TickUpdateEventHandler As New TickUpdateEventHandler(AddressOf RemoteObject_TickUpdate)
|
||||||
|
Private m_Rem_CommandExecutedEventHandler As CommandExecutedEventHandler
|
||||||
|
Private m_Rem_ServerErrorEventHandler As ServerErrorEventHandler
|
||||||
|
Private m_Rem_AxesCoordinatesUpdateEventHandler As AxesCoordinatesUpdateEventHandler
|
||||||
|
Private m_Rem_OpStateUpdateEventHandler As OpStateUpdateEventHandler
|
||||||
|
Private m_Rem_AlarmNotificationEventHandler As AlarmNotificationEventHandler
|
||||||
|
Private m_Rem_ListInfoEventHandler As ListInfoEventHandler
|
||||||
|
Private m_Rem_RPCUpdateEventHandler As RPCUpdateEventHandler
|
||||||
|
Private m_Rem_VariableCommandExecutedEventHandler As VariableCommandExecutedEventHandler
|
||||||
|
|
||||||
|
|
||||||
|
<SecurityPermission(SecurityAction.Demand)>
|
||||||
|
Public Sub New(Machmanaging As MachManaging)
|
||||||
|
m_MachManaging = Machmanaging
|
||||||
|
Dim properties As System.Collections.Hashtable = New System.Collections.Hashtable()
|
||||||
|
properties("name") = "remotingClient"
|
||||||
|
properties("priority") = "20"
|
||||||
|
properties("portName") = "67"
|
||||||
|
Dim clientProv As BinaryClientFormatterSinkProvider = New BinaryClientFormatterSinkProvider()
|
||||||
|
Dim serverProv As BinaryServerFormatterSinkProvider = New BinaryServerFormatterSinkProvider()
|
||||||
|
serverProv.TypeFilterLevel = System.Runtime.Serialization.Formatters.TypeFilterLevel.Full
|
||||||
|
Dim channel As IpcChannel = New IpcChannel(properties, clientProv, serverProv)
|
||||||
|
System.Runtime.Remoting.Channels.ChannelServices.RegisterChannel(channel, False)
|
||||||
|
Dim remoteType As System.Runtime.Remoting.WellKnownClientTypeEntry = New System.Runtime.Remoting.WellKnownClientTypeEntry(GetType(ISOCNC.Remoting_Server), serverURI)
|
||||||
|
System.Runtime.Remoting.RemotingConfiguration.RegisterWellKnownClientType(remoteType)
|
||||||
|
Dim objectUri As String
|
||||||
|
Dim messageSink As System.Runtime.Remoting.Messaging.IMessageSink = channel.CreateMessageSink("ipc://localhost:9090/IRemoteObject.rem", Nothing, objectUri)
|
||||||
|
Console.WriteLine("The URI of the message sink is {0}.", objectUri)
|
||||||
|
|
||||||
|
If messageSink IsNot Nothing Then
|
||||||
|
Console.WriteLine("The type of the message sink is {0}.", messageSink.[GetType]().ToString())
|
||||||
|
End If
|
||||||
|
|
||||||
|
m_eventProxy = New ISOCNC.Remoting.EventProxyManager()
|
||||||
|
AddHandler m_eventProxy.CommandExecuted, m_Proxy_CommandExecutedEventHandler
|
||||||
|
AddHandler m_eventProxy.ServerError, m_Proxy_ServerErrorEventHandler
|
||||||
|
AddHandler m_eventProxy.AxisCoordinatesUpdate, m_Proxy_AxesCoordinatesUpdateEventHandler
|
||||||
|
AddHandler m_eventProxy.OpStateUpdate, m_Proxy_OpStateUpdateEventHandler
|
||||||
|
AddHandler m_eventProxy.AlarmNotification, m_Proxy_AlarmNotificationEventHandler
|
||||||
|
AddHandler m_eventProxy.ListInfoResponse, m_Proxy_ListInfoEventHandler
|
||||||
|
AddHandler m_eventProxy.RPCUpdate, m_Proxy_RPCUpdateEventHandler
|
||||||
|
AddHandler m_eventProxy.VariableCommandExecuted, m_Proxy_VariableCommandExecutedEventHandler
|
||||||
|
AddHandler m_eventProxy.TickUpdate, m_Proxy_TickUpdateEventHandler
|
||||||
|
|
||||||
|
_remObject = CType(Activator.GetObject(GetType(ISOCNC.Remoting_Server), serverURI), ISOCNC.Remoting_Server)
|
||||||
|
Try
|
||||||
|
m_Rem_CommandExecutedEventHandler = New CommandExecutedEventHandler(AddressOf m_eventProxy.LocallyHandleCommandExecuted)
|
||||||
|
m_Rem_ServerErrorEventHandler = New ServerErrorEventHandler(AddressOf m_eventProxy.LocallyHandleServerError)
|
||||||
|
m_Rem_AxesCoordinatesUpdateEventHandler = New AxesCoordinatesUpdateEventHandler(AddressOf m_eventProxy.LocallyHandleAxisCoordinatesUpdate)
|
||||||
|
m_Rem_OpStateUpdateEventHandler = New OpStateUpdateEventHandler(AddressOf m_eventProxy.LocallyHandleOpStateUpdate)
|
||||||
|
m_Rem_AlarmNotificationEventHandler = New AlarmNotificationEventHandler(AddressOf m_eventProxy.LocallyHandleAlarmNotification)
|
||||||
|
m_Rem_ListInfoEventHandler = New ListInfoEventHandler(AddressOf m_eventProxy.LocallyHandleListInfo)
|
||||||
|
m_Rem_RPCUpdateEventHandler = New RPCUpdateEventHandler(AddressOf m_eventProxy.LocallyHandleRPCUpdate)
|
||||||
|
m_Rem_VariableCommandExecutedEventHandler = New VariableCommandExecutedEventHandler(AddressOf m_eventProxy.LocallyHandleVariableCommandExecuted)
|
||||||
|
AddHandler _remObject.CommandExecuted, m_Rem_CommandExecutedEventHandler
|
||||||
|
AddHandler _remObject.ServerError, m_Rem_ServerErrorEventHandler
|
||||||
|
AddHandler _remObject.AxisCoordinatesUpdate, m_Rem_AxesCoordinatesUpdateEventHandler
|
||||||
|
AddHandler _remObject.OpStateUpdate, m_Rem_OpStateUpdateEventHandler
|
||||||
|
AddHandler _remObject.AlarmNotification, m_Rem_AlarmNotificationEventHandler
|
||||||
|
AddHandler _remObject.ListInfoResponse, m_Rem_ListInfoEventHandler
|
||||||
|
AddHandler _remObject.RPCUpdate, m_Rem_RPCUpdateEventHandler
|
||||||
|
AddHandler _remObject.VariableCommandExecuted, m_Rem_VariableCommandExecutedEventHandler
|
||||||
|
Catch ex As System.Runtime.Remoting.RemotingException
|
||||||
|
Dim dR As MessageBoxResult = MessageBox.Show(ex.Message)
|
||||||
|
End Try
|
||||||
|
' creo classe che gestisce variabili
|
||||||
|
m_RWVariableManager = RWVariableManager.CreateRWVariableManager(Me)
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Friend Sub OnDispose()
|
||||||
|
RemoveHandler _remObject.CommandExecuted, m_Rem_CommandExecutedEventHandler
|
||||||
|
RemoveHandler _remObject.ServerError, m_Rem_ServerErrorEventHandler
|
||||||
|
RemoveHandler _remObject.AxisCoordinatesUpdate, m_Rem_AxesCoordinatesUpdateEventHandler
|
||||||
|
RemoveHandler _remObject.OpStateUpdate, m_Rem_OpStateUpdateEventHandler
|
||||||
|
RemoveHandler _remObject.AlarmNotification, m_Rem_AlarmNotificationEventHandler
|
||||||
|
RemoveHandler _remObject.ListInfoResponse, m_Rem_ListInfoEventHandler
|
||||||
|
RemoveHandler _remObject.RPCUpdate, m_Rem_RPCUpdateEventHandler
|
||||||
|
RemoveHandler _remObject.VariableCommandExecuted, m_Rem_VariableCommandExecutedEventHandler
|
||||||
|
RemoveHandler m_eventProxy.CommandExecuted, m_Proxy_CommandExecutedEventHandler
|
||||||
|
RemoveHandler m_eventProxy.ServerError, m_Proxy_ServerErrorEventHandler
|
||||||
|
RemoveHandler m_eventProxy.AxisCoordinatesUpdate, m_Proxy_AxesCoordinatesUpdateEventHandler
|
||||||
|
RemoveHandler m_eventProxy.OpStateUpdate, m_Proxy_OpStateUpdateEventHandler
|
||||||
|
RemoveHandler m_eventProxy.AlarmNotification, m_Proxy_AlarmNotificationEventHandler
|
||||||
|
RemoveHandler m_eventProxy.ListInfoResponse, m_Proxy_ListInfoEventHandler
|
||||||
|
RemoveHandler m_eventProxy.RPCUpdate, m_Proxy_RPCUpdateEventHandler
|
||||||
|
RemoveHandler m_eventProxy.VariableCommandExecuted, m_Proxy_VariableCommandExecutedEventHandler
|
||||||
|
RemoveHandler m_eventProxy.TickUpdate, m_Proxy_TickUpdateEventHandler
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Private Sub RemoteObject_OpStateUpdate(ByVal newOpState As ISOCNC.Remoting.MachineOperatingState)
|
||||||
|
' resetto stato pending iniziale
|
||||||
|
If Map.refMachManaging.StartPending AndAlso newOpState = MachineOperatingState.Pending Then
|
||||||
|
MachManaging.ResetStartPending()
|
||||||
|
End If
|
||||||
|
m_opState = newOpState
|
||||||
|
m_OpStateCallbackDlg(newOpState)
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Private Sub RemoteObject_CommandExecuted(ByVal executedCommand As Integer)
|
||||||
|
Select Case executedCommand
|
||||||
|
Case CInt(ISOCNC.Remoting.Commands.NoCommand)
|
||||||
|
Case CInt(ISOCNC.Remoting.Commands.[End])
|
||||||
|
m_ResultCallbackDlg(CommandTypes.RESET, CommandStates.OK, ResultTypes.RESULT, "")
|
||||||
|
Case CInt(ISOCNC.Remoting.Commands.[Error])
|
||||||
|
m_ResultCallbackDlg(CommandTypes.ERROR_, CommandStates.ERROR_, ResultTypes.RESULT, "")
|
||||||
|
Case CInt(ISOCNC.Remoting.Commands.MDI_End)
|
||||||
|
Case CInt(ISOCNC.Remoting.Commands.MDI_Start)
|
||||||
|
Case CInt(ISOCNC.Remoting.Commands.MDI_Stop)
|
||||||
|
Case CInt(ISOCNC.Remoting.Commands.SetPoint)
|
||||||
|
m_ResultCallbackDlg(CommandTypes.SETPOINT, CommandStates.OK, ResultTypes.RESULT, "")
|
||||||
|
Case CInt(ISOCNC.Remoting.Commands.Start)
|
||||||
|
m_ResultCallbackDlg(CommandTypes.START, CommandStates.OK, ResultTypes.RESULT, "")
|
||||||
|
Case CInt(ISOCNC.Remoting.Commands.[Step])
|
||||||
|
m_ResultCallbackDlg(CommandTypes.STEP_, CommandStates.OK, ResultTypes.RESULT, "")
|
||||||
|
Case CInt(ISOCNC.Remoting.Commands.[Stop])
|
||||||
|
m_ResultCallbackDlg(CommandTypes.STOP_, CommandStates.OK, ResultTypes.RESULT, "")
|
||||||
|
Case CInt(ISOCNC.Remoting.Commands.Start_Program_Soft)
|
||||||
|
m_ResultCallbackDlg(CommandTypes.SOFTSTART, CommandStates.OK, ResultTypes.RESULT, "")
|
||||||
|
Case Else
|
||||||
|
End Select
|
||||||
|
_cmdActive = CInt(executedCommand)
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Private Sub RemoteObject_ServerError(ByVal sender As Object, ByVal seEA As ISOCNC.Remoting.ServerErrorEventArgs)
|
||||||
|
m_ResultCallbackDlg(CommandTypes.ERROR_, CommandStates.ERROR_, ResultTypes.RESULT, "Server Error: " & seEA.[Error])
|
||||||
|
Dim dr As MessageBoxResult = MessageBox.Show("Server Error: " & seEA.[Error])
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Private Sub RemoteObject_AxisCoordinatesUpdate(ByVal axisValue As Double, ByVal axisIndex As Integer)
|
||||||
|
m_AxisCoordinatesCallbackDlg(axisValue, axisIndex)
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Private Sub RemoteObject_RPCUpdate(ByVal newRPC As UInteger)
|
||||||
|
_rpc = CInt(newRPC)
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Private Sub RemoteObject_ListInfoResponse(ByVal prgCount As Integer, ByVal prgAtIndex As String, ByVal prgList As String())
|
||||||
|
If prgCount >= 0 Then
|
||||||
|
_prgCount = prgCount
|
||||||
|
End If
|
||||||
|
|
||||||
|
If prgAtIndex <> "" Then
|
||||||
|
_prgAtIndex = prgAtIndex
|
||||||
|
End If
|
||||||
|
|
||||||
|
If prgList IsNot Nothing AndAlso prgList.Length > 0 Then
|
||||||
|
_prgList = prgList
|
||||||
|
_prgListUpdated = True
|
||||||
|
End If
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Private Sub RemoteObject_AlarmNotification(ByVal alarmOperation As Integer, ByVal alarmType As Integer, ByVal alarmMessage As String, ByVal alarmCode As String, ByVal alarmDateTime As String)
|
||||||
|
' restituisco errore ad interfaccia
|
||||||
|
m_AlarmCallbackDlg(alarmOperation, alarmType, alarmMessage, alarmCode, alarmDateTime)
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Private Sub RemoteObject_VariableCommandExecuted(ByVal executedCommand As Integer, ByVal commandExecutedCorrectly As Boolean, ByVal varName As String, ByVal varValue As String, ByVal varType As Integer)
|
||||||
|
' riporto valore variabile su array
|
||||||
|
Select Case executedCommand
|
||||||
|
Case VariableCommands.Error
|
||||||
|
Case VariableCommands.NotExecuted
|
||||||
|
Case VariableCommands.ReadVar
|
||||||
|
m_RWVariableManager.UpdateVar(commandExecutedCorrectly, varName, varValue, varType)
|
||||||
|
Case VariableCommands.WriteVar
|
||||||
|
m_ResultCallbackDlg(CommandTypes.WRITE, If(commandExecutedCorrectly, CommandStates.OK, CommandStates.ERROR_), ResultTypes.RESULT, varName & "=" & varValue)
|
||||||
|
Case VariableCommands.ReadAxis
|
||||||
|
Case VariableCommands.ReadAny
|
||||||
|
End Select
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Private Sub RemoteObject_TickUpdate(ByVal newTick As ULong)
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
End Class
|
||||||
+715
-124
@@ -1,53 +1,169 @@
|
|||||||
Imports EgtUILib
|
Imports EgtUILib
|
||||||
|
Imports EgtWPFLib5
|
||||||
|
|
||||||
Public Class NUMFlexiumComm
|
Public Class NUMFlexiumComm
|
||||||
|
|
||||||
|
Enum CNMode As Integer
|
||||||
|
AUTO = 0
|
||||||
|
SINGLE_ = 1
|
||||||
|
MDI = 2
|
||||||
|
MANUAL = 7
|
||||||
|
End Enum
|
||||||
|
|
||||||
|
Private m_MachManaging As MachManaging
|
||||||
|
Friend ReadOnly Property MachManaging As MachManaging
|
||||||
|
Get
|
||||||
|
Return m_MachManaging
|
||||||
|
End Get
|
||||||
|
End Property
|
||||||
|
|
||||||
Private objDRunTimeSystem As FXServer.DRunTimeSystem
|
Private objDRunTimeSystem As FXServer.DRunTimeSystem
|
||||||
Private objDGroupManager As FXServer.DGroupManager
|
Private objDGroupManager As FXServer.DGroupManager
|
||||||
Private objDGeneralFunction As FXServer.DGeneralFunctions
|
Private objDGeneralFunction As FXServer.DGeneralFunctions
|
||||||
Private objDMainCncData As FXServer.DMainCncData
|
Private objDMainCncData As FXServer.DMainCncData
|
||||||
Private IsFlexiumPlus As Boolean = False
|
Private objErrorHandler As FXLog.ErrorHandler
|
||||||
|
Private objDPlcVariables As FXServer.DPlcVariables
|
||||||
|
Private objDReadELS As FXServer.DReadELS
|
||||||
|
Private objDFileTransfer As FXServer.DFileTransfer
|
||||||
|
Private objDPosition As FXServer.DPosition
|
||||||
|
Private objDMdiCommand As FXServer.DMdiCommand
|
||||||
|
Private objDVariables As FXServer.DVariables
|
||||||
|
Private objDCncMode As FXServer.DCncMode
|
||||||
|
|
||||||
|
Private m_IsFlexiumPlus As Boolean = False
|
||||||
|
Private m_CNCVersion As String = ""
|
||||||
Private _PartProgramNumber As Single
|
Private _PartProgramNumber As Single
|
||||||
Private _CNCAxisChannelArray As String() = New String() {"Channel 1", "Channel 2"}
|
Private _CNCAxisChannelArray As String() = New String() {"Channel 1", "Channel 2"}
|
||||||
|
Private m_ChannelList As New List(Of String)
|
||||||
|
' Arraylist for read out the messages
|
||||||
|
Private _ReadFXMessages As New ArrayList
|
||||||
|
' lista variabili in lettura
|
||||||
|
Private Shared m_ReadingVars(19) As CommVar
|
||||||
|
Private m_BytesTransferedCounter As Integer
|
||||||
|
Private m_LinearAxisPrecision As Integer
|
||||||
|
|
||||||
|
Public Sub New(MachManaging As MachManaging)
|
||||||
|
m_MachManaging = MachManaging
|
||||||
|
End Sub
|
||||||
|
|
||||||
'Private Sub MainForm_Load(ByVal sender As Object, ByVal e As EventArgs)
|
#Region "METHODS"
|
||||||
' _comboCncAxisChannel.Items.AddRange(_CNCAxisChannelArray)
|
|
||||||
'End Sub
|
|
||||||
|
|
||||||
Private Sub InitFxServer()
|
Friend Sub InitFxServer()
|
||||||
objDRunTimeSystem = New FXServer.DRunTimeSystem()
|
objDRunTimeSystem = New FXServer.DRunTimeSystem()
|
||||||
objDRunTimeSystem.ServerInitializationFinished += New FXServer.IDRunTimeSystemEvents_ServerInitializationFinishedEventHandler(AddressOf objDRunTimeSystem_ServerInitializationFinished)
|
AddHandler objDRunTimeSystem.ServerInitializationFinished, AddressOf objDRunTimeSystem_ServerInitializationFinished
|
||||||
objDRunTimeSystem.ServerReinitializationStarted += New FXServer.IDRunTimeSystemEvents_ServerReinitializationStartedEventHandler(AddressOf objDRunTimeSystem_ServerReinitializationStarted)
|
AddHandler objDRunTimeSystem.ServerReinitializationStarted, AddressOf objDRunTimeSystem_ServerReinitializationStarted
|
||||||
objDRunTimeSystem.Init()
|
objDRunTimeSystem.Init()
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Private Sub InitFxObjects()
|
Private Sub InitFxObjects()
|
||||||
objDGroupManager = New FXServer.DGroupManager()
|
objDGroupManager = New FXServer.DGroupManager()
|
||||||
objDGroupManager.ErrorHandler += New FXServer.IDGroupManagerEvents_ErrorHandlerEventHandler(AddressOf objDGroupManager_ErrorHandler)
|
AddHandler objDGroupManager.ErrorHandler, AddressOf objDGroupManager_ErrorHandler
|
||||||
objDGroupManager.CncNumber = 0
|
objDGroupManager.CncNumber = 0
|
||||||
|
objDGroupManager.AxisGroup = 0
|
||||||
|
|
||||||
objDGeneralFunction = New FXServer.DGeneralFunctions()
|
objDGeneralFunction = New FXServer.DGeneralFunctions()
|
||||||
objDGeneralFunction.ProgramActivated += New FXServer.IDGeneralFunctionsEvents_ProgramActivatedEventHandler(AddressOf objDGeneralFunction_ProgramActivated)
|
AddHandler objDGeneralFunction.ProgramActivated, AddressOf objDGeneralFunction_ProgramActivated
|
||||||
objDGeneralFunction.OnCncStart += New FXServer.IDGeneralFunctionsEvents_OnCncStartEventHandler(AddressOf objDGeneralFunction_OnCncStart)
|
AddHandler objDGeneralFunction.OnCncStart, AddressOf objDGeneralFunction_OnCncStart
|
||||||
objDGeneralFunction.OnCncStop += New FXServer.IDGeneralFunctionsEvents_OnCncStopEventHandler(AddressOf objDGeneralFunction_OnCncStop)
|
AddHandler objDGeneralFunction.OnCncStop, AddressOf objDGeneralFunction_OnCncStop
|
||||||
objDGeneralFunction.OnCncReset += New FXServer.IDGeneralFunctionsEvents_OnCncResetEventHandler(AddressOf objDGeneralFunction_OnCncReset)
|
AddHandler objDGeneralFunction.OnCncReset, AddressOf objDGeneralFunction_OnCncReset
|
||||||
objDGeneralFunction.CncModeWritten += New FXServer.IDGeneralFunctionsEvents_CncModeWrittenEventHandler(AddressOf objDGeneralFunction_CncModeWritten)
|
AddHandler objDGeneralFunction.CncModeWritten, AddressOf objDGeneralFunction_CncModeWritten
|
||||||
objDGeneralFunction.VariableWritten += New FXServer.IDGeneralFunctionsEvents_VariableWrittenEventHandler(AddressOf objDGeneralFunction_VariableWritten)
|
AddHandler objDGeneralFunction.VariableWritten, AddressOf objDGeneralFunction_VariableWritten
|
||||||
objDGeneralFunction.OnSkipLevelWritten += New FXServer.IDGeneralFunctionsEvents_OnSkipLevelWrittenEventHandler(AddressOf objDGeneralFunction_OnSkipLevelWritten)
|
|
||||||
objDGeneralFunction.Init(objDGroupManager.Handle)
|
objDGeneralFunction.Init(objDGroupManager.Handle)
|
||||||
objDMainCncData = New FXServer.DMainCncData()
|
objDMainCncData = New FXServer.DMainCncData()
|
||||||
objDMainCncData.Init(objDGroupManager.Handle)
|
objDMainCncData.Init(objDGroupManager.Handle)
|
||||||
|
m_LinearAxisPrecision = objDMainCncData.GetLinearPrecision()
|
||||||
Dim CncFxIdentifier As String = objDMainCncData.GetCncIdentifier()
|
Dim CncFxIdentifier As String = objDMainCncData.GetCncIdentifier()
|
||||||
EgtOutLog("CncFxIdentifier: " & CncFxIdentifier)
|
EgtOutLog("CncFxIdentifier: " & CncFxIdentifier)
|
||||||
'_txtGetCncIdentification.Invoke(CType(Function()
|
|
||||||
' _txtGetCncIdentification.Text = CncFxIdentifier
|
|
||||||
' End Function, MethodInvoker))
|
|
||||||
|
|
||||||
If CncFxIdentifier = "Flexium 6" OrElse CncFxIdentifier = "Flexium 8" OrElse CncFxIdentifier = "Flexium 68" Then
|
m_IsFlexiumPlus = Not (CncFxIdentifier = "Flexium 6" OrElse CncFxIdentifier = "Flexium 8" OrElse CncFxIdentifier = "Flexium 68")
|
||||||
IsFlexiumPlus = False
|
|
||||||
Else
|
m_CNCVersion = objDMainCncData.GetCncVersion()
|
||||||
IsFlexiumPlus = True
|
|
||||||
End If
|
' Initialize for Channel Change
|
||||||
|
Dim CncGroupNumber As Integer = objDMainCncData.GetCncGroupNumber()
|
||||||
|
Dim PlcGroupNumber As Integer = objDMainCncData.GetPlcGroupNumber()
|
||||||
|
|
||||||
|
Dim sumChannels As Integer = 0
|
||||||
|
sumChannels = PlcGroupNumber + CncGroupNumber
|
||||||
|
For i = 1 To sumChannels
|
||||||
|
m_ChannelList.Add(i)
|
||||||
|
Next
|
||||||
|
|
||||||
|
' Initialize FXLog Objects
|
||||||
|
objErrorHandler = New FXLog.ErrorHandler()
|
||||||
|
AddHandler objErrorHandler.ErrorFromActiveCnc2, AddressOf objErrorHandler_ErrorFromActiveCnc2
|
||||||
|
AddHandler objErrorHandler.ErrorOnCnc, AddressOf objErrorHandler_ErrorOnCnc
|
||||||
|
AddHandler objErrorHandler.ErrorOnOtherChannel, AddressOf objErrorHandler_ErrorOnOtherChannel
|
||||||
|
AddHandler objErrorHandler.Exception, AddressOf objErrorHandler_Exception
|
||||||
|
'Initialisation config for testing
|
||||||
|
'Accepting all messages
|
||||||
|
'Consult the documentation for detailed information
|
||||||
|
|
||||||
|
objErrorHandler.AllError = 1
|
||||||
|
objErrorHandler.ErrorGlobal = 0
|
||||||
|
objErrorHandler.SetChannel(0, 0)
|
||||||
|
objErrorHandler.AcceptBootSysMessage(1)
|
||||||
|
objErrorHandler.AcceptException(0)
|
||||||
|
|
||||||
|
objDPlcVariables = New FXServer.DPlcVariables()
|
||||||
|
'objDPlcVariables.Symbols += New FXServer.IDPlcVariablesEvents_SymbolsEventHandler(AddressOf objDPlcVariables_Symbols)
|
||||||
|
AddHandler objDPlcVariables.ReadVariablesChanged, AddressOf objDPlcVariables_ReadVariablesChanged
|
||||||
|
AddHandler objDPlcVariables.VariablesWritten2, AddressOf objDPlcVariables_VariablesWritten2
|
||||||
|
AddHandler objDPlcVariables.ReadOnceVariablesChanged, AddressOf objDPlcVariables_ReadOnceVariablesChanged
|
||||||
|
objDPlcVariables.Flag = 3
|
||||||
|
objDPlcVariables.Init(objDGroupManager.Handle)
|
||||||
|
|
||||||
|
' Initialize FXServer class DReadELS
|
||||||
|
objDReadELS = New FXServer.DReadELS()
|
||||||
|
AddHandler objDReadELS.ValueChanged, AddressOf objDReadELS_ValueChanged
|
||||||
|
AddHandler objDReadELS.ValueChanged2, AddressOf objDReadELS_ValueChanged2
|
||||||
|
' Only for FX Server >= 3.9.0.0
|
||||||
|
AddHandler objDReadELS.ValueChanged3, AddressOf objDReadELS_ValueChanged3
|
||||||
|
objDReadELS.Init(objDGroupManager.Handle)
|
||||||
|
|
||||||
|
'Initialize FXServer class DFileTransfer
|
||||||
|
objDFileTransfer = New FXServer.DFileTransfer()
|
||||||
|
AddHandler objDFileTransfer.Completed, AddressOf objDFileTransfer_Completed
|
||||||
|
AddHandler objDFileTransfer.TransferStarted, AddressOf objDFileTransfer_TransferStarted
|
||||||
|
AddHandler objDFileTransfer.Failed, AddressOf objDFileTransfer_Failed
|
||||||
|
AddHandler objDFileTransfer.BytesTransfered, AddressOf objDFileTransfer_BytesTransfered
|
||||||
|
|
||||||
|
objDFileTransfer.Init(objDGroupManager.Handle)
|
||||||
|
|
||||||
|
objDPosition = New FXServer.DPosition()
|
||||||
|
'objDPosition.ValidAxisChanged += New FXServer.IDPositionEvents_ValidAxisChangedEventHandler(AddressOf objDPosition_ValidAxisChanged)
|
||||||
|
AddHandler objDPosition.PositionChanged, AddressOf objDPosition_PositionChanged
|
||||||
|
'objDPosition.DeltaChanged += New FXServer.IDPositionEvents_DeltaChangedEventHandler(AddressOf objDPosition_DeltaChanged)
|
||||||
|
'objDPosition.ReadOnceValidAxisChanged += New FXServer.IDPositionEvents_ReadOnceValidAxisChangedEventHandler(AddressOf objDPosition_ReadOnceValidAxisChanged)
|
||||||
|
'objDPosition.ReadOncePositionChanged += New FXServer.IDPositionEvents_ReadOncePositionChangedEventHandler(AddressOf objDPosition_ReadOncePositionChanged)
|
||||||
|
'objDPosition.ReadOnceDeltaChanged += New FXServer.IDPositionEvents_ReadOnceDeltaChangedEventHandler(AddressOf objDPosition_ReadOnceDeltaChanged)
|
||||||
|
'objDPosition.EndposChanged += New FXServer.IDPositionEvents_EndposChangedEventHandler(AddressOf objDPosition_EndposChanged)
|
||||||
|
|
||||||
|
objDPosition.Flag = 0
|
||||||
|
objDPosition.ModeOP = 0
|
||||||
|
objDPosition.FastUpdate = 0 ' Disable FastUpdate=0 To show the refresh time by Flag > 0
|
||||||
|
objDPosition.Init(objDGroupManager.Handle)
|
||||||
|
|
||||||
|
'Initialize FXServer class DMdiCommand
|
||||||
|
objDMdiCommand = New FXServer.DMdiCommand()
|
||||||
|
AddHandler objDMdiCommand.CommandWritten, AddressOf objDMdiCommand_CommandWritten
|
||||||
|
objDMdiCommand.Init(objDGroupManager.Handle)
|
||||||
|
|
||||||
|
'Initialize FXServer class DVariables
|
||||||
|
objDVariables = New FXServer.DVariables()
|
||||||
|
'AddHandler objDVariables.ValueChanged, AddressOf objDVariables_ValueChanged
|
||||||
|
'AddHandler objDVariables.ValueChanged2, AddressOf objDVariables_ValueChanged2
|
||||||
|
AddHandler objDVariables.VariableWritten, AddressOf objDVariables_VariableWritten
|
||||||
|
AddHandler objDVariables.VariableWritten2, AddressOf objDVariables_VariableWritten2
|
||||||
|
' Init & send the list of requested variables
|
||||||
|
Dim rc As Short = objDVariables.Init(objDGroupManager.Handle, "E80000", 1)
|
||||||
|
If (rc <> 0) Then EgtOutLog(" objDVariables.Init() Error : " + rc)
|
||||||
|
|
||||||
|
' Initialize FXServer class DCncMode
|
||||||
|
objDCncMode = New FXServer.DCncMode()
|
||||||
|
AddHandler objDCncMode.ValueChanged, AddressOf objDCncMode_ValueChanged
|
||||||
|
objDCncMode.Init(objDGroupManager.Handle)
|
||||||
|
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Private Sub CloseFxObjects()
|
Private Sub CloseFxObjects()
|
||||||
@@ -55,7 +171,21 @@ Public Class NUMFlexiumComm
|
|||||||
objDGroupManager = Nothing
|
objDGroupManager = Nothing
|
||||||
System.Runtime.InteropServices.Marshal.ReleaseComObject(objDGeneralFunction)
|
System.Runtime.InteropServices.Marshal.ReleaseComObject(objDGeneralFunction)
|
||||||
objDGeneralFunction = Nothing
|
objDGeneralFunction = Nothing
|
||||||
MessageBox.Show("CloseFxObjects")
|
System.Runtime.InteropServices.Marshal.ReleaseComObject(objErrorHandler)
|
||||||
|
objErrorHandler = Nothing
|
||||||
|
objDReadELS.Close()
|
||||||
|
objDPlcVariables.Close()
|
||||||
|
System.Runtime.InteropServices.Marshal.ReleaseComObject(objDReadELS)
|
||||||
|
objDReadELS = Nothing
|
||||||
|
System.Runtime.InteropServices.Marshal.ReleaseComObject(objDFileTransfer)
|
||||||
|
objDFileTransfer = Nothing
|
||||||
|
System.Runtime.InteropServices.Marshal.ReleaseComObject(objDPosition)
|
||||||
|
objDPosition = Nothing
|
||||||
|
System.Runtime.InteropServices.Marshal.ReleaseComObject(objDMdiCommand)
|
||||||
|
objDMdiCommand = Nothing
|
||||||
|
System.Runtime.InteropServices.Marshal.ReleaseComObject(objDVariables)
|
||||||
|
objDVariables = Nothing
|
||||||
|
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Private Sub GetGeneralFunctions()
|
Private Sub GetGeneralFunctions()
|
||||||
@@ -63,156 +193,259 @@ Public Class NUMFlexiumComm
|
|||||||
|
|
||||||
Select Case _GetConnectState
|
Select Case _GetConnectState
|
||||||
Case 0
|
Case 0
|
||||||
_txtConnectionState.Text = "Not connected"
|
' Not connected
|
||||||
|
m_MachManaging.SetConnected(False)
|
||||||
|
m_ResultCallbackDlg(CommandTypes.CONNECT, CommandStates.NULL, ResultTypes.EXECUTED, "")
|
||||||
Case 1
|
Case 1
|
||||||
_txtConnectionState.Text = " Connection error"
|
' Connection error
|
||||||
|
m_MachManaging.SetConnected(False)
|
||||||
|
m_ResultCallbackDlg(CommandTypes.CONNECT, CommandStates.ERROR_, ResultTypes.EXECUTED, "")
|
||||||
Case 2
|
Case 2
|
||||||
_txtConnectionState.Text = "Connected"
|
' Connected
|
||||||
|
m_MachManaging.SetConnected(True)
|
||||||
|
m_ResultCallbackDlg(CommandTypes.CONNECT, CommandStates.OK, ResultTypes.EXECUTED, "")
|
||||||
|
' avvio lettura variabili
|
||||||
|
'MachManaging.CommandList.Add(ThreadCommand.CreateCommand(CommandTypes.READ_NUMFLEXIUM))
|
||||||
|
StartReadList()
|
||||||
|
StartReadELS()
|
||||||
Case Else
|
Case Else
|
||||||
End Select
|
End Select
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Private Sub _btnRuntimeSystemStart_Click(ByVal sender As Object, ByVal e As EventArgs)
|
Friend Sub Start()
|
||||||
InitFxServer()
|
|
||||||
End Sub
|
|
||||||
|
|
||||||
Private Sub _btnCycleStartCommon_Click(ByVal sender As Object, ByVal e As EventArgs)
|
|
||||||
objDGeneralFunction.CncStart()
|
objDGeneralFunction.CncStart()
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Private Sub _BtnFeedHoldCommon_Click(ByVal sender As Object, ByVal e As EventArgs)
|
Friend Sub Stop_()
|
||||||
objDGeneralFunction.CncStop()
|
objDGeneralFunction.CncStop()
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Private Sub _btnCNCResetCommon_Click(ByVal sender As Object, ByVal e As EventArgs)
|
Friend Sub Reset()
|
||||||
objDGeneralFunction.CncReset()
|
objDGeneralFunction.CncReset()
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Private Sub _btnCncModeAuto_Click(ByVal sender As Object, ByVal e As EventArgs)
|
Friend Sub SetMode(value As CNMode)
|
||||||
objDGeneralFunction.WriteCncMode(0, 0)
|
objDGeneralFunction.WriteCncMode(value, 0)
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Private Sub _btnCncModeMDI_Click(ByVal sender As Object, ByVal e As EventArgs)
|
'Private Sub WriteVariable(ByVal sender As Object, ByVal e As EventArgs)
|
||||||
objDGeneralFunction.WriteCncMode(2, 0)
|
' Dim _E80011FxStd As Int32 = 88888
|
||||||
|
' Dim _FXReturn As Short = objDGeneralFunction.WriteVariable("E80011", _E80011FxStd)
|
||||||
|
|
||||||
|
' If _FXReturn <> 0 Then
|
||||||
|
' MessageBox.Show("Error from WriteVariable:" & " " & _FXReturn.ToString())
|
||||||
|
' End If
|
||||||
|
'End Sub
|
||||||
|
|
||||||
|
'Private Sub WriteVariable2(ByVal sender As Object, ByVal e As EventArgs)
|
||||||
|
' Dim _E80010FxPlus As Double = 51515.6161
|
||||||
|
' Dim _FXReturn As Short = objDGeneralFunction.WriteVariable2("E80010", _E80010FxPlus)
|
||||||
|
|
||||||
|
' If _FXReturn <> 0 Then
|
||||||
|
' MessageBox.Show("Error from WriteVariable2:" & " " & _FXReturn.ToString())
|
||||||
|
' End If
|
||||||
|
'End Sub
|
||||||
|
|
||||||
|
Private Sub ChangeChannel(Channel As Short)
|
||||||
|
objErrorHandler.SetChannel(0, Channel)
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Private Sub _btnCncModeManual_Click(ByVal sender As Object, ByVal e As EventArgs)
|
Friend Sub StartReadList()
|
||||||
objDGeneralFunction.WriteCncMode(7, 0)
|
Dim AddressList() As String = (From CommVar In m_ReadingVars
|
||||||
End Sub
|
Where Not IsNothing(CommVar) AndAlso CommVar.nType = EgtCOMMTest.CommVar.Types.PLC
|
||||||
|
Select CommVar.sAddress).ToArray()
|
||||||
Private Sub _btnWriteVariable_Click(ByVal sender As Object, ByVal e As EventArgs)
|
Dim _FXReturn As Short = objDPlcVariables.ReadVariables(AddressList)
|
||||||
Dim _E80011FxStd As Int32 = 88888
|
|
||||||
Dim _FXReturn As Short = objDGeneralFunction.WriteVariable("E80011", _E80011FxStd)
|
|
||||||
|
|
||||||
If _FXReturn <> 0 Then
|
If _FXReturn <> 0 Then
|
||||||
MessageBox.Show("Error from WriteVariable:" & " " & _FXReturn.ToString())
|
EgtOutLog("Error ReadVariables:" & " " & _FXReturn.ToString())
|
||||||
End If
|
End If
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Private Sub _btnWriteVariable2_Click(ByVal sender As Object, ByVal e As EventArgs)
|
Friend Sub CloseReadList()
|
||||||
Dim _E80010FxPlus As Double = 51515.6161
|
objDPlcVariables.CloseReadList()
|
||||||
Dim _FXReturn As Short = objDGeneralFunction.WriteVariable2("E80010", _E80010FxPlus)
|
End Sub
|
||||||
|
|
||||||
|
Private Sub ReadVariablesOnce(Address As String)
|
||||||
|
'Dim _ReadSymbolicPlcVariableOnetime As String = "Application.IOCONFIG_GLOBALS.Flexium_NCK.RCNC.General.Mode"
|
||||||
|
Dim _FXReturn As Int16 = objDPlcVariables.ReadVariablesOnce(10, Address)
|
||||||
|
|
||||||
If _FXReturn <> 0 Then
|
If _FXReturn <> 0 Then
|
||||||
MessageBox.Show("Error from WriteVariable2:" & " " & _FXReturn.ToString())
|
EgtOutLog("Error ReadVariablesOnce:" & " " & _FXReturn.ToString())
|
||||||
|
End If
|
||||||
|
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Friend Sub WritePlcVariables(Address As String, value As String)
|
||||||
|
'Dim _WriteSymbolicPlcVariable As String = _txtReadWritePlcVariables0.Text
|
||||||
|
Dim _FXReturn As Int16 = objDPlcVariables.WriteVariables2(11, Address, value)
|
||||||
|
|
||||||
|
If _FXReturn <> 0 Then
|
||||||
|
EgtOutLog("Error WriteVariables2 :" & " " & _FXReturn.ToString())
|
||||||
|
End If
|
||||||
|
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Public Shared Function InitVar(Variable As CommVar) As CommVar
|
||||||
|
Dim Index As Integer = Array.IndexOf(m_ReadingVars, Nothing)
|
||||||
|
m_ReadingVars(Index) = Variable
|
||||||
|
Return m_ReadingVars(Index)
|
||||||
|
End Function
|
||||||
|
|
||||||
|
Friend Sub StartReadELS()
|
||||||
|
For Index = 0 To m_ReadingVars.Length - 1
|
||||||
|
If IsNothing(m_ReadingVars(Index)) OrElse m_ReadingVars(Index).nType <> CommVar.Types.CN Then Continue For
|
||||||
|
Dim rc As Short = objDReadELS.AddParameter(m_ReadingVars(Index).sAddress, Index)
|
||||||
|
If rc <> 0 Then EgtOutLog(" Error AddParameter2 : " & rc & " on Variable : " & m_ReadingVars(Index).sAddress)
|
||||||
|
Next
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Friend Sub CloseReadELS()
|
||||||
|
objDPlcVariables.CloseReadList()
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
#Region "File transfer"
|
||||||
|
|
||||||
|
Friend Sub FileDownload(sFileType As String, sFilePath As String)
|
||||||
|
Dim _Return_Download As Short
|
||||||
|
|
||||||
|
_Return_Download = objDFileTransfer.FileDownload2(10, sFileType, sFilePath, "", 1, 0)
|
||||||
|
|
||||||
|
If _Return_Download <> 0 Then
|
||||||
|
EgtOutLog("Error: File not stored to the job list:" & " " & _Return_Download.ToString())
|
||||||
End If
|
End If
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
|
Private Sub FileUpload(sFileType As String, sFilePath As String)
|
||||||
|
Dim _Return_Upload As Short
|
||||||
|
_Return_Upload = objDFileTransfer.FileUpload(20, sFileType, sFilePath, "")
|
||||||
|
|
||||||
|
If _Return_Upload <> 0 Then
|
||||||
|
EgtOutLog("Error: File not stored to the job list:" & " " & _Return_Upload.ToString())
|
||||||
|
End If
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Friend Sub FileDelete(sFileType As String, sFilePath As String)
|
||||||
|
Dim _ReturnFileDelete As Short
|
||||||
|
_ReturnFileDelete = objDFileTransfer.FileDelete(20, sFileType, "")
|
||||||
|
|
||||||
|
If _ReturnFileDelete <> 0 Then
|
||||||
|
EgtOutLog("Error: File not deleted:" & " " & _ReturnFileDelete.ToString())
|
||||||
|
End If
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Friend Sub StartTransfer()
|
||||||
|
Dim _Return_StartTransfer As Short
|
||||||
|
_Return_StartTransfer = objDFileTransfer.StartTransfer()
|
||||||
|
|
||||||
|
If _Return_StartTransfer <> 0 Then
|
||||||
|
EgtOutLog("Error: Start transfer not executed:" & " " & _Return_StartTransfer.ToString())
|
||||||
|
Else
|
||||||
|
m_BytesTransferedCounter = 0
|
||||||
|
End If
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
#End Region ' File transfer
|
||||||
|
|
||||||
|
#Region "MDI"
|
||||||
|
|
||||||
|
Friend Sub MDI_Execute(sCommand As String)
|
||||||
|
Dim _FxReturn As Int16 = objDMdiCommand.ExecuteCommand(sCommand)
|
||||||
|
|
||||||
|
If _FxReturn <> 0 Then
|
||||||
|
EgtOutLog("Error ExecuteCommand :" & " " & _FxReturn.ToString())
|
||||||
|
End If
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
#End Region ' MDI
|
||||||
|
|
||||||
|
#Region "Variables"
|
||||||
|
|
||||||
|
Friend Sub WriteNCVariables(Address As String, value As String)
|
||||||
|
Try
|
||||||
|
Dim dValue As Double = 0
|
||||||
|
StringToDouble(value, dValue)
|
||||||
|
Dim rc As Short = objDVariables.WriteVariables2(2, objDGroupManager.Handle, Address, dValue)
|
||||||
|
|
||||||
|
If rc <> 0 Then EgtOutLog(" objDVariables.WriteVariables2() Error : " & rc)
|
||||||
|
|
||||||
|
Catch ex As Exception
|
||||||
|
EgtOutLog(" objDVariables.WriteVariables2() Exception : " & ex.Message)
|
||||||
|
End Try
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
#End Region ' Variables
|
||||||
|
#End Region ' METHODS
|
||||||
|
|
||||||
|
#Region "EVENTS"
|
||||||
|
|
||||||
Private Sub objDRunTimeSystem_ServerInitializationFinished()
|
Private Sub objDRunTimeSystem_ServerInitializationFinished()
|
||||||
InitFxObjects()
|
InitFxObjects()
|
||||||
GetGeneralFunctions()
|
GetGeneralFunctions()
|
||||||
|
|
||||||
'If IsFlexiumPlus = True Then
|
|
||||||
' _txtBlockSkipLevel.Text = "100"
|
|
||||||
' _txtBlockSkipLevel.Enabled = True
|
|
||||||
'Else
|
|
||||||
' _txtBlockSkipLevel.Text = ""
|
|
||||||
' _txtBlockSkipLevel.Enabled = True
|
|
||||||
'End If
|
|
||||||
|
|
||||||
'_txtServerInitStatus.Invoke(CType(Function()
|
|
||||||
' _txtServerInitStatus.ForeColor = Color.DarkBlue
|
|
||||||
' _txtServerInitStatus.Text = "FXServer objects initialized !"
|
|
||||||
' End Function, MethodInvoker))
|
|
||||||
'_txtServerReinitStatus.Invoke(CType(Function()
|
|
||||||
' _txtServerReinitStatus.ForeColor = Color.DarkGreen
|
|
||||||
' _txtServerReinitStatus.Text = "FXServer no objects closed !"
|
|
||||||
' End Function, MethodInvoker))
|
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Private Sub objDRunTimeSystem_ServerReinitializationStarted()
|
Private Sub objDRunTimeSystem_ServerReinitializationStarted()
|
||||||
CloseFxObjects()
|
CloseFxObjects()
|
||||||
'_txtServerReinitStatus.Invoke(CType(Function()
|
|
||||||
' _txtServerReinitStatus.ForeColor = Color.Red
|
|
||||||
' _txtServerReinitStatus.Text = "FXServer objects closed !"
|
|
||||||
' End Function, MethodInvoker))
|
|
||||||
'_txtServerInitStatus.Invoke(CType(Function()
|
|
||||||
' _txtServerInitStatus.ForeColor = Color.DarkOrange
|
|
||||||
' _txtServerInitStatus.Text = "FXServer objects not initialized !"
|
|
||||||
' End Function, MethodInvoker))
|
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Private Sub objDGeneralFunction_ProgramActivated(ByVal nerrorCode As Short)
|
Private Sub objDGeneralFunction_ProgramActivated(ByVal nerrorCode As Short)
|
||||||
MessageBox.Show("Part program activated:" & " " & nerrorCode)
|
MessageBox.Show("Part program activated:" & " " & nerrorCode)
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Private Sub objDGeneralFunction_OnCncReset(ByVal errorCode As Short)
|
Private Sub objDGeneralFunction_OnCncStart(ByVal errorCode As Short)
|
||||||
If errorCode <> 0 Then
|
Dim bOk As Boolean = (errorCode = 0)
|
||||||
MessageBox.Show("Error CNC Reset:" & " " & errorCode.ToString())
|
m_MachManaging.SetStartPending(bOk)
|
||||||
End If
|
m_ResultCallbackDlg(CommandTypes.START, If(bOk, CommandStates.OK, CommandStates.ERROR_), ResultTypes.EXECUTED, If(bOk, "", "Error CNC Start: " & errorCode.ToString()))
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Private Sub objDGeneralFunction_OnCncStop(ByVal errorCode As Short)
|
Private Sub objDGeneralFunction_OnCncStop(ByVal errorCode As Short)
|
||||||
If errorCode <> 0 Then
|
Dim bOk As Boolean = (errorCode = 0)
|
||||||
MessageBox.Show("Error Feed Hold:" & " " & errorCode.ToString())
|
m_ResultCallbackDlg(CommandTypes.START, If(bOk, CommandStates.OK, CommandStates.ERROR_), ResultTypes.EXECUTED, If(bOk, "", "Error Feed Hold: " & errorCode.ToString()))
|
||||||
End If
|
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Private Sub objDGeneralFunction_OnCncStart(ByVal errorCode As Short)
|
Private Sub objDGeneralFunction_OnCncReset(ByVal errorCode As Short)
|
||||||
If errorCode <> 0 Then
|
Dim bOk As Boolean = (errorCode = 0)
|
||||||
MessageBox.Show("Error Cycle Start:" & " " & errorCode.ToString())
|
m_ResultCallbackDlg(CommandTypes.START, If(bOk, CommandStates.OK, CommandStates.ERROR_), ResultTypes.EXECUTED, If(bOk, "", "Error CNC Reset: " & errorCode.ToString()))
|
||||||
End If
|
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Private Sub objDGeneralFunction_CncModeWritten(ByVal errorCode As Short)
|
Private Sub objDGeneralFunction_CncModeWritten(ByVal errorCode As Short)
|
||||||
MessageBox.Show("Error CNC Mode selection completed:" & " " & errorCode.ToString())
|
If errorCode <> 0 Then EgtOutLog("Error CNC Mode selection completed:" & " " & errorCode.ToString())
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Private Sub _txtPartProgramNumber_KeyPress(ByVal sender As Object, ByVal e As KeyPressEventArgs)
|
'Private Sub _txtPartProgramNumber_KeyPress(ByVal sender As Object, ByVal e As KeyPressEventArgs)
|
||||||
If e.KeyChar = CChar(Keys.[Return]) Then
|
' If e.KeyChar = CChar(Keys.[Return]) Then
|
||||||
e.Handled = True
|
' e.Handled = True
|
||||||
Dim _CncAxisChannelIndependent As Int16
|
' Dim _CncAxisChannelIndependent As Int16
|
||||||
_PartProgramNumber = Single.Parse(_txtPartProgramNumber.Text)
|
' _PartProgramNumber = Single.Parse(_txtPartProgramNumber.Text)
|
||||||
MessageBox.Show("PartProgNumber:" & " " & _PartProgramNumber.ToString())
|
' MessageBox.Show("PartProgNumber:" & " " & _PartProgramNumber.ToString())
|
||||||
Dim _PartProgramNumberActivate As Int32 = Convert.ToInt32(_PartProgramNumber * 10)
|
' Dim _PartProgramNumberActivate As Int32 = Convert.ToInt32(_PartProgramNumber * 10)
|
||||||
MessageBox.Show("PartProgNumberActivate:" & " " & _PartProgramNumberActivate.ToString())
|
' MessageBox.Show("PartProgNumberActivate:" & " " & _PartProgramNumberActivate.ToString())
|
||||||
|
|
||||||
If _checkChannelTypeState.Checked = True Then
|
' If _checkChannelTypeState.Checked = True Then
|
||||||
_CncAxisChannelIndependent = 1
|
' _CncAxisChannelIndependent = 1
|
||||||
Else
|
' Else
|
||||||
_CncAxisChannelIndependent = 0
|
' _CncAxisChannelIndependent = 0
|
||||||
End If
|
' End If
|
||||||
|
|
||||||
Dim _FXReturn As Int16 = objDGeneralFunction.ActivateProgram(_PartProgramNumberActivate, _CncAxisChannelIndependent)
|
' Dim _FXReturn As Int16 = objDGeneralFunction.ActivateProgram(_PartProgramNumberActivate, _CncAxisChannelIndependent)
|
||||||
|
|
||||||
If _FXReturn <> 0 Then
|
' If _FXReturn <> 0 Then
|
||||||
MessageBox.Show("Error Activate Program:" & " " & _FXReturn.ToString())
|
' MessageBox.Show("Error Activate Program:" & " " & _FXReturn.ToString())
|
||||||
End If
|
' End If
|
||||||
End If
|
' End If
|
||||||
End Sub
|
'End Sub
|
||||||
|
|
||||||
Private Sub objDGroupManager_ErrorHandler(ByVal sError As String, ByVal nTextNumber As Short)
|
Private Sub objDGroupManager_ErrorHandler(ByVal sError As String, ByVal nTextNumber As Short)
|
||||||
MessageBox.Show("ErrorHandler message:" & " " & sError & " " & "ErrorHandler number:" & " " & nTextNumber.ToString())
|
EgtOutLog("ErrorHandler message:" & " " & sError & " " & "ErrorHandler number:" & " " & nTextNumber.ToString())
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Private Sub _comboCncAxisChannel_SelectedIndexChanged(ByVal sender As Object, ByVal e As EventArgs)
|
Private Sub _comboCncAxisChannel_SelectedIndexChanged(ByVal sender As Object, ByVal e As EventArgs)
|
||||||
Select Case _comboCncAxisChannel.SelectedItem.ToString()
|
'Select Case _comboCncAxisChannel.SelectedItem.ToString()
|
||||||
Case "Channel 1"
|
' Case "Channel 1"
|
||||||
objDGroupManager.AxisGroup = 0
|
' objDGroupManager.AxisGroup = 0
|
||||||
Case "Channel 2"
|
' Case "Channel 2"
|
||||||
objDGroupManager.AxisGroup = 1
|
' objDGroupManager.AxisGroup = 1
|
||||||
Case Else
|
' Case Else
|
||||||
End Select
|
'End Select
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Private Sub objDGeneralFunction_VariableWritten(ByVal errorCode As Short)
|
Private Sub objDGeneralFunction_VariableWritten(ByVal errorCode As Short)
|
||||||
@@ -223,20 +456,378 @@ Public Class NUMFlexiumComm
|
|||||||
End If
|
End If
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Private Sub _txtBlockSkipLevel_KeyPress(ByVal sender As Object, ByVal e As KeyPressEventArgs)
|
Private Sub objErrorHandler_ErrorOnCnc(ByVal cnc As Short, ByVal channel As Short, ByVal [set] As Short)
|
||||||
If e.KeyChar = CChar(Keys.[Return]) Then
|
'AplCncNumber.Add(cnc)
|
||||||
e.Handled = True
|
'AplChannel.Add(channel)
|
||||||
Dim _GetBlockSkipLevelDecimalValue As UInt32 = Convert.ToUInt32(_txtBlockSkipLevel.Text)
|
'AplSet.Add([set])
|
||||||
Dim _FXReturn As Int16 = objDGeneralFunction.WriteSkipLevel(20, _GetBlockSkipLevelDecimalValue)
|
End Sub
|
||||||
|
|
||||||
If _FXReturn <> 0 Then
|
Private Sub objErrorHandler_ErrorOnOtherChannel(ByVal status As Short)
|
||||||
MessageBox.Show("Error from WriteSkipLevel:" & " " & _FXReturn.ToString())
|
'AplStatus = status
|
||||||
End If
|
End Sub
|
||||||
|
|
||||||
|
Private Sub objErrorHandler_Exception(ByVal status As Short)
|
||||||
|
'ExceptStatus = status
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Private Sub objErrorHandler_ErrorFromActiveCnc2(ByVal CncNumber As Short, ByVal numberOfError As Short, ByVal ErrorTyp As Object, ByVal ErrorIndex As Object, ByVal ErrorNumber As Object, ByVal ErrorLine As Object, ByVal ErrorMessage As Object, ByVal ErrorAdditional As Object)
|
||||||
|
_ReadFXMessages.Clear()
|
||||||
|
Dim AplCnCNumber As Short = CncNumber
|
||||||
|
Dim AplnumberofError As Short = numberOfError
|
||||||
|
Dim AplErrorType As Object() = CType(ErrorTyp, Object())
|
||||||
|
Dim AplErrorIndex As Object() = CType(ErrorIndex, Object())
|
||||||
|
Dim AplErrorNumber As Object() = CType(ErrorNumber, Object())
|
||||||
|
Dim AplErrorLine As Object() = CType(ErrorLine, Object())
|
||||||
|
Dim AplErrorMessage As Object() = CType(ErrorMessage, Object())
|
||||||
|
Dim AplErrorAdditional As Object() = CType(ErrorAdditional, Object())
|
||||||
|
|
||||||
|
For index As Integer = 0 To numberOfError - 1
|
||||||
|
_ReadFXMessages.Add(New ReadMessages(AplCnCNumber.ToString(), AplnumberofError.ToString(), AplErrorType(index).ToString(), AplErrorIndex(index).ToString(), AplErrorNumber(index).ToString(), AplErrorLine(index).ToString(), AplErrorMessage(index).ToString(), AplErrorAdditional(index).ToString()))
|
||||||
|
Next
|
||||||
|
|
||||||
|
'Timers(TimerStartCounter).Interval = 100
|
||||||
|
'AddHandler Timers(TimerStartCounter).Elapsed, New System.Timers.ElapsedEventHandler(timer1_Elapsed)
|
||||||
|
'Timers(TimerStartCounter).Start()
|
||||||
|
'TimerStartCounter += 1
|
||||||
|
'Debug.WriteLine("Timer Started")
|
||||||
|
'Debug.WriteLine(DateTime.Now)
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
#Region "PLC Variables"
|
||||||
|
|
||||||
|
Private Sub objDPlcVariables_ReadVariablesChanged(ByVal index As Object, ByVal value As Object)
|
||||||
|
Dim _ObjIndex As Object() = CType(index, Object())
|
||||||
|
Dim _ObjValue As Object() = CType(value, Object())
|
||||||
|
Dim index_1 As Integer = 0
|
||||||
|
|
||||||
|
For Each PlcVarIndex As Object In _ObjIndex
|
||||||
|
Dim indexIn As Integer = Integer.Parse(PlcVarIndex.ToString())
|
||||||
|
m_ReadingVars(indexIn).SetValue(_ObjValue(index_1).ToString())
|
||||||
|
index_1 += 1
|
||||||
|
Next
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Private Sub objDPlcVariables_ReadOnceVariablesChanged(ByVal lHandle As Integer, ByVal value As Object)
|
||||||
|
'Dim _ObjValue As Object() = CType(value, Object())
|
||||||
|
|
||||||
|
'If lHandle = 10 Then
|
||||||
|
|
||||||
|
' For i As Integer = 0 To _ObjValue.Length - 1
|
||||||
|
' _ReadPlcVariableOnetime(i).Invoke(CType(Function()
|
||||||
|
' _ReadPlcVariableOnetime(i).Text = _ObjValue(i).ToString()
|
||||||
|
' End Function, MethodInvoker))
|
||||||
|
' Next
|
||||||
|
'End If
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Private Sub objDPlcVariables_VariablesWritten2(ByVal lHandle As Integer, ByVal errorCode As Integer)
|
||||||
|
Dim bOk As Boolean = (errorCode <> 0)
|
||||||
|
m_ResultCallbackDlg(CommandTypes.WRITE, If(bOk, CommandStates.OK, CommandStates.ERROR_), ResultTypes.RESULT, If(bOk, "", "Error VariablesWritten2 :" & " " & errorCode.ToString()))
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
#End Region ' PLC Variables
|
||||||
|
|
||||||
|
#Region "ReadELS"
|
||||||
|
|
||||||
|
Private Sub objDReadELS_ValueChanged2(ByVal nHandle As Integer, ByVal dValue As Double, ByVal nerrorCode As Short)
|
||||||
|
If nHandle < 1 OrElse nHandle > m_ReadingVars.Count - 1 Then Return
|
||||||
|
If nerrorCode <> 0 Then EgtOutLog(" Error in Validchanged2 : " & nerrorCode & " Handle : " & nHandle)
|
||||||
|
|
||||||
|
Try
|
||||||
|
m_ReadingVars(nHandle).SetValue(dValue.ToString("F04"))
|
||||||
|
Catch Ex As Exception
|
||||||
|
EgtOutLog(Ex.Message)
|
||||||
|
End Try
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Private Sub objDReadELS_ValueChanged3(ByVal nHandle As Integer, ByVal value As Object, ByVal DataType As Short, ByVal Writable As Short, ByVal nerrorCode As Short)
|
||||||
|
If nHandle < 1 OrElse nHandle > m_ReadingVars.Count - 1 Then
|
||||||
|
EgtOutLog(" Invalid handle in Validchanged3 : " & nHandle)
|
||||||
|
Return
|
||||||
|
End If
|
||||||
|
|
||||||
|
If nerrorCode <> 0 Then EgtOutLog(" Error in Validchanged3 : " & nerrorCode & " Handle : " & nHandle)
|
||||||
|
Dim sValue As String
|
||||||
|
|
||||||
|
Try
|
||||||
|
|
||||||
|
Select Case DataType
|
||||||
|
Case 0
|
||||||
|
sValue = (CSByte(value)).ToString()
|
||||||
|
Case 1
|
||||||
|
sValue = (CByte(value)).ToString()
|
||||||
|
Case 2
|
||||||
|
sValue = (CType(value, Int16)).ToString()
|
||||||
|
Case 3
|
||||||
|
sValue = (CType(value, UInt16)).ToString()
|
||||||
|
Case 4
|
||||||
|
sValue = (CType(value, Int32)).ToString()
|
||||||
|
Case 5
|
||||||
|
sValue = (CType(value, UInt32)).ToString()
|
||||||
|
Case 6
|
||||||
|
sValue = (CDbl(value)).ToString()
|
||||||
|
Case 7
|
||||||
|
sValue = (CBool(value)).ToString()
|
||||||
|
Case 8
|
||||||
|
sValue = (CBool(value)).ToString()
|
||||||
|
Case 9
|
||||||
|
sValue = (CBool(value)).ToString()
|
||||||
|
Case 10
|
||||||
|
sValue = (CType(value, Int64)).ToString()
|
||||||
|
Case 11
|
||||||
|
sValue = (CType(value, UInt32)).ToString()
|
||||||
|
Case -1
|
||||||
|
sValue = value.ToString()
|
||||||
|
Case Else
|
||||||
|
sValue = String.Empty
|
||||||
|
EgtOutLog("objDReadELS_ValueChanged3() : Unknown Datatype !")
|
||||||
|
End Select
|
||||||
|
|
||||||
|
m_ReadingVars(nHandle).SetValue(sValue)
|
||||||
|
|
||||||
|
'_ELS(nHandle - 1, 1).Text = sValue
|
||||||
|
'_ELS(nHandle - 1, 2).Text = (CType(DataType, eDatatype)).ToString()
|
||||||
|
'_ELS(nHandle - 1, 3).Text = If(Writable = 0, "No", If(Writable = 1, "Yes", Writable.ToString()))
|
||||||
|
Catch Ex As Exception
|
||||||
|
EgtOutLog("objDReadELS_ValueChanged3 " & Ex.Message & " Handle : " + nHandle)
|
||||||
|
End Try
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Private Sub objDReadELS_ValueChanged(ByVal nHandle As Short, ByVal dValue As Double, ByVal nerrorCode As Short)
|
||||||
|
'Throw New NotImplementedException()
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
#End Region ' ReadELS
|
||||||
|
|
||||||
|
#Region "File transfer"
|
||||||
|
|
||||||
|
Private Sub objDFileTransfer_Completed(ByVal lHandle As Integer)
|
||||||
|
If lHandle = 10 OrElse lHandle = 20 Then
|
||||||
|
EgtOutLog("Up- or Download successful completed:" & " " & lHandle.ToString())
|
||||||
End If
|
End If
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Private Sub objDGeneralFunction_OnSkipLevelWritten(ByVal lHandle As Integer, ByVal errorCode As Short)
|
Private Sub objDFileTransfer_TransferStarted(ByVal lHandle As Integer)
|
||||||
MessageBox.Show("OnSkipLevelWritten:" & "" & "Handle:" & lHandle & " " & "errorCode:" & errorCode)
|
EgtOutLog("Transfer has been started !")
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Private Sub objDFileTransfer_Failed(ByVal lHandle As Integer, ByVal nSeq As Short, ByVal nReason As Short)
|
||||||
|
EgtOutLog("Sequence:" & " " & nSeq.ToString() & " " & "Reason:" & " " & nReason.ToString())
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Private Sub objDFileTransfer_BytesTransfered(ByVal lHandle As Integer, ByVal lBytes As Integer)
|
||||||
|
m_BytesTransferedCounter += lBytes
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
#End Region ' File transfer
|
||||||
|
|
||||||
|
#Region "Position"
|
||||||
|
|
||||||
|
Private Sub objDPosition_PositionChanged(ByVal vtArrayIndex As Object, ByVal vtArrayValues As Object)
|
||||||
|
Dim _indexArray As Object() = CType(vtArrayIndex, Object())
|
||||||
|
Dim _valueArray As Object() = CType(vtArrayValues, Object())
|
||||||
|
|
||||||
|
For _index As Integer = 0 To _indexArray.Length - 1
|
||||||
|
|
||||||
|
If m_IsFlexiumPlus = True Then
|
||||||
|
Dim _index1 As Int16 = CType(_indexArray.GetValue(_index), Int16)
|
||||||
|
Dim _axisPosValue As Double = CType(_valueArray.GetValue(_index), Double)
|
||||||
|
Dim _axisRefPosValue As Double = CType(_axisPosValue, Double) / m_LinearAxisPrecision
|
||||||
|
m_AxisCoordinatesCallbackDlg(_axisPosValue, _index1)
|
||||||
|
Else
|
||||||
|
Dim _index1 As Int16 = CType(_indexArray.GetValue(_index), Int16)
|
||||||
|
Dim _axisPosValue As Int32 = CType(_valueArray.GetValue(_index), Int32)
|
||||||
|
Dim _axisRefPosValue As Single = CSng(_axisPosValue) / m_LinearAxisPrecision
|
||||||
|
m_AxisCoordinatesCallbackDlg(_axisPosValue, _index1)
|
||||||
|
End If
|
||||||
|
|
||||||
|
Next
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
#End Region ' Position
|
||||||
|
|
||||||
|
#Region "MDI"
|
||||||
|
|
||||||
|
Private Sub objDMdiCommand_CommandWritten(ByVal retVal As Short)
|
||||||
|
If retVal <> 0 Then
|
||||||
|
EgtOutLog("Error CommandWritten :" & " " & retVal.ToString())
|
||||||
|
End If
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
#End Region ' MDI
|
||||||
|
|
||||||
|
#Region "Variables"
|
||||||
|
|
||||||
|
Private Sub objDVariables_VariableWritten2(ByVal lHandle As Integer, ByVal errorCode As Short)
|
||||||
|
If lHandle <> 2 OrElse errorCode <> 0 Then
|
||||||
|
EgtOutLog(" Error on objDVariables_VariableWritten2 : handle " & lHandle.ToString() & " errorCode : " & errorCode.ToString())
|
||||||
|
End If
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Private Sub objDVariables_VariableWritten(ByVal errorCode As Short)
|
||||||
|
If errorCode <> 0 Then
|
||||||
|
EgtOutLog(" Error on objDVariables_VariableWritten errorCode : " & errorCode.ToString())
|
||||||
|
End If
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
'Private Sub objDVariables_ValueChanged(ByVal vtArrayIndex As Object, ByVal vtArrayValues As Object)
|
||||||
|
' Dim AplArrayIndex As Object() = CType(vtArrayIndex, Object())
|
||||||
|
' Dim AplArrayValue As Object() = CType(vtArrayValues, Object())
|
||||||
|
' Dim Idx As Int16
|
||||||
|
' If IsFlexiumPlus Then Return
|
||||||
|
|
||||||
|
' For index As Integer = 0 To AplArrayIndex.Length - 1
|
||||||
|
|
||||||
|
' Try
|
||||||
|
' Idx = CType(AplArrayIndex.GetValue(index), Int16)
|
||||||
|
' If Idx > 8 Then Exit For
|
||||||
|
' _Variables(Idx, 1).Invoke(CType(Function()
|
||||||
|
' _Variables(Idx, 1).Text = (CDbl(AplArrayValue.GetValue(index))).ToString()
|
||||||
|
' End Function, MethodInvoker))
|
||||||
|
' Catch Ex As Exception
|
||||||
|
' DisplayMessage(Ex.Message)
|
||||||
|
' End Try
|
||||||
|
' Next
|
||||||
|
'End Sub
|
||||||
|
|
||||||
|
'Private Sub objDVariables_ValueChanged2(ByVal vtArrayIndex As Object, ByVal vtArrayValues As Object)
|
||||||
|
' Dim AplArrayIndex As Object() = CType(vtArrayIndex, Object())
|
||||||
|
' Dim AplArrayValue As Object() = CType(vtArrayValues, Object())
|
||||||
|
' Dim index, IdxVar, IdxData, Idx As Int16, Datatype As Int16 = -1
|
||||||
|
' Dim _objValue As Object = Nothing
|
||||||
|
' Dim sValue As String
|
||||||
|
|
||||||
|
' For index = 0 To AplArrayIndex.Length - 1
|
||||||
|
|
||||||
|
' Try
|
||||||
|
' Idx = CType(AplArrayIndex.GetValue(index), Int16)
|
||||||
|
' IdxVar = CShort((Idx / 10))
|
||||||
|
' IdxData = CShort((Idx Mod 10))
|
||||||
|
' If IdxData < 0 OrElse IdxData > 2 OrElse IdxVar > 8 Then Continue For
|
||||||
|
|
||||||
|
' Select Case IdxData
|
||||||
|
' Case 0
|
||||||
|
' _objValue = AplArrayValue.GetValue(index)
|
||||||
|
' Case 1
|
||||||
|
' Me.Invoke(CType(Function()
|
||||||
|
' _Variables(IdxVar, 2).Tag = CShort(AplArrayValue.GetValue(index))
|
||||||
|
' _Variables(IdxVar, 2).Text = (CType(AplArrayValue.GetValue(index), eDatatype)).ToString()
|
||||||
|
' End Function, MethodInvoker))
|
||||||
|
' Case 2
|
||||||
|
' Me.Invoke(CType(Function()
|
||||||
|
' _Variables(IdxVar, 3).Text = If((CShort(AplArrayValue.GetValue(index))) = 0, "No", If((CShort(AplArrayValue.GetValue(index))) = 1, "Yes", (CShort(AplArrayValue.GetValue(index))).ToString()))
|
||||||
|
' End Function, MethodInvoker))
|
||||||
|
' End Select
|
||||||
|
|
||||||
|
' Me.Invoke(CType(Function()
|
||||||
|
' Datatype = If(_Variables(IdxVar, 2).Tag IsNot Nothing, CShort(_Variables(IdxVar, 2).Tag), CShort(-2))
|
||||||
|
' End Function, MethodInvoker))
|
||||||
|
|
||||||
|
' If IdxData = 1 OrElse IdxData = 0 AndAlso Datatype <> -1 Then
|
||||||
|
|
||||||
|
' Select Case Datatype
|
||||||
|
' Case 0
|
||||||
|
' sValue = (CSByte(_objValue)).ToString()
|
||||||
|
' Case 1
|
||||||
|
' sValue = (CByte(_objValue)).ToString()
|
||||||
|
' Case 2
|
||||||
|
' sValue = (CType(_objValue, Int16)).ToString()
|
||||||
|
' Case 3
|
||||||
|
' sValue = (CType(_objValue, UInt16)).ToString()
|
||||||
|
' Case 4
|
||||||
|
' sValue = (CType(_objValue, Int32)).ToString()
|
||||||
|
' Case 5
|
||||||
|
' sValue = (CType(_objValue, UInt32)).ToString()
|
||||||
|
' Case 6
|
||||||
|
' sValue = (CDbl(_objValue)).ToString()
|
||||||
|
' Case 7
|
||||||
|
' sValue = (CBool(_objValue)).ToString()
|
||||||
|
' Case 8
|
||||||
|
' sValue = (CBool(_objValue)).ToString()
|
||||||
|
' Case 9
|
||||||
|
' sValue = (CBool(_objValue)).ToString()
|
||||||
|
' Case 10
|
||||||
|
' sValue = (CType(_objValue, Int64)).ToString()
|
||||||
|
' Case 11
|
||||||
|
' sValue = (CType(_objValue, UInt32)).ToString()
|
||||||
|
' Case -1
|
||||||
|
' sValue = (CType(_objValue, Int32)).ToString()
|
||||||
|
' Case Else
|
||||||
|
' sValue = String.Empty
|
||||||
|
' DisplayMessage("objDVariables_ValueChanged2() : Unknown Datatype !")
|
||||||
|
' End Select
|
||||||
|
|
||||||
|
' Me.Invoke(CType(Function()
|
||||||
|
' _Variables(IdxVar, 1).Text = sValue
|
||||||
|
' End Function, MethodInvoker))
|
||||||
|
' End If
|
||||||
|
|
||||||
|
' Catch Ex As Exception
|
||||||
|
' DisplayMessage("objDVariables_ValueChanged2 " & Ex.Message & " Index : " + index)
|
||||||
|
' End Try
|
||||||
|
' Next
|
||||||
|
'End Sub
|
||||||
|
|
||||||
|
#End Region ' Variables
|
||||||
|
|
||||||
|
#Region "CNCMode"
|
||||||
|
|
||||||
|
Private Sub objDCncMode_ValueChanged(ByVal mode As Short, ByVal preselected As Short)
|
||||||
|
|
||||||
|
m_OpStateCallbackDlg(mode)
|
||||||
|
|
||||||
|
'Select Case mode
|
||||||
|
' Case 0
|
||||||
|
' CncModeSelect = "Auto"
|
||||||
|
' Case 1
|
||||||
|
' CncModeSelect = "Single"
|
||||||
|
' Case 2
|
||||||
|
' CncModeSelect = "MDI"
|
||||||
|
' Case 8
|
||||||
|
' CncModeSelect = "Home"
|
||||||
|
' Case Else
|
||||||
|
'End Select
|
||||||
|
|
||||||
|
'Select Case preselected
|
||||||
|
' Case 0
|
||||||
|
' CncModePreselect = "Auto"
|
||||||
|
' Case 1
|
||||||
|
' CncModePreselect = "Single"
|
||||||
|
' Case 2
|
||||||
|
' CncModePreselect = "MDI"
|
||||||
|
' Case 8
|
||||||
|
' CncModePreselect = "Home"
|
||||||
|
' Case Else
|
||||||
|
'End Select
|
||||||
|
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
#End Region ' CNCMode
|
||||||
|
|
||||||
|
#End Region ' EVENTS
|
||||||
|
|
||||||
|
End Class
|
||||||
|
|
||||||
|
Public Class ReadMessages
|
||||||
|
|
||||||
|
Public CMsgCncNumber As String
|
||||||
|
Public CMsgNumberOfError As String
|
||||||
|
Public CMsgErrorType As String
|
||||||
|
Public CMsgErrorIndex As String
|
||||||
|
Public CMsgErrorNumber As String
|
||||||
|
Public CMsgErrorLine As String
|
||||||
|
Public CMsgErrorMessage As String
|
||||||
|
Public CMsgErrorAdditional As String
|
||||||
|
|
||||||
|
Public Sub New(ByVal MsgCncNumber As String, ByVal MsgNumberofError As String, ByVal MsgErrorType As String, ByVal MsgErrorIndex As String, ByVal MsgErrorNumber As String, ByVal MsgErrorLine As String, ByVal MsgErrorMessage As String, ByVal MsgErrorAdditional As String)
|
||||||
|
CMsgCncNumber = MsgCncNumber
|
||||||
|
CMsgNumberOfError = MsgNumberofError
|
||||||
|
CMsgErrorType = MsgErrorType
|
||||||
|
CMsgErrorIndex = MsgErrorIndex
|
||||||
|
CMsgErrorNumber = MsgErrorNumber
|
||||||
|
CMsgErrorLine = MsgErrorLine
|
||||||
|
CMsgErrorMessage = MsgErrorMessage
|
||||||
|
CMsgErrorAdditional = MsgErrorAdditional
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
End Class
|
End Class
|
||||||
|
|||||||
+4
-4
@@ -9,7 +9,7 @@ Imports System.Threading.Tasks
|
|||||||
Imports System.Windows
|
Imports System.Windows
|
||||||
Imports ISOCNC.Remoting
|
Imports ISOCNC.Remoting
|
||||||
|
|
||||||
Class TPAComm
|
Public Class TPAComm
|
||||||
|
|
||||||
' creo classe di gestione variabili
|
' creo classe di gestione variabili
|
||||||
Private m_RWVariableManager As RWVariableManager
|
Private m_RWVariableManager As RWVariableManager
|
||||||
@@ -26,8 +26,8 @@ Class TPAComm
|
|||||||
End Get
|
End Get
|
||||||
End Property
|
End Property
|
||||||
|
|
||||||
Private _axesVal As Double() = New Double(23) {}
|
|
||||||
Private _cmdActive As Integer = 0
|
Private _cmdActive As Integer = 0
|
||||||
|
|
||||||
Private m_opState As ISOCNC.Remoting.MachineOperatingState = ISOCNC.Remoting.MachineOperatingState.Unspecified
|
Private m_opState As ISOCNC.Remoting.MachineOperatingState = ISOCNC.Remoting.MachineOperatingState.Unspecified
|
||||||
Public ReadOnly Property opState As ISOCNC.Remoting.MachineOperatingState
|
Public ReadOnly Property opState As ISOCNC.Remoting.MachineOperatingState
|
||||||
Get
|
Get
|
||||||
@@ -79,8 +79,8 @@ Class TPAComm
|
|||||||
|
|
||||||
|
|
||||||
<SecurityPermission(SecurityAction.Demand)>
|
<SecurityPermission(SecurityAction.Demand)>
|
||||||
Public Sub New(Machmanaging As MachManaging)
|
Public Sub New(MachManaging As MachManaging)
|
||||||
m_MachManaging = Machmanaging
|
m_MachManaging = MachManaging
|
||||||
Dim properties As System.Collections.Hashtable = New System.Collections.Hashtable()
|
Dim properties As System.Collections.Hashtable = New System.Collections.Hashtable()
|
||||||
properties("name") = "remotingClient"
|
properties("name") = "remotingClient"
|
||||||
properties("priority") = "20"
|
properties("priority") = "20"
|
||||||
|
|||||||
@@ -19,10 +19,13 @@
|
|||||||
SENDPROG = 10
|
SENDPROG = 10
|
||||||
REMOVEPROG = 11
|
REMOVEPROG = 11
|
||||||
REMOVEALLPROG = 12
|
REMOVEALLPROG = 12
|
||||||
READ = 13
|
READ_TPA = 13
|
||||||
WRITE = 14
|
WRITE = 14
|
||||||
DELETEALARMS = 15
|
DELETEALARMS = 15
|
||||||
SETOP = 16
|
SETOP = 16
|
||||||
|
READ_NUMFLEXIUM = 17
|
||||||
|
STOPREAD_NUMFLEXIUM = 18
|
||||||
|
MDI = 19
|
||||||
End Enum
|
End Enum
|
||||||
|
|
||||||
Public Enum LogCommandTypes As Integer
|
Public Enum LogCommandTypes As Integer
|
||||||
|
|||||||
+6
-1
@@ -76,8 +76,12 @@
|
|||||||
<Reference Include="EgtWPFLib5">
|
<Reference Include="EgtWPFLib5">
|
||||||
<HintPath>..\..\EgtProg\DllD32\EgtWPFLib5.dll</HintPath>
|
<HintPath>..\..\EgtProg\DllD32\EgtWPFLib5.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
|
<Reference Include="Interop.FXLog">
|
||||||
|
<HintPath>..\..\CNC\NUM\Libs\Interop.FXLog.dll</HintPath>
|
||||||
|
<EmbedInteropTypes>True</EmbedInteropTypes>
|
||||||
|
</Reference>
|
||||||
<Reference Include="Interop.FXServer">
|
<Reference Include="Interop.FXServer">
|
||||||
<HintPath>..\..\CNC\NUM\FXSDK\samples\C#\FXServer\fx_DGeneralFunctions\fx_DGeneralFunctions\obj\x86\Debug\Interop.FXServer.dll</HintPath>
|
<HintPath>..\..\CNC\NUM\Libs\Interop.FXServer.dll</HintPath>
|
||||||
<EmbedInteropTypes>True</EmbedInteropTypes>
|
<EmbedInteropTypes>True</EmbedInteropTypes>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="ISOCNC.Remoting">
|
<Reference Include="ISOCNC.Remoting">
|
||||||
@@ -107,6 +111,7 @@
|
|||||||
<DependentUpon>AxesPanelV.xaml</DependentUpon>
|
<DependentUpon>AxesPanelV.xaml</DependentUpon>
|
||||||
</Compile>
|
</Compile>
|
||||||
<Compile Include="AxesPanel\AxesPanelVM.vb" />
|
<Compile Include="AxesPanel\AxesPanelVM.vb" />
|
||||||
|
<Compile Include="Comms\NUMFlexiumComm.vb" />
|
||||||
<Compile Include="Constants\ConstCommVar.vb" />
|
<Compile Include="Constants\ConstCommVar.vb" />
|
||||||
<Compile Include="Constants\ConstGen.vb" />
|
<Compile Include="Constants\ConstGen.vb" />
|
||||||
<Compile Include="Constants\ConstIni.vb" />
|
<Compile Include="Constants\ConstIni.vb" />
|
||||||
|
|||||||
@@ -230,11 +230,11 @@ Public Class MachCommandMessagePanelVM
|
|||||||
|
|
||||||
Private Sub Init()
|
Private Sub Init()
|
||||||
' inizializzo valori assi leggendoli da variabili
|
' inizializzo valori assi leggendoli da variabili
|
||||||
MachManaging.CommandList.Add(ThreadCommand.CreateCommand(CommandTypes.READ, ASSE_X))
|
'MachManaging.CommandList.Add(ThreadCommand.CreateCommand(CommandTypes.READ_TPA, ASSE_X))
|
||||||
MachManaging.CommandList.Add(ThreadCommand.CreateCommand(CommandTypes.READ, ASSE_Y))
|
'MachManaging.CommandList.Add(ThreadCommand.CreateCommand(CommandTypes.READ_TPA, ASSE_Y))
|
||||||
MachManaging.CommandList.Add(ThreadCommand.CreateCommand(CommandTypes.READ, ASSE_Z))
|
'MachManaging.CommandList.Add(ThreadCommand.CreateCommand(CommandTypes.READ_TPA, ASSE_Z))
|
||||||
MachManaging.CommandList.Add(ThreadCommand.CreateCommand(CommandTypes.READ, ASSE_B))
|
'MachManaging.CommandList.Add(ThreadCommand.CreateCommand(CommandTypes.READ_TPA, ASSE_B))
|
||||||
MachManaging.CommandList.Add(ThreadCommand.CreateCommand(CommandTypes.READ, ASSE_C))
|
'MachManaging.CommandList.Add(ThreadCommand.CreateCommand(CommandTypes.READ_TPA, ASSE_C))
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Public ReadOnly Property Disconnect_Command As ICommand
|
Public ReadOnly Property Disconnect_Command As ICommand
|
||||||
@@ -248,10 +248,6 @@ Public Class MachCommandMessagePanelVM
|
|||||||
MachManaging.CommandList.Add(ThreadCommand.CreateCommand(CommandTypes.DISCONNECT))
|
MachManaging.CommandList.Add(ThreadCommand.CreateCommand(CommandTypes.DISCONNECT))
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Public Sub SetOPState(OpState As Integer)
|
|
||||||
MachManaging.CommandList.Add(ThreadCommand.CreateCommand(CommandTypes.SETOP))
|
|
||||||
End Sub
|
|
||||||
|
|
||||||
Public ReadOnly Property Start_Command As ICommand
|
Public ReadOnly Property Start_Command As ICommand
|
||||||
Get
|
Get
|
||||||
If m_cmdStart Is Nothing Then m_cmdStart = New Command(AddressOf Start)
|
If m_cmdStart Is Nothing Then m_cmdStart = New Command(AddressOf Start)
|
||||||
@@ -426,10 +422,8 @@ Public Class MachCommandMessagePanelVM
|
|||||||
Map.refAxesPanelVM.AxisCoordinatesCallbackDlg(AxisValue, AxisIndex)
|
Map.refAxesPanelVM.AxisCoordinatesCallbackDlg(AxisValue, AxisIndex)
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Friend Sub OpStateCallbackDlg(newOpState As MachineOperatingState)
|
Friend Sub OpStateCallbackDlg(newOpState As Integer)
|
||||||
If newOpState <> MachineOperatingState.Unspecified Then
|
Map.refMainWindowVM.SetOPState(Map.refMainWindowVM.OPStateList.FirstOrDefault(Function(x) x.Id = newOpState))
|
||||||
Map.refMainWindowVM.SetOPState(newOpState)
|
|
||||||
End If
|
|
||||||
' Map.refLeftPanelVM.NotifyPropertyChanged(NameOf(Map.refLeftPanelVM.sOPState))
|
' Map.refLeftPanelVM.NotifyPropertyChanged(NameOf(Map.refLeftPanelVM.sOPState))
|
||||||
'DbControllers.m_LogMachineController.Create(MachLog.CreateOPStateLog(newOpState))
|
'DbControllers.m_LogMachineController.Create(MachLog.CreateOPStateLog(newOpState))
|
||||||
End Sub
|
End Sub
|
||||||
|
|||||||
@@ -19,7 +19,7 @@
|
|||||||
Public Delegate Sub UpdateCallbackDlg(Param As String, Params As String)
|
Public Delegate Sub UpdateCallbackDlg(Param As String, Params As String)
|
||||||
Public Delegate Sub AlarmCallbackDlg(ByVal AlarmOperation As Integer, ByVal AlarmType As Integer, ByVal AlarmMessage As String, ByVal AlarmCode As String, ByVal AlarmDateTime As String)
|
Public Delegate Sub AlarmCallbackDlg(ByVal AlarmOperation As Integer, ByVal AlarmType As Integer, ByVal AlarmMessage As String, ByVal AlarmCode As String, ByVal AlarmDateTime As String)
|
||||||
Public Delegate Sub AxisCoordinatesCallbackDlg(ByVal AxisValue As Double, ByVal AxisIndex As Integer)
|
Public Delegate Sub AxisCoordinatesCallbackDlg(ByVal AxisValue As Double, ByVal AxisIndex As Integer)
|
||||||
Public Delegate Sub OpStateCallbackDlg(ByVal newOpState As ISOCNC.Remoting.MachineOperatingState)
|
Public Delegate Sub OpStateCallbackDlg(ByVal newOpState As Integer)
|
||||||
Public Delegate Sub ReadVarCallbackDlg(CommandExecutedCorrectly As Boolean, VarAddress As String, VarValue As String, VarType As Integer)
|
Public Delegate Sub ReadVarCallbackDlg(CommandExecutedCorrectly As Boolean, VarAddress As String, VarValue As String, VarType As Integer)
|
||||||
|
|
||||||
Friend m_ResultCallbackDlg As ResultCallbackDlg
|
Friend m_ResultCallbackDlg As ResultCallbackDlg
|
||||||
|
|||||||
+333
-186
@@ -4,8 +4,9 @@ Imports ISOCNC.Remoting
|
|||||||
Imports EgtUILib
|
Imports EgtUILib
|
||||||
Imports EgtWPFLib5
|
Imports EgtWPFLib5
|
||||||
Imports System.IO
|
Imports System.IO
|
||||||
|
Imports EgtCOMMTest.MainWindowVM
|
||||||
|
|
||||||
Class MachManaging
|
Public Class MachManaging
|
||||||
|
|
||||||
Private m_bConnected As Boolean = False
|
Private m_bConnected As Boolean = False
|
||||||
Public ReadOnly Property bConnected As Boolean
|
Public ReadOnly Property bConnected As Boolean
|
||||||
@@ -13,11 +14,24 @@ Class MachManaging
|
|||||||
Return m_bConnected
|
Return m_bConnected
|
||||||
End Get
|
End Get
|
||||||
End Property
|
End Property
|
||||||
|
Friend Sub SetConnected(value As Boolean)
|
||||||
|
m_bConnected = value
|
||||||
|
End Sub
|
||||||
|
|
||||||
Private m_Tpa As TPAComm = Nothing
|
Private m_CN As Object = Nothing
|
||||||
|
Public ReadOnly Property CN As Object
|
||||||
|
Get
|
||||||
|
Return m_CN
|
||||||
|
End Get
|
||||||
|
End Property
|
||||||
Public ReadOnly Property Tpa As TPAComm
|
Public ReadOnly Property Tpa As TPAComm
|
||||||
Get
|
Get
|
||||||
Return m_Tpa
|
Return m_CN
|
||||||
|
End Get
|
||||||
|
End Property
|
||||||
|
Public ReadOnly Property Num_Flexium As NUMFlexiumComm
|
||||||
|
Get
|
||||||
|
Return m_CN
|
||||||
End Get
|
End Get
|
||||||
End Property
|
End Property
|
||||||
|
|
||||||
@@ -37,6 +51,9 @@ Class MachManaging
|
|||||||
Friend Sub ResetStartPending()
|
Friend Sub ResetStartPending()
|
||||||
m_bStartPending = False
|
m_bStartPending = False
|
||||||
End Sub
|
End Sub
|
||||||
|
Friend Sub SetStartPending(value As Boolean)
|
||||||
|
m_bStartPending = value
|
||||||
|
End Sub
|
||||||
|
|
||||||
' prossima barra di cui mando i parametri di carico
|
' prossima barra di cui mando i parametri di carico
|
||||||
Private m_NextBarId As Integer
|
Private m_NextBarId As Integer
|
||||||
@@ -54,130 +71,136 @@ Class MachManaging
|
|||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Friend Sub Timer_Tick()
|
Friend Sub Timer_Tick()
|
||||||
'Dim bCancel As Boolean = False
|
Select Case Map.refMainWindowVM.SelNCType
|
||||||
'callback(0, "Init", bCancel)
|
Case NCTypes.TPA
|
||||||
|
'Dim bCancel As Boolean = False
|
||||||
|
'callback(0, "Init", bCancel)
|
||||||
|
|
||||||
' leggo tutte le variabili
|
' leggo tutte le variabili
|
||||||
Tpa.RWVariableManager.RefreshAllVars()
|
CN.RWVariableManager.RefreshAllVars()
|
||||||
|
|
||||||
' eseguo ciclo principale
|
' eseguo ciclo principale
|
||||||
Dim nReset_State As Integer
|
Dim nReset_State As Integer
|
||||||
Dim nP_Prod As Integer
|
Dim nP_Prod As Integer
|
||||||
Dim nP_Machgroup As Integer
|
Dim nP_Machgroup As Integer
|
||||||
Dim nP_Part As Integer
|
Dim nP_Part As Integer
|
||||||
Dim nP_State As Integer
|
Dim nP_State As Integer
|
||||||
Tpa.RWVariableManager.ReadVar(P_PROD, nP_Prod)
|
CN.RWVariableManager.ReadVar(P_PROD, nP_Prod)
|
||||||
Tpa.RWVariableManager.ReadVar(P_MACHGROUP, nP_Machgroup)
|
CN.RWVariableManager.ReadVar(P_MACHGROUP, nP_Machgroup)
|
||||||
Tpa.RWVariableManager.ReadVar(P_PART, nP_Part)
|
CN.RWVariableManager.ReadVar(P_PART, nP_Part)
|
||||||
Tpa.RWVariableManager.ReadVar(P_STATE, nP_State)
|
CN.RWVariableManager.ReadVar(P_STATE, nP_State)
|
||||||
Tpa.RWVariableManager.ReadVar(RESET_STATE, nReset_State)
|
CN.RWVariableManager.ReadVar(RESET_STATE, nReset_State)
|
||||||
'' se non ancora fatto, preparo variabili barra successiva
|
'' se non ancora fatto, preparo variabili barra successiva
|
||||||
'If m_NextBarId = 0 Then
|
'If m_NextBarId = 0 Then
|
||||||
' SetNextBarVars()
|
' SetNextBarVars()
|
||||||
'End If
|
'End If
|
||||||
'Dim TestOpState As Integer = Tpa.remObject.MachineOperativeStatus
|
'Dim TestOpState As Integer = Tpa.remObject.MachineOperativeStatus
|
||||||
'' verifico se scattato stato reset
|
'' verifico se scattato stato reset
|
||||||
'If nReset_State <> 0 Then
|
'If nReset_State <> 0 Then
|
||||||
' ' resetto tutti i programmi
|
' ' resetto 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()
|
||||||
' ' resetto variabili P
|
' ' resetto variabili P
|
||||||
' Tpa.RWVariableManager.WriteVar(P_PROD, 0)
|
' Tpa.RWVariableManager.WriteVar(P_PROD, 0)
|
||||||
' Tpa.RWVariableManager.WriteVar(P_MACHGROUP, 0)
|
' Tpa.RWVariableManager.WriteVar(P_MACHGROUP, 0)
|
||||||
' Tpa.RWVariableManager.WriteVar(P_PART, 0)
|
' Tpa.RWVariableManager.WriteVar(P_PART, 0)
|
||||||
' Tpa.RWVariableManager.WriteVar(P_STATE, 0)
|
' Tpa.RWVariableManager.WriteVar(P_STATE, 0)
|
||||||
' ' cancello tutti i programmi da memoria CN
|
' ' cancello tutti i programmi da memoria CN
|
||||||
' 'RemoveAllProgram() toglie programma default per pending
|
' 'RemoveAllProgram() toglie programma default per pending
|
||||||
' ' azzero variabile reset
|
' ' azzero variabile reset
|
||||||
' Tpa.remObject.SetVariableCommand(CInt(ISOCNC.Remoting.VariableCommands.WriteVar),
|
' Tpa.remObject.SetVariableCommand(CInt(ISOCNC.Remoting.VariableCommands.WriteVar),
|
||||||
' RWVariableManager.GetReadVarFromName(RESET_STATE).sAddress, "0")
|
' RWVariableManager.GetReadVarFromName(RESET_STATE).sAddress, "0")
|
||||||
' ' resetto prossima barra e variabili V
|
' ' resetto prossima barra e variabili V
|
||||||
' m_NextBarId = 0
|
' m_NextBarId = 0
|
||||||
' For Index = 1 To 6
|
' For Index = 1 To 6
|
||||||
' Tpa.RWVariableManager.WriteVar(VPAR & Index.ToString(), 0)
|
' Tpa.RWVariableManager.WriteVar(VPAR & Index.ToString(), 0)
|
||||||
' Next
|
' Next
|
||||||
|
|
||||||
|
' Return
|
||||||
|
' ' se macchina pronta e non sta tagliando alcun pezzo
|
||||||
|
'ElseIf (nP_Prod = 0 AndAlso
|
||||||
|
' nP_Machgroup = 0 AndAlso
|
||||||
|
' nP_Part = 0 AndAlso
|
||||||
|
' nP_State = PartState.NULL) AndAlso
|
||||||
|
' Tpa.opState = MachineOperatingState.Pending AndAlso Tpa.remObject.MachineOperativeStatus = MachineOperatingState.Pending Then
|
||||||
|
' ' verifico se c'e' un programma da lanciare
|
||||||
|
' SendNextProgram()
|
||||||
|
' ' attesa per essere sicuro che abbia scritto e riletto variabili
|
||||||
|
' Threading.Thread.Sleep(300)
|
||||||
|
' ' verifico stati inizio e fine pezzi
|
||||||
|
'ElseIf nP_Prod <> 0 AndAlso
|
||||||
|
' nP_Machgroup <> 0 AndAlso
|
||||||
|
' nP_Part <> 0 Then
|
||||||
|
' If nP_State = PartState.START Then
|
||||||
|
' ' scrivo data start su Db pezzo
|
||||||
|
' Dim dtStart As DateTime = DateTime.Now()
|
||||||
|
' DbControllers.m_PartController.UpdateStart(nP_Prod, nP_Machgroup, nP_Part, dtStart)
|
||||||
|
' DbControllers.m_PartController.UpdateStatus(nP_Prod, nP_Machgroup, nP_Part, ItemState.WIP)
|
||||||
|
' ' recupero gruppo di lavorazione del pezzo
|
||||||
|
' Dim MachGroup As MyMachGroupVM = Map.refProjectVM.SupervisorMachGroupPanelVM.MachGroupVMList.FirstOrDefault(Function(x) x.Id = nP_Machgroup)
|
||||||
|
' ' recupero pezzo
|
||||||
|
' Dim Part As PartVM = MachGroup.PartVMList.FirstOrDefault(Function(x) x.nPartId = nP_Part)
|
||||||
|
' ' scrivo stato start
|
||||||
|
' Part.nProduction_State = 1
|
||||||
|
' Part.dtStartTime = dtStart
|
||||||
|
' Part.NotifyPropertyChanged(NameOf(Part.nCALC_State))
|
||||||
|
' ' azzero variabile per far ripartire macchina
|
||||||
|
' Tpa.RWVariableManager.WriteVar(P_STATE, 0)
|
||||||
|
' ' se nessun pezzo della barra diverso da quello corrente e' in start
|
||||||
|
' If Not MachGroup.PartVMList.Any(Function(x) x.nPartId <> nP_Part AndAlso x.nCALC_State = 1) Then
|
||||||
|
' ' scrivo data start su Db barra
|
||||||
|
' DbControllers.m_MachGroupController.UpdateStart(nP_Prod, nP_Machgroup, dtStart)
|
||||||
|
' DbControllers.m_MachGroupController.UpdateStatus(nP_Prod, nP_Machgroup, ItemState.WIP)
|
||||||
|
' ' scrivo stato start
|
||||||
|
' MachGroup.MyMachGroupM.SetProductionState(1)
|
||||||
|
' MachGroup.dtStartTime = dtStart
|
||||||
|
' MachGroup.NotifyPropertyChanged(NameOf(MachGroup.nCALC_State))
|
||||||
|
' End If
|
||||||
|
' ' attesa per essere sicuro che abbia scritto e riletto variabili
|
||||||
|
' Threading.Thread.Sleep(300)
|
||||||
|
' ElseIf nP_State = PartState.END_ Then
|
||||||
|
' ' scrivo data end su Db pezzo
|
||||||
|
' Dim dtEnd As DateTime = DateTime.Now()
|
||||||
|
' DbControllers.m_PartController.UpdateEnd(nP_Prod, nP_Machgroup, nP_Part, dtEnd)
|
||||||
|
' DbControllers.m_PartController.UpdateStatus(nP_Prod, nP_Machgroup, nP_Part, ItemState.Produced)
|
||||||
|
' ' recupero gruppo di lavorazione del pezzo
|
||||||
|
' Dim MachGroup As MyMachGroupVM = Map.refProjectVM.SupervisorMachGroupPanelVM.MachGroupVMList.FirstOrDefault(Function(x) x.Id = nP_Machgroup)
|
||||||
|
' ' recupero pezzo
|
||||||
|
' Dim Part As PartVM = MachGroup.PartVMList.FirstOrDefault(Function(x) x.nPartId = nP_Part)
|
||||||
|
' ' scrivo stato end
|
||||||
|
' Part.nProduction_State = 2
|
||||||
|
' Part.dtEndTime = dtEnd
|
||||||
|
' Part.NotifyPropertyChanged(NameOf(Part.nCALC_State))
|
||||||
|
' ' resetto stato redo
|
||||||
|
' Part.bRedo = False
|
||||||
|
' ' azzero variabile per far ripartire macchina
|
||||||
|
' Tpa.RWVariableManager.WriteVar(P_STATE, 0)
|
||||||
|
' ' se tutti i pezzi della barra sono in end
|
||||||
|
' If MachGroup.PartVMList.All(Function(x) x.nCALC_State >= 2) Then
|
||||||
|
' ' scrivo data end su Db barra
|
||||||
|
' DbControllers.m_MachGroupController.UpdateEnd(nP_Prod, nP_Machgroup, dtEnd)
|
||||||
|
' DbControllers.m_MachGroupController.UpdateStatus(nP_Prod, nP_Machgroup, ItemState.Produced)
|
||||||
|
' ' scrivo stato end
|
||||||
|
' MachGroup.MyMachGroupM.SetProductionState(2)
|
||||||
|
' MachGroup.dtEndTime = dtEnd
|
||||||
|
' MachGroup.NotifyPropertyChanged(NameOf(MachGroup.nCALC_State))
|
||||||
|
' ' azzero tutte le variabilli per iniziare barra successiva
|
||||||
|
' Tpa.RWVariableManager.WriteVar(P_PROD, 0)
|
||||||
|
' Tpa.RWVariableManager.WriteVar(P_MACHGROUP, 0)
|
||||||
|
' Tpa.RWVariableManager.WriteVar(P_PART, 0)
|
||||||
|
' Tpa.RWVariableManager.WriteVar(P_STATE, 0)
|
||||||
|
' End If
|
||||||
|
' If Map.refMachCommandMessagePanelVM.bPrinterLink Then
|
||||||
|
' LabelPrinter.SetTestPrintVariables(nP_Prod, nP_Machgroup, nP_Part)
|
||||||
|
' LabelPrinter.Print()
|
||||||
|
' End If
|
||||||
|
' ' attesa per essere sicuro che abbia scritto e riletto variabili
|
||||||
|
' Threading.Thread.Sleep(300)
|
||||||
|
' End If
|
||||||
|
'End If
|
||||||
|
Case NCTypes.NUM_FLEXIUM
|
||||||
|
|
||||||
|
End Select
|
||||||
|
|
||||||
' Return
|
|
||||||
' ' se macchina pronta e non sta tagliando alcun pezzo
|
|
||||||
'ElseIf (nP_Prod = 0 AndAlso
|
|
||||||
' nP_Machgroup = 0 AndAlso
|
|
||||||
' nP_Part = 0 AndAlso
|
|
||||||
' nP_State = PartState.NULL) AndAlso
|
|
||||||
' Tpa.opState = MachineOperatingState.Pending AndAlso Tpa.remObject.MachineOperativeStatus = MachineOperatingState.Pending Then
|
|
||||||
' ' verifico se c'e' un programma da lanciare
|
|
||||||
' SendNextProgram()
|
|
||||||
' ' attesa per essere sicuro che abbia scritto e riletto variabili
|
|
||||||
' Threading.Thread.Sleep(300)
|
|
||||||
' ' verifico stati inizio e fine pezzi
|
|
||||||
'ElseIf nP_Prod <> 0 AndAlso
|
|
||||||
' nP_Machgroup <> 0 AndAlso
|
|
||||||
' nP_Part <> 0 Then
|
|
||||||
' If nP_State = PartState.START Then
|
|
||||||
' ' scrivo data start su Db pezzo
|
|
||||||
' Dim dtStart As DateTime = DateTime.Now()
|
|
||||||
' DbControllers.m_PartController.UpdateStart(nP_Prod, nP_Machgroup, nP_Part, dtStart)
|
|
||||||
' DbControllers.m_PartController.UpdateStatus(nP_Prod, nP_Machgroup, nP_Part, ItemState.WIP)
|
|
||||||
' ' recupero gruppo di lavorazione del pezzo
|
|
||||||
' Dim MachGroup As MyMachGroupVM = Map.refProjectVM.SupervisorMachGroupPanelVM.MachGroupVMList.FirstOrDefault(Function(x) x.Id = nP_Machgroup)
|
|
||||||
' ' recupero pezzo
|
|
||||||
' Dim Part As PartVM = MachGroup.PartVMList.FirstOrDefault(Function(x) x.nPartId = nP_Part)
|
|
||||||
' ' scrivo stato start
|
|
||||||
' Part.nProduction_State = 1
|
|
||||||
' Part.dtStartTime = dtStart
|
|
||||||
' Part.NotifyPropertyChanged(NameOf(Part.nCALC_State))
|
|
||||||
' ' azzero variabile per far ripartire macchina
|
|
||||||
' Tpa.RWVariableManager.WriteVar(P_STATE, 0)
|
|
||||||
' ' se nessun pezzo della barra diverso da quello corrente e' in start
|
|
||||||
' If Not MachGroup.PartVMList.Any(Function(x) x.nPartId <> nP_Part AndAlso x.nCALC_State = 1) Then
|
|
||||||
' ' scrivo data start su Db barra
|
|
||||||
' DbControllers.m_MachGroupController.UpdateStart(nP_Prod, nP_Machgroup, dtStart)
|
|
||||||
' DbControllers.m_MachGroupController.UpdateStatus(nP_Prod, nP_Machgroup, ItemState.WIP)
|
|
||||||
' ' scrivo stato start
|
|
||||||
' MachGroup.MyMachGroupM.SetProductionState(1)
|
|
||||||
' MachGroup.dtStartTime = dtStart
|
|
||||||
' MachGroup.NotifyPropertyChanged(NameOf(MachGroup.nCALC_State))
|
|
||||||
' End If
|
|
||||||
' ' attesa per essere sicuro che abbia scritto e riletto variabili
|
|
||||||
' Threading.Thread.Sleep(300)
|
|
||||||
' ElseIf nP_State = PartState.END_ Then
|
|
||||||
' ' scrivo data end su Db pezzo
|
|
||||||
' Dim dtEnd As DateTime = DateTime.Now()
|
|
||||||
' DbControllers.m_PartController.UpdateEnd(nP_Prod, nP_Machgroup, nP_Part, dtEnd)
|
|
||||||
' DbControllers.m_PartController.UpdateStatus(nP_Prod, nP_Machgroup, nP_Part, ItemState.Produced)
|
|
||||||
' ' recupero gruppo di lavorazione del pezzo
|
|
||||||
' Dim MachGroup As MyMachGroupVM = Map.refProjectVM.SupervisorMachGroupPanelVM.MachGroupVMList.FirstOrDefault(Function(x) x.Id = nP_Machgroup)
|
|
||||||
' ' recupero pezzo
|
|
||||||
' Dim Part As PartVM = MachGroup.PartVMList.FirstOrDefault(Function(x) x.nPartId = nP_Part)
|
|
||||||
' ' scrivo stato end
|
|
||||||
' Part.nProduction_State = 2
|
|
||||||
' Part.dtEndTime = dtEnd
|
|
||||||
' Part.NotifyPropertyChanged(NameOf(Part.nCALC_State))
|
|
||||||
' ' resetto stato redo
|
|
||||||
' Part.bRedo = False
|
|
||||||
' ' azzero variabile per far ripartire macchina
|
|
||||||
' Tpa.RWVariableManager.WriteVar(P_STATE, 0)
|
|
||||||
' ' se tutti i pezzi della barra sono in end
|
|
||||||
' If MachGroup.PartVMList.All(Function(x) x.nCALC_State >= 2) Then
|
|
||||||
' ' scrivo data end su Db barra
|
|
||||||
' DbControllers.m_MachGroupController.UpdateEnd(nP_Prod, nP_Machgroup, dtEnd)
|
|
||||||
' DbControllers.m_MachGroupController.UpdateStatus(nP_Prod, nP_Machgroup, ItemState.Produced)
|
|
||||||
' ' scrivo stato end
|
|
||||||
' MachGroup.MyMachGroupM.SetProductionState(2)
|
|
||||||
' MachGroup.dtEndTime = dtEnd
|
|
||||||
' MachGroup.NotifyPropertyChanged(NameOf(MachGroup.nCALC_State))
|
|
||||||
' ' azzero tutte le variabilli per iniziare barra successiva
|
|
||||||
' Tpa.RWVariableManager.WriteVar(P_PROD, 0)
|
|
||||||
' Tpa.RWVariableManager.WriteVar(P_MACHGROUP, 0)
|
|
||||||
' Tpa.RWVariableManager.WriteVar(P_PART, 0)
|
|
||||||
' Tpa.RWVariableManager.WriteVar(P_STATE, 0)
|
|
||||||
' End If
|
|
||||||
' If Map.refMachCommandMessagePanelVM.bPrinterLink Then
|
|
||||||
' LabelPrinter.SetTestPrintVariables(nP_Prod, nP_Machgroup, nP_Part)
|
|
||||||
' LabelPrinter.Print()
|
|
||||||
' End If
|
|
||||||
' ' attesa per essere sicuro che abbia scritto e riletto variabili
|
|
||||||
' Threading.Thread.Sleep(300)
|
|
||||||
' End If
|
|
||||||
'End If
|
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Private m_Lock_SendProgram As New Object
|
Private m_Lock_SendProgram As New Object
|
||||||
@@ -258,114 +281,238 @@ Class MachManaging
|
|||||||
Case CommandTypes.SETPOINT
|
Case CommandTypes.SETPOINT
|
||||||
SetPoint()
|
SetPoint()
|
||||||
Case CommandTypes.SENDPROG
|
Case CommandTypes.SENDPROG
|
||||||
SendProgram(Command.sVariable)
|
SendProgram(Command.sVariable, Command.sVariables(1))
|
||||||
Case CommandTypes.REMOVEPROG
|
Case CommandTypes.REMOVEPROG
|
||||||
RemoveProgram(Command.nVariable, Command.sVariable)
|
RemoveProgram(Command.nVariable, Command.sVariable, Command.sVariables(1))
|
||||||
Case CommandTypes.REMOVEALLPROG
|
Case CommandTypes.REMOVEALLPROG
|
||||||
RemoveAllProgram()
|
RemoveAllProgram()
|
||||||
Case CommandTypes.READ
|
Case CommandTypes.READ_TPA
|
||||||
Tpa.RWVariableManager.RefreshVar(Command.sVariable)
|
Tpa.RWVariableManager.RefreshVar(Command.sVariable)
|
||||||
Case CommandTypes.WRITE
|
Case CommandTypes.WRITE
|
||||||
Tpa.RWVariableManager.WriteVar(Command.sVariable, Command.sVariables(1))
|
WriteVar(Command.sVariable, Command.sVariables(1), Command.nVariable)
|
||||||
Case CommandTypes.DELETEALARMS
|
Case CommandTypes.DELETEALARMS
|
||||||
DeleteAlarms()
|
DeleteAlarms()
|
||||||
Case CommandTypes.SETOP
|
Case CommandTypes.SETOP
|
||||||
|
SetOPState(Command.nVariable)
|
||||||
|
Case CommandTypes.READ_NUMFLEXIUM
|
||||||
|
Num_Flexium.StartReadList()
|
||||||
|
Num_Flexium.StartReadELS()
|
||||||
|
Case CommandTypes.STOPREAD_NUMFLEXIUM
|
||||||
|
Num_Flexium.CloseReadList()
|
||||||
|
Num_Flexium.CloseReadELS()
|
||||||
|
Case CommandTypes.MDI
|
||||||
|
Num_Flexium.MDI_Execute(Command.sVariable)
|
||||||
End Select
|
End Select
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Public Sub Connect()
|
Public Sub Connect()
|
||||||
Try
|
Select Case Map.refMainWindowVM.SelNCType
|
||||||
m_Tpa = New TPAComm(Me)
|
Case NCTypes.TPA
|
||||||
m_bConnected = Tpa.remObject.OnConnect()
|
Try
|
||||||
m_ResultCallbackDlg(CommandTypes.CONNECT, CommandStates.OK, ResultTypes.EXECUTED, "")
|
m_CN = New TPAComm(Me)
|
||||||
' creo classe di gestione variabili
|
m_bConnected = Tpa.remObject.OnConnect()
|
||||||
Catch ex As Exception
|
m_ResultCallbackDlg(CommandTypes.CONNECT, CommandStates.OK, ResultTypes.EXECUTED, "")
|
||||||
m_ResultCallbackDlg(CommandTypes.CONNECT, CommandStates.ERROR_, ResultTypes.EXECUTED, "Errore: impossibile connettersi!")
|
' creo classe di gestione variabili
|
||||||
Return
|
Catch ex As Exception
|
||||||
End Try
|
m_ResultCallbackDlg(CommandTypes.CONNECT, CommandStates.ERROR_, ResultTypes.EXECUTED, "Errore: impossibile connettersi!")
|
||||||
|
Return
|
||||||
|
End Try
|
||||||
|
Case NCTypes.NUM_FLEXIUM
|
||||||
|
Try
|
||||||
|
m_CN = New NUMFlexiumComm(Me)
|
||||||
|
Num_Flexium.InitFxServer()
|
||||||
|
m_ResultCallbackDlg(CommandTypes.CONNECT, CommandStates.OK, ResultTypes.EXECUTED, "")
|
||||||
|
' creo classe di gestione variabili
|
||||||
|
Catch ex As Exception
|
||||||
|
m_ResultCallbackDlg(CommandTypes.CONNECT, CommandStates.ERROR_, ResultTypes.EXECUTED, "Errore: impossibile connettersi!")
|
||||||
|
Return
|
||||||
|
End Try
|
||||||
|
End Select
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Public Sub Disconnect()
|
Public Sub Disconnect()
|
||||||
Dim bOk As Boolean = Tpa.remObject.OnClose()
|
Select Case Map.refMainWindowVM.SelNCType
|
||||||
m_bConnected = Not bOk
|
Case NCTypes.TPA
|
||||||
m_ResultCallbackDlg(CommandTypes.DISCONNECT, If(bOk, CommandStates.OK, CommandStates.ERROR_), ResultTypes.EXECUTED, "")
|
Dim bOk As Boolean = Tpa.remObject.OnClose()
|
||||||
' chiudo classe Tpa
|
m_bConnected = Not bOk
|
||||||
Me.OnDispose()
|
m_ResultCallbackDlg(CommandTypes.DISCONNECT, If(bOk, CommandStates.OK, CommandStates.ERROR_), ResultTypes.EXECUTED, "")
|
||||||
m_Tpa.OnDispose()
|
' chiudo classe Tpa
|
||||||
|
Me.OnDispose()
|
||||||
|
Tpa.OnDispose()
|
||||||
|
Case NCTypes.NUM_FLEXIUM
|
||||||
|
m_bConnected = False
|
||||||
|
m_ResultCallbackDlg(CommandTypes.DISCONNECT, CommandStates.OK, ResultTypes.EXECUTED, "")
|
||||||
|
' chiudo classe Num_Flexium
|
||||||
|
Me.OnDispose()
|
||||||
|
'Num_Flexium.OnDispose()
|
||||||
|
End Select
|
||||||
' termino thread di comunicazione
|
' termino thread di comunicazione
|
||||||
MachineCommThread.StopThread()
|
MachineCommThread.StopThread()
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Public Sub SetOPState()
|
Public Sub SetOPState(CNMode As NUMFlexiumComm.CNMode)
|
||||||
|
Select Case Map.refMainWindowVM.SelNCType
|
||||||
|
Case NCTypes.NUM_FLEXIUM
|
||||||
|
Num_Flexium.SetMode(CNMode)
|
||||||
|
End Select
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Public Sub Start()
|
Public Sub Start()
|
||||||
Dim bOk As Boolean = Tpa.remObject.SetCommand(CInt(ISOCNC.Remoting.Commands.Start))
|
Select Case Map.refMainWindowVM.SelNCType
|
||||||
m_bStartPending = bOk
|
Case NCTypes.TPA
|
||||||
m_ResultCallbackDlg(CommandTypes.START, If(bOk, CommandStates.OK, CommandStates.ERROR_), ResultTypes.EXECUTED, "")
|
Dim bOk As Boolean = Tpa.remObject.SetCommand(CInt(ISOCNC.Remoting.Commands.Start))
|
||||||
|
m_bStartPending = bOk
|
||||||
|
m_ResultCallbackDlg(CommandTypes.START, If(bOk, CommandStates.OK, CommandStates.ERROR_), ResultTypes.EXECUTED, "")
|
||||||
|
Case NCTypes.NUM_FLEXIUM
|
||||||
|
Num_Flexium.Start()
|
||||||
|
End Select
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Public Sub [Stop]()
|
Public Sub [Stop]()
|
||||||
Dim bOk As Boolean = Tpa.remObject.SetCommand(CInt(ISOCNC.Remoting.Commands.[Stop]))
|
Select Case Map.refMainWindowVM.SelNCType
|
||||||
m_ResultCallbackDlg(CommandTypes.STOP_, If(bOk, CommandStates.OK, CommandStates.ERROR_), ResultTypes.EXECUTED, "")
|
Case NCTypes.TPA
|
||||||
|
Dim bOk As Boolean = Tpa.remObject.SetCommand(CInt(ISOCNC.Remoting.Commands.[Stop]))
|
||||||
|
m_ResultCallbackDlg(CommandTypes.STOP_, If(bOk, CommandStates.OK, CommandStates.ERROR_), ResultTypes.EXECUTED, "")
|
||||||
|
Case NCTypes.NUM_FLEXIUM
|
||||||
|
Num_Flexium.Stop_()
|
||||||
|
End Select
|
||||||
|
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Public Sub Reset()
|
Public Sub Reset()
|
||||||
Dim bOk As Boolean = Tpa.remObject.SetCommand(CInt(ISOCNC.Remoting.Commands.[End]))
|
Select Case Map.refMainWindowVM.SelNCType
|
||||||
m_ResultCallbackDlg(CommandTypes.RESET, If(bOk, CommandStates.OK, CommandStates.ERROR_), ResultTypes.EXECUTED, "")
|
Case NCTypes.TPA
|
||||||
|
Dim bOk As Boolean = Tpa.remObject.SetCommand(CInt(ISOCNC.Remoting.Commands.[End]))
|
||||||
|
m_ResultCallbackDlg(CommandTypes.RESET, If(bOk, CommandStates.OK, CommandStates.ERROR_), ResultTypes.EXECUTED, "")
|
||||||
|
Case NCTypes.NUM_FLEXIUM
|
||||||
|
Num_Flexium.Reset()
|
||||||
|
End Select
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Public Sub Step_()
|
Public Sub Step_()
|
||||||
Dim bOk As Boolean = Tpa.remObject.SetCommand(CInt(ISOCNC.Remoting.Commands.Step))
|
Select Case Map.refMainWindowVM.SelNCType
|
||||||
m_ResultCallbackDlg(CommandTypes.STEP_, If(bOk, CommandStates.OK, CommandStates.ERROR_), ResultTypes.EXECUTED, "")
|
Case NCTypes.TPA
|
||||||
|
Dim bOk As Boolean = Tpa.remObject.SetCommand(CInt(ISOCNC.Remoting.Commands.Step))
|
||||||
|
m_ResultCallbackDlg(CommandTypes.STEP_, If(bOk, CommandStates.OK, CommandStates.ERROR_), ResultTypes.EXECUTED, "")
|
||||||
|
Case NCTypes.NUM_FLEXIUM
|
||||||
|
''
|
||||||
|
End Select
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Public Sub SetPoint()
|
Public Sub SetPoint()
|
||||||
Dim bOk As Boolean = Tpa.remObject.SetCommand(CInt(ISOCNC.Remoting.Commands.SetPoint))
|
Select Case Map.refMainWindowVM.SelNCType
|
||||||
m_ResultCallbackDlg(CommandTypes.SETPOINT, If(bOk, CommandStates.OK, CommandStates.ERROR_), ResultTypes.EXECUTED, "")
|
Case NCTypes.TPA
|
||||||
|
Dim bOk As Boolean = Tpa.remObject.SetCommand(CInt(ISOCNC.Remoting.Commands.SetPoint))
|
||||||
|
m_ResultCallbackDlg(CommandTypes.SETPOINT, If(bOk, CommandStates.OK, CommandStates.ERROR_), ResultTypes.EXECUTED, "")
|
||||||
|
Case NCTypes.NUM_FLEXIUM
|
||||||
|
''
|
||||||
|
End Select
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Public Function SendProgram(ProgramPath As String) As Boolean
|
Public Function SendProgram(ProgramPath As String, ProgramType As String) As Boolean
|
||||||
If Tpa.opState = MachineOperatingState.Pending Then
|
Select Case Map.refMainWindowVM.SelNCType
|
||||||
Tpa.remObject.RemoveAllProgramsFromList()
|
Case NCTypes.TPA
|
||||||
Dim bOk As Boolean = False
|
If Tpa.opState = MachineOperatingState.Pending Then
|
||||||
ProgramPath = ProgramPath.Replace("\\", "\")
|
Tpa.remObject.RemoveAllProgramsFromList()
|
||||||
bOk = Tpa.remObject.AddProgramToList(ProgramPath)
|
Dim bOk As Boolean = False
|
||||||
Threading.Thread.Sleep(1000)
|
ProgramPath = ProgramPath.Replace("\\", "\")
|
||||||
bOk = Tpa.remObject.SetCommand(CInt(ISOCNC.Remoting.Commands.Start_Program_Soft))
|
bOk = Tpa.remObject.AddProgramToList(ProgramPath)
|
||||||
m_ResultCallbackDlg(CommandTypes.SENDPROG, If(bOk, CommandStates.OK, CommandStates.ERROR_), ResultTypes.EXECUTED, "")
|
Threading.Thread.Sleep(1000)
|
||||||
Return bOk
|
bOk = Tpa.remObject.SetCommand(CInt(ISOCNC.Remoting.Commands.Start_Program_Soft))
|
||||||
End If
|
m_ResultCallbackDlg(CommandTypes.SENDPROG, If(bOk, CommandStates.OK, CommandStates.ERROR_), ResultTypes.EXECUTED, "")
|
||||||
Return False
|
Return bOk
|
||||||
|
End If
|
||||||
|
Return False
|
||||||
|
Case NCTypes.NUM_FLEXIUM
|
||||||
|
Num_Flexium.FileDownload(ProgramType, ProgramPath)
|
||||||
|
Num_Flexium.StartTransfer()
|
||||||
|
End Select
|
||||||
End Function
|
End Function
|
||||||
|
|
||||||
Public Sub RemoveProgram(ProgramIndex As Integer, ProgramPath As String)
|
Public Sub RemoveProgram(ProgramIndex As Integer, ProgramPath As String, ProgramType As String)
|
||||||
Dim bOk As Boolean
|
Select Case Map.refMainWindowVM.SelNCType
|
||||||
Dim sError As String = ""
|
Case NCTypes.TPA
|
||||||
If ProgramIndex > 0 Then
|
Dim bOk As Boolean
|
||||||
bOk = Tpa.remObject.RemoveProgramFromListAtIndex(ProgramIndex)
|
Dim sError As String = ""
|
||||||
ElseIf Not String.IsNullOrEmpty(ProgramPath) Then
|
If ProgramIndex > 0 Then
|
||||||
bOk = Tpa.remObject.RemoveProgramFromList(ProgramPath)
|
bOk = CN.remObject.RemoveProgramFromListAtIndex(ProgramIndex)
|
||||||
Else
|
ElseIf Not String.IsNullOrEmpty(ProgramPath) Then
|
||||||
bOk = False
|
bOk = CN.remObject.RemoveProgramFromList(ProgramPath)
|
||||||
sError = "Errore: nessun parametro passato"
|
Else
|
||||||
End If
|
bOk = False
|
||||||
m_ResultCallbackDlg(CommandTypes.REMOVEPROG, If(bOk, CommandStates.OK, CommandStates.ERROR_), ResultTypes.EXECUTED, sError)
|
sError = "Errore: nessun parametro passato"
|
||||||
|
End If
|
||||||
|
m_ResultCallbackDlg(CommandTypes.REMOVEPROG, If(bOk, CommandStates.OK, CommandStates.ERROR_), ResultTypes.EXECUTED, sError)
|
||||||
|
Case NCTypes.NUM_FLEXIUM
|
||||||
|
Num_Flexium.FileDelete(ProgramType, ProgramPath)
|
||||||
|
Num_Flexium.StartTransfer()
|
||||||
|
End Select
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Public Sub RemoveAllProgram()
|
Public Sub RemoveAllProgram()
|
||||||
Dim bOk As Boolean = Tpa.remObject.RemoveAllProgramsFromList()
|
Dim bOk As Boolean = CN.remObject.RemoveAllProgramsFromList()
|
||||||
m_ResultCallbackDlg(CommandTypes.REMOVEALLPROG, If(bOk, CommandStates.OK, CommandStates.ERROR_), ResultTypes.EXECUTED, "")
|
m_ResultCallbackDlg(CommandTypes.REMOVEALLPROG, If(bOk, CommandStates.OK, CommandStates.ERROR_), ResultTypes.EXECUTED, "")
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Public Sub DeleteAlarms()
|
Public Sub DeleteAlarms()
|
||||||
Dim bOk As Boolean = Tpa.remObject.DeleteAlarms(CInt(AlarmType.ISO))
|
Dim bOk As Boolean = CN.remObject.DeleteAlarms(CInt(AlarmType.ISO))
|
||||||
bOk = Tpa.remObject.DeleteAlarms(CInt(AlarmType.Message))
|
bOk = CN.remObject.DeleteAlarms(CInt(AlarmType.Message))
|
||||||
bOk = Tpa.remObject.DeleteAlarms(CInt(AlarmType.Cycle))
|
bOk = CN.remObject.DeleteAlarms(CInt(AlarmType.Cycle))
|
||||||
bOk = Tpa.remObject.DeleteAlarms(CInt(AlarmType.System))
|
bOk = CN.remObject.DeleteAlarms(CInt(AlarmType.System))
|
||||||
m_ResultCallbackDlg(CommandTypes.DELETEALARMS, If(bOk, CommandStates.OK, CommandStates.ERROR_), ResultTypes.EXECUTED, "")
|
m_ResultCallbackDlg(CommandTypes.DELETEALARMS, If(bOk, CommandStates.OK, CommandStates.ERROR_), ResultTypes.EXECUTED, "")
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
|
Public Sub WriteVar(Address As String, Value As String, Type As CommVar.Types)
|
||||||
|
Select Case Map.refMainWindowVM.SelNCType
|
||||||
|
Case NCTypes.TPA
|
||||||
|
CN.RWVariableManager.WriteVar(Address, Value)
|
||||||
|
Case NCTypes.NUM_FLEXIUM
|
||||||
|
Select Case Type
|
||||||
|
Case CommVar.Types.PLC
|
||||||
|
Num_Flexium.WritePlcVariables(Address, Value)
|
||||||
|
Case CommVar.Types.CN
|
||||||
|
Num_Flexium.WriteNCVariables(Address, Value)
|
||||||
|
End Select
|
||||||
|
End Select
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Public Shared Function InitVar(nIndex As Integer) As CommVar
|
||||||
|
Dim NewVar As CommVar = GetPrivateProfileVariable(S_VARIABLES, nIndex, Map.refMainWindowVM.MainWindowM.sMachIniFile)
|
||||||
|
Select Case Map.refMainWindowVM.SelNCType
|
||||||
|
Case NCTypes.TPA
|
||||||
|
Return RWVariableManager.InitVar(NewVar)
|
||||||
|
Case NCTypes.NUM_FLEXIUM
|
||||||
|
Return NUMFlexiumComm.InitVar(NewVar)
|
||||||
|
End Select
|
||||||
|
End Function
|
||||||
|
|
||||||
|
Private Shared Function GetPrivateProfileVariable(IpAppName As String, IpKeyName As String, IpFileName As String) As CommVar
|
||||||
|
Dim sVariable As String = ""
|
||||||
|
EgtUILib.GetPrivateProfileString(IpAppName, IpKeyName, "", sVariable, IpFileName)
|
||||||
|
Dim sVariableValues() As String = sVariable.Split(","c)
|
||||||
|
If Not sVariableValues.Count >= 4 Then Return Nothing
|
||||||
|
For Index = 0 To sVariableValues.Count - 1
|
||||||
|
sVariableValues(Index) = sVariableValues(Index).Trim()
|
||||||
|
Next
|
||||||
|
Dim ReadType As CommVar.ReadTypes
|
||||||
|
Select Case sVariableValues(2).ToLower()
|
||||||
|
Case "o"
|
||||||
|
ReadType = CommVar.ReadTypes.ONETIME
|
||||||
|
Case "c"
|
||||||
|
ReadType = CommVar.ReadTypes.CONTINUOUS
|
||||||
|
Case Else
|
||||||
|
ReadType = CommVar.ReadTypes.NULL
|
||||||
|
End Select
|
||||||
|
Dim Type As CommVar.Types
|
||||||
|
Select Case sVariableValues(3).ToLower()
|
||||||
|
Case "plc"
|
||||||
|
Type = CommVar.Types.PLC
|
||||||
|
Case "cn"
|
||||||
|
Type = CommVar.Types.CN
|
||||||
|
Case Else
|
||||||
|
Type = CommVar.ReadTypes.NULL
|
||||||
|
End Select
|
||||||
|
Return New CommVar(sVariableValues(0), sVariableValues(1), ReadType, Type)
|
||||||
|
End Function
|
||||||
|
|
||||||
End Class
|
End Class
|
||||||
|
|||||||
@@ -40,7 +40,7 @@
|
|||||||
|
|
||||||
End Class
|
End Class
|
||||||
|
|
||||||
Class ThreadCommand
|
Public Class ThreadCommand
|
||||||
|
|
||||||
Private m_CommandType As CommandTypes
|
Private m_CommandType As CommandTypes
|
||||||
Public ReadOnly Property CommandType As CommandTypes
|
Public ReadOnly Property CommandType As CommandTypes
|
||||||
@@ -119,7 +119,7 @@ Class ThreadCommand
|
|||||||
End Function
|
End Function
|
||||||
Public Shared Function CreateReadCommand(sVariable As String) As ThreadCommand
|
Public Shared Function CreateReadCommand(sVariable As String) As ThreadCommand
|
||||||
Dim NewCommand As ThreadCommand = New ThreadCommand
|
Dim NewCommand As ThreadCommand = New ThreadCommand
|
||||||
NewCommand.m_CommandType = CommandTypes.READ
|
NewCommand.m_CommandType = CommandTypes.READ_TPA
|
||||||
NewCommand.m_sVariables(0) = sVariable
|
NewCommand.m_sVariables(0) = sVariable
|
||||||
Return NewCommand
|
Return NewCommand
|
||||||
End Function
|
End Function
|
||||||
|
|||||||
@@ -50,13 +50,13 @@ Public Class RWVariableManager
|
|||||||
Public Sub RefreshAllVars()
|
Public Sub RefreshAllVars()
|
||||||
For Each Var In m_ReadingVars
|
For Each Var In m_ReadingVars
|
||||||
' rileggo solo variabili continue
|
' rileggo solo variabili continue
|
||||||
If Not IsNothing(Var) AndAlso Var.sType = CommVar.CommVarTypes.CONTINUOUS Then IntRefreshVar(Var.sAddress)
|
If Not IsNothing(Var) AndAlso Var.nReadType = CommVar.ReadTypes.CONTINUOUS Then IntRefreshVar(Var.sAddress)
|
||||||
Next
|
Next
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Public Shared Function InitVar(Name As String, Address As String, Type As CommVar.CommVarTypes) As Integer
|
Public Shared Function InitVar(Name As String, Address As String, Type As CommVar.ReadTypes) As Integer
|
||||||
Dim Index As Integer = Array.IndexOf(m_ReadingVars, Nothing)
|
Dim Index As Integer = Array.IndexOf(m_ReadingVars, Nothing)
|
||||||
m_ReadingVars(Index) = New CommVar(Name, Address, Type)
|
m_ReadingVars(Index) = New CommVar(Name, Address, Type, CommVar.Types.NULL)
|
||||||
Return Index
|
Return Index
|
||||||
End Function
|
End Function
|
||||||
|
|
||||||
@@ -66,6 +66,12 @@ Public Class RWVariableManager
|
|||||||
Return m_ReadingVars(Index)
|
Return m_ReadingVars(Index)
|
||||||
End Function
|
End Function
|
||||||
|
|
||||||
|
Public Shared Function InitVar(Variable As CommVar) As CommVar
|
||||||
|
Dim Index As Integer = Array.IndexOf(m_ReadingVars, Nothing)
|
||||||
|
m_ReadingVars(Index) = Variable
|
||||||
|
Return m_ReadingVars(Index)
|
||||||
|
End Function
|
||||||
|
|
||||||
Private Shared Function GetPrivateProfileVariable(IpAppName As String, IpKeyName As String, IpFileName As String) As CommVar
|
Private Shared Function GetPrivateProfileVariable(IpAppName As String, IpKeyName As String, IpFileName As String) As CommVar
|
||||||
Dim sVariable As String = ""
|
Dim sVariable As String = ""
|
||||||
EgtUILib.GetPrivateProfileString(IpAppName, IpKeyName, "", sVariable, IpFileName)
|
EgtUILib.GetPrivateProfileString(IpAppName, IpKeyName, "", sVariable, IpFileName)
|
||||||
@@ -74,16 +80,16 @@ Public Class RWVariableManager
|
|||||||
For Index = 0 To sVariableValues.Count - 1
|
For Index = 0 To sVariableValues.Count - 1
|
||||||
sVariableValues(Index) = sVariableValues(Index).Trim()
|
sVariableValues(Index) = sVariableValues(Index).Trim()
|
||||||
Next
|
Next
|
||||||
Dim Type As CommVar.CommVarTypes
|
Dim Type As CommVar.ReadTypes
|
||||||
Select Case sVariableValues(2).ToLower()
|
Select Case sVariableValues(2).ToLower()
|
||||||
Case "o"
|
Case "o"
|
||||||
Type = CommVar.CommVarTypes.ONETIME
|
Type = CommVar.ReadTypes.ONETIME
|
||||||
Case "c"
|
Case "c"
|
||||||
Type = CommVar.CommVarTypes.CONTINUOUS
|
Type = CommVar.ReadTypes.CONTINUOUS
|
||||||
Case Else
|
Case Else
|
||||||
Type = CommVar.CommVarTypes.NULL
|
Type = CommVar.ReadTypes.NULL
|
||||||
End Select
|
End Select
|
||||||
Return New CommVar(sVariableValues(0), sVariableValues(1), Type)
|
Return New CommVar(sVariableValues(0), sVariableValues(1), Type, CommVar.Types.NULL)
|
||||||
End Function
|
End Function
|
||||||
|
|
||||||
Public Sub RefreshVar(Name As String)
|
Public Sub RefreshVar(Name As String)
|
||||||
@@ -135,7 +141,7 @@ Public Class RWVariableManager
|
|||||||
Private Sub UpdateContinuousVars()
|
Private Sub UpdateContinuousVars()
|
||||||
Dim bReaded As Boolean = True
|
Dim bReaded As Boolean = True
|
||||||
For Each Var In m_ReadingVars
|
For Each Var In m_ReadingVars
|
||||||
If Not IsNothing(Var) AndAlso Var.sType = CommVar.CommVarTypes.CONTINUOUS AndAlso Not Var.bReaded Then
|
If Not IsNothing(Var) AndAlso Var.nReadType = CommVar.ReadTypes.CONTINUOUS AndAlso Not Var.bReaded Then
|
||||||
bReaded = False
|
bReaded = False
|
||||||
Exit For
|
Exit For
|
||||||
End If
|
End If
|
||||||
@@ -160,7 +166,7 @@ Public Class RWVariableManager
|
|||||||
'Dim bChangedVal As Boolean = ()
|
'Dim bChangedVal As Boolean = ()
|
||||||
Var.SetValue(VarValue)
|
Var.SetValue(VarValue)
|
||||||
' se variabile ripetitiva lancio update variabili ripetitive
|
' se variabile ripetitiva lancio update variabili ripetitive
|
||||||
If Var.sType = CommVar.CommVarTypes.CONTINUOUS Then
|
If Var.nReadType = CommVar.ReadTypes.CONTINUOUS Then
|
||||||
EgtOutLog(CommandExecutedCorrectly & " . " & VarName & " . " & VarValue)
|
EgtOutLog(CommandExecutedCorrectly & " . " & VarName & " . " & VarValue)
|
||||||
EgtOutLog(Var.sName & " . " & Var.sAddress & " . " & Var.sValue & " . " & Var.bReaded)
|
EgtOutLog(Var.sName & " . " & Var.sAddress & " . " & Var.sValue & " . " & Var.bReaded)
|
||||||
UpdateContinuousVars()
|
UpdateContinuousVars()
|
||||||
@@ -191,12 +197,18 @@ Public Class CommVar
|
|||||||
|
|
||||||
Public Event NewValue As EventHandler(Of NewValueEventArgs)
|
Public Event NewValue As EventHandler(Of NewValueEventArgs)
|
||||||
|
|
||||||
Public Enum CommVarTypes As Integer
|
Public Enum ReadTypes As Integer
|
||||||
NULL = 0
|
NULL = 0
|
||||||
ONETIME = 1
|
ONETIME = 1
|
||||||
CONTINUOUS = 2
|
CONTINUOUS = 2
|
||||||
End Enum
|
End Enum
|
||||||
|
|
||||||
|
Public Enum Types As Integer
|
||||||
|
NULL = 0
|
||||||
|
PLC = 1
|
||||||
|
CN = 2
|
||||||
|
End Enum
|
||||||
|
|
||||||
Private m_sName As String
|
Private m_sName As String
|
||||||
Public Property sName As String
|
Public Property sName As String
|
||||||
Get
|
Get
|
||||||
@@ -215,12 +227,19 @@ Public Class CommVar
|
|||||||
m_sAddress = value
|
m_sAddress = value
|
||||||
End Set
|
End Set
|
||||||
End Property
|
End Property
|
||||||
Private m_nType As CommVarTypes
|
Private m_nReadType As ReadTypes
|
||||||
Public ReadOnly Property sType As CommVarTypes
|
Public ReadOnly Property nReadType As ReadTypes
|
||||||
|
Get
|
||||||
|
Return m_nReadType
|
||||||
|
End Get
|
||||||
|
End Property
|
||||||
|
Private m_nType As Types
|
||||||
|
Public ReadOnly Property nType As Types
|
||||||
Get
|
Get
|
||||||
Return m_nType
|
Return m_nType
|
||||||
End Get
|
End Get
|
||||||
End Property
|
End Property
|
||||||
|
|
||||||
Private m_sValue As String
|
Private m_sValue As String
|
||||||
Public ReadOnly Property sValue As String
|
Public ReadOnly Property sValue As String
|
||||||
Get
|
Get
|
||||||
@@ -241,9 +260,10 @@ Public Class CommVar
|
|||||||
End Get
|
End Get
|
||||||
End Property
|
End Property
|
||||||
|
|
||||||
Sub New(Name As String, Address As String, Type As CommVarTypes)
|
Sub New(Name As String, Address As String, ReadType As ReadTypes, Type As Types)
|
||||||
m_sName = Name
|
m_sName = Name
|
||||||
m_sAddress = Address
|
m_sAddress = Address
|
||||||
|
m_nReadType = ReadType
|
||||||
m_nType = Type
|
m_nType = Type
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
DataContext="{StaticResource MainWindowVM}"
|
DataContext="{StaticResource MainWindowVM}"
|
||||||
Style="{DynamicResource {x:Type EgtWPFLib5:EgtCustomWindow}}"
|
Style="{DynamicResource {x:Type EgtWPFLib5:EgtCustomWindow}}"
|
||||||
Title="{Binding Title}" Icon="/Resources/EgtCOMMTest.ico"
|
Title="{Binding Title}" Icon="/Resources/EgtCOMMTest.ico"
|
||||||
MinHeight="700" MinWidth="800"
|
MinHeight="800" MinWidth="800"
|
||||||
AboutBoxCommand="{Binding AboutBox_Command}"
|
AboutBoxCommand="{Binding AboutBox_Command}"
|
||||||
CloseCommand="{Binding CloseApplication_Command,Mode=OneWay,UpdateSourceTrigger=PropertyChanged}">
|
CloseCommand="{Binding CloseApplication_Command,Mode=OneWay,UpdateSourceTrigger=PropertyChanged}">
|
||||||
|
|
||||||
@@ -64,12 +64,26 @@
|
|||||||
</GroupBox>
|
</GroupBox>
|
||||||
<GroupBox Header="OPState">
|
<GroupBox Header="OPState">
|
||||||
<ComboBox ItemsSource="{Binding OPStateList}"
|
<ComboBox ItemsSource="{Binding OPStateList}"
|
||||||
SelectedItem="{Binding SelOPState}"/>
|
SelectedItem="{Binding SelOPState}"
|
||||||
|
DisplayMemberPath="Name"/>
|
||||||
</GroupBox>
|
</GroupBox>
|
||||||
|
|
||||||
<StackPanel>
|
<GroupBox Header="Channel">
|
||||||
|
<ComboBox ItemsSource="{Binding ChannelList}"
|
||||||
</StackPanel>
|
SelectedItem="{Binding SelChannel}"/>
|
||||||
|
</GroupBox>
|
||||||
|
<GroupBox Header="MDI">
|
||||||
|
<Grid>
|
||||||
|
<Grid.ColumnDefinitions>
|
||||||
|
<ColumnDefinition Width="1*"/>
|
||||||
|
<ColumnDefinition Width="Auto"/>
|
||||||
|
</Grid.ColumnDefinitions>
|
||||||
|
<TextBox Text="{Binding MDI_Text}"/>
|
||||||
|
<Button Grid.Column="1"
|
||||||
|
Content="OK"
|
||||||
|
Command="{Binding MDI_Command}"/>
|
||||||
|
</Grid>
|
||||||
|
</GroupBox>
|
||||||
</StackPanel>
|
</StackPanel>
|
||||||
|
|
||||||
</EgtWPFLib5:EgtCustomWindow>
|
</EgtWPFLib5:EgtCustomWindow>
|
||||||
|
|||||||
+91
-46
@@ -1,7 +1,7 @@
|
|||||||
Imports System.Threading
|
Imports System.Threading
|
||||||
Imports EgtCOMMTest.Core
|
|
||||||
Imports EgtCOMMTest.MachCommandMessagePanelVM
|
Imports EgtCOMMTest.MachCommandMessagePanelVM
|
||||||
Imports EgtWPFLib5
|
Imports EgtWPFLib5
|
||||||
|
Imports EgtUILib
|
||||||
|
|
||||||
Public Class MainWindowVM
|
Public Class MainWindowVM
|
||||||
Inherits VMBase
|
Inherits VMBase
|
||||||
@@ -58,6 +58,23 @@ Public Class MainWindowVM
|
|||||||
End Set
|
End Set
|
||||||
End Property
|
End Property
|
||||||
|
|
||||||
|
Private m_ChannelList As List(Of String)
|
||||||
|
Public ReadOnly Property ChannelList As List(Of String)
|
||||||
|
Get
|
||||||
|
Return m_ChannelList
|
||||||
|
End Get
|
||||||
|
End Property
|
||||||
|
|
||||||
|
Private m_SelChannel As String
|
||||||
|
Public Property SelChannel As String
|
||||||
|
Get
|
||||||
|
Return m_SelChannel
|
||||||
|
End Get
|
||||||
|
Set(value As String)
|
||||||
|
m_SelChannel = value
|
||||||
|
End Set
|
||||||
|
End Property
|
||||||
|
|
||||||
Private m_CurrMachineName As String
|
Private m_CurrMachineName As String
|
||||||
|
|
||||||
Private m_ProgramPath As String
|
Private m_ProgramPath As String
|
||||||
@@ -79,33 +96,6 @@ Public Class MainWindowVM
|
|||||||
End Set
|
End Set
|
||||||
End Property
|
End Property
|
||||||
|
|
||||||
Private m_VarName As String
|
|
||||||
|
|
||||||
Public Property VarName As String
|
|
||||||
Get
|
|
||||||
Return m_VarName
|
|
||||||
End Get
|
|
||||||
Set(ByVal value As String)
|
|
||||||
m_VarName = value
|
|
||||||
End Set
|
|
||||||
End Property
|
|
||||||
|
|
||||||
Private m_VarValue As String = ""
|
|
||||||
|
|
||||||
Public Property VarValue As String
|
|
||||||
Get
|
|
||||||
Return m_VarValue
|
|
||||||
End Get
|
|
||||||
Set(ByVal value As String)
|
|
||||||
m_VarValue = value
|
|
||||||
End Set
|
|
||||||
End Property
|
|
||||||
|
|
||||||
Public Sub SetVarValue(ByVal value As Object)
|
|
||||||
m_VarValue = CStr(value)
|
|
||||||
NotifyPropertyChanged(NameOf(VarValue))
|
|
||||||
End Sub
|
|
||||||
|
|
||||||
'Private m_OPState As MachineOperatingState
|
'Private m_OPState As MachineOperatingState
|
||||||
|
|
||||||
'Public ReadOnly Property OPState As MachineOperatingState
|
'Public ReadOnly Property OPState As MachineOperatingState
|
||||||
@@ -138,33 +128,43 @@ Public Class MainWindowVM
|
|||||||
' NotifyPropertyChanged(NameOf(sOPState))
|
' NotifyPropertyChanged(NameOf(sOPState))
|
||||||
'End Sub
|
'End Sub
|
||||||
|
|
||||||
Private _OPStateList As List(Of MachineOperatingState)
|
Private _OPStateList As List(Of OPState)
|
||||||
|
|
||||||
Public Property OPStateList As List(Of MachineOperatingState)
|
Public Property OPStateList As List(Of OPState)
|
||||||
Get
|
Get
|
||||||
Return _OPStateList
|
Return _OPStateList
|
||||||
End Get
|
End Get
|
||||||
Set(ByVal value As List(Of MachineOperatingState))
|
Set(ByVal value As List(Of OPState))
|
||||||
_OPStateList = value
|
_OPStateList = value
|
||||||
End Set
|
End Set
|
||||||
End Property
|
End Property
|
||||||
|
|
||||||
Private _SelOPState As MachineOperatingState
|
Private _SelOPState As OPState
|
||||||
|
|
||||||
Public Property SelOPState As MachineOperatingState
|
Public Property SelOPState As OPState
|
||||||
Get
|
Get
|
||||||
Return _SelOPState
|
Return _SelOPState
|
||||||
End Get
|
End Get
|
||||||
Set(ByVal value As MachineOperatingState)
|
Set(ByVal value As OPState)
|
||||||
MachManaging.CommandList.Add(ThreadCommand.CreateCommand(CommandTypes.SETOP, value))
|
MachManaging.CommandList.Add(ThreadCommand.CreateCommand(CommandTypes.SETOP, value.Id))
|
||||||
_SelOPState = value
|
_SelOPState = value
|
||||||
End Set
|
End Set
|
||||||
End Property
|
End Property
|
||||||
Friend Sub SetOPState(value As MachineOperatingState)
|
Friend Sub SetOPState(value As OPState)
|
||||||
_SelOPState = value
|
_SelOPState = value
|
||||||
NotifyPropertyChanged(NameOf(SelOPState))
|
NotifyPropertyChanged(NameOf(SelOPState))
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
|
Private m_MDI_Text As String
|
||||||
|
Public Property MDI_Text As String
|
||||||
|
Get
|
||||||
|
Return m_MDI_Text
|
||||||
|
End Get
|
||||||
|
Set(value As String)
|
||||||
|
m_MDI_Text = value
|
||||||
|
End Set
|
||||||
|
End Property
|
||||||
|
|
||||||
' Definizione comandi
|
' Definizione comandi
|
||||||
Private m_cmdAboutBox As ICommand
|
Private m_cmdAboutBox As ICommand
|
||||||
Private m_cmdCloseApplication As ICommand
|
Private m_cmdCloseApplication As ICommand
|
||||||
@@ -173,6 +173,7 @@ Public Class MainWindowVM
|
|||||||
Private m_cmdRemoveProgram As ICommand
|
Private m_cmdRemoveProgram As ICommand
|
||||||
Private m_cmdReadVar As ICommand
|
Private m_cmdReadVar As ICommand
|
||||||
Private m_cmdWriteVar As ICommand
|
Private m_cmdWriteVar As ICommand
|
||||||
|
Private m_cmdMDI As ICommand
|
||||||
|
|
||||||
#Region "CONSTRUCTOR"
|
#Region "CONSTRUCTOR"
|
||||||
|
|
||||||
@@ -186,16 +187,27 @@ Public Class MainWindowVM
|
|||||||
' Impostazione path MachIni file
|
' Impostazione path MachIni file
|
||||||
MainWindowM.SetMachIniFile(MainWindowM.sMachinesRoot & "\" & m_CurrMachineName & "\" & m_CurrMachineName & ".ini")
|
MainWindowM.SetMachIniFile(MainWindowM.sMachinesRoot & "\" & m_CurrMachineName & "\" & m_CurrMachineName & ".ini")
|
||||||
' recupero tipo di controllo
|
' recupero tipo di controllo
|
||||||
SelNCType = GetMainPrivateProfileInt(S_GENERAL, K_NCTYPE, 0)
|
SelNCType = GetPrivateProfileInt(S_GENERAL, K_NCTYPE, 0, Map.refMainWindowVM.MainWindowM.sMachIniFile)
|
||||||
' carico stati della macchina
|
' carico stati della macchina
|
||||||
_OPStateList = New List(Of MachineOperatingState) From {
|
Select Case SelNCType
|
||||||
MachineOperatingState.Start,
|
Case NCTypes.TPA
|
||||||
MachineOperatingState.[Stop],
|
_OPStateList = New List(Of OPState) From {
|
||||||
MachineOperatingState.[End],
|
New OPState("Start", 1),
|
||||||
MachineOperatingState.SetPoint,
|
New OPState("Stop", 2),
|
||||||
MachineOperatingState.Pending,
|
New OPState("End", 3),
|
||||||
MachineOperatingState.Unspecified
|
New OPState("SetPoint", 4),
|
||||||
|
New OPState("Pending", 5),
|
||||||
|
New OPState("Unspecified", 100)
|
||||||
}
|
}
|
||||||
|
Case NCTypes.NUM_FLEXIUM
|
||||||
|
_OPStateList = New List(Of OPState) From {
|
||||||
|
New OPState("Auto", 0),
|
||||||
|
New OPState("Single", 1),
|
||||||
|
New OPState("Mdi", 2),
|
||||||
|
New OPState("Manual", 7),
|
||||||
|
New OPState("Home", 8)
|
||||||
|
}
|
||||||
|
End Select
|
||||||
|
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
@@ -302,7 +314,7 @@ Public Class MainWindowVM
|
|||||||
End Property
|
End Property
|
||||||
|
|
||||||
Public Sub AddProgram(ByVal param As Object)
|
Public Sub AddProgram(ByVal param As Object)
|
||||||
MachManaging.CommandList.Add(ThreadCommand.CreateCommand(CommandTypes.SENDPROG, m_ProgramPath))
|
MachManaging.CommandList.Add(ThreadCommand.CreateCommand(CommandTypes.SENDPROG, {}, {}, {m_ProgramPath, "%770"}))
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Public ReadOnly Property RemoveProgram_Command As ICommand
|
Public ReadOnly Property RemoveProgram_Command As ICommand
|
||||||
@@ -324,7 +336,7 @@ Public Class MainWindowVM
|
|||||||
End Property
|
End Property
|
||||||
|
|
||||||
Public Sub ReadVar(ByVal param As Object)
|
Public Sub ReadVar(ByVal param As Object)
|
||||||
MachManaging.CommandList.Add(ThreadCommand.CreateCommand(CommandTypes.READ))
|
MachManaging.CommandList.Add(ThreadCommand.CreateCommand(CommandTypes.READ_TPA))
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Public ReadOnly Property WriteVar_Command As ICommand
|
Public ReadOnly Property WriteVar_Command As ICommand
|
||||||
@@ -338,6 +350,39 @@ Public Class MainWindowVM
|
|||||||
MachManaging.CommandList.Add(ThreadCommand.CreateCommand(CommandTypes.WRITE))
|
MachManaging.CommandList.Add(ThreadCommand.CreateCommand(CommandTypes.WRITE))
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
|
Public ReadOnly Property MDI_Command As ICommand
|
||||||
|
Get
|
||||||
|
If m_cmdMDI Is Nothing Then m_cmdMDI = New Command(AddressOf MDI)
|
||||||
|
Return m_cmdMDI
|
||||||
|
End Get
|
||||||
|
End Property
|
||||||
|
|
||||||
|
Public Sub MDI(ByVal param As Object)
|
||||||
|
MachManaging.CommandList.Add(ThreadCommand.CreateCommand(CommandTypes.MDI, m_MDI_Text))
|
||||||
|
End Sub
|
||||||
|
|
||||||
#End Region ' COMMANDS
|
#End Region ' COMMANDS
|
||||||
|
|
||||||
End Class
|
End Class
|
||||||
|
|
||||||
|
Public Class OPState
|
||||||
|
|
||||||
|
Private m_Name As String
|
||||||
|
Public ReadOnly Property Name As String
|
||||||
|
Get
|
||||||
|
Return m_Name
|
||||||
|
End Get
|
||||||
|
End Property
|
||||||
|
Private m_Id As Integer
|
||||||
|
Public ReadOnly Property Id As Integer
|
||||||
|
Get
|
||||||
|
Return m_Id
|
||||||
|
End Get
|
||||||
|
End Property
|
||||||
|
|
||||||
|
Sub New(Name As String, Id As Integer)
|
||||||
|
m_Name = Name
|
||||||
|
m_Id = Id
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
End Class
|
||||||
@@ -14,25 +14,26 @@ Public Class VariablesListVM
|
|||||||
|
|
||||||
Sub New()
|
Sub New()
|
||||||
' inizializzo tutte le variabili
|
' inizializzo tutte le variabili
|
||||||
m_VariablesList.Add(New Variable(RWVariableManager.InitVar(2)))
|
m_VariablesList.Add(New Variable(MachManaging.InitVar(1)))
|
||||||
m_VariablesList.Add(New Variable(RWVariableManager.InitVar(3)))
|
m_VariablesList.Add(New Variable(MachManaging.InitVar(2)))
|
||||||
m_VariablesList.Add(New Variable(RWVariableManager.InitVar(4)))
|
m_VariablesList.Add(New Variable(MachManaging.InitVar(3)))
|
||||||
m_VariablesList.Add(New Variable(RWVariableManager.InitVar(5)))
|
m_VariablesList.Add(New Variable(MachManaging.InitVar(4)))
|
||||||
m_VariablesList.Add(New Variable(RWVariableManager.InitVar(6)))
|
m_VariablesList.Add(New Variable(MachManaging.InitVar(5)))
|
||||||
m_VariablesList.Add(New Variable(RWVariableManager.InitVar(7)))
|
m_VariablesList.Add(New Variable(MachManaging.InitVar(6)))
|
||||||
m_VariablesList.Add(New Variable(RWVariableManager.InitVar(1)))
|
m_VariablesList.Add(New Variable(MachManaging.InitVar(7)))
|
||||||
m_VariablesList.Add(New Variable(RWVariableManager.InitVar(8)))
|
m_VariablesList.Add(New Variable(MachManaging.InitVar(8)))
|
||||||
m_VariablesList.Add(New Variable(RWVariableManager.InitVar(9)))
|
m_VariablesList.Add(New Variable(MachManaging.InitVar(9)))
|
||||||
m_VariablesList.Add(New Variable(RWVariableManager.InitVar(10)))
|
m_VariablesList.Add(New Variable(MachManaging.InitVar(10)))
|
||||||
m_VariablesList.Add(New Variable(RWVariableManager.InitVar(11)))
|
m_VariablesList.Add(New Variable(MachManaging.InitVar(11)))
|
||||||
m_VariablesList.Add(New Variable(RWVariableManager.InitVar(12)))
|
m_VariablesList.Add(New Variable(MachManaging.InitVar(12)))
|
||||||
m_VariablesList.Add(New Variable(RWVariableManager.InitVar(13)))
|
m_VariablesList.Add(New Variable(MachManaging.InitVar(13)))
|
||||||
m_VariablesList.Add(New Variable(RWVariableManager.InitVar(14)))
|
'm_VariablesList.Add(New Variable(MachManaging.InitVar(14)))
|
||||||
m_VariablesList.Add(New Variable(RWVariableManager.InitVar(15)))
|
'm_VariablesList.Add(New Variable(MachManaging.InitVar(15)))
|
||||||
m_VariablesList.Add(New Variable(RWVariableManager.InitVar(16)))
|
'm_VariablesList.Add(New Variable(MachManaging.InitVar(16)))
|
||||||
m_VariablesList.Add(New Variable(RWVariableManager.InitVar(17)))
|
'm_VariablesList.Add(New Variable(MachManaging.InitVar(17)))
|
||||||
m_VariablesList.Add(New Variable(RWVariableManager.InitVar(18)))
|
'm_VariablesList.Add(New Variable(MachManaging.InitVar(18)))
|
||||||
'm_VariablesList.Add(New Variable(RWVariableManager.InitVar(19)))
|
'm_VariablesList.Add(New Variable(RWVariableManager.InitVar(19)))
|
||||||
|
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
End Class
|
End Class
|
||||||
@@ -70,7 +71,7 @@ Public Class Variable
|
|||||||
Return CommVar.sValue
|
Return CommVar.sValue
|
||||||
End Get
|
End Get
|
||||||
Set(value As String)
|
Set(value As String)
|
||||||
MachManaging.CommandList.Add(ThreadCommand.CreateCommand(CommandTypes.WRITE, Nothing, Nothing, {CommVar.sName, value}))
|
MachManaging.CommandList.Add(ThreadCommand.CreateCommand(CommandTypes.WRITE, {CommVar.nType}, Nothing, {CommVar.sName, value}))
|
||||||
NotifyPropertyChanged(NameOf(sValue))
|
NotifyPropertyChanged(NameOf(sValue))
|
||||||
End Set
|
End Set
|
||||||
End Property
|
End Property
|
||||||
|
|||||||
Reference in New Issue
Block a user