Typ |
Funktionsbaustein |
Verfügbar ab |
V1.1.2.0 |
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.
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 Steuerungsdateisystem 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.
|
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.
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.
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 |
|
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.
|
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. |