FB_Pop3EMailClient

Übersicht

Typ

Funktionsbaustein

Verfügbar ab

V1.1.2.0

G-SE-0057577.1.gif-high.gif

 

 

Aufgabe

Der Funktionsbaustein FB_Pop3EMailClient enthält die zugehörigen Funktionen für das Empfangen und Löschen von E-Mails mithilfe von POP3. Jede Instanz verwaltet eine POP3-Verbindung.

Funktionsbeschreibung

Der Funktionsbaustein FB_Pop3EMailClient fungiert als Benutzerschnittstelle für die Interaktion mit einem externen POP3-E-Mail-Server. Er ermöglicht Ihnen das Empfangen und Löschen von E-Mails. Durch die Verwendung von Anhängen empfangener E-Mails erhalten Sie Informationen zu verschiedenen Systemfunktionen, die auf Dateien im Systemspeicher basieren. Einige Dateierweiterungen dürfen nicht mittels FB_Pop3EMailClient auf dem Steuerungsdatei­system gespeichert werden (siehe Parameter ET_EmailStatus.InvalidAttachmentExtension). Dies betrifft Dateien, die automatisch von der Steuerung verarbeitet werden, sowie Systemdateien, wie die Steuerungsfirmware, damit keine Dateien versehentlich überschrieben werden.

Caution_Color.gifVORSICHT

UNGÜLTIGER ZEIGER

Überprüfen Sie die Gültigkeit der Zeiger, wenn Sie Zeiger für Adressen verwenden und den Befehl „Online Change“ ausführen.

Die Nichtbeachtung dieser Anweisungen kann Verletzungen oder Sachschäden zur Folge haben.

Nach der Aktivierung des Funktionsbausteins und dessen Ausführung wird unter Verwendung der benutzerspezifischen Anmeldedaten, die über iq_stCredentials zugeteilt wurden, eine TCP-Verbindung zum POP3-Server hergestellt. Sobald die Verbindung hergestellt wurde, wird der über i_etCommand angegebene Befehl ausgeführt.

Bei der Ausführung des Funktionsbausteins werden die Zeiger für i_pbyMessage und iq_stCredentilas.i_pbyWhiteListSender  intern zur weiteren Verwendung gespeichert. Wenn während der Ausführung des Funktionsbausteins (q_xBusy = TRUE) eine Online-Änderung erkannt wird, werden die intern verwendeten Variablen mit dem aktuellen Wert der Zeiger aktualisiert.

HINWEIS: Weisen Sie i_pbyMessage und iq_stCredentilas.i_pbyWhiteListSender  keinem anderen Speicherbereich zu, während der Funktionsbaustein ausgeführt wird.

Nach Abschluss der Datenübertragung wird die TCP-Verbindung zum POP3-Server automatisch vom Funktionsbaustein beendet. Empfangene E-Mails werden vom POP3-Server gelöscht.

Der Funktionsbaustein FB_Pop3EMailClient speichert die Informationen der empfangenen E-Mails in dem vom Zeiger i_pbyMailboxBuffer adressierten Speicherbereich. Die Positionen innerhalb des Puffers mit den Informationen der verschiedenen E-Mails werden von den Zeigern in der Struktur iq_astInbox ausgewiesen. Wenn bei aktiviertem Funktionsbaustein FB_Pop3EMailClient eine Online-Änderung erkannt wird, erfasst der Funktionsbaustein eine mögliche Änderung des Zeigers für i_pbyMailboxBuffer, sodass die in der Struktur iq_astInbox bereitgestellten Zeiger entsprechend aktualisiert werden.

HINWEIS: Verarbeiten Sie die Informationen der empfangenen E-Mails, bevor Sie eine Änderung an der Adresse des Zeigers i_pbyMailboxBuffer für die nächste Ausführung vornehmen.

Sie können E-Mails auch manuell löschen, indem Sie die E-Mail mittels ihrer eindeutigen ID am Eingang i_sUniqueId spezifizieren und den Löschbefehl mit i_etCommand ausführen. Wenn weitere Befehle ausgeführt werden, wird die in q_astInbox verfügbare Posteingangsstruktur mit den Referenzen zu den E-Mail-Daten zurückgesetzt.

Empfangene E-Mails werden im flüchtigen Speicher gehalten. Der flüchtige Speicher wird geleert, wenn die Stromzufuhr unterbrochen wird und alle darin gehaltenen E-Mails werden gelöscht.

HINWEIS

DATENVERLUST

Speichern Sie eingehende E-Mails im nicht-flüchtigen Speicher.

Die Nichtbeachtung dieser Anweisungen kann Sachschäden zur Folge haben.

Während der Ausführung des Funktionsbausteins steht der Ausgang q_xBusy auf TRUE. Der Ausgang q_xDone wird auf TRUE gesetzt, sobald der Funktionsbaustein erfolgreich ausgeführt wurde.

Die Abbildung zeigt das Signalverhalten der Eingänge und Ausgänge des Funktionsbaustein.

G-SE-0053317.1.gif-high.gif

 

 

Statusmeldungen und Diagnoseinformationen werden unter Verwendung der Ausgänge q_xError (TRUE, wenn ein Fehler erkannt wurde), q_etResult und q_etResultMsg bereitgestellt.

