S7 ARTNET Kommunikation

Duff411

Level-1
Beiträge
10
Reaktionspunkte
7
Zuviel Werbung?
-> Hier kostenlos registrieren
Guten Abend liebe Leute,

ich habe seid längere Zeit wieder zur SPS Programmierung zurück gefunden und
freue mich das dies Forum noch so aktiv ist!👍

Nun zu mein Problem:
Ich besitze eine Siemens 1214C und möchte hiermit eine Artnet Dimmer Karte ansteuern.
Typ der Karte -> Artnet LED Dimmer 6/6R Link -> http://www.dmx4all.de/produkte_artnet_led_dimmer.html
Kommunikation zum Dimmer läuft über TCP/IP.

Wie ich eine Verbindung aufbauen kann ist mir Theoretisch bekannt aber zum testen weiß ich nicht was ich da schicken soll...
Gibt es evtl. fertige Bausteine oder hat sowas schon jemand mit einer S7 reaslisiert?

Würde mich freuen wenn mich jemand in die richtige Richtung stupsen könnte weil momentan trete ich auf der stelle.😕

Freue mich über jede kleinste Hilfe!

Allen noch einen schönen Abend
 
Wenn das dieses Protokoll: https://en.wikipedia.org/wiki/Art-Net ist, dann ist es UDP und nicht TCP.
Im Wiki-Artikel ist unten auch die Protokollbeschreibung verlinkt.
In der S7 baust du dann z.B. in einem Byte-Array das Telegramm zusammen, und schickst es über UDP Port 6454 an deinen Dimmer.

Wenn du eine Anwendung oder die App hast mit der du den Dimmer ansteuern kannst, dann könntest du dir auch mit Wireshark ansehen was die Anwendung schickt. Aber letztenendes sollte in der Protokollbeschreibung alles enthalten sein was du benötigst.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Guten Morgen,

neuer Tag und gute Antwort
Werde mich nachher mal an die Arbeit begeben...
Wireshark wird mir besonders am Anfang schnell weiter helfen!

Sobald ich was vernünftiges fertig habe werde ich es Posten.
Könnte evtl. Ja jemanden noch interessieren...

Dir noch ein schönes Wochenende!

Gruss Andreas
 
Wireshark

Mit DMXControl (kostet nichts) kannst du ja mal Daten senden.
Soweit ich mich erinnere, kann DMXControl auch Artnet, nicht nur DMX.
 
Es läuft! :D

Ganz herzlichen Dank für die schnellen Antworten!

Jetzt zu der Auflösung:
Verbindung mittels TCON Baustein erstellen und Verbindung auf UDP setzen. Bei Aktivierung bleibt der Status auf 7000 stehen aber das macht nix! -> TCON bekommt keine Antwort (Glaube daran liegt das aber lasse mich auch gerne eines besseren belehren)

Baustein TUSEND (Wichtig nicht mit TSEND verwechseln) mit folgender Adresse belegen xxx.xxx.xxx.255. Die fehlenden stellen euren Netzwerk entnehmen. (Bei näheres Interesse nach dem Stichwort "Broadcast" googeln)
Für die benötigten Daten die gesendet werden sollen habe ich ein Baustein angelegt und mit den Daten wie im Bild zu sehen belegt.
Ab Byte 18 sind es die Helligkeitswerte des jeweiligen Channels vom Artnet Controller.
Also Byte 18 -> Channel 1
Byte 19 -> Channel 2 usw. bis 512.
Die vorherigen Bytes sind für das Protokoll zuständig.

Und das war es schon.

Wünsche euch ein schönes Wochenende!

Gruß
Andreas

Datenbaustein.png
 
Zuletzt bearbeitet:
Der DB sieht gleich aus, du müsstest nur Byte 15 ändern, je nachdem für welches Universum die ab und inklusive Byte 18 stehenden Daten sind. 0 fürs erste Universum, 1 fürs zweite, usw. Eventuell musst du Byte 13 noch anpassen. Je nachdem welchen Wandler für DMX du hast.
 
Hallo zusammen,
ich versuche eine Artnet Verbindung von einer 315 über die CP aufzubauen. Leider sind meine STEP7 Kenntnisse recht begrenzt. Kann mir jemand Step by Step erklären wie ich die Sache angehen muss?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Es läuft! :D

Ganz herzlichen Dank für die schnellen Antworten!

