PDA

Просмотр полной версии : ПЛК323 доступ к визуализации ч-з встроенный модем.



Sergey666
29.05.2015, 17:27
Поднимаем тему с ПЛК323.
Каким образом и возможно ли получить доступ к web визуализации используя встроенный модем.
Поиск по форуму толковых ответов не дал .
Ув. Capzap предлагает работать с Линуксом для соединения с Интернет - это единственный путь? Ответов официальных лиц нет вообще , короче ... типа иди ежик в туман , поищи там где-то на ... форумах массачусетского универа скрипты для Линукса.
Как организовать ч-з GSM Wi-Fi роутер представляю , что нужно делать с встроенным модемом ПЛК не представляю .
Ни примеров толковых ,ни чего :mad:, хоть к мурдемону обращайся :confused:.

murdemon
29.05.2015, 18:46
:) да я с радостью а что там в веб морде вроде есть профили под провайдеров и все такое ... надо только одну команду на подключение пререодически подавать если интерфейса ppp0 нет и все .. небольшой скрипт все исправит...

murdemon
30.05.2015, 15:29
Моя тема с добавлением маршрута по умолчанию в СПК и эти два файла тебе помогут

Sergey666
30.05.2015, 22:12
Моя тема с добавлением маршрута по умолчанию в СПК и эти два файла тебе помогут

Ну спасибо , конечно , только я в C# дуб сосново-осиновый и хотя в тексте кое-где знакомые слова встречаются ... типа как поляка пытаться понять - проскакивает что-то знакомое (ежик ) ,смысл все равно в тумане .
Вообще глубина технической поддержки и ее объем по ПЛК323 просто поражает - Ниже плинтуса .

Желание попросить закурить у овеновца (любого) в темном переулке просто зашкаливает !

murdemon
31.05.2015, 00:35
Ну я всегда готов за бонус... напиши в личку..

Малышев Олег
03.06.2015, 18:00
Да, конечно можно

Вариант 1

Используете сим со статическим IP - потом просто выходите на нужный IP

Вариант 2

Используете GSM + выход в корпоративный VPN (pptp)

для выхода в интернет - Подключите библиотек SysExecute

- включаем модем по алгоритму в РЭ

- Вызываем один раз !!!не в каждом цикле!!! SysExecute('pppd call beeline.gprs &'); можете поменять на mts или megafon

Малышев Олег
03.06.2015, 18:08
Вот рабочий пример включения модема и выхода в инет на 323
start_RTRIG(CLK:=enable);
stop_FTRIG(CLK:=enable);
test_call_F_TRIG(CLK:=test_call AND registred); test_call_R_TRIG(CLK:=test_call AND registred); in_state(in:=state<>prev_state,pt:=my_time);
IF in_state.Q THEN
prev_state:=state;
END_IF

IF stop_FTRIG.Q THEN
in_state(in:=FALSE);
state:=0;prev_state:=-1;
END_IF

IF start_RTRIG.Q THEN
in_state(in:=FALSE);
state:=3;prev_state:=-1;

END_IF

IF test_call_R_TRIG.Q THEN
in_state(in:=FALSE);
state:=6;prev_state:=-1;
END_IF

IF test_call_F_TRIG.Q THEN
in_state(in:=FALSE);
state:=11;prev_state:=-1;
END_IF


CASE state OF
(*Выключаем все!!!*)
0: (*OFF 1*)
stop_complete:=FALSE;
start_complete:=FALSE;
pwr:=0;
pwr_key:=1;
IF in_state.Q THEN state:=state+1; in_state(in:=FALSE); END_IF
1: (*OFF 2*)
stop_complete:=TRUE; (*конечное состояние - нет перехода*)

(*Включаем все!!!*)
3: (*ON 1*)
start_complete:=FALSE;
pwr:=1;
pwr_key:=1;
IF in_state.Q THEN state:=state+1; in_state(in:=FALSE);END_IF
4:
pwr_key:=0;
IF in_state.Q THEN state:=state+1;in_state(in:=FALSE);END_IF
5:
pwr_key:=1;
IF in_state.Q THEN state:=state+1;in_state(in:=FALSE);END_IF
(*Включено - можно работать с портом*)
6:
IF Status=0 THEN
set1.sPort := Port; // ttyS1

set1.ulBaudrate := 115200;
set1.byParity := 0;
set1.ulTimeout := 0;
set1.byStopBits := 1;
set1.ulBufferSize := 0;

set2.byByteSize := 8;

set2.bBinary := TRUE;
set2.bDtrControl := FALSE;
set2.bRtsControl := TRUE;
set2.bOutxCtsFlow := FALSE;
set2.bOutxDsrFlow := FALSE;
set2.bDsrSensitivity := FALSE;

handle:=SysCom.SysComOpen2(ADR(set1),ADR(set2),ADR (res));
IF handle<>16#FFFFFFFF THEN
//str1:='ATZ$R';
//SysCom.SysComWrite(handle,ADR(str1),len(str1),0,AD R(res));

SysCom.SysComRead(handle,ADR(str_in),255,0,ADR(res ));
state:=7;
END_IF
ELSE
start_failure:=TRUE;
END_IF
(*Инициализация!*)
7:
IF in_state.Q THEN
str_out:='ATZ$R';
SysCom.SysComWrite(handle,ADR(str_out),len(str_out ),0,ADR(res));
state:=state+1;in_state(in:=FALSE);
END_IF
(* Прошла успешно*)
8:
IF in_state.Q THEN
SysCom.SysComRead(handle,ADR(str_in),255,0,ADR(res ));
IF Find(str_in,'OK')>0 THEN
start_complete:=TRUE; (*конечное состояние - нет
перехода*)
(*проверка прошивки *)
state:=9;in_state(in:=FALSE);
ELSE
(* Не успешно! обратно на 7*)
state:=7;in_state(in:=FALSE);
END_IF
END_IF
9:
(* Проверка решистрации в сети*)
IF in_state.Q THEN
str_out:='AT+CREG?$R';
SysCom.SysComWrite(handle,ADR(str_out),len(str_out ),0,ADR(res));
state:=state+1;in_state(in:=FALSE);
END_IF
10:


IF in_state.Q THEN
SysCom.SysComRead(handle,ADR(str_in),255,0,ADR(res ));
IF Find(str_in,'+CREG:')>0 OR registred THEN (*+CREG: 0,1*)
str_2:=standard.delete(str_in,Find(str_in,'+CREG: ')+8,1);
registred:=STRING_TO_INT(str_2)=1;
IF registred THEN

(* Зарегистрированна *)
state:=13;
ELSE
state:=9;in_state(in:=FALSE);
END_IF
ELSE
state:=9;in_state(in:=FALSE);
END_IF
END_IF
11: ; (*Ничего нет*)
end_test_call:=FALSE;
12: (* Звонок*)
IF in_state.Q THEN
str_out:=CONCAT('ATD+',number);
str_out:=CONCAT(str_out,';$R'); SysCom.SysComWrite(handle,ADR(str_out),len(str_out ),0,ADR(res));
end_test_call:=TRUE;
SysCom.SysComClose(handle);
state:=11;
END_IF
13:
SysCom.SysComClose(handle);
if x=false then

x:=true;
state:=14;
else
state:=14;
end_if

14:
// str_out:='AT+CGATT=1$R';
// SysCom.SysComWrite(handle,ADR(str_out),len(str_out ),0,ADR(res));

//IF y<100 THEN
SysExecute('pppd call mts.gprs');

state:=15;

// y:=y+1;
//END_IF
// GPRS_ready:=true;

15:;
END_CASE