Страница 1 из 2

Отображение трендов

СообщениеДобавлено: 13 май 2015, 13:47
Boris
Здравствуйте! Проблема состоит вот в чем. Мне необходимо отображать группы трендов (например позиция такая то, и выводились теги относящиеся к ней, с последующим их выбором и отображением на графике). Визуально это все должно выглядеть как два ниспадающих списка с выбором позиций в одном, а во втором уже выбор тегов данной позиции. Понимаю, что здесь без макросов не обойтись, так как стандартный выбор данных осуществляется из вкладки "канал", где можно галочкой отмечать нужный нам канал, предварительно отметив "динамические пределы" и указав адрес тега. Позиций куча, и тегов относящихся к ним десятки. Подскажите как можно реализовать данную схему). Или может есть другие варианты отображения.

Re: Отображение трендов

СообщениеДобавлено: 15 май 2015, 13:24
Boris
:cry:

Re: Отображение трендов

СообщениеДобавлено: 15 май 2015, 15:22
den_po
Вот пример

Re: Отображение трендов

СообщениеДобавлено: 15 май 2015, 15:43
Boris
Огромное спасибо!

Re: Отображение трендов

СообщениеДобавлено: 20 май 2015, 11:50
Ил18
Стоит аналогичная задача, попробовал этот проект с 32 битными real ,не получается

Re: Отображение трендов

СообщениеДобавлено: 20 май 2015, 12:03
den_po
Ил18 писал(а):Стоит аналогичная задача, попробовал этот проект с 32 битными real ,не получается

Что именно не получается?

Re: Отображение трендов

СообщениеДобавлено: 22 май 2015, 11:12
Ил18
Изменил в этом проекте макрос чтобы генерились real
Код: Выделить всё
macro_command main()

int x
float y

RAND(x)
y = (x & 31)+100
SetData(y, "Local HMI", LW, 0, 1)


RAND(x)
y = (x & 31)+300
SetData(y, "Local HMI", LW, 1, 1)

RAND(x)
y = (x & 31)+150
SetData(y, "Local HMI", LW, 2, 1)

RAND(x)
y = (x & 31)+350
SetData(y, "Local HMI", LW, 3, 1)

end macro_command



В выборке данных изменил 16 бит signed на 32 float, графики не выходят.А вообще мне надо читать с ОВЕН МВ 110-8А

Re: Отображение трендов

СообщениеДобавлено: 22 май 2015, 11:30
den_po
Real занимают по 2 регистра LW, поэтому их адреса должны отличаться как минимум на 2. Кроме макроса нужно изменить формат в выборках данных.

Re: Отображение трендов

СообщениеДобавлено: 22 май 2015, 14:48
Ил18
Вот макрос, в выборке указал 32 float.
Код: Выделить всё
macro_command main()

int x
float y

RAND(x)
y = (x & 31)+100
SetData(y, "Local HMI", LW, 0, 1)


RAND(x)
y = (x & 31)+300
SetData(y, "Local HMI", LW, 2, 1)

RAND(x)
y = (x & 31)+150
SetData(y, "Local HMI", LW, 4, 1)

RAND(x)
y = (x & 31)+350
SetData(y, "Local HMI", LW, 6, 1)

end macro_command


Изображение
https://yadi.sk/d/rR3UTe9ZgoXGs

Re: Отображение трендов

СообщениеДобавлено: 22 май 2015, 15:03
den_po
Да, я забыл про динамические пределы. Либо отключите их в свойствах графика, либо:
- расставьте в адресных ярлыках метки steam_* и water_* по адресам, отличающимся как минимум на 2
- измените формат чисел для объектов "числа" внизу экрана на 32bit float
- измените в параметрах адреса объектов "установить слово" (4 объекта справа) формат в 32bit float