Jump to content

Meine externe steuerung


gmd

Empfohlene Beiträge

Danke fuer die klaerung,

haette ich ja eigentlich erkennen sollen. Sieht den wald vor baeumen nicht, aber dafuer gibt es ja das forum :) .

ok, das gleiche gilt dann fuer die 6072... zwei teile.

Dann ist es wirklich das einfachste ich merke mir das vorher bevor ich alle komponenten selbst zusammenbaue.

Gruss
Gmd


 

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo,

vor 16 Stunden schrieb gmd:

Es besteht wohl keine hoffnung dass das gefixt wird

... zumindest für eine Weiche die in einem Winkel von 0° verlegt wird, habe ich schon mal eine Lösung...


303;6078;0;1 liefert als Antwort folgende Einträge (Ohne den ersten Eintag "0" oder "1" als Rückgabewert ob es sich um ein gültiges Kommando gehandelt hat) .
Der 8. Eintrag ist die x-Position des ersten Segmentes (xa) der n-2. Eintrag ist die x-Position des letzten Segmentes (xe)

1    20.66726
2    0
3    0
4    0
5    0
6    0
7    0
8    0.2696151 -> xa
9    -10.25591
10    0
11    0.2696151
12    -8.830914
13    0
.....
68    -1.979463
69    9.212264
70    0
71    -2.234837 -> xe
72    10.19228
73    0

Wenn xa>xe dann ist es eine Linksweiche; wenn nicht ist es eine Rechtsweiche

in lua sieht die Auswertung so aus...

  for i,v in ipairs(ComAnswer) do
    print(i,v)
  end
  local xa=ComAnswer[8]
  local xe=ComAnswer[#ComAnswer-2]
  if xa>xe then
    print(xa,xe,"Linksweiche")
  else
    print(xa,xe,"Rechtsweiche")
  end

Gruß
EASY

Link zu diesem Kommentar
Auf anderen Seiten teilen

toll, das reicht, wenn ich zum ersten mal einen typ erkenne kann ich das teil ohne probleme auf null legen, die daten holen und zuruecklegen. Ich frage inzwischen nur einmal den typ ab und dann ist das bekannt. Voellig ok, vielen vielen dank. 

Ist spaet geworden, mal wieder. Trotzdem noch ein filmchen. 

https://teutanic.com/trace_block_mit_kompass.mp4

Blockerkennung mit kompass. Habe himmelsrichtungen auf der anlage festgelegt und richte fahrtrichtungen danach aus. So kann ich richtung und gegenrichtung bestimmen. Habe beidseitige blockerkennung (vorwaerts und rueckwaerts) fertig. Neue kaertchen (boxen in der mitte) werden fuer jeden vollstaendigen block angelegt und die gefundenen gleise werden in der originalliste markiert. 

Naechster schritt sind die weichenstrassen mit schaltung der weichen.

Sind aber noch einige sonderfaelle zu loesen. Jedenfalls komme ich ganz gut voran und die neue oberflaeche faengt an sich zu bewaehren. Viele funktionen sind jetzt immer schneller zu implementieren mit mehr und mehr grundlagen.

Nebenbei schaue ich mir scripte an (Lua), die ich moeglicherweise abwandeln und verallgemeinern kann. Zumindest sind einige ideen gut, auch wenn die scripte dazu meist speziell sind. Aber das ist ja zu erwarten und ok fuer die meisten faelle. Anyway.. ich gehe schlafen, morgen ist auch noch ein tag, und das wetter ist gut. 

Danke nochmals fuer deine bemuehungen. 

Gruss
Gmd

 

 

 

Bearbeitet von gmd
Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo, 

es ist vielleicht an der zeit nochmals die Blockdemo zu posten, die ich vor urzeiten mal gezeigt hatte. Wir haben ja viele neuzugaenge im forum fuer die das interessant sein kann. Das steuerscript ist gut dokumentiert und ist ein beispiel wie eine generische steuerung funktionieren kann.. Die beschreibungstabellen werden dann von meinem programm generiert. 

Eine eigenschaft von solch generischen scripten ist, dass zum beispiel alle laufzeitvariablen dynamisch erzeugt werden und nicht vorher manuell definiert sind. In einem film weiter oben habe ich den blockmonitor gezeigt der diese variablen fuer jeden block ueber die schnittstelle anzeigt. 

Einige teile wuerde/werde ich heute anders loesen; aber das prinzip bleibt: Steuerung auschliesslich ueber tabellen die automatisch erzeugt werden. 

Die anlage is als entwurf geladen id: F3B894BE-083C-4BA5-AF2D-47D96E71973F und   mit der ereignisprokollierung kann man sehr schoen die schaltvorgaenge nachvollziehen. 

Die anlage stammt aus zeiten als es noch keine beschleunigungs oder verzoegerungskontakte gab und signale noch nicht automatisch einen kontakt hatten. Aber das spielt fuer meinen ansatz sowiso keine rolle; ist halt nur eine erleichterung fuer manuell erstellte steuerungen. 

Die oberleitung ist unvollstaendig. Sie resultiert von einem versuch diese automatisch zu verlegen, mit allen komponenten. Die quertragewerke hatte ich noch nicht angefangen. 

gruss 
Gmd

 

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo,

Heute mal wieder ein bildchen. Ich habe meine blockerkennung nochmals ueberarbeitet und stelle die erkannten gleise/weichen graphisch dar. Das automatisch layout muss noch besser werden wie man sieht. 

Der sinn der sache ist, jeder knoten und jede verbindung im diagramm ist ein objekt im programm und die objekte kommunizieren mit den nachbarn und so suchen sie selbst unterabschnitte, die dann zu groesseren teilen wie, bloecke oder weichengruppen zusammengefuegt werden. 

Gleichzeitig wird aus der reihenfolge das gleisbild fuer das stellpult abgeleitet und die verbindung zum gleis hergestellt.

Das ist das ergebnis einer lokfahrt. Nun koennte ich das ganze ja auch ueber koordinaten ausrechnen statt die lok laufen zu lassen, aber wo bleibt da der spass :) . Das ist die erste stufe. Musste erst mal die diagrammfunktionen anpassen und erweitern. Der naechste schritt ist die auswertung und block erkennung. Wenn ich das geschafft habe ist das problem der blockerkennung erstmal geloest. Dann kommt die kontakt und signalplazierung.

