Step 7 AG_SEND schickt Signalen Ständig

sfh06fsu

Level-1
Beiträge
3
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Zusammen,
Ich habe ein Kommunikation netz zwischen ein PC und ein CPU315 über ein CP343 aufgebaut. Dafür benutze ich AG_SEND Standard Baustein.
Momentan steuere ich ein Laser Prozess damit und ein Logfile. Mein Problem ist das der AG_SEND schickt Strings ständig wann
das zugehörigen Merker gesetzt ist. Es ignoriert flanken und der 'send request' wird nicht ruckgesetzt oder es wird setzt und wieder ruckgesetzt.
Ich bin nicht sicher. Ich habe das 'Standard' Beispiel von Siemens für AG_Send Benutzt.

Ein Beispiel.
Merker für 'Door Open' ist gesetzt und triggert eine positive flanke. Das String 'Door is Open' ist mit Block Move innerhalb das Send Baustein geschoben.
Das AG_Send soll das Signal nur einmal nach das Logfile schicken aber es schickt es 1000mal bis die tür wieder zu ist. Wie kann ich das vermeiden?
Ich habe auch Bilder im Anhang getan.

Fröhes Neues
 

Anhänge

  • door_open.JPG
    door_open.JPG
    38,8 KB · Aufrufe: 40
  • AG_Send.JPG
    AG_Send.JPG
    27,1 KB · Aufrufe: 43
Das sollte schon funktionieren, daß AG_SEND nur einmal sendet. (Deine Verbindung zum PC ist eine TCP-Verbindung?)
Da wird wohl M141.3 "Send_Request_Logfile" immer wieder gesetzt?
"Flackert" M132.0 oder gibt es im Programm weitere Schreibzugriffe oder Adress-Überschneidungen auf den Flankenmerker M150.5 oder M141.3?

Der "Send_Request_Logfile" in dem einen Bild ist der selbe Merker wie in dem anderen Bild?
"Send_Request_Logfile" muß auch rückgesetzt werden bei #SND_ERR

Zur "Sicherheit" könntest Du vor dem ACT von FC5 noch eine Flankenerkennung einbauen
Code:
                                             +-----------+
"Send_Request_Logfile"   "Flankenmerker"     |    FC5    |
---------| |-------------------(P)-----------|ACT        |

Harald
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Danke Harold,
Die Verbindung ist ein TCP Verbindung. Ich habe mich auch gewundert ob das Signal flackert.
Die Signalen sind nirgendwo anderes benutzt.
Ich habe es getestet mit ein eigenen Merker das ich über VAT steuere. Solange das Merker
1 ist schickt AG_Standig ständig.
ich versuche eine flanke bevor den AG_Send zu tuen. Leider bin ich momentan nicht auf der Anlage.
 
Dein FC5 AG_SEND ist aus der Bibliothek "SIMATIC_NET_CP / CP 300" mit der Version 4.2?

Ob ein Signal flackert kann man sehen, wenn man da einen Zähler (z.B. Z_VORW) dranhängt.

Harald
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hi,

so wie du es programmiert hast wird es auch nicht funktionieren, da du nie weißt wann genau das Done kommt. Änder mal dein Programm so, dass du aus dem Setzen ein = (Gleich) machst und das Netzwerk mit dem Rücksetzen kannste löschen.
 
Zuletzt bearbeitet:
Aus der Hilfe des FC5:

ACT INPUT BOOL 0,1 Beim FC-Aufruf mit ACT = 1 werden LEN Bytes aus dem mit dem Parameter SEND angegebenen Datenbereich gesendet. Beim FC-Aufruf mit ACT = 0 werden die Statusanzeigen DONE, ERROR und STATUS aktualisiert.

Daher muss IMHO eine Flanke an den ACT.
 
Zurück
Oben