LibNoDave Problem zur S5 in VB6 mit AS511-Protokoll

Senator42

Level-1
Beiträge
927
Reaktionspunkte
80
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo
ich habe ein Problem mit dem LibNoDave:
eine Verbindung zu S7/300 und S7/200 funktioniert.
zur S5 mit der PG-Leitung:
mit dem programm testas511 geht es
aber das VB-Proggi will nicht.


---- DAS FUNKTIONIERT (S5-115 CPU 942 PG_Leitung) ----
D:\EW\_PC\libNoDave\Test_exe>testas511 -w COM1
ConnectPLC
connect::
0:0x00,0xF0,0x00,0xF0,0x00,0xEF,0x00,0xEF,0x80,0xEE,0x00,0xEC,0x00,0xED,0x00,0xE
A,
10:0x00,0x8B,0x02,0xD8,0x00,0x00,0x00,0x02,0x00,0x02,0x00,0x02,0x00,0x02,0x00,0x
02,
20:0x00,0x00,0x00,0x00,0x00,0x0A,0x00,0xEF,0x04,0x00,0x0A,0x00,0x00,0x10,0x03,
start of inputs in memory ef00
start of outputs in memory ef80
start of flags in memory ee00
start of timers in memory ec00
start of counters in memory ed00
start of system data in memory ea00
daveGetKG(dc:00311EE0, mantissa:0x00466666)
daveGetKG(dc:00311EE0, mantissa:0x00466666 exponent:0x02 4613734.00000000)
daveGetKG(400CCCCC)
daveGetKG(C00CCCCC)
FD0: 2
FD4: 4
FD8: 6
FD12: 2.200000
Now we write back these data after incrementing the integers by 1,2 and 3 and th
e float by 1.1.
Press return to continue.

---- DAS FUNKTIONIERT auch, den RS232 Stecker habe ich abgezogen ----
D:\EW\_PC\libNoDave\Test_exe>testas511 -w COM1
ConnectPLC
IF1 *** Error in Exchange.ReqTrans request.
IF1 *** Error in ImageAddr.Exchange sequence.
Couldn't connect to PLC.
Please try again. You may also try the option -2 for some adapters.



---- DAS FUNKTIONIERT N I C H T (S5-115 CPU 942 PG_Leitung) ----

'' bis hier OK --> kennzeichnung wo das prog. entlang kommt.


auszug vom VB6 Proggi

iOption = 0
' S5 mit PG-Leitung also AS511 (nicht RK3964 oder RK512)
MyParam.sIP = "COM1"
MyParam.iDaveCOMPORT = 1
MyParam.iDaveProtoll = daveProtoAS511
MyParam.iDaveLocaleMPI = 0
MyParam.iDaveSpeed = daveSpeed187k
MyParam.iDaveMPI = 2
MyParam.iDaveRACK = 0
MyParam.iDaveSLOT = 0


If iOption = 0 Or iOption = 4 Then ' serial AS511, PPI
hSocket = setPort("COM1", "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

'' bis hier OK

hInterface = daveNewInterface(hSocket, hSocket, "IF1", _
MyParam.iDaveLocaleMPI, _
MyParam.iDaveProtoll, _
MyParam.iDaveSpeed)
RetCode = daveInitAdapter(hInterface)
If RetCode = daveResOK Then

'' bis hier OK

hConnection = daveNewConnection(hInterface, MyParam.iDaveMPI, MyParam.iDaveRACK, MyParam.iDaveSLOT)

RetCode = daveConnectPLC(hConnection)
If RetCode = daveResOK Then
lblConnect.Caption = "connection to " & MyParam.sDaveProtoll & " ok"
lblConnect.BackColor = vbGreen
Else

'' bis hier nicht OK: RetCode = -42 (dezimal)

lblConnect.Caption = "connection to " & MyParam.sDaveProtoll & " ConnectPLC Error: " + CStr(RetCode)
lblConnect.BackColor = vbRed
End If

'' WARUM ?

mit diesem programm funktionieren die S7 300 und 200 verbindungen problemlos.
S7 300 mit NetLink Lite:
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

S7 200 mit PPI an COM1:
MyParam.sIP = "COM1"
MyParam.iDaveCOMPORT = 1
MyParam.iDaveProtoll = daveProtoPPI
MyParam.iDaveLocaleMPI = 0
MyParam.iDaveSpeed = daveSpeed9k
MyParam.iDaveMPI = 2
MyParam.iDaveRACK = 0
MyParam.iDaveSLOT = 0

kann mit einer helfen?

 
Zurück
Oben