Skip to main content

Verfügbare dynamische Komponenten

Optionale Komponenten dienen der Anpassung von CODESYS Control RTE an spezielle Hardware. Sie können solche Komponenten auf der Registerkarte Component Manager des Dialogs PLC Configuration zusätzlich in die Konfiguration laden. Für weitere Informationen siehe Dialog: System Configuration - Component Manager

Anpassung an die Hardware-Plattform

Auf Mehrkern-Prozessoren wird immer CmpDrvSchedulerAMP vom Setup installiert. Damit wird die Ausführung der RTE auf einen von Windows nicht genutzten CPU-Kern verlagert. Auf Windows 64-Bit oder Windows-Verisonen > 7 ist ausschließlich mit diesem Vorgehen ein Echtzeitbetrieb möglich. Das Setup wird dabei per Boot-Option numproc die Ausführung von Windows auf die ersten <Anzahl physikalisch vorhandener Kerne - 1> Kerne begrenzen. Auf Hyperthreading-Kerne muss komplett verzichtet werden. Das Setup erkennt die Plattform und trägt automatisch den erforderlichen Treiber als erste Komponente in die cfg-Datei der RTE ein. Diese darf nie geändert werden.

Die Treiber speichern jeweils unter ihren Namen im Pfad der Systemdienste HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Service im Schlüssel Params ihre Messergebnisse aus der Messung beim ersten Start, bei der die Geschwindigkeit der verwendeten Hardware ermittelt wird. Bei allen folgenden Systemstarts wird der ermittelte Wert aus der Registry gelesen. Wenn Werte fehlen, wird erneut gemessen.

Unterstützung optionaler Feldbuskarten

Treiber CmpEt1000Drv

Dieser Treiber unterstützt direkt die Pro1000-kompatiblen Chipsätze von Intel. Um die Komponente benutzen zu können, müssen Sie den originalen Treiber von Intel im Gerätemanager von Windows durch diesen Treiber ersetzen. Gehen Sie wie folgt vor:

  • Öffnen Sie den Windows-Gerätemanager.

  • Wählen Sie mit der rechten Maustaste den Befehl Treibersoftware aktualisieren für die selektierte Pro1000-Netzwerkkarte.

  • Wählen Sie den Treiber manuell aus und geben Sie den Pfad auf <RTE-Installationsverzeichnis>\CmpET1000MPD an.

Falls der Gerätemanager sich weigert, den Treiber zu installieren, deinstallieren Sie den originalen Treiber von Intel mit der <Entf>-Taste und löschen Sie im Verzeichnis <SystemRoot>\inf die entsprechenden inf- und pnf-Dateien. Hinweis: SystemRoot ist üblicherweise „C:Windows“.

Die hier zu verwendenden inf-Dateien heißen meist net557*.inf/pnf oder net559*.inf/pnf. Hinweis: Wenn in der inf-Datei auf Pro1000 verwiesen wird, handelt es sich normalerweise um die richtige Datei. Die pnf-Datei hat immer den gleichen Namen wie die inf-Datei.

Wenn nun das System neu gestartet wird, kann Windows den Treiber nicht mehr automatisch installieren. Der Hardwaremanager wird gestartet und ihm wird der Treiber in <RTE-Installationsverzeichnis>\CmpET1000MPD übergeben.

Wichtig

Zusätzlich müssen Sie die Laufzeitkomponenten in der Datei CODESYSControl_User.cfg aktivieren:

Component.<subsequent number>=CmpEt1000Drv

Treiber CmpEt100Drv

Hinweis: Dieser Treiber wird nur aus Kompatibilitätsgründen ausgeliefert, die Hardware kann nicht mehr erworben werden.

Dieser Treiber unterstützt direkt die Pro100-kompatiblen Chipsätze von Intel. Um die Komponente benutzen zu können, müssen Sie den originalen Treiber von Intel im Gerätemanager von Windows durch diesen Treiber ersetzen. Gehen Sie wie folgt vor:

  • Öffnen Sie den Windows-Gerätemanager.

  • Wählen Sie mit der rechten Maustaste den Befehl Treibersoftware aktualisieren für die selektierte Pro100-Netzwerkkarte.

  • Wählen Sie den Treiber manuell aus und geben Sie den Pfad auf <RTE-Installationsverzeichnis>\CmpET100MPD an.

