Neue Versionen der CODESYS-Software oder des RevPi I/O-Treibers können Änderungen mit sich bringen, die Anpassungen an bestehenden Installationen, Konfigurationen oder Projekten erfordern.

Auf dieser Seite findest du Anleitungen zu solchen Anpassungen bei einem Versionswechsel, die zusätzlich zu der Installation der neuen Version notwendig sind.

Migration auf RevPi I/O-Treiber Version 3.0.0.0 #

Der RevPi I/O-Treiber V3.0.0.0 beinhaltet Änderungen, die eine manuelle Migration bestehender Projekte auf die neue Treiberversion erfordern.

Bei der hier beschriebenen Migration bleibt die bestehende Projektdatei erhalten. Sie ist für größere Projekte mit vielen Konfigurationen, WebVisu-Seiten, Tasks oder umfangreicher Programmlogik empfohlen.

Für kleinere Projekte empfiehlt sich die Neuerstellung auf Basis der neuen Treiberversion.

Siehe auch Release Notes.

Änderungen ab Version 3.0.0.0
Bisher Neu Aktion

RevPi I/O-Module sind in das Basisgerät eingebunden.

RevPi I/O-Module sind eigenständige Geräte.

RevPi I/O-Module müssen manuell neu eingefügt werden.

Name der Bibliothek: IoDrvKunbusRevPiBridge

Name der Bibliothek: IoDrvRevPi

Alte Bibliotheken entfernen

Folgende Projektbestandteile können im bestehenden Projekt unverändert übernommen werden:

  • Task-Konfiguration

  • Applikations-POUs und Programmlogik

  • I/O-Mapping und Modulparameter

  • Feldbus-Konfiguration

  • CODESYS-WebVisu-Seiten

  • Weitere Bibliotheken

Voraussetzungen

✓ CODESYS Development System V3.5 SP22 ist installiert

RevPi I/O-Treiber für CODESYS V3.0.0.0 ist auf dem CODESYS Development System installiert

Referenzkopie anlegen

▷ Erstelle eine Kopie deiner Projektdatei.

▷ Öffne diese Kopie in CODESYS im Entwicklungsmodus.

▷ Aktualisiere für diese Kopie weder die Compiler-Version noch das Gerät. Sie dient später als Referenz.

Projektumgebung aktualisieren

▷ Erstelle eine zweite Kopie deiner Projektdatei.

▷ Öffne diese Kopie in CODESYS im Entwicklungsmodus.

▷ Aktualisiere in der Projektumgebung die Compiler-Version auf 3.5.22.0.

▷ Setze alle verfügbaren Aktualisierungen auf die neueste Version.

Geräte aktualisieren

▷ Aktualisiere das RevPi Basismodul im Gerätebaum auf Version 3.0.0.0.

❯ Die bisherigen integrierten RevPi I/O-Module werden aus dem Projekt entfernt.

▷ Füge die benötigten RevPi I/O-Module aus dem Gerätekatalog neu hinzu.

▷ Übertrage das I/O-Mapping und die Modulparameter aus der Referenzkopie in das Projekt.

Bibliotheken aktualisieren

▷ Öffne im Gerätebaum den Bibliotheksmanager.

▷ Entferne alle Verweise auf ältere Treiberversionen.

❯ Im Bibliotheksmanager sollte nur noch die Treiberbibliothek IoDrvRevPi 3.0.0.0 vorhanden sein.

Note

Die gleichzeitige Verwendung einer älteren Treiberversion zusammen mit der neuen Version führt zu einem Compiler-Fehler.

Runtime aktualisieren

▷ Aktualisiere die Runtime auf dem RevPi Gerät auf CODESYS Control Linux ARM 64 bit V4.18.0.0 oder höher.

❯❯ Das Projekt kann jetzt kompiliert und auf den RevPi geladen werden.

CODESYS Runtime als Nicht-Root-Benutzer einrichten #

Ab CODESYS Control für Linux ARM64 V4.21 wird der Dienst codesyscontrol nicht mehr als root, sondern unter dem eigenen Systembenutzer codesyscontrol ausgeführt.

Auf RevPi Geräten mit Betriebssystem-Image RevPi Bookworm oder höher sind zusätzliche Berechtigungen und Einstellungen erforderlich, damit CODESYS weiterhin auf den RevPi I/O-Treiber und die PiCtory Konfiguration zugreifen kann.

Das Skript revpi-codesyscontrol-nonroot-fix.sh nimmt die erforderlichen Anpassungen automatisch vor:

  • Es richtet den Zugriff für codesyscontrol auf /dev/piControl0 ein,

  • erstellt eine symbolische Verknüpfung zur PiCtory Konfiguration config.rsc und

  • startet die CODESYS Runtime neu und prüft den RevPi I/O-Treiber, um die Änderungen zu übernehmen.

Note

Ohne diese Anpassungen schlägt die Initialisierung des RevPi I/O-Treibers fehl. CODESYS kann dann nicht auf das Prozessabbild des RevPi zugreifen.

Voraussetzungen

✓ Auf dem RevPi ist RevPi Bookworm oder höher installiert.

✓ CODESYS Control for Linux ARM64 V4.21 oder höher ist installiert.

✓ Wenn die PiCtory Konfiguration von CODESYS verwendet werden soll: Das Revolution Pi System ist in PiCtory konfiguriert.

Skript auf den RevPi übertragen

Lade das Skript auf deinen PC herunter.

▷ Logge dich über ein Terminal am RevPi ein.

▷ Kopiere das Skript auf den RevPi, z. B. über SCP:

scp revpi-codesyscontrol-nonroot-fix.sh pi@<IP-Adresse>:~

Alternativ kannst du das Skript über einen USB-Stick auf den RevPi übertragen.

Skript ausführen

▷ Mache das Skript ausführbar:

chmod +x revpi-codesyscontrol-nonroot-fix.sh

▷ Führe das Skript mit Root-Rechten aus:

sudo ./revpi-codesyscontrol-nonroot-fix.sh

❯ Bei erfolgreicher Konfiguration wird unter anderem folgende Meldung ausgegeben:

[OK] IoDrvUpdateConfiguration Success! — driver is running correctly

❯ Außerdem wird bestätigt, dass der Prozess unter dem Benutzer codesyscontrol ausgeführt wird:

[OK] codesyscontrol is running as 'codesyscontrol' — non-root confirmed

❯❯ CODESYS kann jetzt unter dem Benutzer codesyscontrol auf den RevPi I/O-Treiber und die PiCtory Konfiguration zugreifen.

Fehlerbehebung
Meldung Maßnahme

[WARN] codesyscontrol is running as root

Prüfe, ob der Dienst neu gestartet oder das Paket neu installiert werden muss.

[WARN] IoDrvUpdateConfiguration Success! not found

Prüfe, ob eine CODESYS-Anwendung geladen ist und der RevPi I/O-Treiber korrekt initialisiert wird.

[WARN] Target _config.rsc not found

Prüfe, ob eine PiCtory Konfiguration gespeichert ist.

[INFO] No CODESYS application deployed yet

Lade eine Anwendung aus dem CODESYS Development System auf den RevPi.

Weitere Ressourcen #