Vai al contenuto
PLC Forum


Utilizzo Della Dll In Visual Basic - Come implementare il codice


polytec

Messaggi consigliati

Salve a tutti,

ho scaricato dalle sezione download il file comunicazione.zip per dialogare con i plc telemecanique.

Questo file contiene la dll di comunicazione ed il pdf che descrive le funzioni contenute.

Non ci sono i file unite.h e la descrizione di come definire i parametri da passare tramite il visual basic

Qualcuno di voi mi sa dare aiuti? :(

Il file Visual Basic che mi son fatto è questo:

[COLOR=red]
Option Explicit

' inizializza l'ambiente
Private Declare Function InitDriver Lib _
"C:\Documents and Settings\All Users\Documenti\Documenti\geniove\UniTelway.dll" _
(ByVal usNB_drv As Integer) As Integer
'usNB_drv  :Numero o istanza del driver da aprire
'ritorna UNITE_RC che sono informazioni di ritorno


'termina la sessione
Private Declare Function CloseDriver Lib _
"C:\Documents and Settings\All Users\Documenti\Documenti\geniove\UniTelway.dll" _
(ByVal usNB_drv As Integer) As Integer
'usNB_drv  :Numero o istanza del driver da chiudere
'ritorna UNITE_RC che sono informazioni di ritorno



'apre un canale di comunicazione
Private Declare Function OpenConnection Lib _
"C:\Documents and Settings\All Users\Documenti\Documenti\geniove\UniTelway.dll" _
(ByVal PDevicaAdd As Integer, ByVal timeout As Integer) As Integer
'ritorna HEQUIP
'Se >0 ok altrimenti ci sono errori
'Se < 0 usare GetU***tInfo


'chiude un canale di comunicazione
Private Declare Function CloseConnection Lib _
"C:\Documents and Settings\All Users\Documenti\Documenti\geniove\UniTelway.dll" _
(ByVal Hequip As Integer) As Integer
'ritorna UNITE_RC che sono informazioni di ritorno
'Se >0 ok altrimenti ci sono errori
'Se < 0 usare GetU***tInfo


'Lettura oggetti dal PLC
Private Declare Function ReadObject Lib _
"C:\Documents and Settings\All Users\Documenti\Documenti\geniove\UniTelway.dll" _
(ByVal Hequip As Integer, _
ByVal uchSegment As Integer, _
ByVal uchType As Integer, _
ByVal usFirst As Integer, _
ByVal usQty As Integer, _
ByVal pValue As Integer _
) As Integer
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'uchSegment :numero di segmento
'uchType    :specifica il tipo di oggetto
'usFirst    :indirizzo del primo oggetto da leggere
'usQty      :numero di consecutivi
'pValue     :indirizzo del buffer di dati letti
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''


'chiude un canale di comunicazione
Private Declare Function GetU***tInfo Lib _
"C:\Documents and Settings\All Users\Documenti\Documenti\geniove\UniTelway.dll" _
(ByVal void As Integer) As Integer
'ritorna UNITE_RC che sono informazioni di ritorno


Dim HE As Integer






Private Sub Command1_Click()
HE = -1
Dim i As Integer
i = 1
While HE < 0
   HE = OpenConnection(i, 10)
   Text2.Text = HE
   i = 1 + 1
   'A volte lo apre con -1 e spesso con -14
Wend
End Sub

Private Sub Command2_Click()
Text3.Text = GetU***tInfo(0)
End Sub

Private Sub Form_Load()
Dim ritorno As String
ritorno = InitDriver(1)
Text1.Text = ritorno
'se ritorno = -18 il driver è già aperto
'in condizioni normali ritorna zero





End Sub

Private Sub Form_Unload(Cancel As Integer)
If HE > 0 Then CloseConnection (HE)
Text1.Text = CloseDriver(1)
'Ho controllato e ritorna zero
End Sub
[/COLOR]

Ciao

Link al commento
Condividi su altri siti


Crea un account o accedi per commentare

Devi essere un utente per poter lasciare un commento

Crea un account

Registrati per un nuovo account nella nostra comunità. è facile!

Registra un nuovo account

Accedi

Hai già un account? Accedi qui.

Accedi ora
×
×
  • Crea nuovo/a...