Панель пользователя

Автор Тема: ZHMI - ссылочная переменная  (Прочитано 697 раз)

Оффлайн sokave

  • Новичок
  • *
  • Сообщений: 8
  • Карма: +0/-0
ZHMI - ссылочная переменная
« : 05 Апрель 2016, 16:00:40 »
Добрый день
Вопрос в следующем, в редакторе проекта создаем ссылочную переменную например Hour2 (Чтение и запись, Целый знаковый", которая в строке "Переменная для чтения"  берет текущее значение из системной переменной $Hour и нам необходимо к ней прибавить "1" для того,чтобы получилось значение "текущий час+1". если написать в строку "Выражение": ($Hour+1), то в переменную Hour2 запишется значение текущего часа, а не на 1 больше.
Что я делаю не так ?
спасибо

Оффлайн Artem

  • Глобальный модератор
  • Постоялец
  • *****
  • Сообщений: 154
  • Карма: +9/-0
Re: ZHMI - ссылочная переменная
« Ответ #1 : 05 Апрель 2016, 21:52:53 »
В выражении нужно писать переменную Z. Вместо нее будет подставляться значение переменной. Поподробнее написано в документации, в разделе 5.1.5 Ссылочная переменная

Оффлайн sokave

  • Новичок
  • *
  • Сообщений: 8
  • Карма: +0/-0
Re: ZHMI - ссылочная переменная
« Ответ #2 : 06 Апрель 2016, 08:23:09 »
да, все спасибо, заработало, просто не совсем понял описание переменной
а как можно сделать следующее - запуск и остановку вентиляции в определенное время, например в 12:00:00 - запуск, в 14:00:00 остановка, но при этом еще реализовать выбор времени через выпадающее меню (выбираются часы - 0,1,2, 3 и т.д.?
в самом объекте выпадающего меню можно в качестве параметров переменной указать только числа, а не любые значения переменной, например присвоить при выборе в меню "02" переменной Time1 02:00:00, как тогда это можно сделать ?

Оффлайн mike

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 1022
  • Карма: +22/-0
Re: ZHMI - ссылочная переменная
« Ответ #3 : 06 Апрель 2016, 08:25:53 »
zHMI - устаревшая версия нашего ПО и на ней не все получится сделать.

Сформулируйте, пожалуйста, точнее задачу.

Оффлайн sokave

  • Новичок
  • *
  • Сообщений: 8
  • Карма: +0/-0
Re: ZHMI - ссылочная переменная
« Ответ #4 : 06 Апрель 2016, 08:52:13 »
точнее...
Давайте тогда локально, с конкретным примером, как это должно быть:
Есть группа 2-х выпадающих меню с выбором времени включения и выключения установки по часам (в каждом можно выбрать часы - 0,1,2,3...23), таких групп 3, тоесть за сутки мне необходимо 3 таких интервала включения-выключения установки.
Можно ли это реализовать в этой системе ? или может как то по другому это можно сделать, не с выпадающими меню ?
Еще вопрос: не очень понял как сделать в выражении ссылочной переменной проверку вида, например: если z = 10 то 1 иначе 0, я пишу (z=10?1:0) - естественно выдается ошибка, что я не так пишу ?

поподробннее бы где узнать по этим всем выражениям, в документации маловато информации...

Оффлайн Artem

  • Глобальный модератор
  • Постоялец
  • *****
  • Сообщений: 154
  • Карма: +9/-0
Re: ZHMI - ссылочная переменная
« Ответ #5 : 06 Апрель 2016, 09:06:47 »
Синтаксис выражений такой-же как в языке C. Для сравнения используется оператор ==. У вас =, поэтому ругается.

Оффлайн sokave

  • Новичок
  • *
  • Сообщений: 8
  • Карма: +0/-0
Re: ZHMI - ссылочная переменная
« Ответ #6 : 06 Апрель 2016, 11:51:48 »
а если не нужно использовать тернарный оператор, тоесть чтобы выражение было не вида "если а = 100 то в= 10 иначе в=20", а просто "если а = 100 то в = 10", тогда как это написать ? В Cи по моему только используется оператор "if" для этого

Оффлайн sokave

  • Новичок
  • *
  • Сообщений: 8
  • Карма: +0/-0
Re: ZHMI - ссылочная переменная
« Ответ #7 : 06 Апрель 2016, 11:53:41 »
zHMI - устаревшая версия нашего ПО и на ней не все получится сделать.

Сформулируйте, пожалуйста, точнее задачу.
а что есть из "нового" ПО взамен устаревшего ?

Оффлайн mike

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 1022
  • Карма: +22/-0
Re: ZHMI - ссылочная переменная
« Ответ #8 : 06 Апрель 2016, 12:22:11 »
Взамен есть программно-аппаратное решение zWorkbench+N450EV

Оффлайн sokave

  • Новичок
  • *
  • Сообщений: 8
  • Карма: +0/-0
Re: ZHMI - ссылочная переменная
« Ответ #9 : 06 Апрель 2016, 12:37:34 »
Взамен есть программно-аппаратное решение zWorkbench+N450EV
и я так понимаю в этом варианте нельзя использовать существующий проект в формате GFD и наш существующий контроллер  , нужно все переделывать ?
« Последнее редактирование: 06 Апрель 2016, 12:43:01 от sokave »

Оффлайн mike

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 1022
  • Карма: +22/-0
Re: ZHMI - ссылочная переменная
« Ответ #10 : 06 Апрель 2016, 12:47:30 »
К сожалению, да.

Оффлайн Artem

  • Глобальный модератор
  • Постоялец
  • *****
  • Сообщений: 154
  • Карма: +9/-0
Re: ZHMI - ссылочная переменная
« Ответ #11 : 06 Апрель 2016, 13:09:39 »
а если не нужно использовать тернарный оператор, тоесть чтобы выражение было не вида "если а = 100 то в= 10 иначе в=20", а просто "если а = 100 то в = 10", тогда как это написать ? В Cи по моему только используется оператор "if" для этого
Нет, операторы типа if не работают. Это не совсем скрипт, а обычное выражение. Поэтому для условия можно использовать только тернарный оператор

Оффлайн sokave

  • Новичок
  • *
  • Сообщений: 8
  • Карма: +0/-0
Re: ZHMI - ссылочная переменная
« Ответ #12 : 06 Апрель 2016, 14:38:41 »
мда... значит то что мне нужно, сделать невозможно в старом софте, а в новом не сделать, потому как никто не будет менять контроллеры и заново переписывать полностью проект

Оффлайн mike

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 1022
  • Карма: +22/-0
Re: ZHMI - ссылочная переменная
« Ответ #13 : 08 Апрель 2016, 08:57:24 »
Вот к чему это "мда"?
Я понимаю, если бы мы хоть рупь с вас поимели, тогда можно было бы сказать "мда".

Оффлайн sokave

  • Новичок
  • *
  • Сообщений: 8
  • Карма: +0/-0
Re: ZHMI - ссылочная переменная
« Ответ #14 : 19 Апрель 2016, 10:21:23 »
"мда" - здесь в следующем контексте "жаль что нет совместимости с новыми версиями ПО"