Нашел еще один косяк.
В FB модуле Read_Energy_Mass:
Код:
	IF NumMass =6 THEN
		p:=ADR(out4);
		p^:=otvet[15];
		p:=ADR(out4)+1;
		p^:=otvet[16];
	
		IF out4=65535 THEN
			out4:=0;
		END_IF
	
	ELSE
		out4:=0;
	END_IF
А должно быть:
Код:
	IF NumMass <> 6 THEN
Если запрашиваем пофазные значения, то длина 12 байт, а не наоборот...
Или я что-то где-то не понимаю?
И еще вопрос: ответы энергий идут размером в DWORD, а у вас всего WORD, т.е. с учетом того что там в ват/час, то переход через ноль будет уже при 65 с копейками киловатт. Не маловато ли?