Herunterladen Diese Seite drucken

Interruptgesteuerter Empfang Von Daten - Siemens SIMATIC S7-200 Systemhandbuch

Vorschau ausblenden Andere Handbücher für SIMATIC S7-200:

Werbung

S7-200 Systemhandbuch
Bild 6-13
4.
Zählwert für die Höchstzeichenzahl: Der Operation Meldung in Zwischenspeicher empfangen muss
die maximale Anzahl Zeichen mitgeteilt werden, die empfangen werden soll (SMB94 oder SMB194).
Wenn dieser Wert erreicht oder überschritten wird, wird die Funktion zum Meldungsempfang beendet.
Für die Operation Meldung in Zwischenspeicher empfangen muss eine maximale Zeichenzahl
angegeben werden, auch wenn dieser Wert nicht unbedingt als Endebedingung genutzt wird. Dies ist
deshalb erforderlich, weil die Operation Meldung in Zwischenspeicher empfangen die maximale
Größe der empfangenen Meldung kennen muss, damit Anwenderdaten, die sich im Anschluss an den
Meldungspuffer befinden, nicht überschrieben werden.
6
Der Zählwert für die Höchstzeichenzahl kann zum Beenden von Meldungen eingesetzt werden, wenn
beim Protokoll die Meldungslänge bekannt und immer gleich ist. Der Zählwert für die
Höchstzeichenzahl wird immer zusammen mit der Endezeichenerkennung, mit dem Timer für die Zeit
zwischen den Zeichen oder mit dem Meldungs-Timer verwendet.
5.
Paritätsfehler: Die Operation Meldung in Zwischenspeicher empfangen wird automatisch beendet,
wenn die Hardware einen Paritätsfehler an einem empfangenen Zeichen meldet. Paritätsfehler sind
nur möglich, wenn in SMB30 oder SMB130 die Parität aktiviert ist. Diese Funktion kann nicht
ausgeschaltet werden.
6.
Anwenderabbruch: Das Anwenderprogramm kann die Funktion zum Meldungsempfang beenden,
indem eine weitere Operation Meldung in Zwischenspeicher empfangen ausgeführt wird und das
Freigabebit (EN) in SMB87 oder SMB187 auf Null gesetzt ist. Daraufhin wird die Funktion zum
Meldungsempfang sofort beendet.

Interruptgesteuerter Empfang von Daten

Damit Sie bei den unterstützten Protokollen eine größere Flexibilität haben, können Sie auch
interruptgesteuert Daten empfangen. Hierbei erzeugt jedes empfangene Zeichen einen Interrupt. Das
empfangene Zeichen wird in SMB2 abgelegt und der Status der Parität (sofern aktiviert) wird in SM3.0
abgelegt. Dies geschieht unmittelbar vor der Ausführung des Interruptprogramms, das dem Ereignis
Zeichen empfangen zugeordnet ist. SMB2 dient als Puffer für empfangene Zeichen bei der frei
programmierbaren Kommunikation. Die Zeichen, die während der frei programmierbaren Kommunikation
empfangen werden, werden in diesem Speicher abgelegt, damit das Anwenderprogramm schnell auf die
Werte zugreifen kann. SMB3 wird bei der frei programmierbaren Kommunikation eingeschaltet und enthält
ein Bit, das gesetzt wird, wenn bei einem der empfangenen Zeichen ein Paritätsfehler erkannt wird. Alle
anderen Bits dieses Byte sind reserviert. Mit dem Paritätsbit können Sie die Meldung verwerfen oder eine
negative Quittierung erzeugen.
Wenn Sie die Interruptsteuerung bei hohen Baudraten (38,4 kBaud bis 115,2 kBaud) verwenden, ist die Zeit
zwischen den Interrupts sehr kurz. Der Interrupt für 38,4 kBaud beträgt beispielsweise 260 Mikrosekunden,
der Interrupt für 57,6 kBaud beträgt 173 Mikrosekunden und der Interrupt für 115,2 kBaud beträgt
86 Mikrosekunden. Stellen Sie sicher, dass Sie die Interruptprogramme sehr kurz halten, damit keine
Zeichen verloren gehen, oder verwenden Sie die Operation Meldung in Zwischenspeicher empfangen.
Tipp
SMB2 und SMB3 werden von Schnittstelle 0 und Schnittstelle 1 gemeinsam genutzt. Löst der Empfang
eines Zeichens an Schnittstelle 0 die Ausführung des Interruptprogramms aus, das dem Ereignis (Inter-
ruptereignis 8) zugeordnet ist, dann enthält SMB2 das an Schnittstelle 0 empfangene Zeichen und SMB3
enthält den Paritätsstatus des Zeichens. Löst der Empfang eines Zeichens an Schnittstelle 1 die
Ausführung des Interruptprogramms aus, das dem Ereignis (Interruptereignis 25) zugeordnet ist, dann
enthält SMB2 das an Schnittstelle 1 empfangene Zeichen und SMB3 enthält den Paritätsstatus des Zei-
chens.
86
Zeichen
Beginn der Meldung:
Startet den Meldungs-Timer
Beenden der Operation Meldung in Zwischenspeicher empfangen mit dem Meldungs-Timer
Zeichen
Der Meldungs-Timer läuft ab:
Beendet die Meldung und erzeugt einen Mel-
dungsempfangsinterrupt

Quicklinks ausblenden:

Werbung

loading