Снова прошу помощи.
На данный момент существует: СП307 (мастер), ПЛК150 (слейв), модуль вывода МУ110-8Р (слейв). Приборы перечислены в порядке подключения.
ПЛК с панелью общаются через конфигурацию ПЛК, где прописан Модбас (слейв). При этом, если пробую писать в модуль из плк с помощью библиотеки Модбас.либ отваливается связь панели с ПЛК, что в принципе логично, вроде.
Не логично то, что она не восстанавливается после.
Код:
IF port_opened=0 THEN
		Settings.Port:=com_num;               (*номер COM-порта*)
		Settings.dwBaudRate:=115200;    (*скорость*)
		Settings.byParity:=0;
		Settings.dwTimeout:=0;
		Settings.byStopBits:=0;
		Settings.dwBufferSize:=0;
		Settings.dwScan:=0;

	COM_SERVICE1(Enable:=(port_opened=0) , Settings:=Settings , Task:=OPEN_TSK);

IF COM_SERVICE1.ready THEN
	port_opened:=2;
END_IF
END_IF

IF port_opened=2 THEN (*Удачно проинициализировали*)

	Buffer[1] := 16#E8;
	Buffer[0] := 3;

	send2_modbus(
		Enable:= enabl,			(* разрешение работы блока *)
		Mode:=MB_ASCII ,		(*режим передачи*)
		DevAddr:=16 , 				(*адрес*)
		FirstAddr:= 1, 				(*номер регистра*)
		Quantity:= 1,   				(*количество записываемых регистров*)
		ComHandle:=Settings.Port ,(*номер сом-порта*)
		TimeOut:=TimeOut ,		(*таймаут T#50ms*)
		Buffer:=Buffer ,			(* буфер данных *)
		Complete=>cmpl ,		(* скопировать признак завершения операции *)
		Exception=>err ,			(* скопировать регистр ошибок *)
		RegCnt=> DataSize);		(*кол-во считанных байтов *)
	(*если установлен признак завершения операции, то *)


END_IF
IF cmpl AND port_opened=2 THEN
	enabl := FALSE;
	port_opened:=3;
	COM_SERVICE1(Task:=CLOSE_TSK);
END_IF

IF  err <> 0 THEN
 	enabl := FALSE;
END_IF
Предполагал, что вызов COM_SERVICE1(Task:=CLOSE_TSK) должен приводить к закрытию экземпляра устройства и связь между ПЛК и панелью должна восстановиться.
Странно, что закрытие компорта происходит вот так SysComClose(Settings.Port), когда функции должен передаваться открытый хендл, а не порт. Исправил это, но результата нет.

По сути вопрос тот же, что и в заголовке темы и в первом посте. Есть устройство мастер, есть два устройства слейв. Слейвы хочу коммутировать с помощью библиотеки, но отваливается связь с мастером. Что я делаю не так? Как правильно?

PS. Сейчас попробую перекинуть ПЛК в конец цепочки подключения (если предположить, что во время опроса модуля он является мастером, то на данный момент он подключен звездой), сообщу о результате, но не думаю что поможет.