DMX - Sinnvolles setzen von mehreren Kanälen

Hallo an alle,

Ich steuere seit neustem meinen Wohnbereich mit einem DMX System.

Dieses besteht derzeit u.a. aus diesem Gerät:
DMX-LED-Dimmer 16xRGB - DMX4ALL GmbH - MagiarLED - USB-DMX Interface - ArtNet DMX Interface Node - LanDMX - LED Stripes - LED Panel

Nun habe ich daran 14 RGB Stripes welche jeweils einen Dimmerkanal besitzen.
D.h. wenn ich eine Farbänderung mache müssen 56 Kanäle (falls auch die Dimmerkanäle einen neuen Wert bekommen) geändert werden.

Da ich noch kräftig am lernen bis was das programmieren angeht, meine Frage wie realisiere ich dies sinnvoll?

Für die Lichszene die für den BWM genutz (Nur weisse Stripes) wird, arbeite ich die DMX_Fade befehle nacheinander ab. Da dies nur 11 Kanaländerungen sind, sind die Verzögerungen minimal.

Versucht habe ich die RGB Steuerung nun so:

$ADevice=array( 1, 5, 9, 13, 17, 21, 25, 29, 33, 37, 41, 45, 49, 53, 57 );

if ($kanal == 0)
{
	foreach ($ADevice as &$kanal)
	{
	   DMX_Fade ($Device64, $kanal  , 	$valueD, $time	);
		DMX_Fade ($Device64, $kanal+1, 	$cf_color_table[$farbe][0], $time);
		DMX_Fade ($Device64, $kanal+2, 	$cf_color_table[$farbe][1], $time);
		DMX_Fade ($Device64, $kanal+3, 	$cf_color_table[$farbe][2], $time);
 	}
}

Jedoch braucht die Ausführung gut 4 Sekunden und die Stripes werden wirklich sichtbar nacheinander angesteuert.

Gibt es eine andere Möglichkeit soetwas mit php zu programmieren?

Schon einmal vielen Dank für eure Hilfe.

MFG Alex

Ich würde den foreach-Inhalt durch

IPS_RunScriptEx

ersetzen.

Danke für deine Antwort.

Ich nehme an du meintest das so:

$ADevice=array( 1, 5, 9, 13, 17, 21, 25, 29, 33, 37, 41, 45, 49, 53, 57 );

if ($kanal == 0)
{
	foreach ($ADevice as &$kanalx)
	{
		IPS_RunScriptEx (43027, array ("kanal" => $kanalx));

		/*
		DMX_Fade ($Device64, $kanal  , 	$valueD, $time	);
		DMX_Fade ($Device64, $kanal+1, 	$cf_color_table[$farbe][0], $time);
		DMX_Fade ($Device64, $kanal+2, 	$cf_color_table[$farbe][1], $time);
		DMX_Fade ($Device64, $kanal+3, 	$cf_color_table[$farbe][2], $time);
		*/
 	}
}
$kanal = $_IPS['kanal'];

	DMX_Fade ($Device64, $kanal  , 	$valueD, $time	);
	DMX_Fade ($Device64, $kanal+1, 	$cf_color_table[$farbe][0], $time);
	DMX_Fade ($Device64, $kanal+2, 	$cf_color_table[$farbe][1], $time);
	DMX_Fade ($Device64, $kanal+3, 	$cf_color_table[$farbe][2], $time);

Bei dieser Umsetzung ändert sich leider gar nichts :frowning:
Da ich aber nun endlich ein wenig Zeit investiert habe mich mit der Parameterübergabe in PHP zu beschäftigen, versuche ich das ganze nun wieder ganz klassich mit der abarbeitung nach der Reihe, diesmal halt mit RunScriptEx.

Edit: Dies bringt leider auch keinen Erfolg.

Gibt es denn keine Möglichkeit so etwas mit IPS zu realisieren?

MFG

Hallo …

Schau mal hier… http://www.ip-symcon.de/forum/f52/multiple-choice-16502/

am Ende von Seite 1

Holli

Vielen Dank für deinen Beitrag!

Leider funktioniert die Steuerung auch mit einer for Schleife, was leider auch nicht hilft die Verzögerungen zu beseitigen.

Dennoch wäre die Realisierung, die Auswahl der Kanäle zu verbessern als nächstes geplant gewesen und da kam mich dieser Thread gerade recht. Danke.

MFG Alex