Herunterladen Inhalt Inhalt Diese Seite drucken

Geschützte Ausführungsumgebung; Nanoj-Programm Ausführen - Nanotec NP5-20 Technisches Handbuch

Feldbus: ethercat
Inhaltsverzeichnis

Werbung

10 Programmierung mit NanoJ
Sollte das NanoJ-Programm zu lange die Rechenzeit nicht abgeben, wird es vom Betriebssystem
beendet. In diesem Fall wird in das Statusword bei Objekt 2301
Fehlerregister bei Objekt 2302
2302h NanoJ Error Code
Damit das NanoJ-Programm nicht angehalten wird, können Sie den AutoYield-Modus aktivieren,
indem Sie den Wert "5" in 2300
nicht mehr echtzeitfähig und läuft nicht mehr im 1-Millisekunde-Takt.
10.1.2 Geschützte Ausführungsumgebung
Durch prozessorspezifische Eigenschaften wird eine sogenannte Geschützte Ausführungsumgebung
generiert. Ein Benutzerprogramm in der geschützten Ausführungsumgebung hat nur die Möglichkeit,
auf speziell zugewiesene Speicherbereiche und Systemressourcen zuzugreifen. Beispielsweise wird
ein Versuch, auf ein Prozessor-IO-Register direkt zu schreiben, mit einem MPU Fault quittiert und das
Benutzerprogramm wird mit dem entsprechenden Fehlercode im Objektverzeichnis abgebrochen.
10.1.3 NanoJ-Programm - Kommunikationsmöglichkeiten
Ein NanoJ-Programm hat mehrere Möglichkeiten, mit der Steuerung zu kommunizieren:
■ Lesen und Schreiben von OD-Werten per PDO-Mapping
■ direktes Lesen und Schreiben von OD-Werten über NanoJ-Funktionen
■ Aufruf sonstiger NanoJ-Funktionen (z. B. Debug-Ausgabe schreiben)
Über ein PDO-Mapping werden dem Benutzerprogramm OD-Werte in Form von Variablen zur Verfügung
gestellt. Bevor ein Benutzerprogramm die 1 ms-Zeitscheibe erhält, werden dazu von der Firmware die
Werte aus dem Objektverzeichnis in die Variablen des Benutzerprogramms übertragen. Sobald das
Benutzerprogramm Rechenzeit erhält, kann es diese Variablen wie gewöhnliche C-Variablen manipulieren.
Am Ende der Zeitscheibe werden letztendlich die neuen Werte von der Firmware wieder automatisch in die
jeweiligen OD-Einträge kopiert.
Um die Performance zu optimieren, werden dabei drei Arten von Mappings definiert: Input, Output und Input/
Output (In, Out, InOut).
■ Input Mappings lassen sich nur lesen und werden nicht zurück ins Objektverzeichnis übertragen.
■ Output Mappings lassen sich nur schreiben.
■ Input/Output Mappings erlauben hingegen Lesen und Schreiben.
Die gesetzten Mappings können über die GUI bei den Objekten 2310
überprüft werden. Für jedes Mapping sind maximal 16 Einträge erlaubt.
Über die Angabe der Linker-Section wird in Plug & Drive Studio gesteuert, ob eine Variable im Input-,
Output- oder Datenbereich abgelegt wird.
NanoJ-Inputs und NanoJ-Outputs
Um mit dem NanoJ-Programm über die jeweilige Schnittstelle zu kommunizieren, können Sie folgende
Objekte benutzen:
■ 2400h NanoJ Inputs : Array mit zweiunddreißig S32-Werten zum Übergeben von Werten an das NanoJ-
Programm
■ 2410h NanoJ Init Parameters : Array mit zweiunddreißig S32-Werten. Dieses Objekt kann gespeichert
werden, im Gegensatz zu 2400
■ 2500h NanoJ Outputs : Array mit zweiunddreißig S32-Werten, wo das NanoJ-Programm Werte ablegen
kann, die über den Feldbus ausgelesen werden können
10.1.4 NanoJ-Programm ausführen
Zusammengefasst besteht das NanoJ-Programm bei der Ausführung eines Zyklus hinsichtlich des PDO-
Mappings aus folgenden drei Schritten:
Version: 1.5.0 / FIR-v2213
HINWEIS
wird die Ziffer 5 (Timeout) notiert, siehe 2301h NanoJ Status und
h
.
schreiben. Im AutoYield-Modus ist aber das NanoJ-Programm
h
.
h
die Ziffer 4 eingetragen, im
h
, 2320
, und 2330
ausgelesen und
h
h
h
126

Werbung

Inhaltsverzeichnis
loading

Inhaltsverzeichnis