Architektur des Netzteils CX1100-00x2

Diese Netzteil verfügt, abgesehen von der Spannungsversorgung, über folgende Funktionen:

  1. Display 2 x 16 Zeichen
  2. 4+1 Navigationsschalter
  3. Non Volatile RAM
  4. K-Bus Anschluss

Diese Funktionen werden über den PC104-Bus angesteuert. Das Strukturbild des CX1100-0001 zeigt die Funktionsblöcke.

 

Architektur des Netzteils CX1100-00x2 1:

 

Dieses Netzteil verfügt über die Grundfunktionen. Diese sind in der Architekturbeschreibung erläutert. Darüber hinaus wird der Klemmbus unterstützt. Der Zugriff erfolgt über ein 4Kbyte großes Dual-ported-RAM (DPRAM). Ein Microcontroller (80C165) steuert die Datenübertragung zum K-Bus. Das DPRAM wird von der CPU (über den PC104-Bus) und dem Microcontroller geschrieben.

Das folgende Schaubild zeigt den Speicheraufbau des DPRAMS.

 

Architektur des Netzteils CX1100-00x2 2:

 

Im unteren Speicherbereich (D000 bis D0400) ist das Abbild des K-Busses abgelegt. Der Bereich teilt sich in Ein- und Ausgangsbereich. Seit dem Firmwarestand ≥ B3 ist es möglich die Speicherbereiche zu verschieben. Auf diese Weise kann das Prozessabbild an die benötigten Bereich angepasst werden. Zu jedem I/O-Bereich gibt es einen Steuerblock. Dieser umfasst je 8 Byte und ist für Diagnosezwecke vorgesehen. Auch diese Bereiche können entsprechend verschoben werden. Die folgende Tabelle zeigt den Aufbau der beiden Interface-Blöcke. Die angegebenen Offsetadressen sind die Standardeinstellungen.

Legacy PLC interface (inputs)

Offset

Default

0x1F8 [2]

Diagnose von CX1100-0002 zu K-Bus

0x1FA [2]

2 Byte PLC Interface von CX1100-0002 zu K-Bus

0x1FC [4]

reserviert

Legacy PLC interface (outputs)

Offset

Default

0x3F8 [2]

Diagnose K-Bus zu CX1100-0002

0x3FA [2]

2 Byte PLC Interface von K-Bus zu CX1100-0002

0x3FC [4]

reserviert

Der K-Bus Control Block (CB K-Bus)

Der folgende Abschnitt beschreibt den K-Bus Control Block. Er liegt im Speicherbereich nach dem GCB.

CB K-Bus

Offset

 

Default

0xFD0[2]

K-Bus 2 byte plc interface to CX1100-0002/3

 

0xFD2[2]

K-Bus 2 byte plc interface from CX1100-0002/3

 

0xFD4[2]

K-Bus diagnosis to CX1100-0002/3

 

0xFD6[2]

K-Bus diagnosis from CX1100-0002/3

 

0xFD8

K-Bus service request bitfield

 

0xFD9

K-Bus service response bitfield

 

0xFDA

K-Bus error code

 

0xFDB

K-Bus error argument

 

0xFDC[2]

K-Bus base ptr Inputs

0x000

0xFDE[2]

K-Bus base ptr Outputs

0x200

0xFE0-0xFE1

K-Bus cycle count

 

0xFE2-0xFE3

K-Bus cycle time [µs]

 

0xFE4

K-Bus bus status

 

0xFE5-0xFEE

Reserved

 

0xFEF

Retry counter

 

 

K-Bus 2 byte plc interface to CX1100-0002/3 / K-Bus 2 byte plc interface from CX1100-0002/3

Diese vier Byte, für jede Richtung zwei Byte, werden benötigt um mit dem I/O-Microcontroller zu kommunizieren. Durch dieses Interface findet ein Datenaustausch mit den K-Bus-Klemmen statt. Das so genannte Registermodell wird detailliert in den Handbüchern der Bus-Koppler und Klemmen beschrieben. Der Datenaustausch dient vor allem der erweiterten Diagnose oder der Konfiguration von Klemmen. Damit können Einstellungen, sofern sie von dem Auslieferzustand abweichen, angepasst werden. (z.B. Baudrate bei RS232 Schnittstellen, Offsetwerte bei analogen Klemmen)

