Собственно, сабж. Проблема в следующем, не совсем понятно - какие значения прописывать. Пробовал по совету техподдержки в регистры zU.Fn и zU.Fx прописывать фактические значения в килограммах, но потом, когда ложу тот же груз на датчик - получаю даже не близкое значение.
Однако, что меня смутило: в документации по zU.Fn и zU.Fx написано следующее:
Тип: float32. Только запись. Передается значение напряжения, соответствующее минимальному значению физической величины
. Как видно из описания - регистр только для записи, поэтому произвести юстировку по ModBus, а потом через Конфигуратор и сравнить результаты невозможно. После получения неудовлетворительного результата при использовании варианта, предложенного техподдержкой, я решил пойти "своим путем".
Рассудил следующим образом: в документации указаны регистры, через которые можно задавать значения максимальной и минимальной физических величин (регистры v.Min и v.Max, по умолчанию - 0 и 100 соответственно), стало быть, юстировка требует от меня, чтобы я указал именно напряжения, соответствующие данным значениям.
Поступил следующим образом:
  • положил малый груз на датчик (будем считать, что его масса равна 1 кг)
  • считал и запомнил напряжение, выдаваемое модулем в этот момент
  • положил большой груз на датчик (будем считать, что его масса равна 90 кг)
  • считал и запомнил напряжение, выдаваемое модулем в этот момент
  • рассчитал напряжения для 0 и 100 кг по формуле (см. ниже)
  • записал значения в zU.Fn и zU.Fx соответственно
  • подтвердил командой U.Apl
  • получил еще более странный результат (при попытке конвертировать в число - получаю слишком большое число - Infinite)


Собственно, рассчитывал просто. Как я понимаю, шкала измерения у нас тут линейная, строится прямая по двум точкам, значит, берем стандартное y = k*x + b. За x берем напряжение, за y - массу. Так x1 - это напряжение датчика с малым грузом, y1 - масса малого груза. x2 и y2 - то же самое, но для большого груза.
Подставляем - получаем систему уравнений: { y1 = k * x1 + b, y2 = k * x2 + b; }.
Собственно, решаем в общем виде, получаем наши коэффициенты: b = y1 - k * x1, k = (y2 - y1) / (x2 - x1).
Коэффициенты есть, также нам известны крайние значения y - это 0 и 100. Подставляем и получаем напряжения для 0 и 100 кг.

Расписал я это все для того, чтобы умные люди ткнули меня носом в ошибку. Что я делаю не так? Заранее всем благодарен.