Falls der Gerätemanager sich weigert, den Treiber zu installieren, deinstallieren Sie den originalen Treiber von Intel mit der <Entf>-Taste und löschen Sie im Verzeichnis <SystemRoot>\inf die entsprechenden inf- und pnf-Dateien. Hinweis: SystemRoot ist üblicherweise „C:\Windows“.

Die hier zu verwendenden inf-Dateien heißen meist net557*.inf/pnf oder net559*.inf/pnf. Hinweis: Wenn in der inf-Datei auf Pro100 verwiesen wird, handelt es sich normalerweise um die richtige Datei. Die pnf-Datei hat immer den gleichen Namen wie die inf-Datei.

Wenn nun das System neu gestartet wird, kann Windows den Treiber nicht mehr automatisch installieren. Der Hardwaremanager wird gestartet und ihm wird der Treiber in <RTE-Installationsverzeichnis>\CmpET100MPD übergeben.

Wichtig

Zusätzlich müssen Sie die Laufzeitkomponenten in der Datei CODESYSControl_User.cfg aktivieren:

Component.<subsequent number>=CmpEt100Drv

Treiber CmpSJACanDrv

CmpSJACanDrv ist ein generischer Treiber für CAN-Hardware, die auf dem CAN-Controller SJA1000 oder kompatiblen Controllern basiert. Die PCI-Karten von Peak, Ixxat (passive CAN-Karte) und Automata werden direkt unterstützt.

Sie können nach dem Einbau der Karte den entsprechenden Treiber aus dem Verzeichnis W2K_XP_Drivers (im RTE-Installationsverzeichnis) wählen und installieren. Dazu verwenden Sie den Assistenten, der direkt über Neue Hardware gefunden erscheint, oder den Gerätemanager von Windows (Kontextmenü, Befehl Treibersoftware aktualisieren). Durch manuelle Auswahl eines Treibers und Navigation in eines der oben genannten Verzeichnisse installieren Sie den gewünschten Treiber. Das Gerät befindet sich dann in der Kategorie „3S compatible devices“.

Hinweis: Der Originaltreiber des Herstellers darf nicht installiert werden!

Der CmpSJACanDrv kann auch fest auf der Hardware vorhandene SJA1000-Controller ansprechen. Die Eigenschaften solcher on-Board-CAN-Controller können Sie dem Treiber über Einträge in der Konfigurationsdatei der CODESYS Control RTE im Abschnitt [CmpSJACanDrv] übergeben. Hier die möglichen Einträge:

NumDevices=1 <number of SJAs>  ;Number of SJAs, that are configured in the following>
;(optional: <DisableRetain=1> The driver is told that it should
; not create any retain entry in the cfg file, even if a CAN adapter is equipped with NVRAM.)
0.Address=<physical address of the SJA1000>            
0.Interrupt=<interrupt vector of the SJA1000>
0.IntEdgeTrig=<0 or 1. 0 hardware dependent>
0.XtalFrequency=<frequency>   ;normally 16000000Hz, 24000000Hz is also a possible variant
0.BusType=<bus type>  ;depending on the type of switching of the SJA, 
;1 for ISA, 3 for PCI, 0 for memory
0.Alignment=<alignment>       ;normally 1, hardware dependent
0.Name=<any name>
.OutputCtrl=<valid values:e.g. 0xFE, 4C, 1A>   ;Depends on the CAN switching
0.PortAddress=<port address>  ;This address is written one time for 
;initializing the CAN switching.
0.PortValue=<vlaue>    ;The value that is written for the initialization.

Treiber CmpNetXCanDlDrv

Diese Komponente ist ein CAN-Mini-Treiber für eine NetX-CAN-Karte. Mit diesem Treiber kann CODESYS Control RTE über eine NetX-Karte die CAN-Bibliotheken von CODESYS GmbH benutzen.

