Benutzer-Werkzeuge

Webseiten-Werkzeuge


Seitenleiste

Allgemeines

Automatisch

allgemein:scilab-hinweise

Scilab - Hinweise:


Zehnerpotenz vermeiden bei Kompilierungsfehler

Während die Scilabversion 4.1.2 als Zehnerpotenz das Zeichen E verwendet wird in der Version 5.4.1 das Zeichen D genutzt.

Eingabe                 Scilab 4.1.2              Scilab 5.4.1
1000000000              1.00 E+09                 1.00 D+09

Innerhab von Scilab ergibt sich durch diese Änderung kein Unterschied in der Handhabung. Problematisch wird es wenn Scilab-Code in C-Code kompiliert werden soll. Da C mit der neuen Notation nicht umgehen kann wird die Kompilierung abgebrochen. Die folgende Zeile zeigt ein mögliches Workaround:

format('v',20);

Mit diesem Befehl wird die Zahl der angezeigten Nachkommastellen auf 20 erhöht. Dadurch wird die Notation mit der Zehnerpotenz verhindert was wiederum den Fehler beim kompilieren verhindert.

Xcos Diagram analysieren

Um ein Xcos Diagram zu untersuchen existiert in in ..[AperoStim_SVN]/HART_Modules/ das Scilab Skript Analyse_Diagram.sce. Dieses Skript gibt die verwendeten Blöcke aus, sowie die GOTOs und FROMs, samt deren Signalnamen und deren Ort bzw. SuperBlock; z.B.:

GOTO 'State'    (ArrayIdent_Base ---> ArrayIdent ---> StateCounter , Scope: 3)   
      ->From 'State'    (ArrayIdent_Base ---> ArrayIdent ---> Logs ---> Scopes)   
      ->From 'State'    (ArrayIdent_Base ---> ArrayIdent ---> Logs)      

Damit dies sinnvolle Informationen enthält müssen die SuperBlöcke in denen die GOTOs und FROMs sind richtig benannt werden!

Diese Ausgaben werden nun zusätzlich in einer Datei abgespeichert.

Sinnvolle Benennung von SuperBlöcken

In Scilab 5 werden die SuperBlöcke nicht rekursive umbenannt!

Daher muss in allen SuperBlöcken in denen weitere Superblöcke drin sind nochmal explizit auf Speichern gedrückt werden.

So funktioniert es auf jeden Fall (eine Ebene ist dabei der Inhalt eines SuperBlocks):

  1. In die Ebene gehen, in der der SuperBlock ist, der umbenannt werden soll.
  2. Rechtsklick auf den SuperBlock der umbenannt werden soll und FormatBearbeiten auswählen.
  3. Die ID des Blocks eintragen und OK drücken.
  4. Innerhalb dieses Scilab Diagram-Fensters (in dem der SuperBlock ist) Speichern anklicken (vor dem Fenstertitel (Diagramnamen) stand ein Stern, d.h. es wurde etwas geändert) und das Fenster schließen.
  5. Innerhalb der nächst höheren Ebene etwas ändern und ggf. zurück ändern. Vor dem Fenstertitel (Diagramnamen) muss ein Stern stehen!
  6. Innerhalb dieser Scilab Diagram-Ebene Speichern anklicken und das Fenster schließen.
  7. Die beiden letzten Schritte bis zur obersten Ebene wiederholen.
  8. Die Korrekte Übernahme mit Analyse_Diagram.sce überprüfen.
allgemein/scilab-hinweise.txt · Zuletzt geändert: 06/06/2014 21:00 von valtin