# Expertenfrage SPS-Fritzbox-E-Mail



## OKL (22 April 2010)

Hallo liebe Gemeinde,

heute plagt mich ein schier unlösbares Problem. Ich habe eine CPU 314 und eine Ethernet-CP. Verbunden ist die CP mit der Fritzbox (rein physikalisch). Nun habe ich von einem freundlichen Kollegen erfahren, dass meine CPU/CP-Kombination leider nicht in der Lage ist, sich mit einem E-Mail-Server zu verbinden. Dies würde entweder mit einer IT-Komponente oder mit einer CPU mit integrierter PN-CP funktionieren.

Daher hoffe ich, dass der ein oder andere ein ebensolches Projekt bereits realisiert hat, welches wäre, mit der SPS bei Auslösen eines Alarmes eine E-Mail zu versenden. Das SMTP-Protokoll ist nicht sonderlich schwierig. Mit einigen Befehlen z. B. per Telnet (Putty) funktioniert das reibungslos. Verbindung aufbauen, HELO xxx etc.

Nun nenne ich eine Fritzbox 7270 mein Eigen und hoffe, dass jemand vielleicht schon mal diese Kombination SPS-Fritzbox für das Versenden einer E-Mail verwendet hat. Rein Technisch sollte es funktionieren, nur eben die Programmierung der Fritzbox ist mein Problem. Diese soll von der SPS ein Telegramm empfangen können und dieses auswerten. Das Verwenden des Fritzbox-Webservers wäre ebenfalls denkbar.

Hat jemand vielleicht Ideen zum Vorhaben?

Danke euch.


----------



## OKL (22 April 2010)

*Anmerkung*

Vielleicht lässt sich mein Vorhaben auch mit SIP realisieren? Hat schon mal jemand die Fritzbox per SPS erreicht und eine Verbindung aufgebaut?

Danke für eure Hilfe.


----------



## Oberchefe (22 April 2010)

> Hat schon mal jemand die Fritzbox per SPS erreicht und eine Verbindung  aufgebaut?



Meine Fritzbox schickt mir auf meine SPS wenn jemand anruft die Nummer incl. Namen und Adresse (www.dasoertliche.de). Ist allerdings eine Wago 750-841, die ist evtl. etwas flexibler als eine Siemens, kann von Haus aus E-Mails verschicken.


----------



## OKL (23 April 2010)

Hallo,

