CODESYS - das IEC 61131-3 Programmiersystem

Willkommen im offiziellen CODESYS - Forum von 3S-Smart Software Solutions | A member of the CODESYS Group
Deutsche Version English version russian version 
Aktuelle Zeit: Di Sep 17, 2019 3:26 pm

Alle Zeiten sind UTC




Ein neues Thema erstellen  Auf das Thema antworten  [ 24 Beiträge ]  Gehe zu Seite 1 2 Nächste
Autor Nachricht
 Betreff des Beitrags: WOL Wago 750 841
BeitragVerfasst: Sa Jan 17, 2009 8:45 pm 
Offline

Registriert: Fr Jun 27, 2008 1:21 pm
Beiträge: 6
Wohnort: Hannover
Guten Abend,

habe ein interessantes Problemchen.

Ich habe für einen kleinen Bürokomplex eine Gebäudesteuerung mit der Wago 750-841 entworfen.

Nun hat mich der Administrator angesprochen weil die Steuerung ja im Netzwerk hängen soll.

Ihm ist aufgefallen das über diese das "erwachen" des Büros gesteuert wird, also die Lichter um 7Uhr angehen usw. und wollte mich Fragen ob ich dann auch ein Telegramm an die PCs senden kann. Also Wakeup on LAN (WoN).

Ich musste erstmal passen, aber da ja Linux auf dem Controller installiert ist sollte das doch sicher irgendwie möglich sein?

Gewünscht war von ihm:

Adminrechner soll um 6Uhr angehen (also nur an eine MAC das Signal)
alle anderen Rechner um 6:50Uhr (dafür reicht ein Broadcast)

Ich habe mich schlaugelesen das dafür ein Magic-Paket nötig ist das aus der Mac oder nem Broadcast und einer Folge von "FF" besteht.

Wie kann ich das mittels der Wago 750-841 versenden, und ganz wichtig wie kann ich dies so machen das es durch eine Enable-Variable (Bool) aktiviert wird?

Vielen Dank schoneinmal für Antworten auf diese, für mich, sehr komplexe Frage.

MfG

Marcel


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: So Jan 18, 2009 12:11 pm 
Offline

Registriert: Mi Jul 25, 2007 7:54 pm
Beiträge: 0
Wohnort: Schweiz
Hallo Marcel

Es gibt keine WOL Broadcasts um alle Rechner mit einem Paket einzuschalten. Die Broadcast Pakete werden verwendet, um über Router hinweg in ein anderes IP-Subnet WOL Pakete zu versenden.
In jedem Fall ist in einem WOL Paket die MAC Adresse des entsprechenden Rechners enthalten, es muss also jeder Rechner einzeln geweckt werden.
Ich persönlich würde den Verwaltungsaufwand alle MAC Adressen auf einer 841er einzupflegen zu gross finden. Stattdessen würde ich dies direkt auf einem Server als Geplanten Task oder Cronjob implementieren.

Gruss
Chregu


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: So Jan 18, 2009 12:15 pm 
Offline

Registriert: Fr Jun 27, 2008 1:21 pm
Beiträge: 6
Wohnort: Hannover
Das liegt nicht in meinem Bereich :-D

Ich wurde nur gefragt ob es geht, und das will ich wissen.

Brechen wir das einmal herrunter, geht es für EINEN Rechner?

Die Mac-Adressen kann man ja als File auf der Steuerun ablegen und dann einlesen... das finde ich ist kein großes Problem.

MfG

Marcel


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: Sa Feb 14, 2009 12:39 pm 
Offline

Registriert: Mo Okt 08, 2007 12:09 pm
Beiträge: 1
Wohnort: Kressbronn
Hallo,

das würde ich auch gerne machen also mit der WAGO 750-841 per Wake on LAN (WOL) einen bestimmten Rechner aufzuwecken. Vermutlich müßte ein so genanntes Magic Packet (Schutzmarke von AMD) direkt an die Netzwerkkarte adressiert oder als Broadcast verschickt werden.

vielleicht hat jemand eine Idee dazu !

Gruß
Ewald


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: Mo Sep 07, 2009 3:10 pm 
Offline

