FP_SMTP_SET_MODE

SMTP-Datenübertragungsmodus einstellen

Dieser FP-Befehl konfiguriert die Übertragungseinstellungen für ereignisgetriggerte E-Mails. Verwenden Sie diesen Befehl zusammen mit den Befehlen FP_SMTP_CONNECTION, um die SMTP-Servereinstellungen vorzunehmen und FP_SMTP_SET_GROUP, um die Zielgruppe anzugeben.

Parameter

Eingang

nTransferID (WORD, INT, UINT)

Einstellen der Datenübertragungs-Einstellungs-ID.

Werte: 0–15 (Werte müssen in aufsteigender Folge angegeben werden)

sTrigger (STRING)

Stellen Sie den Triggertyp mit einem oder mehreren der folgenden Schlüsselworteinstellungen ein:

  • 'TRIG=BITON,xxx': Sendet eine E-Mail bei der steigenden Flanke des angegebenen Bits.

    Werte:X, Y, R, L, SR, E, DT.n, LD.n, SD.n

    Beispiel:'TRIG=BITON,R100' sendet eine E-Mail bei der steigenden Flanke von R100.

  • 'TRIG=TIME,xxxx,yyyy': Sendet eine E-Mail an dem angegebenen Tag und/oder zur angegebenen Zeit.

    Werte:

    \min,ss (jede Minute, eingestellte Zeit in Sekunden)

    \hour,mm:ss (jede Stunde, eingestellte Zeit in Minuten und Sekunden)

    \day,hh:mm:ss (jeder Tag, eingestellte Zeit in Stunden, Minuten und Sekunden)

    \mon,DD:hh:mm:ss (jeder Monat, eingestelltes Datum als Tag, Stunden, Minuten und Sekunden)

    \year,MM:DD:hh:mm:ss (jedes Jahr, eingestelltes Datum als Monat, Tag, Stunden, Minuten und Sekunden)

    \week,hh:mm:ss-w (jede Woche, eingestellter Tag und Zeit als Stunden, Minuten, Sekunden und Wochentag)

    ss=Sekunden (0–59), mm=Minuten (0–59), hh=Stunden (0–23), DD=Tag (1–31), MM=Monat (1–12), w=Wochentag (0=Sonntag, 1=Montag, 2=Dienstag, 3=Mittwoch, 4=Donnerstag, 5=Freitag, 6=Samstag)

    Beispiele:
    1. Jeden Tag um 13:30: 'TIME,/day,13:30:00'

    2. Jedes Jahr am 1. April um 9:00: 'TIME,/year,4:1:9:0:0'

    3. Jede Woche am Freitag um 23:50: 'TIME,/week,23:50:00-5'

  • 'TRIG=CYCLIC,xxxx': Sendet eine E-Mail in regelmäßigen Intervallen.

    Werte:

    30SEC (30 Sekunden)

    1MIN, 2MIN, 3MIN, 4MIN, 5MIN, 6MIN, 10MIN, 15MIN, 30MIN (Minuten)

    1HOUR, 2HOUR, 3HOUR, 4HOUR, 6HOUR, 12HOUR, 24HOUR (Stunden)

    Der kürzeste Zyklus beträgt 30 Sekunden. Sie können nur eine Zykluszeit einstellen (Werte wie '1MIN30SEC' können nicht eingestellt werden).

    Beispiel:'TRIG=CYCLIC,30SEC' sendet alle 30 Sekunden eine E-Mail.

  • 'TRIG=PROGRAM': Sendet eine E-Mail, wenn der Befehl FP_SMTP_TRANSFER_REQUEST ausgeführt wird.

  • TRIG=STATUS,xxx1,xxx2,xxx3: Sendet eine E-Mail, wenn eine der angegebenen SPS-Statusänderungen eintritt.

    Werte:

    PROG>RUN (beim Umschalten von PROG auf RUN)

    RUN>PROG (beim Umschalten von RUN auf PROG)

    ERR>STOP (wenn ein Selbstdiagnosefehler auftritt und der Betrieb angehalten wird)

    ERR>RUN (wenn ein Selbstdiagnosefehler auftritt und der Betrieb fortfährt)

    ERRCLR (wenn ein Fehler gelöscht wird)

    Beispiele:
    1. Wenn sich der SPS-Status von PROG in RUN verändert: 'TRIG=STATUS,PROG>RUN'

    2. Wenn eine der folgenden Bedingungen erfüllt ist: ein Selbstdiagnosefehler tritt auf oder wenn ein Fehler beseitigt wird: 'TRIG=STATUS,ERR>STOP,ERR>RUN,ERRCLR'

