polytec Inserito: 26 gennaio 2004 Segnala Share Inserito: 26 gennaio 2004 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 basicQualcuno 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 More sharing options...
Messaggi consigliati
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 accountAccedi
Hai già un account? Accedi qui.
Accedi ora