Public Const CONNECTION_TYP_AS511 = 0
Public Const CONNECTION_TYP_MPI = 1
Public Const CONNECTION_TYP_MPI_IBH = 2
Public Const CONNECTION_TYP_PPI_IBH = 3
Public Const CONNECTION_TYP_PPI = 4
...
Function StartUp() As String
Dim Verbindung As String
Connected = False
Verbindung = "COM" + CStr(ComPortNr)
ConnTyp = CONNECTION_TYP_PPI
If TEST_S7_300 Then
ConnTyp = CONNECTION_TYP_PPI_IBH ' geht nicht
ConnTyp = CONNECTION_TYP_MPI_IBH ' geht
End If
If ONLINEMODE Then
StartUp = Connect(ConnTyp, Verbindung)
End If
End Function
Function Connect(iTyp As Integer, Verbindung As String) As String
Dim RetCode As Long
Dim l As Long
Select Case iTyp
Case 0:
' here MyParam have to edit
MyParam.sIP = Verbindung ' "COM1"
MyParam.iDaveCOMPORT = Right(Verbindung, 1) ' 1
MyParam.iDaveProtoll = daveProtoAS511
MyParam.iDaveLocaleMPI = 0
MyParam.iDaveSpeed = daveSpeed187k
MyParam.iDaveMPI = 2
MyParam.iDaveRACK = 0
MyParam.iDaveSLOT = 0
Case 1:
' here MyParam have to edit
MyParam.sIP = Verbindung ' "192.168.0.62"
MyParam.sIP = "192.168.0.62"
MyParam.iPort = 1099
MyParam.iDaveProtoll = daveProtoMPI
MyParam.iDaveLocaleMPI = 2
MyParam.iDaveSpeed = daveSpeed187k
MyParam.iDaveMPI = 2
MyParam.iDaveRACK = 0
MyParam.iDaveSLOT = 0
Case 2:
' here MyParam complet
MyParam.sIP = Verbindung ' "192.168.0.62"
MyParam.sIP = "192.168.0.62"
MyParam.iPort = 1099
MyParam.iDaveProtoll = daveProtoMPI_IBH
MyParam.iDaveLocaleMPI = 2
MyParam.iDaveSpeed = daveSpeed187k
MyParam.iDaveMPI = 2
MyParam.iDaveRACK = 0
MyParam.iDaveSLOT = 0
Case 3:
' here MyParam have to edit
MyParam.sIP = Verbindung ' "192.168.0.62"
MyParam.sIP = "192.168.0.62"
MyParam.iPort = 1099
MyParam.iDaveProtoll = daveProtoPPI_IBH
MyParam.iDaveLocaleMPI = 2
MyParam.iDaveSpeed = daveSpeed19k
MyParam.iDaveMPI = 2
MyParam.iDaveRACK = 0
MyParam.iDaveSLOT = 0
Case 4:
' here MyParam have to edit
MyParam.sIP = Verbindung ' "COM1"
MyParam.iDaveCOMPORT = ComPortNr ' Right(Verbindung, 1) ' 1
MyParam.iDaveProtoll = daveProtoPPI
' MyParam.iDaveProtoll = daveSpeed19k
MyParam.iDaveLocaleMPI = 0
MyParam.iDaveSpeed = daveSpeed9k
MyParam.iDaveMPI = 2
MyParam.iDaveRACK = 0
MyParam.iDaveSLOT = 0
End Select
DoEvents
If iTyp = 0 Or iTyp = 4 Then ' serial AS511, PPI
hSocket = setPort("COM" + CStr(MyParam.iDaveCOMPORT), "9600", Asc("E"))
Else
' hSocket = openSocket(102, S7_IP) ' for ISO over TCP, siehe Doku zu libnodave
' 102 geht nicht bei NetLink Lite
hSocket = openSocket(MyParam.iPort, MyParam.sIP)
End If
If hSocket > 0 Then
hInterface = daveNewInterface(hSocket, hSocket, "Roberts_Verbindung", MyParam.iDaveLocaleMPI, MyParam.iDaveProtoll, MyParam.iDaveSpeed)
l = daveGetTimeout(hInterface)
Debug.Print "daveGetTimeout a "; l
Call daveSetTimeout(hInterface, 2 * l)
l = daveGetTimeout(hInterface)
Debug.Print "daveGetTimeout b "; l
' RetCode = daveInitAdapter(hInterface)
RetCode = daveResOK
If RetCode = daveResOK Then
' lblConnect.Caption = "connection to " & MyParam.sDaveProtoll & " Adapter ok"
' lblConnect.BackColor = vbYellow
DoEvents
hConnection = daveNewConnection(hInterface, MyParam.iDaveMPI, MyParam.iDaveRACK, MyParam.iDaveSLOT)
RetCode = daveConnectPLC(hConnection)
If RetCode = daveResOK Then
Connect = "OK"
Connected = True
Else
Connect = "Error Connection"
End If
End If
Else
Connect = "Error Protokoll / Socket / ComPort"
End If
End Function