sGroupNumber_Subject

Einstellen der Zielgruppennummer und des Betreffs der E-Mail.

  • Einstellen von bis zu acht Zielgruppennummern mit der Schlüsselwortsyntax 'GRPNO=n1+n2+…+n8'.

    Werte: 0–7

  • Einstellen des Betreffs mit einer der zwei folgenden Schlüsselworteinstellungen:

    • 'SUBJECT=xxxxxx': Einstellen eines benutzerdefinierten Betrefftextes.

    • 'SUBJECTAUTO': Automatisch erzeugter Betreff mit Informationen über den Sendetriggertyp.

      Automatisch erzeugte Betreffe:

      Japanisch

      Englisch

      ビットON 検出(R100)

      Bit ON detect (R100)

      一定周期メール(1分毎)

      Interval mail (1 minute)

      一定周期メール(24 時間毎)

      Interval mail (24 hour)

      指定時刻メール(毎分・0 秒)

      Specified time (every minute 0s)

      指定時刻メール(毎時・0 分0 秒)

      Specified time (every hour 0m0s)

      指定時刻メール(毎日・17 時30 分0 秒)

      Specified time (every day 17h30m0s)

      指定時刻メール(毎週・金曜・17 時30 分0 秒)

      Specified time (every Friday 17h30m00s)

      PLC 状態変化(電源ON)

      PLC status change (power on)

      PLC 状態変化(PROG>RUN スイッチ切り替え)

      PLC status change (PROG > RUN)

      PLC 状態変化(RUN>PROG スイッチ切り替え)

      PLC status change (RUN > PROG)

      PLC 状態変化(演算停止自己診断エラー検知)

      PLC status change (operation stop error)

      PLC 状態変化(演算継続自己診断エラー検知)

      PLC status change (operation continuous error)

      PLC 状態変化(エラー解除)

      PLC status change (error release)

      SMTPcREQ 命令による

      SMRPcREQ command

    Hinweis:

    • Die Sprache, die für automatisch erzeugte Informationen verwendet wird, wird mit dem Befehl FP_SMTP_SET_CONNECTION angegeben. Verwenden Sie den Parameter sCommunication, um die Sprache von Japanisch (Standardeinstellung) auf Englisch umzuschalten.

    • Wenn mehrere SPS-Statusänderungen als Triggertyp angegeben wurden, enthält der Betreff die Statusänderung, die den Versand der E-Mail ausgelöst hat.

    • Die Schlüsselwörter 'GRPNO' und 'SUBJECT' müssen durch Kommas getrennt und in dieser Reihenfolge eingegeben werden.

Beispiele:
  1. Zielgruppennummer 0, benutzerdefinierter Betreff "Time notification e-mail": 'GRPNO=0,SUBJECT=Time Notification E-Mail'

  2. Zielgruppennummern 1, 3, 4, 7, benutzerdefinierter Betreff "Cyclic notification e-mail": 'GRPNO=1+3+4+7,SUBJECT=Cyclic notification e-mail'

  3. Zielgruppennummern 0 bis 7, automatisch erzeugter Betreff: 'GRPNO=0+1+2+3+4+5+6+7,SUBJECTAUTO'

sBodyText (STRING)

Geben Sie eine Variable an, die den Text der E-Mail oder eine Zeichenfolge enthält.

Maximale Länge der Zeichenfolge 4096 Ein-Byte-Zeichen für CPUs der Version 4.1 oder höher und der Versionen 3.4 bis 3.x.

256 Ein-Byte-Zeichen für alle anderen Versionen.

sAttachment (STRING)

