diff --git a/CncLib/CNC/CNC.OSAI/CNC.OSAI_SOAP.vb b/CncLib/CNC/CNC.OSAI/CNC.OSAI_SOAP.vb
index cb9a7891..816d2ac5 100644
--- a/CncLib/CNC/CNC.OSAI/CNC.OSAI_SOAP.vb
+++ b/CncLib/CNC/CNC.OSAI/CNC.OSAI_SOAP.vb
@@ -2,1074 +2,1074 @@
Namespace CNC
- Public Class OSAI_OPEN
- Inherits OSAI
+ Public Class OSAI_OPEN
+ Inherits OSAI
- 'Variabili per Web Service OPENcontrol
- Protected _szIpAddress As String
- Friend OPENws As OPENcontrol.OPENcontrolPortTypeClient
- Private nReturn As Short
+ 'Variabili per Web Service OPENcontrol
+ Protected _szIpAddress As String
+ Friend OPENws As OPENcontrol.OPENcontrolPortTypeClient
+ Private nReturn As Short
- Protected Const MAXRET = 3
+ Protected Const MAXRET = 3
- Public Enum O_Table
- TOOL_TABLE_ID = 1
- OFFSET_TABLE_ID = 2
- ORIGIN_TABLE_ID = 3
- USER_TABLE_ID = 4
- End Enum
+ Public Enum O_Table
+ TOOL_TABLE_ID = 1
+ OFFSET_TABLE_ID = 2
+ ORIGIN_TABLE_ID = 3
+ USER_TABLE_ID = 4
+ End Enum
- Public Overrides Property Licenza() As Integer
- Get
- Dim uiLicence(0) As UInteger
- 'leggo dal cn il valore
- Me.O_RW_DWord(R, MemTypeWord.GW_CODE, 303, uiLicence)
- Return UnsignedToInteger(uiLicence(0))
- End Get
- Set(ByVal value As Integer)
- 'setto sul cn il valore
- Dim uiLicence(0) As UInteger
- uiLicence(0) = IntegerToUnsigned(value)
- Me.O_RW_DWord(W, MemTypeWord.GW_CODE, 303, uiLicence)
- End Set
- End Property
+ Public Overrides Property Licenza() As Integer
+ Get
+ Dim uiLicence(0) As UInteger
+ 'leggo dal cn il valore
+ Me.O_RW_DWord(R, MemTypeWord.GW_CODE, 303, uiLicence)
+ Return UnsignedToInteger(uiLicence(0))
+ End Get
+ Set(ByVal value As Integer)
+ 'setto sul cn il valore
+ Dim uiLicence(0) As UInteger
+ uiLicence(0) = IntegerToUnsigned(value)
+ Me.O_RW_DWord(W, MemTypeWord.GW_CODE, 303, uiLicence)
+ End Set
+ End Property
- Public Overrides Property LicenzaScaduta() As Boolean
- Get
- Dim bLicenzaScaduta As Boolean
- 'leggo dal cn il valore
- Me.O_RW_Boolean(R, MemTypeWord.GW_CODE, 302, 0, bLicenzaScaduta)
- Return bLicenzaScaduta
- End Get
- Set(ByVal value As Boolean)
- 'setto sul cn il valore
- Me.O_RW_Boolean(W, MemTypeWord.GW_CODE, 302, 0, value)
- End Set
- End Property
+ Public Overrides Property LicenzaScaduta() As Boolean
+ Get
+ Dim bLicenzaScaduta As Boolean
+ 'leggo dal cn il valore
+ Me.O_RW_Boolean(R, MemTypeWord.GW_CODE, 302, 0, bLicenzaScaduta)
+ Return bLicenzaScaduta
+ End Get
+ Set(ByVal value As Boolean)
+ 'setto sul cn il valore
+ Me.O_RW_Boolean(W, MemTypeWord.GW_CODE, 302, 0, value)
+ End Set
+ End Property
- Public Sub New(ByRef szIpAddress As String)
- _Type = NcType.OSAI
- _szIpAddress = szIpAddress
+ Public Sub New(ByRef szIpAddress As String)
+ _Type = NcType.OSAI
+ _szIpAddress = szIpAddress
- Dim conf As String = "OPENcontrol"
- Dim url As String = "http://" & szIpAddress & ":8080"
+ Dim conf As String = "OPENcontrol"
+ Dim url As String = "http://" & szIpAddress & ":8080"
- Try
- OPENws = New OPENcontrol.OPENcontrolPortTypeClient(conf, url)
- Catch ex As Exception
- MsgBox(ex.Message)
- End Try
+ Try
+ OPENws = New OPENcontrol.OPENcontrolPortTypeClient(conf, url)
+ Catch ex As Exception
+ MsgBox(ex.Message)
+ End Try
- 'Inizializzo le variabili
- Me._Descrizione = "NC OSAI OPENcontrol" & vbNewLine
- Me._Descrizione = Me._Descrizione & "IpAddress: " & _szIpAddress
- End Sub
+ 'Inizializzo le variabili
+ Me._Descrizione = "NC OSAI OPENcontrol" & vbNewLine
+ Me._Descrizione = Me._Descrizione & "IpAddress: " & _szIpAddress
+ End Sub
- Public Overrides Sub Connect(Optional ByRef szStatus As String = "")
- Dim BootPhaseEnquiryR As New OPENcontrol.BootPhaseEnquiryR
- Dim BootPhaseEnquiry As OPENcontrol.BootPhaseEnquiry
- Dim szReturn As String = ""
- Dim usValue(0) As UShort
- Dim TimeStart As Date
+ Public Overrides Sub Connect(Optional ByRef szStatus As String = "")
+ Dim BootPhaseEnquiryR As New OPENcontrol.BootPhaseEnquiryR
+ Dim BootPhaseEnquiry As OPENcontrol.BootPhaseEnquiry
+ Dim szReturn As String = ""
+ Dim usValue(0) As UShort
+ Dim TimeStart As Date
- BootPhaseEnquiry = New OPENcontrol.BootPhaseEnquiry()
+ BootPhaseEnquiry = New OPENcontrol.BootPhaseEnquiry()
- 'leggo in che fase di boot mi trovo
- Try
- BootPhaseEnquiryR = OPENws.BootPhaseEnquiry(BootPhaseEnquiry)
- Catch ex As System.ServiceModel.EndpointNotFoundException
- _bConnected = False
- Throw New NcException(ex.Message)
- Catch ex As System.ServiceModel.CommunicationException
- _bConnected = False
- Throw New NcException(ex.Message)
- End Try
+ 'leggo in che fase di boot mi trovo
+ Try
+ BootPhaseEnquiryR = OPENws.BootPhaseEnquiry(BootPhaseEnquiry)
+ Catch ex As System.ServiceModel.EndpointNotFoundException
+ _bConnected = False
+ Throw New NcException(ex.Message)
+ Catch ex As System.ServiceModel.CommunicationException
+ _bConnected = False
+ Throw New NcException(ex.Message)
+ End Try
- If O_CheckRetError(BootPhaseEnquiryR.retval, BootPhaseEnquiryR.ErrClass, BootPhaseEnquiryR.ErrNum, String.Format("BootPhaseEnquiry({0}) Connect CNC.OSAI_OPEN", BootPhaseEnquiry), szReturn) Then
- _bConnected = False
- Throw New NcException(szReturn)
+ If O_CheckRetError(BootPhaseEnquiryR.retval, BootPhaseEnquiryR.ErrClass, BootPhaseEnquiryR.ErrNum, String.Format("BootPhaseEnquiry({0}) Connect CNC.OSAI_OPEN", BootPhaseEnquiry), szReturn) Then
+ _bConnected = False
+ Throw New NcException(szReturn)
+ Else
+ 'verifico che il sistema si trovi in una fase operativa "stabile"
+ If BootPhaseEnquiryR.Phase = 4 Then 'SYSTEM_UP_PHASE
+
+ 'leggo matricola e verifico che sia diversa da zero
+ TimeStart = Now
+ Do
+
+ nReturn = O_RW_Word(R, MemTypeWord.MW_CODE, 3403, usValue)
+
+ If usValue(0) > 0 Then
+ Threading.Thread.Sleep(500)
+ Exit Do
+ End If
+
+ If (Now - TimeStart).Seconds > 30 Then
+ Select Case MsgBox("Matricola non inizializzata in 30 secondi: Verificare inizializzazione PLC", MsgBoxStyle.Exclamation + MsgBoxStyle.RetryCancel)
+ Case MsgBoxResult.Retry : TimeStart = Now
+ Case MsgBoxResult.Cancel : Exit Do
+ End Select
+ End If
+ Threading.Thread.Sleep(500) 'aspetto 500ms prima di ritentare
+ Loop
+
+ _bConnected = True
+ Else
+ _bConnected = False
+ Throw New NcException("ERR BootPhase NOT OK CNC.OSAI_OPEN")
+ End If
+ End If
+
+ End Sub
+
+ Public Overrides Sub Disconnect(Optional ByRef szStatus As String = "")
+ _bConnected = False
+ End Sub
+
+ '''
+ ''' Legge le memorie di configurazione dal cn
+ '''
+ Public Overrides Sub GetStaticData()
+ Dim nValue(0) As Integer
+ Dim sValue(0) As Short
+ Dim ucValue(0) As Byte
+
+ If Not bStaticDataReaded Then
+ Try
+ Select Case Settings.MemoryMapping
+ Case MemoryMapping.ElsManager
+
+ Case MemoryMapping.Default,
+ MemoryMapping.ToolManager,
+ MemoryMapping.ToolTable
+
+ 'Matricola
+ nReturn = O_RW_Short(R, MemTypeWord.MW_CODE, 3403, sValue)
+ Me._Matricola = sValue(0)
+ 'Teste
+ nReturn = O_RW_Short(R, MemTypeWord.MW_CODE, 3405, sValue)
+ Me._Teste = sValue(0)
+ 'Magazzini
+ nReturn = O_RW_Short(R, MemTypeWord.MW_CODE, 3407, sValue)
+ Me._Magazzini = sValue(0)
+ 'Manine per Magazzino
+ ReDim Me._ManineMagazzino(Me._Magazzini - 1)
+ ReDim ucValue(19)
+ nReturn = O_RW_Byte(R, MemTypeWord.MW_CODE, 2900, LOW_ORDER, ucValue)
+ Array.Copy(ucValue, Me._ManineMagazzino, Me._ManineMagazzino.Length)
+ ReDim ucValue(0)
+
+ 'Magazzini Con Attrezzaggio Automatico (maschera)
+ O_RW_Integer(R, MemTypeWord.MW_CODE, 4060, nValue)
+ Me._MagazziniConAttrezzaggioAutomatico = nValue(0)
+ End Select
+
+ Me._MaxUtensiliGestibili = 300 'TODO IMPLEMENTARE
+ Me._MaxIdUtensile = 300 'TODO IMPLEMENTARE
+
+ Select Case Settings.MemoryMapping
+ Case MemoryMapping.ElsManager
+ Case MemoryMapping.ToolManager
+ Case MemoryMapping.Default,
+ MemoryMapping.ToolTable
+ 'ZoomSpeed
+ nReturn = O_RW_Short(R, MemTypeWord.MW_CODE, 3425, sValue)
+ If sValue(0) > 0 And sValue(0) <= 100 Then
+ Me._ZoomSpeed = sValue(0)
+ Else
+ Me._ZoomSpeed = 1
+ End If
+ End Select
+
+ bStaticDataReaded = True
+
+ Catch ex As NcException
+ Me.CncException(ex.Message)
+ End Try
+
+ End If
+ End Sub
+
+
+ '''
+ ''' Legge o scrive Boolean da MEMORIE PLC
+ '''
+ ''' Se True SCRIVE, se False LEGGE
+ ''' Tipo di memoria Osai
+ ''' Indice di memoria
+ ''' Bit della memoria
+ ''' Valore da scrivere su scrittura e letto su lettura
+ ''' True se andata a buon fine
+ Public Overloads Overrides Function O_RW_Boolean(ByVal bWrite As Boolean, ByVal MemType As MemTypeWord, ByVal MemIndex As Integer, ByVal MemBit As Integer, ByRef Value As Boolean) As Boolean
+ Dim szReturn As String = ""
+ Dim nRetry As Integer
+Retry: nRetry += 1
+
+ Try
+ If bWrite Then ' *** Write
+ Dim myWriteVarWordBitR As OPENcontrol.WriteVarWordBitR
+ Dim myWriteVarWordBit As New OPENcontrol.WriteVarWordBit
+ myWriteVarWordBit.Code = MemType
+ myWriteVarWordBit.Index = MemIndex
+ myWriteVarWordBit.BitIndex = MemBit
+ myWriteVarWordBit.BitValue = IIf(Value, 1, 0)
+ myWriteVarWordBitR = OPENws.WriteVarWordBit(myWriteVarWordBit)
+ If O_CheckRetError(myWriteVarWordBitR.retval, myWriteVarWordBitR.ErrClass, myWriteVarWordBitR.ErrNum, String.Format("WriteVarWordBit({0},{1}) O_RW_Boolean CNC.OSAI_OPEN", [Enum].GetName(MemType.GetType, MemType), MemIndex), szReturn) Then
+ Throw New NcException(szReturn)
+ Return False
+ End If
+
+ Else ' ************* Read
+ Dim myReadVarWordR As OPENcontrol.ReadVarWordR
+ Dim myReadVarWord As New OPENcontrol.ReadVarWord
+ myReadVarWord.Code = MemType
+ myReadVarWord.Index = MemIndex
+ myReadVarWord.NumVar = 1
+ myReadVarWordR = OPENws.ReadVarWord(myReadVarWord)
+ If O_CheckRetError(myReadVarWordR.retval, myReadVarWordR.ErrClass, myReadVarWordR.ErrNum, String.Format("ReadVarWord({0},{1}) O_RW_Boolean CNC.OSAI_OPEN", [Enum].GetName(MemType.GetType, MemType), MemIndex), szReturn) Then
+ Throw New NcException(szReturn)
+ Return False
+ End If
+ If (myReadVarWordR.Value(0) And (2 ^ MemBit)) = (2 ^ MemBit) Then 'True
+ Value = True
+ Else 'False
+ Value = False
+ End If
+ End If
+
+ Return True
+ Catch ex As System.ServiceModel.CommunicationException
+ If nRetry < MAXRET Then GoTo Retry
+ Throw New NcException(ex.Message)
+ Return False
+ Catch ex As System.TimeoutException
+ Throw New NcException(ex.Message)
+ Return False
+ End Try
+ End Function
+
+ '''
+ ''' Legge o scrive Byte da MEMORIE PLC
+ '''
+ ''' Se True SCRIVE, se False LEGGE
+ ''' Tipo di memoria Osai
+ ''' Indice di memoria
+ ''' Ordine di partenza LOW_ORDER = 0 HIGH_ORDER = 1
+ ''' Matrice di valori da scrivere su scrittura o letti su lettura
+ ''' True se andata a buon fine
+ Public Overloads Overrides Function O_RW_Byte(ByVal bWrite As Boolean, ByVal MemType As MemTypeWord, ByVal MemIndex As Integer, ByVal MemOrderStart As Integer, ByRef Value() As Byte) As Boolean
+ Dim szReturn As String = ""
+ Dim bStartHigh As Boolean = MemOrderStart
+ Dim bEndDispari As Boolean = (Value.Length + MemOrderStart) Mod 2
+ Dim cStart, cEnd As Byte
+ Dim ValueTmp(((Value.Length + MemOrderStart) \ 2) + ((Value.Length + MemOrderStart) Mod 2) - 1) As UShort
+ Dim nRetry As Integer
+Retry: nRetry += 1
+
+ Try
+ If bWrite Then ' *** Write
+ 'se comincio con hi leggo la prima memo
+ If bStartHigh Then
+ Dim ValStartTmp(0) As UShort
+ O_RW_Word(R, MemType, MemIndex, ValStartTmp)
+ cStart = WordToByte(ValStartTmp(0), LOW_ORDER)
+ End If
+
+ 'se finisco dispari, leggo l'ultima memo
+ If bEndDispari Then
+ Dim ValEndTmp(0) As UShort
+ O_RW_Word(R, MemType, MemIndex + ValueTmp.Length - 1, ValEndTmp)
+ cEnd = WordToByte(ValEndTmp(0), HIGH_ORDER)
+ End If
+
+ For i = 0 To ValueTmp.Length - 1
+ Dim cLow, cHigh As Byte
+ 'Low
+ If i = 0 AndAlso bStartHigh Then
+ cLow = cStart
Else
- 'verifico che il sistema si trovi in una fase operativa "stabile"
- If BootPhaseEnquiryR.Phase = 4 Then 'SYSTEM_UP_PHASE
-
- 'leggo matricola e verifico che sia diversa da zero
- TimeStart = Now
- Do
-
- nReturn = O_RW_Word(R, MemTypeWord.MW_CODE, 3403, usValue)
-
- If usValue(0) > 0 Then
- Threading.Thread.Sleep(500)
- Exit Do
- End If
-
- If (Now - TimeStart).Seconds > 30 Then
- Select Case MsgBox("Matricola non inizializzata in 30 secondi: Verificare inizializzazione PLC", MsgBoxStyle.Exclamation + MsgBoxStyle.RetryCancel)
- Case MsgBoxResult.Retry : TimeStart = Now
- Case MsgBoxResult.Cancel : Exit Do
- End Select
- End If
- Threading.Thread.Sleep(500) 'aspetto 500ms prima di ritentare
- Loop
-
- _bConnected = True
- Else
- _bConnected = False
- Throw New NcException("ERR BootPhase NOT OK CNC.OSAI_OPEN")
- End If
+ cLow = Value(i * 2 - MemOrderStart)
+ End If
+ 'High
+ If i = (ValueTmp.Length - 1) AndAlso bEndDispari Then
+ cHigh = cEnd
+ Else
+ cHigh = Value(i * 2 + 1 - MemOrderStart)
End If
- End Sub
+ ValueTmp(i) = ByteToWord(cLow, cHigh)
+ Next
- Public Overrides Sub Disconnect(Optional ByRef szStatus As String = "")
- _bConnected = False
- End Sub
+ O_RW_Word(W, MemType, MemIndex, ValueTmp)
- '''
- ''' Legge le memorie di configurazione dal cn
- '''
- Public Overrides Sub GetStaticData()
- Dim nValue(0) As Integer
- Dim sValue(0) As Short
- Dim ucValue(0) As Byte
+ Else ' ************* Read
+ Dim myReadVarWordR As OPENcontrol.ReadVarWordR
+ Dim myReadVarWord As New OPENcontrol.ReadVarWord
+ myReadVarWord.Code = MemType
+ myReadVarWord.Index = MemIndex
+ myReadVarWord.NumVar = ValueTmp.Length
+ myReadVarWordR = OPENws.ReadVarWord(myReadVarWord)
+ If O_CheckRetError(myReadVarWordR.retval, myReadVarWordR.ErrClass, myReadVarWordR.ErrNum, String.Format("ReadVarWord({0},{1}) O_RW_Byte CNC.OSAI_OPEN", [Enum].GetName(MemType.GetType, MemType), MemIndex), szReturn) Then
+ Throw New NcException(szReturn)
+ Return False
+ End If
+ For i = 0 To Value.Length - 1
+ Value(i) = WordToByte(myReadVarWordR.Value((i + MemOrderStart) \ 2), (i + MemOrderStart) Mod 2)
+ Next
+ End If
- If Not bStaticDataReaded Then
- Try
- Select Case Settings.MemoryMapping
- Case MemoryMapping.ElsManager
+ Return True
+ Catch ex As System.ServiceModel.CommunicationException
+ If nRetry < MAXRET Then GoTo Retry
+ Throw New NcException(ex.Message)
+ Return False
+ Catch ex As System.TimeoutException
+ Throw New NcException(ex.Message)
+ Return False
+ End Try
+ End Function
- Case MemoryMapping.Default,
- MemoryMapping.ToolManager,
- MemoryMapping.ToolTable
+ '''
+ ''' Legge o scrive Word da MEMORIE PLC
+ '''
+ ''' Se True SCRIVE, se False LEGGE
+ ''' Tipo di memoria Osai
+ ''' Indice di memoria
+ ''' Matrice di valori da scrivere su scrittura o letti su lettura
+ ''' True se andata a buon fine
+ Public Overloads Overrides Function O_RW_Word(ByVal bWrite As Boolean, ByVal MemType As MemTypeWord, ByVal MemIndex As Integer, ByRef Value() As UShort) As Boolean
+ Dim szReturn As String = ""
+ Dim nRetry As Integer
+Retry: nRetry += 1
- 'Matricola
- nReturn = O_RW_Short(R, MemTypeWord.MW_CODE, 3403, sValue)
- Me._Matricola = sValue(0)
- 'Teste
- nReturn = O_RW_Short(R, MemTypeWord.MW_CODE, 3405, sValue)
- Me._Teste = sValue(0)
- 'Magazzini
- nReturn = O_RW_Short(R, MemTypeWord.MW_CODE, 3407, sValue)
- Me._Magazzini = sValue(0)
- 'Manine per Magazzino
- ReDim Me._ManineMagazzino(Me._Magazzini - 1)
- ReDim ucValue(19)
- nReturn = O_RW_Byte(R, MemTypeWord.MW_CODE, 2900, LOW_ORDER, ucValue)
- Array.Copy(ucValue, Me._ManineMagazzino, Me._ManineMagazzino.Length)
- ReDim ucValue(0)
+ Try
+ If bWrite Then ' *** Write
+ Dim myWriteVarWordR As OPENcontrol.WriteVarWordR
+ Dim myWriteVarWord As New OPENcontrol.WriteVarWord
+ myWriteVarWord.Code = MemType
+ myWriteVarWord.Index = MemIndex
+ myWriteVarWord.NumVar = Value.Length
+ ReDim myWriteVarWord.Value(Value.Length - 1)
+ Array.Copy(Value, myWriteVarWord.Value, Value.Length)
+ myWriteVarWordR = OPENws.WriteVarWord(myWriteVarWord)
+ If O_CheckRetError(myWriteVarWordR.retval, myWriteVarWordR.ErrClass, myWriteVarWordR.ErrNum, String.Format("WriteVarWord({0},{1}) O_RW_Word CNC.OSAI_OPEN", [Enum].GetName(MemType.GetType, MemType), MemIndex), szReturn) Then
+ Throw New NcException(szReturn)
+ Return False
+ End If
- 'Magazzini Con Attrezzaggio Automatico (maschera)
- O_RW_Integer(R, MemTypeWord.MW_CODE, 4060, nValue)
- Me._MagazziniConAttrezzaggioAutomatico = nValue(0)
- End Select
+ Else ' ************* Read
+ Dim myReadVarWordR As OPENcontrol.ReadVarWordR
+ Dim myReadVarWord As New OPENcontrol.ReadVarWord
+ myReadVarWord.Code = MemType
+ myReadVarWord.Index = MemIndex
+ myReadVarWord.NumVar = Value.Length
+ myReadVarWordR = OPENws.ReadVarWord(myReadVarWord)
+ If O_CheckRetError(myReadVarWordR.retval, myReadVarWordR.ErrClass, myReadVarWordR.ErrNum, String.Format("ReadVarWord({0},{1}) O_RW_Word CNC.OSAI_OPEN", [Enum].GetName(MemType.GetType, MemType), MemIndex), szReturn) Then
+ Throw New NcException(szReturn)
+ Return False
+ End If
+ Array.Copy(myReadVarWordR.Value, Value, Value.Length)
+ End If
- Me._MaxUtensiliGestibili = 300 'TODO IMPLEMENTARE
- Me._MaxIdUtensile = 300 'TODO IMPLEMENTARE
+ Return True
- Select Case Settings.MemoryMapping
- Case MemoryMapping.ElsManager
- Case MemoryMapping.ToolManager
- Case MemoryMapping.Default,
- MemoryMapping.ToolTable
- 'ZoomSpeed
- nReturn = O_RW_Short(R, MemTypeWord.MW_CODE, 3425, sValue)
- If sValue(0) > 0 And sValue(0) <= 100 Then
- Me._ZoomSpeed = sValue(0)
- Else
- Me._ZoomSpeed = 1
- End If
- End Select
+ Catch ex As System.ServiceModel.CommunicationException
+ If nRetry < MAXRET Then GoTo Retry
+ Throw New NcException(ex.Message)
+ Return False
+ Catch ex As System.TimeoutException
+ Throw New NcException(ex.Message)
+ Return False
+ End Try
+ End Function
- bStaticDataReaded = True
- Catch ex As NcException
- Me.CncException(ex.Message)
- End Try
+ '''
+ ''' Legge o scrive Short da MEMORIE PLC
+ '''
+ ''' Se True SCRIVE, se False LEGGE
+ ''' Tipo di memoria Osai
+ ''' Indice di memoria
+ ''' Matrice di valori da scrivere su scrittura o letti su lettura
+ ''' True se andata a buon fine
+ Public Overloads Overrides Function O_RW_Short(ByVal bWrite As Boolean, ByVal MemType As MemTypeWord, ByVal MemIndex As Integer, ByRef Value() As Short) As Boolean
+ Dim szReturn As String = ""
+ Dim nRetry As Integer
+Retry: nRetry += 1
+ Try
+ If bWrite Then ' *** Write
+ Dim myWriteVarWordR As OPENcontrol.WriteVarWordR
+ Dim myWriteVarWord As New OPENcontrol.WriteVarWord
+ myWriteVarWord.Code = MemType
+ myWriteVarWord.Index = MemIndex
+ myWriteVarWord.NumVar = Value.Length
+ ReDim myWriteVarWord.Value(Value.Length - 1)
+ For i = 0 To Value.Length - 1
+ myWriteVarWord.Value(i) = ShortToUnsigned(Value(i))
+ Next
+ myWriteVarWordR = OPENws.WriteVarWord(myWriteVarWord)
+ If O_CheckRetError(myWriteVarWordR.retval, myWriteVarWordR.ErrClass, myWriteVarWordR.ErrNum, String.Format("WriteVarWord({0},{1}) O_RW_Short CNC.OSAI_OPEN", [Enum].GetName(MemType.GetType, MemType), MemIndex), szReturn) Then
+ Throw New NcException(szReturn)
+ Return False
+ End If
+
+ Else ' ************* Read
+ Dim myReadVarWordR As OPENcontrol.ReadVarWordR
+ Dim myReadVarWord As New OPENcontrol.ReadVarWord
+ myReadVarWord.Code = MemType
+ myReadVarWord.Index = MemIndex
+ myReadVarWord.NumVar = Value.Length
+ myReadVarWordR = OPENws.ReadVarWord(myReadVarWord)
+ If O_CheckRetError(myReadVarWordR.retval, myReadVarWordR.ErrClass, myReadVarWordR.ErrNum, String.Format("ReadVarWord({0},{1}) O_RW_Short CNC.OSAI_OPEN", [Enum].GetName(MemType.GetType, MemType), MemIndex), szReturn) Then
+ Throw New NcException(szReturn)
+ Return False
+ End If
+ For i = 0 To Value.Length - 1
+ Value(i) = UnsignedToShort(myReadVarWordR.Value(i))
+ Next
+ End If
+ Return True
+ Catch ex As System.ServiceModel.CommunicationException
+ If nRetry < MAXRET Then GoTo Retry
+ Throw New NcException(ex.Message)
+ Return False
+ Catch ex As System.TimeoutException
+ Throw New NcException(ex.Message)
+ Return False
+ End Try
+ End Function
+
+
+ '''
+ ''' Legge o scrive Integer da MEMORIE PLC
+ '''
+ ''' Se True SCRIVE, se False LEGGE
+ ''' Tipo di memoria Osai
+ ''' Indice di memoria
+ ''' Matrice di valori da scrivere su scrittura o letti su lettura
+ ''' True se andata a buon fine
+ Public Overloads Overrides Function O_RW_DWord(ByVal bWrite As Boolean, ByVal MemType As MemTypeWord, ByVal MemIndex As Integer, ByRef Value() As UInteger) As Boolean
+ Dim szReturn As String = ""
+ Dim ValueTmp(Value.Length * 2 - 1) As UShort
+ Dim nRetry As Integer
+Retry: nRetry += 1
+
+ Try
+ If bWrite Then ' *** Write
+ Dim myWriteVarWordR As OPENcontrol.WriteVarWordR
+ Dim myWriteVarWord As New OPENcontrol.WriteVarWord
+ myWriteVarWord.Code = MemType
+ myWriteVarWord.Index = MemIndex
+ myWriteVarWord.NumVar = ValueTmp.Length
+ For i = 0 To Value.Length - 1
+ ValueTmp(i * 2) = DWordToWord(Value(i), LOW_ORDER)
+ ValueTmp(i * 2 + 1) = DWordToWord(Value(i), HIGH_ORDER)
+ Next
+ ReDim myWriteVarWord.Value(ValueTmp.Length - 1)
+ Array.Copy(ValueTmp, myWriteVarWord.Value, ValueTmp.Length)
+ myWriteVarWordR = OPENws.WriteVarWord(myWriteVarWord)
+ If O_CheckRetError(myWriteVarWordR.retval, myWriteVarWordR.ErrClass, myWriteVarWordR.ErrNum, String.Format("WriteVarWord({0},{1}) O_RW_DWord CNC.OSAI_OPEN", [Enum].GetName(MemType.GetType, MemType), MemIndex), szReturn) Then
+ Throw New NcException(szReturn)
+ Return False
+ End If
+
+ Else ' ************* Read
+ Dim myReadVarWordR As OPENcontrol.ReadVarWordR
+ Dim myReadVarWord As New OPENcontrol.ReadVarWord
+ myReadVarWord.Code = MemType
+ myReadVarWord.Index = MemIndex
+ myReadVarWord.NumVar = ValueTmp.Length
+ myReadVarWordR = OPENws.ReadVarWord(myReadVarWord)
+ If O_CheckRetError(myReadVarWordR.retval, myReadVarWordR.ErrClass, myReadVarWordR.ErrNum, String.Format("ReadVarWord({0},{1}) O_RW_DWord CNC.OSAI_OPEN", [Enum].GetName(MemType.GetType, MemType), MemIndex), szReturn) Then
+ Throw New NcException(szReturn)
+ Return False
+ Else
+ For i = 0 To Value.Length - 1
+ Value(i) = WordsToDWord(myReadVarWordR.Value(i * 2), myReadVarWordR.Value(i * 2 + 1))
+ Next
+ End If
+ End If
+
+ Return True
+ Catch ex As System.ServiceModel.CommunicationException
+ If nRetry < MAXRET Then GoTo Retry
+ Throw New NcException(ex.Message)
+ Return False
+ Catch ex As System.TimeoutException
+ Throw New NcException(ex.Message)
+ Return False
+ End Try
+ End Function
+
+
+ '''
+ ''' Legge o scrive Integer da MEMORIE PLC
+ '''
+ ''' Se True SCRIVE, se False LEGGE
+ ''' Tipo di memoria Osai
+ ''' Indice di memoria
+ ''' Matrice di valori da scrivere su scrittura o letti su lettura
+ ''' True se andata a buon fine
+ Public Overloads Overrides Function O_RW_Integer(ByVal bWrite As Boolean, ByVal MemType As MemTypeWord, ByVal MemIndex As Integer, ByRef Value() As Integer) As Boolean
+ Dim szReturn As String = ""
+ Dim ValueTmp(Value.Length * 2 - 1) As UShort
+ Dim nRetry As Integer
+Retry: nRetry += 1
+
+ Try
+ If bWrite Then ' *** Write
+ Dim myWriteVarWordR As OPENcontrol.WriteVarWordR
+ Dim myWriteVarWord As New OPENcontrol.WriteVarWord
+ myWriteVarWord.Code = MemType
+ myWriteVarWord.Index = MemIndex
+ myWriteVarWord.NumVar = ValueTmp.Length
+ For i = 0 To Value.Length - 1
+ ValueTmp(i * 2) = IntegerToWord(Value(i), LOW_ORDER)
+ ValueTmp(i * 2 + 1) = IntegerToWord(Value(i), HIGH_ORDER)
+ Next
+ ReDim myWriteVarWord.Value(ValueTmp.Length - 1)
+ Array.Copy(ValueTmp, myWriteVarWord.Value, ValueTmp.Length)
+ myWriteVarWordR = OPENws.WriteVarWord(myWriteVarWord)
+ If O_CheckRetError(myWriteVarWordR.retval, myWriteVarWordR.ErrClass, myWriteVarWordR.ErrNum, String.Format("WriteVarDWord({0},{1}) O_RW_DWord CNC.OSAI_OPEN", [Enum].GetName(MemType.GetType, MemType), MemIndex), szReturn) Then
+ Throw New NcException(szReturn)
+ Return False
+ End If
+
+ Else ' ************* Read
+ Dim myReadVarWordR As OPENcontrol.ReadVarWordR
+ Dim myReadVarWord As New OPENcontrol.ReadVarWord
+ myReadVarWord.Code = MemType
+ myReadVarWord.Index = MemIndex
+ myReadVarWord.NumVar = ValueTmp.Length
+ myReadVarWordR = OPENws.ReadVarWord(myReadVarWord)
+ If O_CheckRetError(myReadVarWordR.retval, myReadVarWordR.ErrClass, myReadVarWordR.ErrNum, String.Format("ReadVarDWord({0},{1}) O_RW_DWord CNC.OSAI_OPEN", [Enum].GetName(MemType.GetType, MemType), MemIndex), szReturn) Then
+ Throw New NcException(szReturn)
+ Return False
+ Else
+ For i = 0 To Value.Length - 1
+ Value(i) = WordsToInteger(myReadVarWordR.Value(i * 2), myReadVarWordR.Value(i * 2 + 1))
+ Next
+ End If
+ End If
+
+ Return True
+ Catch ex As System.ServiceModel.CommunicationException
+ If nRetry < MAXRET Then GoTo Retry
+ Throw New NcException(ex.Message)
+ Return False
+ Catch ex As System.TimeoutException
+ Throw New NcException(ex.Message)
+ Return False
+ End Try
+ End Function
+
+ '''
+ ''' Legge o scrive Double da MEMORIE PLC
+ '''
+ ''' Se True SCRIVE, se False LEGGE
+ ''' Tipo di memoria Osai
+ ''' Indice di memoria
+ ''' Matrice di valori da scrivere su scrittura o letti su lettura
+ ''' True se andata a buon fine
+ Public Overloads Overrides Function O_RW_Double(ByVal bWrite As Boolean, ByVal MemType As MemTypeDouble, ByVal MemIndex As Integer, ByRef Value() As Double) As Boolean
+ Dim szReturn As String = ""
+ Dim nRetry As Integer
+Retry: nRetry += 1
+
+ Try
+ If bWrite Then ' *** Write
+ Dim myWriteVarDoubleR As OPENcontrol.WriteVarDoubleR
+ Dim myWriteVarDouble As New OPENcontrol.WriteVarDouble
+ myWriteVarDouble.Code = MemType
+ myWriteVarDouble.Index = MemIndex
+ myWriteVarDouble.NumVar = Value.Length
+ ReDim myWriteVarDouble.Value(Value.Length - 1)
+ Array.Copy(Value, myWriteVarDouble.Value, Value.Length)
+ myWriteVarDoubleR = OPENws.WriteVarDouble(myWriteVarDouble)
+ If O_CheckRetError(myWriteVarDoubleR.retval, myWriteVarDoubleR.ErrClass, myWriteVarDoubleR.ErrNum, String.Format("WriteVarDouble({0},{1}) O_RW_Double CNC.OSAI_OPEN", [Enum].GetName(MemType.GetType, MemType), MemIndex), szReturn) Then
+ Throw New NcException(szReturn)
+ Return False
+ End If
+
+ Else ' ************* Read
+ Dim myReadVarDoubleR As OPENcontrol.ReadVarDoubleR
+ Dim myReadVarDouble As New OPENcontrol.ReadVarDouble
+ myReadVarDouble.Code = MemType
+ myReadVarDouble.Index = MemIndex
+ myReadVarDouble.NumVar = Value.Length
+ myReadVarDoubleR = OPENws.ReadVarDouble(myReadVarDouble)
+ If O_CheckRetError(myReadVarDoubleR.retval, myReadVarDoubleR.ErrClass, myReadVarDoubleR.ErrNum, String.Format("ReadVarDouble({0},{1}) O_RW_Double CNC.OSAI_OPEN", [Enum].GetName(MemType.GetType, MemType), MemIndex), szReturn) Then
+ Throw New NcException(szReturn)
+ Return False
+ End If
+ Array.Copy(myReadVarDoubleR.Value, Value, Value.Length)
+ End If
+
+ Return True
+ Catch ex As System.ServiceModel.CommunicationException
+ If nRetry < MAXRET Then GoTo Retry
+ Throw New NcException(ex.Message)
+ Return False
+ Catch ex As System.TimeoutException
+ Throw New NcException(ex.Message)
+ Return False
+ End Try
+ End Function
+
+ '''
+ ''' Legge o scrive Stringhe da MEMORIE SC
+ '''
+ ''' Se True SCRIVE, se False LEGGE
+ ''' Indice di memoria
+ ''' Lunghezza caratteri
+ ''' Stringa da scrivere su scrittura o leggere su lettura
+ ''' True se andata a buon fine
+ Public Overloads Overrides Function O_RW_Text(ByVal bWrite As Boolean, ByVal MemType As MemTypeText, ByVal MemIndex As Integer, ByVal MemLength As Integer, ByRef Value As String) As Boolean
+ Dim szReturn As String = ""
+ Dim nRetry As Integer
+Retry: nRetry += 1
+
+ Try
+ If bWrite Then ' *** Write
+ Dim myWriteVarTextR As OPENcontrol.WriteVarTextR
+ Dim myWriteVarText As New OPENcontrol.WriteVarText
+ myWriteVarText.Code = MemType
+ myWriteVarText.Index = MemIndex
+ myWriteVarText.Len = MemLength
+ myWriteVarText.Text = Value
+ myWriteVarText.Process = 1 'serve per le variabili SC
+ myWriteVarTextR = OPENws.WriteVarText(myWriteVarText)
+ If O_CheckRetError(myWriteVarTextR.retval, myWriteVarTextR.ErrClass, myWriteVarTextR.ErrNum, String.Format("WriteVarText({0},{1}) O_RW_Text CNC.OSAI_OPEN", [Enum].GetName(MemType.GetType, MemType), MemIndex), szReturn) Then
+ Throw New NcException(szReturn)
+ Return False
+ End If
+
+ Else ' ************* Read
+ Dim myReadVarTextR As OPENcontrol.ReadVarTextR
+ Dim myReadVarText As New OPENcontrol.ReadVarText
+ myReadVarText.Code = MemType
+ myReadVarText.Index = MemIndex
+ myReadVarText.Size = MemLength
+ myReadVarText.Process = 1 'serve per le variabili SC
+ myReadVarTextR = OPENws.ReadVarText(myReadVarText)
+ If O_CheckRetError(myReadVarTextR.retval, myReadVarTextR.ErrClass, myReadVarTextR.ErrNum, String.Format("ReadVarText({0},{1}) O_RW_Text CNC.OSAI_OPEN", [Enum].GetName(MemType.GetType, MemType), MemIndex), szReturn) Then
+ Throw New NcException(szReturn)
+ Return False
+ End If
+ Value = myReadVarTextR.Text
+ End If
+ Catch ex As System.ServiceModel.CommunicationException
+ If nRetry < MAXRET Then GoTo Retry
+ Throw New NcException(ex.Message)
+ Return False
+ Catch ex As System.TimeoutException
+ Throw New NcException(ex.Message)
+ Return False
+ End Try
+
+ Return True
+
+ End Function
+
+ '''
+ ''' Legge o scrive Length and Radius Offset da tabella Utensili CN
+ '''
+ ''' Se True SCRIVE, se False LEGGE
+ ''' Numero dell'offset utensile
+ Public Overrides Function O_RW_ToolOffset(ByVal bWrite As Boolean, ByVal ToolOffsetNumber As Integer, ByRef CutterRadius_Wear As Double, ByRef CutterRadius_Geometry As Double, ByRef ToolLenght_Wear As Double, ByRef ToolLenght_Geometry As Double) As Boolean
+ Dim szReturn As String = ""
+ Dim nRetry As Integer
+Retry: nRetry += 1
+
+ Try
+ If bWrite Then ' *** Write
+ 'leggo il correttore per usarlo come template
+ Dim myGetOffsetTabRecordIIR As OPENcontrol.GetOffsetTabRecordIIR
+ Dim myGetOffsetTabRecordII As New OPENcontrol.GetOffsetTabRecordII
+ myGetOffsetTabRecordII.RecordNum = ToolOffsetNumber
+ myGetOffsetTabRecordIIR = OPENws.GetOffsetTabRecordII(myGetOffsetTabRecordII)
+ If O_CheckRetError(myGetOffsetTabRecordIIR.retval, myGetOffsetTabRecordIIR.ErrClass, myGetOffsetTabRecordIIR.ErrNum, String.Format("GetOffsetTabRecordII({0}) O_RW_ToolOffset CNC.OSAI_OPEN", ToolOffsetNumber), szReturn) Then
+ Throw New NcException(szReturn)
+ Return False
+ End If
+
+ Dim mySetOffsetTabRecordIIR As OPENcontrol.SetOffsetTabRecordIIR
+ Dim mySetOffsetTabRecordII As New OPENcontrol.SetOffsetTabRecordII
+ mySetOffsetTabRecordII.RecordNum = ToolOffsetNumber
+ mySetOffsetTabRecordII.RecordBuff = myGetOffsetTabRecordIIR.RecordBuff
+ 'modifico i valori che mi interesssano
+ mySetOffsetTabRecordII.RecordBuff.DiaVal(0).ActChangeVal = CutterRadius_Wear
+ mySetOffsetTabRecordII.RecordBuff.DiaVal(0).ValOrig = CutterRadius_Geometry
+ mySetOffsetTabRecordII.RecordBuff.LenVal(0).ActChangeVal = ToolLenght_Wear
+ mySetOffsetTabRecordII.RecordBuff.LenVal(0).ValOrig = ToolLenght_Geometry
+
+ 'scrivo il correttore
+ mySetOffsetTabRecordIIR = OPENws.SetOffsetTabRecordII(mySetOffsetTabRecordII)
+ If O_CheckRetError(mySetOffsetTabRecordIIR.retval, mySetOffsetTabRecordIIR.ErrClass, mySetOffsetTabRecordIIR.ErrNum, String.Format("SetOffsetTabRecordII({0}) O_RW_ToolOffset CNC.OSAI_OPEN", ToolOffsetNumber), szReturn) Then
+ Throw New NcException(szReturn)
+ Return False
+ End If
+
+ Else ' ************* Read
+ Dim myGetOffsetTabRecordIIR As OPENcontrol.GetOffsetTabRecordIIR
+ Dim myGetOffsetTabRecordII As New OPENcontrol.GetOffsetTabRecordII
+ myGetOffsetTabRecordII.RecordNum = ToolOffsetNumber
+ myGetOffsetTabRecordIIR = OPENws.GetOffsetTabRecordII(myGetOffsetTabRecordII)
+ If O_CheckRetError(myGetOffsetTabRecordIIR.retval, myGetOffsetTabRecordIIR.ErrClass, myGetOffsetTabRecordIIR.ErrNum, String.Format("GetOffsetTabRecordII({0}) O_RW_ToolOffset CNC.OSAI_OPEN", ToolOffsetNumber), szReturn) Then
+ Throw New NcException(szReturn)
+ Return False
+ End If
+
+ CutterRadius_Wear = myGetOffsetTabRecordIIR.RecordBuff.DiaVal(0).ActChangeVal
+ CutterRadius_Geometry = myGetOffsetTabRecordIIR.RecordBuff.DiaVal(0).ValOrig
+ ToolLenght_Wear = myGetOffsetTabRecordIIR.RecordBuff.LenVal(0).ActChangeVal
+ ToolLenght_Geometry = myGetOffsetTabRecordIIR.RecordBuff.LenVal(0).ValOrig
+ End If
+ Catch ex As System.ServiceModel.CommunicationException
+ If nRetry < MAXRET Then GoTo Retry
+ Throw New NcException(ex.Message)
+ Return False
+ End Try
+
+ Return True
+
+ End Function
+
+ '''
+ ''' Blocca l'accesso alla tabella dei correttori
+ '''
+ ''' =True: Blocca la tabella, =False: Sblocca la tabella
+ ''' True se andata a buon fine
+ Public Overrides Function O_LockOffsetTable(ByVal Lock As Boolean) As Boolean
+ Static bLocked As Boolean
+ Dim szReturn As String = ""
+ Dim nRetry As Integer
+Retry: nRetry += 1
+
+ Try
+ If Lock Then
+ If Not bLocked Then
+ Dim myLockTableIIR As OPENcontrol.LockTableIIR
+ Dim myLockTableII As New OPENcontrol.LockTableII
+ myLockTableII.TableNum = O_Table.OFFSET_TABLE_ID
+ myLockTableIIR = OPENws.LockTableII(myLockTableII)
+ If O_CheckRetError(myLockTableIIR.retval, myLockTableIIR.ErrClass, myLockTableIIR.ErrNum, String.Format("LockTableII({0}) O_LockOffsetTable CNC.OSAI_OPEN", myLockTableII.TableNum), szReturn) Then
+ 'Throw New NcException(szReturn)
+ Return False
End If
- End Sub
+ bLocked = True
+ End If
+ Else
+ Dim myUnLockTableIIR As OPENcontrol.UnLockTableIIR
+ Dim myUnLockTableII As New OPENcontrol.UnLockTableII
+ myUnLockTableII.TableNum = O_Table.OFFSET_TABLE_ID
+ myUnLockTableIIR = OPENws.UnLockTableII(myUnLockTableII)
+ If O_CheckRetError(myUnLockTableIIR.retval, myUnLockTableIIR.ErrClass, myUnLockTableIIR.ErrNum, String.Format("UnLockTableII({0}) O_LockOffsetTable CNC.OSAI_OPEN", myUnLockTableII.TableNum), szReturn) Then
+ 'Throw New NcException(szReturn)
+ Return False
+ End If
+ bLocked = False
+ End If
+ Return True
+ Catch ex As System.ServiceModel.CommunicationException
+ If nRetry < MAXRET Then GoTo Retry
+ Throw New NcException(ex.Message)
+ Return False
+ End Try
+ End Function
- '''
- ''' Legge o scrive Boolean da MEMORIE PLC
- '''
- ''' Se True SCRIVE, se False LEGGE
- ''' Tipo di memoria Osai
- ''' Indice di memoria
- ''' Bit della memoria
- ''' Valore da scrivere su scrittura e letto su lettura
- ''' True se andata a buon fine
- Public Overloads Overrides Function O_RW_Boolean(ByVal bWrite As Boolean, ByVal MemType As MemTypeWord, ByVal MemIndex As Integer, ByVal MemBit As Integer, ByRef Value As Boolean) As Boolean
- Dim szReturn As String = ""
- Dim nRetry As Integer
-Retry: nRetry += 1
+ '''
+ ''' Legge il numero del processo attivo
+ '''
+ ''' Valore di ritorno del processo selezionato
+ ''' True se andata a buon fine
+ Public Overloads Overrides Function O_GetSelectedProcess(ByRef ProcessId As Short) As Boolean
+ Dim szReturn As String = ""
+ Dim myGetSelectedProcessR As OPENcontrol.GetSelectedProcessR
+ Dim myGetSelectedProcess As New OPENcontrol.GetSelectedProcess
+ Dim nRetry As Integer
+Retry: nRetry += 1
- Try
- If bWrite Then ' *** Write
- Dim myWriteVarWordBitR As OPENcontrol.WriteVarWordBitR
- Dim myWriteVarWordBit As New OPENcontrol.WriteVarWordBit
- myWriteVarWordBit.Code = MemType
- myWriteVarWordBit.Index = MemIndex
- myWriteVarWordBit.BitIndex = MemBit
- myWriteVarWordBit.BitValue = IIf(Value, 1, 0)
- myWriteVarWordBitR = OPENws.WriteVarWordBit(myWriteVarWordBit)
- If O_CheckRetError(myWriteVarWordBitR.retval, myWriteVarWordBitR.ErrClass, myWriteVarWordBitR.ErrNum, String.Format("WriteVarWordBit({0},{1}) O_RW_Boolean CNC.OSAI_OPEN", [Enum].GetName(MemType.GetType, MemType), MemIndex), szReturn) Then
- Throw New NcException(szReturn)
- Return False
- End If
+ Try
+ myGetSelectedProcessR = OPENws.GetSelectedProcess(myGetSelectedProcess)
+ If O_CheckRetError(myGetSelectedProcessR.retval, myGetSelectedProcessR.ErrClass, myGetSelectedProcessR.ErrNum, "GetSelectedProcess() O_GetSelectedProcess CNC.OSAI_OPEN", szReturn) Then
+ Throw New NcException(szReturn)
+ Return False
+ End If
- Else ' ************* Read
- Dim myReadVarWordR As OPENcontrol.ReadVarWordR
- Dim myReadVarWord As New OPENcontrol.ReadVarWord
- myReadVarWord.Code = MemType
- myReadVarWord.Index = MemIndex
- myReadVarWord.NumVar = 1
- myReadVarWordR = OPENws.ReadVarWord(myReadVarWord)
- If O_CheckRetError(myReadVarWordR.retval, myReadVarWordR.ErrClass, myReadVarWordR.ErrNum, String.Format("ReadVarWord({0},{1}) O_RW_Boolean CNC.OSAI_OPEN", [Enum].GetName(MemType.GetType, MemType), MemIndex), szReturn) Then
- Throw New NcException(szReturn)
- Return False
- End If
- If (myReadVarWordR.Value(0) And (2 ^ MemBit)) = (2 ^ MemBit) Then 'True
- Value = True
- Else 'False
- Value = False
- End If
- End If
+ ProcessId = UnsignedToShort(myGetSelectedProcessR.ProcNum)
+ Return True
+ Catch ex As System.ServiceModel.CommunicationException
+ If nRetry < MAXRET Then GoTo Retry
+ Throw New NcException(ex.Message)
+ Return False
+ End Try
+ End Function
- Return True
- Catch ex As System.ServiceModel.CommunicationException
- If nRetry < MAXRET Then GoTo Retry
- Throw New NcException(ex.Message)
- Return False
- Catch ex As System.TimeoutException
- Throw New NcException(ex.Message)
- Return False
- End Try
- End Function
+ '''
+ ''' Legge la riga del programma attivo
+ '''
+ ''' Riga in esecuzione del programma attivo
+ ''' True se andata a buon fine
+ Public Overloads Overrides Function O_GetActiveLineProgram(ByRef Line As String) As Boolean
+ Dim szReturn As String = ""
+ Dim myGetPartProgramLinesR As OPENcontrol.GetPartProgramLinesR
+ Dim myGetPartProgramLines As New OPENcontrol.GetPartProgramLines
+ Dim ProcessId As Short
+ Dim nRetry As Integer
+Retry: nRetry += 1
- '''
- ''' Legge o scrive Byte da MEMORIE PLC
- '''
- ''' Se True SCRIVE, se False LEGGE
- ''' Tipo di memoria Osai
- ''' Indice di memoria
- ''' Ordine di partenza LOW_ORDER = 0 HIGH_ORDER = 1
- ''' Matrice di valori da scrivere su scrittura o letti su lettura
- ''' True se andata a buon fine
- Public Overloads Overrides Function O_RW_Byte(ByVal bWrite As Boolean, ByVal MemType As MemTypeWord, ByVal MemIndex As Integer, ByVal MemOrderStart As Integer, ByRef Value() As Byte) As Boolean
- Dim szReturn As String = ""
- Dim bStartHigh As Boolean = MemOrderStart
- Dim bEndDispari As Boolean = (Value.Length + MemOrderStart) Mod 2
- Dim cStart, cEnd As Byte
- Dim ValueTmp(((Value.Length + MemOrderStart) \ 2) + ((Value.Length + MemOrderStart) Mod 2) - 1) As UShort
- Dim nRetry As Integer
-Retry: nRetry += 1
+ Try
+ O_GetSelectedProcess(ProcessId)
- Try
- If bWrite Then ' *** Write
- 'se comincio con hi leggo la prima memo
- If bStartHigh Then
- Dim ValStartTmp(0) As UShort
- O_RW_Word(R, MemType, MemIndex, ValStartTmp)
- cStart = WordToByte(ValStartTmp(0), LOW_ORDER)
- End If
+ myGetPartProgramLines.ProcNum = ProcessId
+ myGetPartProgramLinesR = OPENws.GetPartProgramLines(myGetPartProgramLines)
+ If O_CheckRetError(myGetPartProgramLinesR.retval, myGetPartProgramLinesR.ErrClass, myGetPartProgramLinesR.ErrNum, "GetPartProgramLines() O_GetActiveLineProgram CNC.OSAI_OPEN", szReturn) Then
+ Throw New NcException(szReturn)
+ Return False
+ End If
- 'se finisco dispari, leggo l'ultima memo
- If bEndDispari Then
- Dim ValEndTmp(0) As UShort
- O_RW_Word(R, MemType, MemIndex + ValueTmp.Length - 1, ValEndTmp)
- cEnd = WordToByte(ValEndTmp(0), HIGH_ORDER)
- End If
-
- For i = 0 To ValueTmp.Length - 1
- Dim cLow, cHigh As Byte
- 'Low
- If i = 0 AndAlso bStartHigh Then
- cLow = cStart
- Else
- cLow = Value(i * 2 - MemOrderStart)
- End If
- 'High
- If i = (ValueTmp.Length - 1) AndAlso bEndDispari Then
- cHigh = cEnd
- Else
- cHigh = Value(i * 2 + 1 - MemOrderStart)
- End If
-
- ValueTmp(i) = ByteToWord(cLow, cHigh)
- Next
-
- O_RW_Word(W, MemType, MemIndex, ValueTmp)
-
- Else ' ************* Read
- Dim myReadVarWordR As OPENcontrol.ReadVarWordR
- Dim myReadVarWord As New OPENcontrol.ReadVarWord
- myReadVarWord.Code = MemType
- myReadVarWord.Index = MemIndex
- myReadVarWord.NumVar = ValueTmp.Length
- myReadVarWordR = OPENws.ReadVarWord(myReadVarWord)
- If O_CheckRetError(myReadVarWordR.retval, myReadVarWordR.ErrClass, myReadVarWordR.ErrNum, String.Format("ReadVarWord({0},{1}) O_RW_Byte CNC.OSAI_OPEN", [Enum].GetName(MemType.GetType, MemType), MemIndex), szReturn) Then
- Throw New NcException(szReturn)
- Return False
- End If
- For i = 0 To Value.Length - 1
- Value(i) = WordToByte(myReadVarWordR.Value((i + MemOrderStart) \ 2), (i + MemOrderStart) Mod 2)
- Next
- End If
-
- Return True
- Catch ex As System.ServiceModel.CommunicationException
- If nRetry < MAXRET Then GoTo Retry
- Throw New NcException(ex.Message)
- Return False
- Catch ex As System.TimeoutException
- Throw New NcException(ex.Message)
- Return False
- End Try
- End Function
-
- '''
- ''' Legge o scrive Word da MEMORIE PLC
- '''
- ''' Se True SCRIVE, se False LEGGE
- ''' Tipo di memoria Osai
- ''' Indice di memoria
- ''' Matrice di valori da scrivere su scrittura o letti su lettura
- ''' True se andata a buon fine
- Public Overloads Overrides Function O_RW_Word(ByVal bWrite As Boolean, ByVal MemType As MemTypeWord, ByVal MemIndex As Integer, ByRef Value() As UShort) As Boolean
- Dim szReturn As String = ""
- Dim nRetry As Integer
-Retry: nRetry += 1
-
- Try
- If bWrite Then ' *** Write
- Dim myWriteVarWordR As OPENcontrol.WriteVarWordR
- Dim myWriteVarWord As New OPENcontrol.WriteVarWord
- myWriteVarWord.Code = MemType
- myWriteVarWord.Index = MemIndex
- myWriteVarWord.NumVar = Value.Length
- ReDim myWriteVarWord.Value(Value.Length - 1)
- Array.Copy(Value, myWriteVarWord.Value, Value.Length)
- myWriteVarWordR = OPENws.WriteVarWord(myWriteVarWord)
- If O_CheckRetError(myWriteVarWordR.retval, myWriteVarWordR.ErrClass, myWriteVarWordR.ErrNum, String.Format("WriteVarWord({0},{1}) O_RW_Word CNC.OSAI_OPEN", [Enum].GetName(MemType.GetType, MemType), MemIndex), szReturn) Then
- Throw New NcException(szReturn)
- Return False
- End If
-
- Else ' ************* Read
- Dim myReadVarWordR As OPENcontrol.ReadVarWordR
- Dim myReadVarWord As New OPENcontrol.ReadVarWord
- myReadVarWord.Code = MemType
- myReadVarWord.Index = MemIndex
- myReadVarWord.NumVar = Value.Length
- myReadVarWordR = OPENws.ReadVarWord(myReadVarWord)
- If O_CheckRetError(myReadVarWordR.retval, myReadVarWordR.ErrClass, myReadVarWordR.ErrNum, String.Format("ReadVarWord({0},{1}) O_RW_Word CNC.OSAI_OPEN", [Enum].GetName(MemType.GetType, MemType), MemIndex), szReturn) Then
- Throw New NcException(szReturn)
- Return False
- End If
- Array.Copy(myReadVarWordR.Value, Value, Value.Length)
- End If
-
- Return True
-
- Catch ex As System.ServiceModel.CommunicationException
- If nRetry < MAXRET Then GoTo Retry
- Throw New NcException(ex.Message)
- Return False
- Catch ex As System.TimeoutException
- Throw New NcException(ex.Message)
- Return False
- End Try
- End Function
+ Line = myGetPartProgramLinesR.PPLine2
+ Return True
+ Catch ex As System.ServiceModel.CommunicationException
+ If nRetry < MAXRET Then GoTo Retry
+ Throw New NcException(ex.Message)
+ Return False
+ End Try
+ End Function
- '''
- ''' Legge o scrive Short da MEMORIE PLC
- '''
- ''' Se True SCRIVE, se False LEGGE
- ''' Tipo di memoria Osai
- ''' Indice di memoria
- ''' Matrice di valori da scrivere su scrittura o letti su lettura
- ''' True se andata a buon fine
- Public Overloads Overrides Function O_RW_Short(ByVal bWrite As Boolean, ByVal MemType As MemTypeWord, ByVal MemIndex As Integer, ByRef Value() As Short) As Boolean
- Dim szReturn As String = ""
- Dim nRetry As Integer
-Retry: nRetry += 1
+ '''
+ ''' Legge la tabella assi
+ '''
+ ''' Processo selezionato
+ ''' Valore di ritorno Assi del processo selezionato
+ ''' True se andata a buon fine
+ Public Overloads Overrides Function O_GetAxisTab(ByVal ProcessId As Short, ByRef AxisTable() As Char, ByRef AxisIdTable() As Short) As Boolean
+ Dim szReturn As String = ""
+ Dim i, j As Integer
+ Dim myGetAxesInfo3R As OPENcontrol.GetAxesInfo3R
+ Dim myGetAxesInfo3 As New OPENcontrol.GetAxesInfo3
+ Dim nRetry As Integer
+Retry: nRetry += 1
- Try
- If bWrite Then ' *** Write
- Dim myWriteVarWordR As OPENcontrol.WriteVarWordR
- Dim myWriteVarWord As New OPENcontrol.WriteVarWord
- myWriteVarWord.Code = MemType
- myWriteVarWord.Index = MemIndex
- myWriteVarWord.NumVar = Value.Length
- ReDim myWriteVarWord.Value(Value.Length - 1)
- For i = 0 To Value.Length - 1
- myWriteVarWord.Value(i) = ShortToUnsigned(Value(i))
- Next
- myWriteVarWordR = OPENws.WriteVarWord(myWriteVarWord)
- If O_CheckRetError(myWriteVarWordR.retval, myWriteVarWordR.ErrClass, myWriteVarWordR.ErrNum, String.Format("WriteVarWord({0},{1}) O_RW_Short CNC.OSAI_OPEN", [Enum].GetName(MemType.GetType, MemType), MemIndex), szReturn) Then
- Throw New NcException(szReturn)
- Return False
- End If
+ Try
+ myGetAxesInfo3.AxesNum = 64
+ myGetAxesInfo3R = OPENws.GetAxesInfo3(myGetAxesInfo3)
+ If O_CheckRetError(myGetAxesInfo3R.retval, myGetAxesInfo3R.ErrClass, myGetAxesInfo3R.ErrNum, "GetAxesInfo3() O_RW_Word CNC.OSAI_OPEN", szReturn) Then
+ Throw New NcException(szReturn)
+ Return False
+ End If
- Else ' ************* Read
- Dim myReadVarWordR As OPENcontrol.ReadVarWordR
- Dim myReadVarWord As New OPENcontrol.ReadVarWord
- myReadVarWord.Code = MemType
- myReadVarWord.Index = MemIndex
- myReadVarWord.NumVar = Value.Length
- myReadVarWordR = OPENws.ReadVarWord(myReadVarWord)
- If O_CheckRetError(myReadVarWordR.retval, myReadVarWordR.ErrClass, myReadVarWordR.ErrNum, String.Format("ReadVarWord({0},{1}) O_RW_Short CNC.OSAI_OPEN", [Enum].GetName(MemType.GetType, MemType), MemIndex), szReturn) Then
- Throw New NcException(szReturn)
- Return False
- End If
- For i = 0 To Value.Length - 1
- Value(i) = UnsignedToShort(myReadVarWordR.Value(i))
- Next
- End If
- Return True
- Catch ex As System.ServiceModel.CommunicationException
- If nRetry < MAXRET Then GoTo Retry
- Throw New NcException(ex.Message)
- Return False
- Catch ex As System.TimeoutException
- Throw New NcException(ex.Message)
- Return False
- End Try
- End Function
+ For i = 0 To 63
+ If myGetAxesInfo3R.AxOwnerList(i) = ProcessId Then
+ If (myGetAxesInfo3R.AxNameList(i) < Asc("a") Or myGetAxesInfo3R.AxNameList(i) > Asc("z")) And myGetAxesInfo3R.AxNameList(i) <> Asc("S") Then
+ AxisTable(j) = Chr(myGetAxesInfo3R.AxNameList(i))
+ AxisIdTable(j) = i + 1
+ j += 1
+ End If
+ 'ElseIf myGetAxesInfo3R.AxOwnerList(i) = &HFFFF& Then 'Non esco perchè gli assi potrebbero non essere in fila
+ ' Exit For
+ End If
+ Next i
-
- '''
- ''' Legge o scrive Integer da MEMORIE PLC
- '''
- ''' Se True SCRIVE, se False LEGGE
- ''' Tipo di memoria Osai
- ''' Indice di memoria
- ''' Matrice di valori da scrivere su scrittura o letti su lettura
- ''' True se andata a buon fine
- Public Overloads Overrides Function O_RW_DWord(ByVal bWrite As Boolean, ByVal MemType As MemTypeWord, ByVal MemIndex As Integer, ByRef Value() As UInteger) As Boolean
- Dim szReturn As String = ""
- Dim ValueTmp(Value.Length * 2 - 1) As UShort
- Dim nRetry As Integer
-Retry: nRetry += 1
-
- Try
- If bWrite Then ' *** Write
- Dim myWriteVarWordR As OPENcontrol.WriteVarWordR
- Dim myWriteVarWord As New OPENcontrol.WriteVarWord
- myWriteVarWord.Code = MemType
- myWriteVarWord.Index = MemIndex
- myWriteVarWord.NumVar = ValueTmp.Length
- For i = 0 To Value.Length - 1
- ValueTmp(i * 2) = DWordToWord(Value(i), LOW_ORDER)
- ValueTmp(i * 2 + 1) = DWordToWord(Value(i), HIGH_ORDER)
- Next
- ReDim myWriteVarWord.Value(ValueTmp.Length - 1)
- Array.Copy(ValueTmp, myWriteVarWord.Value, ValueTmp.Length)
- myWriteVarWordR = OPENws.WriteVarWord(myWriteVarWord)
- If O_CheckRetError(myWriteVarWordR.retval, myWriteVarWordR.ErrClass, myWriteVarWordR.ErrNum, String.Format("WriteVarWord({0},{1}) O_RW_DWord CNC.OSAI_OPEN", [Enum].GetName(MemType.GetType, MemType), MemIndex), szReturn) Then
- Throw New NcException(szReturn)
- Return False
- End If
-
- Else ' ************* Read
- Dim myReadVarWordR As OPENcontrol.ReadVarWordR
- Dim myReadVarWord As New OPENcontrol.ReadVarWord
- myReadVarWord.Code = MemType
- myReadVarWord.Index = MemIndex
- myReadVarWord.NumVar = ValueTmp.Length
- myReadVarWordR = OPENws.ReadVarWord(myReadVarWord)
- If O_CheckRetError(myReadVarWordR.retval, myReadVarWordR.ErrClass, myReadVarWordR.ErrNum, String.Format("ReadVarWord({0},{1}) O_RW_DWord CNC.OSAI_OPEN", [Enum].GetName(MemType.GetType, MemType), MemIndex), szReturn) Then
- Throw New NcException(szReturn)
- Return False
- Else
- For i = 0 To Value.Length - 1
- Value(i) = WordsToDWord(myReadVarWordR.Value(i * 2), myReadVarWordR.Value(i * 2 + 1))
- Next
- End If
- End If
-
- Return True
- Catch ex As System.ServiceModel.CommunicationException
- If nRetry < MAXRET Then GoTo Retry
- Throw New NcException(ex.Message)
- Return False
- Catch ex As System.TimeoutException
- Throw New NcException(ex.Message)
- Return False
- End Try
- End Function
-
-
- '''
- ''' Legge o scrive Integer da MEMORIE PLC
- '''
- ''' Se True SCRIVE, se False LEGGE
- ''' Tipo di memoria Osai
- ''' Indice di memoria
- ''' Matrice di valori da scrivere su scrittura o letti su lettura
- ''' True se andata a buon fine
- Public Overloads Overrides Function O_RW_Integer(ByVal bWrite As Boolean, ByVal MemType As MemTypeWord, ByVal MemIndex As Integer, ByRef Value() As Integer) As Boolean
- Dim szReturn As String = ""
- Dim ValueTmp(Value.Length * 2 - 1) As UShort
- Dim nRetry As Integer
-Retry: nRetry += 1
-
- Try
- If bWrite Then ' *** Write
- Dim myWriteVarWordR As OPENcontrol.WriteVarWordR
- Dim myWriteVarWord As New OPENcontrol.WriteVarWord
- myWriteVarWord.Code = MemType
- myWriteVarWord.Index = MemIndex
- myWriteVarWord.NumVar = ValueTmp.Length
- For i = 0 To Value.Length - 1
- ValueTmp(i * 2) = IntegerToWord(Value(i), LOW_ORDER)
- ValueTmp(i * 2 + 1) = IntegerToWord(Value(i), HIGH_ORDER)
- Next
- ReDim myWriteVarWord.Value(ValueTmp.Length - 1)
- Array.Copy(ValueTmp, myWriteVarWord.Value, ValueTmp.Length)
- myWriteVarWordR = OPENws.WriteVarWord(myWriteVarWord)
- If O_CheckRetError(myWriteVarWordR.retval, myWriteVarWordR.ErrClass, myWriteVarWordR.ErrNum, String.Format("WriteVarDWord({0},{1}) O_RW_DWord CNC.OSAI_OPEN", [Enum].GetName(MemType.GetType, MemType), MemIndex), szReturn) Then
- Throw New NcException(szReturn)
- Return False
- End If
-
- Else ' ************* Read
- Dim myReadVarWordR As OPENcontrol.ReadVarWordR
- Dim myReadVarWord As New OPENcontrol.ReadVarWord
- myReadVarWord.Code = MemType
- myReadVarWord.Index = MemIndex
- myReadVarWord.NumVar = ValueTmp.Length
- myReadVarWordR = OPENws.ReadVarWord(myReadVarWord)
- If O_CheckRetError(myReadVarWordR.retval, myReadVarWordR.ErrClass, myReadVarWordR.ErrNum, String.Format("ReadVarDWord({0},{1}) O_RW_DWord CNC.OSAI_OPEN", [Enum].GetName(MemType.GetType, MemType), MemIndex), szReturn) Then
- Throw New NcException(szReturn)
- Return False
- Else
- For i = 0 To Value.Length - 1
- Value(i) = WordsToInteger(myReadVarWordR.Value(i * 2), myReadVarWordR.Value(i * 2 + 1))
- Next
- End If
- End If
-
- Return True
- Catch ex As System.ServiceModel.CommunicationException
- If nRetry < MAXRET Then GoTo Retry
- Throw New NcException(ex.Message)
- Return False
- Catch ex As System.TimeoutException
- Throw New NcException(ex.Message)
- Return False
- End Try
- End Function
-
- '''
- ''' Legge o scrive Double da MEMORIE PLC
- '''
- ''' Se True SCRIVE, se False LEGGE
- ''' Tipo di memoria Osai
- ''' Indice di memoria
- ''' Matrice di valori da scrivere su scrittura o letti su lettura
- ''' True se andata a buon fine
- Public Overloads Overrides Function O_RW_Double(ByVal bWrite As Boolean, ByVal MemType As MemTypeDouble, ByVal MemIndex As Integer, ByRef Value() As Double) As Boolean
- Dim szReturn As String = ""
- Dim nRetry As Integer
-Retry: nRetry += 1
-
- Try
- If bWrite Then ' *** Write
- Dim myWriteVarDoubleR As OPENcontrol.WriteVarDoubleR
- Dim myWriteVarDouble As New OPENcontrol.WriteVarDouble
- myWriteVarDouble.Code = MemType
- myWriteVarDouble.Index = MemIndex
- myWriteVarDouble.NumVar = Value.Length
- ReDim myWriteVarDouble.Value(Value.Length - 1)
- Array.Copy(Value, myWriteVarDouble.Value, Value.Length)
- myWriteVarDoubleR = OPENws.WriteVarDouble(myWriteVarDouble)
- If O_CheckRetError(myWriteVarDoubleR.retval, myWriteVarDoubleR.ErrClass, myWriteVarDoubleR.ErrNum, String.Format("WriteVarDouble({0},{1}) O_RW_Double CNC.OSAI_OPEN", [Enum].GetName(MemType.GetType, MemType), MemIndex), szReturn) Then
- Throw New NcException(szReturn)
- Return False
- End If
-
- Else ' ************* Read
- Dim myReadVarDoubleR As OPENcontrol.ReadVarDoubleR
- Dim myReadVarDouble As New OPENcontrol.ReadVarDouble
- myReadVarDouble.Code = MemType
- myReadVarDouble.Index = MemIndex
- myReadVarDouble.NumVar = Value.Length
- myReadVarDoubleR = OPENws.ReadVarDouble(myReadVarDouble)
- If O_CheckRetError(myReadVarDoubleR.retval, myReadVarDoubleR.ErrClass, myReadVarDoubleR.ErrNum, String.Format("ReadVarDouble({0},{1}) O_RW_Double CNC.OSAI_OPEN", [Enum].GetName(MemType.GetType, MemType), MemIndex), szReturn) Then
- Throw New NcException(szReturn)
- Return False
- End If
- Array.Copy(myReadVarDoubleR.Value, Value, Value.Length)
- End If
-
- Return True
- Catch ex As System.ServiceModel.CommunicationException
- If nRetry < MAXRET Then GoTo Retry
- Throw New NcException(ex.Message)
- Return False
- Catch ex As System.TimeoutException
- Throw New NcException(ex.Message)
- Return False
- End Try
- End Function
-
- '''
- ''' Legge o scrive Stringhe da MEMORIE SC
- '''
- ''' Se True SCRIVE, se False LEGGE
- ''' Indice di memoria
- ''' Lunghezza caratteri
- ''' Stringa da scrivere su scrittura o leggere su lettura
- ''' True se andata a buon fine
- Public Overloads Overrides Function O_RW_Text(ByVal bWrite As Boolean, ByVal MemType As MemTypeText, ByVal MemIndex As Integer, ByVal MemLength As Integer, ByRef Value As String) As Boolean
- Dim szReturn As String = ""
- Dim nRetry As Integer
-Retry: nRetry += 1
-
- Try
- If bWrite Then ' *** Write
- Dim myWriteVarTextR As OPENcontrol.WriteVarTextR
- Dim myWriteVarText As New OPENcontrol.WriteVarText
- myWriteVarText.Code = MemType
- myWriteVarText.Index = MemIndex
- myWriteVarText.Len = MemLength
- myWriteVarText.Text = Value
- myWriteVarText.Process = 1 'serve per le variabili SC
- myWriteVarTextR = OPENws.WriteVarText(myWriteVarText)
- If O_CheckRetError(myWriteVarTextR.retval, myWriteVarTextR.ErrClass, myWriteVarTextR.ErrNum, String.Format("WriteVarText({0},{1}) O_RW_Text CNC.OSAI_OPEN", [Enum].GetName(MemType.GetType, MemType), MemIndex), szReturn) Then
- Throw New NcException(szReturn)
- Return False
- End If
-
- Else ' ************* Read
- Dim myReadVarTextR As OPENcontrol.ReadVarTextR
- Dim myReadVarText As New OPENcontrol.ReadVarText
- myReadVarText.Code = MemType
- myReadVarText.Index = MemIndex
- myReadVarText.Size = MemLength
- myReadVarText.Process = 1 'serve per le variabili SC
- myReadVarTextR = OPENws.ReadVarText(myReadVarText)
- If O_CheckRetError(myReadVarTextR.retval, myReadVarTextR.ErrClass, myReadVarTextR.ErrNum, String.Format("ReadVarText({0},{1}) O_RW_Text CNC.OSAI_OPEN", [Enum].GetName(MemType.GetType, MemType), MemIndex), szReturn) Then
- Throw New NcException(szReturn)
- Return False
- End If
- Value = myReadVarTextR.Text
- End If
- Catch ex As System.ServiceModel.CommunicationException
- If nRetry < MAXRET Then GoTo Retry
- Throw New NcException(ex.Message)
- Return False
- Catch ex As System.TimeoutException
- Throw New NcException(ex.Message)
- Return False
- End Try
-
- Return True
-
- End Function
-
- '''
- ''' Legge o scrive Length and Radius Offset da tabella Utensili CN
- '''
- ''' Se True SCRIVE, se False LEGGE
- ''' Numero dell'offset utensile
- Public Overrides Function O_RW_ToolOffset(ByVal bWrite As Boolean, ByVal ToolOffsetNumber As Integer, ByRef CutterRadius_Wear As Double, ByRef CutterRadius_Geometry As Double, ByRef ToolLenght_Wear As Double, ByRef ToolLenght_Geometry As Double) As Boolean
- Dim szReturn As String = ""
- Dim nRetry As Integer
-Retry: nRetry += 1
-
- Try
- If bWrite Then ' *** Write
- 'leggo il correttore per usarlo come template
- Dim myGetOffsetTabRecordIIR As OPENcontrol.GetOffsetTabRecordIIR
- Dim myGetOffsetTabRecordII As New OPENcontrol.GetOffsetTabRecordII
- myGetOffsetTabRecordII.RecordNum = ToolOffsetNumber
- myGetOffsetTabRecordIIR = OPENws.GetOffsetTabRecordII(myGetOffsetTabRecordII)
- If O_CheckRetError(myGetOffsetTabRecordIIR.retval, myGetOffsetTabRecordIIR.ErrClass, myGetOffsetTabRecordIIR.ErrNum, String.Format("GetOffsetTabRecordII({0}) O_RW_ToolOffset CNC.OSAI_OPEN", ToolOffsetNumber), szReturn) Then
- Throw New NcException(szReturn)
- Return False
- End If
-
- Dim mySetOffsetTabRecordIIR As OPENcontrol.SetOffsetTabRecordIIR
- Dim mySetOffsetTabRecordII As New OPENcontrol.SetOffsetTabRecordII
- mySetOffsetTabRecordII.RecordNum = ToolOffsetNumber
- mySetOffsetTabRecordII.RecordBuff = myGetOffsetTabRecordIIR.RecordBuff
- 'modifico i valori che mi interesssano
- mySetOffsetTabRecordII.RecordBuff.DiaVal(0).ActChangeVal = CutterRadius_Wear
- mySetOffsetTabRecordII.RecordBuff.DiaVal(0).ValOrig = CutterRadius_Geometry
- mySetOffsetTabRecordII.RecordBuff.LenVal(0).ActChangeVal = ToolLenght_Wear
- mySetOffsetTabRecordII.RecordBuff.LenVal(0).ValOrig = ToolLenght_Geometry
-
- 'scrivo il correttore
- mySetOffsetTabRecordIIR = OPENws.SetOffsetTabRecordII(mySetOffsetTabRecordII)
- If O_CheckRetError(mySetOffsetTabRecordIIR.retval, mySetOffsetTabRecordIIR.ErrClass, mySetOffsetTabRecordIIR.ErrNum, String.Format("SetOffsetTabRecordII({0}) O_RW_ToolOffset CNC.OSAI_OPEN", ToolOffsetNumber), szReturn) Then
- Throw New NcException(szReturn)
- Return False
- End If
-
- Else ' ************* Read
- Dim myGetOffsetTabRecordIIR As OPENcontrol.GetOffsetTabRecordIIR
- Dim myGetOffsetTabRecordII As New OPENcontrol.GetOffsetTabRecordII
- myGetOffsetTabRecordII.RecordNum = ToolOffsetNumber
- myGetOffsetTabRecordIIR = OPENws.GetOffsetTabRecordII(myGetOffsetTabRecordII)
- If O_CheckRetError(myGetOffsetTabRecordIIR.retval, myGetOffsetTabRecordIIR.ErrClass, myGetOffsetTabRecordIIR.ErrNum, String.Format("GetOffsetTabRecordII({0}) O_RW_ToolOffset CNC.OSAI_OPEN", ToolOffsetNumber), szReturn) Then
- Throw New NcException(szReturn)
- Return False
- End If
-
- CutterRadius_Wear = myGetOffsetTabRecordIIR.RecordBuff.DiaVal(0).ActChangeVal
- CutterRadius_Geometry = myGetOffsetTabRecordIIR.RecordBuff.DiaVal(0).ValOrig
- ToolLenght_Wear = myGetOffsetTabRecordIIR.RecordBuff.LenVal(0).ActChangeVal
- ToolLenght_Geometry = myGetOffsetTabRecordIIR.RecordBuff.LenVal(0).ValOrig
- End If
- Catch ex As System.ServiceModel.CommunicationException
- If nRetry < MAXRET Then GoTo Retry
- Throw New NcException(ex.Message)
- Return False
- End Try
-
- Return True
-
- End Function
-
- '''
- ''' Blocca l'accesso alla tabella dei correttori
- '''
- ''' =True: Blocca la tabella, =False: Sblocca la tabella
- ''' True se andata a buon fine
- Public Overrides Function O_LockOffsetTable(ByVal Lock As Boolean) As Boolean
- Static bLocked As Boolean
- Dim szReturn As String = ""
- Dim nRetry As Integer
-Retry: nRetry += 1
-
- Try
- If Lock Then
- If Not bLocked Then
- Dim myLockTableIIR As OPENcontrol.LockTableIIR
- Dim myLockTableII As New OPENcontrol.LockTableII
- myLockTableII.TableNum = O_Table.OFFSET_TABLE_ID
- myLockTableIIR = OPENws.LockTableII(myLockTableII)
- If O_CheckRetError(myLockTableIIR.retval, myLockTableIIR.ErrClass, myLockTableIIR.ErrNum, String.Format("LockTableII({0}) O_LockOffsetTable CNC.OSAI_OPEN", myLockTableII.TableNum), szReturn) Then
- 'Throw New NcException(szReturn)
- Return False
- End If
- bLocked = True
- End If
- Else
- Dim myUnLockTableIIR As OPENcontrol.UnLockTableIIR
- Dim myUnLockTableII As New OPENcontrol.UnLockTableII
- myUnLockTableII.TableNum = O_Table.OFFSET_TABLE_ID
- myUnLockTableIIR = OPENws.UnLockTableII(myUnLockTableII)
- If O_CheckRetError(myUnLockTableIIR.retval, myUnLockTableIIR.ErrClass, myUnLockTableIIR.ErrNum, String.Format("UnLockTableII({0}) O_LockOffsetTable CNC.OSAI_OPEN", myUnLockTableII.TableNum), szReturn) Then
- 'Throw New NcException(szReturn)
- Return False
- End If
- bLocked = False
- End If
- Return True
- Catch ex As System.ServiceModel.CommunicationException
- If nRetry < MAXRET Then GoTo Retry
- Throw New NcException(ex.Message)
- Return False
- End Try
- End Function
-
-
- '''
- ''' Legge il numero del processo attivo
- '''
- ''' Valore di ritorno del processo selezionato
- ''' True se andata a buon fine
- Public Overloads Overrides Function O_GetSelectedProcess(ByRef ProcessId As Short) As Boolean
- Dim szReturn As String = ""
- Dim myGetSelectedProcessR As OPENcontrol.GetSelectedProcessR
- Dim myGetSelectedProcess As New OPENcontrol.GetSelectedProcess
- Dim nRetry As Integer
-Retry: nRetry += 1
-
- Try
- myGetSelectedProcessR = OPENws.GetSelectedProcess(myGetSelectedProcess)
- If O_CheckRetError(myGetSelectedProcessR.retval, myGetSelectedProcessR.ErrClass, myGetSelectedProcessR.ErrNum, "GetSelectedProcess() O_GetSelectedProcess CNC.OSAI_OPEN", szReturn) Then
- Throw New NcException(szReturn)
- Return False
- End If
-
- ProcessId = UnsignedToShort(myGetSelectedProcessR.ProcNum)
- Return True
- Catch ex As System.ServiceModel.CommunicationException
- If nRetry < MAXRET Then GoTo Retry
- Throw New NcException(ex.Message)
- Return False
- End Try
- End Function
-
- '''
- ''' Legge la riga del programma attivo
- '''
- ''' Riga in esecuzione del programma attivo
- ''' True se andata a buon fine
- Public Overloads Overrides Function O_GetActiveLineProgram(ByRef Line As String) As Boolean
- Dim szReturn As String = ""
- Dim myGetPartProgramLinesR As OPENcontrol.GetPartProgramLinesR
- Dim myGetPartProgramLines As New OPENcontrol.GetPartProgramLines
- Dim ProcessId As Short
- Dim nRetry As Integer
-Retry: nRetry += 1
-
- Try
- O_GetSelectedProcess(ProcessId)
-
- myGetPartProgramLines.ProcNum = ProcessId
- myGetPartProgramLinesR = OPENws.GetPartProgramLines(myGetPartProgramLines)
- If O_CheckRetError(myGetPartProgramLinesR.retval, myGetPartProgramLinesR.ErrClass, myGetPartProgramLinesR.ErrNum, "GetPartProgramLines() O_GetActiveLineProgram CNC.OSAI_OPEN", szReturn) Then
- Throw New NcException(szReturn)
- Return False
- End If
-
- Line = myGetPartProgramLinesR.PPLine2
- Return True
- Catch ex As System.ServiceModel.CommunicationException
- If nRetry < MAXRET Then GoTo Retry
- Throw New NcException(ex.Message)
- Return False
- End Try
- End Function
-
-
- '''
- ''' Legge la tabella assi
- '''
- ''' Processo selezionato
- ''' Valore di ritorno Assi del processo selezionato
- ''' True se andata a buon fine
- Public Overloads Overrides Function O_GetAxisTab(ByVal ProcessId As Short, ByRef AxisTable() As Char, ByRef AxisIdTable() As Short) As Boolean
- Dim szReturn As String = ""
- Dim i, j As Integer
- Dim myGetAxesInfo3R As OPENcontrol.GetAxesInfo3R
- Dim myGetAxesInfo3 As New OPENcontrol.GetAxesInfo3
- Dim nRetry As Integer
-Retry: nRetry += 1
-
- Try
- myGetAxesInfo3.AxesNum = 64
- myGetAxesInfo3R = OPENws.GetAxesInfo3(myGetAxesInfo3)
- If O_CheckRetError(myGetAxesInfo3R.retval, myGetAxesInfo3R.ErrClass, myGetAxesInfo3R.ErrNum, "GetAxesInfo3() O_RW_Word CNC.OSAI_OPEN", szReturn) Then
- Throw New NcException(szReturn)
- Return False
- End If
-
- For i = 0 To 63
- If myGetAxesInfo3R.AxOwnerList(i) = ProcessId Then
- If (myGetAxesInfo3R.AxNameList(i) < Asc("a") Or myGetAxesInfo3R.AxNameList(i) > Asc("z")) And myGetAxesInfo3R.AxNameList(i) <> Asc("S") Then
- AxisTable(j) = Chr(myGetAxesInfo3R.AxNameList(i))
- AxisIdTable(j) = i + 1
- j += 1
- End If
- 'ElseIf myGetAxesInfo3R.AxOwnerList(i) = &HFFFF& Then 'Non esco perchè gli assi potrebbero non essere in fila
- ' Exit For
- End If
- Next i
-
- Return True
- Catch ex As System.ServiceModel.CommunicationException
- If nRetry < MAXRET Then GoTo Retry
- Throw New NcException(ex.Message)
- Return False
- End Try
- End Function
+ Return True
+ Catch ex As System.ServiceModel.CommunicationException
+ If nRetry < MAXRET Then GoTo Retry
+ Throw New NcException(ex.Message)
+ Return False
+ End Try
+ End Function
#Region "Funzioni specifiche IOT"
- Public Overloads Overrides Function O_GetNcInfo1(ByRef NcInfo As OPENcontrol.GETINFO1DATA) As Boolean
- ' RIFERIMENTO:
- ' CndexLinkUser.pdf | pag 148, 266
+ Public Overloads Overrides Function O_GetNcInfo1(ByRef NcInfo As OPENcontrol.GETINFO1DATA) As Boolean
+ ' RIFERIMENTO:
+ ' CndexLinkUser.pdf | pag 148, 266
- Dim szReturn As String = ""
- Dim myGetNcInfo1R As OPENcontrol.GetNcInfo1R
- Dim myGetNcInfo1 As New OPENcontrol.GetNcInfo1
- Dim ProcessId As Short
- Dim nRetry As Integer
-Retry: nRetry += 1
+ Dim szReturn As String = ""
+ Dim myGetNcInfo1R As OPENcontrol.GetNcInfo1R
+ Dim myGetNcInfo1 As New OPENcontrol.GetNcInfo1
+ Dim ProcessId As Short
+ Dim nRetry As Integer
+Retry: nRetry += 1
- Try
- O_GetSelectedProcess(ProcessId)
+ Try
+ O_GetSelectedProcess(ProcessId)
- myGetNcInfo1.ProcNum = ProcessId
- myGetNcInfo1R = OPENws.GetNcInfo1(myGetNcInfo1)
- If O_CheckRetError(myGetNcInfo1R.retval, myGetNcInfo1R.ErrClass, myGetNcInfo1R.ErrNum, "GetNcInfo1() O_GetNcInfo1 CNC.OSAI_OPEN", szReturn) Then
- Throw New NcException(szReturn)
- Return False
- End If
+ myGetNcInfo1.ProcNum = ProcessId
+ myGetNcInfo1R = OPENws.GetNcInfo1(myGetNcInfo1)
+ If O_CheckRetError(myGetNcInfo1R.retval, myGetNcInfo1R.ErrClass, myGetNcInfo1R.ErrNum, "GetNcInfo1() O_GetNcInfo1 CNC.OSAI_OPEN", szReturn) Then
+ Throw New NcException(szReturn)
+ Return False
+ End If
- NcInfo = myGetNcInfo1R.GetInfo
- Return True
- Catch ex As System.ServiceModel.CommunicationException
- If nRetry < MAXRET Then GoTo Retry
- Throw New NcException(ex.Message)
- Return False
- End Try
+ NcInfo = myGetNcInfo1R.GetInfo
+ Return True
+ Catch ex As System.ServiceModel.CommunicationException
+ If nRetry < MAXRET Then GoTo Retry
+ Throw New NcException(ex.Message)
+ Return False
+ End Try
- End Function
+ End Function
- Public Overloads Overrides Function O_ReadCurrentErrorMsg(ByRef CurrMsgError As OPENcontrol.MSGERROR) As Boolean
- ' RIFERIMENTO:
- ' CndexLinkUser.pdf | pag 162, 270
+ Public Overloads Overrides Function O_ReadCurrentErrorMsg(ByRef CurrMsgError As OPENcontrol.MSGERROR) As Boolean
+ ' RIFERIMENTO:
+ ' CndexLinkUser.pdf | pag 162, 270
- Dim szReturn As String = ""
- Dim myReadCurrentErrorMsgR As OPENcontrol.ReadCurrentErrorMsgR
- Dim myReadCurrentErrorMsg As New OPENcontrol.ReadCurrentErrorMsg
- Dim ProcessId As Short
- Dim nRetry As Integer
-Retry: nRetry += 1
+ Dim szReturn As String = ""
+ Dim myReadCurrentErrorMsgR As OPENcontrol.ReadCurrentErrorMsgR
+ Dim myReadCurrentErrorMsg As New OPENcontrol.ReadCurrentErrorMsg
+ Dim ProcessId As Short
+ Dim nRetry As Integer
+Retry: nRetry += 1
- Try
- O_GetSelectedProcess(ProcessId)
+ Try
+ O_GetSelectedProcess(ProcessId)
- myReadCurrentErrorMsg.Process = ProcessId
- myReadCurrentErrorMsgR = OPENws.ReadCurrentErrorMsg(myReadCurrentErrorMsg)
- If O_CheckRetError(myReadCurrentErrorMsgR.retval, myReadCurrentErrorMsgR.ErrClass, myReadCurrentErrorMsgR.ErrNum, "ReadCurrentErrorMsg() O_ReadCurrentErrorMsg CNC.OSAI_OPEN", szReturn) Then
- Throw New NcException(szReturn)
- Return False
- End If
+ myReadCurrentErrorMsg.Process = ProcessId
+ myReadCurrentErrorMsgR = OPENws.ReadCurrentErrorMsg(myReadCurrentErrorMsg)
+ If O_CheckRetError(myReadCurrentErrorMsgR.retval, myReadCurrentErrorMsgR.ErrClass, myReadCurrentErrorMsgR.ErrNum, "ReadCurrentErrorMsg() O_ReadCurrentErrorMsg CNC.OSAI_OPEN", szReturn) Then
+ Throw New NcException(szReturn)
+ Return False
+ End If
- CurrMsgError = myReadCurrentErrorMsgR.Data
- Return True
- Catch ex As System.ServiceModel.CommunicationException
- If nRetry < MAXRET Then GoTo Retry
- Throw New NcException(ex.Message)
- Return False
- End Try
+ CurrMsgError = myReadCurrentErrorMsgR.Data
+ Return True
+ Catch ex As System.ServiceModel.CommunicationException
+ If nRetry < MAXRET Then GoTo Retry
+ Throw New NcException(ex.Message)
+ Return False
+ End Try
- End Function
- Public Overloads Overrides Function O_ReadCurrentEmergMsg(ByRef CurrMsgEmerg As OPENcontrol.MSGEMERGENCY) As Boolean
- ' RIFERIMENTO:
- ' CndexLinkUser.pdf | pag 163, 271
+ End Function
+ Public Overloads Overrides Function O_ReadCurrentEmergMsg(ByRef CurrMsgEmerg As OPENcontrol.MSGEMERGENCY) As Boolean
+ ' RIFERIMENTO:
+ ' CndexLinkUser.pdf | pag 163, 271
- Dim szReturn As String = ""
- Dim myReadCurrentEmergMsgR As OPENcontrol.ReadCurrentEmergMsgR
- Dim myReadCurrentEmergMsg As New OPENcontrol.ReadCurrentEmergMsg
- Dim ProcessId As Short
- Dim nRetry As Integer
-Retry: nRetry += 1
+ Dim szReturn As String = ""
+ Dim myReadCurrentEmergMsgR As OPENcontrol.ReadCurrentEmergMsgR
+ Dim myReadCurrentEmergMsg As New OPENcontrol.ReadCurrentEmergMsg
+ Dim ProcessId As Short
+ Dim nRetry As Integer
+Retry: nRetry += 1
- Try
- O_GetSelectedProcess(ProcessId)
+ Try
+ O_GetSelectedProcess(ProcessId)
- myReadCurrentEmergMsg.Process = ProcessId
- myReadCurrentEmergMsgR = OPENws.ReadCurrentEmergMsg(myReadCurrentEmergMsg)
- If O_CheckRetError(myReadCurrentEmergMsgR.retval, myReadCurrentEmergMsgR.ErrClass, myReadCurrentEmergMsgR.ErrNum, "ReadCurrentEmergMsg() O_ReadCurrentEmergMsg CNC.OSAI_OPEN", szReturn) Then
- Throw New NcException(szReturn)
- Return False
- End If
+ myReadCurrentEmergMsg.Process = ProcessId
+ myReadCurrentEmergMsgR = OPENws.ReadCurrentEmergMsg(myReadCurrentEmergMsg)
+ If O_CheckRetError(myReadCurrentEmergMsgR.retval, myReadCurrentEmergMsgR.ErrClass, myReadCurrentEmergMsgR.ErrNum, "ReadCurrentEmergMsg() O_ReadCurrentEmergMsg CNC.OSAI_OPEN", szReturn) Then
+ Throw New NcException(szReturn)
+ Return False
+ End If
- CurrMsgEmerg = myReadCurrentEmergMsgR.Data
- Return True
- Catch ex As System.ServiceModel.CommunicationException
- If nRetry < MAXRET Then GoTo Retry
- Throw New NcException(ex.Message)
- Return False
- End Try
+ CurrMsgEmerg = myReadCurrentEmergMsgR.Data
+ Return True
+ Catch ex As System.ServiceModel.CommunicationException
+ If nRetry < MAXRET Then GoTo Retry
+ Throw New NcException(ex.Message)
+ Return False
+ End Try
- End Function
- Public Overloads Overrides Function O_ReadCurrentAnomalyMsg(ByRef CurrMsgAnomaly As OPENcontrol.MSGANOMALY) As Boolean
- ' RIFERIMENTO:
- ' CndexLinkUser.pdf | pag 164, 271
+ End Function
+ Public Overloads Overrides Function O_ReadCurrentAnomalyMsg(ByRef CurrMsgAnomaly As OPENcontrol.MSGANOMALY) As Boolean
+ ' RIFERIMENTO:
+ ' CndexLinkUser.pdf | pag 164, 271
- Dim szReturn As String = ""
- Dim myReadCurrentAnomalyMsgR As OPENcontrol.ReadCurrentAnomalyMsgR
- Dim myReadCurrentAnomalyMsg As New OPENcontrol.ReadCurrentAnomalyMsg
- Dim ProcessId As Short
- Dim nRetry As Integer
-Retry: nRetry += 1
+ Dim szReturn As String = ""
+ Dim myReadCurrentAnomalyMsgR As OPENcontrol.ReadCurrentAnomalyMsgR
+ Dim myReadCurrentAnomalyMsg As New OPENcontrol.ReadCurrentAnomalyMsg
+ Dim ProcessId As Short
+ Dim nRetry As Integer
+Retry: nRetry += 1
- Try
- O_GetSelectedProcess(ProcessId)
+ Try
+ O_GetSelectedProcess(ProcessId)
- myReadCurrentAnomalyMsgR = OPENws.ReadCurrentAnomalyMsg(myReadCurrentAnomalyMsg)
- If O_CheckRetError(myReadCurrentAnomalyMsgR.retval, myReadCurrentAnomalyMsgR.ErrClass, myReadCurrentAnomalyMsgR.ErrNum, "ReadCurrentAnomalyMsg() O_ReadCurrentAnomalyMsg CNC.OSAI_OPEN", szReturn) Then
- Throw New NcException(szReturn)
- Return False
- End If
+ myReadCurrentAnomalyMsgR = OPENws.ReadCurrentAnomalyMsg(myReadCurrentAnomalyMsg)
+ If O_CheckRetError(myReadCurrentAnomalyMsgR.retval, myReadCurrentAnomalyMsgR.ErrClass, myReadCurrentAnomalyMsgR.ErrNum, "ReadCurrentAnomalyMsg() O_ReadCurrentAnomalyMsg CNC.OSAI_OPEN", szReturn) Then
+ Throw New NcException(szReturn)
+ Return False
+ End If
- CurrMsgAnomaly = myReadCurrentAnomalyMsgR.Data
- Return True
- Catch ex As System.ServiceModel.CommunicationException
- If nRetry < MAXRET Then GoTo Retry
- Throw New NcException(ex.Message)
- Return False
- End Try
+ CurrMsgAnomaly = myReadCurrentAnomalyMsgR.Data
+ Return True
+ Catch ex As System.ServiceModel.CommunicationException
+ If nRetry < MAXRET Then GoTo Retry
+ Throw New NcException(ex.Message)
+ Return False
+ End Try
- End Function
- Public Overloads Overrides Function getAllAxisPos(tipoPos As Int16, ByRef AxisPos As OPENcontrol.GETINTDATA()) As Boolean
- ' RIFERIMENTO:
- ' CndexLinkUser.pdf | pag 146, 266
+ End Function
+ Public Overloads Overrides Function getAllAxisPos(tipoPos As Int16, ByRef AxisPos As OPENcontrol.GETINTDATA()) As Boolean
+ ' RIFERIMENTO:
+ ' CndexLinkUser.pdf | pag 146, 266
- Dim szReturn As String = ""
- Dim myGetAxesPositionR As OPENcontrol.GetAxesPositionR
- Dim myGetAxesPosition As New OPENcontrol.GetAxesPosition
- Dim ProcessId As Short
- Dim nRetry As Integer
-Retry: nRetry += 1
+ Dim szReturn As String = ""
+ Dim myGetAxesPositionR As OPENcontrol.GetAxesPositionR
+ Dim myGetAxesPosition As New OPENcontrol.GetAxesPosition
+ Dim ProcessId As Short
+ Dim nRetry As Integer
+Retry: nRetry += 1
- Try
- O_GetSelectedProcess(ProcessId)
- myGetAxesPosition.ProcNum = ProcessId
- myGetAxesPosition.AxisName = "0"
- myGetAxesPosition.NumAxis = AxisPos.Length
- myGetAxesPosition.Select = tipoPos
+ Try
+ O_GetSelectedProcess(ProcessId)
+ myGetAxesPosition.ProcNum = ProcessId
+ myGetAxesPosition.AxisName = "0"
+ myGetAxesPosition.NumAxis = AxisPos.Length
+ myGetAxesPosition.Select = tipoPos
- myGetAxesPositionR = OPENws.GetAxesPosition(myGetAxesPosition)
- If O_CheckRetError(myGetAxesPositionR.retval, myGetAxesPositionR.ErrClass, myGetAxesPositionR.ErrNum, "GetAxesPosition() getAllAxisPos CNC.OSAI_OPEN", szReturn) Then
- Throw New NcException(szReturn)
- Return False
- End If
+ myGetAxesPositionR = OPENws.GetAxesPosition(myGetAxesPosition)
+ If O_CheckRetError(myGetAxesPositionR.retval, myGetAxesPositionR.ErrClass, myGetAxesPositionR.ErrNum, "GetAxesPosition() getAllAxisPos CNC.OSAI_OPEN", szReturn) Then
+ Throw New NcException(szReturn)
+ Return False
+ End If
- AxisPos = myGetAxesPositionR.IntPos
- Return True
- Catch ex As System.ServiceModel.CommunicationException
- If nRetry < MAXRET Then GoTo Retry
- Throw New NcException(ex.Message)
- Return False
- End Try
+ AxisPos = myGetAxesPositionR.IntPos
+ Return True
+ Catch ex As System.ServiceModel.CommunicationException
+ If nRetry < MAXRET Then GoTo Retry
+ Throw New NcException(ex.Message)
+ Return False
+ End Try
- End Function
- Public Overloads Overrides Function getPathGCodeMod(Processo As Int32, ByRef GCodeCurr As UShort()) As Boolean
- ' RIFERIMENTO:
- ' CndexLinkUser.pdf | pag 165
+ End Function
+ Public Overloads Overrides Function getPathGCodeMod(Processo As Int32, ByRef GCodeCurr As UShort()) As Boolean
+ ' RIFERIMENTO:
+ ' CndexLinkUser.pdf | pag 165
- Dim szReturn As String = ""
- Dim myGetGCodeR As OPENcontrol.GetGCodeR
- Dim myGetGCode As New OPENcontrol.GetGCode
- Dim ProcessId As UShort
- Dim nRetry As Integer
-Retry: nRetry += 1
+ Dim szReturn As String = ""
+ Dim myGetGCodeR As OPENcontrol.GetGCodeR
+ Dim myGetGCode As New OPENcontrol.GetGCode
+ Dim ProcessId As UShort
+ Dim nRetry As Integer
+Retry: nRetry += 1
- Try
- O_GetSelectedProcess(ProcessId)
- 'myGetGCode.ProcNum = ProcessId
- myGetGCode.ProcNum = Processo
+ Try
+ O_GetSelectedProcess(ProcessId)
+ 'myGetGCode.ProcNum = ProcessId
+ myGetGCode.ProcNum = Processo
- myGetGCodeR = OPENws.GetGCode(myGetGCode)
- If O_CheckRetError(myGetGCodeR.retval, myGetGCodeR.ErrClass, myGetGCodeR.ErrNum, "ReadCurrentGCodes() O_ReadCurrentGCodes CNC.OSAI_OPEN", szReturn) Then
- Throw New NcException(szReturn)
- Return False
- End If
+ myGetGCodeR = OPENws.GetGCode(myGetGCode)
+ If O_CheckRetError(myGetGCodeR.retval, myGetGCodeR.ErrClass, myGetGCodeR.ErrNum, "ReadCurrentGCodes() O_ReadCurrentGCodes CNC.OSAI_OPEN", szReturn) Then
+ Throw New NcException(szReturn)
+ Return False
+ End If
- GCodeCurr = myGetGCodeR.GCode
+ GCodeCurr = myGetGCodeR.GCode
- Return True
- Catch ex As System.ServiceModel.CommunicationException
- If nRetry < MAXRET Then GoTo Retry
- Throw New NcException(ex.Message)
- Return False
- End Try
+ Return True
+ Catch ex As System.ServiceModel.CommunicationException
+ If nRetry < MAXRET Then GoTo Retry
+ Throw New NcException(ex.Message)
+ Return False
+ End Try
- End Function
+ End Function
#If False Then
@@ -1149,6 +1149,6 @@ Retry: nRetry += 1
#End Region
- End Class
+ End Class
End Namespace