День добрый.
Пытаюсь на библиотеке OwenCommunication 3.5.11.7 соорудить modbus slave для опроса несколькими мастерами:
Код:
PROGRAM cfgNetOut
VAR
	fbMB_TcpSlave : OCL.MB_TcpSlave;
	awSlaveData : ARRAY [0..4] OF WORD;
	V_NetOut1 : WORD;
	V_NetOut2 : WORD;
	V_NetOut3 : WORD;
	V_NetOut4 : WORD;
END_VAR
Код:
fbMB_TcpSlave(xEnable := TRUE, sIpAddr := '0.0.0.0', uiPort := 502, usiUnitId := 1, pData := ADR(awSlaveData), szSize := SIZEOF(awSlaveData));

awSlaveData[0] := V_NetOut4;
awSlaveData[1] := V_NetOut3;
awSlaveData[2] := V_NetOut2;
awSlaveData[3] := V_NetOut1;
В тестовой сети присутствуют три устройства: ПЛК в роли слейва и два ПК, на которых запускаются различные modbus-эмуляторы в роли мастеров.
Мастер подключается и получает нужные данные. Но при запуске второго мастера (на другом ПК, соответственно) он выдаёт ошибку подключения. Если остановить опрос с первого мастера, через несколько секунд второй мастер успешно подключается. Но тогда уже не может подключиться первый мастер. Попытки увеличить интерал между запросами от мастера до 1 секунды никак на результат не повлияли. В контроллере программа крутится с циклом 100 мс.

В какую сторону копать? Или больше одного мастера не может быть в принципе? Но зачем тогда поле usiCurrentCountClients у MB_TcpSlave?