Geben Sie an, ob zusätzliche Informationen oder ein Dateianhang gesendet werden sollen oder nicht.

Schließen Sie zusätzliche Informationen in den E-Mail-Text mit einer der folgenden Schlüsselworteinstellungen ein:

  • 'INFO=NON': Keine Informationen automatisch hinzufügen

  • 'INFO=ADD': Ereignisinformationen hinzufügen (welches Ereignis die E-Mail getriggert hat)

Die folgenden Informationen werden dem E-Mail-Text hinzugefügt:

Japanisch

Englisch

基本項目

  • 送信元
  • CPU 型番
  • IPv4 アドレス
  • IPv6 アドレス

Basic information

  • From

  • CPU Part number (z.B. CPS41E)

  • IPv4-Adresse

  • IPv6-Adresse

トリガ種類

Detailed information

ビットON 検出(R100)

Bit ON detect (R100)

一定周期メール(1分毎)

Interval mail (1 minute)

一定周期メール(24 時間毎)

Interval mail (24 hour)

指定時刻メール(毎分・0 秒)

Specified time (every minute 0s)

指定時刻メール(毎時・0 分0 秒)

Specified time (every hour 0m0s)

指定時刻メール(毎日・17 時30 分0 秒)

Specified time (every day 17h30m0s)

指定時刻メール(毎週・金曜・17 時30 分0 秒)

Specified time (every Friday 17h30m00s)

PLC 状態変化(電源ON)

PLC status change (power on)

PLC 状態変化(PROG>RUN スイッチ切り替え)

PLC status change (PROG > RUN)

PLC 状態変化(RUN>PROG スイッチ切り替え)

PLC status change (RUN > PROG)

PLC 状態変化(演算停止自己診断エラー検知)

PLC status change (operation stop error)

PLC 状態変化(演算継続自己診断エラー検知)

PLC status change (operation continuous error)

PLC 状態変化(エラー解除)

PLC status change (error release)

SMTPcREQ 命令による

SMRPcREQ command

Hinweis:

  • Die Adressinformationen hängen davon ab, ob eine IPv4- oder IPv6-Adresse durch FP_SMTP_SET_CONNECTION angegeben wurde.

  • Die Sprache, die für automatisch erzeugte Informationen verwendet wird, wird mit dem Befehl FP_SMTP_SET_CONNECTION angegeben. Verwenden Sie den Parameter sCommunication, um die Sprache von Japanisch (Standardeinstellung) auf Englisch umzuschalten.

Schließen Sie Daten und/oder Dateianhänge mit einer der folgenden Schlüsselworteinstellungen ein:

  • 'ATT=NONE': Der E-Mail keine weiteren Daten hinzufügen.

  • 'ATT=DATA,xxxxxxx': Dem E-Mail-Text Daten aus dem Speicherbereich hinzufügen.

    Die folgenden Informationen werden dem E-Mail-Text hinzugefügt:

    Informationen zum E-Mail-Text hinzugefügt (Japanisch)

    Informationen zum E-Mail-Text hinzugefügt (Englisch)

    デバイス取得項目

    • デバイス取得(例:DT100)
    • データ数(例:4 デバイス)
    • 変換方法
    • 数値,数値,数値,数値

    Device get information

    • Device number (z.B. DT100)

    • Number of data (z.B. 4 Register)

    • Conversion method

    • <Numerical value1>, <Numerical value2>, <Numerical value3>, <Numerical value4>

    Geben Sie die Startadresse, die Anzahl der übertragenen Daten, die Konvertierungsmethode und die Zeilenumbruchposition an.

    Werte:

    Speicherbereich und Startadresse: WX, WY, WR, WL, DT, LD, SD

    Anzahl der übertragenen Daten: 1–1000

    Umwandlungsmethode:

    • BIN1w (unkonvertiertes 16-Bit-Binärformat, kann nicht zum Hinzufügen von Daten zu E-Mail-Texten verwendet werden, verwenden Sie stattdessen das Schlüsselwort 'FILE')

    • US (16-Bit vorzeichenlos dezimal)

    • SS (16-Bit vorzeichenbehaftet dezimal)

    • UL (32-Bit vorzeichenlos dezimal)

    • SL (32-Bit vorzeichenbehaftet dezimal)

    • SF (32-Bit-Gleitkomma mit einfacher Genauigkeit)

    • DF (64-Bit-Gleitkomma mit doppelter Genauigkeit)

    • HEX1w (16-Bit HEX)

    • HEX2w (32-Bit HEX)

    • HEX4w (64-Bit HEX)

    • ASCII (ASCII-Zeichen, Ausgabe ist in "" eingeschlossen)

    Zeilenumbruchposition 0–255.

    • 0: Ausgabe des Zeilenumbruchs nur am Ende der Datei.

    • n: Ausgabe des Zeilenvorschubs alle n Datenpunkte.

  • 'ATT=DATA,xxxxxxxxxxx,FILE=yyyyyyyyyyy': Dem E-Mail-Text Daten aus dem Speicherbereich hinzufügen und die Daten zusätzlich als Datei anhängen. Verwenden Sie dieselben Datenwerte wie für 'ATT=DATA,xxxxxxx'.

  • 'ATT=FILE,Filename': Datei aus einem bestimmten Ordner auf der SD-Karte anhängen.

    Verwenden Sie die Schlüsselwörter 'TOP' und 'END', um dem Dateinamen (yymmdd_hhmmss) automatisch Datum und Uhrzeit hinzuzufügen.

    TOP: Daten am Anfang des Dateinamens hinzufügen

    END: Daten am Ende des Dateinamens hinzufügen

