OSCAT Forum

network.lib => Modulentwicklung => Thema gestartet von: good_mike am 14. Dezember 2009, 21:05:31

Titel: Email versenden aus TwinCat (CX9000)
Beitrag von: good_mike am 14. Dezember 2009, 21:05:31
Hallo,

ich möchte mit meinen CX9000 Email's versenden um z.B. um Fehler oder bestimmte Zustände meiner (Haus-)Steuerung zu übermitteln. Bei Beckhoff habe ich die .LIB   
TwinCAT SMS/SMTP Server CE gefunden, mit welcher das funktionieren soll. Diese ist aber kostenpflichtig. Gib es einen kostenfreie Alternative mit OSCAT??

Schöne Grüß und besten Dank im Vorraus.

good_mike

Titel: Re:Email versenden aus TwinCat (CX9000)
Beitrag von: peewit am 15. Dezember 2009, 00:15:33
leider können wir noch nicht mit einer passenden email lösung dienen.

da wir immer versuchen das die gleiche funktionalität der lib auf allen portierten systemen verfügbar ist, wir müssen zuerst

eine sonderlösung der ethernet kommunikation für beckhoff realisieren
eine sonderlösung des filesystem für beckhoff realisieren
und überhaupt erst einen email client

also es steht auf den plan, aber drauf warten solltest du nicht !
 
Titel: Re:Email versenden aus TwinCat (CX9000)
Beitrag von: good_mike am 15. Dezember 2009, 09:34:32
Hallo,

vielen Dank für die schnelle und kompetent Antwort!!

Ich habe mir einen "workaround" überlegt. Evtl. ist das einfacher zu realisieren:

