Нет ни какой разницы что при отправке в МК110-220.4К.4Р адрес - 2 DIP3 включен

PHP код:
set2set3MB_WR_REGS;         (* Функция записи значения регистров 16 (0x10Write Multiple Registers *)

Buffer[0] := 0;
Buffer[1] := 15;                    (* Битовая маска состояния дискретных выходов*)
set2(
    
Enable:= TRUE,                (* Разрешение работы блока *)
    
Mode:=MB_RTU ,                (* Режим передачи ASCIIRTU *)
    
DevAddr:=,                 (* Адрес ведомого устройства *)
    
FirstAddr:= 18,                 (* Номер первого регистра для чтения *)
    
Quantity:= 1,                   (* Количество записываемых регистров *)
    
ComHandle:=Settings.Port ,        (* Номер COM-порта *)
    
TimeOut:=TimeOut ,            (* Таймаут T#ХХХms *)
    
Buffer:=Buffer ,                (* Буфер данных *)
    
Complete=>cmpl ,            (* Скопировать признак завершения операции *)
    
Exception=>Error);            (* Скопировать регистр ошибок *)
IF 
cmpl THEN                    (* Если завершено *)
    CASE 
Error OF                (* Делаем проверку ошибок*)
        
255:
            
Save_error(Err:= 22);    (* Ошибка таймаута *)
        
254:
            
Save_error(Err:= 23);    (* Аппаратная ошибка ПЛК *)
    
END_CASE
set2
(
    
Enable:=FALSE ,                (* Завершаем работу блока *)
    
Mode:=MB_RTU ,                (* Режим передачи ASCIIRTU *)
    
DevAddr:=,                 (* Адрес ведомого устройства *)
    
FirstAddr:= 18,                 (* Номер первого регистра для чтения *)
    
Quantity:= 1,                   (* Количество записываемых регистров *)
    
ComHandle:=Settings.Port ,        (* Номер COM-порта *)
    
TimeOut:=TimeOut ,            (* Таймаут T#ХХХms *)
    
Buffer:=Buffer);                (* Буфер данных *)
    
master := 4;
END_IF 
МК110-224.8ДН.4Р адрес - 3

PHP код:
Buffer[0] := 0;
Buffer[1] := 15;                    (* Записываем данные в буфер*)
set3(
    
Enable:= TRUE,                (* Разрешение работы блока *)
    
Mode:=MB_RTU ,                (* Режим передачи ASCIIRTU *)
    
DevAddr:=,                 (* Адрес ведомого устройства *)
    
FirstAddr:= 50,                (* Номер первого регистра для чтения *)
    
Quantity:= 1,                   (* Количество записываемых регистров *)
    
ComHandle:=Settings.Port ,        (* Номер COM-порта *)
    
TimeOut:=TimeOut ,            (* Таймаут T#ХХХms *)
    
Buffer:=Buffer ,                (* Буфер данных *)
    
Complete=>cmpl ,            (* Скопировать признак завершения операции *)
    
Exception=>Error);            (* Скопировать регистр ошибок *)
IF 
cmpl THEN                    (* Если завершено *)
    CASE 
Error OF                (* Делаем проверку ошибок*)
        
255:
            
Save_error(Err:= 32);    (* Ошибка таймаута *)
        
254:
            
Save_error(Err:= 33);    (* Аппаратная ошибка ПЛК *)
    
END_CASE
set3
(
    
Enable:= FALSE ,                (* Завершаем работу блока *)
    
Mode:=MB_RTU ,                (* Режим передачи ASCIIRTU *)
    
DevAddr:=,                 (* Адрес ведомого устройства *)
    
FirstAddr:= 50,                (* Номер первого регистра для чтения *)
    
Quantity:= 1,                   (* Количество записываемых регистров *)
    
ComHandle:=Settings.Port ,        (* Номер COM-порта *)
    
TimeOut:=TimeOut ,            (* Таймаут T#ХХХms *)
    
Buffer:=Buffer);                (* Буфер данных *)
    
master := 1;
END_IF 
причем, признак завершения операции cmpl появляется одновременно с ошибкой = 255.
выхода на модулях включаются.