Hinweis:

  • Die Sprache, die für automatisch erzeugte Informationen verwendet wird, wird mit dem Befehl FP_SMTP_SET_CONNECTION angegeben. Verwenden Sie den Parameter sCommunication, um die Sprache von Japanisch (Standardeinstellung) auf Englisch umzuschalten.

  • Es ist nicht möglich, LOG-Ordnernamen für Dateianhänge ('\LOG0' zu '\LOG15') anzugeben.

  • Um die Zeichenfolge sAttachment zu erzeugen, können Sie auch FP_SMTP_GET_DATA_FORMAT verwenden.

Beispiele:
  1. Keine Informationen oder Daten automatisch hinzufügen: 'INFO=NON,ATT=NONE'

  2. Informationen automatisch hinzufügen, keine Daten hinzufügen: 'INFO=ADD,ATT=NONE'

  3. Keine Informationen automatisch hinzufügen, sondern dem E-Mail-Text 16-Bit-Hex-Daten von DT100 bis DT109 hinzufügen: 'INFO=NON,ATT=DATA,DT100,10,HEX1w'

  4. Keine Informationen automatisch hinzufügen, sondern eine Datei von der SD-Karte anhängen: 'INFO=NON,ATT=FIL,\Folder\FileName.bin'

Ausgang

bError (BOOL)
Wird unter den folgenden Bedingungen auf TRUE gesetzt:
  • wenn eine Zeitüberschreitung der Verbindung überschritten wird,

  • wenn eine IP-Adresse ungültig ist

Wenn ein Fehler auftritt, prüfen Sie die Systemvariable sys_iEthernetConnectionErrorCode auf die Fehlercodenummer.