Um erkannte Fehler zu quittieren, deaktivieren und aktivieren Sie den Funktionsbaustein dann erneut, um eine E-Mail empfangen oder löschen zu können.

Schnittstelle

Eingang

Datentyp

Beschreibung

i_xEnable

BOOL

Aktivierung und Initialisierung des Funktionsbausteins.

i_xExecute

BOOL

Bei steigender Flanke an diesem Eingang empfängt oder löscht der Funktionsbaustein eine E-Mail.

i_etCommand

ET_Command

Die Aufzählung, die den auszuführenden Befehl angibt.

i_pbyMailboxBuffer

POINTER TO BYTE

Startadresse des ersten Byte, in dem die eingehenden E-Mails gespeichert sind.

i_udiBufferSize

UDINT

Größe des Mailbox-Puffers.

i_uiEMailsToReceive

UINT

Anzahl der vom Server zu empfangenden E-Mails.

i_sFilePath

STRING[200]

Pfad zum Ordner im Steuerungsdateisystem, in dem der Ordner EMailAttachments erstellt wird. In diesem Ordner werden die Anhänge der empfangenen E-Mails gespeichert. Die im Parameter ET_EMailStatus.InvalidAttachmentExtension definierte Dateierweiterung kann nicht gespeichert werden.

HINWEIS: Wenn der globale Parameter ST_CredentialsReceiveEMail.i_xOverwriteAttachment auf TRUE gesetzt ist, kann es vorkommen, dass eine vorhandene Datei in diesem Ordner überschrieben wird, wenn Sie einen zweiten Anhang mit identischen Namen erhalten.

Wenn diese Zeichenfolge leer ist, wird der Ordner EMailAttachments unter dem standardmäßigen Dateipfad der Steuerung erstellt.

i_sUniqueID

STRING[70]

Die zum Löschen einer E-Mail erforderliche, eindeutige ID. Die eindeutige ID wird am Ausgang q_astInbox angezeigt, wenn die E-Mail vom Server empfangen wurde.

Eingang/Ausgang

Datentyp

Beschreibung

iq_stCredentials

ST_CredentialsReceiveEMail

Verwendet, um die Struktur mit den Benutzereinstellungen wie Benutzername oder Passwort zu übermitteln.

iq_astInbox

ARRAY [1…GPL.Gc_udiInboxSize] OF ST_EMail

Die Struktur mit den Informationen der empfangenen E-Mails.

Ausgang

Datentyp

Beschreibung

q_xActive

BOOL

Wenn der Funktionsbaustein aktiv ist, wird dieser Ausgang auf TRUE gesetzt.

q_xReady

BOOL

Nach erfolgreicher Initialisierung übergibt der Ausgang den Wert TRUE, solange der Funktionsbaustein betriebsbereit ist.

q_xBusy

BOOL

Wenn dieser Ausgang auf TRUE gesetzt wird, bedeutet das, dass der Funktionsbaustein ausgeführt wird.

q_xDone

BOOL

Wenn dieser Ausgang auf TRUE gesetzt wird, wurde die Ausführung erfolgreich abgeschlossen.

q_xError

BOOL

Wenn dieser Ausgang auf TRUE gesetzt wird, wurde ein Fehler identifiziert. Für weitere Informationen, siehe q_etResult und q_etResultMsg,

q_etResult

ET_Result

Gibt Diagnose- und Statusinformationen an.

q_sResultMsg

STRING[80]

Gibt zusätzliche Diagnose- und Statusinformationen an.

q_udiNumberOfEmails

UDINT

Abhängig von ausgeführtem i_etCommand:

oET_Command.CheckInbox: Gibt die Anzahl der auf dem Server verfügbaren E-Mails an.

oET_Command.Receive: Gibt die Anzahl der vom Server empfangenen E-Mails an.

Wenn ein Fehler erkannt wurde, gibt der Ausgang die Anzahl der erfolgreich heruntergeladenen E-Mails an.

oET_Command.Delete: Gibt die Anzahl der gelöschten E-Mails an.

Verwendung von Variablen des Typs POINTER TO ... oder REFERENCE TO ...

Der Funktionsbaustein POINTER stellt Eingänge und/oder Ein-/Ausgänge vom Typ POINTER TO… oder REFENCE TO… bereit. Mithilfe eines derartigen Zeigers bzw. einer derartigen Referenz greift der Funktionsbaustein auf den adressierten Speicherbereich zu. Bei einer Online-Änderung kann es vorkommen, dass die Speicherbereiche zu neuen Adressen verschoben wurden. Infolgedessen ist ein Zeiger bzw. eine Referenz dadurch ungültig. Um Fehler in Verbindung mit ungültigen Zeigern zu vermeiden, müssen Variablen des Typs POINTER TO… oder REFERENCE TO… zyklisch aktualisiert werden oder zumindest am Anfang des Zyklus, in dem sie verwendet werden.

Caution_Color.gifVORSICHT

UNGÜLTIGER ZEIGER

Überprüfen Sie die Gültigkeit der Zeiger, wenn Sie Zeiger für Adressen verwenden und den Befehl „Online Change“ ausführen.

Die Nichtbeachtung dieser Anweisungen kann Verletzungen oder Sachschäden zur Folge haben.