Профиль должен быть заполнен на русском языке кириллицей. Заполнение профиля заведомо ложными или некорректными данными - причина возможного отказа в регистрации на форуме.

IFix 5.5, работа с Float64

SCADA, серверы, АРМ верхнего уровня, диспетчерские

Автор темы
aaleksander
здесь недавно
здесь недавно
Сообщения: 11
Зарегистрирован: 22 окт 2014, 09:03
Ф.И.О.: Ануфриев Александр Анатольевич

IFix 5.5, работа с Float64

Сообщение aaleksander » 22 окт 2014, 09:08

Добрый день, уважаемые.

Понадобилось нам хранить уставки с повышенной точностью, которую float не обеспечивает.
Выделили блок памяти с Float64, записали туда значение (MBE его видит).
Дальше никак: IFix не может привязать тэг к данному куску памяти (использовали AR). DataBase Manager показывает какой-то мусор (это логично, у него в списке типов данных нет Float64 или double).

Так как все-таки привязать тэг к Float64?

Спасибо.

Аватара пользователя

hell_boy
почётный участник форума
почётный участник форума
Сообщения: 1078
Зарегистрирован: 18 янв 2009, 12:25
Ф.И.О.: Дмитрий
Благодарил (а): 2 раза
Поблагодарили: 22 раза

Re: IFix 5.5, работа с Float64

Сообщение hell_boy » 22 окт 2014, 23:45

Странно, еще с версии iFix 4.5 тип DOUBLE поддерживался. Правда, рекомендуется использовать драйвер IGS. MBE с версии 7.42 тоже поддерживает. Надо использовать опцию "Swap Long Words" в закладке DataBlock/Advanced и для просмотра-архивирования поле E_CV вместо F_CV
"Умные люди обсуждают идеи, средние - события, а глупые - людей" Л.Н. Толстой


Автор темы
aaleksander
здесь недавно
здесь недавно
Сообщения: 11
Зарегистрирован: 22 окт 2014, 09:03
Ф.И.О.: Ануфриев Александр Анатольевич

Re: IFix 5.5, работа с Float64

Сообщение aaleksander » 23 окт 2014, 08:57

Спасибо, посмотрел. Не помогло.
В DataManagere iFixа у тэгов нет типа Double (там куча каких-то BFloat, BWFloat и т.п. - ни один не подошел).
Значение записываю с помощью Proficy.iFixToolkit.Adapter2.dll (методом SetOneDouble). Но все равно в PowerToole показывает, что это Float.
К сожалению, не могу вставить картинки (служебный прокси не пускает).

Единственный способ, с помощью которого у меня получилось увидеть число 1.123456789 в PowerTool (в режиме Float64) - это разобрать число с помощью BitConvertera и записать побайтно. Но в DataManagere все равно не показывает (он не понимает, что там double и не умеет его показывать).

iFix - 5.5, MBE - 7.43а

P.S. Еще в догонку: можно как-то в DataBase Managere посмотреть не только F_CV, но и F_0, F_1 и т.д?

Спасибо.


Andy2030
новенький
новенький
Сообщения: 1
Зарегистрирован: 23 окт 2014, 11:17
Ф.И.О.: Горбунов Андрей

Re: IFix 5.5, работа с Float64

Сообщение Andy2030 » 23 окт 2014, 12:01

используйте встроенный драйвер SM2
SM2 Driver Features (SM2DOC.chm)
Stores analog values in 64-bit floating point registers, numbered 0 to 19999. Incoming values are not scaled.


P.S. Еще в догонку: можно как-то в DataBase Managere посмотреть не только F_CV, но и F_0, F_1 и т.д

для этого можно создать рисунок в Workspace для контроля значений


Автор темы
aaleksander
здесь недавно
здесь недавно
Сообщения: 11
Зарегистрирован: 22 окт 2014, 09:03
Ф.И.О.: Ануфриев Александр Анатольевич

Re: IFix 5.5, работа с Float64

Сообщение aaleksander » 24 окт 2014, 15:17

Тут проблемма явно не в драйвере, поскольку MBE это значение отображает корректно.
Проблемы начинаются в DataManagere. Когда привязываю тэг к области памяти в списке доступных типов нет double.
В поддержке сказали, что AR не поддерживается 64-битные данные, и надо использовать AI + E_CV.
Но не помогло, у AI тоже нет такого типа данных.
Всю голову уже сломал.

Аватара пользователя

hell_boy
почётный участник форума
почётный участник форума
Сообщения: 1078
Зарегистрирован: 18 янв 2009, 12:25
Ф.И.О.: Дмитрий
Благодарил (а): 2 раза
Поблагодарили: 22 раза

Re: IFix 5.5, работа с Float64

Сообщение hell_boy » 26 окт 2014, 15:03

В AI нет такого типа, используйте преобразование None. При визуализации вместо F_CV используйте E_CV. DataBase Manager даже не смотрите, внутри он еще 16-битный. Сразу тег *.E_CV выводите не мнемосхему.
"Умные люди обсуждают идеи, средние - события, а глупые - людей" Л.Н. Толстой


Автор темы
aaleksander
здесь недавно
здесь недавно
Сообщения: 11
Зарегистрирован: 22 окт 2014, 09:03
Ф.И.О.: Ануфриев Александр Анатольевич

Re: IFix 5.5, работа с Float64

Сообщение aaleksander » 26 янв 2015, 14:24

Проблема была все-таки в драйвере. Поставил 4.76b и сразу появился тип Float64 в DatabaseManagere.
Всем спасибо.


Вернуться в «Верхний уровень автоматизации»



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 0 гостей