Kleines Macroproblem

Guten Tag,

ich hab nun ein kleines Problem mit den Macros.

 

Für meine Movinglights habe ich mit Macros erstellt, welche dann jeweils einen Resetbefehl auslösen.

Diese Macros habe ich in einen Cue eingefügt.

Cue999, ist eine LTX-Stimmung der den Macrocue 999.1 auslöst. Dieser hat das Macro 98 mit einer TVZ von 1 Sekunde als Inhalt.

Macrocue 999.2  mit einer TVZ 7 löst dann den eigentlichen Reset (Macro 99) aus. Anschliessend wird im Macrocue 999.3 (wieder Macro 98) ebenfalls mit einer TVZ 7 ausgelöst.

Im Macro 98 wird über die Palette B dem Gerät ein No Functionsbefehle gesendet.

Also der Inhalt des Macro sieht so aus:

2 PAL_B 6 PAL_B

Der muss für mindestens 5 Sekunden aktiv an die Lampe gesendet werden, ansonst werden Controlbefehle von der Lampe nicht ausgeführt.

Im Macro 99 kommt dann der eigentliche Resetbefehl. Macro 98 mit dementsprechenden Inhalt:
5 PAL_B 9 PAL_B

(da ich zwei unterscheidlichen Lampentypen den Reset schicken möchte einmal die 2 und 5 aus Palette B und für die andere Lampe 6 und 9 aus der Palette B.)

 

Gestartet werden soll das ebenfalls über ein Macro.

Dazu habe ich folgendes Macro erstellt:
201 SK 1 Int 97 F

Im Macro 97 steht nun drin:
999.1 Go1

Will ich jetzt einem Gerät einen Reset schicken, muss ich nur 201F eingeben.

Durch die Stromkreisanwahl und dem Int 1 (1% ist bei mir die Beteiligtenschwelle) ist sicher gestellt, der Reset wird auch ausgeführt. Klappt zuverlässig.

 

Nur ein kleines Problem:
Wenn ich meine Show nun speicher, die Macros speicher (dabei spielt es keine Rolle ob ich das jetzt als Grundeinstellung oder Vorstellungsbezogen speicher) fliegt aus jedem Macro für die Lampe (also dem 201F (bei mir bis 232)) die Befehle "97 F" raus.

Nach laden einer Vorstellung, oder die gerade erstellte Vorstellung neu laden, sieht der Inhalt für Lampenmacros wie folgt aus:

201 SK 1 Int

Die Befehlsfolge "97 F" wird nicht mitgespeichert.

 

Ich hab bis jetzt folgendes versucht:
 Einzelnes Lampenmacro erstellen. Dieses dann als Grundeinstellung und auch als aktuelle Vorstellung speichern.
Alle Lampenmacros erstellen, speichern wie gehabt.
Die gesamte Vorstellung über FRG SP HD sichern.

Solange ich die Vorstellung nicht neu aus der Vorstellungsliste hole, kann ich meine automatische Abfolge verwenden. Sobald die Vorstellung neu geladen ist, ist aus allen Lampenmacros die Anweisung "97 F" raus.
Der Rest bleibt vollständig erhalten.

Alle anderen Macros werden einwandfrei geladen.

Mach ich da was falsch?
Oder ein Bug?



