Подскажите, а есть ли готовые или общепринятые способы распознавания восстановления связи с ПЧВ01[МО1]?
Сделал вариант, который работает с помощью отслеживания текущего входного напряжения на ПЧВ.
При разнице с предыдущим сохраненным значением выше определенного значения считать что связь восстановилась
В данном случае для себе взял значение 150 (трех фаз у меня пока нет).
Цель - ПЛК при включении частотника должен писать в него (частотник) значение по умолчанию.

Код:
IF (currentVoltage - savedVoltage) > 150 THEN
	FrequencySetOutputValue:= FrequencySetStartupValue;
	triggerFrequencySetOutputValue:= TRUE;
END_IF

//можно попробовать использовать xError или другие варианты, типа OwenDriver.hasError
//но xInitDone хоть и интуитивно не так понятен, но стабильно TRUE если есть связь и FALSE, 
//если нет
IF NOT PChV1_M01.xInitDone THEN
	currentVoltage := 0;
END_IF

savedVoltage := currentVoltage
Но этот способ кажется корявым, что скажете?

До этого пытался соорудить что-то, сделав счетчик Модбас передач с помощью xDone, сохраняя и сравнивая предыдущее значение с текущим.
Пытаясь потом поймать момент восстановления, когда значения счетчиков сравнялись и xDone снова в True.
Стабильно рабочего варианта не вышло, ибо измененное текущее значение периодически перетиралось дефолтным.

Код:
//Работает при включении-выключении ПЧВ, но также счетчики периодически сравниваются при стабильно включенном ПЧВ 
IF (pchvModbusCountSaved = pchvModbusCount) AND PChV1_M01.xDone THEN
	FrequencySetOutputValue:= FrequencySetStartupValue;
	triggerFrequencySetOutputValue:= TRUE;
END_IF

//каждые 300 (например) циклов, сохраняем значение счетчика 
IF cycleCount MOD 300 = 0 THEN
	pchvModbusCountSaved := pchvModbusCount;
END_IF

IF PChV1_M01.xDone THEN
	pchvModbusCount := pchvModbusCount + 1;
END_IF