Bitte beachten Sie: Bei diesem Artikel handelt es sich um eine maschinelle Übersetzung. Die originale FAQ ist hier zu finden. SBC stellt diese Informationen ohne Gewähr für Richtigkeit bzw. Funktionalität zur Verfügung und übernimmt auch keine Gewährleistung bezüglich der Vollständigkeit oder Richtigkeit der Übersetzung.

Unterschiedliche Handhabung der TBSY Flagge (im MC-Modus) zwischen PCD3 / PCD2.M5 und ältere Systeme

FAQ #100655

Das Diagnose-Flag ist TBSY von der "Charakter-Modus" (verwendet für das Senden von Zeichen über eine serielle Leitung) nicht behandelt die gleiche Weise auf eine im Vergleich zur "alten" Systeme wie z.B. PCD2 PCD3.M170.

 

Symptom
Wenn der entsprechende Port im MC-Modus zugewiesen ist, zeigt das Diagnose-Flag TBSY, dass die serielle Schnittstelle senden Zeichen beschäftigt. Dies ist der Fall bei z.B. einer PCD2.M170.
Dieses Verhalten ist nicht gleich auf ein PCD2.M5xxx oder ein PCD3.Mxxxx, vor allem nicht wenn mit einer PCD3.F121 oder eine F2xx(x)-Module. Auf eine PCD3/PCD2.M5 ist das TBSY-Flag keiner mehr hoch während der ganzen Zeit, die der Anschluss besetzt ist. Stattdessen ist es nur hoch eine kurze Zeit ganz am Anfang des Vorgangs senden.

Grund
Der Grund für diesen Unterschied ist eine neue Art und Weise der UART des Ports zugreifen. Auf älteren Systemen wurden die Zeichen direkt in die UART geschrieben, wobei die PCD3 ein Puffer dazwischen gelegt ist. Statt darauf hin, dass der "Send-Staat" von der UART auf älteren Systemen mag, stellt der TBSY den Zustand dieses Puffers (die Größe am Ende dieser FAQ-Seite finden) auf der PCD3 oder die PCD2.M5.

Lösung
Dieser Unterschied sollte nicht dazu führen, dass Problem ist den meisten Fällen. In einigen Anwendungen ist jedoch der Zustand der TBSY verwendet, z.B. das RTS-Signal der Linie (mit der Anweisung SOCL) steuern. In diesem Fall die Kommunikation (arbeitet an einer PCD2.M170) funktioniert nicht mehr auf eine PCD3 oder eine PCD2.M5.
In diesem Fall könnte eine der folgenden Problemumgehungen angewendet werden:

  • Anstelle von zuweisen den Hafen MC0 könnten es in MC4 zugewiesen werden (MC4 wird gewöhnlich als "MC für RS485" beschrieben). In diesem Modus die UART ist die Verwaltung der RTS autonom (und daher besteht keine Notwendigkeit mehr, die RTS durch das User-Programm festgelegt). Beachten Sie, dass in diesem Fall die SOCL-Befehle sind aus dem Programm entfernt werden!
  • Die Dauer, während die RTS wird festgesetzt im Voraus berechnet werden konnte (basierend auf der Anzahl Zeichen gesendet werden) und in einen Timer geladen. Während dieser Zeitgeber hoch ist, kann der RTS mit dem SOCL-Befehl festgelegt werden.
    Beachten Sie, dass diese Lösung nicht wirklich eine "nette" und kann nur Arbeit mit sehr niedrigen Baudraten.

Notizen

  • Alle Firmware-Versionen der PCD3xxx und PCD2.M5xxx behandeln die TBSY, wie in dieser FAQ beschrieben.
  • Die Puffergröße ist abhängig von der Port verwendet:
    PCD3 Port 1 und 02:24 Zeichen
    PCD3-Port 0 und 3: 2 Zeichen
    PCD2.M5 Port 0 und 01:24 Zeichen
    PCD2.M5 port 2 und 3: 2 Zeichen

Categories

PCD2 / _Firmware Classic

PCD2 / Fxxx

PCD3 / _Firmware Classic

PG5 2.0 / Mode-C

PCD3 / Fxxx

Last update: 28.05.2015 08:51

First release: 04.01.2007 13:44

Views: 8690

Die von Ihnen angeforderte Software / Dokument wird von der Saia-Burgess Controls AG nicht mehr vermarktet und technisch unterstützt. Es handelt sich um eine ältere Software-Version, die lediglich auf bestimmten, mittlerweile nicht mehr im Handel erhältlichen Produkten betrieben werden kann.

Download