Herunterladen Inhalt Inhalt Diese Seite drucken

Scriptabarbeitungszeiten - DEUTSCHMANN AUTOMATION UNIGATE CM - CANopen Bedienerhandbuch

Universal feldbus-gateway
Inhaltsverzeichnis

Werbung

Erstellung eines Scripts
Fehler[%] = (abs(BaudIst - BaudSoll) / BaudSoll) * 100
In unserem Beispiel ergibt sich somit ein Fehler von:
Fehler
= (abs(9615.38 - 9600 / 9600) * 100 = 0.16%
Fehler, die unter 2% liegen können in der Praxis toleriert werden!
Nachfolgend finden Sie eine Auflistung von Baudraten bei 40 MHz-Quarzfrequenz mit den dazu-
gehörigen Fehlern:
4800 Baud:
0,16%
9600 Baud:
0,16%
19200 Baud:
0,16%
38400 Baud:
1,35%
57600 Baud:
1,35%
62500 Baud:
0%
115200 Baud:
1,35%
312500 Baud:
0%
625000 Baud:
0%
9.8

Scriptabarbeitungszeiten

Das Script wird vom Protocol Developer übersetzt, und der dabei erzeugte Code in das Gateway
geladen. Der Prozessor im Gateway interpretiert nun diesen Code. Dabei gibt es Befehle, die
sehr schnell abgearbeitet werden können (z. B. "Set Parameter"). Es gibt aber auch Befehle,
die länger dauern (z. B. das Kopieren von 1000 Bytes). Somit differiert die Abarbeitungszeit
zunächst einmal durch die Art des Scriptbefehls. Wesentlich stärker wird die Abarbeitungszeit
der Scriptbefehle aber bestimmt durch die Prozessorzeit, die für diesen Prozess zur Verfügung
steht. Da der Prozessor mehrere Aufgaben gleichzeitig ausführen muss (Multitasking-Sytstem),
steht nur ein Teil der Prozessorleistung für die Scriptabarbeitung zur Verfügung. Folgende Tasks
- in der Reihenfolge der Priorität - werden auf dem Prozessor ausgeführt:
Senden und Empfangen von Daten an der Debug-Schnittstelle (nur wenn Protocol
Developer auf PC gestartet ist)
Senden und Empfangen von Daten an der RS-Schnittstelle
Senden und Empfangen von Daten an der Feldbus-Schnittstelle
Durch Systemtakt (1ms) gesteuerte Aufgaben (z. B. Blinken einer LED)
Abarbeitung des Scriptes
Aus der Praxis heraus kann man ganz grob mit 0,5 ms pro Scriptzeile rechnen. Dieser Wert hat
sich über viele Projekte hinweg immer wieder als Richtwert bestätigt. Er stimmt immer dann
recht gut, wenn der Prozessor noch genügend Zeit für die Scriptabarbeitung zur Verfügung hat.
An Hand der oben aufgelisteten Tasks kann man folgende Empfehlungen formulieren, um eine
möglichst schnelle Scriptabarbeitung zu bekommen:
Debugschnittstelle deaktivieren (ist im Serieneinsatz der Normalfall)
Datenlast auf der RS-Schnittstelle möglichst klein halten. Dabei ist nicht die Baudrate v das
Problem, sondern die Anzahl Zeichen, die pro Sekunde übertragen werden.
Datenlast auch auf der Feldbusseite nicht unnötig gross machen. Insbesondere bei azycli-
schen Busdaten, diese möglichst nur bei Änderung schicken. Die Datenlänge bei Bussen die
auf eine feste Länge konfiguriert werden (z.B. Profibus) nur so gross wählen, wie unbedingt
notwendig.
22
UNIGATE
®
Feldbus-Gateway UNIGATE
Deutschmann Automation GmbH & Co. KG
®
®
CM - CANopen
V. 1.3
23.6.17

Werbung

Inhaltsverzeichnis
loading

Inhaltsverzeichnis