Gruss
gmd

gleisNetz.thumb.jpg.0d2e6aa94bf49af09992c040536614a4.jpg

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo an alle interessierten, 

heute mal wieder ein bildchen, bzw. zwei. 

Die diagrammdarstellung der erkannten gleise ist erweitert und etwas besser visualisiert, mit spurnummern und richtung zwischen den knoten. Die weichensymbole sind automatisch richtig ausgerichtet nach ein- und ausfahrt.
Fuer die abwicklung von vielen und auch wenigen weichen habe ich mir eine interne struktur definiert, die ich abarbeite um alle schaltzustaende zu finden. Das ist ein simpler baum der nach dem FILO (First In Last Out) abgearbeitet wird. Diesen baum habe ich visualisiert mit einem eigenen diagramm. Dies sind testfunktionen, die einfach dazu dienen die internen strukturen besser zu ueberpruefen. Der weichenbaum kann dann auch fuer das ableiten von schaltsequenzen dienen. Im weiteren verlauf werden an den blaettern und knoten moegliche ziele verbunden (Bahnhoefe, Haltepunkte, Kuppelstellen, usw. ) und dann kann die Fahrstrecke mit allen schaltvorgaengen leicht abgeleitet werden. Ich will hier nicht von fahrstrassen reden, da meine definition von fahrstrecke (route) nicht das gleiche ist wie die MBS fahrstrasse.
Bin noch nicht fertig mit allen variationen und brauche auch noch ein paar grundfunktionen in den diagrammen, aber es geht voran. 

Bildchen sind unten angeheftet. 
Das netzdiagramm ist dann die grundlage fuer die ableitung der gbs strecken inclusive der weichenverbindungen. Diese teile muessen dann nur noch zusammengesteckt werden. Die gleiszuordnung mit signalen und kontakten  ist automatisch.

