Связь наладил, диод rs моргает. FirstAddr:=51, Quantity:=1, вроде бы ничего не напутал (связь-то есть).
Но чтение не идет
Код:
IF cmpl AND err=0 THEN (*потрошим байты*)
in1:=Buffer[1].0;
in2:= Buffer[1].1;
...
in8:=Buffer[1].7;
in9:=Buffer[0].0;
in10:=Buffer[0].1;
...
in16:=Buffer[0].7;
END_IF
В буфере одни нули, хотя на третий вход единичка подана. На приборе диод горит.
Попробовал еще так:
Код:
inp_word:=BYTE_TO_WORD(rd_buffer[1]) OR SHL(BYTE_TO_WORD(rd_buffer[0]),8);
in1:=(inp_word AND 1)=1;
in2:=(inp_word AND 2)=2;
in3:=(inp_word AND 4)=4;
...
и махнул MB_RD_INP_REGS на MB_RD_HOLD_REGS, теперь читает, но сильно эпизодически. Диод rs моргает как-то "порциями", очень редко по сравнению и МУ110-16Р в той же сети (стоят парой, для теста 16Р повторяет выходами входы 16ДН).