FB_SMS
📍 Introduction
Ce tutoriel vous montre comment utiliser le bloc fonctionnel FB_SMS pour envoyer et recevoir des SMS depuis une application CODESYS, exécutée sur notre contrôleur industriel HAI-P200-4G. Ce dernier intègre un modem 4G préconfiguré sous HAI-OS, permettant une communication native avec le réseau mobile.
Ce bloc est utile pour :
- Envoyer des alertes (alarmes, états machines)
- Transmettre des données critiques
- Réagir à des commandes reçues par SMS
✅ Prérequis
Avant de commencer, assurez-vous que :
- Le contrôleur HAI-P200-4G est sous HAI-OS v1.1.6 ou ultérieure
- La bibliothèque HAI_Com v1.0.13 ou ultérieure est bien importée dans votre projet CODESYS
- Une carte SIM active est insérée et correctement configurée dans l’onglet 4G Modem de l’interface web
📘 Exemple d’utilisation
🔧 Code
Remplacez numero_de_telephone par le numéro de destination :
PROGRAM PLC_PRG
VAR
fbSMS : HAI_Com.FB_SMS;
xStartTrigger : BOOL := FALSE;
eSMStype : HAI_Com.ENUM_SMStype := HAI_Com.ENUM_SMStype.Send;
sPhone : STRING := 'numero_de_telephone';
sContent : STRING := 'Hello world !';
fbResultBase : HAI_Base.FB_ResultBase;
END_VAR
▶️ Envoi d’un SMS
- Passez la variable xStartTrigger à TRUE pour générer un front montant.
- Le message est transmis via le modem 4G.
- Vérifiez l’état de l’envoi avec :
fbResultBase.xDone = TRUE
- Cela signifie que l’opération est terminée (qu’elle ait réussi ou échoué).
- Utilisez fbResultBase.sStatus pour consulter le détail du résultat.
- En cas d’erreur, vous pouvez également voir les détails de l’erreur dans fbResultBase.sStatus
📥 Réception de SMS
Pour lire le message texte le plus ancien non lu :
- Modifiez eSMStype en le mettant sur Receive
- Démarrez la recherche de SMS non lu en mettant xStartTrigger sur TRUE