Architektur des Netzteils CX1100-00x2
Diese Netzteil verfügt, abgesehen von der Spannungsversorgung, über folgende Funktionen:
- Display 2 x 16 Zeichen
- 4+1 Navigationsschalter
- Non Volatile RAM
- K-Bus Anschluss
Diese Funktionen werden über den PC104-Bus angesteuert. Das Strukturbild des CX1100-0001 zeigt die Funktionsblöcke.

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.

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:
- Byte = 0 → K-Bus läuft ohne Fehler
- 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.