K-Bus diagnosis to CX1100-0002/3  / K-Bus diagnosis from CX1100-0002/3

Über diese vier Bytes, zwei pro Richtung, werden Diagnosedaten übermittelt. Da die gleichen Daten in dem Prozessabbild dargestellt sind, wird diese Schnittstelle im Allgemeinen nicht benötigt.

K-Bus service request bitfield  / K-Bus service response bitfield

In diesen beiden Bitfeldern können Servicefunktionen aufgerufen werden. Ähnlich wie beim GCB werden durch das Setzen von einzelnen Bits Funktionen ausgeführt. Bevor die gleiche Funktion wieder ausgeführt werden kann, muss das Bit für einen Zyklus zurückgesetzt werden. Ein Fehler beim Ausführen einer Funktion wird im den 7. Bit des Response Bytes signalisiert. Die folgende Tabelle beschreibt die zur Zeit implementierten Funktionen.

Bitfeld

Bit 7

Bit 6

Bit 5

Bit 4

Bit 3

Bit 2

Bit 1

Bit 0

Request

-

-

-

-

-

-

Free Run

Reset Bus

Response

Error

-

-

-

-

-

Free Run Active

Reset Done

 

Reset Bus:

Durch das Setzen dieses Bits wird ein Reset des K-Busses ausgelöst. Dies ist notwendig nach Auftreten eines Fehlers (z.B. eine Bus-Klemme ist entfernt worden). Nach einem Reset kann der Fehlercode und der Fehlertext im Contol Block des K-Bus gelesen werden. Liegt kein weiter Fehler vor, so kann der K-Bus seinen Betrieb wieder aufnehmen.

Free Run:

nicht implementiert, für spätere Verwendung vorgesehen.

K-Bus error code K-Bus error argument

Falls auf dem K-Bus Fehler auftreten (defekte Klemme, fehlende Terminierung, EMC Interferenz) wird ein Fehler-Flag im GBC gesetzt. Nach dem K-Bus-Reset sind Fehlernummer und Fehlertext in diesen beiden Bytes abgelegt, sofern der Fehler nicht durch den Reset beseitigt wurde.

K-Bus base ptr Inputs / K-Bus base ptr Outputs

Diese bedien Bytes enthalten den Offset für die I/O-Bereiche des K-Bus-Interface. In dem meisten Fällen sollten diese Bereiche nicht verändert werden. Ändert man diese Werte muss darauf geachtet werden, dass es zu keiner Überlappung mit anderen I/O-Bereichen (z.B. IP-Link) kommt. Die Änderung der Werte muss mit der "Remap" oder "Reset node" Funktion im GCB aktiviert werden.

Die Beckhoff Automation Software TwinCAT verwendet diese Pointer und optimiert die  I/O Bereiche.

K-Bus cycle count

Dieser zwei Byte große Zähler wird mit jedem I/O-Zyklus erhöht.

K-Bus cycle time

Diese Zeit gibt die Zeitspanne eines Zyklus an. Ein Zyklus beginnt  mit der Initiierung und endet mit der Terminierung eines I/O-Prozess-Updates (K-Bus). Die Zeit wird in Microsekunden gemessen. Die Zeitspanne  zwischen dem Eintreffen der Signale "PD cycle request" und "PD cycle ready" entspricht im Fall der CX1100-0002 der Zykluszeit. Bei der CX1100-0003 beschreibt diese Zeit nur den Anteil der Zykluszeit, die auf den K-Bus entfällt; nicht aber die gesamte Zykluszeit.

K-Bus bus status

Dieses Register kann zwei Werte annehmen:

  1. Byte = 0   →  K-Bus läuft ohne Fehler
  2. Byte ≠ 0   →  K-Bus Fehler aufgetreten

Diese Information wird ebenfalls im "Processdata error"  Byte (Bit 0) des GCB dargestellt.

Retry counter

Dieser Zähler wird mit jedem Kommunikationsfehler des K-Bus erhöht. Tritt ein Fehler auf, so wird der Sendeversuch wiederholt. Auf diese Weise gibt der Zähler die Signalqualität des K-Bus  wieder.