Gruss
Gmd

 

netzdiagram.jpg

weichenBaum.jpg

Link zu diesem Kommentar
Auf anderen Seiten teilen

  • 2 Wochen später...

Hallo,

heute mal wieder ein filmchen. Nach zu langer zeit bin ich endlich mit meinem trace algorithmus und automatischem layout fertig. Brauchte ein paar anlaeufe saemtliche moeglichen faelle zu testen und ein coding zu finden dass ich auch in ein paar wochen noch verstehe. Die farben und das log zeigen mir die internen zustaende des programms, und am ende ist alles erfasst, und damit gruen. Ich habe damit eine vollstaendige, logische strukture der gleisanlage in einer horizontal orientierten form. 

Hier erst mal der link:
https://teutanic.com/TrackTrace.mp4

Dies ist erst mal ein wesentlicher schritt und die basis alles weiteren, was den betrieb einer anlage betrifft. Dafuer kommen jetzt folgende schritte: 

1) Sollten bereits signale und kontakte plaziert sein werden sie erkannt und dargestellt.
2) Strecken werden als bloecke gesichert mit automatischer plazierung von signalen und kontakten. (Blocklaenge als parameter)

Wie man sieht habe ich ein kleines stueck (als demo) gewaehlt, um eine segmentstruktur zu implementieren und zu testen.  Bevor ich also mit der blockeinteilung beginne, werde ich die verwaltung von gebieten (Areas), abschnitten (Segments) und ebenen machen. Auch die zuordnung von anderen objekten ausser gleisen und zuegen sind damit machbar. Das ist vergleichsweise einfach zu implementieren, hauptsaechlich datenbank zugriffe und wenig logik.

Ich brauche die segmente zuerst, da die erkannten bloecke diesen zugeordnet werden. Mir ist noch nicht vollstaendig klar ob ein block an segmentgrenzen endet oder nicht. Da muss ich nochmals nachdenken. Fuer kleinere anlagen ist eine unterteilung in gebiete und abschnitte vielleicht zuviel. Man braucht vielleicht nur eine unterteilung. Eine versionierung von gebieten und segmenten habe ich auch vor. Das ist aber weitere zukunft. Ich verwende abschnitt und segment als synonym.

Also nochmals top down. Gebiete sind eine zusammenfassung von segmenten zu einer logischen einheit. Bloecke gehoeren zu segmenten. Jedem segment kann eine beliebige anzahl von ebenen zugeordent werden, die als baum organisiert werden koennen. Damit kann jedem segmnent mehr als ein ebenenbaum zugeordent werden. Darin koennen alle elemente auf der anlage verwaltet werden. Zum beispiel: Ueberdeckung eines schattenbahnhofs kann ausgeblendet werden, oder ein gebirge mit allen darauf befindlichen objekten. Das kann bis hin zum ersetzen von kompletten anlagenteilen fuehren, sofern sie anschlusskompatibel sind. Also die epochenverwaltung zum beispiel, nach der ich gefragt wurde. 

Wenn ich diese verwaltungsfunktionen fertig habe, werde ich mich wieder der blocksteuerung widmen. Danach kommt die routendefinition und das LUA script fuer die automatisierung des ganzen. Ist also noch ein weg. Nach meiner schaetzung bin ich bei 30% von dem was ich erreichen will. 

