Autor Thema: DMX über Ethernet (Art-Net-Node)  (Gelesen 24972 mal)

0 Mitglieder und 1 Gast betrachten dieses Thema.

Offline peewit

  • Moderator
  • *****
  • Beiträge: 2 378
    • Profil anzeigen
Re: DMX über Ethernet (Art-Net-Node)
« Antwort #15 am: 19. Oktober 2016, 12:25:55 »
Zitat
Gerne würde ich noch die ersten 18 Werte im Sendepuffer fix vorbelegen und nicht bei jedem Senden neu schreiben. Das habe ich aber noch nicht hinbekommen.

Die Bytes im Sendebuffer bleiben erhalten  da sie vom ip_control nicht verändert werden

Offline annD

  • Newbie
  • *
  • Beiträge: 46
    • Profil anzeigen
Re: DMX über Ethernet (Art-Net-Node)
« Antwort #16 am: 19. Oktober 2016, 18:31:06 »
Wenn ich diesen Teil vom Buffer nur einmal beschreiben möchte, wo müsste ich das machen? Derzeit geschieht es bei jedem Senden - wenn ich es außerhalb der IF-Abfrage mache, dann geschieht es bei jedem Zyklus. Muss ich mir dafür eine zusätzliche Abfrage machen, ob die Daten schon im Puffer stehen und nur bei Unterschied beschreiben? Es soll ja nur beim ersten Aufruf geschehen. Am Schönsten wäre, wenn ich es bereits bei der Variablendeklaration befüllen könnte.

Offline peewit

  • Moderator
  • *****
  • Beiträge: 2 378
    • Profil anzeigen
Re: DMX über Ethernet (Art-Net-Node)
« Antwort #17 am: 20. Oktober 2016, 08:19:32 »
am bausteinanfang das einfügen

IF init = false THEN
   init := TRUE;
   S_BUF1.BUFFER[0] := BYTE#16#41; (*DMX-Kopfzeichen in den Puffer schreiben*)
   S_BUF1.BUFFER[1] := BYTE#16#72;
   S_BUF1.BUFFER[2] := BYTE#16#74;
   S_BUF1.BUFFER[3] := BYTE#16#2D;
   S_BUF1.BUFFER[4] := BYTE#16#4E;
   S_BUF1.BUFFER[5] := BYTE#16#65;
   S_BUF1.BUFFER[6] := BYTE#16#74;
   S_BUF1.BUFFER[7] := BYTE#16#00;
   S_BUF1.BUFFER[8] := BYTE#16#00;
   S_BUF1.BUFFER[9] := BYTE#16#50;
   S_BUF1.BUFFER[10] := BYTE#16#50;
   S_BUF1.BUFFER[11] := BYTE#16#0E;
   S_BUF1.BUFFER[12] := BYTE#16#00;
   S_BUF1.BUFFER[13] := BYTE#16#00;
   S_BUF1.BUFFER[14] := BYTE#16#00;
   S_BUF1.BUFFER[15] := BYTE#16#00;
   S_BUF1.BUFFER[16] := BYTE#16#02;
   S_BUF1.BUFFER[17] := BYTE#16#00; (*die folgenden DMX-Kanäle wurden schon in den Puffer geschrieben*)
END_IF;

Offline annD

  • Newbie
  • *
  • Beiträge: 46
    • Profil anzeigen
Re: DMX über Ethernet (Art-Net-Node)
« Antwort #18 am: 29. Oktober 2016, 19:57:26 »
Super, danke. Ich habe die Änderung erfolgreich übernommen.

Ich hätte noch eine kleine Frage zum IP_CONTROL2: Ich erhalte nach einem neuen Download bzw. nach einem Reset den Error 33554432 (decimal) bzw. 16#02000000 (hexadecimal). In der Doku habe einen systemspezifischen Fehler (Codesys) "SysSockBind nicht erfolgreich ausgeführt" herausgelesen. Lässt sich das irgendwie vermeiden? Nach einem Neustart der Steuerung läuft alles wieder normal.

Gruß annD