Registriert: Mi Mär 14, 2007 8:32 am
Beiträge: 0
Hallo,

mich würde mal interessieren, ob es mittlerweile Erkenntnisse für das hier beschriebene Problem gibt?

Bin auf den Thread gestoßen, da ich ein ähnliches Problem angehen wollte. Und zwar wäre das einen mit einem Wago Controller (vorzugsweise 750-841) verbundenen (RS232 oder Ethernet) Rechner per Shutdown-Befehl oder so herunterzufahren.

Hatt jemand ne Idee, wie so etwas realisieren könnte?

Kai


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: Di Sep 08, 2009 4:07 am 
Offline
Häufiger Nutzer
Häufiger Nutzer

Registriert: Di Jul 24, 2007 4:17 pm
Beiträge: 143
... LINUX auf dem 841 ... das ist mir NEU

wie wird das angesprochen ????


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: Di Sep 08, 2009 10:25 am 
Offline

Registriert: Fr Jun 27, 2008 1:21 pm
Beiträge: 6
Wohnort: Hannover
war wohl doch die Wago 750-860 ... bin mir nicht genau sicher, ;)

Mal forschen.

MfG

Marcel


Nach oben
   
BeitragVerfasst: Do Mär 18, 2010 2:55 pm 
Offline

Registriert: Di Mär 16, 2010 11:41 am
Beiträge: 0
Es ist mit den Ethernet-fähigen SPSen sehrwohl möglich MagicPackets zu versenden.

Protokoll sollte UDP (IPPROTO_UDP) und Protokoll- bzw. Socket-Typ logischerweise Datagram (SOCK_DGRAM) sein.
Die Ziel-IP ist dabei die Broadcast Adresse 255.255.255.255 (jeder Rechner bekommt das Paket, aber nur der, welcher seine MAC erkennt, wacht auch auf).
Die Ziel-Portnummer ist eigentlich egal aber konventionell die 9.

In das Array der zu sendenden Daten schreiben wir zuerst den "syncstream" also sechsmal "FF" und direkt danach sechzehnmal die MAC-Adresse des aufzuweckenden Zielrechners.
In einer kompakten Form würde dies in ST etwa so aussehen:

Code:
   SendData[1]:=16#FF;  
   SendData[2]:=16#FF;
   SendData[3]:=16#FF;
   SendData[4]:=16#FF;
   SendData[5]:=16#FF;
   SendData[6]:=16#FF;

   FOR i:=1 TO 16 DO    (* 16x MAC-Adresse des Ziels, Hier als Beispiel: 00:41:64:8B:01:1E *)
      SendData[i*6+1]:=16#00;
      SendData[i*6+2]:=16#41;
      SendData[i*6+3]:=16#64;
      SendData[i*6+4]:=16#8B;
      SendData[i*6+5]:=16#01;
      SendData[i*6+6]:=16#1E;
   END_FOR



Die Anzahl der zu sendenden Bytes ist in diesem Falle = 16 * 6 + 6 = 102.

Theoretisch kann das MagicPacket auch in andere Protokolle gekapselt sein. Der Netzwerkadapter reagiert (insofern WOL aktiviert ist) auf den Datenteil ab dem syncstream und seine MAC-Adresse, wenn dieser zusammenhängend und korrekt ist.
Die Daten davor oder danach werden ignoriert. Ausnahme stellt die SecureOn-Funktion dar, bei welcher noch 6 zusätzliche Passwort Bytes angehangen werden.

Themenbezogen empfehle ich auch die Artikel der deutschen und englischen Wikipedia:

http://de.wikipedia.org/wiki/Wake_On_LAN
http://en.wikipedia.org/wiki/Wake-on-LAN

mfg

Felix


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: Sa Apr 03, 2010 9:01 pm 
Offline

Registriert: Fr Jun 27, 2008 1:21 pm
Beiträge: 6
Wohnort: Hannover
Hallo Felix,

gibt es die möglichkeit das du einen Baustein programmierst der das versenden des Magic-Paket bewerkstelligt?

Da ich die nächsten Tage und Wochen wenig Zeit dafür finden werde, wäre es echt klasse! So nebenher werde ich das wohl nicht hinbekommen...