Zum schluss nochmal eine vision: Man stelle sich mehrere grosse bildschirme vor (sagen wir mal 50" 4K monitore - minimum 2), jeder dieser bildschirme wird von einem eigenen rechner bedient auf dem das MBS laeuft. Jede MBS instanz hat eine eigene anlage, die an die angrenzende(n) anlagen angepasst ist. Zuege koennen von einer anlage auf die andere fahren (das wird ueber depots und externe steuerung gemacht). Die koordination wird vom verwaltungsprogramm uebernommen. Damit kann ich die performance von grossen anlagen verteilen und bekomme kein bottleneck. Jemand wird jetzt sagen, kaufe einen schnelleren rechner. Den gibt es aber nicht, denn die rechner sind bereits ausgereitzt, jedenfalls gehe ich davon aus. Man kann immer eine installation and die grenzen bringen. Man stelle sich also eine riesige auststellungsanlage vor, die auf mehreren rechnern, statt auf 100qm platte aufgebaut ist. Und das interessante ist, dass das mit heutigen mitteln (inclusive der V8) machbar ist. Eine variante ist natuerlich dass die bildschirme und rechner weit auseinander stehen und damit eine multiplayer loesung moeglich wird. Damit aber genug der visionen. Werde warscheinlich sowiso als spinner bezeichnet, aber das bin ich gewoehnt. Am ende habe ich noch alle kritiker zum schweigen gebracht :) . 

Gruss
Gmd

 

  

Link zu diesem Kommentar
Auf anderen Seiten teilen

G'Day, wie man hier sagt,

heute zur abwechslung mal wieder nur ein bildchen.
Blockerkennung ist erweitert und kann jetzt signale und kontakte erkennen, die bereits positioniert sind. Ich kann auch zwischen brems- und beschleunigungskontakten unterscheiden, sowie die eingestellte geschwindigkeit von signalkontakten erkennen. Allerdings werden diese werte dann von der steuerung ueberschrieben, da dies fur mich keinen sinn macht. Geschwindigkeitsangaben gehoeren zum zug und nicht zu signalen oder auch kontakten. Das ist halt bequem fuer die MBS steuerung um weniger eingaben machen zu muessen, aber beschleunigungen und geschwindigkeiten gehoeren zu einem verbund, also lok plus wagen. Bestimmte geschwindigkeitsangaben gehoeren natuerlich auch zu bloecken oder fahrstrassen, dies sind aber maximal- oder minimalgeschwindigkeiten und nicht sollgeschwindigkeiten. Wenn sollgeschwindigkeiten definiert werden, dann sind diese sinnvollerweise immer einem verbund im kontext eines blocks oder abschnitts zugeordnet.

Beschleunigung und verzoegerung, sowie bergfahrt werden ja prinzipiell vom MBS unterstuetzt, was ja schon eine gute hilfe ist, will man das aber zugabhaengig machen ist das schon etwas mehr aufwand, allerdings mit objektvariablen ganz gut loesbar. Das ist ja auch der mechanismus den ich verwenden werde. Jeder verbund hat alle parameter gespeichert in objektvariablen, die dann zur laufzeit ausgewertet werden.  

BlockTrace_Signal.jpg.3b027acf9d3149008b38367835e0977c.jpg

Ich wuensche allseits frohes schaffen. Hier ist es kalt und regnerisch und der ausblick ist nicht allzu hell. 
Gruss
Gmd

 

Bearbeitet von gmd
Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 1 Minute schrieb gmd:

Geschwindigkeitsangaben gehoeren zum zug und nicht zu signalen oder auch kontakten.

Das gilt dann, wenn auf der Lok ein Lokführer sitzt, der Signalbilder in Geschwindigkeitsvorgaben "übersetzt".
Ohne Lokführer ist es erforderlich, dass das Signal direkt mit der Lok "spricht".

Und im MBS ist es die Lok, die (wie ein Lokführer) voraus schaut und erkennt, welche Geschwindigkeitsvorgabe gilt.

Signale und Kontakte machen übrigens nur Geschwindigkeitsvorgaben und haben keinen Einfluss auf die individuell eingestellten Beschleunigungs- und Verzögerungswerte. Im Gegenteil bremst jeder Zug individuell und in Abhängigkeit seiner individuellen Verzögerungskraft, wenn der voraus liegende Kontakt eine niedrigere Sollgeschwindigkeit fordert. Will heißen: Bei höherer Bremskraft bremst der Zug später.

Vielleicht war nur deine Beschreibung für mich missverständlich und du weißt das alles.
Aber eventuell ist das Verhalten doch etwas anders als du bislang dachtest?

Link zu diesem Kommentar
Auf anderen Seiten teilen

Das ist mir bekannt Goetz, ich dachte ich hatte es ja so ausgedrueckt. Mit beschleunigung, verzoegerung bergfahrt etc. 
Meine sicht auf die dinge ist so dass ein lokfuehrer in der lok sitzt. Die steuerung soll zumindest so arbeiten, denn irgendwann, kann man in der lok sitzen und kann/muss auf die umgebung reagieren. Das ist zumindest das ziel. Ich hatte von geschwindigkeitsvorgaben, nicht beschleunigung oder verzoegerung gesprochen. Wenn man ein formsignal aus dem katalog holt und auf SH1 stellt ist es mit einer sollgeschwindigkeit von 80 vorbelegt. Das ist willkuerlich und nicht fuer jeden verbund zutreffend. Darueber hatte ich oben gesprochen, dass diese werte einem verbund zugeordnet sind und in objektvariablen mitgetragen werden.  

Ich mache mal ein beispiel was das MBS theoretisch tun koennte, und das ist kein wunsch nach neuem feature. 

Neo hat beschleunigung und verzoegerung einer lok zugeordnet und das ist schon viel flexibler als es frueher war. Auch konnte die lok am berg andere geschwindigkeit haben, aber ich glaube diese feature gibt es nicht mehr. War mir auch nicht wichtig fuer meinen zweck. Korrigiere mich hier, wenn ich das falsch sehe. 

Also das beispiel: Eine lok hat ein "Arbeitsprofil" , also beschleunigung und verzoegerung, maximal - und einfahrgeschwindigkeit, bergfahrt und langsamfahrt. nur mal als beispiel, und diese werte seien der einfachheithalber nur einmal vorhanden. Dann kann man mit kontakten die jeweiligen werte aktivieren und das koennte auch automatisch geschehen, wenn man eine solche differenzierung des fahrverhaltens wirklich will. Ich weiss nicht wie die mehrheit denkt, fuer mich ist das aber ein ziel. Ich kann das heute alles machen, mit den vorhandenen mitteln (Lua, kontakte, variablen, schlagworte). Will man nun aber gelaedeabhaengig oder gleisplanabhaengig verschiedene profile laden ist das schon etwas mehr tiparbeit und wird schnell unuebersichtlich. Braucht man das ? Die mehrheit der MBS benutzer wahrscheinlich nicht, aber deswegen baue ich das mit einem externen programm, weil ich das auf verschiedenen anlagen einsetzen will und nicht auf einer anlage soviele scripte habe dass ich den ueberblick verloren habe, insbesondere wenn ich nach laengerer zeit mal wieder reinschaue. 

Viele der funktionen, die fuer mich relevant sind, sind sicherlich in keiner weise sinnvoll sie im MBS zu integrieren. Ausserdem ist das Neo's sache und nicht meine. Deswegen mache ich auch keine aenderungsvorschlaege. Ich bin mit der V8 ausgesprochen zufrieden und kann alles errecihen was ich will, nur eine frage der zeit. Eine V9 oder V10 wird vielleicht einiges erleichtern oder unnoetig machen, aber das ist ok und ist ja im allgemeinen interesse dass sich das MBS weiterentwickelt. In welche richtung ? Darueber denke ich nicht wirklich nach. 

Hmm.. jetzt habe ich schon wieder viel zuviel geschrieben. 

Wenn ich alle grundleistungen implementiert habe, gehe ich stueck fuer stueck an die integration mit dem MBS. Was ich an features verwende und was nicht ist noch nicht wirklich klar. Ich will auf jeden fall die kommunikation ueber die schnittstelle nicht ausufern lassen (performance), also werde ich versuchen so viele automatismen wie moeglich innerhalb des MBS zu verwenden . Das wird sich dann zeigen. 

Gruss
Gmd

 

 

 

 

 

Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 13 Minuten schrieb gmd:

Meine sicht auf die dinge ist so dass ein lokfuehrer in der lok sitzt. Die steuerung soll zumindest so arbeiten, denn irgendwann, kann man in der lok sitzen und kann/muss auf die umgebung reagieren. Das ist zumindest das ziel.

Alles klar.
Danke für die Erklärung

 

vor 13 Minuten schrieb gmd:

Hmm.. jetzt habe ich schon wieder viel zuviel geschrieben. 

Aber es hat mir geholfen, manches besser zu verstehen. Danke Gmd

Bearbeitet von Goetz
Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo,

heute mal etwas ganz anderes. Ich brauche auch immer etwas abwechslung. Nachdem Neo,Goetz und Hannoveraner, mir geholfen haben etwas sonderbares steuerproblem zu loesen, habe ich nun die erste stufe meiner geplanten animation fertig gestellt. Das script is noch nicht vollstaendig generisch (animationen sind noch speziell) und auch habe ich noch nicht alle komponenten eingebunden. Der verkehr durch die ampeln und portale kommt noch, koordiniert mit der baustelle und den ampeln. Die animationen sind noch nicht perfekt, zb. werde ich noch hinzufuegen dass der radlader etwas vorfaehrt waerend sich die ladung fuellt. Das werde ich tun, wenn ich meine allgemeine animationsroutine fertig habe. 

Vielleicht is das ein thema fuer Neo, ein animations script, womit komplexere folgen von animationen erstellt werde koennen und per kommando ausgefuehrt werden. Dann kann man leichter variationen der animationen einbringen. Ich werde das auch so versuchen, das MBS hat ja alle hilfsmittel dafuer.

Hier zunaechst mal die erste stufe. Das script ist gut dokumentiert,meine ich, und ich denke gut lesbar fuer die meisten. Das ziel ist es ein solches scenario duplizieren zu koennen und verschieden einzusetzen. Die spuren koennen als gruppe transportiert werden und wenn das script vollstaendig ist, braucht man nur die variablen zu setzen. Spuren koennen natuerlich beliebig veraendert werden, solange die grundkonfiguration erhalten bleibt. Animationen werden flexibel einbindbar sein, sodass unterschiedliche fahrzeuge und animationen leicht angepasst werden koennen. Dann mache ich nicht immer die gleichen fehler :) .. 