CmpNetXCanDlDrv kann nur zusammen mit CmpHilscherCIFX verwendet werden, über die Sie eine CAN-Firmware (Master oder Slave) laden müssen. Ob Master oder Slave verwendet wird, ist unerheblich, da CmpNetXCanDlDrv nur die CAN-Treiberschnittstelle der Karte benutzt. Das Protokoll wird von einer 3S-CAN-Bibliothek verwaltet.

Die Konfiguration der Komponente in der Konfigurationsdatei der CODESYS Control RTE:

[CmpNetXCanDlDrv]MaxNumberOfCanNetworks=0..n -> number of the CAN networks (number of the NetIds)
NetId.0.Channel=0 -> mapping of the NetId onboard nad NetX channels (see CmpHilscherCIFX)
NetId.0.Board=0

Treiber CmpRTL81x9Mpd

Hinweis: Dieser Treiber wird nur aus Kompatibilitätsgründen ausgeliefert, die Hardware kann nicht mehr erworben werden.

Dieser Treiber unterstützt direkt den Realtek RTL8139 (und kompatiblen) Ethernet-Contoller. Die Kombi-Chipsätze 8100 und 8110 sind ebenfalls kompatibel. Die Installation erfolgt ebenfalls analog zu CmpEt100Drv.

Treiber CmpRTL8169Mpd

Analog zu CmpRTL81x9Mpd, für die Gigabit-Variante der o.g. Realtek Ethernet-Controller.

Treiber CmpSercos3Master

Dieser Treiber unterstützt die SERCOS III PCI Karte 700353x0 der Fa. Automata. Nach dem Einbau der Karte installieren Sie den Treiber aus W2K_XP_Drivers\Automata_SERCOS3.

Treiber CmpHilscherCIFX

Dieser Treiber unterstützt eine CIFX-Karte der Fa. Hilscher.

Nach dem Einbau der Karte können Sie den von der Fa. Hilscher mitgelieferten Treiber oder den SysDrv3S installieren. (Lieferumfang des CODESYS Control Win-Laufzeitsystems für Windows von CODESYS GmbH).

Tragen Sie die Komponente in die cfg-Datei der CODESYS Control RTE ein. Das ist mit einem Editor oder über den Dialog PLC Configuration möglich. Erzeugen Sie zusätzlich den Abschnitt [CmpHilscherCIFX]. Für den Treiber sind folgende Einträge nötig (Beispiel):

Device.0.BootloaderFilePath=NXCIF50-RTE.bin
Device.0.Channel.0.FirmwareFile=cifxdpm.nxf

In diesem Beispiel ist die 0 in Device.0 der 0-basierte Index der Karte, falls mehrere benutzt werden. Hinter Channel steht immer 0, weil alle PCI-Karten von Hilscher nur einen Kanal unterstützen.

Die Dateien, die Bootloader oder Firmware enthalten, werden mit der CIFX-Karte von der Firma Hilscher geliefert. Sie müssen sie im Root-Dateiverzeichnis der CODESYS Control RTE platzieren. Eventuell müssen Sie noch die Namen der Dateien, oder die Einträge in der Konfigurationsdatei, anpassen.

Für weitere Informationen siehe: Hilscher CIFX-Karte in Betrieb nehmen

NVRAM PCI Einsteckkarten

Treiber CmpPciRetain

Dieser Treiber ermöglicht NVRAM auf einer PCI-Karte als Retain-Speicher zu nutzen. Voraussetzungen: Das NVRAM ist direkt über die physikalische Adresse, die in den PCI-Registern steht, erreichbar und es unterstützt jede Zugriffsbreite, also Byte-, Wort- und Doppelwortzugriffe.

Sie können die Komponente in der Konfigurationsdatei CoDeSysControl.cfg der CODESYS Control RTE in Abschnitt [CmpPciRetain] mit folgenden Einträgen konfigurieren:

  • VendorID, DeviceID, SubDeviceID, SubVendorID: Identifizierung des PCI-Geräts.

  • AddressIndex: PCI-Adressregister (BAR0BAR5) das die physikalische Basisadresse des NVRAMs enthält. Standardwert: 0.

  • MemorySize: Größe (Bytes) des verfügbaren NVRAM. Standardwert: 0x80000, also 512 kByte.

  • AddrOffset: Verschiebung des NVRAM gegen das benutzte Adressregister.

