Здравствуйте
1. В программе ULP_Demo перейдите на вкладку "Преобразователь" и выберите раздел "ось";
2. для углового преобразователя укажите тип оси - "Угловая";
3. поскольку разрядность вашего преобразователя 22 бита - поле "Дискрет на оборот датчика" должно иметь значение 4 194 304;
4. выбрать сколько цифр после запятой необходимо, предположим, что выбрали 3;
5. поле "единиц на оборот системы" в таком случае должно иметь значение 360 000;
6. нажать кнопку "Калькулятор", должно открыться окно программы AB_calculator (программа должна лежать в каталоге вместе с ULP_Demo);

- ось.png (16.82 КБ) 1677 просмотров
7. заполнить все поля ввода аналогичными значениями (как в ULP_Demo) и нажать кнопку "Посчитать";

- ав.png (7.08 КБ) 1677 просмотров
8. перенести полученные коэффициенты A и B в программу ULP_Demo и применить настройки;
9. в поле позиции программы ULP_Demo теперь отображается позиция в градусах с точностью до тысячных (т.к. мы так выбрали в п.4), но не отображается точка. При чтении по Modbus, мы будем получать тоже значение, что и в ULP_demo. Соответственно, его будет необходимо поделить на 1000;
10. для проверки правильности расчета коэффициентов необходимо умножить число дискрет на оборот преобразователя на коэффициент пересчета. Должно получиться 360 000: 4 194 304 * 5625 / 65536 = 360 000 - все верно. Если совершать вращение штока преобразователя, то значение позиции будет меняться от 0 до 359 999.
Также, если очень хочется, привидение к физической величине можно производить на устройстве верхнего уровня, но в таком случае, при замене преобразователя на отличный (с другой разрядностью. другого типа и т.д.) будет необходимо менять ПО верхнего уровня. В приведенном выше примере, задачу унификации берет на себя модуль интерфейса.