>>Message imported from previous forum - Category:Scripts and Tips<<
User: ROVSCADAENGINEER, originally posted: 2019-07-14 21:56:34 Id:469
Morning Fellow Engineers!
I am wanting to build the following:
I need to send SMS to several operators in the field from a list which is created by the engineer.
I am wondering if you have any code samples that might help me in this. Basically I want a box I can type a message into hit send and it sends to the operators from scada.
My current approach
Set button to reference script which passes a send sms method to the contact list specified in the menu. Would be preferable to make the script reference a list first before doing this.
Solved! Go to Solution.
>>Responses imported from previous forum
Reply From User: BevanWeiss, posted: 2019-07-15 12:29:13
I'm definitely not recommending this, but you could do this using some ST Logic and an SQL query.
It would be possible to do a query to get the operators which have an SMS Paging Service configured against them. And then to execute the SendMessage method (I forget the exact name, but the schema has this info) against each one.
The Logic could then accept a STRING for the message, and would send the same message to each user (with Paging Service).
The ST Logic DB Lock should be kept under control with NO CACHE
Reply From User: ROVSCADAENGINEER, posted: 2019-07-15 21:43:12
Thanks Bevan!
Thanks also to one of the helpful software engineers at Schneider here is some sample code.
Have not tweaked it yet with the list
__________________________________________________________________________________________
PROGRAM SendCurrentValueAsSMS
(* Declare internal point current value as a string (implied type conversion) *)
VAR
Value AT %M(.Message.CurrentValue): STRING;
END_VAR
(* Setup Method block, we will be calling the SendPagerMessage method on a user. See CDBUser in the schema for details.*)
METHOD
TXTMSG AT %M(Users.user.SendPagerMessage) : LREAL, STRING;
END_METHOD
(* Call Method on the 0th pager contact for the user. *)
TXTMSG (0, Value);
END_PROGRAM
>>Responses imported from previous forum
Reply From User: BevanWeiss, posted: 2019-07-15 12:29:13
I'm definitely not recommending this, but you could do this using some ST Logic and an SQL query.
It would be possible to do a query to get the operators which have an SMS Paging Service configured against them. And then to execute the SendMessage method (I forget the exact name, but the schema has this info) against each one.
The Logic could then accept a STRING for the message, and would send the same message to each user (with Paging Service).
The ST Logic DB Lock should be kept under control with NO CACHE
Reply From User: ROVSCADAENGINEER, posted: 2019-07-15 21:43:12
Thanks Bevan!
Thanks also to one of the helpful software engineers at Schneider here is some sample code.
Have not tweaked it yet with the list
__________________________________________________________________________________________
PROGRAM SendCurrentValueAsSMS
(* Declare internal point current value as a string (implied type conversion) *)
VAR
Value AT %M(.Message.CurrentValue): STRING;
END_VAR
(* Setup Method block, we will be calling the SendPagerMessage method on a user. See CDBUser in the schema for details.*)
METHOD
TXTMSG AT %M(Users.user.SendPagerMessage) : LREAL, STRING;
END_METHOD
(* Call Method on the 0th pager contact for the user. *)
TXTMSG (0, Value);
END_PROGRAM
Discuss challenges in energy and automation with 30,000+ experts and peers.
Find answers in 10,000+ support articles to help solve your product and business challenges.
Find peer based solutions to your questions. Provide answers for fellow community members!