Ok, hier ist die id: 18CAA89C-FF0C-42AF-9AD7-E6DC73D82AE5 

Es ist nicht zwingend in zukunft auch die ampeln zu verwenden, das wird parametrisiert, ob eine verkehrssicherung stattfinden soll oder nicht.

Ich baue mir solche kleinen teile und probiere alle moeglichen scenarien, fuer die ich dann meine steuerung einsetzen kann. 

Ein wesentlicher weiterer punkt ist die animation von personen zu standardisieren. 

Gruss
Gmd

 

Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 54 Minuten schrieb gmd:

Das script is noch nicht vollstaendig

und auch nicht fehlerfrei.
Wenn der Radlader den Sandhaufen erreicht hat, bricht das Skript mit einer Fehlermeldung ab:

RadladerSkriptfehler.jpg.664d89276622bb0f59cd5f4ba09bc0f8.jpg

 

Du legst alle Funktionen, Variablen etc. immer wieder neu an. Und verwendest den deferred call unverändert falsch.

vor 8 Stunden schrieb gmd:

das ist nicht das problem.

Zuvor noch nicht, weil ihm ein anderer Fehler (das - im String Pattern) zuvor kam. Aber jetzt wird es zum Problem.

Bearbeitet von Goetz
Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 2 Minuten schrieb gmd:

