From a8a647ff315fad4b848652ca3388170d3d0799ad Mon Sep 17 00:00:00 2001 From: "Samuele E. Locatelli" Date: Fri, 23 Nov 2018 17:45:34 +0100 Subject: [PATCH] v307: ora non da + errore OSAI_OPEN alla ripartenza --- CVCncLib/Modules/ComCnOsaiOpen_Series.vb | 2066 +++++++++++----------- CVCncLib/testSam.dll | Bin 967680 -> 967680 bytes Jenkinsfile | 2 +- 3 files changed, 1034 insertions(+), 1034 deletions(-) diff --git a/CVCncLib/Modules/ComCnOsaiOpen_Series.vb b/CVCncLib/Modules/ComCnOsaiOpen_Series.vb index 845b75c8..85c455c4 100644 --- a/CVCncLib/Modules/ComCnOsaiOpen_Series.vb +++ b/CVCncLib/Modules/ComCnOsaiOpen_Series.vb @@ -13,24 +13,24 @@ Imports System.Diagnostics Imports System.Runtime.InteropServices Public Class Open_Series - Inherits ComCNOsai + Inherits ComCNOsai - Dim OsaiServer As OpenControl.OPENcontrolPortTypeClient + Dim OsaiServer As OpenControl.OPENcontrolPortTypeClient - Public Const L_CODE As Integer = 145 + Public Const L_CODE As Integer = 145 - Private Const NO_ERROR As UShort = 1 + Private Const NO_ERROR As UShort = 1 - Private PhaseCN As Integer - Private ProcessCN As Integer + Private PhaseCN As Integer + Private ProcessCN As Integer #Region "COSTRUTTORE" - Public Sub New(ByVal szAddress As String, ByVal bIsDebug As Boolean, Optional ByVal sVersion As Short = 2) + Public Sub New(ByVal szAddress As String, ByVal bIsDebug As Boolean, Optional ByVal sVersion As Short = 2) - MyBase.New(szAddress, bIsDebug, sVersion) + MyBase.New(szAddress, bIsDebug, sVersion) - End Sub + End Sub #End Region @@ -40,738 +40,738 @@ Public Class Open_Series #Region "METODI - Open/close connection" - ' ------------------------------ - ' Apertura sessione con CN Osai - ' ------------------------------ - ' Public Overrides Function OpenSession(ByVal szNomeCn As String) As ULong - Public Overrides Function OpenSession() As Boolean + ' ------------------------------ + ' Apertura sessione con CN Osai + ' ------------------------------ + ' Public Overrides Function OpenSession(ByVal szNomeCn As String) As ULong + Public Overrides Function OpenSession() As Boolean - Connected = False + Connected = False - OsaiServer = New OpenControl.OPENcontrolPortTypeClient("OPENcontrol", "http://" & NomeCn & ":8080") + OsaiServer = New OpenControl.OPENcontrolPortTypeClient("OPENcontrol", "http://" & NomeCn & ":8080") - If OsaiServer.State = ServiceModel.CommunicationState.Created Then - Try - O_BootPhaseEnquiry(PhaseCN, ErrClass, ErrNum) + If OsaiServer.State = ServiceModel.CommunicationState.Created Then + Try + O_BootPhaseEnquiry(PhaseCN, ErrClass, ErrNum) - Catch ex As Exception - MsgBox("Controllo non connesso !!!" & vbCrLf & ex.Message) '!!!!!!!!!!!!!!!!!!!!!!!!!! - Me.ErrMsg = "Open NC not connected !!!" & vbCrLf & ex.Message - End Try - ' Lettura processo CN - If PhaseCN = SYSTEM_UP_PHASE Then - Connected = True - Else - MsgBox("Boot phase " & ErrNum) - Me.ErrMsg = "Open NC Boot phase error : " & ErrNum - End If + Catch ex As Exception + 'MsgBox("Controllo non connesso !!!" & vbCrLf & ex.Message) '!!!!!!!!!!!!!!!!!!!!!!!!!! + 'Me.ErrMsg = "Open NC not connected !!!" & vbCrLf & ex.Message + End Try + ' Lettura processo CN + If PhaseCN = SYSTEM_UP_PHASE Then + Connected = True + Else + 'MsgBox("Boot phase " & ErrNum) + 'Me.ErrMsg = "Open NC Boot phase error : " & ErrNum + End If - End If + End If - Return Connected + Return Connected - End Function + End Function - Private Function O_BootPhaseEnquiry(ByRef Phase As Integer, ByRef nErrClass As UShort, ByRef nErrNum As UShort) As Integer - Dim oBootPhaseInquiry As New OpenControl.BootPhaseEnquiry - Dim retBootPhaseInquiry As OpenControl.BootPhaseEnquiryR + Private Function O_BootPhaseEnquiry(ByRef Phase As Integer, ByRef nErrClass As UShort, ByRef nErrNum As UShort) As Integer + Dim oBootPhaseInquiry As New OpenControl.BootPhaseEnquiry + Dim retBootPhaseInquiry As OpenControl.BootPhaseEnquiryR - retBootPhaseInquiry = OsaiServer.BootPhaseEnquiry(oBootPhaseInquiry) + retBootPhaseInquiry = OsaiServer.BootPhaseEnquiry(oBootPhaseInquiry) - nErrClass = retBootPhaseInquiry.ErrClass - nErrNum = retBootPhaseInquiry.ErrNum - Phase = retBootPhaseInquiry.Phase + nErrClass = retBootPhaseInquiry.ErrClass + nErrNum = retBootPhaseInquiry.ErrNum + Phase = retBootPhaseInquiry.Phase - O_BootPhaseEnquiry = retBootPhaseInquiry.retval + O_BootPhaseEnquiry = retBootPhaseInquiry.retval - End Function + End Function - Public Overrides Function CloseSession() As Boolean + Public Overrides Function CloseSession() As Boolean - Try + Try - OsaiServer.Close() + OsaiServer.Close() - Catch ex As Exception + Catch ex As Exception - End Try + End Try - End Function + End Function #End Region #Region "METODI - Lettura/scrittura variabili CN" - '------------------------------ - ' Lettura / scittura variabili SC su Cn - '------------------------------ - Public Overrides Function ReadSCVar(ByVal nIndex As Integer, ByVal nNumChar As Integer, Optional ByVal nProcess As Integer = 1) As String - - Dim InputStruct As New OpenControl.ReadVarText - Dim RetVal As OpenControl.ReadVarTextR - - If (Not (Debug)) Then ' se macchina collegata e non in debug - - InputStruct.Code = CndexLinkDotNet.Cndex.SC_CODE ' 50 - InputStruct.Index = nIndex - InputStruct.Size = nNumChar - InputStruct.Process = nProcess - - RetVal = OsaiServer.ReadVarText(InputStruct) - If (RetVal.retval > 0) Then - Return RetVal.Text - Else - ErrClass = RetVal.ErrClass - ErrNum = RetVal.ErrNum - ErrMsg = "Error on reading string variable " & InputStruct.Index.ToString & vbCrLf & what_happened() - Return "?????????????????????" - End If - ' se sono in debug - Else - Return "OK" - End If ' Endif gestione macchina collegata - - End Function - - Public Overrides Function WriteSCVar(ByVal nIndex As Integer, ByVal nNumChar As Integer, ByVal szText As String, Optional ByVal nProcess As Integer = 1) As Boolean - - Dim InputStruct As New OpenControl.WriteVarText - Dim RetVal As OpenControl.WriteVarTextR - - - If (Not (Debug)) Then ' se macchina collegata e non in debug - - InputStruct.Code = CndexLinkDotNet.Cndex.SC_CODE ' 50 - InputStruct.Index = nIndex - InputStruct.Len = nNumChar - InputStruct.Process = nProcess - InputStruct.Text = szText - - RetVal = OsaiServer.WriteVarText(InputStruct) - - If (RetVal.retval > 0) Then - Return True - Else - ErrClass = RetVal.ErrClass - ErrNum = RetVal.ErrNum - ErrMsg = "Error on writing SC variable " & InputStruct.Index.ToString & vbCrLf & what_happened() - Return False - End If - ' se sono in debug - Else - Return True - End If ' Endif gestione macchina collegata - - End Function - - '------------------------------ - ' Lettura variabile Bool su Cn - '------------------------------ - Public Overrides Function ReadBoolVar(ByVal szVar As stVAR, Optional ByVal nProcess As Integer = 1) As Short - Dim InputStruct As New OpenControl.ReadVarWord - Dim RetVal As OpenControl.ReadVarWordR - Dim nValues(0) As Short ' Array (lo vuole la libreria Osai) che conterrà il valore letto - - InputStruct.NumVar = 1 - InputStruct.Process = nProcess - InputStruct.Code = CndexLinkDotNet.Cndex.GW_CODE ' 21 - InputStruct.Index = szVar.nAddress - - RetVal = OsaiServer.ReadVarWord(InputStruct) - If (RetVal.retval > 0) Then - nValues(0) = RetVal.Value(0) - If ((nValues(0) And (2 ^ szVar.nBit)) <> 0) Then ' Maschera per controllare solo il bit che mi interessa - nValues(0) = 1 - Else - nValues(0) = 0 - End If - - ' return con il valore letto - Return nValues(0) - - Else - ErrClass = RetVal.ErrClass - ErrNum = RetVal.ErrNum - ErrMsg = "Error on reading G bool variable " & InputStruct.Index.ToString & vbCrLf & what_happened() - Return CShort(ERRORVALUE) ' In uscita setto variabile a ERRORVALUE errore - - End If - - End Function - - '------------------------------ - ' Lettura variabile G Short su Cn - '------------------------------ - Public Overrides Function ReadShortVar(ByVal szVar As stVAR, Optional ByVal nProcess As Integer = 1) As Short - Dim nValue(0) As Short - - Dim nNumVar As UShort = 1 - Dim nIndex As UShort = 1 - Dim sValue() As UShort = {} - Dim InputStruct As New OpenControl.ReadVarWord - Dim RetVal As OpenControl.ReadVarWordR - - InputStruct.Code = CndexLinkDotNet.Cndex.GW_CODE ' 21 - InputStruct.Index = szVar.nAddress - InputStruct.NumVar = 1 - InputStruct.Process = nProcess - - Try - - RetVal = OsaiServer.ReadVarWord(InputStruct) - If (RetVal.retval > 0) Then - Return UShortToShort(RetVal.Value(0)) - Else - ErrClass = RetVal.ErrClass - ErrNum = RetVal.ErrNum - ErrMsg = "Error on reading short variable " & InputStruct.Index.ToString & vbCrLf & what_happened() - Return CShort(ERRORVALUE) ' In uscita setto variabile a ERRORVALUE errore - End If - Catch ex As Exception - - Me.ErrMsg = ex.Message - Return CShort(CRASHVALUE) ' In uscita setto variabile a CRASHVALUE errore - - End Try - - End Function - - '------------------------------ - ' Lettura variabile G Double su Cn - '------------------------------ - Public Overrides Function ReadDoubleVar(ByVal szVar As stVAR, Optional ByVal nProcess As Integer = 1) As Double - 'Dim nValue(0) As Short - - Dim nNumVar As UShort = 1 - Dim nIndex As UShort = 1 - Dim dResult As Double = 0.0 - Dim InputStruct As New OpenControl.ReadVarDouble - Dim RetVal As OpenControl.ReadVarDoubleR - - InputStruct.Code = CndexLinkDotNet.Cndex.GD_CODE ' 41 - InputStruct.Index = szVar.nAddress - InputStruct.NumVar = 1 - InputStruct.Process = nProcess - - RetVal = OsaiServer.ReadVarDouble(InputStruct) - If (RetVal.retval > 0) Then - dResult = RetVal.Value(0) - Return dResult - Else - ErrClass = RetVal.ErrClass - ErrNum = RetVal.ErrNum - ErrMsg = "Error on reading G double variable " & InputStruct.Index.ToString & vbCrLf & what_happened() - Return CShort(ERRORVALUE) ' In uscita setto variabile a ERRORVALUE errore - End If - - End Function - - '------------------------------ - ' Lettura variabile E ( double ) su Cn - '------------------------------ - Public Overrides Function ReadVarE(ByVal szVar As stVAR, Optional ByVal nProcess As Integer = 1) As Double - - Dim nValue(0) As Short - Dim nNumVar As UShort = 1 - Dim InputStruct As New OpenControl.ReadVarDouble - Dim RetVal As OpenControl.ReadVarDoubleR - - InputStruct.Code = CndexLinkDotNet.Cndex.E_CODE ' 46 - - InputStruct.Index = szVar.nAddress - InputStruct.NumVar = 1 - InputStruct.Process = nProcess - - RetVal = OsaiServer.ReadVarDouble(InputStruct) - If (RetVal.retval > 0) Then - Return RetVal.Value(0) - Else - ErrClass = RetVal.ErrClass - ErrNum = RetVal.ErrNum - ErrMsg = "Error on reading E variable " & InputStruct.Index.ToString & vbCrLf & what_happened() - Return CDbl(ERRORVALUE) ' In uscita setto variabile a ERRORVALUE errore - End If - - End Function - - '------------------------------ - ' Lettura variabile L ( double ) su Cn - '------------------------------ - Public Overrides Function ReadVarL(ByVal szVar As stVAR, Optional ByVal nProcess As Integer = 1) As Double - - Dim nValue(0) As Short - Dim nNumVar As UShort = 1 - Dim InputStruct As New OpenControl.ReadVarDouble - Dim RetVal As OpenControl.ReadVarDoubleR - - InputStruct.Code = L_CODE ' 145 - - InputStruct.Index = szVar.nAddress - InputStruct.NumVar = 1 - InputStruct.Process = nProcess - - RetVal = OsaiServer.ReadVarDouble(InputStruct) - If (RetVal.retval > 0) Then - Return RetVal.Value(0) - - Else - ErrClass = RetVal.ErrClass - ErrNum = RetVal.ErrNum - ErrMsg = "Error on reading L variable " & InputStruct.Index.ToString & vbCrLf & what_happened() - Return CDbl(ERRORVALUE) ' In uscita setto variabile a ERRORVALUE errore - End If - - End Function - - '------------------------------ - ' Lettura variabile MW su Cn - '------------------------------ - Public Overrides Function ReadVarMW(ByVal szVar As stVAR, Optional ByVal nProcess As Integer = 1) As UShort - - Dim nNumVar As UShort = 1 - Dim InputStruct As New OpenControl.ReadVarWord - Dim RetVal As OpenControl.ReadVarWordR - - InputStruct.Code = CndexLinkDotNet.Cndex.MW_CODE ' 20 - InputStruct.Index = szVar.nAddress - InputStruct.NumVar = 1 - InputStruct.Process = nProcess - - RetVal = OsaiServer.ReadVarWord(InputStruct) - If (RetVal.retval > 0) Then - - Return (RetVal.Value(0)) - Else - ErrClass = RetVal.ErrClass - ErrNum = RetVal.ErrNum - ErrMsg = "Error on reading MW variable " & InputStruct.Index.ToString & vbCrLf & what_happened() - - Return CUShort(-ERRORVALUE) ' In uscita setto variabile a ERRORVALUE errore - End If - - End Function - - ' ------------------------------- - ' Scrittura variabile bool su Cn - '--------------------------------- - Public Overrides Function WriteBoolVar(ByVal szVar As stVAR, ByVal nValue As Short, Optional ByVal nProcess As Integer = 1) As Boolean - - Dim nValues(0) As Short ' Array (lo vuole la libreria Osai) che conterrà il valore letto - Dim nNumVarToBeWrited As Integer = 1 ' Numero di variabili da leggere (fisso a 1) - Dim nResult As Integer = -1 - Dim InputStruct As New OpenControl.WriteVarWordBit - Dim RetVal As OpenControl.WriteVarWordBitR - - nValues(0) = nValue - - ' se macchina collegata e non in debug - If (Not (Debug)) Then - - InputStruct.Code = CndexLinkDotNet.Cndex.GW_CODE ' 21 - InputStruct.Process = nProcess - InputStruct.Index = szVar.nAddress - InputStruct.BitIndex = szVar.nBit - InputStruct.BitValue = nValue - RetVal = OsaiServer.WriteVarWordBit(InputStruct) + '------------------------------ + ' Lettura / scittura variabili SC su Cn + '------------------------------ + Public Overrides Function ReadSCVar(ByVal nIndex As Integer, ByVal nNumChar As Integer, Optional ByVal nProcess As Integer = 1) As String + + Dim InputStruct As New OpenControl.ReadVarText + Dim RetVal As OpenControl.ReadVarTextR + + If (Not (Debug)) Then ' se macchina collegata e non in debug + + InputStruct.Code = CndexLinkDotNet.Cndex.SC_CODE ' 50 + InputStruct.Index = nIndex + InputStruct.Size = nNumChar + InputStruct.Process = nProcess + + RetVal = OsaiServer.ReadVarText(InputStruct) + If (RetVal.retval > 0) Then + Return RetVal.Text + Else + ErrClass = RetVal.ErrClass + ErrNum = RetVal.ErrNum + ErrMsg = "Error on reading string variable " & InputStruct.Index.ToString & vbCrLf & what_happened() + Return "?????????????????????" + End If + ' se sono in debug + Else + Return "OK" + End If ' Endif gestione macchina collegata + + End Function + + Public Overrides Function WriteSCVar(ByVal nIndex As Integer, ByVal nNumChar As Integer, ByVal szText As String, Optional ByVal nProcess As Integer = 1) As Boolean + + Dim InputStruct As New OpenControl.WriteVarText + Dim RetVal As OpenControl.WriteVarTextR + + + If (Not (Debug)) Then ' se macchina collegata e non in debug + + InputStruct.Code = CndexLinkDotNet.Cndex.SC_CODE ' 50 + InputStruct.Index = nIndex + InputStruct.Len = nNumChar + InputStruct.Process = nProcess + InputStruct.Text = szText + + RetVal = OsaiServer.WriteVarText(InputStruct) + + If (RetVal.retval > 0) Then + Return True + Else + ErrClass = RetVal.ErrClass + ErrNum = RetVal.ErrNum + ErrMsg = "Error on writing SC variable " & InputStruct.Index.ToString & vbCrLf & what_happened() + Return False + End If + ' se sono in debug + Else + Return True + End If ' Endif gestione macchina collegata + + End Function + + '------------------------------ + ' Lettura variabile Bool su Cn + '------------------------------ + Public Overrides Function ReadBoolVar(ByVal szVar As stVAR, Optional ByVal nProcess As Integer = 1) As Short + Dim InputStruct As New OpenControl.ReadVarWord + Dim RetVal As OpenControl.ReadVarWordR + Dim nValues(0) As Short ' Array (lo vuole la libreria Osai) che conterrà il valore letto + + InputStruct.NumVar = 1 + InputStruct.Process = nProcess + InputStruct.Code = CndexLinkDotNet.Cndex.GW_CODE ' 21 + InputStruct.Index = szVar.nAddress + + RetVal = OsaiServer.ReadVarWord(InputStruct) + If (RetVal.retval > 0) Then + nValues(0) = RetVal.Value(0) + If ((nValues(0) And (2 ^ szVar.nBit)) <> 0) Then ' Maschera per controllare solo il bit che mi interessa + nValues(0) = 1 + Else + nValues(0) = 0 + End If + + ' return con il valore letto + Return nValues(0) + + Else + ErrClass = RetVal.ErrClass + ErrNum = RetVal.ErrNum + ErrMsg = "Error on reading G bool variable " & InputStruct.Index.ToString & vbCrLf & what_happened() + Return CShort(ERRORVALUE) ' In uscita setto variabile a ERRORVALUE errore + + End If + + End Function + + '------------------------------ + ' Lettura variabile G Short su Cn + '------------------------------ + Public Overrides Function ReadShortVar(ByVal szVar As stVAR, Optional ByVal nProcess As Integer = 1) As Short + Dim nValue(0) As Short + + Dim nNumVar As UShort = 1 + Dim nIndex As UShort = 1 + Dim sValue() As UShort = {} + Dim InputStruct As New OpenControl.ReadVarWord + Dim RetVal As OpenControl.ReadVarWordR + + InputStruct.Code = CndexLinkDotNet.Cndex.GW_CODE ' 21 + InputStruct.Index = szVar.nAddress + InputStruct.NumVar = 1 + InputStruct.Process = nProcess + + Try + + RetVal = OsaiServer.ReadVarWord(InputStruct) + If (RetVal.retval > 0) Then + Return UShortToShort(RetVal.Value(0)) + Else + ErrClass = RetVal.ErrClass + ErrNum = RetVal.ErrNum + ErrMsg = "Error on reading short variable " & InputStruct.Index.ToString & vbCrLf & what_happened() + Return CShort(ERRORVALUE) ' In uscita setto variabile a ERRORVALUE errore + End If + Catch ex As Exception + + Me.ErrMsg = ex.Message + Return CShort(CRASHVALUE) ' In uscita setto variabile a CRASHVALUE errore + + End Try + + End Function + + '------------------------------ + ' Lettura variabile G Double su Cn + '------------------------------ + Public Overrides Function ReadDoubleVar(ByVal szVar As stVAR, Optional ByVal nProcess As Integer = 1) As Double + 'Dim nValue(0) As Short + + Dim nNumVar As UShort = 1 + Dim nIndex As UShort = 1 + Dim dResult As Double = 0.0 + Dim InputStruct As New OpenControl.ReadVarDouble + Dim RetVal As OpenControl.ReadVarDoubleR + + InputStruct.Code = CndexLinkDotNet.Cndex.GD_CODE ' 41 + InputStruct.Index = szVar.nAddress + InputStruct.NumVar = 1 + InputStruct.Process = nProcess + + RetVal = OsaiServer.ReadVarDouble(InputStruct) + If (RetVal.retval > 0) Then + dResult = RetVal.Value(0) + Return dResult + Else + ErrClass = RetVal.ErrClass + ErrNum = RetVal.ErrNum + ErrMsg = "Error on reading G double variable " & InputStruct.Index.ToString & vbCrLf & what_happened() + Return CShort(ERRORVALUE) ' In uscita setto variabile a ERRORVALUE errore + End If + + End Function + + '------------------------------ + ' Lettura variabile E ( double ) su Cn + '------------------------------ + Public Overrides Function ReadVarE(ByVal szVar As stVAR, Optional ByVal nProcess As Integer = 1) As Double + + Dim nValue(0) As Short + Dim nNumVar As UShort = 1 + Dim InputStruct As New OpenControl.ReadVarDouble + Dim RetVal As OpenControl.ReadVarDoubleR + + InputStruct.Code = CndexLinkDotNet.Cndex.E_CODE ' 46 + + InputStruct.Index = szVar.nAddress + InputStruct.NumVar = 1 + InputStruct.Process = nProcess + + RetVal = OsaiServer.ReadVarDouble(InputStruct) + If (RetVal.retval > 0) Then + Return RetVal.Value(0) + Else + ErrClass = RetVal.ErrClass + ErrNum = RetVal.ErrNum + ErrMsg = "Error on reading E variable " & InputStruct.Index.ToString & vbCrLf & what_happened() + Return CDbl(ERRORVALUE) ' In uscita setto variabile a ERRORVALUE errore + End If + + End Function + + '------------------------------ + ' Lettura variabile L ( double ) su Cn + '------------------------------ + Public Overrides Function ReadVarL(ByVal szVar As stVAR, Optional ByVal nProcess As Integer = 1) As Double + + Dim nValue(0) As Short + Dim nNumVar As UShort = 1 + Dim InputStruct As New OpenControl.ReadVarDouble + Dim RetVal As OpenControl.ReadVarDoubleR + + InputStruct.Code = L_CODE ' 145 + + InputStruct.Index = szVar.nAddress + InputStruct.NumVar = 1 + InputStruct.Process = nProcess + + RetVal = OsaiServer.ReadVarDouble(InputStruct) + If (RetVal.retval > 0) Then + Return RetVal.Value(0) + + Else + ErrClass = RetVal.ErrClass + ErrNum = RetVal.ErrNum + ErrMsg = "Error on reading L variable " & InputStruct.Index.ToString & vbCrLf & what_happened() + Return CDbl(ERRORVALUE) ' In uscita setto variabile a ERRORVALUE errore + End If + + End Function + + '------------------------------ + ' Lettura variabile MW su Cn + '------------------------------ + Public Overrides Function ReadVarMW(ByVal szVar As stVAR, Optional ByVal nProcess As Integer = 1) As UShort + + Dim nNumVar As UShort = 1 + Dim InputStruct As New OpenControl.ReadVarWord + Dim RetVal As OpenControl.ReadVarWordR + + InputStruct.Code = CndexLinkDotNet.Cndex.MW_CODE ' 20 + InputStruct.Index = szVar.nAddress + InputStruct.NumVar = 1 + InputStruct.Process = nProcess + + RetVal = OsaiServer.ReadVarWord(InputStruct) + If (RetVal.retval > 0) Then + + Return (RetVal.Value(0)) + Else + ErrClass = RetVal.ErrClass + ErrNum = RetVal.ErrNum + ErrMsg = "Error on reading MW variable " & InputStruct.Index.ToString & vbCrLf & what_happened() + + Return CUShort(-ERRORVALUE) ' In uscita setto variabile a ERRORVALUE errore + End If + + End Function + + ' ------------------------------- + ' Scrittura variabile bool su Cn + '--------------------------------- + Public Overrides Function WriteBoolVar(ByVal szVar As stVAR, ByVal nValue As Short, Optional ByVal nProcess As Integer = 1) As Boolean + + Dim nValues(0) As Short ' Array (lo vuole la libreria Osai) che conterrà il valore letto + Dim nNumVarToBeWrited As Integer = 1 ' Numero di variabili da leggere (fisso a 1) + Dim nResult As Integer = -1 + Dim InputStruct As New OpenControl.WriteVarWordBit + Dim RetVal As OpenControl.WriteVarWordBitR + + nValues(0) = nValue + + ' se macchina collegata e non in debug + If (Not (Debug)) Then + + InputStruct.Code = CndexLinkDotNet.Cndex.GW_CODE ' 21 + InputStruct.Process = nProcess + InputStruct.Index = szVar.nAddress + InputStruct.BitIndex = szVar.nBit + InputStruct.BitValue = nValue + RetVal = OsaiServer.WriteVarWordBit(InputStruct) - If (RetVal.retval <= 0) Then - ErrClass = RetVal.ErrClass - ErrNum = RetVal.ErrNum - ErrMsg = "Error on writing bool variable " & InputStruct.Index.ToString & vbCrLf & what_happened() - Return False ' - Else - Return True - End If + If (RetVal.retval <= 0) Then + ErrClass = RetVal.ErrClass + ErrNum = RetVal.ErrNum + ErrMsg = "Error on writing bool variable " & InputStruct.Index.ToString & vbCrLf & what_happened() + Return False ' + Else + Return True + End If - ' se sono in debug - Else - Return True - End If ' Endif gestione macchina collegata + ' se sono in debug + Else + Return True + End If ' Endif gestione macchina collegata - End Function + End Function - ' ------------------------------- - ' Scrittura variabile G Short su Cn - '--------------------------------- - Public Overrides Function WriteShortVar(ByVal szVar As stVAR, ByVal nValue As Short, Optional ByVal nProcess As Integer = 1) As Boolean + ' ------------------------------- + ' Scrittura variabile G Short su Cn + '--------------------------------- + Public Overrides Function WriteShortVar(ByVal szVar As stVAR, ByVal nValue As Short, Optional ByVal nProcess As Integer = 1) As Boolean - Dim nValues(0) As Short ' Array (lo vuole la libreria Osai) che conterrà il valore letto - Dim nNumVarToBeWrited As Integer = 1 ' Numero di variabili da leggere (fisso a 1) - Dim nResult As Integer = -1 - Dim InputStruct As New OpenControl.WriteVarWord - Dim RetVal As OpenControl.WriteVarWordR + Dim nValues(0) As Short ' Array (lo vuole la libreria Osai) che conterrà il valore letto + Dim nNumVarToBeWrited As Integer = 1 ' Numero di variabili da leggere (fisso a 1) + Dim nResult As Integer = -1 + Dim InputStruct As New OpenControl.WriteVarWord + Dim RetVal As OpenControl.WriteVarWordR - nValues(0) = nValue + nValues(0) = nValue - ' se macchina collegata e non in debug - If (Not (Debug)) Then + ' se macchina collegata e non in debug + If (Not (Debug)) Then - InputStruct.Code = CndexLinkDotNet.Cndex.GW_CODE ' 21 - InputStruct.NumVar = 1 - InputStruct.Process = nProcess - InputStruct.Index = szVar.nAddress - ReDim InputStruct.Value(0) - InputStruct.Value(0) = ShortToUShort(nValues(0)) + InputStruct.Code = CndexLinkDotNet.Cndex.GW_CODE ' 21 + InputStruct.NumVar = 1 + InputStruct.Process = nProcess + InputStruct.Index = szVar.nAddress + ReDim InputStruct.Value(0) + InputStruct.Value(0) = ShortToUShort(nValues(0)) - RetVal = OsaiServer.WriteVarWord(InputStruct) + RetVal = OsaiServer.WriteVarWord(InputStruct) - If (RetVal.retval <= 0) Then - ErrClass = RetVal.ErrClass - ErrNum = RetVal.ErrNum - ErrMsg = "Error on writing short variable " & InputStruct.Index.ToString & vbCrLf & what_happened() - Return False ' In uscita setto variabile a ERRORVALUE errore - Else + If (RetVal.retval <= 0) Then + ErrClass = RetVal.ErrClass + ErrNum = RetVal.ErrNum + ErrMsg = "Error on writing short variable " & InputStruct.Index.ToString & vbCrLf & what_happened() + Return False ' In uscita setto variabile a ERRORVALUE errore + Else - Return True + Return True - End If + End If - ' se sono in debug - Else - - Return True + ' se sono in debug + Else + + Return True - End If ' Endif gestione macchina collegata + End If ' Endif gestione macchina collegata - End Function + End Function - ' ------------------------------- - ' Scrittura variabile G Double su Cn - '--------------------------------- - Public Overrides Function WriteDoubleVar(ByVal szVar As stVAR, ByVal dValue As Double, Optional ByVal nProcess As Integer = 1) As Boolean + ' ------------------------------- + ' Scrittura variabile G Double su Cn + '--------------------------------- + Public Overrides Function WriteDoubleVar(ByVal szVar As stVAR, ByVal dValue As Double, Optional ByVal nProcess As Integer = 1) As Boolean - Dim dValues(0) As Double ' Array (lo vuole la libreria Osai) che conterrà il valore letto - Dim nNumVarToBeWrited As Integer = 1 ' Numero di variabili da leggere (fisso a 1) - Dim nResult As Integer = -1 - Dim InputStruct As New OpenControl.WriteVarWord - Dim RetVal As OpenControl.WriteVarWordR + Dim dValues(0) As Double ' Array (lo vuole la libreria Osai) che conterrà il valore letto + Dim nNumVarToBeWrited As Integer = 1 ' Numero di variabili da leggere (fisso a 1) + Dim nResult As Integer = -1 + Dim InputStruct As New OpenControl.WriteVarWord + Dim RetVal As OpenControl.WriteVarWordR - dValues(0) = dValue + dValues(0) = dValue - ' se macchina collegata e non in debug - If (Not (Debug)) Then - - InputStruct.Code = CndexLinkDotNet.Cndex.GD_CODE ' 41 - InputStruct.NumVar = 1 - InputStruct.Process = nProcess - InputStruct.Index = szVar.nAddress - ReDim InputStruct.Value(0) - InputStruct.Value(0) = dValues(0) - - RetVal = OsaiServer.WriteVarWord(InputStruct) + ' se macchina collegata e non in debug + If (Not (Debug)) Then + + InputStruct.Code = CndexLinkDotNet.Cndex.GD_CODE ' 41 + InputStruct.NumVar = 1 + InputStruct.Process = nProcess + InputStruct.Index = szVar.nAddress + ReDim InputStruct.Value(0) + InputStruct.Value(0) = dValues(0) + + RetVal = OsaiServer.WriteVarWord(InputStruct) - If (RetVal.retval <= 0) Then - ErrClass = RetVal.ErrClass - ErrNum = RetVal.ErrNum - ErrMsg = "Error on writing G DoubleVar " & InputStruct.Index.ToString & vbCrLf & what_happened() - Return False ' In uscita setto variabile a ERRORVALUE errore - Else - - Return True - - End If - - ' se sono in debug - Else - - Return True - - End If ' Endif gestione macchina collegata - - End Function - - ' ------------------------------- - ' Scrittura variabile E su Cn - '--------------------------------- - Public Overrides Function WriteVarE(ByVal szVar As stVAR, ByVal nValue As Double, Optional ByVal nProcess As Integer = 1) As Boolean - - Dim nValues(0) As Double ' Array (lo vuole la libreria Osai) che conterrà il valore letto - Dim nNumVarToBeWrited As Integer = 1 ' Numero di variabili da leggere (fisso a 1) - Dim nResult As Integer = -1 - Dim InputStruct As New OpenControl.WriteVarDouble - Dim RetVal As OpenControl.WriteVarDoubleR - - nValues(0) = nValue - - If (Not (Debug)) Then ' se macchina collegata e non in debug - - InputStruct.Code = CndexLinkDotNet.Cndex.E_CODE ' 46 - InputStruct.NumVar = 1 - InputStruct.Process = nProcess - InputStruct.Index = szVar.nAddress - ReDim InputStruct.Value(0) - InputStruct.Value(0) = nValues(0) - - RetVal = OsaiServer.WriteVarDouble(InputStruct) - - If (RetVal.retval <= 0) Then - ErrClass = RetVal.ErrClass - ErrNum = RetVal.ErrNum - ErrMsg = "Error on writing Write E DoubleVar variable " & InputStruct.Index.ToString & vbCrLf & what_happened() - Return False ' In uscita setto variabile a ERRORVALUE errore - Else - Return True - End If - - ' se sono in debug - Else - Return True - End If ' Endif gestione macchina collegata - - End Function - ' ------------------------------- - ' Scrittura variabile L su Cn - '--------------------------------- - Public Overrides Function WriteVarL(ByVal szVar As stVAR, ByVal nValue As Double, Optional ByVal nProcess As Integer = 1) As Boolean - - Dim nValues(0) As Double ' Array (lo vuole la libreria Osai) che conterrà il valore letto - Dim nNumVarToBeWrited As Integer = 1 ' Numero di variabili da leggere (fisso a 1) - Dim nResult As Integer = -1 - Dim InputStruct As New OpenControl.WriteVarDouble - Dim RetVal As OpenControl.WriteVarDoubleR - - nValues(0) = nValue - - If (Not (Debug)) Then ' se macchina collegata e non in debug - - InputStruct.Code = L_CODE ' 145 - InputStruct.NumVar = 1 - InputStruct.Process = nProcess - InputStruct.Index = szVar.nAddress - ReDim InputStruct.Value(0) - InputStruct.Value(0) = nValues(0) - - RetVal = OsaiServer.WriteVarDouble(InputStruct) - - If (RetVal.retval <= 0) Then - ErrClass = RetVal.ErrClass - ErrNum = RetVal.ErrNum - ErrMsg = "Error on writing Write L DoubleVar variable " & InputStruct.Index.ToString & vbCrLf & what_happened() - Return False ' In uscita setto variabile a ERRORVALUE errore - Else - Return True - End If - - ' se sono in debug - Else - Return True - End If ' Endif gestione macchina collegata - - End Function - - '------------------------------ - ' Lettura variabile SN Double su Cn - '------------------------------ - Public Overrides Function ReadVarSN(ByVal nVar As Short, Optional ByVal nProcess As Integer = 1) As Double - 'Dim nValue(0) As Short - - Dim nNumVar As UShort = 1 - Dim nIndex As UShort = 1 - Dim dResult As Double = 0.0 - Dim InputStruct As New OpenControl.ReadVarDouble - Dim RetVal As OpenControl.ReadVarDoubleR - - InputStruct.Code = CndexLinkDotNet.Cndex.SN_CODE ' 47 - InputStruct.Index = nVar - InputStruct.NumVar = 1 - InputStruct.Process = nProcess - - RetVal = OsaiServer.ReadVarDouble(InputStruct) - If (RetVal.retval > 0) Then - dResult = RetVal.Value(0) - Return dResult - Else - ErrClass = RetVal.ErrClass - ErrNum = RetVal.ErrNum - ErrMsg = "Error on reading SN variable " & InputStruct.Index.ToString & vbCrLf & what_happened() - Return CShort(ERRORVALUE) ' In uscita setto variabile a ERRORVALUE errore - End If - - End Function + If (RetVal.retval <= 0) Then + ErrClass = RetVal.ErrClass + ErrNum = RetVal.ErrNum + ErrMsg = "Error on writing G DoubleVar " & InputStruct.Index.ToString & vbCrLf & what_happened() + Return False ' In uscita setto variabile a ERRORVALUE errore + Else + + Return True + + End If + + ' se sono in debug + Else + + Return True + + End If ' Endif gestione macchina collegata + + End Function + + ' ------------------------------- + ' Scrittura variabile E su Cn + '--------------------------------- + Public Overrides Function WriteVarE(ByVal szVar As stVAR, ByVal nValue As Double, Optional ByVal nProcess As Integer = 1) As Boolean + + Dim nValues(0) As Double ' Array (lo vuole la libreria Osai) che conterrà il valore letto + Dim nNumVarToBeWrited As Integer = 1 ' Numero di variabili da leggere (fisso a 1) + Dim nResult As Integer = -1 + Dim InputStruct As New OpenControl.WriteVarDouble + Dim RetVal As OpenControl.WriteVarDoubleR + + nValues(0) = nValue + + If (Not (Debug)) Then ' se macchina collegata e non in debug + + InputStruct.Code = CndexLinkDotNet.Cndex.E_CODE ' 46 + InputStruct.NumVar = 1 + InputStruct.Process = nProcess + InputStruct.Index = szVar.nAddress + ReDim InputStruct.Value(0) + InputStruct.Value(0) = nValues(0) + + RetVal = OsaiServer.WriteVarDouble(InputStruct) + + If (RetVal.retval <= 0) Then + ErrClass = RetVal.ErrClass + ErrNum = RetVal.ErrNum + ErrMsg = "Error on writing Write E DoubleVar variable " & InputStruct.Index.ToString & vbCrLf & what_happened() + Return False ' In uscita setto variabile a ERRORVALUE errore + Else + Return True + End If + + ' se sono in debug + Else + Return True + End If ' Endif gestione macchina collegata + + End Function + ' ------------------------------- + ' Scrittura variabile L su Cn + '--------------------------------- + Public Overrides Function WriteVarL(ByVal szVar As stVAR, ByVal nValue As Double, Optional ByVal nProcess As Integer = 1) As Boolean + + Dim nValues(0) As Double ' Array (lo vuole la libreria Osai) che conterrà il valore letto + Dim nNumVarToBeWrited As Integer = 1 ' Numero di variabili da leggere (fisso a 1) + Dim nResult As Integer = -1 + Dim InputStruct As New OpenControl.WriteVarDouble + Dim RetVal As OpenControl.WriteVarDoubleR + + nValues(0) = nValue + + If (Not (Debug)) Then ' se macchina collegata e non in debug + + InputStruct.Code = L_CODE ' 145 + InputStruct.NumVar = 1 + InputStruct.Process = nProcess + InputStruct.Index = szVar.nAddress + ReDim InputStruct.Value(0) + InputStruct.Value(0) = nValues(0) + + RetVal = OsaiServer.WriteVarDouble(InputStruct) + + If (RetVal.retval <= 0) Then + ErrClass = RetVal.ErrClass + ErrNum = RetVal.ErrNum + ErrMsg = "Error on writing Write L DoubleVar variable " & InputStruct.Index.ToString & vbCrLf & what_happened() + Return False ' In uscita setto variabile a ERRORVALUE errore + Else + Return True + End If + + ' se sono in debug + Else + Return True + End If ' Endif gestione macchina collegata + + End Function + + '------------------------------ + ' Lettura variabile SN Double su Cn + '------------------------------ + Public Overrides Function ReadVarSN(ByVal nVar As Short, Optional ByVal nProcess As Integer = 1) As Double + 'Dim nValue(0) As Short + + Dim nNumVar As UShort = 1 + Dim nIndex As UShort = 1 + Dim dResult As Double = 0.0 + Dim InputStruct As New OpenControl.ReadVarDouble + Dim RetVal As OpenControl.ReadVarDoubleR + + InputStruct.Code = CndexLinkDotNet.Cndex.SN_CODE ' 47 + InputStruct.Index = nVar + InputStruct.NumVar = 1 + InputStruct.Process = nProcess + + RetVal = OsaiServer.ReadVarDouble(InputStruct) + If (RetVal.retval > 0) Then + dResult = RetVal.Value(0) + Return dResult + Else + ErrClass = RetVal.ErrClass + ErrNum = RetVal.ErrNum + ErrMsg = "Error on reading SN variable " & InputStruct.Index.ToString & vbCrLf & what_happened() + Return CShort(ERRORVALUE) ' In uscita setto variabile a ERRORVALUE errore + End If + + End Function #End Region #Region "METODI - Modo CN / PP" - ' --------------------------------------------------------------- - ' Attivazione del modo Auto - '---------------------------------------------------------------- - Public Overrides Function SetAutoMode(Optional ByVal nProcess As Integer = 1) As Boolean - Dim RetVal As New OpenControl.SetProcessModeR - Dim Mode As New OpenControl.SetProcessMode + ' --------------------------------------------------------------- + ' Attivazione del modo Auto + '---------------------------------------------------------------- + Public Overrides Function SetAutoMode(Optional ByVal nProcess As Integer = 1) As Boolean + Dim RetVal As New OpenControl.SetProcessModeR + Dim Mode As New OpenControl.SetProcessMode - Mode.Mode = 2 - Mode.ProcNum = nProcess + Mode.Mode = 2 + Mode.ProcNum = nProcess - RetVal = OsaiServer.SetProcessMode(Mode) - If RetVal.retval > 0 Then - Return RetVal.retval + RetVal = OsaiServer.SetProcessMode(Mode) + If RetVal.retval > 0 Then + Return RetVal.retval - Else - 'MsgBox("Error on activating Auto mode " & vbCrLf & "Class: " & Str(ErrClass) & " Number: 0x" & Hex(ErrNum)) - Return RetVal.retval - End If - End Function + Else + 'MsgBox("Error on activating Auto mode " & vbCrLf & "Class: " & Str(ErrClass) & " Number: 0x" & Hex(ErrNum)) + Return RetVal.retval + End If + End Function - ' --------------------------------------------------------------- - ' Lettura modalità selezionata su processo passato per parametro - '---------------------------------------------------------------- - Public Overrides Function GetModeSelected(Optional ByVal nProcess As Integer = 1) As Byte - Dim InputStruct As New OpenControl.GetNcInfo1 - Dim RetVal As OpenControl.GetNcInfo1R + ' --------------------------------------------------------------- + ' Lettura modalità selezionata su processo passato per parametro + '---------------------------------------------------------------- + Public Overrides Function GetModeSelected(Optional ByVal nProcess As Integer = 1) As Byte + Dim InputStruct As New OpenControl.GetNcInfo1 + Dim RetVal As OpenControl.GetNcInfo1R - InputStruct.ProcNum = nProcess - RetVal = OsaiServer.GetNcInfo1(InputStruct) + InputStruct.ProcNum = nProcess + RetVal = OsaiServer.GetNcInfo1(InputStruct) - If RetVal.retval > 0 Then - Return RetVal.GetInfo.modeselect + If RetVal.retval > 0 Then + Return RetVal.GetInfo.modeselect - Else - 'MsgBox("Error on reading Mode Selected" & vbCrLf & "Class: " & Str(ErrClass) & " Number: 0x" & Hex(ErrNum)) - Return 0 - End If + Else + 'MsgBox("Error on reading Mode Selected" & vbCrLf & "Class: " & Str(ErrClass) & " Number: 0x" & Hex(ErrNum)) + Return 0 + End If - End Function + End Function - ' --------------------------------------------------------------- - ' Attivazione del pp passato per parametro - '---------------------------------------------------------------- - Public Overrides Function ActivatePP(ByVal szPartPrg As String, Optional ByVal nProcess As UShort = 1) As Short - Dim RetVal As New OpenControl.SelectPartProgramFromDriveR - Dim InputStruct As New OpenControl.SelectPartProgramFromDrive + ' --------------------------------------------------------------- + ' Attivazione del pp passato per parametro + '---------------------------------------------------------------- + Public Overrides Function ActivatePP(ByVal szPartPrg As String, Optional ByVal nProcess As UShort = 1) As Short + Dim RetVal As New OpenControl.SelectPartProgramFromDriveR + Dim InputStruct As New OpenControl.SelectPartProgramFromDrive - InputStruct.PPName = szPartPrg - InputStruct.ProcNum = nProcess + InputStruct.PPName = szPartPrg + InputStruct.ProcNum = nProcess - RetVal = OsaiServer.SelectPartProgramFromDrive(InputStruct) - If RetVal.retval > 0 Then ' > 0 ok - Return RetVal.retval + RetVal = OsaiServer.SelectPartProgramFromDrive(InputStruct) + If RetVal.retval > 0 Then ' > 0 ok + Return RetVal.retval - Else ' = 0 errore - mErrMsg = "Error on activating part-program " - mErrClass = RetVal.ErrClass - mErrNum = RetVal.ErrNum - Return RetVal.retval + Else ' = 0 errore + mErrMsg = "Error on activating part-program " + mErrClass = RetVal.ErrClass + mErrNum = RetVal.ErrNum + Return RetVal.retval - End If - End Function + End If + End Function - ' --------------------------------- - ' Lettura Programma corrente - '---------------------------------- - Public Function GetActivePP(ByVal nProcess As Integer) As String - Dim InputStruct As New OpenControl.GetActivePartProgram - Dim RetVal As OpenControl.GetActivePartProgramR + ' --------------------------------- + ' Lettura Programma corrente + '---------------------------------- + Public Function GetActivePP(ByVal nProcess As Integer) As String + Dim InputStruct As New OpenControl.GetActivePartProgram + Dim RetVal As OpenControl.GetActivePartProgramR - InputStruct.ProcNum = nProcess - RetVal = OsaiServer.GetActivePartProgram(InputStruct) + InputStruct.ProcNum = nProcess + RetVal = OsaiServer.GetActivePartProgram(InputStruct) - If RetVal.retval > 0 Then - Return RetVal.Main + If RetVal.retval > 0 Then + Return RetVal.Main - Else - mErrMsg = "Error on reading Active Program " - mErrClass = RetVal.ErrClass - mErrNum = RetVal.ErrNum - Return CShort(ERRORVALUE) ' In uscita setto variabile a ERRORVALUE errore - End If + Else + mErrMsg = "Error on reading Active Program " + mErrClass = RetVal.ErrClass + mErrNum = RetVal.ErrNum + Return CShort(ERRORVALUE) ' In uscita setto variabile a ERRORVALUE errore + End If - End Function + End Function - ' --------------------------------------------------------------- - ' Lettura informazioni CN - '---------------------------------------------------------------- - Public Function NcInfo1Open(ByRef ncInfo As OpenControl.GetNcInfo1R, Optional ByVal nProcess As Integer = 1) As OpenControl.GetNcInfo1R - Dim InputStruct As New OpenControl.GetNcInfo1 - Dim RetVal As OpenControl.GetNcInfo1R + ' --------------------------------------------------------------- + ' Lettura informazioni CN + '---------------------------------------------------------------- + Public Function NcInfo1Open(ByRef ncInfo As OpenControl.GetNcInfo1R, Optional ByVal nProcess As Integer = 1) As OpenControl.GetNcInfo1R + Dim InputStruct As New OpenControl.GetNcInfo1 + Dim RetVal As OpenControl.GetNcInfo1R - InputStruct.ProcNum = nProcess - RetVal = OsaiServer.GetNcInfo1(InputStruct) + InputStruct.ProcNum = nProcess + RetVal = OsaiServer.GetNcInfo1(InputStruct) - If RetVal.retval > 0 Then - Return RetVal + If RetVal.retval > 0 Then + Return RetVal - Else - mErrMsg = "Error on reading NcInfo " - mErrClass = RetVal.ErrClass - mErrNum = RetVal.ErrNum - Return RetVal - End If - End Function + Else + mErrMsg = "Error on reading NcInfo " + mErrClass = RetVal.ErrClass + mErrNum = RetVal.ErrNum + Return RetVal + End If + End Function - ' --------------------------------- - ' Lettura info CN 1 - '---------------------------------- - Public Overrides Function NcInfo1(ByRef ncInfo As CndexLinkDotNet.Cndex.GETINFO1DATA, Optional ByVal nProcess As Integer = 1) As Boolean + ' --------------------------------- + ' Lettura info CN 1 + '---------------------------------- + Public Overrides Function NcInfo1(ByRef ncInfo As CndexLinkDotNet.Cndex.GETINFO1DATA, Optional ByVal nProcess As Integer = 1) As Boolean - Dim InputStruct As New OpenControl.GetNcInfo1 - Dim RetVal As OpenControl.GetNcInfo1R + Dim InputStruct As New OpenControl.GetNcInfo1 + Dim RetVal As OpenControl.GetNcInfo1R - InputStruct.ProcNum = nProcess - RetVal = OsaiServer.GetNcInfo1(InputStruct) + InputStruct.ProcNum = nProcess + RetVal = OsaiServer.GetNcInfo1(InputStruct) - If RetVal.retval > 0 Then + If RetVal.retval > 0 Then - ' ncInfo = RetVal.GetInfo - ' Assegno 1:1 variabili... + ' ncInfo = RetVal.GetInfo + ' Assegno 1:1 variabili... - ncInfo.actual_tool = RetVal.GetInfo.actualtool - ncInfo.actual_tool_off = RetVal.GetInfo.actualtooloff - ncInfo.auto_jog_ret = RetVal.GetInfo.autojogret - ncInfo.ax_sel = RetVal.GetInfo.axsel + ncInfo.actual_tool = RetVal.GetInfo.actualtool + ncInfo.actual_tool_off = RetVal.GetInfo.actualtooloff + ncInfo.auto_jog_ret = RetVal.GetInfo.autojogret + ncInfo.ax_sel = RetVal.GetInfo.axsel - ncInfo.block_retrace = RetVal.GetInfo.blockretrace + ncInfo.block_retrace = RetVal.GetInfo.blockretrace - ncInfo.disable_slashed_blk = RetVal.GetInfo.disableslashedblk - ncInfo.dry_run = RetVal.GetInfo.dryrun + ncInfo.disable_slashed_blk = RetVal.GetInfo.disableslashedblk + ncInfo.dry_run = RetVal.GetInfo.dryrun - ncInfo.feed_mis_unit = RetVal.GetInfo.feedmisunit - ncInfo.feed_ov = RetVal.GetInfo.feedov - ncInfo.force_rapid_feed = RetVal.GetInfo.forcerapidfeed + ncInfo.feed_mis_unit = RetVal.GetInfo.feedmisunit + ncInfo.feed_ov = RetVal.GetInfo.feedov + ncInfo.force_rapid_feed = RetVal.GetInfo.forcerapidfeed - ncInfo.jog_dir = RetVal.GetInfo.jogdir - ncInfo.jog_incr = RetVal.GetInfo.jogincr + ncInfo.jog_dir = RetVal.GetInfo.jogdir + ncInfo.jog_incr = RetVal.GetInfo.jogincr - ncInfo.last_nc_error = RetVal.GetInfo.lastncerror + ncInfo.last_nc_error = RetVal.GetInfo.lastncerror - ncInfo.main_progr_name = System.Text.Encoding.ASCII.GetBytes(RetVal.GetInfo.mainprogrname) + ncInfo.main_progr_name = System.Text.Encoding.ASCII.GetBytes(RetVal.GetInfo.mainprogrname) - ncInfo.man_feed_ov = RetVal.GetInfo.manfeedov - ncInfo.mode_select = RetVal.GetInfo.modeselect + ncInfo.man_feed_ov = RetVal.GetInfo.manfeedov + ncInfo.mode_select = RetVal.GetInfo.modeselect - ncInfo.num_ax_sel = RetVal.GetInfo.numaxsel + ncInfo.num_ax_sel = RetVal.GetInfo.numaxsel - ncInfo.optional_stop = RetVal.GetInfo.optionalstop + ncInfo.optional_stop = RetVal.GetInfo.optionalstop - ncInfo.progr_feed = RetVal.GetInfo.progrfeed - ncInfo.progr_speed = RetVal.GetInfo.progrspeed - ncInfo.progr_tool = RetVal.GetInfo.progrtool - ncInfo.progr_tool_off = RetVal.GetInfo.progrtooloff + ncInfo.progr_feed = RetVal.GetInfo.progrfeed + ncInfo.progr_speed = RetVal.GetInfo.progrspeed + ncInfo.progr_tool = RetVal.GetInfo.progrtool + ncInfo.progr_tool_off = RetVal.GetInfo.progrtooloff - ncInfo.rapid_feed = RetVal.GetInfo.rapidfeed - ncInfo.rapid_override = RetVal.GetInfo.rapidoverride - ncInfo.rap_feed_ov = RetVal.GetInfo.rapfeedov - ncInfo.real_feed = RetVal.GetInfo.realfeed - ncInfo.real_speed = RetVal.GetInfo.realspeed + ncInfo.rapid_feed = RetVal.GetInfo.rapidfeed + ncInfo.rapid_override = RetVal.GetInfo.rapidoverride + ncInfo.rap_feed_ov = RetVal.GetInfo.rapfeedov + ncInfo.real_feed = RetVal.GetInfo.realfeed + ncInfo.real_speed = RetVal.GetInfo.realspeed - ncInfo.speed_ov = RetVal.GetInfo.speedov - ncInfo.status = RetVal.GetInfo.status - ncInfo.substatus = RetVal.GetInfo.substatus + ncInfo.speed_ov = RetVal.GetInfo.speedov + ncInfo.status = RetVal.GetInfo.status + ncInfo.substatus = RetVal.GetInfo.substatus - Return True + Return True - Else - mErrMsg = "Error on reading NcInfo " - mErrClass = RetVal.ErrClass - mErrNum = RetVal.ErrNum - Return False - End If + Else + mErrMsg = "Error on reading NcInfo " + mErrClass = RetVal.ErrClass + mErrNum = RetVal.ErrNum + Return False + End If - End Function + End Function @@ -781,531 +781,531 @@ Public Class Open_Series - ' --------------------------------------------------------------- - ' Ritorna True se lo stato del CN è IDLE - '---------------------------------------------------------------- - Public Overrides Function IsResetStatus(Optional ByVal nProcess As Integer = 1) As Boolean - Dim InputStruct As New OpenControl.GetNcInfo1 - Dim RetVal As OpenControl.GetNcInfo1R + ' --------------------------------------------------------------- + ' Ritorna True se lo stato del CN è IDLE + '---------------------------------------------------------------- + Public Overrides Function IsResetStatus(Optional ByVal nProcess As Integer = 1) As Boolean + Dim InputStruct As New OpenControl.GetNcInfo1 + Dim RetVal As OpenControl.GetNcInfo1R - InputStruct.ProcNum = nProcess - RetVal = OsaiServer.GetNcInfo1(InputStruct) + InputStruct.ProcNum = nProcess + RetVal = OsaiServer.GetNcInfo1(InputStruct) - If RetVal.retval > 0 Then + If RetVal.retval > 0 Then - If RetVal.GetInfo.modeselect = 0 Then - Return True - Else - Return False - End If + If RetVal.GetInfo.modeselect = 0 Then + Return True + Else + Return False + End If - Else - mErrMsg = "Error in IsResetStatus" - mErrClass = RetVal.ErrClass - mErrNum = RetVal.ErrNum + Else + mErrMsg = "Error in IsResetStatus" + mErrClass = RetVal.ErrClass + mErrNum = RetVal.ErrNum - Return False - End If + Return False + End If - End Function + End Function - ' ------------------------------------------------- - ' Lettura stato macchina su processo passato per parametro - '-------------------------------------------------- - Public Overrides Function GetMachineStatus(Optional ByVal nProcess As Integer = 1) As Byte - Dim InputStruct As New OpenControl.GetNcInfo1 - Dim RetVal As OpenControl.GetNcInfo1R + ' ------------------------------------------------- + ' Lettura stato macchina su processo passato per parametro + '-------------------------------------------------- + Public Overrides Function GetMachineStatus(Optional ByVal nProcess As Integer = 1) As Byte + Dim InputStruct As New OpenControl.GetNcInfo1 + Dim RetVal As OpenControl.GetNcInfo1R - InputStruct.ProcNum = nProcess - RetVal = OsaiServer.GetNcInfo1(InputStruct) - If RetVal.retval > 0 Then - Return RetVal.GetInfo.status + InputStruct.ProcNum = nProcess + RetVal = OsaiServer.GetNcInfo1(InputStruct) + If RetVal.retval > 0 Then + Return RetVal.GetInfo.status - Else - mErrMsg = "Error on reading Machine Status" - mErrClass = RetVal.ErrClass - mErrNum = RetVal.ErrNum - Return 0 - End If + Else + mErrMsg = "Error on reading Machine Status" + mErrClass = RetVal.ErrClass + mErrNum = RetVal.ErrNum + Return 0 + End If - End Function + End Function #End Region #Region "METODI - Utensili / correttori" - ' --------------------------------------------------------------- - ' Lettura utensile corrente su processo passato per parametro - '---------------------------------------------------------------- - Public Overrides Function GetActualTool(Optional ByVal nProcess As Integer = 1) As Double - Dim InputStruct As New OpenControl.GetNcInfo1 - Dim RetVal As OpenControl.GetNcInfo1R + ' --------------------------------------------------------------- + ' Lettura utensile corrente su processo passato per parametro + '---------------------------------------------------------------- + Public Overrides Function GetActualTool(Optional ByVal nProcess As Integer = 1) As Double + Dim InputStruct As New OpenControl.GetNcInfo1 + Dim RetVal As OpenControl.GetNcInfo1R - InputStruct.ProcNum = nProcess - RetVal = OsaiServer.GetNcInfo1(InputStruct) + InputStruct.ProcNum = nProcess + RetVal = OsaiServer.GetNcInfo1(InputStruct) - If RetVal.retval > 0 Then - Return RetVal.GetInfo.progrtool + If RetVal.retval > 0 Then + Return RetVal.GetInfo.progrtool - Else - 'MsgBox("Error on reading Mode Selected" & vbCrLf & "Class: " & Str(ErrClass) & " Number: 0x" & Hex(ErrNum)) - Return 0 - End If + Else + 'MsgBox("Error on reading Mode Selected" & vbCrLf & "Class: " & Str(ErrClass) & " Number: 0x" & Hex(ErrNum)) + Return 0 + End If - End Function + End Function - ' --------------------------------------------------------------- - ' Lettura correttore corrente su processo passato per parametro - '---------------------------------------------------------------- - Public Overrides Function GetActualCorr(Optional ByVal nProcess As Integer = 1) As UShort - Dim InputStruct As New OpenControl.GetNcInfo1 - Dim RetVal As OpenControl.GetNcInfo1R + ' --------------------------------------------------------------- + ' Lettura correttore corrente su processo passato per parametro + '---------------------------------------------------------------- + Public Overrides Function GetActualCorr(Optional ByVal nProcess As Integer = 1) As UShort + Dim InputStruct As New OpenControl.GetNcInfo1 + Dim RetVal As OpenControl.GetNcInfo1R - InputStruct.ProcNum = nProcess - RetVal = OsaiServer.GetNcInfo1(InputStruct) + InputStruct.ProcNum = nProcess + RetVal = OsaiServer.GetNcInfo1(InputStruct) - If RetVal.retval > 0 Then - Return RetVal.GetInfo.actualtooloff + If RetVal.retval > 0 Then + Return RetVal.GetInfo.actualtooloff - Else - 'MsgBox("Error on reading Mode Selected" & vbCrLf & "Class: " & Str(ErrClass) & " Number: 0x" & Hex(ErrNum)) - Return 0 - End If + Else + 'MsgBox("Error on reading Mode Selected" & vbCrLf & "Class: " & Str(ErrClass) & " Number: 0x" & Hex(ErrNum)) + Return 0 + End If - End Function + End Function - ' --------------------------------------------------------------- - ' Lettura lunghezza correttore corrente su processo passato per parametro - '---------------------------------------------------------------- - Public Overrides Function GetActualToolLen(ByVal nRecord As UInteger) As Double - Dim InputStruct As New OpenControl.GetOffsetTabRecordII - Dim RetVal As OpenControl.GetOffsetTabRecordIIR - Dim Len() As OpenControl.OFFSETVALII + ' --------------------------------------------------------------- + ' Lettura lunghezza correttore corrente su processo passato per parametro + '---------------------------------------------------------------- + Public Overrides Function GetActualToolLen(ByVal nRecord As UInteger) As Double + Dim InputStruct As New OpenControl.GetOffsetTabRecordII + Dim RetVal As OpenControl.GetOffsetTabRecordIIR + Dim Len() As OpenControl.OFFSETVALII - InputStruct.RecordNum = nRecord - RetVal = OsaiServer.GetOffsetTabRecordII(InputStruct) + InputStruct.RecordNum = nRecord + RetVal = OsaiServer.GetOffsetTabRecordII(InputStruct) - If RetVal.retval > 0 Then - Len = RetVal.RecordBuff.LenVal - Return Len(0).ValOrig + If RetVal.retval > 0 Then + Len = RetVal.RecordBuff.LenVal + Return Len(0).ValOrig - Else - 'MsgBox("Error on reading actual tool length" & vbCrLf & "Class: " & Str(ErrClass) & " Number: 0x" & Hex(ErrNum)) - Return 0 - End If + Else + 'MsgBox("Error on reading actual tool length" & vbCrLf & "Class: " & Str(ErrClass) & " Number: 0x" & Hex(ErrNum)) + Return 0 + End If - End Function + End Function - ' --------------------------------------------------------------- - ' Lettura Diametro correttore corrente su processo passato per parametro - '---------------------------------------------------------------- - Public Overrides Function GetActualToolDiam(ByVal nRecord As UInteger) As Double - Dim InputStruct As New OpenControl.GetOffsetTabRecordII - Dim RetVal As OpenControl.GetOffsetTabRecordIIR - Dim Len() As OpenControl.OFFSETVALII + ' --------------------------------------------------------------- + ' Lettura Diametro correttore corrente su processo passato per parametro + '---------------------------------------------------------------- + Public Overrides Function GetActualToolDiam(ByVal nRecord As UInteger) As Double + Dim InputStruct As New OpenControl.GetOffsetTabRecordII + Dim RetVal As OpenControl.GetOffsetTabRecordIIR + Dim Len() As OpenControl.OFFSETVALII - InputStruct.RecordNum = nRecord - RetVal = OsaiServer.GetOffsetTabRecordII(InputStruct) + InputStruct.RecordNum = nRecord + RetVal = OsaiServer.GetOffsetTabRecordII(InputStruct) - If RetVal.retval > 0 Then - Len = RetVal.RecordBuff.DiaVal - Return Len(0).ValOrig + If RetVal.retval > 0 Then + Len = RetVal.RecordBuff.DiaVal + Return Len(0).ValOrig - Else - 'MsgBox("Error on reading actual tool diameter" & vbCrLf & "Class: " & Str(ErrClass) & " Number: 0x" & Hex(ErrNum)) - Return 0 - End If + Else + 'MsgBox("Error on reading actual tool diameter" & vbCrLf & "Class: " & Str(ErrClass) & " Number: 0x" & Hex(ErrNum)) + Return 0 + End If - End Function - ' --------------------------------------------------------------- - ' Lettura Diametro correttore corrente 2 su processo passato per parametro - '---------------------------------------------------------------- - Public Overrides Function GetActualToolDiam2(ByVal nRecord As UInteger) As Double - Dim InputStruct As New OpenControl.GetOffsetTabRecordII - Dim RetVal As OpenControl.GetOffsetTabRecordIIR - Dim Len() As OpenControl.OFFSETVALII + End Function + ' --------------------------------------------------------------- + ' Lettura Diametro correttore corrente 2 su processo passato per parametro + '---------------------------------------------------------------- + Public Overrides Function GetActualToolDiam2(ByVal nRecord As UInteger) As Double + Dim InputStruct As New OpenControl.GetOffsetTabRecordII + Dim RetVal As OpenControl.GetOffsetTabRecordIIR + Dim Len() As OpenControl.OFFSETVALII - InputStruct.RecordNum = nRecord - RetVal = OsaiServer.GetOffsetTabRecordII(InputStruct) + InputStruct.RecordNum = nRecord + RetVal = OsaiServer.GetOffsetTabRecordII(InputStruct) - If RetVal.retval > 0 Then - Len = RetVal.RecordBuff.DiaVal + If RetVal.retval > 0 Then + Len = RetVal.RecordBuff.DiaVal - Return Len(0).ActChangeVal + Return Len(0).ActChangeVal - Else - 'MsgBox("Error on reading actual tool diameter2" & vbCrLf & "Class: " & Str(ErrClass) & " Number: 0x" & Hex(ErrNum)) - Return 0 - End If + Else + 'MsgBox("Error on reading actual tool diameter2" & vbCrLf & "Class: " & Str(ErrClass) & " Number: 0x" & Hex(ErrNum)) + Return 0 + End If - End Function + End Function #End Region #Region "METODI - Feed / Speed" - ' --------------------------------------------------------------- - ' Lettura Feed Override su processo passato per parametro - '---------------------------------------------------------------- - Public Overrides Function GetFeedOverride(Optional ByVal nProcess As Integer = 1) As UShort - Dim InputStruct As New OpenControl.GetNcInfo1 - Dim RetVal As OpenControl.GetNcInfo1R + ' --------------------------------------------------------------- + ' Lettura Feed Override su processo passato per parametro + '---------------------------------------------------------------- + Public Overrides Function GetFeedOverride(Optional ByVal nProcess As Integer = 1) As UShort + Dim InputStruct As New OpenControl.GetNcInfo1 + Dim RetVal As OpenControl.GetNcInfo1R - InputStruct.ProcNum = nProcess - RetVal = OsaiServer.GetNcInfo1(InputStruct) + InputStruct.ProcNum = nProcess + RetVal = OsaiServer.GetNcInfo1(InputStruct) - If RetVal.retval > 0 Then - Return RetVal.GetInfo.feedov / 100 + If RetVal.retval > 0 Then + Return RetVal.GetInfo.feedov / 100 - Else - ' MsgBox("Error on reading Feed Override" & vbCrLf & "Class: " & Str(ErrClass) & " Number: 0x" & Hex(ErrNum)) - Return 0 - End If + Else + ' MsgBox("Error on reading Feed Override" & vbCrLf & "Class: " & Str(ErrClass) & " Number: 0x" & Hex(ErrNum)) + Return 0 + End If - End Function + End Function - ' --------------------------------------------------------------- - ' Lettura Rapid Override su processo passato per parametro - '---------------------------------------------------------------- - Public Overrides Function GetRapidOverride(Optional ByVal nProcess As Integer = 1) As UShort - Dim InputStruct As New OpenControl.GetNcInfo1 - Dim RetVal As OpenControl.GetNcInfo1R + ' --------------------------------------------------------------- + ' Lettura Rapid Override su processo passato per parametro + '---------------------------------------------------------------- + Public Overrides Function GetRapidOverride(Optional ByVal nProcess As Integer = 1) As UShort + Dim InputStruct As New OpenControl.GetNcInfo1 + Dim RetVal As OpenControl.GetNcInfo1R - InputStruct.ProcNum = nProcess - RetVal = OsaiServer.GetNcInfo1(InputStruct) + InputStruct.ProcNum = nProcess + RetVal = OsaiServer.GetNcInfo1(InputStruct) - If RetVal.retval > 0 Then - Return RetVal.GetInfo.rapfeedov / 100 + If RetVal.retval > 0 Then + Return RetVal.GetInfo.rapfeedov / 100 - Else - 'MsgBox("Error on reading Rapid Override" & vbCrLf & "Class: " & Str(ErrClass) & " Number: 0x" & Hex(ErrNum)) - Return 0 - End If + Else + 'MsgBox("Error on reading Rapid Override" & vbCrLf & "Class: " & Str(ErrClass) & " Number: 0x" & Hex(ErrNum)) + Return 0 + End If - End Function + End Function - ' --------------------------------------------------------------- - ' Lettura Speed Override su processo passato per parametro - '---------------------------------------------------------------- - Public Overrides Function GetSpeedOverride(Optional ByVal nProcess As Integer = 1) As UShort - Dim InputStruct As New OpenControl.GetNcInfo1 - Dim RetVal As OpenControl.GetNcInfo1R + ' --------------------------------------------------------------- + ' Lettura Speed Override su processo passato per parametro + '---------------------------------------------------------------- + Public Overrides Function GetSpeedOverride(Optional ByVal nProcess As Integer = 1) As UShort + Dim InputStruct As New OpenControl.GetNcInfo1 + Dim RetVal As OpenControl.GetNcInfo1R - InputStruct.ProcNum = nProcess - RetVal = OsaiServer.GetNcInfo1(InputStruct) + InputStruct.ProcNum = nProcess + RetVal = OsaiServer.GetNcInfo1(InputStruct) - If RetVal.retval > 0 Then - Return RetVal.GetInfo.speedov / 100 + If RetVal.retval > 0 Then + Return RetVal.GetInfo.speedov / 100 - Else - 'MsgBox("Error on reading Speed Override" & vbCrLf & "Class: " & Str(ErrClass) & " Number: 0x" & Hex(ErrNum)) - Return 0 - End If - End Function + Else + 'MsgBox("Error on reading Speed Override" & vbCrLf & "Class: " & Str(ErrClass) & " Number: 0x" & Hex(ErrNum)) + Return 0 + End If + End Function - ' --------------------------------------------------------------- - ' Lettura velocità rapido programmata su processo passato per parametro - '---------------------------------------------------------------- - Public Overrides Function GetProgrammedRapid(Optional ByVal nProcess As Integer = 1) As Double - Dim InputStruct As New OpenControl.GetNcInfo1 - Dim RetVal As OpenControl.GetNcInfo1R + ' --------------------------------------------------------------- + ' Lettura velocità rapido programmata su processo passato per parametro + '---------------------------------------------------------------- + Public Overrides Function GetProgrammedRapid(Optional ByVal nProcess As Integer = 1) As Double + Dim InputStruct As New OpenControl.GetNcInfo1 + Dim RetVal As OpenControl.GetNcInfo1R - InputStruct.ProcNum = nProcess - RetVal = OsaiServer.GetNcInfo1(InputStruct) + InputStruct.ProcNum = nProcess + RetVal = OsaiServer.GetNcInfo1(InputStruct) - If RetVal.retval > 0 Then - Return RetVal.GetInfo.rapidfeed + If RetVal.retval > 0 Then + Return RetVal.GetInfo.rapidfeed - Else - 'MsgBox("Error on reading Programmed Rapid " & vbCrLf & "Class: " & Str(ErrClass) & " Number: 0x" & Hex(ErrNum)) - Return 0 - End If - End Function + Else + 'MsgBox("Error on reading Programmed Rapid " & vbCrLf & "Class: " & Str(ErrClass) & " Number: 0x" & Hex(ErrNum)) + Return 0 + End If + End Function - ' --------------------------------------------------------------- - ' Lettura Feed programmata su processo passato per parametro - '---------------------------------------------------------------- - Public Overrides Function GetProgrammedFeed(Optional ByVal nProcess As Integer = 1) As Double - Dim InputStruct As New OpenControl.GetNcInfo1 - Dim RetVal As OpenControl.GetNcInfo1R + ' --------------------------------------------------------------- + ' Lettura Feed programmata su processo passato per parametro + '---------------------------------------------------------------- + Public Overrides Function GetProgrammedFeed(Optional ByVal nProcess As Integer = 1) As Double + Dim InputStruct As New OpenControl.GetNcInfo1 + Dim RetVal As OpenControl.GetNcInfo1R - InputStruct.ProcNum = nProcess - RetVal = OsaiServer.GetNcInfo1(InputStruct) + InputStruct.ProcNum = nProcess + RetVal = OsaiServer.GetNcInfo1(InputStruct) - If RetVal.retval > 0 Then - Return RetVal.GetInfo.progrfeed + If RetVal.retval > 0 Then + Return RetVal.GetInfo.progrfeed - Else - 'MsgBox("Error on reading Programmed Feed " & vbCrLf & "Class: " & Str(ErrClass) & " Number: 0x" & Hex(ErrNum)) - Return 0 - End If - End Function + Else + 'MsgBox("Error on reading Programmed Feed " & vbCrLf & "Class: " & Str(ErrClass) & " Number: 0x" & Hex(ErrNum)) + Return 0 + End If + End Function - ' --------------------------------------------------------------- - ' Lettura Speed programmata su processo passato per parametro - '---------------------------------------------------------------- - Public Overrides Function GetProgrammedSpeed(Optional ByVal nProcess As Integer = 1) As Double - Dim InputStruct As New OpenControl.GetNcInfo1 - Dim RetVal As OpenControl.GetNcInfo1R + ' --------------------------------------------------------------- + ' Lettura Speed programmata su processo passato per parametro + '---------------------------------------------------------------- + Public Overrides Function GetProgrammedSpeed(Optional ByVal nProcess As Integer = 1) As Double + Dim InputStruct As New OpenControl.GetNcInfo1 + Dim RetVal As OpenControl.GetNcInfo1R - InputStruct.ProcNum = nProcess - RetVal = OsaiServer.GetNcInfo1(InputStruct) + InputStruct.ProcNum = nProcess + RetVal = OsaiServer.GetNcInfo1(InputStruct) - If RetVal.retval > 0 Then - Return RetVal.GetInfo.progrspeed + If RetVal.retval > 0 Then + Return RetVal.GetInfo.progrspeed - Else - 'MsgBox("Error on reading Programmed Feed " & vbCrLf & "Class: " & Str(ErrClass) & " Number: 0x" & Hex(ErrNum)) - Return ErrMsg - End If - End Function + Else + 'MsgBox("Error on reading Programmed Feed " & vbCrLf & "Class: " & Str(ErrClass) & " Number: 0x" & Hex(ErrNum)) + Return ErrMsg + End If + End Function - ' --------------------------------------------------------------- - ' Lettura Feed reale su processo passato per parametro - '---------------------------------------------------------------- - Public Overrides Function GetActualFeed(Optional ByVal nProcess As Integer = 1) As Double - Dim InputStruct As New OpenControl.GetNcInfo1 - Dim RetVal As OpenControl.GetNcInfo1R + ' --------------------------------------------------------------- + ' Lettura Feed reale su processo passato per parametro + '---------------------------------------------------------------- + Public Overrides Function GetActualFeed(Optional ByVal nProcess As Integer = 1) As Double + Dim InputStruct As New OpenControl.GetNcInfo1 + Dim RetVal As OpenControl.GetNcInfo1R - InputStruct.ProcNum = nProcess - RetVal = OsaiServer.GetNcInfo1(InputStruct) + InputStruct.ProcNum = nProcess + RetVal = OsaiServer.GetNcInfo1(InputStruct) - If RetVal.retval > 0 Then - Return RetVal.GetInfo.realfeed + If RetVal.retval > 0 Then + Return RetVal.GetInfo.realfeed - Else - 'MsgBox("Error on reading Actual Feed " & vbCrLf & "Class: " & Str(ErrClass) & " Number: 0x" & Hex(ErrNum)) - Return 0 - End If - End Function + Else + 'MsgBox("Error on reading Actual Feed " & vbCrLf & "Class: " & Str(ErrClass) & " Number: 0x" & Hex(ErrNum)) + Return 0 + End If + End Function - ' --------------------------------------------------------------- - ' Lettura Speed reale su processo passato per parametro - '---------------------------------------------------------------- - Public Overrides Function GetActualSpeed(Optional ByVal nProcess As Integer = 1) As Double - Dim InputStruct As New OpenControl.GetNcInfo1 - Dim RetVal As OpenControl.GetNcInfo1R + ' --------------------------------------------------------------- + ' Lettura Speed reale su processo passato per parametro + '---------------------------------------------------------------- + Public Overrides Function GetActualSpeed(Optional ByVal nProcess As Integer = 1) As Double + Dim InputStruct As New OpenControl.GetNcInfo1 + Dim RetVal As OpenControl.GetNcInfo1R - InputStruct.ProcNum = nProcess - RetVal = OsaiServer.GetNcInfo1(InputStruct) + InputStruct.ProcNum = nProcess + RetVal = OsaiServer.GetNcInfo1(InputStruct) - If RetVal.retval > 0 Then - Return RetVal.GetInfo.realspeed + If RetVal.retval > 0 Then + Return RetVal.GetInfo.realspeed - Else - 'MsgBox("Error on reading Actual Speed " & vbCrLf & "Class: " & Str(ErrClass) & " Number: 0x" & Hex(ErrNum)) - Return 0 - End If - End Function + Else + 'MsgBox("Error on reading Actual Speed " & vbCrLf & "Class: " & Str(ErrClass) & " Number: 0x" & Hex(ErrNum)) + Return 0 + End If + End Function #End Region #Region "METODI - copia files" - Public Overrides Function CopyFileToNC(ByVal sz_logical_drive As String, - ByVal sz_source_filename As String, - ByVal sz_dest_filename As String) As Short + Public Overrides Function CopyFileToNC(ByVal sz_logical_drive As String, + ByVal sz_source_filename As String, + ByVal sz_dest_filename As String) As Short - Return PutFile(sz_source_filename, "PROGRAMS" & "\\" & sz_dest_filename, ErrClass, ErrNum, 0) + Return PutFile(sz_source_filename, "PROGRAMS" & "\\" & sz_dest_filename, ErrClass, ErrNum, 0) - End Function + End Function - 'utilizzabile per la copia di file verso cnc + 'utilizzabile per la copia di file verso cnc - Public Overrides Function PutFile(ByRef szPathFile As String, ByVal szTargetPath As String, ByRef nErrClass As UInteger, ByRef nErrNum As UInteger, ByRef FileSize As Integer) As Integer - Dim oPutFile As New OpenControl.PutFile - Dim retPutFile As New OpenControl.PutFileR - Dim szData As String + Public Overrides Function PutFile(ByRef szPathFile As String, ByVal szTargetPath As String, ByRef nErrClass As UInteger, ByRef nErrNum As UInteger, ByRef FileSize As Integer) As Integer + Dim oPutFile As New OpenControl.PutFile + Dim retPutFile As New OpenControl.PutFileR + Dim szData As String - oPutFile.PathName = szTargetPath + oPutFile.PathName = szTargetPath - szData = "" + szData = "" - 'apro il file in szPathFile - szData = My.Computer.FileSystem.ReadAllText(szPathFile, System.Text.Encoding.UTF8) + 'apro il file in szPathFile + szData = My.Computer.FileSystem.ReadAllText(szPathFile, System.Text.Encoding.UTF8) - oPutFile.Data = szData - oPutFile.Size = FileSize + oPutFile.Data = szData + oPutFile.Size = FileSize - 'calcolo la dimensione in byte e la metto in oPutFile.Size - oPutFile.Size = szData.Length + 'calcolo la dimensione in byte e la metto in oPutFile.Size + oPutFile.Size = szData.Length - retPutFile = OsaiServer.PutFile(oPutFile) + retPutFile = OsaiServer.PutFile(oPutFile) - nErrClass = retPutFile.ErrClass - nErrNum = retPutFile.ErrNum + nErrClass = retPutFile.ErrClass + nErrNum = retPutFile.ErrNum - PutFile = retPutFile.retval + PutFile = retPutFile.retval - End Function + End Function #End Region - ' ---------------------------------------------------------------------------------------------------------------------------- - ' Lettura Errori CN - ' ---------------------------------------------------------------------------------------------------------------------------- - 'Public Function ReadCurrentErrorMsg(ByVal nProcess As Integer, ByRef MessaggioErr() As String, ByRef nErrClass As UInteger, ByRef nErrNum As UInteger) As Integer + ' ---------------------------------------------------------------------------------------------------------------------------- + ' Lettura Errori CN + ' ---------------------------------------------------------------------------------------------------------------------------- + 'Public Function ReadCurrentErrorMsg(ByVal nProcess As Integer, ByRef MessaggioErr() As String, ByRef nErrClass As UInteger, ByRef nErrNum As UInteger) As Integer - ' Dim oReadCurrentErrorMsg As New OpenControl.ReadCurrentErrorMsg - ' Dim retReadCurrentErrorMsg As New OpenControl.ReadCurrentErrorMsgR + ' Dim oReadCurrentErrorMsg As New OpenControl.ReadCurrentErrorMsg + ' Dim retReadCurrentErrorMsg As New OpenControl.ReadCurrentErrorMsgR - ' oReadCurrentErrorMsg.Process = nProcess - ' retReadCurrentErrorMsg = OsaiServer.ReadCurrentErrorMsg(oReadCurrentErrorMsg) - ' 'SOAP function call - ' Dim datoErr As New CndexLinkDotNet.Cndex.MSG_ERROR + ' oReadCurrentErrorMsg.Process = nProcess + ' retReadCurrentErrorMsg = OsaiServer.ReadCurrentErrorMsg(oReadCurrentErrorMsg) + ' 'SOAP function call + ' Dim datoErr As New CndexLinkDotNet.Cndex.MSG_ERROR - ' Try - ' datoErr.BootID = CUInt(retReadCurrentErrorMsg.Data.BootID) - ' datoErr.UnIdSeq = CUInt(retReadCurrentErrorMsg.Data.UnIdSeq) - ' datoErr.Code_Err = CUInt(retReadCurrentErrorMsg.Data.CodeErr) - ' datoErr.Comando = CByte(retReadCurrentErrorMsg.Data.Comando) - ' datoErr.FormatTxt = retReadCurrentErrorMsg.Data.FormatTxt - ' datoErr.Process = retReadCurrentErrorMsg.Data.Process - ' datoErr.SubCom = CByte(retReadCurrentErrorMsg.Data.SubCom) + ' Try + ' datoErr.BootID = CUInt(retReadCurrentErrorMsg.Data.BootID) + ' datoErr.UnIdSeq = CUInt(retReadCurrentErrorMsg.Data.UnIdSeq) + ' datoErr.Code_Err = CUInt(retReadCurrentErrorMsg.Data.CodeErr) + ' datoErr.Comando = CByte(retReadCurrentErrorMsg.Data.Comando) + ' datoErr.FormatTxt = retReadCurrentErrorMsg.Data.FormatTxt + ' datoErr.Process = retReadCurrentErrorMsg.Data.Process + ' datoErr.SubCom = CByte(retReadCurrentErrorMsg.Data.SubCom) - ' Dim text2 As MESSAGE_TEXT - ' text2.Line1 = "" - ' text2.Line2 = "" - ' text2.Line3 = "" - ' text2.Line4 = "" + ' Dim text2 As MESSAGE_TEXT + ' text2.Line1 = "" + ' text2.Line2 = "" + ' text2.Line3 = "" + ' text2.Line4 = "" - ' 'Invoke native function TranslateErrorMsg() in library OSAI_ErrorMgr.dll - ' TranslateErrorMsg(datoErr, text2) + ' 'Invoke native function TranslateErrorMsg() in library OSAI_ErrorMgr.dll + ' TranslateErrorMsg(datoErr, text2) - ' ReDim MessaggioErr(4) + ' ReDim MessaggioErr(4) - ' 'Display error message text - ' MessaggioErr(1) = text2.Line1 - ' MessaggioErr(2) = text2.Line2 - ' MessaggioErr(3) = text2.Line3 - ' MessaggioErr(4) = text2.Line4 - ' Catch ex As Exception + ' 'Display error message text + ' MessaggioErr(1) = text2.Line1 + ' MessaggioErr(2) = text2.Line2 + ' MessaggioErr(3) = text2.Line3 + ' MessaggioErr(4) = text2.Line4 + ' Catch ex As Exception - ' Return 0 - ' 'Dim text2 As MESSAGE_TEXT - ' 'text2.Line1 = "" - ' 'text2.Line2 = "" - ' 'text2.Line3 = "" - ' 'text2.Line4 = "" + ' Return 0 + ' 'Dim text2 As MESSAGE_TEXT + ' 'text2.Line1 = "" + ' 'text2.Line2 = "" + ' 'text2.Line3 = "" + ' 'text2.Line4 = "" - ' ''Invoke native function TranslateErrorMsg() in library OSAI_ErrorMgr.dll - ' 'TranslateErrorMsg(datoErr, text2) + ' ''Invoke native function TranslateErrorMsg() in library OSAI_ErrorMgr.dll + ' 'TranslateErrorMsg(datoErr, text2) - ' 'ReDim MessaggioErr(4) + ' 'ReDim MessaggioErr(4) - ' ''Display error message text - ' 'MessaggioErr(1) = text2.Line1 - ' 'MessaggioErr(2) = text2.Line2 - ' 'MessaggioErr(3) = text2.Line3 - ' 'MessaggioErr(4) = text2.Line4 - ' End Try + ' ''Display error message text + ' 'MessaggioErr(1) = text2.Line1 + ' 'MessaggioErr(2) = text2.Line2 + ' 'MessaggioErr(3) = text2.Line3 + ' 'MessaggioErr(4) = text2.Line4 + ' End Try - ' ReadCurrentErrorMsg = retReadCurrentErrorMsg.retval + ' ReadCurrentErrorMsg = retReadCurrentErrorMsg.retval - 'End Function + 'End Function - '------------------------------ - ' Lettura messaggio DIS - '------------------------------ + '------------------------------ + ' Lettura messaggio DIS + '------------------------------ - Public Overrides Function ReadDisMsg(Optional ByVal nProcess As Integer = 1, Optional ByVal nMac As Integer = 1) As String - Dim InputStruct As New OpenControl.ReadPartProgramMsg - Dim RetVal As OpenControl.ReadPartProgramMsgR + Public Overrides Function ReadDisMsg(Optional ByVal nProcess As Integer = 1, Optional ByVal nMac As Integer = 1) As String + Dim InputStruct As New OpenControl.ReadPartProgramMsg + Dim RetVal As OpenControl.ReadPartProgramMsgR - InputStruct.ProcNum = nProcess - RetVal = OsaiServer.ReadPartProgramMsg(InputStruct) + InputStruct.ProcNum = nProcess + RetVal = OsaiServer.ReadPartProgramMsg(InputStruct) - If RetVal.retval > 0 Then - Return RetVal.PartProgramMsg + If RetVal.retval > 0 Then + Return RetVal.PartProgramMsg - Else - mErrMsg = "Error on reading DIS messages" - mErrClass = RetVal.ErrClass - mErrNum = RetVal.ErrNum - Return "" - End If + Else + mErrMsg = "Error on reading DIS messages" + mErrClass = RetVal.ErrClass + mErrNum = RetVal.ErrNum + Return "" + End If - End Function + End Function - ' ------------------------------------------------- - ' Lettura Linee programma corrente - '-------------------------------------------------- - Public Overrides Function ReadPPLines(ByVal nProcess As Integer, ByRef EightLines() As String, ByRef nErrClass As UInteger, ByRef nErrNum As UInteger) As Boolean - Dim InputStruct As New OpenControl.GetPartProgramLines - Dim RetVal As OpenControl.GetPartProgramLinesR + ' ------------------------------------------------- + ' Lettura Linee programma corrente + '-------------------------------------------------- + Public Overrides Function ReadPPLines(ByVal nProcess As Integer, ByRef EightLines() As String, ByRef nErrClass As UInteger, ByRef nErrNum As UInteger) As Boolean + Dim InputStruct As New OpenControl.GetPartProgramLines + Dim RetVal As OpenControl.GetPartProgramLinesR - InputStruct.ProcNum = nProcess - RetVal = OsaiServer.GetPartProgramLines(InputStruct) + InputStruct.ProcNum = nProcess + RetVal = OsaiServer.GetPartProgramLines(InputStruct) - If RetVal.retval > 0 Then - EightLines(0) = RetVal.PPLine1 - EightLines(1) = RetVal.PPLine2 - EightLines(2) = RetVal.PPLine3 - EightLines(3) = RetVal.PPLine4 - EightLines(4) = RetVal.PPLine5 - EightLines(5) = RetVal.PPLine6 - EightLines(6) = RetVal.PPLine7 - EightLines(7) = RetVal.PPLine8 + If RetVal.retval > 0 Then + EightLines(0) = RetVal.PPLine1 + EightLines(1) = RetVal.PPLine2 + EightLines(2) = RetVal.PPLine3 + EightLines(3) = RetVal.PPLine4 + EightLines(4) = RetVal.PPLine5 + EightLines(5) = RetVal.PPLine6 + EightLines(6) = RetVal.PPLine7 + EightLines(7) = RetVal.PPLine8 - Return True + Return True - Else - mErrMsg = "Error on reading PP Lines" - mErrClass = RetVal.ErrClass - mErrNum = RetVal.ErrNum + Else + mErrMsg = "Error on reading PP Lines" + mErrClass = RetVal.ErrClass + mErrNum = RetVal.ErrNum - Return False - End If - End Function + Return False + End If + End Function #Region "METODI - funz. aux ( short <> ushort), ..." - ' ---------------------------------------- - ' Trasforma un Unsigned Short in un Short - ' ---------------------------------------- - Public Function UShortToShort(ByVal usValue As UShort) As Short - Dim dValue As Double - Dim numBit As Byte + ' ---------------------------------------- + ' Trasforma un Unsigned Short in un Short + ' ---------------------------------------- + Public Function UShortToShort(ByVal usValue As UShort) As Short + Dim dValue As Double + Dim numBit As Byte - 'numero bit tipo di dato (short -> 16 bit, integer -> 32 bit, long -> 64bit) - numBit = 16 + 'numero bit tipo di dato (short -> 16 bit, integer -> 32 bit, long -> 64bit) + numBit = 16 - If usValue > (2 ^ (numBit - 1) - 1) Then - dValue = CDbl(usValue) - dValue = dValue - CDbl(2 ^ numBit) - UShortToShort = CShort(dValue) - Else - UShortToShort = CShort(usValue) - End If + If usValue > (2 ^ (numBit - 1) - 1) Then + dValue = CDbl(usValue) + dValue = dValue - CDbl(2 ^ numBit) + UShortToShort = CShort(dValue) + Else + UShortToShort = CShort(usValue) + End If - Return UShortToShort - End Function + Return UShortToShort + End Function - ' ---------------------------------------- - ' Trasforma uno Short in un UnisignedShort - ' ---------------------------------------- - Public Function ShortToUShort(ByVal sValue As Short) As UShort - Dim dValue As Double - Dim numBit As Byte + ' ---------------------------------------- + ' Trasforma uno Short in un UnisignedShort + ' ---------------------------------------- + Public Function ShortToUShort(ByVal sValue As Short) As UShort + Dim dValue As Double + Dim numBit As Byte - 'numero bit tipo di dato (short -> 16 bit, integer -> 32 bit, long -> 64bit) - numBit = 16 + 'numero bit tipo di dato (short -> 16 bit, integer -> 32 bit, long -> 64bit) + numBit = 16 - If sValue < 0 Then - dValue = CDbl(sValue) - dValue = dValue + CDbl(2 ^ numBit) - ShortToUShort = CUShort(dValue) - Else - ShortToUShort = CUShort(sValue) - End If + If sValue < 0 Then + dValue = CDbl(sValue) + dValue = dValue + CDbl(2 ^ numBit) + ShortToUShort = CUShort(dValue) + Else + ShortToUShort = CUShort(sValue) + End If - Return ShortToUShort + Return ShortToUShort - End Function + End Function #End Region diff --git a/CVCncLib/testSam.dll b/CVCncLib/testSam.dll index e13ee8be9c1e84b0254192b7b25d661782cc8ccc..80054d6bb77b8bd7faa074253c3156e42509dfd7 100644 GIT binary patch delta 201646 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%0A9jf;He3o<-f5?vyhOfjWu$8> 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

