В свойствах тэгов базы данных iFIX есть возможность выбора формата данных (Hardware Options). Понятно, когда речь идет об аналоговых величинах.
Но выбор формата можно произвести и при редактировании дискретного сигнала, в частности DI, MDI И т.д.
Вопрос: Какой смысл имеет выбор данный опции для дискретного сигнала? Ведь не может же дискретный тэг иметь формат WFoat!!!
Заранее благодарен.
Да действительно как и у тега AI, так и у тега DI есть указанные вами поля и все они относятся к настройкам драйвера ввода-ввода, от которого теги получают даннные.
Из справки iFix:
A_IODV Имя драйвера ввода-вывода блока. Зависит от используемого драйвера.
A_IOAD Адрес ввода-вывода блока. Зависит от используемого драйвера.
A_IOHT Опции аппаратуры драйвера ввода-вывода. Зависит от используемого драйвера.
A_IOSC Тип преобразования сигнала, используемый блоком. Зависит от используемого драйвера.
И везде приписывается строчка - За дополнительной информацией обратитесь к руководству по драйверу.
Мы последние два поля вообще не используем, соответственно информацию по ним ищите в руководстве к вашему драйверу. В AI вы их используете для масштабирования?
у нас драйвер MBE 6, используются такие настройки.
A_IODV = MBE
A_IOAD = G501:42001
Поля A_IOHT и A_IOSC мы используем в тегах AI для корректного отображения величины, переданной с нижнего уровня. Для масштабирования границы A_ELO и A_EHI выделяем количество знаков после запятой.
Мы также используем драйвер MBE. И указанные поля в принципе для дискретных сигналов не использовали. Но недавно я наткнулся на CSV файл, сделанный уже неработающим здесь человеком. В некоторых MDI тегах в поле A_IOHT он указал тип данных UInt.... У меня данный факт вызвал недоумение. И человека уже нет, чтобы спросить.
В хелпах драйвера ясно написано, что такое UInt. Но непонятно как в тег MDI может записаться 16-битовое число.
К сожалению, досконально не проверял эти поля, т.к. не было необходимости.
и передаем в iFix значение из контроллера без преобразования, поэтому эти поля (A_IOHT, A_IOSC) мы не используем.
Полями A_ELO и A_EHI как и вы, задаем границы отображения на графиках, ручного ввода и точность знаков после запятой.
"для корректного отображения величины" - вы имеете в виду преобразование заданного типа - например, линейное?
да, именно это.
Как правило линейное и используем
Раз мы затронули тему БД iFix, хотел узнать как вы формируете базу, какой арсенал тегов используете?
Мы ограничились:
AI - 1 сек - для чтения/записи в контроллер
DI - 1 сек- для чтения/записи в контроллер
ETR - для реализации быстрых трендов, цепляем на хвост ко всем AI/DI
CA, BL, PG - для простейших расчетов
Базы у нас большие: 14 - 40 тыс. тегов, ставим как правило два резервируемых сервера.
Примерно также мы формируем и свою БД. Отличия лишь в том, что ETR цепляем только на хвост AI, а для простых расчетов используем только CA.
Первоначально опубликовано UseriFIX
Мы также используем драйвер MBE. И указанные поля в принципе для дискретных сигналов не использовали. Но недавно я наткнулся на CSV файл, сделанный уже неработающим здесь человеком. В некоторых MDI тегах в поле A_IOHT он указал тип данных UInt.... У меня данный факт вызвал недоумение. И человека уже нет, чтобы спросить.
В версиях до 7.0 точки из драйвера MBE и MB1 неверно сохранялось в формат CSV. Вернее, если стоял тип данных None, то и сохранялись как UInt. Насчет этого был SIM специальный.
Спасибо за информацию.
Вопрос прояснился.
Почему же тогда в БД доступно поле Hardwre Options в дискретных тегах?
При выборе любого типа данных никакого ругательного сообщения не выскакивает...
Вы не можете публиковать новые темы в этом форуме Вы не можете отвечать на сообщения в этом форуме Вы не можете удалять Ваши сообщения на этом форуме Вы не можете редактировать Ваши сообщения на этом форуме Вы не можете создавать голосования на этом форуме Вы не можете выражать своё мнение в голосованиях на этом форуме