Sehen Sie für die Werte von AddressIndex, MemorySize und AddrOffset die Dokumentation zur verwendeten PCI-Karte.

Die Standardwerte der vier IDs identifizieren das MRAM-Gerät in einem Siemens NanoBox-PC.

Beckhoff CX5xxx-spezifische Komponenten

Treiber CmpCX5000Mpd

Dieser Treiber ist ein Windows-Netzwerktreiber. Er kann nur auf einem Beckhoff PC der Reihe CXxxxx verwendet werden, auf dem also ein CX5000 Kommunikationsprozessor vorhanden ist.

Wenn das Setup der CODESYS Control RTE auf einem CXxxxx-PC ausgeführt wird, wird der Treiber CmpCX5000Mpd automatisch installiert und in die Liste der Komponenten (in der cfg-Datei) eingetragen.

Zusätzliche Informationen und manuelle Installation: Annahme: Ein CX-IPC wurde standardmäßig mit „Windows7 embedded standard“ installiert. Das umfaßt einen Beckhoff-Treiber für das PCI-Gerät mit den Hardware-IDs VendorID = SubVendorID = 0x15ec und DeviceID = SubDeviceID = 0x5000. Diesen Treiber können Sie nun nach der Installation von CODESYS Control RTE durch den Treiber CmpCX5000Mpd.sys ersetzen. Verwenden Sie dazu die Funktionalität Treibersoftware aktualisieren der Windows Systemsteuerung:

  • Öffnen Sie den Gerätemanager von Windows. Suchen und selektieren Sie das Systemgerät von Beckhoff und wählen Sie mit der rechten Maustaste den Befehl Treibersoftware aktualisieren.

  • Wählen Sie im Assistenten die Option Treibersoftware manuell suchen und klicken have disk.

  • Wählen Sie die inf-Datei im Installationsverzeichnis der CODESYS Control RTE, Unterverzeichnis CmpCX5000Mpd.

  • Beantworten Sie Nachfragen, ob der Treiber installiert werden soll, mit Ja.

    Windows installiert daraufhin einen Netzwerkadapter mit der Bezeichnung CX5000 driver for CODESYS Ethernet.

  • Tragen Sie den Treiber in der Konfigurationsdatei CoDeSysControl.cfg (Installationsverzeichnis der CODESYS Control RTE) manuell ein: Beispiel: Component.3=CmpCX5000Mpd.

Anschließend sollte ein Download eines CODESYS-Projekts mit EtherCAT keine unaufgelösten Referenzen mehr anzeigen.

Treiber CmpCXSecUPS

Dieser Treiber kann nur auf einem „embedded PC“ der Serie CX5000 oder CX5100 der Firma Beckhoff verwendet werden.

Die Komponente überwacht im niederprioren, zyklischen Aufruf der Kommunikationstask einen Pin, der den Zustand der Spannungsversorgung überwacht.

Wenn ein Spannungsausfall erkannt wird, werden die Applikationen gestoppt und die Retain-Daten in eine Datei (typischerweise Application.ret) gespeichert.

Hinweis: Es gibt folgende Einschränkungen beim Sichern der Retain-Daten:

  • Je nach Auslastungszustand der PLC wird der Spannungsausfall erst mit Verzögerung erkannt.

  • Je nach Auslastung des PCs variiert die Zeit, die nach einem Spannungsausfall zur Speicherung von Daten genutzt werden kann.

Wegen dieser Einschränkungen müssen Sie die Speicherung der Retain-Daten zusammen mit der fertigen Applikation testen. Außerdem wird empfohlen, beim Applikationsstart die Gültigkeit der remanenten Variablen zu prüfen.

Die Komponente besitzt keine Konfigurationsmöglichkeiten. Sie müssen sie nur der Komponentenliste der Steuerung hinzufügen.

Für weitere Informationen siehe: Registry-Einträge der RTE