| jobCmd
date string ?time? |
|
Abfrage oder Modifikation von jobbezogenen
Datumsangaben. Der
Parameter string bestimmt die jeweilige Art des
Datums:
esd -
|
Frühester Bereitstellungstermin
(earliest supply date). Beim Erreichen dieses
Zeitpunkts wird ein
Bereitstellungsereignis erzeugt und der enter-Termin
des Jobs
gesetzt. Sollte die Bereitstellung des Jobs nicht
möglich sein,
erfolgt sie zum nächstmöglichen Termin.
Voreinstellung ist 0.
|
Die folgenden Werte
dienen
lediglich zur Kontrolle der Termineinhaltung und
wirken sich nur
mittelbar auf den Ablauf der Simulation aus.
|
|
edd -
|
Frühester Fertigstellungstermin (earliest due
date). Voreinstellung ist 0. |
|
ldd -
|
Spätester Fertigstellungstermin (latest due
date).
Voreinstellung ist Inf. |
| Die folgenden Werte sollten nicht
manuell
verändert werden: |
|
enter -
|
Systemeintrittszeitpunkt - Zeitpunkt der
Bereitstellung
des Jobs. Voreinstellung ist 0. |
|
fbusy -
|
Bearbeitungsbeginn - Zeitpunkt, zu dem der Job
erstmalig in den
Zustand busy
wechselte.
Voreinstellung ist Inf. |
|
lbusy -
|
Bearbeitungsende - Zeitpunkt, zu dem der Job
letztmalig
in den Zustand ready
wechselte.
Dieser Wert wird immer dann, wenn der Job in den
Zustand busy
wechselt, auf Inf gesetzt. Voreinstellung
ist inf. |
|
leave -
|
Systemaustritt - Zeitpunkt, zu dem der Job in
seinem
letzten Arbeitsgang in den Zustand ready
wechselte. Voreinstellung ist Inf. |
| Es gilt immer: enter <= fbusy
<= lbusy <= leave. Es ist
nicht möglich,
einem dieser Parameter einen Wert zuzuweisen, der
kleiner als der Wert
seines linken Nachbarn ist. Wird einem dieser
Parameter ein Wert
zugewiesen,
der größer als der Wert des rechten Nachbarn ist,
werden die
Werte aller rechten Nachbarn auf Inf
gesetzt. |
|
| |
| jobCmd
state option |
|
Abfrage eines singulären Jobzustandes. Der
Rückgabewert entspricht der Anzahl der Stationen, in denen
der
Einzelzustand wahr ist, wenn es sich um einen
Bearbeitungszustand
handelt. Der Parameter option bestimmt die
jeweilige
Zustandsvariable:
|
ready -
|
Anzahl der Stationen, in denen die Bearbeitung
des Jobs
abgeschlossen ist. |
|
setup -
|
Anzahl der Stationen, in denen der Jobs gerüstet
(bearbeitet) wird. |
|
busy -
|
Anzahl der Stationen, in denen der Jobs
bearbeitet
wird. (Eine Unterscheidung von setup und busy
erfolgt
nur aus statistischen Gründen.) |
|
down -
|
Anzahl der Stationen, die für den Job
ausgefallen
oder ausgeschaltet
sind. |
|
enter -
|
Der Job ist bereitgestellt bei 1. Nicht
bereitgestellte Jobs belegen keinen Platz.
Voreinstellung ist 1. |
|
leave -
|
Der Job ist endgültig fertiggestellt bei 1.
Es folgt kein weiterer Arbeitsgang mehr. Im
Unterschied zu nicht
bereitgestellten Jobs wird Platz in der Station
belegt. Voreinstellung
ist 0. |
|
station -
|
Anzahl der Stationen, in der sich der Job
befindet.
Voreinstellung ist 0. |
|
sample -
|
Anzahl der Quellen, in der sich der Job als
Musterjob
befindet. Voreinstellung ist 0. |
|
| |
| jobCmd
state |
|
Gibt den aus state enter,
state leave, der
Bearbeitung
in den einzelnen Stationen und der Verfügbarkeit der
einzelnen
Stationen, in denen der Job platziert ist, abgeleiteten
Zustand des
Jobs zurück (siehe auch stationCmd job
index state).
Die Einzelzustände unterliegen einer Priorität, die bei
der
Zusammenfassung angewandt wird: busy, setup,
ready, off, down.
|
{} -
|
Der Job befindet sich außerhalb der
Systemgrenzen
(nicht bereitgestellt, letzter Arbeitsgang
abgeschlossen, keine
Station). |
|
busy -
|
Der Job wird wenigstens in einem Arbeitsgang
bearbeitet
(aktiv). |
|
setup -
|
Der Job wird wenigstens in einem Arbeitsgang
gerüstet (aktiv), jedoch nicht bearbeitet (busy). |
|
ready -
|
Der Job ist wenigstens in einem Arbeitsgang
fertig
bearbeitet (passiv), jedoch weder bearbeitet (busy)
noch
gerüstet (setup). |
|
down -
|
Wenigstens eine Station eines Hauptarbeitsgangs
des
Jobs ist ausgefallen oder ausgeschaltet, der Job
wird jedoch weder in
einem
anderen Hauptarbeitsgang bearbeitet (busy)
noch gerüstet (setup)
noch ist die Bearbeitung fertig (ready). |
|
| |
| jobCmd
spec ?string? |
|
Abfrage oder Setzen des aktuellen Spezifikators eines
Jobs.
Voreinstellung ist 0. Beim Platzieren eines Jobs in einem
Arbeitsgang werden die Technologieparameter wirksam, deren
Technologiespezifikator zum Spezifikator des Jobs passen.
Ist der
entsprechende Spezifikator in der Technologie nicht
vorhanden, wird der
Standard-Spezifikator der Technologie angewendet (immer
der erste
Spezifikator, specindex
= 1). |
|
| jobCmd
size ?double? |
|
Abfrage oder Modifikation der Größe des
Jobs. Die resultierende Größe ist die Verknüpfung der
Job- und der jeweiligen Arbeitsganggröße. Ist die
Arbeitsgangsgröße job eingestellt, gilt die
Größe des Jobs, sonst
die des Arbeitsgangs. Im Gegensatz zum quantity-Parameter
hat der size-Parameter keine Auswirkungen auf die
Bearbeitungszeit. Voreinstellung ist 1. |
| |
| jobCmd
quantity ?double? |
|
Abfrage oder Modifikation der Menge. Die resultierende
Menge
ist die Verknüpfung der Job- und der jeweiligen
Arbeitsgangmenge.
Ist die Arbeitsgangsmenge job eingestellt, gilt
die Menge des
Jobs, sonst die des Arbeitsgangs. Die resultierende
Bearbeitungszeit
des Jobs ist
das Produkt aus resultierender Menge und der im
Arbeitsgang angegebenen
Bearbeitungszeit,
wenn der Arbeitsgang als mengenabhängig deklariert ist. Im
Gegensatz
zum size-Parameter hat
der quantity-Parameter
keine Auswirkungen auf den Raumbedarf. Voreinstellung ist
1. |
| |
| jobCmd
priority ?integer? |
|
Abfrage oder Modifikation der Jobpriorität pJob.
Die resultierende Priorität ist die Verknüpfung der Job-
und
der jeweiligen Arbeitsgangpriorität. Ist die
Arbeitsgangspriorität job eingestellt, gilt die
Priorität des Jobs, sonst die des Arbeitsgangs.
Voreinstellung ist
0. |
| |
| jobCmd
enable ?boolean? |
|
Abfrage oder Modifikation der Aktivität. Inaktive (0)
Jobs werden vom Scheduler nicht berücksichtigt. Befindet
sich ein
inaktiver Job in einer Station (z.B. Maschine oder
Warteschlange), so
wird
er nicht bewegt, belastet aber weiter deren Kapazität. Der
resultierende
Wert für die Aktivität wird aus der UND-Verknüpfung der
Jobaktivität und der jeweiligen Arbeitsgangaktivität
gebildet.
Voreinstellung ist 1. |
| |
jobCmd children
?length?
|
|
Abfrage der Kinderjobs bzw.
deren Anzahl, die aus einem Split des Auftrags
hervorgegangen sind.
Wurde jobCmd
nicht
gesplittet, dann ist der Rückgabewert leer.
|
|
jobCmd
parent ?alive?
|
|
Abfrage des Elternjobs, aus
dem
der Job bei einem Split des Auftrags hervorgegangen ist.
Ist jobCmd kein
Kindjob, dann ist der
Rückgabewert leer. Bei Angabe der Option alive kann abgefragt
werden, ob der
Kindjob jobCmd
noch aktiv ist
(Rückgabewert 1), oder durch ein Merge wieder in den
Elternjob
überführt wurde (Rückgabewert 0).
|
|
| jobCmd ctime
length |
|
Abfrage der Anzahl der in der Statistik geführten
Zeitintervalle des Jobs. Durch die weiteren
Formen des Befehls werden die Werte aus den
Intervallen abgefragt
und modifiziert. |
| |
| jobCmd
ctime clear |
|
Löschen der geführten Statistik des Jobs (alle
Werte,
die zu date und ctime gehören). |
| |
| jobCmd
ctime index date ?value? |
|
Abfrage oder Modifikation des Datums des Beginns des
erfassten Zeitintervalls. Dieses sollte nicht manuell
verändert
werden. Für index können Werte von 1 ... ctime length
angegeben werden.
Wann ein neues Intervall angelegt wird, wird durch den Taktgenerator festgelegt. |
|
| jobCmd ctime
index
id state |
|
Abfrage aller eingenommenen
Teilzustände im angegebenen Zeitintervall. Für index kann
auch all angegeben
werden,
um alle eingenommenen Teilzustände
abzufragen.
| state |
|
|
on -
|
Job befindet sich in einer verfügbaren Station
mit
den zugehörigen Teilzuständen |
|
down -
|
Job befindet sich in einer nicht verfügbaren
Station mit den zugehörigen Teilzuständen |
| Die Zustände on und down
sind zueinander disjunkt. |
|
| |
| jobCmd ctime
index stype state ?substate? ?integer?? |
|
Abfrage oder Modifikation der kumulierten Zeiten in dem
durch index bezeichneten Zeitintervall. Diese
Werte sollten
nicht manuell verändert werden. Für index können
Werte von 1 ... ctime
length
oder all (nur bei der Abfrage der Summe über alle
Intervalle) angegeben werden. Das Ergebnis ist die gesamte
Zeitdauer
innerhalb des Intervalls, während der sowohl die durch den
Parameter stype (in welchem Stationstyp) als auch
die durch den
Parameter state (welcher Zustand) definierten
Bedingungen
(UND-Verknüpfung) erfüllt sind.
| stype |
|
|
machine -
|
Job befindet sich in Maschinen |
|
queue -
|
Job befindet sich in Warteschlangen |
|
all -
|
Job befindet sich entweder in Maschinen oder
Warteschlangen (nur Abfrage)
= expr [jobX ctime index machine
state] +
[jobX ctime index queue state]
|
| state |
ohne Angabe von substate, die Gesamtdauer der
eingenommenen Teilzustände
|
on -
|
Job befindet sich in einer verfügbaren Station
mit
den zugehörigen Teilzuständen
|
|
down -
|
Job befindet sich
in einer
nicht verfügbaren Station mit den zugehörigen
Teilzustände |
|
all-
|
Summe von on und
down |
substate
|
Standardzustände:
ready, setup, busy, drüber hinaus alle selbst
definierten
Teilzuständ |
|
busy -
|
Bearbeitungsdauer
in dem durch stype angegebenen Stationstyp |
|
setup -
|
Rüstdauer
in dem durch stype angegebenen Stationstyp |
|
ready -
|
Lagerdauer
in dem durch stype angegebenen Stationstyp |
|
... -
|
selbst definierte Teilzustände |
| Die Zustände on und down
sowie
die untergeordneten Teilzustände busy, setup,
ready, ... sind zueinander
disjunkt. |
|
| |
| OBJEKTVERKNÜPFUNGEN |
| |
| Jobs können mit Stationen (Maschinen und
Warteschlangen) als Platzierung (zur Bearbeitung oder
Lagerung) oder
als Musterjob verknüpft werden. Die Verknüpfung erfolgt
über die Job-Befehle place (Platzierung) und sample
(Musterjob). Zu Beginn sind alle Vernüpfungen leer ({}). |
| |
| jobCmd station
length |
|
Länge der Stationsliste des Jobs (identisch zu jobCmd state station) |
| |
jobCmd
check|place|enter
?options?
|
|
Test (check) oder Platzierung (enter|place) des Jobs.
Ist der
Arbeitsgang der Platzierung eine Verzweigung oder
Technologie, so
erfolgt die
Verteilung auf die
entsprechenden Zweige automatisch bei enter;
bei place
wird der Job unabhängig vom Parallelitätsgrad und Typ
stets
im ersten Zweig der Verzweigung bzw. im ersten Arbeitsgang
der
Technologie platziert. Der reguläre Transfer eines Jobs in
einen
Arbeitsgang ist nur unter bestimmten Bedingungen möglich
(check).
Das Kommando enter
kann nur ausgeführt werden, wenn der reguläre Transfer
erlaubt (able) ist. Dann werden auch alle
Arbeitsgangparameter so
eingestellt, wie es im Arbeitsgang angegeben ist, so als
hätte der
Scheduler den Transfer ausgeführt. Der Job wird in der
Station so
eingeordnet, wie es seine Arbeitsgangparameter in
Kombination mit der
Einlagerungsstrategie der Station erfordern. Das
Platzieren kann auch
unter Umgehung bestimmter Bedingungen (z.B. Station aus,
Job inaktiv,
...) ausgeführt werden. Dazu muss der Befehl place
verwendet werden. Die Arbeitsgangparameter werden dabei
nicht
übernommen und müssen manuell eingestellt werden. Der Job
wird immer am Ende der aktuellen Jobliste in der Station
eingeordnet.
Bei check wird
getestet, ob
der Job so wie im Arbeitsgang angegeben platziert werden
könnte.
Wenn ja, wird able
zurückgegeben.
Anderenfalls wird der Hinderungsgrund zurückgegeben (z.B.
space - die
aufnehmende Station hat
nicht genügend Platz zur Verfügung).
options:
|
| -index integer |
|
Jede Verknüpfung eines Jobs mit
einer
Station wird in der Stationsliste des Jobs
erfasst. Die Reihenfolge
der Verknüpfungen innerhalb der Liste ist dabei
von
ablaufrelevanter Bedeutung (zuerst betretene
Stationen stehen am Anfang
der Liste) und kann durch Angabe von -index
gesteuert werden.
Die erzeugte Verknüpfung von Job und Station reiht
sich in der
Stationsliste des Jobs an die index-te
Position.
|
-station
{stationCmd1 stationCmd2 ...}
|
|
Der Job wird
standardmäßig in den Stationen platziert, die
durch den Stack referenziert ist.
Abweichend davon kann der Job auch in anderen
Stationen durch
Verwendung der Option -station platziert
werden und sich dennoch
im angegebenen Stack befinden. Wird auf diese
Weise ein Job auf mehreren Stionen platziert, so
werden diese vom Scheduler als Parallelbelegungen
erkannt.
|
-stack stackCmd
|
|
Die Platzierung
erfolgt
im angegebenen Stack
stackCmd. |
|
| |
| jobCmd
unplace |
|
Entfernt den Job aus ALLEN Stationen. |
| |
| jobCmd
station ?index1? ?index2? |
|
Gibt einen Teil der in der Stationsliste des Jobs
enthaltenen
Stationen als geordnete Liste zurück. Die Verknüpfung
selbst
wird über jobCmd place
hergestellt. Beginn und Ende der auszugebenden Liste
werden durch die
Parameter index1 und index2 bestimmt. Wird
index2
nicht angegeben, wird nur die index1te Station
ausgegeben.
Fehlen beide Indizes, wird die
gesamte Liste ausgegeben. Eine Fehlermeldung wird erzeugt
bei
ungültiger Angabe der Indizes. |
| |
| jobCmd station
index option ?suboption? ?value? |
|
Abfrage oder Setzen von Eigenschaften der Verknüpfung
des Jobs mit der index-ten Station. Die
Eigenschaften
können aus Sicht des Jobs über die Stationsliste
angesprochen
werden, ebenso aus Sicht der Station über die Jobliste
(siehe stationCmd
job). Die dort
angegebenen Optionen option sind ebenso gültig.
Die aufgelistete Option index
liefert hier jedoch den Index der Verknüpfung von Job und
Station
in der Jobliste der Station. |
| |
| jobCmd sample
length |
|
Länge der Quellenliste des Musterjobs (Anzahl der
Quellen, in denen der Job als Musterjob dient, identisch
zu jobCmd state sample). |
| |
| jobCmd
sample ?index1?
?index2? |
|
Gibt einen Teil der Quellen, in denen der Job als
Musterjob
dient, als geordnete Liste zurück. Die Verknüpfung selbst
wird über jobCmd
sample
append jobCmd bzw. jobCmd
sample insert index jobCmd hergestellt.
Beginn und Ende der auszugebenden Liste werden durch die
Parameter index1
und index2 bestimmt. Wird index2 nicht
angegeben, wird
nur die index1-te Station ausgegeben. Fehlen beide
Indices,
werden alle Stationen ausgegeben. Eine Fehlermeldung wird
erzeugt bei
ungültiger Angabe der Indices. (zulässiger Wertebereich
für index1 und index2: 1 ... length) |
| |
| jobCmd sample
index option ?value? |
|
Abfrage oder Setzen von Eigenschaften der Verknüpfung
der index-ten (= 1, 2, ...,length)
Quelle eines Musterjobs (Der Job kann in mehreren Quellen
als Musterjob
dienen). Die
Verknüpfungseigenschaften können auch aus Sicht der Quell
über deren
Musterjobliste angesprochen werden (siehe srcCmd sample index
option).
Unter Angabe von option und value können die folgenden
Parameter
abgefragt oder gesetzt werden:
|
src -
|
Abfrage der Quelle. Unter Angabe
von
value kann eine andere Quelle referenziert werden.
|
|
distrib -
|
Abfrage des mit dem Musterjob
referenzierten Stochastik-Objektes. Unter Angabe
von value kann ein
anderes Stochastik-Objekt vom Musterjob benutzt
werden. |
|
tech -
|
Abfrage des mit dem Musterjob
referenzierten Technologie-Objektes. Unter Angabe
von value kann ein
anderes Technologie-Objekt vom Musterjob benutzt
werden. |
|
pass -
|
Abfrage des mit dem Musterjob
referenzierten Arbeitsganges. Unter Angabe von
value kann ein anderer
Arbeitsgang vom Musterjob benutzt werden. |
|
stack -
|
Abfrage des mit dem Musterjob
referenzierten Stacks. Unter Angabe von value kann
ein anderer Stack
vom Musterjob benutzt werden. |
|
create -
|
Abfrage der Anzahl der zu
erzeugenden
Jobs dieses Musters. Unter Angabe von value kann
der Wert gesetzt
werden (Voreinstellung ist Inf). |
|
rest -
|
Abfrage der Sekunden bis zur
nächste
Erzeugung eines Jobs dieses Musters. Unter Angabe
von value kann diese
Zeit gesetzt werden (Voreinstellung ist 0). |
|
count -
|
Der nächste zu erzeugende Job
dieses
Musters erhält als Name den Integer-Wert count.
Bei jeder
Erzeugung wird count um
1 inkrementiert. Unter Angabe von value kann der
Wert für count
gesetzt werden. |
|
remove -
|
Löscht die betreffende Quelle aus
der Liste der Quellen. Die Angabe eines Wertes
value ist für
diesen Fall nicht vorgesehen. |
|
| |
| ZUSÄTZLICHE TYPBEFEHLE |
| |
| Für den Typbefehl job können
zusätzlich nachfolgend aufgeführte Optionen genutzt
werden: |
| |
| job
place
?integer? |
|
Gibt eine Liste aller Jobs zurück, die in genau integer
Stationen platziert sind. Entfällt der Parameter integer
(oder ist er negativ), werden alle Jobs gelistet, die in
wenigstens
einer Station platziert sind. |