Dialing up a phone when an alarm occurs


Thread Starter


I want to know how to dial up a phone when a certain alarm triggers in my HMI. There is a script that can direct the HMI to run a certain file or files when invoked. I could have use the dial-up program of the Windows but you still need
to press the ENTER key in order to dial it and this can not be done in the script of the HMI (I am actually using an InTouch software). Is there a way to auto press the ENTER key? Or do I need another program to use this feature? Please help!


I haven't found a cheap solution yet, but Wonderware sells a software package now called SCADAlarm. It works pretty good for local annunciation and paging, but you have to make two tags for each tag if you want the numeric value to
show up on an alpha numeric pager. Spectre Instruments also makes a program called Win911 which I like a little better than the SCADAlarm, you can do a DB Dump from InTouch and load the tags automatically into the software. You can
also use text to speach for local annunciation. These packages both work pretty good, but they are proud of their software...
If you have any questions drop me a line...


Matt Warshawsky

How about just sending the necessary AT command to your modem through the serial port. I have not used your software, but am sure there is a way to send text to the serial port. The necessary command would be:
Put a comma if you need a pause in there.
To generate a return, just send ASCII 13 out the port too. Some programs (like C) can embed a return in the string by entering \r or \n.

Alan Rimmington

Another solution could be a security phone dialer triggered from a PLC output. Can be low cost and more reliable. UK price about £110, will ring upto 6 numbers.
There is a product that uses OPC to transmit pages/voicemails based upon an alarm. It is called Win911. Do a web search on it. Relatively

Curt Wuollet

Hi Ting

Short shell script:

sleep 60 < /dev/ttyS1& #needed for some gettys and port monitors.
echo "ATD xxx xxx xxxx" > /dev/ttyS1
cat message.txt > /dev/ttyS1
echo "ATH"

Or you can use cu.

Oh, that's right, you don't have command lines either.

Perhaps if you installed the UNIX tools?
Or you could use MSKermit with appropriate options.
I've done that with legacy systems and it worked ok.

Much easier with Linux.


> Short shell script:
> echo "ATD xxx xxx xxxx" > /dev/ttyS1

Trouble with that is that it has no error-handling / error-recovery, which is why no-one suggested the DOS equivalent (echo "ATDTxxx" > COM1).

You really do want to use something like chat(8) to do it, or, on legacy systems, something like the MSKermit that you suggest. That way there's a
status report back to the system, retry, etc.

Of course, one neat (but illegal) way would be to wire a relay output to the phone hook and pulse-dial in stepladder...

Jiri Baum <[email protected]> http://www.csse.monash.edu.au/~jirib
MAT LinuxPLC project --- http://mat.sf.net --- Machine Automation Tools
> Jiri,

> Of course, one neat (but illegal) way would be to wire a relay output to
> the phone hook and pulse-dial in stepladder...

Along those lines, but much easier, would be to configure the dialup modem to dial a specific number when it sees DTR. Hayes and USR modems can be configured to do this. By having a relay output turn the modem on, it will dial that number automatically. The PLC can handle a retry by cycling power to the modem.

Jay Kirsch
Hi Jiri

Chat would be an option, you could also use expect to watch the result codes from the modem. In fact, bash itself could read the result codes or absence of same. cu would do it, uccp would work. There are dozens of ways to do this in Linux, not to mention I've got some boilerplate C code. Perl was mentioned and I'm sure you could whip something up in Tcl/tk, python, or a dozen of the other languages available free on a typical Linux distro. You wouldn't even have to write code, I'm sure there are dialers already written in the OSS terminal emulators on the box or you could simply copy the kppp dialer code. With Linux you could have it dial your house,
establish a ppp connection and dup the console in a window along side whatever you happened to be doing. It's nice having a few options. Of course with Linux, I might just set up a printcap entry and have it print to the printer on my desk so I'd have hardcopy in addition to calling someone. Or if the phone was busy I could have sendfax fax me and then order a pizza because it's gonna be a long night if I have alarms. None of this would involve buying anything, installing anything,
or getting up out of my chair. That's having the problem covered. Linux is great for automtion problems.

On legecy systems, with very limited software resources, the best bet for an inexpensive solution would be to download MSKermit or, if they still provide it, something in QuickBasic.
I remember PCDOS 2.0 included source for a terminal program in BASIC. I don't think they've given anything away since.

Time to a solution is very heavily weighted in favor of Linux because the tools are all there, ready to go, along with the documentation and examples. Almost everything on a Linux box is accessable to scripts and most utilities are written to be used this way. There are a few similar functions on Windows, but they are, well, Windows applications and need a person to interact with.