Здравствуйте, Уважаемые гуру!

Я начинающий программист ПЛК ОВЕН, первый проект.

Прочитал все инструкции по подключению МВ к ПЛК. Посмотрел видео, но что-то все равно не получается.

Проект на ST. Codesys v3.4 patch2 без HF1. (Недоступно для скачивания на Вашем сайте)
Подключены библиотеки: ModBus, ComSerice, SysLibCom.
Описание переменных:
Код:
PROGRAM PLC_PRG
VAR
	get1_modbus: MB_RD_HOLD_REGS;
	t: DWORD;
	a: WORD:=0;
	port_opened: BYTE:=0;
	Settings: COMSERICE.SysCom.COM_Settings;
	SettingsEx: COMSERICE.SysCom.COM_SettingsEx;	
	Com_service1:Com_service;
	master1: BYTE:=1;
	enabl: BOOL;
	TimeOut: TIME:=T#50ms;
	Buffer: ARRAY [0..255] of byte;
	Complete: BOOL;
	err: INT;
	Exception: INT;
	ByteCnt: WORD;
	cmpl: BOOL;
	x: WORD;
	DataSize: BYTE;
END_VAR
Тело программы:
Код:
IF port_opened=0 THEN
	Settings.sPort:=0;
	Settings.ulBaudRate:=115200;
	Settings.byParity:=0;
	Settings.ulTimeOut:=0;
	Settings.byStopBits:=0;
	Settings.ulBufferSize:=0;
	SettingsEx.byByteSize:=8;
	SettingsEx.bBinary:=TRUE;
COM_SERVICE1(Enable:=(port_opened=0), Settings:=Settings, (*sets_ex:=Setting*****) Task:=OPEN_TSK);
END_IF
IF COM_SERVICE1.ready THEN
	port_opened:=2;
END_IF
IF port_opened=2 THEN
get1_modbus(
	Enable:=enabl,
	Mode:=MB_RTU,
	DevAddr:=16,
	FirstAddr:=51,
	Quantity:=1,
	ComHandle:=Settings.sPort,
	TimeOut:=TimeOut,
	Buffer:=Buffer,
	Complete=>cmpl,
	Exception=>err,
	ByteCnt=>DataSize);
IF cmpl THEN
	IF err=0 THEN
		x:=BYTE_TO_WORD(BUFFER[1]) OR SHL(BYTE_TO_WORD(BUFFER[0]),8);
	END_IF
END_IF
IF enabl=FALSE THEN
	enabl:=TRUE;
END_IF
IF err<>0 THEN
	enabl:=FALSE;
END_IF
END_IF
Загружаю, запускаю и COm_SERVICE1.READY всегда FALSE.
Немогу понять почему? Подскажите пожалуйста.
Заранее благодарен!