вот страничка http://www.owen.ru/forum/showthread.php?t=517&page=3
от Филоненко Владислава при открытии порта один разок перепроверяется открытость порта :-)
я аналогично и с езернетом делаю (только чуток чаще проверяю - это про UDP)
и в полезностях похожее http://www.owen.ru/forum/showthread.php?t=551&page=4 тема сообщения "Пример работы ПЛК с смс сообщениями".
а смотреть внимательно нужно в этом месте
TON_Port(IN:=NOT TON_Port.Q, PT:=t#200ms);
IF TON_Port.Q AND NOT port_init THEN (*Пытаемся открыть порт*)
com_handle:=SysComOpen(com_num);
IF com_handle<>16#FFFFFFFF THEN
port_init:=TRUE;
ELSE
SysComClose(com_num);
END_IF
END_IF
IF TON_Port.Q AND port_init THEN (*Настраиваем порт*)
com_set.Port:=com_num;
com_set.dwBaudRate:=9600;
com_set.byParity:=0;
com_set.dwTimeout:=0;
com_set.byStopBits:=0;
com_set.dwBufferSize:=0;
com_set.dwScan:=0;
res:=SysComSetSettings(com_num,ADR(com_set));
IF NOT res THEN
blnPortOpen:=TRUE; (*Далее пошли работать с портом в следующий шаг SFC*)
END_IF
END_IF
и дальше в программе иногда проверять com_handle на вменяемость иначе закрыли порт и возврящаемся в этот кусок программы:-) Извени что не про езернет пример (вот что под руками было то и выложил), но там аналогично, идея таже. Удачи!
З. Ы. СМС через IP пока тоже не видел :-(хотя поставить не вдалеке комп + инет и думаю можно начинать пробывать на скриптах :-) есть же спамеры и на СМС.