Fehler 8184 bei FC6 (AG_RECV) mit CP343

_andre_

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

ich möchte mit einer 313er CPU (6ES7 313-1AD03-0AB0) und einer CP343 (6GK7 343-1EX10-0XE0, Firmware V 1.0.3) mit einem PC-Programm kommunizieren. Ich nutze dazu die Bausteine FC5 und FC6 (AG_SEND, AG_RECV) aus der Simatic NET CP Bibliothek.

Die Kommunikation mit dem FC5 (SPS --> PC) funktioniert einwandfrei, am PC kann ich die gesendeten Daten empfangen. Der Aufruf des FC6 zum Empfangen bringt mir dagegen immer die Status-Meldung 8184. In einem anderen Thread hier hab ich gelesen das dies an einer zu neuen Bausteinversion (nicht kompatibel zu meiner Hardware) liegen könnte.

Aktuell habe ich im Projekt:

FC5 / AG_SEND: Version 4.2
FC6 / AG_RECV: Version 4.7


Ich habe leider keine ältere Simatic NET Bibliothek um das ganze mal auszuprobieren. Kann mir jemand eine ältere Version der beiden Bausteine zur Verfügung stellen oder könnte es evtl. ein ganz anderes Problem sein?

Bei der Angabe des Datenbereiches (Parameter RECV) habe ich testweise auch schonmal statt dem Datenbausteinbereich einen Merkerbereich angegeben, auch hier steht dann im Status nur die 8184.

EDIT: Auch ein Update der Firmware der CP343 auf V 2.0.0 hat leider nichts gebracht.


Gruß
André
 
Zuletzt bearbeitet:
Der Aufruf des FC6 zum Empfangen bringt mir dagegen immer die Status-Meldung 8184. In einem anderen Thread hier hab ich gelesen das dies an einer zu neuen Bausteinversion (nicht kompatibel zu meiner Hardware) liegen könnte.

Aktuell habe ich im Projekt:

FC5 / AG_SEND: Version 4.2
FC6 / AG_RECV: Version 4.7
Hallo André,

versuche es mal mit dem FC60 "AG_LRECV"
Funktionen (FC) und Funktionsbausteine (FB) für SIMATIC NET S7-CPs Programmierhandbuch (08/2009)
Seite 19
In S7–300-CPs (bis zum 6GK7 343–1EX10–0XE0 mit Firmware-Stand V2.2) müssen
Sie auf TCP-Verbindungen statt des FC6 den FC60 verwenden. Für den CP 343-1
(EX10) können Sie den FC5/FC6 bis zur Bausteinversion V3.0 einsetzen.

Zur Versionshistorie der CP343-1 und der Kommunikationsbausteine siehe diese Linkliste.
Aktuelle Firmware Deines CP 343-1EX10 ist die V2.2
Aktuelle Firmware Deiner CPU 313-1AD03 ist die V1.2.1

Harald
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Harald,

vielen Dank für den Hinweis.

Gibt es vom FC60 2 verschiedene Varianten (S7-300 / S7-400)? Ich hab bei mir in der Bibliothek lediglich einen FC60 für die CP-400 gefunden.

Dieser bringt mir nun den Fehler: 8090h (Baugruppe mit dieser Adresse nicht vorhanden). ID und LADDR hab ich noch mal genau geprüft, die Einstellungen stimmen mit denen im NetPro überein.

Im NetPro an sich ist die Verbindung als Send/Receive und passiv eingestellt - der PC baut die Verbindung auf.


Gruß
André
 
Gibt es vom FC60 2 verschiedene Varianten (S7-300 / S7-400)? Ich hab bei mir in der Bibliothek lediglich einen FC60 für die CP-400 gefunden.
Ja gibt es, obwohl Siemens hier behauptet "FC50/60 AG_LSEND/AG_LRECV [...] gibt es nicht für die S7-300 CPU". :ROFLMAO:

Die Bausteine aus der Familie CP_400 funktionieren NICHT auf einer S7-300. Die FC5/FC6/FC50/FC60 der Familien CP_300 und CP_400 unterscheiden sich in der internen Kommunikation mit den CP per SFC58/SFC59, weil die S7-300 und S7-400 unterschiedliche Rückwandbusse haben.

Seit Step7 V5.3 wird AG_LRECV (und AG_LSEND) für die S7-300 nicht mehr mitgeliefert, weil FC6 AG_RECV ab V4.3 Datenlängen > 240 Byte beherrscht und damit AG_LRECV überflüssig wurde - allerdings nur mit CP ab 343-1EX11 - nicht zusammen mit dem 343-1EX10. Das Programmierhandbuch schreibt heute noch extra, daß für TCP-Verbindungen bei CP bis 343-1EX10 der FC60 AG_LRECV verwendet werden muß (warum eigentlich?). Und angeblich sind die FC5/FC6 nur bis V3.0 mit den alten CP bis 343-1EX10 kompatibel. Ich meine aber, solange man nur mit Datenlängen < 240 Byte hantiert, müssten auch die aktuellen FC5/FC6 mit 343-1EX10 funktionieren, da sie in diesem Modus genau wie die alten Bausteinversionen arbeiten.

