1. Обязательно представиться на русском языке кириллицей (заполнить поле "Имя").
  2. Фиктивные имена мы не приветствуем. Ивановых и Пупкиных здесь уже достаточно.
  3. Не писать свой вопрос в первую попавшуюся тему - вместо этого создать новую тему.
  4. За поиск, предложение и обсуждение пиратского ПО и средств взлома - бан без предупреждения.
  5. Рекламу и частные объявления "куплю/продам/есть халтура" мы не размещаем ни на каких условиях.
  6. Перед тем как что-то написать - читать здесь и здесь, а студентам - обязательно здесь.
  7. Не надо писать в ЛС администраторам свои технические вопросы. Администраторы форума отлично знают как работает форум, а не все-все контроллеры, о которых тут пишут.

IFix 5.5, работа с Float64

Ответить

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

IFix 5.5, работа с Float64

Сообщение aaleksander »

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

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

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

Спасибо.
Аватара пользователя

hell_boy
почётный участник форума
почётный участник форума
Сообщения: 1746
Зарегистрирован: 18 янв 2009, 12:25
Имя: Дмитрий
Страна: Россия
город/регион: Москва
Благодарил (а): 6 раз
Поблагодарили: 132 раза

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

Сообщение hell_boy »

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

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

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

Сообщение aaleksander »

Спасибо, посмотрел. Не помогло.
В 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, 12:17
Имя: Горбунов Андрей
Страна: Казахстан

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

Сообщение Andy2030 »

используйте встроенный драйвер 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
здесь недавно
здесь недавно
Сообщения: 12
Зарегистрирован: 22 окт 2014, 10:03
Имя: Ануфриев Александр Анатольевич

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

Сообщение aaleksander »

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

hell_boy
почётный участник форума
почётный участник форума
Сообщения: 1746
Зарегистрирован: 18 янв 2009, 12:25
Имя: Дмитрий
Страна: Россия
город/регион: Москва
Благодарил (а): 6 раз
Поблагодарили: 132 раза

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

Сообщение hell_boy »

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

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

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

Сообщение aaleksander »

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

Вернуться в «GE iFix»