S7-314 über Iso-Transportverb. zu weiteren S7-314, immer wieder Aussetzer

Zackenbarsch

Level-1
Beiträge
5
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Fachleute,
ich habe ein Problem mit dem Datenverkehr über Iso-Verbindung zwischen 2 CPU314 mit CP341-1.

Beide AGs sind seit einigen Jahren in Betrieb und senden je 2 DBs zu einem S5 AG135.
Dazu habe ich bei jedem Zyklus den FC5send mit den jeweiligen Sendeparametern aufgerufen, also zwei Aufrufe pro Durchlauf. Dies klappt seit Inbetriebnahme.

Nun wollte ich zwischen den beiden S7 einen DB senden, und habe einen weiteren FC5- Aufruf zugefügt mit den Parametern des neuen Auftrages.
Leider bricht mir nun der Datenverkehr zwischen den beiden S7 immer wieder zusammen,
der Verkehr zur S5 funktioniert weiterhin.

Meine dringlichste Frage wäre, ist es zulässig, den FC5 in einem Zyklus mehrmals mit den verschiedenen Sendeaufträgen aufzurufen ?
Nur zum Verständnis, das ACT-Bit wird natürlich nicht in jedem Zyklus gesetzt, sondern je nach zu sendenden Daten einmal im 4sec-Takt, und einmal ereignisgesteuert.

Gibt es einen Link in dem das Senden zu mehreren Stationen beschrieben ist?
Die Siemens-Handbücher habe ich schon stundenlang gewälzt, leider ist hier immer nur das Senden zu einem Partner beschrieben.

Wäre prima, wenn jemand helfen könnte, ich habe mich schon den ganzen Tag vergeblich mit den AGs beschäftigt,
mfG
Zackenbarsch
 
Beide AGs sind seit einigen Jahren in Betrieb und senden je 2 DBs zu einem S5 AG135.
Dazu habe ich bei jedem Zyklus den FC5send mit den jeweiligen Sendeparametern aufgerufen, also zwei Aufrufe pro Durchlauf. Dies klappt seit Inbetriebnahme.

Nun wollte ich zwischen den beiden S7 einen DB senden, und habe einen weiteren FC5- Aufruf zugefügt mit den Parametern des neuen Auftrages.
Leider bricht mir nun der Datenverkehr zwischen den beiden S7 immer wieder zusammen,
der Verkehr zur S5 funktioniert weiterhin.

In jedem Zyklus der S7 3 Aufträge senden, an den selben Teilnehmer?
Was sendest du denn für wichtige Dinge, dass die so oft aktualisiert werden müssen?
So schnell ist doch S5 garnicht, dass die mit dieser Datenflut sinnvoll umgehen kann.
Für solche Anwendungen verwendeten wir einen Handshake, damit alles sauber läuft.

Nach meiner Erfahrung müssen die Aufträge zum selben Empfänger gegenseitig verriegelt sein, also erst wenn der erste abgearbeitet den nächsten starten.
Wenn mich nicht alles trügt, dann steht das auch in Hilfe zu den Bausteinen.


bike
 
Zuviel Werbung?
-> Hier kostenlos registrieren
huhu ich denke du hast ein Problem mit der Sendung der Daten.
Versuchst du die in jedem Zyklus zu starten? Soweit ich weiss, ist das senden
der Daten via FC5 asynchron, was heisst, dass du einen Job in Auftrag gibst,
wartest das der Ausgang job_done=1 wird, und dann einen neuen Job in
Auftrag gibst... usw.

NOTICE
Once the job has been triggered, you can only change the call parameters of the call interface of the AG_SEND or AG_RECV program blocks after the FC has confirmed completion of the job with DONE=1 or with ERROR=1.
If you do not keep to this rule, it is possible that the job will be aborted with an error.
Dies sagt die Hilfe zu den Bausteinen
 
Hallo,

ich schrieb ja, dass der Sendeanstoß selber nur alle paar Sekunden erfolgt, nur bearbeitet wird der FC5 jetzt pro Zyklus 3mal, also für jeden eventuellen Sendeauftrag.

Ich frage schon das Done und Errorbit ab, bevor er ein weiteres mal senden darf, ich weiß jetzt nur nicht, ob der FC überhaupt mehrmals pro
Zyklus aufgrufen werden darf,
momentan ist es folgendermaßen:
call FC100, prüfen ob done, dann bei Anforderung senden, dann FC101, prüfen ob done, dann bei Anforderung senden, dann FC102, usw

mfG
 
in einer kette so dass bei done nicht immer alle gleichzeitig senden können?
ich würde zum testen ganz einfach die anderen mal sperren und nur den neuen laufen lassen und dann schauen obs geht.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Markus,

ich warte schon, bis der Auftrag beendet ist, trotzdem wird der FC in meinen weiteren Sendebausteinen noch einmal aufgerufen und da stehen dann natürlich andere Verbindungs und Sendedaten dran, gibt das Probleme, obwohl das Sendebit selbst nicht gesetzt wird ?
 
nein... sollte kein Problem sein, solange du für unterschiedliche Sendelängen und unterschiedliche Verbindungspartner jeweils eine einzelne Verbindung anlegst
soweit ich die Hilfe von Siemens verstehe überträgt der Baustein mit dem Trigger den Sendeauftrages den Datenbereich in den CP-Speicher und gibt dem den
Auftrag diese Daten auszuliefern.
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
der Baustein zeigt keinen Fehler, er sendet sporadisch zum anderen AG, aber sonst steht nur 0 im Statuswort, auc kein Error, in Netpro kann ich immer wieder mal eine Erhöhung des Sendezählers feststellen, dann rührt sich wieder einige Zeit nichts.

Also wenn der mehrfache zyklische Aufruf an sich nicht verkehrt ist, muß ich doch noch einmal die Verriegelungen überprüfen.
Komisch nur, das es mit 2 Sendeaufträgen seit 5 Jahren funktioniert, nur der hinzugefügte 3. Sendeauftrag, der identisch ist, klappt nicht. :confused:

Danke für die Hilfe,
mfG
 
Hallo bike,

danke für den Link aber den hatte ich schon gefunden, nur konnte ich dem auch nicht entnehmen, ob der FC mehrmals pro Zyklus mit unterschiedlichen Parametern aufgerufen werden darf, solange immer nur einer der aufgerufenen FC5 sendet ?

Oder ist es sinnvoller, nur bei Sendebedarf den Baustein bedingt anzuspringen, und bei Done den FC bis zum nächsten Sendebedarf gar nicht mehr zu durchlaufen?

Zackenbarsch
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Also ich mache so, dass ich den FC mit Parameter versorge, dann das Senden starten und warten bis done oder error vorbei kommt.
Dann Parameter neu bestücken und wieder los.
Also es gibt bei mir nur einen Aufruf, mit verschiedenen Parameter.


bike
 
Zurück
Oben