STEP 7 Professional V13.1

STEP 7 Professional V13.1
Daten empfangen mit Freeport
Daten empfangen mit Freeport
Festlegen des Nachrichtenanfangs
Bei der Datenübertragung mit Freeport können Sie zwischen mehreren verschiedenen
Startkriterien wählen. Das Startkriterium legt fest, wann ein Telegramm beginnt. Ist ein
Kriterium erfüllt, welches den Nachrichtenanfang anzeigt, wird mit dem Durchsuchen des
Datenstroms nach Kriterien für das Nachrichtenende begonnen. Wählen Sie hier die
Einstellungen aus, die den Eigenschaften des sendenden Kommunikationspartners
entsprechen.
Für das Erkennen des Nachrichtenbeginns gibt es zwei unterschiedliche Verfahren:
•
Mit beliebigem Zeichen beginnen
Jedes beliebige Zeichen kann den Beginn einer Nachricht definieren (Voreinstellung).
D. h. das erste Zeichen zu Beginn einer Kommunikation oder nach einem erkannten Telegrammende
wird als das erste Zeichen einer Nachricht erkannt.
•
Mit spezieller Bedingung beginnen
Der Nachrichtenbeginn wird anhand der folgenden festgelegten Bedingungen erkannt.
―
Nach Erkennung eines Line Break
Der Telegrammanfang wird erst akzeptiert, wenn zuvor ein Break empfangen wurde, d. h. der
Partner muss zwingend vor dem Senden eines Telegramms ein Break senden.
―
Nach Erkennung einer Idle Line
Der Telegrammanfang wird erst akzeptiert, wenn die parametrierte Idle Line-Dauer abgelaufen
ist. Das setzt eine Mindestpause zwischen 2 Telegrammen voraus.
―
Nach Erkennung des Startzeichens
Der Telegrammanfang wird erkannt, wenn das parametrierte Startzeichen erkannt wird.
―
Nach Erkennung einer oder mehrerer Anfangssequenzen
Der Telegrammanfang wird erkannt, wenn die parametrierte, bis zu 5 Zeichen umfassende,
Zeichenfolge erkannt wird. Es können bis zu 4 Anfangsequenzen parametriert werden. Die bis
zu 5 Zeichen umfassenden Anfangssequenzen können auch "don't care characters" enthalten.
Beispiel:
Tabelle 1
Parametrierte Startbedingungen
Startbedingung
1. Zeichen
2. Zeichen
3. Zeichen
4. Zeichen
5. Zeichen
1
0x68
xx
xx
0x68
xx
2
0x10
0xaa
xx
xx
xx
3
0xdc
0xaa
xx
xx
xx
4
0xe5
xx
xx
xx
xx
:
This document constitutes a free excerpt compiled by the user himself/herself from the documentation provided by Siemens for this product. Siemens disclaims
all liability for the completeness of this document. It shall only be used for the user's own internal purposes. It shall not be passed on to third parties. The complete
documentation can be found at:
/dokumentation/default.aspx?DocVersionId=74495465995&Language=de-DE&TopicId=60068585099
22.04.2016
STEP 7 Professional V13.1
Daten empfangen mit Freeport
Folgende Nachricht wurde empfangen: 68 10 aa 68 bb 10 aa 16
Die Auswertung der Startkriterien beginnt mit dem Empfang des 1. Zeichens 0x68.
Das 2. und das 3. Zeichen sind beliebig.
Mit dem Empfang des 4. Zeichens (zweites 0x68) ist die 1. Startbedingung erfüllt und die
weitere Auswertung der Nachricht beginnt.
Festlegung des Nachrichtenendes
Bei der Datenübertragung mit dem Freeport-Protokoll können Sie zwischen mehreren
verschiedenen Endekriterien wählen. Das Endekriterium legt fest, wann ein Telegramm
vollständig empfangen wurde.
Die einstellbaren Endekriterien sind:
•
•
•
•
•
•
•
Erkenne Nachrichtenende durch Nachrichten-Zeitüberschreitung
Erkenne Nachrichtenende durch Antwort-Zeitüberschreitung
Nach Ablauf der Zeichenverzugszeit (Voreinstellung)
Nach Empfang einer festen Telegrammlänge
Nach Empfang einer maximalen Zeichenanzahl
Lese Nachrichtenlänge aus Nachricht
Nach Empfang einer Endesequenz
Nachrichten-Zeitüberschreitung
Beim Empfang von Daten wird das Telegrammende erkannt, wenn die parametrierte Zeit für
die Übertragung eines Telegramms abgelaufen ist. Die Zeitmessung beginnt mit der Erfüllung
des Startkriteriums.
Antwort-Zeitüberschreitung
Mit der Antwortzeit wird das Antwortverhalten des Kommunikationspartners überwacht. Wird
nach Abschluss eines Sendevorgangs kein gültiger Telegrammanfang erkannt, wird der
Sendevorgang mit einer entsprechenden Meldung quittiert.
Das eigentliche Endekriterium muss zusätzlich parametriert werden.
Ablauf der Zeichenverzugszeit
Beim Empfang von Daten wird das Telegrammende erkannt, wenn die eingestellte Maximalzeit
zwischen aufeinanderfolgenden Zeichen überschritten wird (Zeichenverzugszeit). Der Wert
wird in Bitzeiten angegeben.
Die Zeichenverzugszeit muss in diesem Fall so eingestellt werden, dass sie zwischen zwei
aufeinanderfolgenden Telegrammen sicher abläuft. Sie sollte aber so groß sein, dass bei
Sendepausen des Koppelpartners innerhalb eines Telegramms nicht fälschlicherweise das
Telegrammende erkannt wird.
This document constitutes a free excerpt compiled by the user himself/herself from the documentation provided by Siemens for this product. Siemens disclaims
all liability for the completeness of this document. It shall only be used for the user's own internal purposes. It shall not be passed on to third parties. The complete
documentation can be found at:
/dokumentation/default.aspx?DocVersionId=74495465995&Language=de-DE&TopicId=60068585099
22.04.2016
STEP 7 Professional V13.1
Daten empfangen mit Freeport
Feste Telegrammlänge
Beim Empfang von Daten wird das Telegrammende erkannt, wenn die parametrierte
Telegrammlänge erreicht ist.
Falls die Zeichenverzugszeit (sofern aktiviert) abläuft, bevor die feste Telegrammlänge erreicht
ist, erfolgt eine Fehlermeldung und das Telegramm wird verworfen.
Beachten Sie Folgendes, wenn die Telegrammlänge der empfangenen Zeichen nicht mit der
festen parametrierten Telegrammlänge übereinstimmt:
•
•
Alle Zeichen, die nach Erreichen der festen parametrierten Telegrammlänge empfangen werden,
werden solange verworfen bis ein neues Startkriterium erkannt wird.
Ist ein anderes (aktiviertes) Endekriterium erfüllt, bevor die feste parametrierte Telegrammlänge
erreicht wird, so erfolgt eine Fehlermeldung und das Telegramm wird verworfen.
Maximale Zeichenzahl
Beim Empfang von Daten wird das Telegrammende erkannt, wenn die parametrierte Anzahl
von Zeichen empfangen wurde.
Diese Einstellung kann mit den Einstellungen für "Zeichenverzugszeit" kombiniert werden. Das
Telegramm gilt ebenfalls als fehlerfrei empfangen, wenn eine andere Endbedingung eintritt,
unabhängig davon, ob die maximale Zeichenzahl erreicht wurde.
Beachten Sie Folgendes, wenn die Telegrammlänge der empfangenen Zeichen nicht mit der
parametrierten maximalen Telegrammlänge übereinstimmt:
•
•
Alle Zeichen, die nach Erreichen der parametrierten maximalen Zeichenzahl empfangen werden,
werden solange verworfen bis ein neues Startkriterium (z. B. "Idle line") erkannt wird.
Ist ein anderes (aktiviertes) Endekriterium erfüllt, bevor die parametrierte maximale Zeichenzahl
erreicht wird, so wird dieser "Teil des Telegramms" als gültiges Telegramm gewertet und es wird auf
ein neues Startkriterium gewartet. Alle vor der Erfüllung eines neuen Startkriteriums empfangenen
Zeichen werden verworfen.
Hinweis
Ist kein weiteres Endekriterium aktiviert, so verhalten sich Feste Telegrammlänge und
Maximale Zeichenzahl gleich.
Nachrichtenlänge in der Nachricht
Beim Empfang von Daten wird das Telegrammende erkannt, wenn die im Empfangstelegramm
mitgesendete Telegrammlänge erreicht wird.
Welche Zeichen für die Auswertung der Nachrichtenlänge herangezogen werden sollen, wird
mit den folgenden Parametern festgelegt:
•
Offset des Längenfeldes in der Nachricht
Der Wert bestimmt die Position des Zeichens in der Nachricht, welches für die Bestimmung der
Nachrichtenlänge herangezogen werden soll.
Abhängig von der Puffergröße sind Werte von 0 bis 4095 Zeichen einstellbar.
This document constitutes a free excerpt compiled by the user himself/herself from the documentation provided by Siemens for this product. Siemens disclaims
all liability for the completeness of this document. It shall only be used for the user's own internal purposes. It shall not be passed on to third parties. The complete
documentation can be found at:
/dokumentation/default.aspx?DocVersionId=74495465995&Language=de-DE&TopicId=60068585099
22.04.2016
STEP 7 Professional V13.1
Daten empfangen mit Freeport
•
Größe des Längenfeldes
Der Wert gibt an, wie viele Zeichen ab der ersten Auswertungsposition zur Bestimmung der
Nachrichtenlänge herangezogen werden sollen.
Es sind Werte von 1, 2 und 4 Zeichen einstellbar.
•
Anzahl nicht zur Längenangabe zählender Zeichen
Anzahl der Zeichen, die an das Telegramm angehängt sind, jedoch nicht zur Länge des Telegramms
zählen. Der Wert gibt die Anzahl der Bytes am Ende des Telegramms an, die bei der Auswertung
der Nachrichtenlänge nicht berücksichtigt werden sollen.
Es sind Werte von 0 bis 255 Zeichen einstellbar.
Beispiel:
Parametrierungen für "Nachrichtenlänge in der Nachricht"
Offset des Längenfeldes in der Nachricht:
3. Byte (als Offset muss "2" parametriert werden)
Größe des Längenfeldes:
1 Byte
Anzahl nicht zur Längenangabe zählender
Zeichen:
3 Byte
Nachricht
Anzahl nicht zur Längenangabe
zählender Zeichen
Startzeichen
Adresse
Längenfeld
Byte 1
Byte 2
Byte 3
Byte ...
Byte X
Checksumme
Endezeichen
Byte X+1
Byte X+2
Byte X+3
Endesequenz
Beim Empfang von Daten wird das Telegrammende erkannt, wenn die parametrierte
Endesequenz (max. 5 Zeichen) empfangen wird. Die bis zu 5 Zeichen umfassenden
Endesequenz kann auch "don't care characters" enthalten. Die empfangenen Daten werden
inklusive Endesequenz von der CPU übernommen.
Wenn mit Endesequenz gearbeitet wird, ist die Übertragung nicht codetransparent, und es
muss ausgeschlossen werden, dass die Endekennung/en in den Nutzdaten des Anwenders
enthalten sind.
Hinweis
Telegrammendesequenz
Bei nur 1 Endzeichen muss der Eintrag zwingend in der 5. Zeile erfolgen.
Bei 2 Endezeichen müssen die Einträge in der 4. und der 5. Zeile erfolgen (keine Lücken).
Entsprechendes gilt für die Verwendung weiterer Zeichen.
This document constitutes a free excerpt compiled by the user himself/herself from the documentation provided by Siemens for this product. Siemens disclaims
all liability for the completeness of this document. It shall only be used for the user's own internal purposes. It shall not be passed on to third parties. The complete
documentation can be found at:
/dokumentation/default.aspx?DocVersionId=74495465995&Language=de-DE&TopicId=60068585099
22.04.2016