Bartels :: Bartels AutoEngineer :: BAE Dokumentation :: User Language Programmierhandbuch :: Systemfunktionen :: SCM-Systemfunktionen |
Bartels User Language - ProgrammierhandbuchC.3 SCM-Systemfunktionen |
![]() |
In diesem Abschnitt werden (in alphabetischer Reihenfolge) die in der Bartels User Language definierten SCM-Systemfunktionen beschrieben. Beachten Sie bitte die Konventionen zur Funktionsbeschreibung in Anhang C.1.
Die nachfolgend aufgelisteten Systemfunktionen sind dem Aufruftyp CAP zugeordnet, d.h. diese Funktionen können im Schaltplaneditor aufgerufen werden:
string cap_blockname( // Schaltplan Blockname );
Der Rückgabewert der Funktion cap_blockname ergibt sich aus dem Blocknamen, der für das aktuell geladene Stromlaufblatt definiert ist. Wenn kein Stromlaufblatt geladen ist oder wenn das aktuell geladene Element nicht als Blockschaltbild definiert ist, wird ein Leerstring zurückgegeben.
int cap_blocktopflag( // Abfrageergebnis );
Die Funktion cap_blocktopflag dient der Abfrage des Hierarchiemodus des aktuell geladenen Stromlaufblatts. Der Rückgabewert der Funktion cap_blocktopflag ergibt sich zu Null, wenn das aktuell geladene Schaltplanblatt als Blockschaltbild für einen hierarchischen Schatungsentwurf definiert ist, 1 wenn das Schaltplanblatt ein Planelement der obersten Stromlaufhierarchieebene darstellt, oder 2 wenn das Schaltplanblatt als einmalig referenzierbares Blockschaltbild definiert ist.
int cap_figboxtest( // Status index C_FIGURE; // Element double; // Rechteck linke Grenze (STD2) double; // Rechteck untere Grenze (STD2) double; // Rechteck rechte Grenze (STD2) double; // Rechteck obere Grenze (STD2) );
Die Funktion cap_figboxtest prüft, ob das angegebene Element das angegebene Rechteck schneidet. Der Rückgabewert ist ungleich Null, wenn die Elementgrenzen das angegebene Rechteck schneiden.
string cap_findblockname( // Rückgabe SCM-Planelementname string; // DDB-Dateiname string; // Blockname );
Die Funktion cap_findblockname sucht in der angegebenen DDB-Datei nach einem hierarchischen Schaltplanblatt mit dem spezifizierten Blocknamen und gibt den gefundenen SCM-Planelementnamen zurück. Ist der Zugriff auf die angegebene DDB-Datei nicht möglich oder existiert in der DDB-Datei kein hierarchisches Schaltplanblatt mit dem angegebenen Blocknamen, dann wird ein Leerstring zurückgegeben.
int cap_findlayconpart( // Status string; // Bauteilname & index CL_CPART; // Rückgabe Bauteilindex );
Die Funktion cap_findlayconpart sucht in der mit cap_layconload aktuell geladenen Layoutnetzliste nach dem spezifierten Bauteilnamen und gibt den zugehörigen Bauteilindex zurück. Der Funktionsrückgabewert ist Null wenn das Bauteil gefunden wurde oder ungleich Null bei fehlgeschlagener Suche.
Funktionen cap_findlayconpartpin, cap_findlaycontree, cap_getlaytreeidx, cap_layconload.
int cap_findlayconpartpin( // Status string; // Pinname index CL_CPART; // Netzlistenbauteil & index CL_CPIN; // Rückgabe Netzlistenbauteilpin );
Die Funktion cap_findlayconpartpin sucht in der mit cap_layconload aktuell geladenen Layoutnetzliste nach dem spezifierten Bauteilpinnamen und gibt den zugehörigen Bauteilpinindex zurück. Der Funktionsrückgabewert ist Null wenn der Bauteilpin gefunden wurde oder ungleich Null bei fehlgeschlagener Suche.
Funktionen cap_findlayconpart, cap_findlaycontree, cap_getlaytreeidx, cap_layconload.
int cap_findlaycontree( // Status string; // Netzname & index CL_CNET; // Rückgabe Netzindex );
Die Funktion cap_findlaycontree sucht in der mit cap_layconload aktuell geladenen Layoutnetzliste nach dem spezifierten Netznamen und gibt den zugehörigen Netzindex zurück. Der Funktionsrückgabewert ist Null wenn das Netz gefunden wurde oder ungleich Null bei fehlgeschlagener Suche.
Funktionen cap_findlayconpartpin, cap_findlayconpart, cap_getlaytreeidx, cap_layconload.
string cap_getglobnetref( // Rückgabe Netznamensreferenz // (oder Leerstring wenn nicht referenziert) string; // Netz-/Treename );
Die Funktion cap_getglobnetref ermittelt die globalen Netznamensreferenzbezeichnung für das angebene Netz.
int cap_getlaytreeidx( // Status int; // Netznummer & index CL_CNET; // Rückgabe Netzindex );
Die Funktion cap_getlaytreeidx sucht in der mit cap_layconload aktuell geladenen Layoutnetzliste nach der spezifierten Netznummer und gibt den zugehörigen Netzindex zurück. Der Funktionsrückgabewert ist Null wenn das Netz gefunden wurde oder ungleich Null bei fehlgeschlagener Suche.
Funktionen cap_findlayconpartpin, cap_findlayconpart, cap_findlaycontree, cap_layconload.
int cap_getpartattrib( // Status string; // Bauteilname string; // Attributname & string; // Attributwert Rückgabe );
Die Funktion cap_getpartattrib ermittelt einen Attributwert eines namentlich spezifizierten Bauteils des aktuell geladenen Schaltplanblatts. Der Funktionsrückgabewert ist Null bei erfolgreicher Ermittlung des Attributwerts, (-1) wenn kein Stromlaufblatt geladen ist, (-2) bei fehlenden bzw. ungültigen Parametern, (-3) wenn das angegebene Bauteil auf dem aktuellen Schaltplan nicht gefunden wurde oder (-4) wenn das spezifizierte Attribut für das angegebene Bauteil nicht definiert bzw. nicht gesetzt ist.
int cap_getrulecnt( // Regelanzahl oder (-1) bei Fehler int; // Object class code int; // Object ident code (int oder Indextyp) );
Mit der Funktion
cap_getrulecnt kann die Anzahl der an ein spezifisches Objekt zugewiesenen Regeln ermittelt werden. Die Abfrage kann für das aktuell geladene Element (Objektklasse 0 mit
int
-Wert 0 für die Objektidentifikation), ein Element aus der Figurenliste des aktuell geladenen Elements (Objektklasse 1 mit gültigem Wert vom Typ index
C_FIGURE für die Objektidentifikation) oder ein Poolelement (Objektklasse 2 mit gültigem Wert vom Typ index
C_POOL für die Objektidentifikation) durchgeführt werden. Die von
cap_getrulecnt ermittelte (nicht-negative) objektspezifische Regelanzahl wird im Rückgabewert der Funktion übergeben und bestimmt den Wertebereich für den Regelnamenslistenindex in nachfolgenden Aufrufen der Funktion
cap_getrulename zur Ermittlung von Regelnamen für das entsprechende Objekt. Der Rückgabewert ergibt sich zu (-1), wenn ein Fehler aufgetreten ist. Im Fehlerfall kann die genaue Fehlerursache mit Hilfe der Funktion
cap_ruleerr ermittelt werden.
Funktionen cap_getrulename, cap_ruleerr, cap_ruleconatt, cap_rulecondet, cap_rulefigatt, cap_rulefigdet, cap_ruleplanatt, cap_ruleplandet, cap_rulequery; Neuronales Regelsystem und Rule System Compiler.
int cap_getrulename( // Status int; // Object class code int; // Object ident code (int oder Indextyp) int [0,[; // Regelnamenslistenindex & string; // Regelname );
Mit der Funktion
cap_getrulename können die Namen der an ein spezifisches Objekt zugewiesenen Regeln ermittelt werden. Die Abfrage kann für das aktuell geladene Element (Objektklasse 0 mit
int
-Wert 0 für die Objektidentifikation), ein Element aus der Figurenliste des aktuell geladenen Elements (Objektklasse 1 mit gültigem Wert vom Typ index
C_FIGURE für die Objektidentifikation) oder ein Poolelement (Objektklasse 2 mit gültigem Wert vom Typ index
C_POOL für die Objektidentifikation) durchgeführt werden. Der Regelnamenslistenindex zur Auswahl der gewünschten Regel muss mindestens Null jedoch kleiner als die mit der Funktion
cap_getrulecnt abfragbare Anzahl objektspezifischer Regeln sein. Der ermittelte Regelname wird über den letzten Funktionsparameter an den Aufrufer zurückgegeben. Der Rückgabewert der Funktion
cap_getrulename ist Null, wenn die Funktion erfolgreich beendet wurde oder ungleich Null, wenn ein Fehler aufgetreten ist. Im Fehlerfall kann die genaue Fehlerursache mit Hilfe der Funktion
cap_ruleerr ermittelt werden.
Funktionen cap_getrulecnt, cap_ruleerr, cap_ruleconatt, cap_rulecondet, cap_rulefigatt, cap_rulefigdet, cap_ruleplanatt, cap_ruleplandet, cap_rulequery; Neuronales Regelsystem und Rule System Compiler.
index C_BUSTAP cap_getscbustapidx( // Busanschlußindex oder (-1) wenn kein Busanschluß gescannt
);
Die Funktion cap_getscbustappidx gibt den aktuell gescannten Busanschlußindex zurück. Der Aufruf dieser Funktion ist nur innerhalb der Callbackfunktionen von cap_scanall, cap_scanfelem oder cap_scanpool sinnvoll. An anderer Stelle, oder wenn gerade kein Busanschluß gescannt wird, ergibt sich der Funktionsrückgabewert zu (-1).
Funktionen cap_scanall, cap_scanfelem, cap_scanpool.
int cap_getscclass( // Rückgabe SCM-Elementklasse: // 0 = Schaltplan // 1 = Symbol // 2 = Marker // 3 = Label // (-1) sonst );
Die Funktion cap_getscclass gibt die aktuell gescannte SCM-Elementklasse zurück. Der Aufruf dieser Funktion ist nur innerhalb der Callbackfunktionen von cap_scanall, cap_scanfelem oder cap_scanpool sinnvoll. An anderer Stelle, oder wenn gerade kein SCM-Element gescannt wird, ergibt sich der Funktionsrückgabewert zu (-1).
Funktionen cap_scanall, cap_scanfelem, cap_scanpool.
index C_POOL cap_getscrefpidx // Rückgabe Poolindex oder (-1) wenn kein Makro );
Die Funktion cap_getscrefpidx gibt den Poolindex des aktuell gescannten Bibliothekselements zuück, d.h. damit kann beim Scannen von Polygonen, Texten, etc. die Zugehörigkeit des jeweils gescannten Objects zum entsprechenden Bibliothekselement (Symbol, Label, Marker) ermittelt werden. Der Aufruf dieser Funktion ist nur innerhalb der Callbackfunktionen von cap_scanall, cap_scanfelem oder cap_scanpool sinnvoll. An anderer Stelle, oder wenn gerade kein Bibliothekselement gescannt wird, ergibt sich der Funktionsrückgabewert zu (-1).
Funktionen cap_scanall, cap_scanfelem, cap_scanpool.
int cap_getscstkcnt( // Scan-Stacktiefe );
Die Funktion cap_getscstkcnt dient der Abfrage der aktuellen Stacktiefe der Schaltplanscanfunktionen. cap_getscstkcnt kann somit zur Abarbeitungskontrolle innerhalb der Callbackfunktionen von cap_scanall, cap_scanfelem oder cap_scanpool eingesetzt werden.
Funktionen cap_scanall, cap_scanfelem, cap_scanpool.
int cap_gettagdata( // Status index C_FIGURE; // Tag Element int [0, [; // Tag Index & int; // Tag Pintyp (CAP6) & string; // Tag Pinname & string; // Tag Referenzname 1 & string; // Tag Referenzname 2 );
Die Funktion cap_gettagdata dient der Ermittlung der Zieldaten (Pintyp, Pinname, Referenzbezeichnungen) des angegebenen Schaltplan-Tagsymbols. Der Funktionsrückgabewert ist Null bei erfolgreich Abfrage oder ungleich Null andernfalls.
Funktion scm_settagdata.
int cap_lastconseg( // Status & index C_CONSEG; // Rückgabe Verbindungssegment );
Die Funktion cap_lastconseg ermittelt das zuletzt erzeugte bzw. modifizierte SCM-Verbindungssegment und übergibt den entsprechenden Index aus der Verbindungssegmentliste im Rückgabeparameter. Der Rückgabewert der Funktion ist Null wenn ein derartiges Verdindungssegment existiert, oder ungleich Null andernfalls.
Funktion cap_lastfigelem.
int cap_lastfigelem( // Status & index C_FIGURE; // Rückgabe Element );
Die Funktion cap_lastfigelem ermittelt das zuletzt erzeugte bzw. modifizierte SCM-Element und übergibt den entsprechenden Index aus der Figurenliste im Rückgabeparameter. Der Rückgabewert der Funktion ist Null wenn ein derartiges Element existiert, oder ungleich Null andernfalls.
Funktion cap_lastconseg.
int cap_layconload( // Status string; // DDB-Dateiname ("?" zur Namensabfrage) string; // Layout-Netzlistenname ("?" zur Namensabfrage) );
Die Funktion cap_layconload lädt die Layoutnetzliste mit dem angegebenen Namen aus der spezifizierten DDB-Datei. Der Funktionsrückgabewert ist Null wenn die Netzliste erfolgreich geladen werden konnte, (-1) bei einem Dateizugriffsfehler oder (-2) bei fehlenden oder ungültigen Parameterangaben.
Funktionen cap_findlayconpartpin, cap_findlayconpart, cap_findlaycontree, cap_getlaytreeidx.
void cap_maccoords( & double; // X-Position (STD2) & double; // Y-Position (STD2) & double; // Drehwinkel (STD3) & int; // Spiegelungsmodus (STD14) );
Die Funktion cap_maccoords gibt in den Parametern die Platzierungsdaten für das aktuell bearbeitete Makro zurück. Ein Aufruf dieser Funktion ist nur innerhalb der Makroscanfunktion von cap_scanall, cap_scanfelem oder cap_scanpool sinnvoll. An anderer Stelle werden Null-Defaultwerte zurückgegeben.
Funktionen cap_scanall, cap_scanfelem, cap_scanpool.
int cap_macload( // Status & index C_POOL; // Macro Poolelementindex string; // DDB-Dateiname string; // Elementname int [100,[; // Element DDB-/Datenbankklasse (STD1) );
Die Funktion cap_macload lädt das angegebene SCM-Symbol in den Arbeitsspeicher und übergibt den zugehörigen Poolindex im entsprechenden Parameter. Der Funktionsrückgabewert ist Null, wenn das Symbol erfolgreich geladen wurde, (-1) bei Dateizugriffsfehlern, (-2) bei fehlenden oder ungültigen Parameterangaben oder 1 wenn referenzierte Bibliothekselemente nicht verfügbar sind. cap_macload ist für die Anwendung in Funktionen zur Auswertung von Bibliotheksdateien konzipiert. Mit der Funktion cap_macrelease können SCM-Symbole wieder aus dem Arbeitsspeicher entfernt werden.
Funktion cap_macrelease.
void cap_macrelease( // Status index C_POOL; // Macro Poolelementindex );
Die Funktion cap_macrelease löscht das über den Poolelementindex spezifizierte SCM-Symbol aus dem Arbeitsspeicher. cap_macrelease ist als Pendant zur Funktion cap_macload konzipiert.
Funktion cap_macload.
int cap_mactaglink( // Status & int; // Tagpintyp (CAP6) & double; // Startpunkt X-Position (STD2) & double; // Startpunkt Y-Position (STD2) & double; // Endpunkt X-Position (STD2) & double; // Endpunkt Y-Position (STD2) );
Die Funktion cap_mactaglink gibt in den Parametern den Tagpintyp und die Start- und Endpunktkoordinaten des Tagverweises für das aktuell bearbeitete Makro zurück. Ein Aufruf dieser Funktion ist nur innerhalb der Makroscanfunktion von cap_scanall, cap_scanfelem oder cap_scanpool sinnvoll. Der Funktionsrückgabewert ist 1 wenn ein Tagverweis gefunden wurde, 0 wenn kein Tagverweis am bearbeiteten Makroelement existiert oder (-1) bei ungültigen oder fehlenden Parametern.
Funktionen cap_scanall, cap_scanfelem, cap_scanpool.
int cap_nrefsearch( // Status
string; // Bauteilname oder Leerstring für neueste benannte Referenz
& index C_FIGURE; // Rückgabe Element
);
Die Funktion cap_nrefsearch prüft, ob ein Bauteil bzw. eine benannte Referenz mit dem angegebenen Namen platziert ist und gibt gegebenenfalls das zugehörige Element zurück. Der Rückgabewert ist Null, wenn ein Element gefunden wurde oder ungleich Null, wenn kein Element mit dem angegebenen Namen gefunden wurde.
string cap_partplan( // Bauteilplanname string; // Job/DDB-Dateiname string; // Bauteilname );
Der Rückgabewert der Funktion cap_partplan ergibt sich zu dem SCM-Plannamen, auf dem das durch den Bauteilnamen spezifizierte Bauteil in der angegebenen DDB-Datei platziert ist. Es wird ein Leerstring zurückgegeben, wenn das angegebene Bauteil nicht gefunden wurde.
index C_POOL cap_pointpoolidx(// Poolelement );
Die Funktion cap_pointpoolidx dient der Ermittlung des Poolelements, unter welchem die Daten des Markersymbols zur Darstellung der Verbindungspunkte auf dem aktuellen Stromlaufblatt gespeichert sind. Diese Funktion wird für das Plotten von Schaltplänen benötigt; die komplette Darstellungsform des Verbindungspunkt-Markers kann dabei nach Bedarf mit der Funktion cap_scanpool ermittelt werden.
int cap_ruleconatt( // Status index C_CONSEG; // SCM-Verbindungssegment void; // Regelname oder Regelnamensliste );
Die Funktion cap_ruleconatt erlaubt die Zuweisung von Regeln an das mit dem ersten Funktionsparameter spezifizierte SCM-Verbindungssegment des aktuell geladenes Elements. Der zweite Funktionsparameter erlaubt dabei sowohl die Spezifikation eines einzelnen Regelnamens (d.h. eines Wertes vom Typstring
) als auch die Angabe einer ganzen Liste von Regelnamen (d.h. eines Arrays vom Typstring
). Beachten Sie, dass vor der Zuweisung des angegebenen Regelsatzes zunächst alle bestehenden Regelzuweisungen an das spezifizierte Figurenlistenelement gelöscht werden. Der Rückgabewert der Funktion cap_ruleconatt ist Null, wenn die Funktion erfolgreich beendet wurde oder ungleich Null, wenn ein Fehler aufgetreten ist. Im Fehlerfall kann die genaue Fehlerursache mit Hilfe der Funktion cap_ruleerr ermittelt werden.
Funktionen cap_getrulecnt, cap_getrulename, cap_ruleerr, cap_rulecondet, cap_rulefigatt, cap_rulefigdet, cap_ruleplanatt, cap_ruleplandet, cap_rulequery; Neuronales Regelsystem und Rule System Compiler.
int cap_rulecondet( // Status index C_CONSEG; // SCM-Verbindungssegment );
Die Funktion cap_rulecondet löscht alle aktuell bestehenden Regelzuweisungen an das über den Funktionsparameter spezifizierte SCM-Verbindungssegment des aktuell geladenen Elements. Der Rückgabewert der Funktion cap_rulecondet ist Null, wenn die Funktion erfolgreich beendet wurde oder ungleich Null, wenn ein Fehler aufgetreten ist. Im Fehlerfall kann die genaue Fehlerursache mit Hilfe der Funktion cap_ruleerr ermittelt werden.
Funktionen cap_getrulecnt, cap_getrulename, cap_ruleerr, cap_ruleconatt, cap_rulefigatt, cap_rulefigdet, cap_ruleplanatt. cap_ruleplandet, cap_rulequery; Neuronales Regelsystem und Rule System Compiler.
void cap_ruleerr( & int; // Fehlercode & string; // Fehlerstring );
Die Funktion cap_ruleerr dient der Ermittlung des Regelsystemstatus, d.h. die Funktion cap_ruleerr kann zur genauen Bestimmung der Fehlerursache im Falle eines fehlerhaften Aufrufs einer Regelsystemfunktion verwendet werden.
Zur Bestimmung der Fehlerursache sind die durch cap_ruleerr zurückgegebenen Parameterwerte heranzuziehen. Der zurückgegebene Fehlerstring dient ggf. der Identifizierung des fehlerverursachenden Elements. Die möglichen Werte, die der Fehlercode durch die Ausführung eines Regelsystemfunktion annehmen kann, haben folgende Bedeutung:
Fehlercode Bedeutung 0 Regelsystem Operation/Funktion erfolgreich beendet 1 Regelsystem Hauptspeicher nicht ausreichend 2 Regelsystem Interner Fehler <e>
3 Regelsystem Funktionsparameter ungültig 128 Regelsystem Datenbankdatei kann nicht angelegt werden 129 Regelsystem Datenbankdatei Lese-/Schreibfehler 130 Regelsystem Datenbankdatei von falschem Typ 131 Regelsystem Datenbankdateistruktur beschädigt 132 Regelsystem Datenbankdatei nicht gefunden 133 Regelsystem Datenbankfehler allgemein (Interner Fehler) 134 Regelsystem Regel <r>
nicht Regeldatenbank gefunden135 Regelsystem Regel in falschem Format in Datenbank (Interner Fehler <e>
)136 Regelsystem Objekt nicht gefunden 137 Regelsystem Objekt mehrfach definiert (Interner Fehler) 138 Regelsystem Inkompatible Definition der Variable <v>
139 Regelsystem Regel <r>
mit inkompatibler Compiler-Version übersetztDer Fehlerstring kann je nach Fehlerfall eine Regel
<r>
, eine Variable<v>
oder einen (internen) Fehlerstatus<e>
bezeichnen. Datenbankdateifehler beziehen sich auf Probleme beim Zugriff auf die Regeldatenbankdateibrules.vdb
im BAE-Programmverzeichnis. Interne Fehler weisen üblicherweise auf Implementierungslücken im Regelsystem hin und sollten in jedem Fall an Bartels gemeldet werden.
Funktionen cap_getrulecnt, cap_getrulename, cap_ruleconatt, cap_rulecondet, cap_rulefigatt, cap_rulefigdet, cap_ruleplanatt, cap_ruleplandet, cap_rulequery; Neuronales Regelsystem und Rule System Compiler.
int cap_rulefigatt( // Status index C_FIGURE; // Figurenlistenelement void; // Regelname oder Regelnamensliste );
Die Funktion cap_rulefigatt erlaubt die Zuweisung von Regeln an das mit dem ersten Funktionsparameter spezifizierte Figurenlistenelement des aktuell geladenes Elements. Der zweite Funktionsparameter erlaubt dabei sowohl die Spezifikation eines einzelnen Regelnamens (d.h. eines Wertes vom Typstring
) als auch die Angabe einer ganzen Liste von Regelnamen (d.h. eines Arrays vom Typstring
). Beachten Sie, dass vor der Zuweisung des angegebenen Regelsatzes zunächst alle bestehenden Regelzuweisungen an das spezifizierte Figurenlistenelement gelöscht werden. Der Rückgabewert der Funktion cap_rulefigatt ist Null, wenn die Funktion erfolgreich beendet wurde oder ungleich Null, wenn ein Fehler aufgetreten ist. Im Fehlerfall kann die genaue Fehlerursache mit Hilfe der Funktion cap_ruleerr ermittelt werden.
Funktionen cap_getrulecnt, cap_getrulename, cap_ruleerr, cap_ruleconatt, cap_rulecondet, cap_rulefigdet, cap_ruleplanatt, cap_ruleplandet, cap_rulequery; Neuronales Regelsystem und Rule System Compiler.
int cap_rulefigdet( // Status index C_FIGURE; // Figurenlistenelement );
Die Funktion cap_rulefigdet löscht alle aktuell bestehenden Regelzuweisungen an das über den Funktionsparameter spezifizierte Figurenlistenelement des aktuell geladenen Elements. Der Rückgabewert der Funktion cap_rulefigdet ist Null, wenn die Funktion erfolgreich beendet wurde oder ungleich Null, wenn ein Fehler aufgetreten ist. Im Fehlerfall kann die genaue Fehlerursache mit Hilfe der Funktion cap_ruleerr ermittelt werden.
Funktionen cap_getrulecnt, cap_getrulename, cap_ruleerr, cap_ruleconatt, cap_rulecondet, cap_rulefigatt, cap_ruleplanatt. cap_ruleplandet, cap_rulequery; Neuronales Regelsystem und Rule System Compiler.
int cap_ruleplanatt( // Status void; // Regelname oder Regelnamensliste int [0,1]; // Flag - Regelzuweisung SCM-Plan global );
Die Funktion cap_ruleplanatt erlaubt die Zuweisung von Regeln an das aktuell geladenes Elements. Der Funktionsparameter erlaubt dabei sowohl die Spezifikation eines einzelnen Regelnamens (d.h. eines Wertes vom Typstring
) als auch die Angabe einer ganzen Liste von Regelnamen (d.h. eines Arrays vom Typstring
). Beachten Sie, dass vor der Zuweisung des angegebenen Regelsatzes zunächst alle bestehenden Regelzuweisungen an das aktuelle Element gelöscht werden. Der zweite Parameter ermöglicht die Zuweisung von Regeln an alle Blätter des aktuell geladenen Schaltplans (d.h., dieser Parameter wird nur ausgewertet, wenn ein Stromlaufblatt geladen ist). Der Rückgabewert der Funktion cap_ruleplanatt ist Null, wenn die Funktion erfolgreich beendet wurde oder ungleich Null, wenn ein Fehler aufgetreten ist. Im Fehlerfall kann die genaue Fehlerursache mit Hilfe der Funktion cap_ruleerr ermittelt werden.
Funktionen cap_getrulecnt, cap_getrulename, cap_ruleerr, cap_ruleconatt, cap_rulecondet, cap_rulefigatt, cap_rulefigdet, cap_ruleplandet, cap_rulequery; Neuronales Regelsystem und Rule System Compiler.
int cap_ruleplandet( // Status int [0,1]; // Flag - Regelzuweisung SCM-Plan global );
Die Funktion cap_ruleplandet löscht alle aktuell bestehenden Regelzuweisungen an das aktuell geladene Element. Der Funktionsparameter ermöglicht die Lösung von Regelzuweisungen von allen Blätter des aktuell geladenen Schaltplans (d.h., dieser Parameter wird nur ausgewertet, wenn ein Stromlaufblatt geladen ist). Der Rückgabewert der Funktion cap_ruleplandet ist Null, wenn die Funktion erfolgreich beendet wurde oder ungleich Null, wenn ein Fehler aufgetreten ist. Im Fehlerfall kann die genaue Fehlerursache mit Hilfe der Funktion cap_ruleerr ermittelt werden.
Funktionen cap_getrulecnt, cap_getrulename, cap_ruleerr, cap_ruleconatt, cap_rulecondet, cap_rulefigatt, cap_rulefigdet, cap_ruleplanatt, cap_rulequery; Neuronales Regelsystem und Rule System Compiler.
int cap_rulequery( // Trefferanzahl oder (-1) bei Fehler int; // Object class code int; // Object ident code (int oder Indextyp) string; // Subjektname string; // Prädikatname string; // Abfragekommando & void; // Abfrageergebnis [] // Optionale Abfrageparameter );
Die Funktion cap_rulequery führt eine Regelabfrage für ein spezifisches Objekt durch. Die Abfrage kann für das aktuell geladene Element (Objektklasse 0 mitint
-Wert 0 für die Objektidentifikation), ein Element aus der Figurenliste des aktuell geladenen Elements (Objektklasse 1 mit gültigem Wert vom Typ index C_FIGURE für die Objektidentifikation) oder ein Poolelement (Objektklasse 2 mit gültigem Wert vom Typ index C_POOL für die Objektidentifikation) durchgeführt werden. Zur Durchführung der Abfrage müssen sowohl ein Regelsubjekt als auch ein Regelprädikat namentlich angegeben werden. Zusätzlich ist ein Abfragekommando zu spezifizieren. Das Abfragekommando kann Platzhalter für Wertvorgaben und einen Abfrageoperator enthalten. Folgende Abfrageoperatoren stehen zur Verfügung:
?d
zur Abfrage von int
-Werten?f
zur Abfrage von double
-Werten?s
zur Abfrage von string
-WertenDem Abfrageoperator kann wahlweise einer der folgenden Selektionsoperatoren vorangestellt werden:
+
zur Abfrage des Maximums aller gefundenen Werte -
zur Abfrage des Minimums aller gefundenen Werte Standardmäßig, d.h. bei Auslassung des Selektionsoperators wird der
+
-Operator verwendet. Der über die Abfrage gefundene Werteintrag wird im Funktionsparameter für das Abfrageergebnis zurückgegeben. Hierbei ist sicherzustellen, dass der Datentyp des Parameters für das Abfrageergebnis mit dem Abfragedatentyp übereinstimmt (int
für?d
,double
für?f
,string
für?s
). Neben dem Abfrageoperator können folgende Platzhalter für Wertvorgaben im Abfragekommando spezifiziert werden:
%d
zur Angabe von int
-Werten%f
zur Angabe von double
-Werten%s
zur Angabe von string
-WertenFür jeden im Abfragekommando spezifizierten Platzhalter für Wertvorgaben ist ein optionaler Abfrageparameter an die Funktion cap_rulequery zu übergeben. Die Reihenfolge dieser optionalen Parameter sowie deren Datentypen müssen mit den Spezifikationen im Abfragekommando übereinstimmen. Nach erfolgreicher Abarbeitung der Regelabfrage wird im Rückgabewert die (nicht-negative) Anzahl der gefundenen Einträge an den Aufrufer zurückgegeben. Der Rückgabewert ergibt sich zu (-1), wenn ein Fehler aufgetreten ist. Im Fehlerfall kann die genaue Fehlerursache mit Hilfe der Funktion cap_ruleerr ermittelt werden.
Sofern die Regelrule somerule { subject subj { pred := ("A", 2); pred := ("A", 4); pred := ("B", 1); pred := ("C", 3); pred := ("B", 6); pred := ("D", 5); pred := ("D", 6); pred := ("A", 3); } }definiert und dem aktuell geladenen Element zugewiesen ist, würde der cap_rulequery-Aufruf
hitcount = cap_rulequery(0,0,"subj","pred","%s ?d",intresult,"A") ;die
int
-Variablehitcount
auf 3 und dieint
-Variableintresult
auf 4 setzen, während der Aufrufhitcount = cap_rulequery(0,0,"subj","pred","-?s %d",strresult,6) ;die Variable
hitcount
auf 2 und diestring
-Variablestrresult
aufB
setzt.
Funktionen cap_getrulecnt, cap_getrulename, cap_ruleerr, cap_ruleconatt, cap_rulecondet, cap_rulefigatt, cap_rulefigdet, cap_ruleplanatt, cap_ruleplandet; Neuronales Regelsystem und Rule System Compiler.
int cap_scanall( // Scan Status double; // X-Offset (STD2) double; // Y-Offset (STD2) double; // Drehwinkel (STD3) int [0,1]; // Element in Arbeitsbereich Flag (STD10) * int; // Makrofunktion * int; // Verbindungssegmentfunktion * int; // Polygonfunktion * int; // Textfunktion );
Die Funktion cap_scanall scannt alle auf dem aktuell geladenen Element platzierten Elemente über alle Hierarchiestufen. Dabei werden für alle gefundenen Elemente die referenzierten Anwenderfunktionen aufgerufen. Soll ein Funktionstyp nicht aufgerufen werden, so ist für den entsprechenden ParameterNULL
anzugeben. Der Rückgabewert der Funktion cap_scanall ist ungleich Null, wenn ungültige Parameter angegeben wurden, oder wenn eine der referenzierten Anwenderfunktionen einen Fehler an die Funktion cap_scanall zurückgemeldet hat.Makrofunktion
int macrofuncname( index C_MACRO macro, // Makro Index index C_POOL pool, // Pool Element Index int macinws, // Makro in Arbeitsbereich Flag (STD10) string refname, // Makro Referenzname index C_LEVEL level, // Makro Level index C_LEVEL buslevel // Makro Buslevel ) { // Verarbeitungsprogramm : return(contscan); }Miteinander verbundene Elemente besitzen gleiche Levelnummern größer gleich Null. Der Rückgabewert dieser Funktion sollte gleich Null sein, wenn der Scan für dieses Makro nicht weitergeführt werden soll, (-1) wenn ein Fehler aufgetreten ist und 1 wenn weitergescannt werden soll.
Verbindungssegmentfunktion
int confuncname( index C_CONBASE cbase, // Verbindungsliste Index int segidx, // Segment Nummer int ctyp, // Verbindungstyp: // 0 = normale Verbindung // 1 = Verbindungspunkt double lx, // Untere X-Koordinate (STD2) double ly, // Untere Y-Koordinate (STD2) double ux, // Obere X-Koordinate (STD2) double uy, // Obere Y-Koordinate (STD2) int busflag, // Busverbindung Flag: // 0 = normale Verbindung // 1 = Busverbindung int cinws, // Verbindung in Arbeitsbereich (STD10) index C_LEVEL level // Verbindung Level ) { // Verarbeitungsprogramm : return(errstat); }Ein Verbindungstyp von 0 gibt an, dass es sich um eine normale Segmentverbindung handelt. Ein Typ von 1 spezifiziert einen Verbindungskreuzungspunkt, obere und untere Koordinaten sind dabei identisch. Miteinander verbundene Elemente besitzen gleiche Levelnummern größer gleich Null. Der Rückgabewert dieser Funktion sollte ungleich Null sein, wenn ein Fehler aufgetreten ist.
Polygonfunktion
int polyfuncname( index C_POLY poly, // Polygondaten int polyinws, // Polygon in Arbeitsbereich Flag (STD10) index C_LEVEL level, // Polygon Level int macclass, // Polygon Makroklasse (STD1) int bustapidx // Polygon Busanschlussindex ) { // Verarbeitungsprogramm : return(errstat); }Die Makroklasse gibt die Klasse des Makros an, auf dem die Fläche platziert ist. Miteinander verbundene Elemente besitzen gleiche Levelnummern größer gleich Null. Ein Busanschlussindex größer gleich Null gibt an, dass es sich um eine auf einem Bustap platzierte Fläche handelt. Der Rückgabewert dieser Funktion sollte ungleich Null sein, wenn ein Fehler aufgetreten ist.
Textfunktion
int textfuncname( index C_TEXT text, // Textdaten double x, // X-Koordinate (STD2) double y, // Y-Koordinate (STD2) double angle, // Drehwinkel (STD3) int mirr, // Spiegelung (STD14) double size, // Text Größe (STD2) string textstr, // Textzeichenkette int textinws, // Text in Arbeitsbereich Flag (STD10) int macclass, // Text Makroklasse int variant // Text ist Variantenattribut Flag ) { // Verarbeitungsprogramm : return(errstat); }Die Makroklasse gibt die Klasse des Makros an, auf dem der Text platziert ist. Der Rückgabewert dieser Funktion sollte ungleich Null sein, wenn ein Fehler aufgetreten ist.
Funktionen cap_maccoords, cap_scanfelem, cap_scanpool.
int cap_scanfelem( // Scan Status index C_FIGURE; // Figurenelement double; // X-Offset (STD2) double; // Y-Offset (STD2) double; // Drehwinkel (STD3) int [0,1]; // Element in Arbeitsbereich Flag (STD10) * int; // Makrofunktion * int; // Verbindungssegmentfunktion * int; // Polygonfunktion * int; // Textfunktion );
Die Funktion
cap_scanfelem scannt das angegebene Figurenelement über alle Hierarchiestufen. Dabei werden für alle gefundenen Elemente die referenzierten Anwenderfunktionen aufgerufen. Soll ein Funktionstyp nicht aufgerufen werden, so ist für den entsprechenden Parameter
NULL
anzugeben (Definition der referenzierten Anwenderfunktionen siehe
cap_scanall). Der Rückgabewert der Funktion
cap_scanfelem ist ungleich Null, wenn ungültige Parameter angegeben wurden, oder wenn eine der referenzierten Anwenderfunktionen einen Fehler an die Funktion
cap_scanfelem zurückgemeldet hat.
Funktionen cap_maccoords, cap_scanall, cap_scanpool.
int cap_scanpool( // Scan Status void; // Poolelement double; // X-Offset (STD2) double; // Y-Offset (STD2) double; // Drehwinkel (STD3) int [0,1]; // Element in Arbeitsbereich Flag (STD10) * int; // Makrofunktion * int; // Verbindungssegmentfunktion * int; // Polygonfunktion * int; // Textfunktion );
Die Funktion
cap_scanpool scannt das angegebene Poolelement über alle Hierarchiestufen. Dabei werden für alle gefundenen Elemente die referenzierten Anwenderfunktionen aufgerufen. Soll ein Funktionstyp nicht aufgerufen werden, so ist für den entsprechenden Parameter
NULL
anzugeben (Definition der referenzierten Anwenderfunktionen siehe
cap_scanall). Der Rückgabewert der Funktion
cap_scanpool ist ungleich Null, wenn ungültige Parameter angegeben wurden, oder wenn eine der referenzierten Anwenderfunktionen einen Fehler an die Funktion
cap_scanpool zurückgemeldet hat.
Funktionen cap_maccoords, cap_scanall, cap_scanfelem.
int cap_vecttext( // Status double; // X-Koordinate (STD2) double; // Y-Koordinate (STD2) double; // Drehwinkel (STD3) int [0,1]; // Spiegelung (STD14) double ]0.0,[; // Text Größe (STD2) int [0,[; // Text Stil (CAP7) string; // Text Zeichenkette * int; // Vektorisierungsfunktion );
Die Funktion cap_vecttext vektorisiert den übergebenen Text unter Verwendung des aktuell geladenen Zeichensatzes. Dazu wird für jedes Textsegment die übergebene Vektorisierungsfunktion aufgerufen. Der Rückgabewert dieser Funktion ist ungleich Null, wenn ungültige Parameter angegeben wurden oder die vom Benutzer definierte Vektorisierungsfunktion einen Wert ungleich Null zurückgegeben hat.Vektorisierungsfunktion
int vecfuncname( double x1, // X-Koordinate erster Punkt (STD2) double y1, // Y-Koordinate erster Punkt (STD2) double x2, // X-Koordinate zweiter Punkt (STD2) double y2 // Y-Koordinate zweiter Punkt (STD2) ) { // Verarbeitungsprogramm : return(errstat); }Der Rückgabewert dieser Funktion sollte ungleich Null sein, wenn ein Fehler aufgetreten ist.
Die nachfolgend aufgelisteten Systemfunktionen sind dem Aufruftyp SCM zugeordnet, d.h. diese Funktionen können im Schaltplaneditor aufgerufen werden:
int scm_askrefname( // Returns status & string; // Returns reference name );
Die Funktion scm_askrefname aktiviert einen Dialog zur Referenznamensabfrage, d.h. zur Auswahl von Symbolen auf Stromlaufebene bzw. zur Auswahl von Pins auf Symbolebene. Der Funktionsrückgabewert ist Null bei erfolgreicher Referenzauswahl oder ungleich Null im Fehlerfall.
int scm_asktreename( // Status & string; // Rückgabe Netzname );
Die Funktion scm_asktreename aktiviert einen Dialog zur Netznamensabfrage. Der Funktionsrückgabewert ist Null bei erfolgreicher Netzauswahl oder ungleich Null im Fehlerfall.
int scm_attachtextpos( // Status index C_FIGURE; // SCM-Element string; // Text double; // Text-X-Koordinate (STD2) double; // Text-Y-Koordinate (STD2) double; // Textdrehwinkel (STD3) double ]0.0,[; // Textgröße (STD2) int [-1,1]; // Textspiegelungsmodus (STD14) oder (-1) zum Rüsetzen );
Die Funktion scm_attachtextpos weist die Parameter für Position, Drehwinkel, Größe und Spiegelung an den angegebenen Text des spezifierten SCM-Elements zu. Der Funktionsrückgabewert ist Null bei erfolgreicher Zuweisung, (-1) bei ungültigen Parametern oder (-2) wenn das Layoutelement keine Definition für den angegebenen Text enthält.
Funktion scm_storetext.
int scm_checkbustapplot( // Rückgabe Plotstatus index C_FIGURE; // Busverbindungselement index C_BUSTAP; // Busanschluß );
Die Funktion scm_checkbustapplot gibt den Wert 1 zurück wenn die Plotausgabe für den sepzifizierten Busanschluß deaktiviert ist. Im anderen Fall ergibt sich der Rückgabewert zu Null.
int scm_checkjunctplot( // Plotstatus double; // Verbindungspunkt X-Position (STD2) double; // Verbindungspunkt Y-Position (STD2) );
Die Funktion scm_checkjunctplot überprüft, ob eine Plotausgabe von Verbindungspunktmarkern an der angegebenen Koordinate durchzuführen ist (Funktionsrückgabewert 0) oder unterdrückt werden soll (Funktionsrückgabewert 1).
int scm_chkattrname( // Rückgabe ungleich Null bei ungültigem Attributnamen string; // Attributname );
Die Funktion scm_chkattrname überprüft ob der angegebene Attributname gültig ist und eine Attributwertzuweisung zulässt. Der Funktionsrückgabewert ist Null bei gültigem Attributnamen bzw. ungleich Null wenn der Attributname ungültig ist.
Funktion scm_setpartattrib.
int scm_conseggrpchg( // Status
index C_CONSEG; // Verbindungssegment
int [0,6]; // Neue Gruppenzugehörigkeit (STD13)
// |4 - Anzeige Gruppenstatusmeldung
);
Die Funktion scm_conseggrpchg ändert die Gruppenzugehörigkeit des übergebenen Verbindungssegments. Der Rückgabewert ist Null bei erfolgter Änderung oder (-1) wenn das übergebene Element ungültig ist.
string scm_deflibname( // Default SCM Bibliotheksname );
Der Rückgabewert der Funktion scm_deflibname entspricht dem in der Setupdatei eingestellten Defaultnamen für die SCM-Bibliothek.
string scm_defloglname( // Default Packager Bibliotheksname );
Der Rückgabewert der Funktion scm_defloglname entspricht dem in der Setupdatei eingestellten Defaultnamen für die vom Packager verwendete Layoutbibliothek. Dieser Dateiname wird üblicherweise bei der Abfrage von logischen Bauteildefinitionen.
Funktion con_getlogpart; Utilityprogramm bsetup.
int scm_defsegbus( // Status & index C_CONSEG; // Verbindungssegment );
Die Funktion scm_defsegbus definiert das übergebene Verbindungssegment und alle damit verbundenen Segmente zum Bus. Der Rückgabewert ist ungleich Null, wenn die Busdefinition nicht durchgeführt werden konnte.
Diese Funktion ändert die aktuelle Figurenliste und sollte daher mit Vorsicht in
forall
-Schleifen zur Iteration von
C_FIGURE-Indexvariablen verwendet werden, um undefinierte Ergebnisse beim Zugriff auf die Figurenliste bzw. Endlosschleifen zu vermeiden.
int scm_delconseg( // Status & index C_CONSEG; // Verbindungssegment );
Die Funktion scm_delconseg löscht das übergebene Verbindungssegment. Der Rückgabewert ist Null bei erfolgter Löschung und (-1), wenn das übergebene Element ungültig ist. Die Änderung kann nach dem Programmlauf mit wieder rückgängig gemacht werden.
Diese Funktion ändert die aktuelle Figurenliste und sollte daher mit Vorsicht in
forall
-Schleifen zur Iteration von
C_FIGURE-Indexvariablen verwendet werden, um undefinierte Ergebnisse beim Zugriff auf die Figurenliste bzw. Endlosschleifen zu vermeiden.
int scm_delelem( // Status & index C_FIGURE; // Element );
Die Funktion scm_delelem löscht das übergebene Element aus der Elementliste. Der Rückgabewert ist Null bei erfolgter Löschung und (-1), wenn das übergebene Element ungültig ist. Die Änderung kann nach dem Programmlauf mit wieder rückgängig gemacht werden.
Diese Funktion ändert die aktuelle Figurenliste und sollte daher mit Vorsicht in
forall
-Schleifen zur Iteration von
C_FIGURE-Indexvariablen verwendet werden, um undefinierte Ergebnisse beim Zugriff auf die Figurenliste bzw. Endlosschleifen zu vermeiden.
Funktion scm_drawelem.
void scm_drawelem( index C_FIGURE; // Element int [0, 4]; // Zeichenmodus (STD19) );
Die Funktion scm_drawelem aktualisiert die Anzeige des angegebenen Elements unter Verwendung des spezifizierten Zeichenmodus.
Funktion scm_delelem.
int scm_elemangchg( // Status & index C_FIGURE; // Element double; // Neuer Winkel (STD3) );
Die Funktion scm_elemangchg ändert den Drehwinkel des übergebenen Elements. Der Drehwinkel wird ausgehend vom Nullwinkel eingestellt, d.h. der vorhergehende Drehwinkel des Elements hat keinen Einfluss auf das Ergebnis. Die Winkelangabe wird als Bogenmaßwert interpretiert. Der Rückgabewert ist Null bei erfolgter Änderung, (-1) wenn das übergebene Element ungültig oder (-2) wenn es nicht drehbar ist. Die Änderung kann nach dem Programmlauf mit wieder rückgängig gemacht werden.
Diese Funktion ändert die aktuelle Figurenliste und sollte daher mit Vorsicht in
forall
-Schleifen zur Iteration von
C_FIGURE-Indexvariablen verwendet werden, um undefinierte Ergebnisse beim Zugriff auf die Figurenliste bzw. Endlosschleifen zu vermeiden.
int scm_elemgrpchg( // Status
index C_FIGURE; // Element
int [0,6]; // Neue Gruppenzugehörigkeit (STD13)
// |4 - Anzeige Gruppenstatusmeldung
);
Die Funktion scm_elemgrpchg ändert die Gruppenzugehörigkeit des übergebenen Elements. Der Rückgabewert ist Null bei erfolgter Änderung, (-1) wenn das übergebene Element ungültig ist oder (-2) wenn es sich nicht um ein gruppenselektierbares Element handelt. Die Änderung kann nach dem Programmlauf mit wieder rückgängig gemacht werden.
int scm_elemmirrchg( // Status & index C_FIGURE; // Element int [0,1]; // Neuer Spiegelungsmodus (STD14) );
Die Funktion scm_elemmirrchg ändert den Spiegelungsmodus des übergebenen Elements. Der Spiegelungsmodus kann bei Texten und Referenzen geändert werden. Der Rückgabewert ist Null bei erfolgter Änderung, (-1) wenn das übergebene Element ungültig ist oder (-2) wenn es nicht gespiegelt werden kann. Die Änderung kann nach dem Programmlauf mit wieder rückgängig gemacht werden.
Diese Funktion ändert die aktuelle Figurenliste und sollte daher mit Vorsicht in
forall
-Schleifen zur Iteration von
C_FIGURE-Indexvariablen verwendet werden, um undefinierte Ergebnisse beim Zugriff auf die Figurenliste bzw. Endlosschleifen zu vermeiden.
int scm_elemposchg( // Status & index C_FIGURE; // Element double; // X-Position (STD2) double; // Y-Position (STD2) );
Die Funktion scm_elemposchg ändert die Position des übergebenen Elements. Bei Polygonen wird das Polygon so verschoben, dass der erste Punkt des Polygons auf der angegebenen Position zu liegen kommt. Der Rückgabewert ist Null bei erfolgter Änderung, (-1) wenn das übergebene Element ungültig oder (-2) wenn es nicht positionierbar ist. Die Änderung kann nach dem Programmlauf mit wieder rückgängig gemacht werden.
Diese Funktion ändert die aktuelle Figurenliste und sollte daher mit Vorsicht in
forall
-Schleifen zur Iteration von
C_FIGURE-Indexvariablen verwendet werden, um undefinierte Ergebnisse beim Zugriff auf die Figurenliste bzw. Endlosschleifen zu vermeiden.
int scm_elemsizechg( // Status & index C_FIGURE; // Element double; // Neue Größe (STD2) );
Die Funktion scm_elemsizechg ändert die Größe des übergebenen Elements. Eine Größenänderung ist nur bei Textelementen möglich. Der Rückgabewert ist Null bei erfolgter Änderung, (-1) wenn das übergebene Element ungültig oder (-2) wenn es nicht größenveränderbar ist. Die Änderung kann nach dem Programmlauf mit wieder rückgängig gemacht werden.
Diese Funktion ändert die aktuelle Figurenliste und sollte daher mit Vorsicht in
forall
-Schleifen zur Iteration von
C_FIGURE-Indexvariablen verwendet werden, um undefinierte Ergebnisse beim Zugriff auf die Figurenliste bzw. Endlosschleifen zu vermeiden.
int scm_findpartplc( // Platzierungsstatus string; // Bauteilname );
Die Funktion scm_findpartplc kann im BAE HighEnd Schaltplaneditor dazu benutzt werden, den Platzierungsstatus von Layoutbauteilen zu prüfen. Der Funktionsrückgabewert ist 1 wenn das Bauteil mit dem angegebenen Bauteilnamen auf dem Projektlayout platziert ist. Andernfalls wird der Wert Null zurückgegeben.
int scm_getdblpar( // Status int [0,[; // Parametertyp/-nummer: // 0 = Plot Skalierungsfaktor // 1 = Plotter HPGL-Geschwindigkeit // 2 = Plotter Stiftbreite (STD2) // 3 = X-Koord. letzte Gruppenplatzierung (STD2) // 4 = Y-Koord. letzte Gruppenplatzierung (STD2) // 5 = Standardsymbolplatzierungswinkel (STD3) // 6 = Standardtextgröße (STD2) // 7 = Standardtextplatzierungswinkel (STD3) & double; // Rückgabe Parameterwert );
Die Funktion
scm_getdblpar dient der Abfrage von mit
scm_setdblpar im
Schaltplaneditor gesetzten Parametern vom Typ
double
. Der Funktionsrückgabewert ist Null bei erfolgreicher Abfrage oder (-1) im Fehlerfall.
Funktionen scm_getintpar, scm_getstrpar, scm_setdblpar, scm_setintpar, scm_setstrpar.
int scm_getgroupdata( // Status & double; // Gruppenbezugspunkt X-Koordinate (STD2) & double; // Gruppenbezugspunkt Y-Koordinate (STD2) & double; // Gruppendrehwinkel (STD3) & double; // Gruppenskalierungsfaktor & int; // Gruppenspiegelungsmodus & double; // Gruppenquadrant X-Koordinate (STD2) & double; // Gruppenquadrant Y-Koordinate (STD2) & int; // Gruppenquadrantmodus & int; // Gruppenbereichsmodus );
Die Funktion scm_getgroupdata ermöglicht die Abfrage der aktuellen Eingabedaten während interaktiver Gruppenplatzierungen im Schaltplaneditor. Der Funktionsrückgabewert ist ungleich Null wenn gerade keine Gruppenplatzierungsinteraktion aktiviert ist.
Funktion scm_getinputdata.
int scm_gethighlnet( // Status
int [-1,[; // Netznummer oder -1 für Highlightfokusmodusabfrage
& int; // Highlightmodus
);
Mit der Funktion scm_gethighlnet kann der Highlightmodus für das Netz mit der angegebenen Netznummer abgefragt werden. Bei aktiviertem Netzhighlight wird im Parameter für den Highlightmodus ein Wert ungleich Null zurückgegegen, bei deaktiviertem Netzhighlight ergibt sich der Highlightmodusparameter zu Null. Der Funktionsrückgabewert ergibt sich zu einem Wert ungleich Null, wenn die Abfrage erfolgreich war, andernfalls (Netz nicht gefunden, ungültige Parameter) wird der Wert Null zurückgegeben.
Funktion scm_highlnet.
void scm_gethpglparam( & string; // HP-GL Plotdateiname & double; // HP-GL Maßstab & double; // HP-GL Geschwindigkeit (-1.0 volle Geschw.) & double; // HP-GL Stiftbreite (STD2) & int; // HP-GL Füllmodus: // 0 = Füllen aus // 1 = Füllen ein & int; // HP-GL Rotationsmodus: // 0 = keine Drehung // 1 = Drehung um 90 Grad // sonst = automatische Drehung );
Die Funktion scm_gethpglparam gibt die aktuell im Schaltplaneditor eingestellten HP-GL-Plotparameter zurück.
int scm_getinputdata( // Status & double; // Ursprüngliche X-Koordinate (STD2) & double; // Ursprüngliche Y-Koordinate (STD2) & double; // Ursprüngliche Breite (STD2) & int; // Ursprünglicher Anzeigeelementtyp (SCM1) & double; // Aktuelle X-Koordinate (STD2) & double; // Aktuelle Y-Koordinate (STD2) & double; // Aktuelle Breite (STD2) & int; // Aktueller Anzeigelementtyp (SCM1) & void; // Eingabemodus/Element & double; // Erstes Segment Start-X-Koordinate (STD2) */ & double; // Erstes Segment Start-Y-Koordinate (STD2) */ & double; // Erster Kreismittelpunkt X-Koordinate (STD2) */ & double; // Erster Kreismittelpunkt Y-Koordinate (STD2) */ & int; // Erster Kreismittelpunkt Typ (STD15) */ & double; // Letztes Segment Start-X-Koordinate (STD2) */ & double; // Letztes Segment Start-Y-Koordinate (STD2) */ & double; // Letzter Kreismittelpunkt X-Koordinate (STD2) */ & double; // Letzter Kreismittelpunkt Y-Koordinate (STD2) */ & int; // Letzter Kreismittelpunkt Typ (STD15) */ );
Die Funktion scm_getinputdata ermöglicht die Abfrage der aktuellen Eingabedaten während interaktiver Platzierungen im Schaltplaneditor. Die Interpretation der Platzierungsdaten ist entsprechend dem zurückgelieferten Funktionsparameter für den Eingabemodus bzw. das Platzierungselement vorzunehmen. Der Funktionsrückgabewert ist ungleich Null wenn gerade keine Platzierungsinteraktion aktiviert ist.
Funktion scm_getgroupdata.
int scm_getintpar( // Status int [0,[; // Parametertyp/-nummer: // 0 = Pickpunktanzeigemodus: // 0 = keine Pickpunktanzeige // 1 = Pickpunktanzeige // 1 = Symbol/Gruppen-Reroutingmodus: // Bit 0/1: Routermodus // 0 = Router inaktiv // 1 = Symbol- & Gruppenrouting // 2 = Nur Symbolrouting // 3 = Nur Gruppenrouting // Bit 2: Quickshot-Routing Flag // 2 = Symbolbewegungsmodus: // 0 = Symboltextoffsets zurücksetzen // 1 = Symboltextoffsets beibehalten // 3 = Typ der zuletzt platzierten Referenz: // (-1) = keine Referenz platziert // 0 = Symbol // 1 = Label // 2 = Modulport // 4 = Warnungen bei Verbindung benannter Netze: // 0 = Warnmeldungsanzeige deaktiviert // 1 = Warnmeldungsanzeige aktiviert // 5 = Elementpickmodus: // 0 = Bester Pick // 1 = Pickelementauswahl // 6 = Farbmodus Generischer Drucker: // 0 = schwarzweiss // 1 = farbig // 7 = Warnmeldungsmodus: // Bit 0: $-Umbenennungen unterdrücken // Bit 1: Netzzusammenfassungen unterdrücken // Bit 2: Modulportwarnungen unterdrückt // Bit 4: Gruppensymbolumbenennungswarnungen unterdrückt // Bit 5: Variantenvergleichswarnungen unterdrückt // 8 = Eingabemodus für Namen: // 0 = Autopattern für Symbolnamen // 1 = Eingabeaufforderung für Symbolnamen // 9 = Infoanzeigeflag: // 0 = keine Infoanzeige // 1 = automatische Infoanzeige // 10 = Infoanzeigemodus: // 0 = keine automatische Infoanzeige // 1 = vollständige Infoanzeige // 2 = nur netzspezifische Infoanzeige // 11 = Labelreroutingmodus: // 0 = kein automatisches Labelrerouting // 1 = automatisches Labelrerouting // 12 = Offset Subsymbolnummer // 13 = Generische Plotausgabe Skalierungsmodus: // 0 = fester Skalierungsfaktor // 1 = automatische Skalierung auf Seite // 14 = Generische Plotausgabe Farbmodus: // 0 = schwarz/weiss // 1 = aktuelle Farbeinstellung benutzen // 15 = HPGL Füllmodus: // 0 = Konturen zeichnen // 1 = Flächen füllen // 2 = Flächen füllen, Linien/Texte zeichnen // 16 = Flächenpolygoneditiermodus: // 0 = keine geschlossenen Linienzüge // 1 = immer geschlossene Linienzüge // 2 = Abfrage zum Schließen von Linienzügen // 17 = Gruppenreroutingmodus: // 0 = kein Löschen von Außenantennen // 1 = Löschen erstes Außenantennensegment // 2 = Löschen alle Außenantennensegmente // 18 = Benutzerspezifisches Standardeinheitensystem: // 0 = metrisch // 1 = zöllig // 19 = Plotvorschaumodus: // 0 = keine Plotvorschau // 1 = Plotterstiftbreite // 20 = Autosave Intervall // 21 = Automatische Verbindungsecken // 22 = Winkelfreigabeflag // 23 = Standardsymbolspiegelung // 24 = Gruppenbewegtdarstellung: // 0 = Bewegtbild ein // 1 = Bewegtbild alles // 2 = Bewegtbild kontinuierlich // 25 = Zwischenablagetext-Platzierungsanforderung // 26 = Signalrouter Routingbereich // 27 = Automatische Busanzapfung // 28 = Signalrouter Markerscan // 29 = Segmentbewegungsmodus: // 0 = Bewegen ohne Nachbarn // 1 = Bewegen mit Nachbarn // 2 = Nachbarn anpassen // |4 = Endpunkt folgt Segment // 30 = Gruppenwinkelfreigabemodus: // 0 = Gruppenwinkel einhalten // 1 = Gruppenwinkel automatisch freigeben // 31 = Standard-Textspiegelungsmodus (STD14) // 32 = Standard-Textmodus (CAP1|CAP7) // 33 = Symbol$noplc
Plotsichtbarkeitsbeziehung: // Bit 0 =$noplc
setzen bei Plotsichtbarkeitsänderung // Bit 1 = Plotsichtbarkeit setzen bei$noplc
-Änderung // 34 = Netzplanlisting Maximallänge [ 3,200] // 35 = Flag - Einzeleckenbearbeitung // 36 = Flag - Unroutes-Liniengenerierung // 37 = Flag - Polygonbearbeitung Autocomplete-Modus // 38 = Fehlerhighlightmodus: // 0 = Fehlerhighlight // 1 = Fehlermuster/-strichelung // 39 = Flag - Automirror horizontal bus taps // 40 = Symbol-/Label-Tagmodus: // 0 = Standardsymbol // 1 = Virtueller Tag // 2 = Netzlistentag // 41 = Verbindungstrennmodus: // 0 = Verbindungen nicht trennen // 1 = Verbindungen an Zweipinsymbolen trennen // 2 = Verbindungen trennen // 42 = Symbolverbindungstrennmodus: // 0 = Verbindungen nicht trennen // 1 = Verbindungen an Zweipinsymbolen trennen // 2 = Verbindungen trennen // 43 = Von scm_checkjunctplot gesetzte Verbindungspunktmarker-Gruppensegmentanzahl // 44 = Aktuelle Anzahl Projektpläne // 45 = Anzeigeklassenbits Verbindung (SCM2) // 46 = Anzeigeklassenbits Bus (SCM2) // 47 = Anzeigeklassenbits Text (SCM2) // 48 = Anzeigeklassenbits Kommentartext (SCM2) // 49 = Anzeigeklassenbits Grafikfläche (SCM2) // 50 = Anzeigeklassenbits Grafiklinie (SCM2) // 51 = Anzeigeklassenbits Strichlinie (SCM2) // 52 = Anzeigeklassenbits Verbindungsfläche (SCM2) // 53 = Anzeigeklassenbits Netzbereich (SCM2) // 54 = Anzeigeklassenbits Makroumrandung (SCM2) // 55 = Anzeigeklassenbits Tag (SCM2) & int; // Rückgabe Parameterwert );
Die Funktion scm_getintpar dient der Abfrage von mit scm_setintpar im Schaltplaneditor gesetzten Integerparametern. Der Funktionsrückgabewert ist Null bei erfolgreicher Abfrage oder (-1) im Fehlerfall.
Funktionen scm_getdblpar, scm_getstrpar, scm_setdblpar, scm_setintpar, scm_setstrpar.
int scm_getstrpar( // Status int [0,[; // Parametertyp/-nummer: // 0 = Name zuletzt platziertes Bibliothekselement // 1 = Name zuletzt platziertes benanntes Element // 2 = Name zuletzt platziertes Netz // 3 = Name zuletzt platzierter Busanschluß // 4 = Inhalt zuletzt platzierte Zeichenkette // 5 = Symbolnamensmuster // 6 = Nächster platzierter Text // 7 = Bibliothek zuletzt platziertes Makro // 8 = Fehlerhafte Busanschlussbezeichnung // 9 = Fehlerhafte Busbezeichnung // 10 = Nächster freier Name // 11 = Current hierachical block reference name // 12 = Last picked attribute name // 13 = Last picked attribute value // 14 = Autosave path name & string; // Returns parameter value );
Die Funktion scm_getstrpar dient der Abfrage von im Schaltplaneditor gesetzten Stringparametern. Der Funktionsrückgabewert ist Null bei erfolgreicher Abfrage oder (-1) im Fehlerfall.
Funktionen scm_getdblpar, scm_getintpar, scm_setdblpar, scm_setintpar, scm_setstrpar.
int scm_highlnet( // Status int [-1,[; // Netznummer int [0,1]; // Highlightmodus );
Mit der Funktion scm_highlnet kann der Highlightmodus für das Netz mit der angegebenen Netznummer gesetzt werden. Zur Aktivierung des Netzhighlights ist das Bit 1 der Highlighmodusparameter auf 1 zu setzen, die Deaktivierung erfolgt entsprechend durch Zuweisung von Null. Der Funktionsrückgabewert ergibt sich zu einem Wert ungleich Null bei erfolgreicher Änderung des netzspezifischen Highlightmodus, andernfalls (Netz nicht gefunden, ungültige Parameter) wird der Wert Null zurückgegeben.
Funktion scm_gethighlnet.
int scm_pickanyelem( // Status & index C_FIGURE; // Rückgabe selektiertes Anzeigeelement & index C_CONSEG; // Rückgabe selektiertes Verbindungssegment & index C_BUSTAP; // Rückgabe selektierter Busanschluß & int; // Rückgabe selektierter Elementtyp: // 0 = Anzeigeelement // 1 = Verbindungssegment // 2 = Busanschluß int; // Pickelementtypmenge ((CAP3 außer 7)<<1 verodert) );
Die Funktion scm_pickanyelem aktiviert eine Mausinteraktion zur Selektion eines Elements aus der angegebenen Pickelementtypmenge. Das selektierte Element wird in einem der ersten drei Parameter zurückgegeben. Der Rückgabewert für den selektierten Elementtyp kann zur Bestimmung des gültigen Parameters für das selektierte Element ausgewertet werden. Der Funktionsrückgabewert ist Null bei erfolgter Selektion und ungleich Null wenn an der Pickposition kein Element gefunden wurde.
Funktionen scm_pickbustap, scm_pickconseg, scm_pickelem, scm_setpickconseg.
int scm_pickbustap( // Status & index C_BUSTAP; // Rückgabe selektiertes Busanschlusselement );
Mit der Funktion scm_pickbustap kann vom Benutzer mit der Maus ein Busanschluss selektiert werden. Der Rückgabewert ist Null bei erfolgter Selektion und (-1) wenn an der Pickposition kein Busansachlusselement gefunden wurde.
Funktionen scm_pickanyelem, scm_pickconseg, scm_pickelem, scm_setpickconseg.
int scm_pickconseg( // Status & index C_CONSEG; // Rückgabe Verbindungssegment );
Mit der Funktion scm_pickconseg kann vom Benutzer mit der Maus ein Verbindungssegment selektiert werden. Der Rückgabewert ist Null bei erfolgter Selektion und (-1) wenn an der Pickposition kein Verbindungssegment gefunden wurde.
Funktionen scm_pickanyelem, scm_pickbustap, scm_pickelem, scm_setpickconseg.
int scm_pickelem( // Status
& index C_FIGURE; // Rückgabe selektiertes Element
int [1,11]; // Elementtyp (CAP3 außer 2 und 7)
);
Mit der Funktion scm_pickelem kann vom Benutzer mit der Maus ein Element des gewünschten übergebenen Typs selektiert werden, wobei mit dieser Funktion keine Verbindungen selektiert werden können. Der Rückgabewert ist Null bei erfolgter Selektion und (-1) wenn an der Pickposition kein Element des gewünschten Typs gefunden wurde.
Funktionen scm_pickanyelem, scm_pickbustap, scm_pickconseg, scm_setpickconseg.
int scm_setdblpar( // Status int [0,[; // Parametertyp/-nummer: // 0 = Plot Skalierungsfaktor // 1 = Plotter HPGL-Geschwindigkeit // 2 = Plotter Stiftbreite (STD2) // 3 = X-Koordinate letzte Gruppenplatzierung (STD2) // 4 = Y-Koordinate letzte Gruppenplatzierung (STD2) // 5 = Standardsymbolplatzierungswinkel (STD3) // 6 = Standardtextgröße (STD2) // 7 = Standardtextplatzierungswinkel (STD3) double; // Parameterwert );
Die Funktion
scm_setdblpar dient dazu, Systemparameter vom Typ
double
im
Schaltplaneditor zu setzen. Der Funktionsrückgabewert ist Null bei erfolgreicher Parameterzuweisung oder (-1) im Fehlerfall. Die Werte von mit
scm_setdblpar gesetzten Systemparametern können mit der Funktion
scm_getdblpar abgefragt werden.
Funktionen scm_getdblpar, scm_getintpar, scm_getstrpar, scm_setintpar, scm_setstrpar.
int scm_setintpar( // Status int [0,[; // Parametertyp/-nummer: // 0 = Pickpunktanzeigemodus: // 0 = keine Pickpunktanzeige // 1 = Pickpunktanzeige // 1 = Symbol/Gruppen-Reroutingmodus: // Bit 0/1: Routermodus // 0 = Router inaktiv // 1 = Symbol- & Gruppenrouting // 2 = Nur Symbolrouting // 3 = Nur Gruppenrouting // Bit 2: Quickshot-Routing Flag // 2 = Symbolbewegungsmodus: // 0 = Symboltextoffsets zurücksetzen // 3 = Typ der zuletzt platzierten Referenz: // Parameter nur für Lesezugriff! // 4 = Warnungen bei Verbindung benannter Netze: // 0 = Warnmeldungsanzeige deaktivieren // 1 = Warnmeldungsanzeige aktivieren // 5 = Elementpickmodus: // 0 = Bester Pick // 1 = Pickelementauswahl // 6 = Farbmodus Generischer Drucker: // 0 = schwarzweiss // 1 = farbig // 7 = Warnmeldungsmodus: // Bit 0 = $-Umbenennungen unterdrücken // Bit 1: Netzzusammenfassungen unterdrücken // Bit 2: Modulportwarnungen unterdrücken // Bit 4: Gruppensymbolumbenennungswarnungen unterdrücken // Bit 5: Variantenvergleichswarnungen unterdrücken // 8 = Eingabemodus für Namen: // 0 = Autopattern für Symbolnamen // 1 = Eingabeaufforderung für Symbolnamen // 9 = Infoanzeigeflag: // 0 = keine Infoanzeige // 1 = automatische Infoanzeige // 10 = Infoanzeigemodus: // 0 = keine automatische Infoanzeige // 1 = vollständige Infoanzeige // 2 = nur netzspezifische Infoanzeige // 11 = Labelreroutingmodus: // 0 = kein automatisches Labelrerouting // 1 = automatisches Labelrerouting // 12 = Offset Subsymbolnummer // 13 = Generische Plotausgabe Skalierungsmodus: // 0 = fester Skalierungsfaktor // 1 = automatische Skalierung auf Seite // 14 = Generische Plotausgabe Farbmodus: // 0 = schwarz/weiss // 1 = aktuelle Farbeinstellung benutzen // 15 = HPGL Füllmodus: // 0 = Konturen zeichnen // 1 = Flächen füllen // 2 = Flächen füllen, Linien/Texte zeichnen // 16 = Flächenpolygoneditiermodus: // 0 = keine geschlossenen Linienzüge // 1 = immer geschlossene Linienzüge // 2 = Abfrage zum Schließen von Linienzügen // 17 = Gruppenreroutingmodus: // 0 = kein Löschen von Außenantennen // 1 = Löschen erstes Außenantennensegment // 2 = Löschen alle Außenantennensegmente // 18 = Benutzerspezifisches Standardeinheitensystem: // 0 = metrisch // 1 = zöllig // 19 = Plotvorschaumodus: // 0 = keine Plotvorschau // 1 = Plotterstiftbreite // 20 = Autosave Intervall // 21 = Automatische Verbindungsecken // 22 = Winkelfreigabeflag // 23 = Standardsymbolspiegelung // 24 = Gruppenbewegtdarstellung: // 0 = Bewegtbild ein // 1 = Bewegtbild alles // 2 = Bewegtbild kontinuierlich // 25 = Zwischenablagetext-Platzierungsanforderung // 26 = Signalrouter Routingbereich // 27 = Automatische Busanzapfung // 28 = Signalrouter Markerscan // 29 = Segmentbewegungsmodus: // 0 = Bewegen ohne Nachbarn // 1 = Bewegen mit Nachbarn // 2 = Nachbarn anpassen // |4 = Endpunkt folgt Segment // 30 = Gruppenwinkelfreigabemodus: // 0 = Gruppenwinkel einhalten // 1 = Gruppenwinkel automatisch freigeben // 31 = Standard-Textspiegelungsmodus (STD14) // 32 = Standard-Textmodus (CAP1|CAP7) // 33 = Symbol$noplc
Plotsichtbarkeitsbeziehung: // Bit 0 =$noplc
setzen bei Plotsichtbarkeitsänderung // Bit 1 = Plotsichtbarkeit setzen bei$noplc
-Änderung // 34 = Netzplanlisting Maximallänge [ 3,200] // 35 = Flag - Einzeleckenbearbeitung // 36 = Flag - Unroutes-Liniengenerierung // 37 = Flag - Polygonbearbeitung Autocomplete-Modus // 38 = Fehlerhighlightmodus: // 0 = Fehlerhighlight // 1 = Fehlermuster/-strichelung // 39 = Flag - Automirror horizontal bus taps // [ 40 = Systemparameter - kein Schreibzugriff ] // 41 = Verbindungstrennmodus: // 0 = Verbindungen nicht trennen // 1 = Verbindungen an Zweipinsymbolen trennen // 2 = Verbindungen trennen // 42 = Symbolverbindungstrennmodus: // 0 = Verbindungen nicht trennen // 1 = Verbindungen an Zweipinsymbolen trennen // 2 = Verbindungen trennen // [ 43 = Systemparameter - kein Schreibzugriff ] // [ 44 = Systemparameter - kein Schreibzugriff ] // 45 = Anzeigeklassenbits Verbindung (SCM2) // 46 = Anzeigeklassenbits Bus (SCM2) // 47 = Anzeigeklassenbits Text (SCM2) // 48 = Anzeigeklassenbits Kommentartext (SCM2) // 49 = Anzeigeklassenbits Grafikfläche (SCM2) // 50 = Anzeigeklassenbits Grafiklinie (SCM2) // 51 = Anzeigeklassenbits Strichlinie (SCM2) // 52 = Anzeigeklassenbits Verbindungsfläche (SCM2) // 53 = Anzeigeklassenbits Netzbereich (SCM2) // 54 = Anzeigeklassenbits Makroumrandung (SCM2) // 55 = Anzeigeklassenbits Tag (SCM2) int; // Parameterwert );
Die Funktion
scm_setintpar dient dazu, Systemparameter vom Typ
int
im
Schaltplaneditor zu setzen. Der Funktionsrückgabewert ist Null bei erfolgreicher Parameterzuweisung oder (-1) im Fehlerfall. Die Werte von mit
scm_setintpar gesetzten Systemparametern können mit der Funktion
scm_getintpar abgefragt werden.
Funktionen scm_getdblpar, scm_getintpar, scm_getstrpar, scm_setdblpar, scm_setstrpar.
int scm_setpartattrib( // Status string; // Bauteilname string; // Attributname string; // Attributwert int; // Bauteilbearbeitungsflags: // Bit 0: vom Bildschirm entfernen // Bit 1: Bildschirmanzeige aktualisieren // Bit 2: Zuweisung erzwingen, Varianten deaktivieren );
Die Funktion scm_setpartattrib setzt für das namentlich spezifizierte Bauteil den Wert des angegebenen Attributs. Die maximal speicherbare Stringlänge für den Attributwert beträgt 40 Zeichen. Der Rückgabewert ist Null bei erfolgreicher Attributwertdefinition, (-1) wenn kein gültiges Element geladen ist, (-2) bei fehlenden bzw. ungültigen Parametern, (-3) wenn das Bauteil nicht gefunden wurde, oder (-4) wenn das Attribut mit dem angegebenen Name nicht am Bauteil definiert ist.
Funktion scm_chkattrname.
int scm_setpickconseg( // Status index C_CONSEG; // Verbindungssegment );
Die Funktion scm_setpickconseg selektiert das angegebene Verbindungssegment als Defaultelement für nachfolgende Verbindungssegmentpickoperationen. Der Rückgabewert ist Null bei erfolgreicher Selektion oder (-1) im Fehlerfall.
Funktionen scm_pickanyelem, scm_pickconseg, scm_pickbustap, scm_pickelem.
int scm_setpickelem( // Status index C_FIGURE; // Defaultpickelement );
Die Funktion scm_setpickelem setzt ein Defaultelement für nachfogende Pickoperationen im Schaltplaneditor. Der Funktionsrückgabewert ist ungleich Null im Fehlerfall.
Funktion scm_pickelem.
int scm_setstrpar( // Status int [0,[; // Parametertyp/-nummer: // [ 0 = Systemparameter schreibgeschützt ] // [ 1 = Systemparameter schreibgeschützt ] // [ 2 = Systemparameter schreibgeschützt ] // [ 3 = Systemparameter schreibgeschützt ] // 4 = Inhalt zuletzt platzierte Zeichenkette // 5 = Symbolnamensmuster // [ 6 = Systemparameter - kein Schreibzugriff ] // [ 7 = Systemparameter schreibgeschützt ] // [ 8 = Systemparameter schreibgeschützt ] // [ 9 = Systemparameter schreibgeschützt ] // [ 10 = Systemparameter schreibgeschützt ] // 11 = Current hierachical block reference name // [ 12 = System parameter write-protected ] // [ 13 = System parameter write-protected ] // 14 = Autosave path name string; // Parameter value );
Die Funktion
scm_setstrpar dient dazu, Systemparameter vom Typ
string
im
Schaltplaneditor zu setzen. Der Funktionsrückgabewert ist Null bei erfolgreicher Parameterzuweisung oder (-1) im Fehlerfall. Die Werte von mit
scm_setstrpar gesetzten Systemparametern können mit der Funktion
scm_getstrpar abgefragt werden.
Funktionen Funktionen scm_getdblpar, scm_getintpar, scm_getstrpar, scm_setdblpar, scm_setintpar.
int scm_settagdata( // Status index C_FIGURE; // Tag Element string; // Tag Pinname string; // Tag Referenzname 1 string; // Tag Referenzname 2 );
Die Funktion scm_settagdata dient der Zuweisung der spezifizierten Tagzieldaten (Tagpinname und Tagreferenzbezeichnungen) an das angegebene Tagelement im Schaltplan. Der Funktionsrückgabewert ist Null bei erfolgreicher Zuweisung oder ungleich Null im Fehlerfall.
Funktion cap_gettagdata.
int scm_storecon( // Status );
Die Funktion scm_storecon erzeugt aus der internen Punktliste eine Verbindung auf dem aktuell geladenen Stromlaufblatt. Der Rückgabewert ist gleich Null, wenn die Verbindung erfolgreich platziert wurde, (-1) wenn kein gültiges Element geladen ist, (-2) wenn der Verbindungspunktmarker nicht definiert ist, oder (-3) bei ungültigen Polygondaten (nicht-orthogonale Segmente bzw. Kreisbögen in der Punktliste).
Diese Funktion ändert die aktuelle Figurenliste und sollte daher mit Vorsicht in
forall
-Schleifen zur Iteration von
C_FIGURE-Indexvariablen verwendet werden, um undefinierte Ergebnisse beim Zugriff auf die Figurenliste bzw. Endlosschleifen zu vermeiden.
int scm_storelabel( // Status string; // Label Netzname int [0,2]; // Labeltyp: // 0 = Standard Label // 1 = Modulport // 2 = Bustap double; // X-Koordinate (STD2) double; // Y-Koordinate (STD2) double; // Drehwinkel (STD3) int [0,1]; // Spiegelungsmodus (STD14) );
Die Funktion scm_storelabel platziert einen Label mit den angegebenen Parametern auf dem aktuell geladenen Stromlaufblatt. Das erste Zeichen des Label-Netznamens darf kein Fragezeichen sein, da dieses zur Kennzeichnung von Modulports verwendet wird. Der Drehwinkel wird beim Platzieren von Bustaps ignoriert; außerdem müssen Bustaps immer an Bus-Verbindungssegmente angeschlossen, d.h. exakt auf solchen platziert werden. Der Name des Label-Bibliothekssymbols ergibt sich bei Standardlabels aus dem Netznamen bzw. zustandard
, wenn kein entsprechendes Labelsymbol definiert ist; beim Platzieren von Modulports bzw. Bustaps werden per Default die Labelsymboleport
bzw.bustap
verwendet. Der Rückgabewert ist gleich Null, wenn der Label erfolgreich platziert wurde, (-1) wenn kein gültiges Element geladen ist, (-2) bei fehlenden/ungültigen Parametern, (-3) wenn der Label nicht ladbar ist, (-4) wenn die Labeldaten nicht in die Jobdatenbank kopiert werden konnten, oder (-5) wenn die Platzierungsdaten eines Bustaps nicht auf einem gültigen Verbindungssegment liegen.
Diese Funktion ändert die aktuelle Figurenliste und sollte daher mit Vorsicht in
forall
-Schleifen zur Iteration von
C_FIGURE-Indexvariablen verwendet werden, um undefinierte Ergebnisse beim Zugriff auf die Figurenliste bzw. Endlosschleifen zu vermeiden.
int scm_storepart( // Status & string; // Bauteilname string; // Bauteil Bibiotheksteilname double; // X-Koordinate (STD2) double; // Y-Koordinate (STD2) double; // Drehwinkel (STD3) int [0,7]; // Spiegelungsmodus und Tagpintyp // (STD14|(CAP6<<1)) );
Die Funktion scm_storepart platziert ein Bauteil mit den angegebenen Parametern auf dem gegenwärtig geladenen SCM-Element. Wird eine Leerzeichenkette für den Bauteilnamen übergeben, so wird der Bauteilname automatisch erzeugt und im entsprechenden Parameter an den Aufrufer zurückgegeben. Der Rückgabewert ist gleich Null, wenn das Bauteil erfolgreich platziert wurde, (-1) wenn kein gültiges Element geladen ist, (-2) bei fehlenden/ungültigen Parametern, (-3) wenn das Bauteil nicht ladbar ist, (-4) wenn die Bauteildaten nicht in die Jobdatenbank kopiert werden konnten, (-5) wenn das Bauteil bereits platziert ist, oder (-6) wenn bei der automatischen Bauteilnamenserzeugung ein Fehler aufgetreten ist.
Diese Funktion ändert die aktuelle Figurenliste und sollte daher mit Vorsicht in
forall
-Schleifen zur Iteration von
C_FIGURE-Indexvariablen verwendet werden, um undefinierte Ergebnisse beim Zugriff auf die Figurenliste bzw. Endlosschleifen zu vermeiden.
int scm_storepoly( // Status int [0,5]; // Polygontyp (CAP2) );
Die Funktion scm_storepoly generiert aus der mit bae_storepoint erzeugten internen Punktliste unter Verwendung der angegebenen Parameter ein Polygon auf dem gegenwärtig geladenen SCM-Element. Der Rückgabewert ist gleich Null, wenn das Polygon erfolgreich platziert wurde, (-1) wenn kein gültiges Element geladen ist, (-2) bei ungültigen Parametern, oder (-3) wenn die Punktliste für den gegebenen Polygontyp ungültig ist.
Diese Funktion ändert die aktuelle Figurenliste und sollte daher mit Vorsicht in
forall
-Schleifen zur Iteration von
C_FIGURE-Indexvariablen verwendet werden, um undefinierte Ergebnisse beim Zugriff auf die Figurenliste bzw. Endlosschleifen zu vermeiden.
int scm_storetext( // Status
string; // Textzeichenkette
double; // Text-X-Koordinate (STD2)
double; // Text-Y-Koordinate (STD2)
double; // Textdrehwinkel (STD3)
double ]0.0,[; // Textgröße (STD2)
int [0,1]; // Textspiegelungsmodus (STD14)
int [0,[; // Textmodus/-stil (CAP1|CAP7)
);
Die Funktion scm_storetext platziert einen Text mit den angegebenen Parametern auf dem gegenwärtig geladenen SCM-Element. Der Rückgabewert ist ungleich Null, wenn ungültige Daten übergeben wurden.
Diese Funktion ändert die aktuelle Figurenliste und sollte daher mit Vorsicht in
forall
-Schleifen zur Iteration von
C_FIGURE-Indexvariablen verwendet werden, um undefinierte Ergebnisse beim Zugriff auf die Figurenliste bzw. Endlosschleifen zu vermeiden. Es können maximal 40 Zeichen der übergebenen Textzeichenkette gespeichert werden. Bei Übergabe längerer Zeichenketten gibt die Funktionen den Fehlerstatus zur Kennzeichnung ungültiger Parameter zurück.
Funktion scm_attachtextpos.
Bartels :: Bartels AutoEngineer :: BAE Dokumentation :: User Language Programmierhandbuch :: Systemfunktionen :: SCM-Systemfunktionen |
SCM-Systemfunktionen
© 1985-2025 Oliver Bartels F+E