ТРМ202. Мх110-8р,8а,4д4р,4к4р,8дф, да стоит пропасть связи с одним из слейвов вся сеть начинает периодически подвисать
Вид для печати
Естественно, а как иначе?
Добрый день! Как то делал опрос датчика скорости воздушного потока с ПЛК110 по RS232 через библиотеку SysLibCom. Сейчас стоит задача подключить этот же датчик, но уже к СПК110. Никак не могу разобраться как переделать программу под библиотеку SysCom. На SysLibCom это выглядело вот так у меня
PROGRAM RS232
VAR
COM_SERVICE2: COM_SERVICE; (*ФБ открытия порта*)
port_opened2: BYTE := 0; (*состояние порта*)
Settings2:COMSETTINGS; (* настройки последовательного порта *)
com_num2: PORTS:=1; (*0 - RS-485, 1 - RS-232*)
i : INT;
xxx : ARRAY[0..10] OF BYTE;
z1, z2 :REAL;
END_VAR
IF port_opened2=0 THEN
Settings2.Port:=com_num2;
Settings2.dwBaudRate:=9600;
Settings2.byParity:=0;
Settings2.dwTimeout:=0;
Settings2.byStopBits:=0;
Settings2.dwBufferSize:=0;
Settings2.dwScan:=0;
END_IF
COM_SERVICE2(Enable:=(port_opened2=0) , Settings:=Settings2 , Task:=OPEN_TSK );
IF COM_SERVICE2.ready THEN
port_opened2:=2;
END_IF
IF port_opened2=2 THEN
SysComRead(com_num2,ADR(xxx),20,0);
z1:=BYTE_TO_WORD(xxx[2]);
z2:=BYTE_TO_WORD(xxx[3]);
Air_Flow:=(z1*256+z2)/100;
END_IF
У вас датчик сам присылает данные (в роли мастера)?..
Уточняю, так как не вижу в коде формирования и отправки запроса к нему.
К СПК1ХХ по RS-485 подключены устройства: СТМ30М-10ДЦ (з шт.), МВ110-224.8А (2 шт.). Проблема: выпадают из опроса все устройства при перезапуске эл.питания на любом из СТМ30М-10ДЦ. После перезапуска эл.питания на СПК1ХХ обмен данными восстанавливается.
В чём причина данной проблемы?
Возможно, в момент снятия питания по сети проходит помеха, которая "подвешивает" COM-порт.
Попробуйте перезапускать его из кода:
http://www.owen.ru/forum/showthread....l=1#post272286