nM;7aPD`?$k~W5alH)Z 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 RJ7w#z?L!a8{3j*u{{eTgm8bv! delta 202071 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 z zc?O^%GuRMqf(i-RA`sdHC1e4L$zmZ?x^nB*l2nBYC+*kD~o`6?FfYT z@h7#;!uzqoYujoWgju}bLN)n%ydZzHZ)5zkGq>UcckKK#=^fCRqR}(G^mR8J(S(_1 zM4uQD*|u5+VOB&tp?dvF1U#h$wc8Ee0Pc%c{_Z(x=#y8aQ>sy?7+qm@ij-vBQ(8A4 z?ut*10CubVr?e(DjQSTorFFVKYm29~Ag`n4vQ-0~#y?2JOg_~;n^x%cXP-86-C$7J zmRbg3R<1umwX0M0M^p7jS=F!M@sM5pGIef_7TuOdBZ3HcWwNJ-N7E#q8rFF9@w{q4 zu6ag_mnv*DLSrXUb+rrve5#wnvC}NAV>hS39-+X-RUTNa9;$4P7F9m7npH)1d6pJm zm-}av5t(?2L}-NAp*{0#6`?&!p{17#ZH!&BRy|bSY^{Be6s?9eTu`Zsr^{g&@Q(#LPKbhwD$Fy>q~tDI){l z*96Vg8XEKG>OtCnt~nGwGZ@8;h5{k>Q22VT*75p`E#`r7;f?0`;yg3Ytp=-@Ql5m^ zd4|k)$}?rY7UX(Y#p+tT7IskWop0q?>#E6E@`C2C>MqbCWJYc?XxX->Hy!$TnuBcN z0=LS1_xz!xinYt70S2}t-pr^{2uf-cH4`(iGVpW-s ze^HB&d9}mf7FTiTeM0Qy%U*PfqUSxNgxItXzEs5k z_<{z&P96Z-@N3K9bpzG+S3{K<&lg5K;)>!S#E$2nsv@4RDV{=!XU4Vh$OXZnTk>Dl zdP|RdX@nwP;#7}CS}k)-3|!>Y8;cjAH&!rth$>#BH7PeR!g^tMQ}vYS{)$Mq9A_)3*6)_MmUv$LkX*4MITr)*jD#o7>=54#L%HXUH*-g}AD z>NkH0xX#`vSN)|X*KULBtV&y|SzMnjb>gbK3|#e9+8bI+<@=)6xOJ;$KAy&w42zC+ zHM=ImWhUz$gSDI!6}4RRv2tDR#6N#I_`Cjh{`$El|6YT?oD;Ps*XI8$*NMMw9{5N8 zcYZz38WSI!i|# zFoLSYpO!%I+m1X=ZI{B9KiJWK(MmHO1}U4BkqJ!+O!QJ-z^ zn)Nws1XYPYErU*4^$A~FMR=(cUW(MGYwsH!KYP}i^(it!F>I+m1X=aznqNf#Qz?MQ zr9SsN)@Ml-_4z5^tj`f6s7m~48FbRBPrvu72rrw$%aZy$cf<8L^PX9sqedu(E!Br0 zt3LOvt0I8sDS+psKJPl#XK@wvsrJ5EpJF4ZO8jXVbkeHNxc93F?*$4kN9t2_!}am` zz^qS+5sG0;^&!Zr&(sf`mc1PxVA-qFMbIDkF=o3(S6D-B?h}qel_=qkF?I=yfgU8;I3$|We{%hZ-DysAG_4~ zSPSa>82B5RPiS9l6;N$XE{b0DmFK>X&B`A)B6+Njdi!H7&@B4ykDWTa=_lY`{D0(5 z|HS0}+2CH>M}6{%&0X|~6L;HBQTI>(Q{5l`)U11{!C28=%OKpU`vIssJ_OoDv+XNm zw)Ihkb>03gtYLqhYyI>MX4WT+7>d}kp^uh9h&9!I+2E9Y=Z#v>!0I<&-RmRmtq<=v z@Q(!79x78$n)cMgW6vfPo}<6M(VP*#7?D-KS)JKv_lMsmr-(*x!USx3v&!D2wdf?z zdwB+!yqJE{tYOW5JS(dh!uOlZ;{0laAP$?WxXt!Mhyk0O=A+uI1y%2g$}~~IoAJbN z?>5cXh^Jgh_@TYTV?PhYy>rEQ8g0?K*W-zL(uk*`Hvxu|l7tF>_Ys zA++juno%}Y`wFz$osDM{|2fQu3(PQ28DUoRT;H6{zZ6sv-9HrF1(mQ-^B*|%|KHK| znK`;n8!=AB==!YO=-TQyy0&6;DU7bIT1(^G1bcnGW^v!XRqG~;`x%2wOheFLgxG6) zuWe3i>-=qCed}hGzfFrWSh;iLizxexA9;XuWt$c!tY-~YF{KCTgxI6xneA14r{dof z{m>8}`04`R0#^7QYO};s?&}_FVwsmXOstAm*g>D0&-l+7p@|m?jSxGu??101wB{6A zV7bs{*UAv1;&}*EvoDb zt!YR53W9&dz4ovhT)h*%G>81}MkwO139c)ISl5;JzI56~UHKA`gxsQnzp_TW!`EXe zUunH$#Q$NCifN=e`IWt1|MQg-W8Ym^ulwHOk=ji8VY;cTEn020>=mu9TKj@l!* z4f9I(cA-<9&ll3Vj`?=^My@6!zc#1VKL(+g(kv&$p5+I=u42ddKU#nuQw6*6wc(B% z%y;HDX1@O#^lTaEMTgeF`t2L1gnNFA0+-$(;o@&i!ixqWTZWjmt^J+W(Q#k=3}yMW zWLZn)9l4R|v+g^S^pZi!mVsV$Xk~fR_fA=+e2*;K-XP&u-OAX%NdMLjiwdQ2zZFcj02c2?%_aJIL^#*HQ=a5-zS50{_ zi!B4yq(gSCpEy*-uzHu0T%&UKYXNbNMd#PV9E#rZ2eas!5zbsGIvrX?f9{7WioTxW z`B3E@K)r8lkhec<*1>HM=aFTg7adxI{MExwg+F^3gYJX>r~DI(%>1hvVSFI@)1j4r zev#9XeWeKfUwDIg4?kk&UELsLOKU~>@`zK$0Y^b~nyCEMm13=W+j7@p?rNuJOVf{P zU1fsRFsRFUQpHE@=SydfIt9_a7?+GXeO3OCT0@G$$NWaw;Wi|%*t~Ff8rY~{avy`0Ev=>GlM_yb_WT7@)m6^f8yZ)melf>YU4u(ZXh}4n3&_wHSSy)8IO! z=AF`781Dzxux`a=kiBx!48zX|W3-C>1A~kXtwH8GJUv|7dt>X-* z7bhQ}nQ%Wo%qLs7*^gkt`#B8K$;$Z)H9RZfKZ1|)P+yj5k#f!VH$n|p*%vTc=+Nr2 zR=;VT97CN%p-!wk)Six^zI4N(9{SA;HNXh9r-Vv}R;V3+*E$V!s_GO9^?&6;9cowg z&dNfiA>aHuqweJI=7?`(#B`^`M2A*PNq;zv_~n1lYZ;X>qo3-~$e+B>xk&2bALcH# zu@Od!gh7W^7|DM+h4Jp62;*c&r(yMC6=8V&Wroqj2;-zm`pf=HhP1z&0@(Z)0?2W! zgI+}d&CZ(vG&KUqkvhphGK+ zoWGsIIQloj*zFXC{7r>J7;zWOFanJ*c2gMEAC}}@a0=k;1q5*P|0#gPf6M@y8vz_u zIse!J~rum-S%*#$+0q(sF{*eAR_;|1574x3uCWBf`>7IoUyUc5^IF`_XvX$(thD91>hD*LN0iuYn@_N?^EbES`1?j_)}XIKrRiz)5Z+Q~UcR%; zjW2!{u0hz6hS*u-8)G%9mOEH#*w)C#j!4TO%*y8VTJFw{qpJ<|VK_d_J$s5hx{CVK zp8z#bm!HQU@NVhqu5CUStLiJexwYMGWW|p#0=&i*Rzo^x|G9^Mohn9K7mBpAD)V#u zxBs)U9_WQ?CD~uy*{{RMz3zu~+{RxJM;bxdUbGCttg1Ees-kMWD3+e(s@B)8TEhV< zINaUnMqX6g?BzDzDu^;dGK}d(HG-^*g=**RcKG|e8Q$(7t$GB-gyJ=;v!*Ibw}K#7RSy;_J5F zSIqQvD#BO3ZhFEQ6W|W8sl#?+c;4akI6KnMZTwwzJA;~i_@f61uo7S7=R{uW=MHMW z2t8n~#?}hO0obWuJwLkDGv`NpgWmR{We{e~kC*GYo!_2&jONE=nXB6?i-i|Hhgj;H zv2-wEvAt*+gxRswcNzwz_1!@|PC7@xvDno>7gd}Zw=^&>SsjgFY=>F~VOB7?4V;2G z+rS+Z@15who8futaEp}K&~5xZLnkAaO8jXVbkf>kGj`K_{)C3jCddsvCgWo1Ca(1Kj0iukm+=_OQ8T_NE1xv$u;8i8yJf_6FFqw%dc4?_<~{AS1z0%H8D3&-3?aTR?8sF8vhNN zx;sDU^e}4!EexNQyKr`~FPx{#55g*6v|bA;dC@w~h^nGJe)Af*HQs!iIrc&`cTi-V zf#qgqmHeyVQ265w{)+Zm2H_UJSD+LB@IZG^m$o;^U+yw49kedc-9``lehb^|3o?;Quj5b0<;R){W={m`33EIe+qZaW>34x-BpU;+lZy2 zS1p5ZtN0JxRKZ9OAYf4`zorb=lq!>`bpX1ylK>gy5FuuIy%m^$M{z@S;PjM9;N!;@;m9+<}As z^R76&mANav#o)fyiIzd z4%DxI`}{*|6k_;)FGOUhS%|(y5Z5}GN)}CiM`5TFjcLC9(E^dpp)?z@3kE2UVYiVmDU1 zd%6SEu6FKP=Fbc9SEuv20Of}L)wBNLc5dSjmy(PqD!Qv@-gx}fu8O<#X;gp=DZo2c z0n*xEw*arSHw$pPK`mxY)W!C80cv+}D!{M~xZm850$7)z@;}(cC0IZuC|7~2U#xw< zgWGtqcBm1?eihpVmt;D$u0)MHR`DIfJW7AAO77tHkH6v=5D!X+fVOos1G>Wq=!yhH zhgLx0ogCM|PFM#*huE{wd~P#&E|uf@>%fM)++TK0_T{&&co4`VUwi9t&EMr__cWhZjWFU7e{?Y; z#JZUM*3)TB^z4O5qLc8C3%J9L>EO^MZ}&30WTZhVreUgif;|)>6P&svBLR%VlW4nD zZUTf=`PTA}3FZVCWpIlVN|+EU;oEyVCA_>h=pRi|1-;!j@aA&$K4z6i8>C`NZvhZu zcX(DGrw-rS2duM`=+>ZIhnIV>Z_Pq;-*8QbC){j?GR6o+{MA=WZ+2ThI{DtsPRU=n z8CQxGNtIkFp4S|&6t~}EUMZ3da@&iRL6~)=SbK|8A+FrQ`}Lq(-2qiTv%Kq8xABtx zeFo`v1w;B)g8-|;3vP89Z*}{E@wkfV>o(u5sp>n(*?rx{uR-2#@Ul6*U_*fY#pB<7 zol@<48@4M~Q0(ho6erK3s+U`Nuimb_ew+Dt`~f49O8jXVbke%~)#~R|jbZ&T5Cdht8X(WHm?ILf2c+uw;uleR4$^1GA+kuK3qpX4E&D6t2RJLy|gD`7C9){}m zZ>HJ~!jh0zSzM*qM&4=fNbGBo+|o=RWG)Hgj0kKmS_WZu1cMwS7>o$ERuaKvKe`?| zL@?Nl;1MGN+l!V#m>t1j#|Vbt+19c01GCC!TaOPhpKXmdxGUOg8H8Ko@c`7X-v^;d z?x5Rh4XtEi&`zGWD#p;jE7|zh{O}8|_DXTp)6PR`ev&y~CK#br;#$j~lU96xCRK6A zGr0wJuaByv+uQ+h6#|`N|F(#|r*c@*a&I@6w24M^-LLhhWzb10y6Qu#h;BMXm#OlG zx&7PSQ^DO;PmL>oP`hHN`Ji@^5z{>?_HNu2(xDZF_Z?32d-xr=%uH3j_qrQK7^8TsY>E|) z0E@BrT~3>c`FG)o?5F>|+9h|H38xwCpGvjq(5iO7VNThqVc;(M@7%u(Gr7|Z?jqv0 zz6eOV+lh7g-Kg;;l{C`b(%bk|7MYx?3}>vD<|?k#t?w~+F^?LQ?4h+c9oqZH+ zh_m%X0F)<~DJ%K__OkO(w+Z+^_F->f9E?LD>Bc zl`z~L<;4$HvCiPv77nQloH0_hf1X3Q*A6$|1bWQi77z5B9E8{pbvuo4JO8r%cAC-K z@L@h;Pq)8Fyz>rKaJRdq5th*d-;J=ss(ID5vi3;x3jRMMEb%~_ctY$>cxq%7H}U%@ zti7}h`p1vE!(qXmoS`{y?P5lm>);e4s7m~48FbQ`6AMRGu@3$~;T@9j<~oK~hpr+H z%XF{NW_XVq;Z@>K%b=51cq>M`o&R*^CkpSF)v0ce9(Jd`gK)3e8aZ!4aB<|n?crA( zzxAhA96i*%W8AIe4accQ;I?NigD`7T@cNi4zMMQw@t!IdZ$CTUW0l3ri~UtwIr#&! ztKJNGv7SUFaoH=iIzbp zt)BkiK6j@MPA_YC1fgRQ4Qa}X&z0` zFTo!CFC3rca~X8XU%flq-B6_-bbHpaU=?)O-J-5_=uwR>%81Uh*1oojoX zdyPjzuJK5qgU8%*9_N`J8>(Ih+@3X!V$4&658(QER(Z{HhuYwBfM#{bk}g+VokY_P zpmE8pq&h}d&xg`=x|&WIUEOQn|Hs(bfX6j$eSDJHU!z6PRuBY5P!-iyE=5{ZK@k)| z5mW`ep z-}z^K{r5iS%$dm~uAzV)D1cMq(ZFJaYq7ZeMnAr~D7rbDR#^R<8-08{9>wRD5N3`~ zE!_m73@zay+fuZykVKww8ibiWqck^XPJ@Ti(;x}bAY5mfTQaA?L+NRd1ZfbiGtI2b zY48xOgWfmnIv9Af_X&?iKJivZnAxZL>YM#KxRs+vmLQ3m;D`t_H&LH+i;s94M;vSp zj=OVL{iIub#dtibm@P+`xni=s9z+>d79OG@;oimFI?JcTqftt331Q}x_0_X{OAS$U za|UmgMJe&|cod&oLYO%|wRAg(GPHz;xFxs$XWZ&r!lO}2ZV6%Ll=Z#0`j+m9qMHhC zY2?r<*d{VPT z{d0Ex!#DcVHOiti+#ABoX{fimK$M|3Je0moCpY+U;?XE2cZM)?%KDB5-`U+9J=&&7 zf^CWr(?GdvxaQQC-|i#c6GTK3L`1ljh`lKh8-s{Qf`|y$60!OYU*o+&L?l5(glmbI zbEl7ZUl0*V5E0>8A~vQ(yg!JDB#4M`EfEW6`x@s25s?HD5w0a-Yf8iif`~|hhzQpb zvGguq<6Mq7xE?P`d|NcP{?oVoK0^`4OS>&Xn0e9DK6?;E8TJ_-vimIB2}q(|csnD^ z+zX{?%A5udrKdp>q(QjOG!JD?gNM@7APLeSTxXhpXHJ8M+{wut!q?>fd;IAMk4H}N z=?P(Gr|K&k{c?Di<42|-iQ3?Z2s5{F+r2*EJPtV6Oyq*c-|Gv;<59uvIl{~Zljo0s zD8tgiL+NH9iMrr42s3v+-tc(T8_y15=HBY-9`J5F$?+pMkVI{8M1+~!sL!A4BhKfDgH0({ zJY}x07>`F4^Oz83u9(KO07Mzwz(eV7Ac@-GGzc@dL1~`KoCXi2r$G{=LAcH|PiIbp zhtks^3DO{3XPTDGY4A{b8YDp)gzHT6Oy)FrC_N35APvHGrg=7V8a$Mq21$?x;X2bi zmpKg{vS|kA44~HtcHR8*x%KMvd*iu7R;M=IXZ9Y0AC6!QT9Q-&l(Fuc~BU_pfH5%EbIjkWhe{}t+B8d)>s(IgTfF7g&|yLVXYv_P#7Mvg+*5j zB*7j-2nA($nMX_c#ms5&P2;(Vc- zHEh@V%4UB>d^uB|mz|wc(@z;FM>{!kEXL2;LmgD`|I&f!={p^h;M3oah6i!$}JD1COQi)P1{VT74yN9*Gi5M@|~c*q%7pVJ%Hd(sna#IQ*4BaOEFOoKxm z4mj76%NP}>lY2MD91`nmDK@y}v zxXv^knbY8*^fX9|=BEq#qEPl?{xP&97zZbm(E>J1&MWZU31Ye*K zW}XC{klzPUhVwoiN_QMd)C{LVn7J8Bvov!WJVcJCzT3Vuy+c$*9kMeBGj~{D{Jfvz z2b?AH8cEa)M?{#pnfi{Dh@BiU-I>nxx=|I?%_BpYxo#TShak$}3?52%21(Qmr$Lyx z8A|g}<}`R{4SNwWN%3_vd5I75RfCYKbEv%-m9ad8?1OEQp9C zh=_145qnc2{x^t-B#4M`EfK3<^fi7GL_`uqM7WlSIWPH$pK`?XRrzW9szenAv}aCU zE(kNbMa!iNL>X2k9!g)8NTOyq4Z_ULP@3hL)8L`>G)RIp2-lfrMdmbkC_N35APvHG zrui&$8azaMEcNX7*?RTOaDL~vd_JrH>y7wk_FW)+*Zmd$AQFEbZ|>8sfe15yDyF{r z6~A6qt~viommfb51If6ImG!9~$iW|tQnR}VGp8nZKL=5UMTCcF9`r$s_Qk${&(r3R z_iB8{f%LKoe{S>o?-#}Mpyp|-9mwMY3*i79UkU#lmhyvJCsJOw*cYl>z=y)lPkS5*YvvbxVHFKT+A1~iBwa+u$wTqzO~JMc%rS%+lW7bdoRsKgqdHs)sK12+xX?0 zGk!@K8(*^-n_lx7@h5_e2-lJ^?{%NCJIZK|;wR+gulx9TJUGQ5T<0m~D-dN^9e9XV zM~?fLPVO5%B_54Z@)ZMN=9KldZ}^tJ_R(qWbwG4jFMTOVP!!A!;acW4t=%X2CQ4$C z=D9Vu`zG*s)CBJ;gqfS5UDX4k40FRnG`I3M?NX?C)2GCvQA(a0!pte_m%Zs*`ZkJg zj^&o}-}3SCcod&oLYO%|we%f`GPHz;(oYnfDJk)2l#*LQm^o$r#J7D*-}~tFxxl)& zeM5LOip~uo%p9E>>IG4ThVT$IL@7%;d`dhTrR0VXW=>hZu){a>14obUuaHESGmeN5 z(?GdvI>}9Z$4C4zh=?SJh;S_tm!(AfDTs(9h=_145vRTDYg`pXL=r?qxR!|hDG`4T zA|eSQB3w(v+V^~ozXTDH1Q8LgC1TzZAMt-dL?l5(glma7FC}7M5D`fb5#d@Qj(OkL z_-hamNe~g?S|YZmMEs2-rr-JgMwdX^Q$E0XO#_ z#81Urcg_Civ2YFmn@>CM$CqJd~aWiB0nf zyl#O`JC^xQ@mR3V5w3HcXM-ri4#Pv~B_IhpMYzsRYG(QSL$g%)o;Db?_v~1Nw`adnUheL8bleo#6#3&YG#d@-8qSW|M1+_I z%3jl%f8t6XabOS;Ne~g?S|Tn>iMW0c5lIjc;aVb2``p*KK@bs15E0>8BKD_5+%SlU zB#4M`EfH(K@HN6mi=6+FGf1L{d?G`L5z{sm!psYR*4{=S%CPqEkX?IGZX`i&gi&r@ zDhM;@uJ8ZSx43bT21%5LBO+Ye(7JuZO@fF>f`|y$5;5;9A8`;z9Bhu`SLfwl`MreHPev< zvqQL+*-iV#N8B`sh$M)Ja4ix0QzGUD5s?HD5w0a-ZI7>UvmhdpAR@xGM9llvN8CJ! zh$M)Ja4iw%r9|9w{=q(f>iyO)20V&^(#`+~Gw(t=1LT1y!x;b%t>Ge{mv(!B zq9`*jbA*{Q*XMojC$;68lWdum1VvF2zPKXHoP^rj3Pc&&!$Z^_etL-aEn+Y#{k=Ja zQ32c~!psHK*Y^4@w~lgcI4$j&_}2A%D-r#IF3O@b+$X}!X{gV95M}5S4^f}Aa%z6C zuV0(pKb`OoH;-C8RivG?5U%C*>%<>@pWFCc`M=mzTKA)mjz@#`5U#VmZ9$ZwJv>D1 z75`*Ymi**X;?XE28;3A+%KC*r`G&TOqMONd>c4H3508hV@N5{u%;Cwfp&-i85gwwB znpfG5T2fNt(I_Q%gfMf;`e8r&j<)yFXj(aI2?h)H9KyBixygOL|DCv)=td1maIHazgMjYVbo<_u5^-maIM|%T z_dA8ZddKj1FjIuG$#R zI24}#oC9Hy6yaKu&g=I{cjKhd(2xW}L%5cqjrqezEaZskA5lXLVbd?Y2qVjR10&3A zIc?zGL6l*!;UT-&qLz?EEpZxznOmYXBQmGKL$sy~`~58jV#w82Pb;MNPwyZei_GFW z5N0-u>evHB8QR4|R7c}q_KMQpUNDR1gqJ5D;PJfc0ate8kZlaj-dsw@r1Hh;DoEcr*bXI>O8oprP*xq6|aFL+NV_ zNz?|XL72G>N>h|M4IUzI@hc_x;aAas`qEDLI~3p7_ht)x2R=7$|0#C=RJecY+&?Yu zpDy?(NgwLKu>YSAby(ec8Lul;|KG5F_&^B%21EL{1>w;l?r&`Iq-Otly@`2%t`CZwQq4Bjvt*LkVLj} zM1+}bt?x~VxGzU^?^E)-SNmEA&8ghPWaFE_AHjOlF1!dcpH}NTjBjE;P8l_UBx-^e zEW&73yu%S@o)ztoVi0982oI&7NRULiISsi4@X9t{dfbgE&~5oSKskm(aZlwob*Au^r5kf?oq z5q(;5LjB3V`CH>G6FnM+*eDV%xPhTatXk#tj#L`CpS5N0ldW^xdSGMIvg+)T{rT*ks2 z-#H!+HX*{bY{J5geCG#8@pJe~m26S}Ja|C;nA`j-Q`ALyxH*KG^H6h#fG9(Ac*r%k z+7%BEz$Qz-;vtMmV3QGME}_10W8dn;C|lYmB_>*v(_WQNOn;*ie=u6?oETx|#a>^% ziBEheCyw?nlISGDix{Ep@3&3F=K1#P6?+KR#aKE%kVODG)+%|3J&JaJ;j~pcS z$ojFqVvsmn?E>G-c>b#T4+n{D)z9!V=l)WkHCSw>@xS%C|Eu3-u-H`f!T-4Q=lXpI zi(~dO@2J>z@HgnE!@nb^X2rHUYWjI+o^u9#NH-R1+SA0Q9}Ss~J}Q=XgNec4!ia5m z;L!(-hku9NQ2*9oF)pj`>5YbnUEfbuOu(PWiuFy&iuLRji#?n@&yvO2Tf$$y`VV|V z_M_Q7L_YW?7ApbGquKNEue8M$XDFk*Y zJJJI`wI^tv$u3JC;!wlp4n3EhKhcqkw|3>eT)?i!073qSTk_MAhVW-x>v4&=q` zS%*1tFp)*svkrIUH%PW0XkN{pRqDvSkPFG{*|kR`9l8RNA$l{r=150=&yU5<1k#aR zhJQv8`k3@kEOrTyce7iFbRH0k%?0vawwUBJcf!5!6F`<^&$L9v<^s6@$kOaSBG<$3 zvi<_(gY5F7W0-$&_OUt^O9J{ZyYpBVXxOMMo9yH4vNA^=7@1|0Ez52r()S4%1V8oP z?7ZWgW=c+0>}4RIWLFS56_T|9`82zY$iZEXbY&MD4_Pt&i31#3o?Qb7$&U}lY@ij{ zD~W8<|Q409Qh)9{ABl2o9*w&m)WzCBq7<~Nz|R) zOQK;U`YL<;iSEbV-!K;24Ep#wyMf5LkAhu5zRk`*$!Y#r5{o?;kHvn>t|M~&CRwqM zK(i{lC4H{=<<^24uxHf_V&y=bTqR^?Pwva&P6o&U!n4b;c&Q_% z>4{hjPFk^D;}t{}071>J@##eVfN7#;c)XTK;!CF)9&d0Y)&VbFOCjfO@wOClERYfL zmB|!zBA}6RVNZO@{@7_i;Lmswd8#88s{pcRyds5+Q?b}y@tPEJE@;NYn}}q;3#V2f z`@}m^$UlJ;$9v9)U4x4WMVA8_7aus?lWTyCj~5WxAL$P+-0 ziqA+PEkKTrH>VIxRu=C_Auj+qKE5i2ECzC7e9(pVtf69UNkE0LWDxx$K8r-t zV7Gq`}saxFVN16+v=x^YsJbB{Otk@4grjur)*!iTnFrIHC zCx^sp;6hWPVzGD^P;+s-pU9-IVMzhGBwl>6EAb@ysei_266pf+ z3}|M==M%v;a7SJiAAbq{)JDnNU*Qzx&_s)d#HPVK94VaPLQjrJ*QJhp525>@v&-Tm z;no2swAr_CdIC}%uOZS8n)n!4*zsjV27qR_?P9SjG=IPv@ zMd5nMEA1h7VudNhwiNisnq#r418Vn=#YS1Oh)5%mtwg^iBK9(`y8KrA8B2Lv?*qGzT%v6`O4vtknf?IgriZfL&(ImD7Y zA|>GX5kPhpBZ(XXn^We+}WVl#GB1jcxc*?qAF~cJ7{pg^eJ;gk$@vC}Iv4{w->OI9WBD|=J#3~}ZsEfqF8Z1a9%^pw3Y-fKH zLme_>fM92T6Jv;60RIcS-%Cs)avA(D)a)gu5gGiJ+Z}t0nMAe%g1cjHF`LNJH=SmT zm`^0R0uYMEh;~A|b;e>h0og~aB=R>Pw^`C}iT8D1G4fhBSoU>4G0hS`#o}O!W5sN% zQRdnttWVspW5s+zw*bNIF;=t_S)kk&8Yfl~c?k$=#)*C+7r`qEjI+NObe$cnnF$0n z`-@>jP8#Sm;MGg9400b*^(CZ;bIDr0$S9Eiy1`j{~GK_!jF}TS%l^R!ZDVLc|_(u>8d_LEF$tG z5KMN2SVrXF`<&)Tv5LsCKu~j}7TJO~6EJ4Untin<7^qAPBk~hzjuYdF{6(7M#AG7l)^~A^7t@Ix z1_a|Ij~BIs?jq3%Vh)jqNOXc&NaQ`zOcqOsd`go!E0gv{%HMufh`gIzjn6&hR&|9KN#s=^SWtzSNaVI}-TC}XF@?ze zK(Mnj#S9`nd%DKX60?Z(0l_$DiFr5K`yXX4p+IMgMI@@BKxd0(MDC(M)5Izw|E56G z#K4r^xwr$A{zq1WPcZ9h_u26ZU=IXm~=DU|GWvP!=h; z&K0wX41L3CD#d&v!-1ftQnVA<1pXH$`-fObWNY|esQHKJ2V(Dk9x8MrI!_F`#r3fO z2v&Wb7)IoBN_M^&PvjO#cD|TQq=+=r#dIQvkY>85wZyNF3&bKMNw`Vk1#+S2w<5nl zE(%t4l^8b5mDmgh;dP-(j3@FO5WFr_iOEF7idgJ@Xyalrok$Llk1VORB&p16!?UdD z5;2EF?*l>6C1N3w;g82+T|oXRmJrzo$QPFM5SdS!8A9CZN_>GdGejPd_K%z$mx_^& zB+Z9_(2q;SM2q~0E)z3}@Pv|Lp(TDo)xm@=7d~bM)a|JyD1an<3@`xng zo)1s-09_$Q68Z$lPnJw1GU*!^=t?n#NI4J;bfuUA6C1w+8dfg?v zQOqYY9|&r06z%*|bDXA5tR&I`1T}S{pUAHeIf=<`5`%7ceGJ&hCA&!sv&4`3W-)~b zkNOrd+Y&$OS;44p73~z67vrsBB@w$A@&4yl(NBmM<85Nl9j+i=jJJtlM0hdQi}6Hw zG1iO8M6P((EwlzPoyfm{;5us%wM4dqd#!f7|G8bvA+#GH6x}Ws65+*ohgd>{7vmkG z#}YrGJH^mDv1ornn=K|=;wN<1>Jv)F?iRIHq@w+Lx0pkO_v_taArYR?Jz@zFp3ps_ zhX_xoQHa@Yiaeo4kw=8LYw}((k`V9Ld&NW|c;kSl*!#p3B6#C~r`Y?%3?kj#@Yo(^ zcE6ZKWEGGa5sQeN00cF2l42Pl9`yra6%iiw17hG^Zm|4FX08}dgcsw3 zVumGt)J?08I`)v5XElD(4~gU=LOkk+#4;j0>VJz>M0nKy76b2ggXK{_EQS){Q9mrk z5aChJ6O)MWr00ogNkTm8N5o7bJnBcpY$BV(enmST74wPg00ixLRJ0S}DLy7v65%O6 zCi*S$3$|H|yvN@E_!axOn060#=EwL%FvcgvY^zb`#X@(odQ!|M@&*t*$vi3AiM&sm z`C=uJ6{MLj`tPCppG`M)XR8HbP@@~{P#_p+ffz>QohGMwN{lD+5fIcoB_45p#ef@&0@YAQZKTg(MpE06dc&2akot5+XYS(U$aB;>Y-` z7d$h;%&W-sO2gi2JZ0Wj+Lw1ON4c$g{*3-6|$olJflLMNw;!ull8+>X*er3jHg* z;>T5t&N4+QcFv$s{1Gs7)**G=fC0iB&`< zlIArr5H6zFM{KDp`gJjs$VNag&g)_fYv9QNHui>?L?j0YYTgjjh^$DGXYFDpq3_AF zb}`!$@7bGT2@yW)y(I?1vP|8sZwHojh%r{9%)=Uae;J*X@uZ|#`dkk zcf?F0@Xihe@hcRJCBV$g$FkTQP)LCuF^7?JfU&_`lCkvt%%`AAGAvI}WG7SoCBMVgOA zEs=vzgZDqn#2i9pBw8jGTH?L`uUJKdz5hfEgY#di_n!t6>JpQ!Mj3ozIs$TaiRnb} zh3RO#|LGF7gepe5)8}$AhsgOraE!~vLL!%uW`$Tnq?R-*M2{uD=+DGZNRn#nN-^1z z$kt@+^PuW4M6DGmGYD+Ks=p9(h-?Q03;IGVBr+aeir}gGOR$)@5Lk{8VbUqzZc1Agl?ojy<#SjJ1J1Fm`!9b{1^uM zLChzz9R>P9v=iAK+Ca^ZVkMC=Krq>lqTdp~K7JA-lk>0-f9YH$rdbj#kl4?``uIi6 zwi;#1;7u9q{ueQy$Z0^Z`(H#mk#k7%Ke3X?4AT5h^v{F!kIP{_7!d~Q6N4UcWHTTb zs80+d(!YVz{3^y1(eTI)HNT3VKFqKC-cr1?XLM_tkLNb`rtBQo+^w_yJiBZ(9PK|B5w6M;bg%6z=c zEuz1~6cTjsE014yG~KaqP$W8|P_*T!S`6Y&2=4kPjz zX%ce0BT3UsqJ*4Gq63QDB3e&QCvr3p?0!92OXP|t-Q{(FoI_+5kQ~T6KrSTmK)17X zpj<+v83@`sQ1%c>?g8g)T>0xu0Z*%N_y+(%(fTrv$n9`hLd^zpB$3B}pk@O(k;t~+ zIL(G~3Xwg4pk_lkgUIvHD#po?vxsyg0ih^I&LcFNw&F%|5s`;!D{ds05!oHCg&1gK zxr)d*AQ)$3Iq(VB#%r)SaVu^jhZ6Y^2u^VmIflsZ4<+3g2gyl<@B)Ej93-b%;?Gut z2_7PsS>jJto66Nc2aqcVf-yK(oD>$FD~A#}?r~WESaq%(L+C5GVxed=If=-R zKv1)poJM35a1j^d=5i*Hd?2{cHkY%B98Ra|E#!P6C)25V3)yaoYb-emYRi)X?r>92 z!&}NRmiW%L3Od_bPO}={+17F<5$Mboy|tW8WXgB0v3xn7$OS+y$NQgr*-mKO+iu@) zBUchR0tkAxjqJC?+p(=23HSG@MQlTx8Wg>~oNYC52LLbn&cpkk?d5zzTLHQV zl5H>BDKtND*g*<-xs{r1M>)n4pR6EAwv(J@HOgEBZJ=d4$(cm11Ok>N0nH|K|3^-= zvz$+4J`nVEXW35Va?TW{EF4IXtL(H#ysil<9}i z10nrxay}6a6WYX*b|R;drckaVat;vG6v}=gd;iUC#ogtg7A#1a2|&=+-IH<{p}U}Z z+^-|#cp~$FplF1gOk^Cq{z1(iaypSxAgI|x))L7d=svnJQqCc=GZ3_Oq+Cd3B#;R} zM#o{G(Na9)sy+tDDVF3};zzxwoJ54r4Mnon5E^y45vxX|{IGf1>OiT0JVi0n?9edRnNGd^>6>?aoysR4p^>?fBI zVOxvkDk5xau^jju-hV)P_I0cr`kX6>eH|;u5Mf`($w@@m*Ku+h5%zU|Ig<$6y1$%F zgl!!!=L3QK%CN8FWxEx5Uk{LCAr|CsP$$SSmUv$e416t-)2v3Boj-P;5h{^0iHrt< zi?Kw`MuPW0Jfef-d=l}94wCIectQuul|*<#2g`mU+}R;=(DQDJ+}I&?iUY?0?jh%0d5e1qs+&s411h z97&q*3*BRqBjk7z^#j3|(?`h3MD~Scg^yB>l+%eE1Ozol%34c&XGh6JM0hJslKqzW z#*UUdyv2uKhW*g8P8%(H7mRXH2s7%%o;ew8n zZI(bm$^G3fKRyU_g6wn243GK*nbYdV$fG_%77*bnPL{<)c#4x{84;f1iL#Q&L7yev z7*CWn7Wt}AlC4Cz>XT)kC4P+M!Gunc+rJot|8sBX7r=y02{fn5(O#2`?FOP#gYHk0 zC067MI!#s+;ew{f7E63Vrw4JS%5Ik|n&MO$d&!n)aEeJ>jZ#z(evG5X!N(H=&EMq?DVlvi z^Y@_pb7YazM9+WDk)=eU=RfDj3X6Qz=gLMRTy>@Fw8W44A3?J7q*>$!%M12AnNNfl z?0K??2u(T}J71O(;!&S3D~Rx@r^{+0JnHGP!4hBe1+s$(7k!~LuV6vG=!=3WCadHq zD{?D#JdCj_5M3-Mq-YKS&Ba0Ym&h`!@daHX>xghc|CDW(_=096gFu(cK9?+7v6sr6 z#cr@X#!F=Zk$vD(T==s5GFeRIKp^E>%LOj9{cV^d!H%l~%{6jyism@bToX*XMs~i6`wuR`{N_@P>~%k8_|2snY1*8I zKSp(}%qPMhqq;U2z!5*#7}gmPU!BSvwLK2yDO1T!}rKS zBJBM=vV=$yy+03}Zj|MO(0jZ?ZIo3+*!z2B9TE2aUfD#1y}wVk5@GM}lbx3M#_pFn zZ(@mXSB>{Squ@X1$P$bEs(v8wb*{X?YMl4yfUk1{&4cpl6wL*oc`%qzlWcGrupZX` z2)q#n9+qW< zcq`76l|*j<&;EwYISd;g4VCBoi6BRh$(_s_~+BJBOM z(!7I>DRUfM7oL;(M5emyLNfN8EFv@?HXbgY;BY$U?o|3`LO z;-~mR(0!{k@4ABc+>mUQ`GnZ}R#`-Zy?;@b5@GLOlodqS`)LW<@l(7YOS-zLkPCOYM}$z&xV_P$Nl z5Ml3MlZ`~!``2U(5%&Id*+GQ8e_eJH;eG#xj4g4)=TrV0GB-(xPs8o9kO-fK+hvI* zevEI*Y9c(ww`7YYeu{4g-FL`tip<`3$k_Y1|6qNx_Z>3#eMi{)cVrMSdG8e`&2d)VOu|yZA3~> z&a$`pU9!s(xc@m0P!6Q+l6@p%@0ZJ*PAmwX1Q)tTGRtKF5%zwCEGEL2`1(bl`BJJ6ZHZR%2xz_xCe$r+ohI_WTNV;Y z^1knuC4|`fuVgt9_WmnbMTEWoTGkO^@4uE!LmV_5%KQLpSI#NPiPdx^03 zKS%>N47eKD`yXXK5%&H^S!9VX`X^aQgo|D!n=G+KyWju%Iq>xt`MwKneVq@!{t{^Z zC%;J1JO`Tp1>N__K1$EKtWOp$b92Rl?E7E8$_k787=H@_{Vp4<#*guL*-V7D+3&KA zNH1LHeugalvWv)HKya7!%RVA@()j+@A2J7CkEd?4KV$(B9`&EHm8I$8ffBb^>;dj%5@s^ z^>VlJg(@WSKOnfygetKlDmodHs+tg2tyGI8zG@vLGpd_H^VQ6#*r#raY==>~M0imr zR3Q;w)X9V@A;hCzPn8qlQLm?}EQzX)4N%QQxafhZ+Y(>&`oR=8P=mYt6gyyw8zckK zhH8ft(FY*fFz7x<6*)~b>Ks){gh!pDDlG9uZ=@QDaM2s9WT!>G>P>=VgOmaHaC!2m z2dR7_JnBKJhzO5*uqq|OqaLg(i14I`sOlsk9`z8_V2Q7KQ`JF)tIkzs1s3Fs-Yl5n z=4zDHxO>J=V2Yaunl03X6-nEfUDcn1Xp5lxJXPibMWfDBl|*>dd8)<|U-Xu$l?WHT zmFly^7riy+!u+mA1^<<=3O=(1MWfDF#YA}2`KpWvk9r$bNrXqejlwtLQcu;}szxF_ z>1|aD5XkSV-cI#ek-q^MstVwml{)I}gE8))jTx=F+P zUv~J|eSxZSBJ&nFj_>yrs5&CcfZ+Q*1**vsU-V9@iwKW;XO;VTdeOTCwhmJzRs;7x zysC$(a*O=k@GweGu{~8ek?8qPk!rBWclNiSpuJQZg=Wk4 zQe8xNckHG5h_D@dtDJ6E5Zkf0Dj>2izW;>_ZHy`=#CD8PWtRA=_fd63*p7Wwn!tDjwDyUYi}q>EEEu>PUAu}XbqYqX*~5RDDGAE$DiCbDCkDkQ>oj8i3+_@eh$ z)kL`H@v6lVS9B8ZNe&2-O;FtwnnyiB#lCi9u@H*}$(?oV0uBwT!9fzw1B0Ql|)l7sYl#G?CHj8{`N2pj2 z_Tf*%N2(%Ad}l`m1x->FR^v}-lTg2)duFTAU`b zW3uWX!gfqn-In;GPgKeL@6xM2NtIdRt3EkMR<3HS#*eyOH4@=bm#Y>c=>0?}`V`ec z1iiO4?T8VJgRjSVtKkAEvWS6LdpVCKt zi7F<-yW!vb4n}>sy2@(Y$?6Iy@$x`(g}N<8b1i7D2qtu;YH}L$7QX($ z8;~niDrrs^fa6Pl?EK4nO`XS_-k6XC|LR#lex#;!>zDCs`^RHK@# z$e+<_R4WnotVVSbVLPr>y+qiKYnAy03-Zs1u2cC$*pBN|ktNm+_xoSht4cy#b**Z$ z#8-VoFzSD)_g!dvvZ{j#{VUMisJ=+i)Pv^6l)nJJ)`j)h0m}{15qsaC|g!ezQR2Ly0^(@s#ghzd=%IR|j z@u+WA1w?q|-=>O*@ThN7WtRA&>s1{QS2Ude8dRG_zUte9G2WqmcA@R4?}jnn5oqpI z>Q`H$)jR;2JA>|Lt6ZnyNhf2oRUsiB^=wr_%us29PH#sj|d(cDHIK z!gk!Fx-IdIH3kJG?^U_Kxxw;<;a*ipgzdOjl@MV&?o;JN*pB;D6%n@MepN?=?YLhx zS>lVHlT=-VxatQ~?(bNTuX=7U>Ic;UR^v`Y&%it$3^YyZm=sMbXqtlVA5zH*Ct^Qh z52@fFzWg0 zR;zJ#yb7b9A7~b+xha~rK(het!2IsV@Z|86YH=d7;xYFC`6<;w=7TjGm; zTIK(lUUZ8pv&0wuOyK>qss=Rn{)boov#Qbln7<=>R<#h}Q9q|Ti14VNQ{6;()C*PY zFD%HvURbDdE%8M^uS$`me*Wh_s>X_Z)h`5NY*ho>t8NcQ{ic%HHneTyGl=zOpm|FTNzr@_nzy+7+@J7^ zWwHCWRe=+kN0z%c58hVAM4kbHZyvm@%7|<}$7woLC6R4`pr%9BSmNz?N3{~+#@0PF0?o&2YKkV=2cnOI?w6@5CyMM? zrs{~W9m`acCBEqYsxBg2^d~A;rWgHbdM=oMtV@+xkw52msd6Gb>Mm79gh#zx)e+%Q zFIP=Oc+@LYD-mA#D^#Z?Tr}kWOywx7(O;=nsuD~5s6P+J_=UQ_YTT&*f+>CxXuece zr)bo8cyl_vdp!Sjs|F{EM%}HNiSVeqRhuPTHT+7tis|&Czg9(-_@cjAJz1Tgvu5gzros*MPb`a9J{gh&0I>a)Zb{kq>K}qJ z{-|!X8aL|oVT?ZpnxE9%6wM&e{1kM*O0_smH0f0;*+Ga$y-IZx;gbw}Id%f8R)$Y9 zKdW3zd}qI?QX;(a|EFp!@s0Hb1^ud8k`$UxGQX-0B5cR6s+$Pg@tcaR=L%vwep9(b z*pA;-ArZFYcU5AEFS=hOW+lA_rb zG%*c#J2=JYf|sSufGphqD)J*s=fhtcV^zu)~822)Kjbqs@A&5YWx<`x|9f8rga4ow#?{i zB5aw_4M_0!zu2>cZYB|Xme6gM_^Q{_G3YwA=mEOO5^vc+o&Fv_{3^FT-D=$McLF=s zCr#4(v4OrYMN|l)4TA1B)HO~MS+=2WB*K<$s9T7Xz`tlmj_x3G9Q=!ROMGXW1O*M!HCE&87^EACupNVR3lX+su%T||WK*iM%cVLP_d6_)s-hw4Tm zT=e$3(-L3w4r!CN&wqB*a${SOJvSWyquw!1gg2-KdPs_9B4`SN?sw7!P7~R&lP)I0 zcI>3fh}?m@1E2rwtSbr4qwTS?uCc^-wu^2h!krD%eU|vnb`1&|t_$F6x^UEN$8cRt z#MuGozu~%!5O0s&bR`kCV>ewxgzYHQjYQavLfvACFM4;~ON5Iap$i6KK~d4k*dD>C zN9v=k$eo&wf>DnQG^6y?6wUFV85MLtT30zuWXEV-M}+N2j@C_t_~NmrZY9DOk3Ds# zCBCyFoiiBw@YjyN=@Lt#&SHB71?{b?tj621cT(38;_b1wZX&{VjM1$`*p4x}lL*_f zkM1SHcI>0g5LaR?+??V|ynS^s5w>GLovgCRS6v*8daQoHYMdRXz^KOtnsNH66io$a z#s%H)uiKm^vSWYUl_bP|?63PQ@uMEE3pY(4^#QuV5?}O$AlZSs!D{@d57f;>c+v;z zwoUE*kNXWM{FV3;-9;k&_%;4Ue2MNO!gd^_b8@jD|Ebu6bO8~z<6vD(gzY$3ms#Q) zJ4Dyz+WQ~Bh$iYbEApKk8jSid{j&>gPgdu`s1FM?hikQ&EzxQ&1kK^Wgi3WTXkh>Q z+pkhx=zc7^{VLTZMDPRZIH4nSIT4=F5xU9}-`SD6nFuemqja|=zOhNJpw!R*9IbOV zcZ21#)zP|;2zz$4E+N8p9HYyL@a{N9R}o=5j@5NU*p6d$lO^!`@4P+AbeBcmj^lLh z7Fdw4`uJefC+GvL#_f(vVbmuCn#uZ@6wOS~OlCX$^PdxSg%d^F<3wFegm=e@x`7CP zpW8{gnTY#+Uikia-DZhz>|`Cw!!~?l<+{ic5lix4usMY*itf)()fHCcx6rA&nh4u* zs%{{{cATc0iLf1~={6#4#}wT~-??Ki=L*-Eb&GE zJvEp6{LeYM#)|x?&(V!Uc+}_U79zM6M~sDUg4Z2Ha4U|sq?-uaQK@5FV?q98RjG4{ zpdHC}__2TJLPESf{-H}O@tvKgtBLTQK3}(3;yarjjQRroxr=O9)$K6p3(__C`tL&h zONyuwL>H!x$UYyuNSl1u$0N&K_ZR7WBF_N9?l00sM0j^p=~5!RJF0YrCEOU~zgRaC z;?6G7otF5{{uvZBLz`_}L42~Bq4SBbWixaU5w_z}T}p&@M>2M)t{}wQ<1$@MgzdOY zH(0_|gKxTn2p3(g&9+#OFZ%NIQNyt-^eC%wyW>Habn=Qobfun2=}RudF-tuC_~ zzk{yTl|x~ zEXWsqS7688dX&|;ZPo#H+#P7{(GyU^_dg$i=$@eaMqTCtMV>Y4N+N7oqpl%>mVE+o z?$wP%(6W`5v{>RByHEF8lJfmO_v?a!^v>o41wEk4tj2G%2XrM7w&MX^Lxk@c=juix ze9t&nw>aXz|K~y7K_d3-LETM+J!{gjo!n|*%bIkqCBCzVbSV+G?BBY^5^veVksZ!reciJ1z0uKbcZA?01rZu*;Bf~5?i$U{Lj<6gAiBUqRp`M#rRBM$Fq8r z)wpf;E7BKSMq z_}2XMy2TQ2$A5G$5pL`SU9f9PV|f45npP3o@uDuXBEQXE)Rjcoju&+e5w_zc-AIJ( zcuBVqVLM*d9YmZRkpE@fZIQ2fkrPyK+~pg zOVMm_0G$8Yg6?0_O->Zq@tSTW!gjo-JBjeU-s`%T2;b|yuFY<)jaqsF@`f%Z!geIv zb(KZFvp0i+-qKB0Oj{^ujzMxpsc^pWl&!lV93_YvVyf2?yxxPo}p zAL{}lyz-anVj?{0Wx8yHz5nr5|5w*pkze_r=r&7y)t?4q?9xBG(00_@!4$g!&2p{w z@OJDBn&miY-2cuY-1jSVt`+%$R_Ib9JjTy-jU~RIm4RiS>lT+RdhYwV?jXWb{9Jbf zvG+fZEO#%dzRArrUbBXY%ztn|9c+_9&5+Xe6Ze31CWWj|;$8jJRg{m2FR=RZH`A}jJInV)ni5%%mST|tEH zSf#6pupO&(0};04XWdMM?f6-@S(5VkpI>xrPpr|e{Qv19OMKOR!Ki=Lr(2C%!u!Ff ze+@Lh=?had6F~DDcke&{^SiEbqR5Wlbt4fz$^5Qch&)K2j_cPQM4q5e$Mx%OOS~O_ z==`Ge#{Sf0mSAJB{_)EFm#=6;cSjU6HCE*9h?zzrY)8zr5MevAOa~FRBg=FXVLP%- z>~D4n{dGMI=m(CEgBcR)3#YnFTJiJrNxWqgH`No5d-bP$=Dz>Bt>*8hz14S4>ko(6WKA?6cb@P2AeWVe9=Qp z9T6^iQ`2UNFFKhUB-_mNQD`3ZW+rDJH&`C^W~PA1&&%AkV{=nX{&}?TGr)Vlcvt2Ohp{6tG zM3JvUO)rsWmb)IuCu54;PyM-`)9h^WiL5ukX?8Y6M1~A>nq5pOk!^usoLx*sF@65$ zV-gKB)g=0oM8ix2k)79ffp#^`L`DO_K)aeYB3F@SxalHt6KRH(a3QaMQ^?_irLQ_VB7vt`xk_a!x-AxS>+F@9U^wp^Y|2TaCK}Ujz$nbfDSOOij^T2AVx-eWZN;r^r+}QM4F~ zOdSzkj76r2$P{? z0|LziGbBZGCuk-FQ#{ZVI89{hfu@+qGt1%nhn^j1$_VkDZi%TR!gsnQriMs2+~1=2 z2bo49KLNow2bmTkH^GZ>)EsO&h};DPH3yq+OYDT)^PfXZ{)DWw1v1f;S>jjzp+RSd znHsC{>*FxfNQBqNVWx!$7j(GkAc6(i?|(krbQ8J+Ug_QkV=OhX1F;}wt^)FqCAma+ z-ydNLiSYV3!jur<^>L&rC&KIFNK<7Atq;8aIm$E>;sr9vbX(%PKRWRK7&ExUmT1?< z<51!;f#z7VLyD#aG{>$sMaW-fikv7~AZ4bM2=DtcQ(=i;)yJ7eB3$(GrqdE%^a-ma zgZI6SImpeG?k$pl@(HnLlT8tk0q`6CFF@5Nno=U00(r%f3L zY?_I%9m$hTn?=5}auYi^eKDS5iY)P+of?e#G;_MuxYKYulz3X8nPM(X(YyzmDal|& zr<)olitISuG!kJuPB$%<_@bwpULtJA8K&S6Y{M5_5#&14B+IPGZ=o|yB@wpcOjAPy z?f3|)KFc%`K|8uEX(7UPoNYRYupMWcZX#^QG!sisbjyMLm}YV<@tytMloH|2&M`HX z_|DD^MqOzZxX5;QdQ+oG zJ!m}N6cgd1r<*EEe9;$RF5LhA`Ok%>$%?!k7n)WgY{!MBlgOi=xSN!VOfQkAf#6Nb zMaCTF=8Au?4u40t%H$KlKUjyFDpLdm^7|{^#io=*?AgVpf(UzdiK!;SmR({REb*58 z({vEw?q?Wtc=}?z)Y-xBf8o=w%giV%a`X5Z?6@rOENLdBX!=1D?x1Q@<}{II)uxgN zTUKpqEJ^wN&*i4oB7c{1h3T`zdv;~8K4zMNQa5UTwKUTd6Jg6{nld6!!*wz~0d7J} zr6WnR2vEYJ8WQmqy4o}nVLPriEkxLkYfJ|bw&NPpZHc#|#^fL2mM7bBttqo4bP{1ZZZW+? z*p6F_Im&s@cFZ#QMA(j5rpOZC*sZ3L2-xB7e{M5P7WvNVgHbn__g!dvvf2eoYzQ>B zn=eu{BS3R|Frhn4pVL@7?Ds$4VR9z9K6rcFVG1nqRo`jKiSQztZ5k}`Mc)-9yW6x; zWZoTjn=T^Oj^tQ)bKLY1TD}BcK0wv?n4F_sLEi(}&yoTrh3@agG@4=}Y)7LhBf@sv zYbuGb9rv0VOSm!c|31@7h&#LA^jYFNn-h%s0ki!vwnS^k1Ss)=Kr`2jPSG3+nz^e_ zC>eXulsHkeJsvdWMA(i8O_e2FHT*8OX(qx&KV-Ts@kRf8^<=S!P42O7u53s0VN*zm zx5vY#gvbZ)xr@gY-Ab9bZXR3(s?s&x15n($XF-=6+jz>)^5w_#er0KNCclMac zDZ?85X}H;xSmHZ-JQ(#8<^rp6C#y*?>L&utljiCa%?Y4+(j-@Z@;To$I8kKBeA7&X z?U--cEb&DzFtOv(i+;)!S>lU+I#WWB(w#ogOhG$GOkyC)2 zG8X zf>FO^0L&ggblPbX(#(dm|WiyBU0H6iJjsKVmnrt zTq118XQq${+wqwxvBVd>(o_?{qV4xTe{NbV@{8z;VANll&s}J{g=%5cUj~|P^Gk~6 z7SMDD-G61wsjiJjmctX&w89<{gDI$WOZn*;jeQipK;HO&}EvX<9r!S}Y z##9p-NMBCzjcFjlw)U82BFi)^ricA@9F6eMG*XWZ#*b)3WUP_<@pr zX9|cc`Pkhzd~b@0d;$dT8@@MXmPB?WW4)%15HF%1Oq(U%jvs?D{$%qMVp@rC(f>1jmiVIkg7xvM z+5U7}qFqA|f{DK-1JQ40bc*Ov5d9W(|GO!1nrKh|Zpw-98v5N-5t+EVdsN?V>WCZ- z1lL)=Nj4GUk5T<$T8Z$-sQxgWmiX@fG&xhT4}Ti|%amB+yN@MSzq86pR9THb4QD0l zl7!f^tV9zL_AEQmN`yVjPIMAs%i@V%B5YYaVa{+R*3ylPNE8!c%VeVJj3kPD)he<2 zTk1OTfc-Id8eRZ)=s;rbe%!(f3atYL?4MBf)mLIaA>_m zP6d{z%#%RSv-J`MMDS5PKHC|PC?T#P5NR(OPEgP7qBf{OUpJ)RD``>rJK~VLE zi9QO=+ib%`&Y7+twrs;h0TH$=Cs9mn1j`ycjfqeP7r`KmWgv=ZT} zH%ata;)@;>*fBV<{aLm|yUkt(I|c`uA&JpeL-#+ggJ?+5{icZ$7bx;<(?mHDwrtZx z6_JW&XGdrW-(2m?hlO?{f%@SRXBnNP3nKvNiWzk8zFX(BszPsGl3MYA2dCvq+EMUP0760t?Y{9}70YAo_q zj|`HHO0-aDJ`s&dbP(ZDk4khC;ZcuH#424uyz)mUa*4P}L;gJzg@kzJ@0lpE#8+LE zs3yXr{#&BO5?}OQ!4&sSeC{IKQGW|l+df9iEz~iBswkeRZm!bjIjd~@_bv69rf=p#RCIP zNn%KfCi_76077)AyACxE~!XG*~I8jN2KXh<#qQ(;6 z*dd8lBHY--L|@V(-`Syo9fu_frrXY<&+;CYC?>*o9F`~}!UY|ks3gJ#9iFHmg0Gk- zLmQ=u|0C<{1EiYXIDS_ebI&>V-r1Qgi?H6Z-fB@wQC6?~}Z&x1Znlob#N$llzB1`uNOqpYuHDo_prb+@179 zwf_l)D}c^ZsD-4-cI4)9s2$wEr=aXoOu&l9@y!>{=pb5{@G?8);c?Ml#w-B+DpK9q+J4?v?HuI%+2NBb= z%WUg9JsV8RF0+e?n3i2`mk}{7yWFlIVp^84tBG{|{(Hi%Rmktz6?QWbGh?r`I~4Ix zp{oMzm}vKytWs3V@IGkA#DFu&?(I8C>p)180;Rs%E?1JD(A9Q=h)L)gyGap0q1r&4 zYwb3Du&&kfT02KXwoHBh=UO{FMHhDd_j=90&MqPH5Xb=Z>^i%g$Wb3?XR=*MWH^X) zCfhYcKE>UVLqMk3bwoCSNN0-ONF)`3Bk%uQZ#NT~4K@jOA?NTCUe$?4~bQeWpk2tB_Y$ZId+XAeyMM^(?m?EZ?W4H@k@Pcph77-T&HJ)xpt)N5+Y`? zO4-SBLS};8W>*q13&?GD4G}XxZnx`*nE7$L-KdD4^c{AVh)McRJ3Lh;onkGt&S@|+4dcLhe@Xjdu6PpHvO5itqPw_B(Fr;K+80^MVG z>VtJHAotjjX}YkcjQ7~3M4~_H%j>;%oXB1v^6Gl8T}8xH`aU}`jrKpL)c4s9B$-m* zZ>NcvQr~a4DB_Ro0Xs*;j4W-JPT#iF4+g6EkUbJk*Z$`el<}c}^sqf%1=8&}1J1*N z3N5f}wG%dPxfj?eBIYgk0=tQb{6*BYL-A?3osmS||B*k5npLQcBy%fek)0!AZlx@; z!#B#2`J;ctjuSDXZ?bC@@h94&futX^o0Nn7k2yUavoi|$fBpI~yN!tH*4lY!AcWp`>PoHV6=%8u0QahOs+WtS2$J$u@Y6EQ7&+OAT>AK5ZHMZ~n@8M{>x ze_+r037Pvp%k54IZQ8Nij?B~vnbT~!T}s3x)MCepn1ovFDk5ewK4&M0n92B@-9Y50 zGMxW%Ha>5s37Nh=Z?_OJr{W8CmWb)=3wDPh{^(z{OB!U-{!aHLyGjv%^eggPhWQWu zWqXE_^l5f6diHX@q@0XBFVDFWPR1{zr|<2&VmE0=or*_bV6WI2B69R`McRnS)+gl+ z(F@0TW*DB(V?DarGtL!G__-ENFJ3~aZHHnN?*=>Z( zY4(PlBVyX|h8>No$>5O32LWx9vC)GppaWs}%7^ zmbFtv%*fucTNN=Qv#fUm39Yv~DY7}slI!ir9G#Il&DPtcMC2(XC((O$oQRo3@7YyE zOv^Ud2_mLt8|(%m<_vn@P7^ULdp~KnDCCdq13O2=jI7Nry;-K{kL<%hJ3g{UDo39| zGtrKZ0?x|d&8}I|D#T`hfuVRfb@;MSsz|GkHYyTP@!+_&i^FztzDMdw$$I*HH!ENeXrtl z?SJGl{Da-7B)`-@*v&*tseiCriJ0F1XtxtFz5mhfBw|YalO4HD*VUXIKiQ>{ssFG$i2NSaZ>RsX ztvhrXMNGd_{?jfdVoLp&T}H%|`Y*eJh?&%X+toyprqqAiwF>zo`^Ro3Vn+5qyF(Fw zWd8XEsz8x!9lAq9aEJ4I1)QvSM;wQ9y zAWnDIrVrLt>Fz8?r0e(JyR-0IUD%h_>YE86Rzf5TGGHh!y{w$bm*nigDvA6;&JL`G zh-pWd)e$l62(v~aXovp$&o*l&WZGe~Rz>{LGiJ?`Df-JNXXT3cqZffvJM04G=mj*;GJ32*JK^Y9JsCZgCejN;R>)&5iug%KSdNHkSs^REOAdpQ z#`~QH&*sn6o3s8i@44K2Bb!iddS+AP{+>Dq<}}Ognn8ED_xf9KQ$a zAY@LDp3G{LIr<;X_hiM2_#@kqRT42HD`pLf`0dzfn^Maac4zjCj;z+0kL3NIodeP? zY*n7L5$)I|P@!I|O*>uf=*4nGOgnn9@O(XE=Flc~R~9E?l1}c%Y8CRc-aT-z64s;~ zza1qkL&UVBgtZYd?bw6mh?sWl!NPazx|(+EnPeq|%;~WwD<@*wu@|c(V$P1eSdAin zJN9O2B4%X!ur@{ff%OhldS908evisX^`ir&-ZvnXvYvU)PjE^D721!LYA0+)zaNVe zF{9s)RS_{)&iz>;NyuC}_h$`?_#-=jWr&!O9mqNr@ke%0AfZ02^j=+Rv(xRv;zUf# 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 lV?OIig diff --git a/Jenkinsfile b/Jenkinsfile index fcc76ce2..e29860ad 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -16,7 +16,7 @@ pipeline { /* calcolo numero versione... diverso x branch MASTER/DEVELOP */ script { - withEnv(['NEXT_BUILD_NUMBER=306']) { + withEnv(['NEXT_BUILD_NUMBER=307']) { // env.versionNumber = VersionNumber(versionNumberString : '1.18.${BUILD_DATE_FORMATTED, "yyMM"}.${BUILDS_ALL_TIME}', projectStartDate : '2006-01-01', skipFailedBuilds: true) env.versionNumber = VersionNumber(versionNumberString : '1.18.${BUILD_DATE_FORMATTED, "yyMM"}.${BUILDS_ALL_TIME}', projectStartDate : '2006-01-01', skipFailedBuilds: true, overrideBuildsAllTime: '${NEXT_BUILD_NUMBER}') env.APP_NAME = 'MAPO-IOB-WIN'