[edited by: Louis at 5:48 AM (GMT -6) on Tue, Jul 5 2011]
  • Vielen Dank für den Hinweis, da scheint eine Inkosistenz zu bestehen:

    Beim Aufzeichnen und Einlesen von Makros ist es momentan nicht erlaubt, von einem Makro aus ein anderes Makro aufzurufen. Deshalb wird beim Einlesen der Makro-Datei der Makro-Aufruf entfernt. Andererseits ist es ja offensichtlich möglich, durch manuelles Einfügen einen Makro-Aufruf innerhalb eines Makros hinzubekommen.

    Wir werden untersuchen, was der tiefere Sinn dahinter ist oder war, und ob man das nicht im Sinne des Anwenders korrigieren kann.

    Der einzige Workaround ist momentan, das Makro nach dem Laden manuell zu korrigieren.

    Grüße
    Hans Leiter

     

  • ging's da nicht um endlosschleifen-verhinderung? die makroausführung war (und ich glaube ist noch immer) nicht abbrechbar, also zwang/zwingt mich ein auf sich selbst gelinktes makro, die anlage händisch auszuschalten und neuzustarten. und ob das makro auf sich selber gelinkt ist, oder makro A auf makro B linkt und B wieder auf A ist wohl wurscht. vielleicht sind daher makroaufrufe in einem makro (teilweise) nicht erlaubt?

    wenn man also eine intelligenz einbaut (ich weiss, wahrscheinlich gar nicht so einfach?), die nur makroaufrufe rausschmeisst, wenn diese zu einer endlosschleife führen?

     

    grüsse, ueli

  • Eine solche Intelligenz, also den Abbruch einer Endlosschleife, könnte man über CL F oder X F einbauen.

    Wenn das irgendwie geht.

    Und im Normalfall geht man davon aus, der Pultmann weiß, was er so programmiert.
    Meine Macros erstelle ich so gut wie immer über M207, neues Macro und dann die Befehle direkt eingeben.
    So sehe ich ja direkt, was ich so angestellt habe, mit der Funktion nächstes/vorheriges Macro in der Fußleiste kann ich schnell nachschauen, ob da schon irgendwo eine Verlinkung auf mein Macro ist.

    Über die Taste F kann ich ja vorher auch schon schauen, welche Macronummern so vergeben sind.
    Also sollte ein auf sich selbst verlinktes Macro eher ein Konzetrations/Bedien-Programmierfehler sein (wenn er denn überhaupt auftritt) und in dem Fall auch schnell behoben sein.

    Es fährt ja niemand eine Vorstellung, ohne die vorher zu kontrollieren.

    Ich persönlich würde es sehr begrüßen, wenn man in einem Macro den Befehl ein Macro auszuführen, dauerhaft einpflegen kann.

  • Soweit ich es zurückverfolgen kann, wurde der Aufruf von Makros innerhalb eines Makros aus zwei Gründen ursprünglich gesperrt:
    1. die Gefahr einer Endlosschleife, wenn sich die Makros gegenseitig aufrufen, wie bereits beschrieben
    2. die Problematik des "Makro-Stacks": wenn nach dem Aufruf des Makros im Makro noch weitere Makro-Befehle folgen, braucht man einen Stack, der nach Ende des inneren Makros das äußere Makro an der alten Stelle fortsetzt. Diese Funktionalität ist in der Software bis jetzt nicht implementiert.
    Bei rekursivem Aufruf könnte der Stack permanent wachsen, so dass man entsprechende Sicherheitsvorkehrungen benötigt.

    Es ist also sozusagen nur ein Versehen, dass bei manueller Nachbearbeitung ein Makro im Makro ermöglicht wird.

    Wir werden uns um die Problematik kümmern und schauen, was sich mit vertretbarem Aufwand machen lässt.

    Grüße
    Hans Leiter

  • Und noch ein Hinweis für den Fall, dass man in ein Makro Wartenzeiten einbauen möchte:
    In M207 "Bedienmakros" im Insert-Modus kann man mit der Bedienung 'FRG u. T' eine
    Wartezeit von 1-99 Sekunden an eine beliebige Stelle setzen.

  • Ist das neu?
    Im Handbuch meine ich gelesen zu haben, man kann mit TS eine Verzögerung von 1 Sekunde in ein Macro einbauen.
    Das da auch andere Zeiten möglich sind, ist mir neu.

    Dann könnte ich ja das hin und her schalten der Macros wieder wegmachen und die Befehlsfolge in nur ein Macro packen.

     

    Das mit dem versehen, finde ich klasse.



    [edited by: Louis at 1:55 PM (GMT -6) on Mon, Jul 11 2011]
  • Die Wartezeit für Makros gibt es etwa ab Version 5.6, also schon ein paar Jahre.

    Wenn man in M207 die Hilfetaste drückt, und ein einigermassen aktuelles Handbuch installiert hat,
    kann man die Bedienung nachlesen. In den Releasenotes wurde diese Funktion damals vielleicht vergessen.

    Grüße
    Hans Leiter

     

  • Dann liegt es wohl da dran.

    Meine Konsole, bzw die Booster, haben mehr ein Update erfahren.
    Aber das Handbuch nie.

    Ich wüßte aber auch nicht, wo ich ein aktuelles her bekomme...

  •  

    Das Handbuch gibt's auf unserer Webseite im Download-Bereich für die NT/NTX-Anlagen,
    ebenso die Releasenotes, hier die direkten Links:

    http://www.etcconnect.com/docs/docs_downloads/console/manual_ger5917.zip
    http://www.etcconnect.com/docs/docs_downloads/relnotes/Release5_de.pdf

    Anleitung für den Handbuch-Update: die Zip-Datei so auf  USB-Stick oder Floppy
    entpacken, dass auf Toplevel das Verzeichnis 'manual' steht, dann über M136 einspielen.

    Die letzte Druckversion des Handbuchs ist 5.9.1.2, alles folgende wird über Releasenotes
    dokumentiert, hier der Link zum Download-Bereich:
    http://www.etcconnect.com/product.downloads.aspx?ID=20232

  • Ein großes Danke.

    Die Onlinehandbücher hab ich immer gefunden.
    Auch das Oflline, da ist dann aber immer direkt die PDF geöffnet worden.

    Also die .zip selber wußte ich nicht, wie dran kommen.

    Hab ich jetzt natürlich gezogen und werde es auch einspielen.

Related