Anmerkungen

  • Die Anzahl der Zeichen für Zeichenfolgen sollte 4096 für CPU-Module Ver.3.4 bis Ver.3.x und Ver.4.1 oder höher und 256 für andere CPU-Module nicht überschreiten.

  • Dieser Befehl ist in Interrupt-Programmen nicht verfügbar.

  • Groß- und Kleinbuchstaben können für Operanden verwendet werden, für die eine Zeichenkonstante angegeben werden kann. "Abcd", "ABCD" und "abcd" sind gleichbedeutend, bei Dateinamen wird jedoch zwischen Groß- und Kleinschreibung unterschieden.

  • Bevor Sie den Befehl ausführen, müssen Sie die E-Mail-Übertragungsserver mit FP_SMTP_SET_CONNECTION oder dem Einstellungsdialog des SMTP-Clients angeben.

  • Bevor Sie den Befehl ausführen, müssen Sie die E-Mail-Einstellungen mit FP_SMTP_SET_GROUP oder dem Einstellungsdialog des SMTP-Clients angeben.

  • Bevor Sie den Befehl ausführen, stellen Sie sicher, dass sys_bIsEthernetInitializing FALSE ist. sys_bIsEthernetInitializing wird auf TRUE gesetzt, wenn der Befehl ausgeführt wird. Wenn Sie den Befehl ausführen, während sys_bIsEthernetInitializing TRUE ist, tritt ein Fehler auf.

  • Der Befehl kann nur ausgeführt werden, wenn der Merker Datenübertragungsauftrag für die angegebene Datenübertragungseinstellung oder die angegebene nLogID Nummer FALSE ist. Wenn der Merker Datenübertragungsauftrag TRUE ist, tritt ein Operationsfehler auf.

  • Wenn dieser Befehl erfolgreich ausgeführt wurde, werden die Systemvariablen sys_bIsCarry und sys_iEthernetConnectionErrorCode zurückgesetzt.

  • Wenn ein Fehler auftritt, prüfen Sie die Systemvariable sys_iEthernetConnectionErrorCode auf die Fehlercodenummer.

Fehleralarmmerker

sys_bIsOperationErrorHold (wird auf TRUE gesetzt und bleibt TRUE)
  • wenn ein für einen Parameter angegebener Wert außerhalb des zulässigen Bereichs liegt.

  • wenn Datenübertragungs-IDs nicht in aufsteigender Folge angegeben werden.

  • wenn der Befehl in einem Interrupt-Programm ausgeführt wird

  • wenn ein E-Mail-Datenübertragungsserver angegeben ist, der nicht mit dem Befehl FP_SMTP_SET_CONNECTION oder dem Einstellungsdialog des SMTP-Clients konfiguriert wurde.

  • wenn die gleiche Zielgruppennummer redundant angegeben ist.

  • wenn eine Zielgruppennummer angegeben ist, die nicht mit dem Befehl FP_SMTP_SET_GROUP oder dem Einstellungsdialog des SMTP-Clients definiert wurde.

  • wenn der Anforderungsmerker für die E-Mail-Übertragung für die angegebene E-Mail-Übertragungseinstellung auf "TRUE: Übertragung angefordert" gesetzt ist.

  • wenn der Merker Datenübertragungsauftrag für eine angegebene nLogID Nummer TRUE ist, z.B. wenn sys_blsLog0DataRecordingActive TRUE ist.

  • wenn die Anzahl der Zeichen für Zeichenfolgen ihren oberen Grenzwert überschreitet. Der obere Grenzwert beträgt 4096 Zeichen für CPU-Module Ver.3.4 bis Ver.3.x und Ver.4.1 oder höher und 256 Zeichen für andere CPU-Module.

sys_bIsOperationErrorNonHold (wird für einen Zyklus auf TRUE gesetzt)
  • wenn ein für einen Parameter angegebener Wert außerhalb des zulässigen Bereichs liegt.

  • wenn Datenübertragungs-IDs nicht in aufsteigender Folge angegeben werden.

  • wenn der Befehl in einem Interrupt-Programm ausgeführt wird

  • wenn ein E-Mail-Datenübertragungsserver angegeben ist, der nicht mit dem Befehl FP_SMTP_SET_CONNECTION oder dem Einstellungsdialog des SMTP-Clients konfiguriert wurde.

  • wenn die gleiche Zielgruppennummer redundant angegeben ist.

  • wenn eine Zielgruppennummer angegeben ist, die nicht mit dem Befehl FP_SMTP_SET_GROUP oder dem Einstellungsdialog des SMTP-Clients definiert wurde.

  • wenn der Anforderungsmerker für die E-Mail-Übertragung für die angegebene E-Mail-Übertragungseinstellung auf "TRUE: Übertragung angefordert" gesetzt ist.

  • wenn der Merker Datenübertragungsauftrag für eine angegebene nLogID Nummer TRUE ist, z.B. wenn sys_blsLog0DataRecordingActive TRUE ist.

  • wenn die Anzahl der Zeichen für Zeichenfolgen ihren oberen Grenzwert überschreitet. Der obere Grenzwert beträgt 4096 Zeichen für CPU-Module Ver.3.4 bis Ver.3.x und Ver.4.1 oder höher und 256 Zeichen für andere CPU-Module.