Die öffentliche Versions-Dokumentation von Siemens ist oft nicht exakt, Fehlerbereinigungen werden verständlicherweise nicht alle aufgezählt, z.B. wird für die FC5/FC6 komplett unterschlagen, ab welcher Version diese Bausteine die Multiinstanzfähigkeit gewährleisten.

Die alten FC5...FC60 für S7-300 werden von Siemens nicht mehr direkt zum Download angeboten, sie sind aber in einigen alten Beispielprojekten enthalten, z.B. hier:
Programmbeispiel zur Kommunikation von SIMATIC S5-Baugruppen zu SIMATIC S7-Baugruppen über Industrial Ethernet mittels TCP-Protokoll

Im Programmbeispiel "SEND und RECEIVE lange Daten" ist der FC60 AG_LRECV V2.3 für S7-300 enthalten (aktuell wäre V3.1).
In dem Programmbeispiel "SEND und RECEIVE kurze Daten" sind die FC5/FC6 V1.11 (nicht für Einsatz in Multiinstanzen geeignet!) enthalten.
Die V3.0-Versionen müßten in Step7 V5.1 (ohne SP2) enthalten sein. Vielleicht kann die mal jemand hier hochladen.
Oder Du rufst mal den Siemens-Support an und läßt Dir die Bausteine zusenden.
(ich bin gerade längere Zeit im Ausland und komme nicht an meine Siemens-CDs und alten Datensicherungen ran)

Die Kommunikation mit dem FC5 (SPS --> PC) funktioniert einwandfrei, am PC kann ich die gesendeten Daten empfangen. Der Aufruf des FC6 zum Empfangen bringt mir dagegen immer die Status-Meldung 8184.
Ich meine, Dein Problem ist vielleicht doch kein Problem der Baustein-Version, da ja z.B. der angeblich nicht kompatible aktuelle FC5 "einwandfrei" funktioniert. Der aktuelle FC6 kommuniziert mit dem CP genauso wie der FC5.

Der Status 8184H bedeutet: "Systemfehler oder Unzulässiger Datentyp für den Parameter RECV angegeben"

Der Any-Pointer an RECV darf nur vom Typ BYTE/WORD/DWORD-Bereich sein, z.B. P#DB6.DBX0.0 BYTE 10. Ist das bei Dir ganz sicher richtig? Wie ist Dein Empfangspuffer strukturiert?
Sind die CPU und der CP mit der richtigen MLFB und Firmwareversion in HW-Konfig eingetragen? Ist die HW-Konfig in die CPU geladen?
Welche LADDR hat der CP bei Dir? Beim aktuellen FC6 darf der CP nicht auf eine xF8...xFF-Adresse projektiert werden (Bug in der Adress-Berechnung für das Koordinierungsbyte), also NICHT 248...255, 504...511

Zeige doch mal einem Screenshot von Deinem AG_RECV-Aufruf, wo man die absoluten Adressen sehen kann.

Leuchtet eigentlich am CP343-1 oder an der CPU die SF-LED und wenn ja, was sagt die Diagnose?

ID und LADDR hab ich noch mal genau geprüft, die Einstellungen stimmen mit denen im NetPro überein.
Die Bausteinparameter ID und LADDR kann man von Step7 automatisch in die Bausteinaufrufe einfügen lassen:
Rechter Mausklick auf den Baustein-Aufruf > Verbindungen... und dann die entsprechende Verbindung auswählen.

Welche Punkte sind beim Aufruf der Kommunikationsbausteine FC5/50 und FC6/60 im STEP 7-Anwenderprogramm der CPU zu beachten?
Was müssen Sie beim Aufruf der Kommunikationsbausteine FC5/50 "AG_SEND/AG_LSEND" und FC6/60 "AG_RCV/AG_LRCV" beachten, wenn Sie Variablen mit dem Datentyp "REAL" übertragen?
Besonderheiten bei der Parameterversorgung der Kommunikationsbausteine des CP342 / CP343
Unterschiedliches Bausteinverhalten des FC5 und FC50 für Ind. Ethernet S7 300 CPs

Harald
 
Hallo Harald,

besten Dank für deine Unterstützung!

Die V3.0-Versionen müßten in Step7 V5.1 (ohne SP2) enthalten sein. Vielleicht kann die mal jemand hier hochladen.
Hab heute eine alte 5.1 CD aus unserem Archiv rausgekramt, dort ist in der Simatic NET Bibliothek die Bausteinversion 3.0 vom FC60 noch enthalten - damit läuft nun auch die Übertragung PC -> SPS. Manchmal sind die alten Versionen doch noch zu etwas nütze :-D

Testweise hab ich aber trotzdem noch mal den FC6 aus dem Siemens Beispielprojekt eingespielt, damit erhalte ich nun wieder den Fehler 8184.

Dann werd ich wohl jetzt bei der Kombination FC5 / FC60 bleiben, auf den ersten Blick scheint damit nun alles soweit zu funktionieren. :s12:

Vielen Dank nochmal und eine schöne Woche


Gruß
André
 
Zurück
Oben