Datenaustausch S5 - Visual Basic mit Prodave über serielle Schnittstelle

pfverdi

Level-1
Beiträge
7
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen,

habe einen PC mit Soft-SPS S5. Über serielle Schnittstelle sollen Daten
an einen anderen PC übertragen und mit Visual Basic angezeigt werden.
Zur Kopplung PC-AG wird das Programm "Prodave" verwendet.
Der PC mit dem VB ist hin (Festplatte). Weis nicht mehr, was da alles
installiert war. Das VB-Programm habe ich in irgend einer Schublade
wiedergefunden, bekomme aber die Kommunikation nicht hin.

Die COM-Schnittstelle wird scheinbar mit der Funktion load_tool(1)
aktiviert in Verbindung mit der prodwin.dll. Die ist auch vorhanden
und liegt im gleichen Pfad wie das VB-Projekt. Doch auf welchen PC
muss Prodave installiert werden?

Bei Programmstart kommt die Fehlermeldung, dass die prodwin.dll nicht
vorhanden ist.

Wo liegt der Fehler? Muss ich noch was installieren?

Hier ein Auszug aus dem VB-Programm-Code:
_______________________________________________________________

' Code in einem Modul
Declare Function load_tool Lib "prodwin.dll" _
(ByVal ss_nr As Byte) As Integer
Declare Function unload_tool Lib "prodwin.dll" () As Integer
Declare Function db_read Lib "prodwin.dll" _
(ByVal ss_nr As Byte, ByVal dwnr As Integer, anzahl As Integer, value%) As Integer
Declare Function db_write Lib "prodwin.dll" _
(ByVal ss_nr As Byte, ByVal dwnr As Integer, anzahl As Integer, value%) As Integer
Global wert(256) As Integer

_____________________________________________________________________
' Code beim aufrufen des Programms
Private Sub Form_Load()
Dim ret As Integer
' COM-Schnittstelle aktivieren: (1) = COM1; (2) = COM2
ret = load_tool(1)
If ret <> 0 Then MsgBox ("Kopplungsfehler : Fehler = " & ret)
End Sub
_____________________________________________________________________
' Code des cmdButton zum beenden des Programms
Private Sub cbEnde_Click()
Dim ret As Integer
' Com-Schnittstelle deaktivieren
ret = unload_tool()
' Programm beenden
End
End Sub
_____________________________________________________________________
' Code des Timers im Programm
Private Sub Timer1_Timer()
Dim ret As Integer
Dim dbwr As Integer
Dim anzahl As Integer
Dim Schleife As Integer
Dim ausgabe
dbwr = 0
anzahl = 10
ret = db_read(22, dbwr, anzahl, wert(dbwr)) 'Werte aus DB22 holen
For Schleife = 0 To 2
' Umwandeln vom Siemens-Format zur Dezimalzahl
ausgabe = Format(wert(Schleife))
Call siemens_dezimal(ausgabe)
' Anzeigen im Textfeld
tb_read(Schleife) = Format(ausgabe)
Next Schleife
End Sub
_______________________________________________________________

Schon mal Danke im Voraus!

pfverdi
 
Zurück
Oben