Велосипед изобретать не надо. Есть LIN_TRAFO в Util.lib, у которого на выходе OUT всегда последнее корректное значение, а на выходе ERROR — сигнал о выходе за диапазон. Если в старшем байте окажется фигня, то входной сигнал гарантированно вылетит за разумные пределы, и выход ERROR станет TRUE.
Можно-ли из приложения читать\писать значения Min FV и Max FV для аналогового канала?
Увы, нет. Но с LIN_TRAFO они не шибко нужны — просто установите их на 0.0 и 1.0, например (я предпочитаю ставить 4 и 20 или 0 и 10 — по физической величине).