Подниму тему, так как этот вопрос сейчас очень актуален.
Кусок кода по которому пытаюсь запустить модем и GPRS.
Модем запускается, а команда для запуска GPRS не отрабатывает.
Код:
IF NOT GSM_REG THEN
CASE STATE_MODEM OF
0: TMR_GSM(IN:=NOT TMR_GSM.Q,PT:=T#1S); (* 1c Выключить модем*)
SysExecute('killall pppd');
IF TMR_GSM.Q THEN
Active(
Activ:= FALSE,
Stat:= ,
Ready=> ,
Power_key=> PwrKey,
Power=> Pwr);
STATE_MODEM := 1;
END_IF
1: TMR_GSM(IN:=NOT TMR_GSM.Q,PT:=T#5S); (* 5c Включить модем *)
IF TMR_GSM.Q THEN
Active(
Activ:= TRUE,
Stat:= ,
Ready=> ,
Power_key=> PwrKey,
Power=> Pwr);
STATE_MODEM := 2;
END_IF
2: TMR_GSM(IN:=NOT TMR_GSM.Q,PT:=T#20S); (*20с ЗАДАТЬ РЕЖИМ GPRS*)
IF TMR_GSM.Q THEN
SysExecute('/usr/sbin/pppd call mts.gprs');
STATE_MODEM:= 3;
END_IF
3: TMR_GSM(IN:=NOT TMR_GSM.Q,PT:=T#10S); (*10с Проверка GPRS*)
IF TMR_GSM.Q THEN
SysExecute('/sbin/ifconfig ppp0 > /mnt/ufs/usr/connect.tmp');
STATE_MODEM:= 4;
END_IF
4: TMR_GSM(IN:=NOT TMR_GSM.Q,PT:=T#5S); (* 5с Проверка размера лога *)
IF TMR_GSM.Q THEN
fb_file_Size(
xExecute:= log4,
xDone=> log1,
xBusy=> log2,
xError=> log3,
sFileName:= FileName,
eError=> f_Size_Err,
szSize=> f_Size);
IF f_Size > 30 THEN
STATE_MODEM:=6;
ELSE
STATE_MODEM:= 0;
END_IF
END_IF
6: SysExecute('/sbin/ifconfig ppp0 > /mnt/ufs/usr/connect2.tmp');
GSM_REG := TRUE;
END_CASE
END_IF
Через WinSCP команда '/usr/sbin/pppd call mts.gprs' проходит.
Что делаю не так, может есть альтернативные варианты подключения GPRS?