Приветствую всех, кто не прошел мимо!

Тема неоднократно здесь обсуждалась, но подходящей, касаемо своего вопроса, не нашлось. Да простят меня все...

Имеем ПЛК160, требуется осуществить обмен через порт RS-232 Debug с ПК по стандартному протоколу Modbus. ПЛК - slave.
Используется библиотека UNM.lib, функция GetByte и все остальное.

Загвоздка в том, что обмен через обычный порт RS-232 идет. Ошибок нет, проблем нет. А тот же код, но по RS-232 Debug, не работает.
Режим отладки говорит о том, что не обнаруживается конец сообщения Modbus и не осуществляется переход к следующему состоянию автомата, где сообщение разбирается.

Код:
PROGRAM ModbusSlave
VAR CONSTANT

	...

	E_NOT:											BYTE	:= 0;
	F_FRM:											BYTE	:= 16#08;
	E_OVR:											BYTE	:= 16#20;
	E_FRM:											BYTE	:= 16#40;
	E_PRT:											BYTE	:= 16#80;

        ...

CASE state OF

       ...

	ST_INIT_UMN_STATE:																	(* инициализация модуля *)

		IF(  LockDevice( UNM_MODULE ) = 1 ) THEN
			state := ST_BEGIN_WAIT_STATE;
		ELSE
			state := ST_ERROR_COMM;
		END_IF;

	ST_BEGIN_WAIT_STATE:																	(* запуск цикла приема *)

		error := ER_NOT_ERROR;
		n_wr := 0;
		n_rd := 0;
		rbflags^ := 0;
		state := ST_WAIT_CMD_STATE;

	ST_WAIT_CMD_STATE:																	(* прием команды *)

		rbdata := GetByte( UNM_MODULE );
		IF( rbdata > 0 ) THEN
			rbflags := rbdata+1;
			IF(  (  rbflags^ AND E_OVR ) <> 0  OR											        (* переполнение *)
			       ( rbflags^ AND E_FRM ) <> 0 OR												(* формат *)
				( rbflags^ AND E_PRT ) <> 0  ) THEN											(* четность *)
				error := ER_COMM_ERROR;
				state := ST_ERROR_COMM;
			ELSE
				rbbyte := rbdata;
				mb_request[n_rd] := rbbyte^;
				n_rd := n_rd+1;
			END_IF;
		ELSE
			IF( ( rbflags^ AND F_FRM ) <> 0 ) THEN                                                    (*конец сообщения*)
					state := ST_CHK_CMD_VALID;                                                 (* состояние, в котором идет разбор сообщения *)
			END_IF;
		END_IF;

    ...

где флаги анализируются согласно документации на библиотеку UNM.lib
Код HTML:
 Описание структуры RBDATA: STRUCT

data: BYTE; – принятый байт
flags: BYTE; – флаги

Флаги
unsigned char reserved: 1; – не используется
unsigned char noktime: 1; – время между байтами >1.5 символов
unsigned char new_frame: 1; – для внутреннего использования
unsigned char end_frame: 1; – время между байтами >3.5 символов
unsigned char temp_el_full: 1; – для внутреннего использования
unsigned char overrun: 1; – ошибка переполнения буфера
unsigned char frame_error: 1; – ошибка стоп бита
unsigned char parity_error: 1; – ошибка четности
То есть, согласно коду, выход из состояния должен произойти, когда флаг - время между байтами >3.5 символов, будет выставлен.
Но этого не происходит. И только на RS-232 Debug.

Про ограничения порта Debug читал, там такого вроде как нет.
Ошибка в коде?