FB_Smtp

FB_Smtp 1:

Der Funktionsbaustein FB_Smtp schickt per ADS einen Bytestream an ein ADS-Remotegerät. Auf dem ADS-Remotegerät muss der TwinCAT ADS SMTP Service laufen, um den Bytestream entgegenzunehmen und zu einer E-Mail zu verarbeiten. Nach der Bytesteam-Verarbeitung wird dann die E-Mail versendet.
Zu beachten ist, dass der SMTP-Server keine Passwort-Überprüfung unterstützt, da der TwinCAT ADS SMTP Service sich nicht per Passwort-Überprüfung am Server anmeldet.

FB_Smtp 2: Eingänge

VAR_INPUT
    sNetId    : T_AmsNetID;  (* AmsNetID *)
    sSmtpServer : T_MaxString; (* Smtp-Server address (IP or Name) *)
    sFrom     : T_MaxString; (* Sender string *)
    sTo       : T_MaxString; (* To recipient string *)
    sCc       : T_MaxString; (* Cc recipient string *)
    sBcc      : T_MaxString; (* Bcc recipient string *)
    sSubject  : T_MaxString; (* Subject string *)
    pMessage  : DWORD;       (* Pointer to the message *)
    cbMessage : UDINT;       (* Messagelenght to send *)
    bExecute  : BOOL;
    tTimeout  : TIME := T#20s;
END_VAR

Name

Typ

Beschreibung

sNetId

T_AmsNetID

AmsNetID, worauf der TwinCAT Mailserver läuft.

sSmtpServer

T_MaxString

Name oder IP des SMTP-Servers

sFrom

T_MaxString

Ein String der die E-Mail-Adresse des Absenders enthält. Es muss ein Absender angegeben werden. Der String ist auf 255 Zeichen begrenzt.

sTo

T_MaxString

Ein String, der die E-Mail-Adressen der Empfänger beinhaltet. Es können mehrere Adressen angegeben werden. Diese müssen dann mit einem Semikolon getrennt werden. Es muss mindestens ein Empfänger angegeben werden. Der String ist auf 255 Zeichen begrenzt.

sCc

T_MaxString

Ein String mit einer E-Mail-Adresse eines weiteren Empfängers (Cc=Carbon Copy). Es kann auch ein Leerstring angegeben werden. Eine Kopie der E-Mail wird an diesen Empfänger gesendet. Die E-Mail-Adresse dieses Empfängers wird bei anderen Empfängern sichtbar. Es dürfen mehrere Empfängeradressen getrennt durch Semikolons angegeben werden. Der String ist auf 255 Zeichen begrenzt.

sBcc

T_MaxString

Ein String mit einer E-Mail-Adresse eines weiteren Empfängers (Bcc=Blind Carbon Copy). Es kann auch ein Leerstring angegeben werden. Eine Kopie der E-Mail wird an diese\n Empfänger gesendet. Die E-Mail-Adresse dieses Empfängers wird bei anderen Empfängern nicht sichtbar. Es dürfen mehrere Empfängeradressen getrennt durch Semikolons angegeben werden. Der String ist auf 255 Zeichen begrenzt.

sSubject

T_MaxString

Ein String mit dem Betreff der E-Mail. Die E-Mail kann auch ohne Betreff versendet werden. Sie bekommt dann automatisch den Namen vom versendenden Computer in den Betreff eingetragen (z. B. "Mail send from: CX_00762C"). Der String für den Betreff ist auf 255 Zeichen begrenzt.

pMessage

DWORD

Die Adresse (Pointer) eines nullterminierten Strings mit dem E-Mail-Text. Die E-Mail kann auch ohne Body-Text versendet werden, sie bekommt dann automatisch einen kleinen Satz mit dem Sendedatum und Uhrzeit eingetragen (z. B. "Mail send at: Thu, 23 Mar 2006 02:31:44 -0800"). Die Adresse des Strings kann mit dem ADR-Operator ermittelt werden.

cbMessage

UDINT

Die Länge des E-Mail-Textes. Die Länge kann durch den LEN-Operator ermittelt werden.

bExecute

BOOL

Eine steigende Flanke an diesem Eingang aktiviert den Funktionsbaustein.

tTimeout

TIME

Maximale Zeit, die bei der Ausführung des Befehls nicht überschritten werden darf.

FB_Smtp 3: Ausgänge

VAR_OUTPUT
    bBusy : BOOL;
    bError : BOOL;
    nErrId : UDINT;
END_VAR

Name

Typ

Beschreibung

bBusy

BOOL

Dieser Ausgang bleibt so lange auf TRUE, bis der Funktionsbaustein eine Befehlsanforderung ausführt, längstens aber für die Dauer der an dem tTimeOut-Eingang angelegten Zeit.

bError

BOOL

Dieser Ausgang wird auf TRUE geschaltet, wenn bei der Ausführung eines Befehls ein Fehler aufgetreten ist. Der befehlsspezifische Fehlercode ist in iErrorId enthalten.

nErrId

UDINT

Enthält den befehlsspezifischen Fehlercode des zuletzt ausgeführten Befehls (siehe Tabelle).

FB_Smtp 4:

Stellen Sie sicher, dass Sie \o nicht innerhalb der Byte-Anordnung verwenden, ansonsten wird die Nachricht gestoppt.

Die maximale Anzahl von Zeichen in einer Nachricht beträgt 510.725 - insgesamt haben Sie 1275 Zeichen für From, To, Cc, Bcc und Subject.

Voraussetzungen

Entwicklungsumgebung

Zielplattform

Einzubindende SPS-Bibliotheken

TwinCAT v3.0.0

PC or CX (x86)

Tc2_Smtp