du hast die letzte version

frisch mit deiner ID geladen.

Aber es macht einen Unterschied, ob du das Protokollfenster geöffnet hast oder nicht.
Wenn es geöffnet ist, pausiert die Anlage bei der ersten Fehlermeldung. Ohne offenes Protokollfenster macht sie einfach weiter.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Habe sie nochmals hochgeladen, gleich id wie oben. 
Da ist eine stelle, wo das noch moeglich ist, sollte aber jetzt erledigt sein. Bin nicht sicher wirklich, welche version ich da geladen hatte. 

Gruss

Gmd

 

 

Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 1 Minute schrieb gmd:

Habe sie nochmals hochgeladen

Okay, ich schaue nach ... ich bekomme unverändert dasselbe, fehlerhafte Diorama unter der ID 18CAA89C-FF0C-42AF-9AD7-E6DC73D82AE5

Bearbeitet von Goetz
Link zu diesem Kommentar
Auf anderen Seiten teilen

Naja, wenn ich den deferred call falsch verwende dann wende dich an Neo. 

Dieses script is eine direkte uebersetzung aus der grafischen steuerung, da habe ich nichts geaendert.

Gruss
Gmd

 

Link zu diesem Kommentar
Auf anderen Seiten teilen

Fuer mich ist eine Zeitverzoegerung genau das was das wort sagt, und in der function funktioniert das, zumindest sieht das fuer mich so aus. Wenn es anders waere sollte der Begriff anders lauten. 

