Accueil > Forum > Programmation IEC 61131 (LogicLab) > Une solution pour envoyer plusieurs SMS
marqués: MultipleSMS
- Ce sujet a 7 réponses, 4 participants et a été mis à jour pour la dernière fois 2 années, 4 mois da Sergio Bertana.
-
auteurPost
-
Octobre 7, 2013 à 6: 26 am #35428Anonymeinactif
J'essaye depuis des jours de créer un bloc fonctionnel qui permet d'envoyer plusieurs messages à plusieurs destinataires. Ce que je souhaite, c'est pouvoir envoyer différents messages à plusieurs numéros de téléphone. En pratique, dans un système de contrôle, je souhaite que les personnes en charge de la maintenance soient alertées par SMS sur les conditions d'alarme.
J'ai fait plusieurs tentatives en utilisant la bibliothèque eModemLib mais je ne peux pas obtenir l'opération, avez-vous des suggestions?
Octobre 7, 2013 à 6: 33 am #37819Sergio BertanaAdministrateur du forumUtilisation de plusieurs instances du bloc fonctionnel ModemSMSSend_v2 il est possible d'envoyer plusieurs SMS à plusieurs numéros comme indiqué dans IEC61131-3 Manuel de programmation. Bien entendu, si les messages à envoyer sont nombreux et si les numéros auxquels les envoyer sont nombreux, le nombre d'instances du FB nécessaires à l'envoi augmente et donc, comme vous le suggérez à juste titre, il est préférable de construire un FB spécial .
Voici un projet dans lequel le FB MultipleSMS vous permet d'envoyer un maximum de messages 32 vers des numéros 32 (presse e Télécharger programme). Les messages et les numéros de téléphone sont transmis via l'adresse d'un tableau de pointeurs Mes Messages e PhNumbers, de cette manière, l'occupation de la mémoire est optimisée car il est possible de dimensionner le tableau comme souhaité et les messages tels que les numéros de téléphone sont des chaînes enregistrées dans la mémoire de code.
Les variables DWORD MsgSelector e PNrSelector, permettent d'envoyer uniquement les messages dont le bit relatif est actif aux numéros de téléphone dont le bit relatif est actif. Faites ceci avant d'activer la commande Envoyer En agissant sur ces deux variables, il est possible de définir quels messages envoyer et à quels numéros les envoyer.
activation Envoyer les messages sont envoyés, après quoi il est activé OK, pour effectuer une nouvelle transmission doit être désactivé Envoyer puis réactivez-le.
Octobre 22, 2019 à 12: pm 31 #50279neptuniumPartecipanteBonsoir! Je suis nouveau sur le forum, je dois dire que je suis récemment entré dans le monde des automates.
Devoir utiliser le bloc fonction ModemSMSSend_v2 en configuration multi SMS je suis tombé sur lors d'une recherche sur le forum dans un de ses programmes où il y a un FB MultipleSMS daté 2013. Après l'avoir chargé sur Logiclab, j'obtiens une erreur de compilation avec les erreurs suivantes:
ModemPhoneCall_v1 (102) - avertissement S1314: valeur en double dans la définition CASE
ModemSMSSend_v2 (153) - avertissement S1314: valeur en double dans la définition du CASEOctobre 22, 2019 à 12: pm 58 #50303Sergio BertanaAdministrateur du forumEn fait, j’ai essayé de compiler l’ancien projet et vous vous êtes plaint de deux erreurs. Donc, étant un très vieux projet, j'ai décidé de le mettre à jour en utilisant la nouvelle version de la bibliothèque. eLLabModemLib_F100.
J'ai réécrit le programme principal en FBD, mais je n'ai pas essayé le projet, je vous laisse le soin de le tester et éventuellement de me dire si vous avez des problèmes, je vous laisse le projet. MultipleSMS_v1 le download.
Octobre 25, 2019 à 6: 10 am #50353neptuniumPartecipanteEn attendant, merci pour la réponse rapide, l'exemple édité par vous fonctionne parfaitement. implémenté dans mon programme, il a composé les quelques numéros entrés en envoyant les messages attribués relatifs.
Mon intention est de connecter au moins 2 en dupliquant le FB. Pensez-vous que cela fonctionnera?
Octobre 25, 2019 à 6: 20 am #50375Sergio BertanaAdministrateur du forumJe ne comprends pas pourquoi il est nécessaire de dupliquer le FB, si vous avez besoin de plus de nombres ou de messages, ajoutez-les simplement au FB.
Le FB peut envoyer jusqu'à 32 messages différents, il suffit de les définir dans le tableau Message définir le bit relatif dans la variable MsgSelector.
MsgSelector:=16#00000007; (* Message selector *) Message[0]:=ADR('Messaggio 0'); Message[1]:=ADR('Messaggio 1'); Message[2]:=ADR('Messaggio 2');
Chaque message peut être envoyé jusqu'à 32 numéros différents, il suffit de les définir dans le tableau PhoneNr définir le bit relatif dans la variable PNrSelector
PNrSelector:=16#00000003; (* Phone number selector *) PhoneNr[0]:=ADR('+39123456789'); PhoneNr[1]:=ADR('+39123456789');
Si vous avez des besoins différents dans le projet, il existe le code source du FB, il suffit de le modifier pour l'adapter à vos besoins.
Décembre 7, 2021 à 7: 41 am #62468GABRIELÉGALLIPartecipanteIl y a quelque temps, j'ai utilisé le module MultipleSMS entièrement fonctionnel. Malheureusement aujourd'hui en dépoussiérant un projet je ne trouve plus la bibliothèque relative alors appelée eMultiSMS (composée d'eLEN, de VBit Test, du Function Block MultipleSMS et du programme STartUP).
Est-il possible pour moi de l'avoir?
Décembre 7, 2021 à 7: 42 am #62471Sergio BertanaAdministrateur du forumIl suffit de télécharger le programme MultipleSMS_v1 que vous trouviez quelques messages avant cela ...
-
auteurPost
- Vous devez être connecté pour répondre à ce sujet.