Über den Aufruf einer bestimmten URL kann man z.B. bei SMS4.de einen SMS wegschicken und könnte so einen Alarm von meiner Steuerung übermitteln.
(Anleitung: http://www.sms4.de/cgi-bin/sms_http.pl). (http://www.sms4.de/cgi-bin/sms_http.pl).))

Hat jemand eine Idee wie man so etwas macht....
Ich habe in der OSCAT Doku schon Info's bezüglich URL Aufrufen gefunden, kann das aber nicht so recht einordnen, da ich in dieser Hinsicht noch ziemlich am Anfang stehe. Aber ich denk mir immer "Auch Zwerge haben mal klein angefangen... :-))"

Manuell, durch Eingabe der entspr. URL in den IE, hat's schon funktioniert.

Nochmals vielen Dank an alle die sich in diesem Forum und im gesamten OSCAT-Bereich engagieren. Einfach Spitze!!

good_mike
Titel: Re:Email versenden aus TwinCat (CX9000)
Beitrag von: McNugget2000 am 15. Dezember 2009, 10:20:14
Ich habe mir mal überlegt so etwas in Verbindung mit der Lösung David von Tobit zu machen.

Diese ist in der Lage aus einer ASCII Zeichenfolge, in der verschiedene Proprietäre Befehle eingebunden werden, Mails SMS oder gar Faxe zu machen und zu versenden.

Ist zwar auch wieder an eine kostenpflichtige Lösung gekoppelt, aber vielleicht ja ganz interessant, da David auch Automationsintegration bietet.


Eine andere Lösung wären SNMP Traps oder Requests, aus denne der jeweilige Client dann passenden Meldungen generiert. Das sollte recht universell möglich sein, wenn man sich nur den Client selber schreibt (z.b. mit delphi/Lazarus).


Gruss

McNugget
Titel: Re:Email versenden aus TwinCat (CX9000)
Beitrag von: peewit am 15. Dezember 2009, 10:33:59
ja, es gibt hier viele möglichkeiten hier eine kommunikation über Internet-Medien zu realisieren

das grösste problem von good_mike ist jedoch das er eine Beckhoff-Hardware benutzt, und dazu haben wir noch keinen IP_CONTROL Wrapper Baustein erstellt, somit hilft dir unsere network.lib gar nichts !

sobald wir diesen haben , ist alles andere relativ wenig aufwand....

@good_mike
Zitat
Ich habe in der OSCAT Doku schon Info's bezüglich URL Aufrufen gefunden, kann das aber nicht so recht einordnen, da ich in dieser Hinsicht noch ziemlich am Anfang stehe. Aber ich denk mir immer "Auch Zwerge haben mal klein angefangen... :-))"

du kannst du ja die codesys network.lib inklusive doku runterladen. in der lib gibt einen Bausteingruppe "Demo" dort kannst du dir das verschaltungskonzept ansehen.


eine möglichkeit wäre den baustein "sys_log" zu nutzen, und dazu auf einen PC eine SYS_LOG_Manager Software laufen lassen , damit kannst du mitunter solche meldungen dann über Email weiterleiten.
dazu müsstet du auf der beckhoff hardware jedoch das Datensenden selber ausprogrammieren.
Titel: Re:Email versenden aus TwinCat (CX9000)
Beitrag von: McNugget2000 am 15. Dezember 2009, 11:34:39
@peewit: gibt es sooo riesen Unterschiede zwischen Wago und Beckhoff? Oder sind die Probleme nur in den verschiedenartigen LIB-Umsetzungen der Hersteller begründet?

Gruss

McNugget
Titel: Re:Email versenden aus TwinCat (CX9000)
Beitrag von: peewit am 15. Dezember 2009, 12:38:22
es ist zwar alles IEC 61131, aber der schein trügt
es gibt schon auf programmierebene grosse unterschiede, denn die iec ist nur eine richtlinie der mehr oder weniger entsprochen wird.

der riesen unterschied liegt aber an dem bereitgestellten User-Interface zur Hardware für Sonderfunktionen (Ethernet, Filesystem usw...)

selbst bei WAGO selber gibt es zwei Ansätze
die SysLibSocket.lib und die Wagoethernet.lib , je nach sps muss man das jeweilige anwenden, und die sind mitunter ziemlich unterschiedlich
und bei beckhoff gibt es wieder eine andere lib, und die einzelnen funktionen sind mit anderen hersteller nicht kompatibel.
Phoenix Contact hat es über drei Bausteine gelöst IP_CONNECT,IP_SEND,IP_RECEIVE
Siemens hat wieder eine andere Schnittstelle
und so nimmt die tragödie seinen lauf ....

darum haben wir als lösung einen IP_CONTROL erfunden dem wir eine neue einfache schnittstelle verpasst haben und im inneren werden
alle plattform / Systembibliothek und hardwareabhängigen Eigenschaften gekapselt, so dass nur ein baustein je plattform sich unterscheidet
und alle anderen mehr oder weniger 1:1 portiert werden können.

somit haben wir eine einmalige Lösung um eine bibliothek auf vielen systemen zum laufen zu bekommen.
wir machen das was die Firmen nicht zustande bringen (wollen).

traurig aber wahr !
Titel: Re:Email versenden aus TwinCat (CX9000)
Beitrag von: gravieren am 15. Dezember 2009, 19:03:55
Hi



Wenn du einen TELNET-Befehl hast geht das folgendermassen.


http://www.outlook-net.de/7-16.htm

oder hier noch besser.

http://www.netgeiger.de/Knut/Tips_Tricks/Computer/E-Mail/smtp.php


Titel: Re:Email versenden aus TwinCat (CX9000)
Beitrag von: peewit am 16. Dezember 2009, 00:00:59
die anleitungen sind nicht schlecht, zum lernen

prinzipiell ist das email versenden eine ziemlich einfache sache , aber
diese simplen verfahren funktionieren aber nicht mehr bei allen email-servers , da diese nicht immer einen unauthorisierten email-versand zulassen

etwas mehr auswand muss man dann noch investieren, wenn es um die spezifischen eigenheiten der jeiligen smtp-server geht
hier gibt es verschiedene authenifiziertungs-verfahren  , POP3 vor SMTP , HTTP Authentification, CRAM-MD5  , und mit einen email-client möchte ich normalerweise auch dateien versenden
dann muss man diese dateien noch auf "MIME" wandeln (base64 codierung) und über filesystem einlesen und geblockt über ethernet versenden
und und und ......

beim nächsten network.lib Update werden wir schon mal die base64,MD5 und SHA1 routinen reinbringen, und dann ist es zum ersten simplen email-program auch nicht mehr so weit her.....

ich werde im ersten schritt mal einen email-client vorsehen der noch keine file versenden kann... das kommt erst im zweiten schritt....
Titel: Re:Email versenden aus TwinCat (CX9000)
Beitrag von: good_mike am 16. Dezember 2009, 18:32:05
Hallo,

erst mal vielen Dank für Euere Mühe.

Hört sich interesant, aber auch (für mich) kompliziert an.
Ich schon auf die von peewit erwähnten Erweiterungen gespannt.... Hoffentlich komm ich dann klar!?!?!
Aber ich habe ja Euch.... :) :)

Grüsse

good_mike
Titel: Re:Email versenden aus TwinCat (CX9000)
Beitrag von: Tom am 13. März 2010, 08:33:44
Der Thread ist zwar schon älter, hab ihn aber erst jetzt gelesen ...

Es gibt noch einen unter XP recht problemlosen Workaround: In der TcUtilities.lib gibts einen FB namens NT_StartProcess. Mit diesem könnte man z.B. recht einfach das Wget-Beispiel in http://www.sms4.de/cgi-bin/sms_http.pl (http://www.sms4.de/cgi-bin/sms_http.pl) umsetzten. Wenn's Probleme mit der Kommandozeile gibt, einfach in eine Batch-Datei packen und diese aufrufen. Man könnte auch Telnet-Befehle in eine Batch packen und so eine Email-Schnittstelle bedienen. Übern Browser würde ich es nicht machen, man müsste sicherstellen, dass er auch wieder geschlossen wird.

Das Problem ist WinCE: Ich wollte mal versuchen, Wget für CE zu übersetzen, bin aber noch nicht dazu gekommen. Ich weiß jetzt nicht aus dem Kopf, ob ein Telnet-Client dabei ist, ich glaube aber nicht. Müsste man mal schauen, ob's da was kostenloses gibt.