Verschicken einer SMS über den Beckhoff 4G-Stick

Der installierte 4G-Stick wird als virtuelle serielle Schnittstelle verbunden, worüber sich die SPS per ADS verbinden kann. Durch den Aufruf des Funktionsbausteins „SendSMS“ wird die SMS an einen Empfänger versandt.

  1. Tragen Sie in der Datenstruktur stSerialCfg ein.
  2. Tragen Sie in der Stringvariable sNumber des Empfängers ein.
  3. Versenden Sie eine SMS über eine steigende Flanke an bConnect.

Programmvariablen

(*
COM_VCOM_SMS
Sends a SMS over a connected GSM Device especially over a virtual serial com port
*)
PROGRAM MAIN
VAR
(* function-block for sending a SMS *)
fbSendSMS : SendSMS;
sText : STRING := 'Please check machine #5, threshold is reached';
sSend : BOOL;
sNumber : STRING := '';
sBusy : BOOL;
sError : INT;

(* communication buffer between application and SerialLineControl *)
RxBuffer : ComBuffer;
TxBuffer : ComBuffer;

(* serial line control *)
fbLineCtrlAds : SerialLineControlADS;
bAdsError : BOOL;
nAdsErrorID : UDINT;
bConnect : BOOL;
sNetId : T_AmsNetId;
stSerialCfg : ComSerialConfig;
END_VAR

Programm-Code

(*~~~~~~~~~~~~~~~~ cyclic call of serial background comm. ~~~~~~~~~~~~~~~~~*)
fbLineCtrlAds(
Connect := bConnect, //bConnect has to be set to true, after the
stSerialCfg is checked
SerialCfg := stSerialCfg, //stSerialCfg has to be filled with your
Com-Settings (Com-Port, Baudrate, etc.)
NetId := sNetId,
Timeout := ,
TxBuffer := TxBuffer,
RxBuffer := RxBuffer,
Busy => ,
Error => bAdsError,
ErrorID => nAdsErrorID,
PortOpened =>
);
fbSendSMS(
Send:= sSend, //sSend has to be set to true, when the message is ready
Number:= sNumber, //sNumber is the number of the recipient
Text:= sText, //sText is the text you would like to send to the recipient
Busy=> sBusy,
Error=> sError,
RXbuffer:= RxBuffer,
TXbuffer:= TxBuffer);

Voraussetzungen

Entwicklungsumgebung

Zielplattform

Einzubindende SPS-Bibliotheken

TwinCAT v3.0.0

PC or CX (x86)

Tc2_Sms, Tc2_SerialCom