S7 300 Datentransfaire / Kopplung mit ABB Freelance AC800

fahrenholzsaar

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

ich bin gerade bei dem versuche, Daten bzw wenn möglich sogar db's, von einer s7 300 zu einem freelance ac800 controler zu senden/empfangen.

ich habs versucht mit den in simatic definierten send/receive bausteinen (fc5) aber ohne erfolg. freelance benutz da scheinbar andere protokolle, bzw das variablenmanagment funktioniert dort auch anders.

kann mit bitte jemand weiterhelfen, wie ich ne kopplung hinbekommen könnte!
(OPC funktioniert)

danke schonmal!
 
Über welche Hardware wolltest du kommunizieren? MPI, DP, beschreibe bitte deinen Entwurf für beide Seiten.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Also am besten wäre näturlich über ethernet, da sowohl die s7 300 als auch der freelance controller über ethernet-schnittstellen verfügen.
als alternative wär auch profibus möglich.
 
in S7 eine unspezifizierte UDP projektieren. Bei freelance sollte so was vielleicht auch gehen. Und dann S7-seitig SEND gesteuert antriggern, RECEIVE ständig aktiv halten. Bei der Auswertung der Daten UDP-Spezifika berücksichtigen.

Gruss KS
 
hab's so schon versucht, es funktioniert leider nicht!
warum weshalb wieso weiß ich nicht genau. hab auf beiden seiten
die entsprechenden verbindungen eingerichtet und die entsprechenden
sende und empfangsbausteine implimentiert, aber ohen erfolg!

auf der simens-seite wird angezeit bei der diagnose, dass die daten gesendet
werden, aber bei auf der abb seite kommt nichts zur anzeige!
 
Zuviel Werbung?
-> Hier kostenlos registrieren
problem gelößt!

abb sendet einen header vom 20 byte vor den nutzdaten.

Byte
Wert
Bedeutung
1
14 Hex
Headerlänge (14Hex = 20Byte)
2
0
Füllbyte
3
0-X Hex
Nutzdatenlänge (ohne Headerlänge)
4
00 Hex
Füllbyte
5
FF Hex
Paketbereich (Statisch belegt mit diesen Werten)
6
7E Hex
Paketbereich (Statisch belegt mit diesen Werten)
7
67 Hex
Fragmentierungsdaten (Statisch belegt mit diesem Wert)
8
00 Hex
Fragmentierungsdaten (Statisch belegt mit diesem Wert)
9
17 Hex
Protokolltyp (17 Hex steht für TCP/IP, statischer Wert)
10
A0 Hex
Lebensdauer der Daten
11
1-FF Hex
Zähler der durchlaufenen Übertragungen (Darf als Initialwert beim Senden nie 0 sein!)
12
0-FF Hex
Zähler der durchlaufenen Übertragungen
13
0-FF Hex
Zähler der durchlaufenen Übertragungen
14
0-FF Hex
IP des in Control Builder F definierten
Sende-/Empfangsmodul (wichtig beim Senden von Siemens zu ABB)
15
00 Hex
Füllbyte
16
00 Hex
Füllbyte
17
00 Hex
Füllbyte
18
00 Hex
Füllbyte
19
0F Hex
Fest definierte Konstante
20
00 Hex
Füllbyte
 
ABB Freelance AC800F send receive udp protokoll

super. das hat geholfen. ich habe eine java-applikation auf diese weise angekoppelt.

das Protokoll hatte ich ähnlich entschlüsselt. allerdings ist die position der Baustein-ID um eins verschoben. Insgesamt also:


Byte Wert Bedeutung
1 14 Hex Headerlänge (14Hex = 20Byte)
2 0 Füllbyte
3 0-X Hex Nutzdatenlänge (ohne Headerlänge, aber mit den 2 zeichen vor und 2 hinter dem string)
4 00 Hex Füllbyte
5 FF Hex Paketbereich (Statisch belegt mit diesen Werten)
6 7E Hex Paketbereich (Statisch belegt mit diesen Werten)
7 67 Hex Fragmentierungsdaten (Statisch belegt mit diesem Wert)
8 00 Hex Fragmentierungsdaten (Statisch belegt mit diesem Wert)
9 17 Hex Protokolltyp (17 Hex steht für TCP/IP, statischer Wert)
10 A0 Hex Lebensdauer der Daten
11 1-FF Hex Zähler der durchlaufenen Übertragungen (Darf als Initialwert beim Senden nie 0 sein!)
12 0-FF Hex Zähler der durchlaufenen Übertragungen
13 0-FF Hex Zähler der durchlaufenen Übertragungen
14 ?? ??
15 0-FF Hex ID des in Control Builder F definierten Sende-/Empfangsmodul (wichtig beim Senden von Siemens zu ABB)
16 00 Hex Füllbyte
17 00 Hex Füllbyte
18 00 Hex Füllbyte
19 0F Hex Fest definierte Konstante
20 00 Hex Füllbyte

mfg
 
Hallo zusammen.

Probier gerade eine UDP Kopplung einer S7-300 mit Freelance.
Hab jetzt nach einigem Hin-und Her von ABB folgende Defition des Headers erhalten:

WORD16 cHeaderLen;
WORD16 nDataLen;
WORD32 MagicNumber_1;
WORD32 MagicNumber_2;
WORD16 Sequence;
WORD16 DestId;
WORD16 Cmd;
WORD16 Data;


WORD16 ist ein 16 Bit Integer ohne Vorzeichen
WORD32 ist ein 32 Bit Integer ohne Vorzeichen

cHeaderLen : Länge dieses Kopfes in Bytes
nDataLen: Länge der nach dem Kopf folgenden Nutzdaten.
MagicNumber_1: Müssen mit den untenstehenden defines gefüllt werden.
MagicNumber_2: Dient dem Schutz gegen fremde Datagramme mit demselben Port
Sequence: ein fortlaufende Nummer, ohne weitere Bedeutung
DestId: die Nummer des Ziel-Empfangsbausteins
Cmd: Art des Datagramms : Data -Msg. oder Acknowledge-Msg. (s.o.)
Data: Falls Cmd=Ack, steht hier das Verbindungstimeout in Sekunden

Werde die Kopplung morgen testen und nochmal posten ob die Geschichte funktioniert hat!

LG!
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo ich hoffe das hier noch einer ist der sich ein wenig damit auskennt.

Ich muss für ein Projekt eine Anbindung an eine ABB Steuerung machen. Dank des Threads bin ich schon mal so weit das ich mir einen SR_URCV Baustein anlegen konnte. Jetzt brauche ich dazu aber noch einen SR_TCP Baustein den ich über den Bausteinekatalog nicht finden kann. Ich konnte diesen zwar unter MSR-Schnittstellen anlegen jedoch bekomme ich beim plausibilisieren einen Fehler "Typ des Schnittstellennamens ist Falsch oder Baustein existiert nicht (muß vom Typ SR_SNDEV sein)"
achso ich arbeite im Emulationsmodus, habe also keine Physikalische ABB-Steuerung im Momment, Ziel ist es erst ein mal mittels eines JAVA Programms Daten mit der Emu bzw. Steuerung aus zu tauschen (läuft im Moment alles auf der Engeneeringstation)

Kann mir da jemand vielleicht eine Hilfestellung geben bzw. sagen wo und wie ich diesen Baustein anlegen kann.
 
Zurück
Oben