Die globalen funktionen liegen im globalen script. Die functions, die das lokale scenario betreffen, liegen im lokalen ereignismodul, bis ich sie alle mehr oder weniger verallgemeinert habe und meist nur noch globale funktionen uebrig sind. 

Lua wird das schon aushalten, zumindest bei diesen mini anlagen. 


Gruss
Gmd
 

Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 2 Minuten schrieb gmd:

Fuer mich ist eine Zeitverzoegerung genau das was das wort sagt, und in der function funktioniert das, zumindest sieht das fuer mich so aus. Wenn es anders waere sollte der Begriff anders lauten. 

Wenn du bitte mal meine Erklärung dazu aufmerksam lesen würdest, könntest du sicher verstehen, was ich dir mitteilen wollte.
Es geht um das, was nach Ablauf der Verzögerung passiert.

Unter deiner ID finde ich jetzt das Diorama mit funktionierendem Ablauf. (Eventuell wird die alte Anlage beim Überschreiben nicht sofort auf dem Server ausgetauscht?)
Aber trotzdem finde ich den Weg, den du beschreitest, ... unprofessionell. 
Du gibst dich als versierten Programmierer aus. Da muss dir doch klar sein, dass man Funktionen nur einmal deklariert und nicht immer wieder?
Ganz unabhängig von der verwendeten Sprache.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Goetz,

was du anscheinend nicht richtig zuordnest ist die tatsache, dass ich ueber die schnittstelle keine ereignismodule und andere steuerelemente generieren kann. Deshalb bin ich auf generische scripts und variablen angewiesen, mit denen ich parameter uebergebe. Es kann ja sein, dass sich das in zukunft aendert, aber derzeit verwende ich die steuerung halt nicht wie sie vielleicht von dir verstanden wird. Wenn meine scripts fertig sind, so wie ich hoffe es zu erreichen, dann brauche ich die steuerung nicht mehr anzufassen, und auch kein Lua. Durch logische kommandos, uebertragen durch textfelder, werden die generischen scripte alles tun was ich will, zumindest im betrieb. Vielleicht kommen ja auch moeglichkeiten fuer die erstellung dazu, irgendwann. 

Deshalb vergleiche meine scripte nicht mit der "typischen" steuerung einer anlage, das ist es sicher nicht. 

Gruss
Gmd

 

Link zu diesem Kommentar
Auf anderen Seiten teilen

11 minutes ago, Goetz said:


Ganz unabhängig von der verwendeten Sprache.

Da liegst du eben falsch, andere sprachen machen das automatisch, da die runtime ganz anders organisiert ist. Und ausserdem habe ich mich nie als professionellen programierer ausgegeben. Ich habe schon mal an anderer stelle gesagt, dass das alles nur hobby fuer mich ist. Programmieren war nie mein taeglich brot.

Gruss
Gmd

 

Bearbeitet von gmd
Link zu diesem Kommentar
Auf anderen Seiten teilen

Erstelle ein Benutzerkonto oder melde dich an, um zu kommentieren

Du musst ein Benutzerkonto besitzen, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen.

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde dich hier an.

Jetzt anmelden
×
×
  • Neu erstellen...