meine Fritzbox holt mir auch die Nummer und den Namen (falls Nummer übertragen und in DasOertliche ein Eintrag dazu. Nur schickt mir dann die Fritzbox ohne SPS eine E-Mail bzw. an meine Anwendung über einen Port die Nachricht. (Mit freundlicher Unterstützung meines Kollegen realisiert)

Nun hätte ich aber gern, dass mir meine Box eine E-Mail schickt, wenn die SPS einen bestimmten Zustand hat (Alarm ausgelöst) etc.

Schon mal jemand das mit einer CPU/CP von Siemens (300er) realisiert?


----------



## Flitzpiepe (23 April 2010)

schon mal bei "OSCAD" geschaut, was da an Bausteinen drinn ist?


----------



## OKL (23 April 2010)

Hi,

das sagt mir nichts (oscad). Meine 314er CPU frisst leider auch nicht alles...


----------



## Flitzpiepe (23 April 2010)

sorry, "OSCAT"
http://www.oscat.de/

FP


----------



## OKL (23 April 2010)

Hallo,

erst einmal vielen Dank für die Info. Ich werde dort weiter störbern. Auf den ersten Blick kann ich leider noch nichts zu diesem Thema finden. Vielleicht geht es ja über Umwegen doch mit meiner Konstellation, eine E-Mail zu versenden...


----------



## OKL (23 April 2010)

Eventuell ist ja hier ein Bastler unter uns, der das schon mal hinbekommen hat... Die SPS müsste auf jedenfall entweder mit der Fritzbox kommunizieren, die Fritzbox mit der SPS oder die SPS direkt mit dem E-Mailserver - was leider nicht zu funktionieren scheint.

MfG

Olaf


----------



## Snoopy123123 (23 April 2010)

muss es denn unbedingt die Fritz Box die email senden oder koenntest du auch mit einem angeschlossenen Server die SPS Pollen die dann die Email versendet ?


----------



## OKL (23 April 2010)

Hi,

ich möchte mir ehrlich gesagt einen Server dafür sparen. Rechnen wir mal 150 Watt sind auch 290 Euro im Jahr! Die Fritzbox verbraucht nur einen Bruchteil davon und ist sowieso immer online. Daher denke ich, dass die Lösung auch andere interessieren könnte.

Darauf hoffe ich!


----------



## Flitzpiepe (23 April 2010)

... ein billiger alter Laptop mit 20W oder weniger tut es bestimmt auch. Oder ATMEL und CO.
FP


----------



## OKL (23 April 2010)

Jo, klar geht das auch. Nur ist eben mein Wunsch-Ziel die Realisierung mit den vorhandenen Komponenten. Rein technisch sollte es ja auch überhaupt kein Problem sein. Leider haben sich noch nicht viele damit befasst, weil meistens eben eine IT-CP gekauft wird. Es sollte aber auch anders gehen...

Darauf hoffe ich...


----------



## argv_user (24 April 2010)

OKL schrieb:


> Hallo liebe Gemeinde,
> 
> heute plagt mich ein schier unlösbares Problem. Ich habe eine CPU 314 und eine Ethernet-CP. Verbunden ist die CP mit der Fritzbox (rein physikalisch). Nun habe ich von einem freundlichen Kollegen erfahren, dass meine CPU/CP-Kombination leider nicht in der Lage ist, sich mit einem E-Mail-Server zu verbinden. Dies würde entweder mit einer IT-Komponente oder mit einer CPU mit integrierter PN-CP funktionieren.
> 
> ...



Ah, die Fritzbox hat einen Webserver? Und kann über diesen E-Mails verschicken? 
Dann würde es theoretisch genügen, auf dem Webserver ein Formular abzulegen, das dann vom CP mit Daten gefüttert wird...


----------



## OKL (24 April 2010)

Ja, einen Apache kann man da drauf bringen. Das mit dem Formular bekommt man auch hin. Nur wie lässt sich das von dem CP aus aufrufen? Gibt da irgendwo schon ein Beispiel? Siemens lässt sicher nur Verbindungen zu anderen SPS-Komponenten zu, oder?

Thanks for helping


----------



## argv_user (25 April 2010)

OKL schrieb:


> Ja, einen Apache kann man da drauf bringen. Das mit dem Formular bekommt man auch hin. Nur wie lässt sich das von dem CP aus aufrufen? Gibt da irgendwo schon ein Beispiel? Siemens lässt sicher nur Verbindungen zu anderen SPS-Komponenten zu, oder?
> 
> Thanks for helping



Ich habe das mit Deiner Hardware noch nie gemacht, OKL.
Nur Auf PC-Basis. Habe dazu FTP benutzt.

ASCII-Strings an eine beliebige TCP/IP-Adresse incl. Portnummer zu versenden dürfte ja gehen. Ich würde auf der SPS eine HTML-Datei erzeugen,
die ich dann per FTP dem Apache unterschiebe. Dann brauchst Du auf der Apache-Seite nur noch jemanden, der die Datei ausführen lässt. Das kann durchaus durch die Abfrage einer anderen, dem Apache bekannten Seite geschehen.


----------



## OKL (26 April 2010)

Ich werde mich damit beschäftigen, glaube aber, dass die SPS nicht in der Lage sein wird, eine HTML-Seite erzeugen zu können.

Falls noch jemand Ideen hat, schon mal vorab ein fettes Dankeschön.


----------



## argv_user (26 April 2010)

OKL schrieb:


> Ich werde mich damit beschäftigen, glaube aber, dass die SPS nicht in der Lage sein wird, eine HTML-Seite erzeugen zu können.
> 
> Falls noch jemand Ideen hat, schon mal vorab ein fettes Dankeschön.



HTML besteht aus lauter ASCII-Zeichen, das Format ist offengelegt, wo soll das Problem sein? Deine Hardware erzeugt von selber kein HTML, aber kein Mensch hindert Dich daran, die passenden HTML-Tags als Text in einem DB abzulegen und diesen dann einfach loszuschicken.


----------



## OKL (26 April 2010)

Hallo,

das Hauptproblem ist der Verbindungsaufbau mit einem anderen Teilnehmer ungleich SPS. Mein Kollege versuchte dies bereits, jedoch ohne Erfolg.

Ich werde am Ball bleiben und das weiter versuchen. Denke aber, dass Siemens nicht ohne Grund IT-Komponenten verkauft - es sei denn, man findet eine Hintertür, auch ohne diesen die Funktionalität zu erreichen.

Viele Grüße


----------



## argv_user (26 April 2010)

Hallo OKL,

ich habe es zwar gut gemeint, war aber nicht ausreichend informiert.
(In so einem Fall sollte man einfach die Klappe halten)

So wie es aussieht bräuchtest Du doch einen IT-CP...


----------



## OKL (27 April 2010)

Ich freue mich über Hinweise und Ideen. Irgend eine Idee führt vielleicht sogar zum Ergebnis, das Ganze ohne IT-Komponenten zu realisieren. Eventuell gibt es ja doch noch eine Hintertür...

Darauf hoffe ich und freue mich über weitere Hinweise


----------



## SKg (28 April 2010)

Also zum Thema Fritzbox, ich hatte mich vor einiger zeit mal mit dem Modden der Fritzbox beschäftigt habe es dann aber aufgegeben weil ich die Programmierung unter Linux nicht drauf habe denn das Grund Betriebssystem einer Fritzbox ist Linux (oder sone Art Linux).
Ich weiß das die Fritzbox Telnet integriert hat (weiß zur zeit nicht ob es bei deiner auch so ist) der muß aber erst aktiviert werden!
Bei meiner Fritzbox 7170 geht das zum Beispiel mit einer Tastenkombination eines angeschlossenen Telefons!

Die Verbindung anschließend mit der CP ist kein Problem denke ich mal!
Das ganze läuft dann als ganz einfache Terminal Verbindung. Du müsstest dann halt alle Befehle im ASCII Format in einen DB schreiben!

Eine Einfache Verbindung mit dem Hyperterminal Funktioniert ja auch!

Gruß
SKg


----------



## OKL (28 April 2010)

Hallo,

danke für deine Antwort.

Meine Fritzbox kann auch telnet, welches ich aktiviert habe.

Ich konnte sogar per telnet mich direkt auf dem E-Mail-Server einloggen und mit ein paar Befehlen das smtp-Protokoll abarbeiten - schließlich eine E-Mail senden (Verbindung aufbauen, HELO xxx.de etc.)

Leider scheitert die SPS schon beim Verbindungsaufbau, sei es mit dem E-Mail-Server als auch mit der Fritzbox. Wenn du da vielleicht ein Testprojekt hast, mit dem so etwas klappt, würde ich mich sehr freuen!

Dankeschön im Voraus!


----------



## SKg (28 April 2010)

Ich benötige dazu noch die Typ NR. von deiner CPU und deines CP
Gruß


----------



## OKL (28 April 2010)

Hallo,

vielen Dank für deine Hilfe.

CPU 314 6ES7 314-1AE04-0AB0 Version 1.1 Steckplatz 2
CP 343-1 6GK7 343-1EX10-0EX0 Version 1.0 Steckplatz 4

Falls es notwendig ist:

Steckplatz 5 DI32 DC24V 6ES7 321-1BL00-0AA0
Steckplatz 6 DO32 DC24V 6ES7 322-1BL00-0AA0

Hier noch ein Beispiel für Telnet um zum E-Mail-Server zu gelangen

auth.smpt.kundenserver.de 212.227.15.146 port25 aufbauen
Antwort 1 nach Einwahl: 220 auth.smtp.kundenserver.de (mrbap0) Welcome to Nemesis ESMTP server
Senden 1: HELO domain.de
Antwort 2: 500 Syntax error - invalid character // beim erstem Mal kommt der Fehler
Senden 2: HELO satron.de
Antwort 3: 250 auth.smtp.kundenserver.de
Senden 3: AUTH LOGIN
Antwort 4: 334 VXNlcm5hbWU6
Senden 4: // mein persönliches Login XXXXX
Antwort 5: 334 // Bestätigung YYYY
Senden 5: // Mein Login ZZZZZ
Antwort6: 235 Authentication successful
Senden 6: MAIL FROM: <meineemail@server.de>
Antwort 7: 250 OK
Senden 7: RCPT TO: empfaenger@server.de
Antwort 8: 250 OK
Senden 8: DATA
Antwort 9: 354 Enter mail, end with "." on a line by itself
Senden 9: From: <absender> 
Senden 10: To: <empfänger>
Senden 11: Subject: Alarm ausgeloest
Senden 12: 
Senden 13: Alarm ausgeloest
Senden 14: .
Antwort 10: 250 Message 0LqWMz-1NQI5N07hB-00eZCM accepted by mrbap2.kundenserver.de
Senden 15: QUIT


----------



## argv_user (28 April 2010)

Das eigentliche Problem dürfte darin bestehen, dass die Kombination CPU/CP kein Telnet kann. 

Kann man auf die Fritzbox beliebige Linuxprogramme aufspielen?
Ich glaube eher nicht, sonst könnte man nämlich LibNoDave benutzen.


----------



## OKL (28 April 2010)

Telnet sind ja auch nur einfache Telegramme. Wenn die SPS entsprechende an die IP des Mailservers oder an die Fritzbox senden kann, ist der Inhalt fast egal.

Mit der Fritzbox kann man viel realisieren - jedoch mit entsprechendem Aufwand. Mir wäre schon lieber, die SPS macht das - verbindet sich zum Mailserver und sendet einfach die Telegramme (einfache Zeichenketten, deren Inhalt die entsprechenden Telnet-Befehle übermittelt)

MfG und viel Erfolg.


----------



## SKg (28 April 2010)

Ich hoffe ich habe dich richtig verstanden!

Du möchtest dich auf Telnet von der Fritzbox verbinden damit du dann die Telnetbefehle an die Fritzbox senden kannst um die Fritzbox zu Steuern.

Im Download ist ein Step7 Projekt wie der ansatz einer Verbindung aussieht, IP Adressen müssen natürlich noch angepasst werden!

Ich weiß nicht was der Telnet Client normalerweise an den Telnet Server schickt damit die beiden sich Verbinden!

Daher kann ich das Projekt nicht weiter ausarbeiten!

Im Projekt werden jetzt einfach 200 byte an die IP 192.168.178.1 auf den PORT 23 gesendet (soweit ich weiß ist Port 23 der Standartport von Telnet)

Und es werden 200 byte Antwort von IP 192.168.178.1 auf den PORT 23 erwartet!


Ich weiß nicht wie genau du dich mit den Standart Bausteinen AG_SEND und AG_RECV auskennst  aber man muß bei der Kommunikation immer die Längen der zu sendenden und zu empfangenden Daten wissen und korrigieren weil die Bausteine sonst einen Fehler ausgeben bzw. die Daten nicht aktualisieren.

Gruß
SKg


----------



## OKL (28 April 2010)

Dann müsste es auch gehen, dass ich statt mich mit der Fritzbox zu verbinden, direkt die IP des öffentlichen SMTP-Servers verbinde, oder? Dort kann ich die Telnet-Befehle direkt absetzen. Getestet habe ich das mit Putty direkt zum Mailserver und es hat funktioniert (Beispiel weiter oben) Wenn die SPS es schafft, mit der IP der Fritzbox zu verbinden, klappt das sicher auch mit der anderen öffentlichen.

Werde das heute Abend mal anschauen. Vielen Dank erst einmal.

MfG


----------



## OKL (28 April 2010)

Vielleicht darf ja auch die Verbindung zum Mailserver nicht dauernd bestehen, sondern muss erst auf- und dann wieder abgebaut werden? Das wiederum könnte man ja testen.

Wenn ich mich zur Fritzbox verbinde, müsste ich dieser auch erst beibringen, was sie zu tun hat. Zwar sendet mir diese schon E-Mails wenn jemand anruft und sucht den Namen aus dem Telefonbuch, jedoch erfordert eine soche Funktionalität weitaus mehr Eingriff in die Fritzbox.

Ich denke, wir sind auf den richtigen Weg.


----------



## SKg (28 April 2010)

Es lässt sich eigentlich jede beliebige gültige IP und Portnummer in der S7 Verbindung eintragen!
Ich hab zu Beispiel mal Volltext meldungen an einen Hyperterminal gesendet, hat gut funktioniert!


----------



## OKL (28 April 2010)

Lässt sich der Verbindungsaufbau noch "Dynamisieren"?


----------



## SKg (28 April 2010)

Zu dem ganzen ist vielleicht noch zu sagen, das vielleicht noch Die Fritzbox als Netzübergang (Gateway) in die Konfiguration der CP einzutragen ist damit der Mailserver im Internet zu erreichen ist!

Achja eventuelle Sicherheitsmechanismen in der Fritzbox könnten auch noch stören!

Gruß
SKg


----------



## OKL (28 April 2010)

Das ist bereits geschehen, Gateway ist Fritzbox. Nur weiß ich nicht, ob dem Mailserver gefällt, wenn ich eine "Standleitung" zu ihm aufbaue. Was passiert, wenn ich eine neue öffentliche IP bekomme? Verbindet dann die SPS neu zum Mailserver?

Thanks


----------



## SKg (28 April 2010)

Ich denke Schon das sich die Verbindung dynamisieren lässt was den Verbindungsaufbau betrifft! Es gibt einen Baustein Namens :FC10 AG_CNTRL, mit diesem Baustein sollte es möglich selbst zu bestimmen wann die verbindung Aufgebaut wird und wann nicht!
Dazu muß aber in der Verbindungsprojektierung (NetPro) warscheinlich das Häkchen : Aktiver Verbindungsaufbau deaktiviert werden!

Gruß
SKg


----------



## SKg (28 April 2010)

Der FC 10 ist auch zur Diagnose aller oder einzelner Projektierter Verbindungen im stande.

Wenn du ne neue IP bekommst wird es zu einer Verbindungsunterbrechung kommen und dann muß die Verbindung bei nicht aktiven Verbindungsaufbau neu gestartet werden und bei Aktiven Verbindungsaufbau resetet werden!

Gruß
SKg


----------



## SKg (28 April 2010)

OKL schrieb:


> Hallo,
> 
> Senden 11: Subject: Alarm ausgeloest
> Senden 12:
> ...


 
Ich dachte du würdest dich beim Server durch den Befehl "QUIT" beim server abmelden!


----------



## argv_user (28 April 2010)

Die Kernfrage ist doch immer noch, zumindest für mich: Ist es mit der Hardware von OKL überhaupt möglich, beliebige Strings zu senden, OHNE dass ein Simaticprotokoll drüber liegt?


----------



## SKg (28 April 2010)

argv_user schrieb:


> Die Kernfrage ist doch immer noch, zumindest für mich: Ist es mit der Hardware von OKL überhaupt möglich, beliebige Strings zu senden, OHNE dass ein Simaticprotokoll drüber liegt?


 
Die Antwort auf diese Frage lautet ja!

Der CP ist in der Lage über TCP oder UDP Protokolle zu kommunizieren!

Ich habe einen CP schon an einem Hyperterminal mit der Winsock Verbindung verbunden!

SPS Seite:
IP und Ports einstellen dann noch Aktiver Verbindungsaufbau aktivieren
AG_SEND und AG_RECV konfigurieren (Programmieren)!


Hyper Terminal Seite:
IP und Port einstellen und dann auf Anruf warten stellen!

und siehe das die SPS verbindet sich mit dem Terminal und Spreibt meine gewünschten Zeichenketten!

Dumm ist halt nur das der Terminal ein ECHO sendet!
Also hab ich dann ein Prog mit VB6 geschrieben (Winsock Steuerelement)welches die Zeichenketten, ohne ein Echo zu senden, empfängt!
Theoretisch müßte das auch mit Excel funktionieren, habe es nicht weiter getestet weil ich Office 2003 auf Vista Ultimate verwende und da haperts ein bischen, VBE verweigert mir irgendwie den zugriff auf das Winsock Steuerelement! 

Gruß
SKg


----------



## OKL (29 April 2010)

Konnte leider keine öffentliche IP eintragen... Trotz Router. Hat jemand vielleicht eine Idee?

Dankeschön.

PS: Mit Quit schließe ich die Sitzung. Die Verbindung muss dafür aber nicht ständig bestehen. Vor allem, weil die IP ja aller 24 Stunden wechselt...


----------



## SKg (29 April 2010)

Dann mußt du die Fritzbox in NetPro löschen und anstatt der Spezifischen Verbindung eine unspziefische Verbindung einfügen!
Habe das mal gemacht und habe gleich die Warnung bekommen das diese Verbindung auch netzübergreifend sein kann und man die Routereinstellungen prüfen soll!

Eine Warnung ist kein Fehler also sollte der CP mit der Öffentlichen IP klarkommen!
Habe das Projekt auch gleich archiviert und hochgeladen!

Gruß
SKg


----------



## SKg (10 Mai 2010)

Wie sieht es denn mit dem E-Mail versenden jetzt aus?
Keine rückmeldungen:sm17:


----------



## OKL (17 Mai 2010)

Hi.

Ist noch in Arbeit. War bisher wenig Zeit um das zu testen.

Wenn du mal in der Nähe von C bis, kannst du auch gern mal vorbeikommen.

Bis später.


----------