MfG

Marcel


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: So Apr 18, 2010 8:06 pm 
Offline

Registriert: Do Aug 13, 2009 7:24 pm
Beiträge: 0
hallo,

würd mich auch freuen wenn du etwas mehr ins detail gehen könntest, könnte zwar warscheinlich die zeit dafür aufbringen, doch leider nicht die programierfähigkeiten :oops:

Christian


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: Di Apr 20, 2010 5:06 pm 
Offline

Registriert: Do Aug 13, 2009 7:24 pm
Beiträge: 0
so, hat mir keine ruhe gelassen und ich habs doch tatsächlich hinbekommen :shock: falls ich am wochenende genug zeit hab versuch ichs in einem FB zu verpacken, ist aber eigentlich ganz einfach, schon mal ein paar tipps:

1. die mac adresse passend aufbereiten, dazu steht der code ja schon hier im beitrag, alles in ein Array [1 .. 1500 ] of BYTE speichern,

2. mit IP4_DECODE aus der oscat netzwerk lib die '255.255.255.255' in ein DWORD umwandeln

3. mit ETHERNET_CLIENT_OPEN aus der network.lib den socket öffnen und dann

4. mit ETHERNET_WRITE auch aus der network.lib die daten senden

vielleicht gehts einfacher, aber es hat zumindest funktioniert und ich bin glücklich.

Christian


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: Mi Apr 21, 2010 5:11 am 
Offline

Registriert: Fr Jun 27, 2008 1:21 pm
Beiträge: 6
Wohnort: Hannover
Wär super wenn du hier einen FB einstellen könntest!

MfG

Marcel


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: Sa Apr 24, 2010 5:09 am 
Offline

Registriert: Do Aug 13, 2009 7:24 pm
Beiträge: 0
hallo, ein FB ises leider nicht geworden, zumindest kein funktionsfähiger :oops: naja, aber mit dem angehängten bild und meinem vorherigen beitrag kannst dus dir in 5 min selber zusammenklicken.

wenn EN geschalten wird startet die kiste, und die Variable SendData ist dein Array of Byte, das hat Frylix ja schon oben gepostet.

Christian

P.S. wie gesagt, hab noch recht wehnig ahnung, fals ich also was flasch gemacht hab bitte gleich melden oder verbesserungsvorschläge bringen.


Dateianhänge:
wol.jpg
wol.jpg [ 52.79 KiB | 2841 mal betrachtet ]
Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: Di Mai 04, 2010 6:08 pm 
Offline

Registriert: Fr Jun 27, 2008 1:21 pm
Beiträge: 6
Wohnort: Hannover
Hallo,

ich hatte bisher keine Zeit mich dran zu setzen.

Sind alle Bausteine die hier erwähnt sind aus der oscat.lib?

Wenn es nur der eine wäre für das konvertieren des broadcast, dann wäre es nett wenn mir jemand das korrekte D-Word hier einmal posten könnte, dann spart man sich die oscat (ja es gibt leute die drauf verzichten).

Wenn die Bausteine nur aus der Oscat sind, hab ich pech gehabt und muss mich doch mal mit auseinandersetzen.

MfG

Marcel


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: Di Mai 04, 2010 8:09 pm 
Offline

Registriert: Do Aug 13, 2009 7:24 pm
Beiträge: 0
ne, hauptsächlich brauchst du die network.lib, steht ein paar beiträge weiter oben.

entweder bis zum wochenede warten, dann kann ich dir den wert sagen, oder google mal, gibt genug online converter die dir die richtige zahl sagen können


Nach oben
   
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen  Auf das Thema antworten  [ 24 Beiträge ]  Gehe zu Seite 1 2 Nächste

Alle Zeiten sind UTC


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 7 Gäste


Sie dürfen keine neuen Themen in diesem Forum erstellen.
Sie dürfen keine Antworten zu Themen in diesem Forum erstellen.
Sie dürfen Ihre Beiträge in diesem Forum nicht ändern.
Sie dürfen Ihre Beiträge in diesem Forum nicht löschen.
Sie dürfen keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
Powered by phpBB® Forum Software © phpBB Limited
Deutsche Übersetzung durch phpBB.de