Jetzt zu der Auflösung:
Verbindung mittels TCON Baustein erstellen und Verbindung auf UDP setzen. Bei Aktivierung bleibt der Status auf 7000 stehen aber das macht nix! -> TCON bekommt keine Antwort (Glaube daran liegt das aber lasse mich auch gerne eines besseren belehren)

Baustein TUSEND (Wichtig nicht mit TSEND verwechseln) mit folgender Adresse belegen xxx.xxx.xxx.255. Die fehlenden stellen euren Netzwerk entnehmen. (Bei näheres Interesse nach dem Stichwort "Broadcast" googeln)
Für die benötigten Daten die gesendet werden sollen habe ich ein Baustein angelegt und mit den Daten wie im Bild zu sehen belegt.
Ab Byte 18 sind es die Helligkeitswerte des jeweiligen Channels vom Artnet Controller.
Also Byte 18 -> Channel 1
Byte 19 -> Channel 2 usw. bis 512.
Die vorherigen Bytes sind für das Protokoll zuständig.

Und das war es schon.

Wünsche euch ein schönes Wochenende!

Gruß
Andreas

Anhang anzeigen 36236
Hallo,

ich würde auch gerne ArtNet lesen und schreiben aus TIA. Könntest Du Dein Projekt zum abschauen zur Verfügung stellen?

Gruß
Karsten
 
Hallo,

da das hier der einzige Beitrag in SPS Foren ist, den ich zu dem Thema gefunden habe, kommentiere ich hier.

Ich arbeite aktuell ebenfalls an dem Thema, mit meiner S7 1200 ArtNet bzw. DMX ausgeben zu können. Ich habe die ArtNet- Kommunikation dank dem, was "Duff411" geschrieben hat bereits einmal aufbauen können. Leider hat diese dann am nächsten Tag komischerweise nicht mehr funktioniert, weil ich wahrscheinlich irgendetwas verstellt habe. Seitdem sitze ich vergeblich daran, diese wieder aufgebaut zu bekommen. Daher meine Frage, ob ihr mir helfen könnt?

Hier ein Überblick über mein Projekt:

Ich habe einen eigenen Datenbaustein DB ("DB_DMX") erstellt, welcher später das zu übertragende ArtNet- Protokoll darstellt.

1766442217812.png

In der Geräteübersicht habe ich meiner CPU eine UDP Broadcast Verbindung hinzugefügt und auch Partner Broadcast Adresse sowie Partner Port eingestellt:

1766442466094.png
1766442566744.png

Im Main (OB1) wird nun der Baustein "TCON" aufgerufen, welcher die Verbindung einmalig initialisiert. Da der TCON Baustein keine Antwort erhält, erhalten wir kein DONE und auch der STATUS bleibt auf 16#7000.

1766442819608.png

Anschließend wird "DMX_Send" ausgeführt. Den SCL Code dessen habe ich euch angehangen.
"TCON_UDP_Done", "TCON_UDP_Req", "TSEND_C_UDP_Done" und "TSEND_C_UDP_Req" darin sind Merker
Den IEC Timer habe ich aktuell ausgehebelt. Dieser war zum timen des sendens gedacht.

1766443232608.png
1766443498612.png

In "DMX_Steuerung" werden die Kanäle mit den entsprechenden Werten auf "DB_DMX" geschrieben.
Also hier als Beispiel:

//--- Send Data Example ---
"DB_DMX".DMX_Data[18] := 255; //Send Data (255) on Channel 1
"DB_DMX".DMX_Data[19] := 100; //Send Data (100) on Channel 2
"DB_DMX".DMX_Data[20] := 100; //Send Data (100) on Channel 3

Der "TSEND_C" sollte dann ständig das ArtNet Protokoll per UDP übertragen.
Mit dem von "Duff411" verwendeten Baustein "TUSEND" konnte ich leider keine Daten senden.

Leider scheine ich an den Bausteinen "TCON", "TSEND_C" oder "PLC_Send_DB" irgendetwas umgestellt oder angehangen zu haben, weshalb jetzt keine Kommunikation mehr funktioniert. Ich wäre sehr erfreut, wenn mir bei meinem Problem jemand helfen könnte.

PS: Meine CPU besitzt die IP Adresse 192.168.0.1 und der ArtNet Empfänger die Adresse 192.168.0.10. Beide besitzen die gleiche Subnetz Maske 255.255.255.0


Gruß
Nico
 

Anhänge

Zuletzt bearbeitet:
Habe die Lösung für mein Problem gefunden.

hier der Link zum Beitrag dazu:

 
Zurück
Oben