sys_bIsCarry (wird für einen Zyklus auf TRUE gesetzt)
  • wenn der Befehl während der Initialisierung des Ethernets ausgeführt wird, wird sys_iEthernetConnectionErrorCode auf "11: Ethernet wird initialisiert“ gesetzt.

Beispiel

POE-Kopf

Im POE-Kopf werden alle Ein- und Ausgangsvariablen deklariert, die für die Programmierung dieser Funktion verwendet werden. Für alle Programmiersprachen wird der gleiche POE-Kopf verwendet.

	VAR
		bSetModePlcData: BOOL:=FALSE;
		bSetModePlcDataError: BOOL:=FALSE;
		arRealArray: ARRAY [0..15] OF REAL:=[16(0.0)];
		iID10: INT:=10;
	END_VAR

POE-Rumpf

Wenn bSetModePLCData von FALSE auf TRUE gesetzt wird und sys_bIsEthernetInitializing FALSE ist, wird der Befehl ausgeführt.

KOP-Rumpf

BODY
    WORKSPACE
        NETWORK_LIST_TYPE := NWTYPELD ;
        ACTIVE_NETWORK := 0 ;
    END_WORKSPACE
    NET_WORK
        NETWORK_TYPE := NWTYPELD ;
        NETWORK_LABEL :=  ;
        NETWORK_TITLE :=  ;
        NETWORK_HEIGHT := 5 ;
        NETWORK_BODY
B(B_COMMENT,, ^Set mode to attach File located on SD card of FP7 PLC,4,1,34,4,);
L(1,0,1,5);
        END_NETWORK_BODY
    END_NET_WORK
    NET_WORK
        NETWORK_TYPE := NWTYPELD ;
        NETWORK_LABEL :=  ;
        NETWORK_TITLE :=  ;
        NETWORK_HEIGHT := 10 ;
        NETWORK_BODY
B(B_VARIN,,iID8,32,2,34,4,);
B(B_CONTACT,,bSetMode,4,1,6,3,R);
B(B_VAROUT,,bError,47,2,49,4,);
B(B_VARIN,,'GRPNO=0~SUBJECT=Time Notify Mail',32,4,34,6,);
B(B_VARIN,,'Hello~ this is time notify Mail from system. See attachment',32,5,34,7,);
B(B_VARIN,,'TRIG=TIME~/day~13:30:00',32,3,34,5,);
B(B_CONTACT,,sys_bIsEthernetInitializing,13,1,15,3,N);
B(B_VARIN,,'INFO=ADD~ATT=FILE;FILE=',26,7,28,9,);
B(B_VARIN,,sFilename,26,8,28,10,);
B(B_F,CONCAT-2!,,28,7,34,10,,?D?D?C);
B(B_F,FP_SMTP_SET_MODE!,,34,0,47,8,,?DEN?DnTransferID?DsTrigger?DsGroupNumber_Subject?DsBodyText?DsAttachment?AENO?CbError);
L(1,2,4,2);
L(34,7,34,8);
L(15,2,34,2);
L(6,2,13,2);
L(1,0,1,10);
        END_NETWORK_BODY
    END_NET_WORK
END_BODY

ST-Rumpf

If DF(bSetMode) AND NOT sys_bIsEthernetInitializing then
    FP_SMTP_SET_MODE(nTransferID := iID8,
                     sTrigger := 'TRIG=TIME,/day,13:30:00',
                     sGroupNumber_Subject := 'GRPNO=0,SUBJECT=Time Notify Mail', 
                     sBodyText := 'Hello, this is time notify Mail from system. See attachment',
                     sAttachment := CONCAT('INFO=ADD,ATT=FILE;FILE=', sFilename),
                     bError => bError);
End_if;

Letzte Änderung: 2024-07-16Feedback zu dieser SeitePanasonic Hotline