|
|
Tac (запись с Op в точку Snvt) |
|
|
|
1.10.2013, 19:28
|
Группа: Участники форума
Сообщений: 134
Регистрация: 29.12.2006
Пользователь №: 5384
|
Уважаемые специалисты Несколько вопросов по TAC - думаю, для тех, кто работала с этой техникой вопросы будут элементарными 1. Возможно, ли как-то подключить внутренние свойства функциональных блоков к SNVT точкам сети LON. Например, свойства «Delay On/Delay off» блока DELAY (см скриншот 1) 2. Возможно ли с OP записывать значения в SNVT точки сети LON, или же запись с OP можно осуществлять только пользуясь блоками PVB, PVI, PVR (см. диаграмму – корректны ли на диаграмме комментарии, которые обведены зелеными областями?) (см. скриншот 2) спасибо всем
Прикрепленные файлы
1.JPG ( 23,02 килобайт )
Кол-во скачиваний: 12
2.JPG ( 169,74 килобайт )
Кол-во скачиваний: 27
|
|
|
|
|
3.10.2013, 6:54
|
Группа: Участники форума
Сообщений: 637
Регистрация: 4.7.2005
Пользователь №: 945
|
1. Нет 2. Нет
Вы смотрели примеры из библиотеки? Тут C:\Program Files (x86)\Schneider Electric\TAC Menta 5.1.8\Library\Macro Block Library\Miscellaneous\SNVT
|
|
|
|
|
3.10.2013, 11:41
|
Группа: Участники форума
Сообщений: 35
Регистрация: 17.3.2011
Пользователь №: 98879
|
1.согласен. 2. не согласен. с ОР можно в принудительном режиме записать. значок принудительной записи >
|
|
|
|
|
4.10.2013, 12:03
|
Группа: Участники форума
Сообщений: 134
Регистрация: 29.12.2006
Пользователь №: 5384
|
Уважаемый utkini2, Поведайте на счет символа принудительной записи ">" - куда его проставлять - в dop файл что-ли?
спасибо
|
|
|
|
|
4.10.2013, 13:49
|
Группа: Участники форума
Сообщений: 35
Регистрация: 17.3.2011
Пользователь №: 98879
|
А что у Вас ОР? Я же писал - с ОР. В любую переменную выведенную в ОР. после ввода "красного пароля" можно записать принудительно значения. Не совсем понятна ваша задача. если хотите принять сигнал SNVT используйте (PVB,I,R), хотите передать, отправить - (АО,DO)
|
|
|
|
|
4.10.2013, 16:13
|
Группа: Участники форума
Сообщений: 134
Регистрация: 29.12.2006
Пользователь №: 5384
|
Задача в том, что бы иметь возможность изменять одну и ту же SNVT точку из двух источников * с АРМ оператора * Операторская панель
Например SNVT точка - уставка контура регулирования температуры.
Важно, что бы была возможность изменять уставку и с OP панели и с диспетчерского места (TAC Vista). С TAC Vista никаких проблем, но с OP не получается. Если в Menta конфигуришь AI объект как SNVT, то с ПО конфигурирования OP панели данная точка имеет статус исключительно R (Только чтение).
|
|
|
|
|
5.10.2013, 12:37
|
Группа: Участники форума
Сообщений: 35
Регистрация: 17.3.2011
Пользователь №: 98879
|
А какую переменную меняете из висты? И а зачем меняете входной сигнал (AI)? Меняйте как хотите PVR а потом отдавайте на выход AO и его используйте как SNVT.
|
|
|
|
|
7.10.2013, 13:39
|
Группа: Участники форума
Сообщений: 637
Регистрация: 4.7.2005
Пользователь №: 945
|
"2. Возможно ли с OP записывать значения в SNVT точки сети LON" Возможно, например так
SNVT.JPG ( 21,91 килобайт )
Кол-во скачиваний: 50"Важно, что бы была возможность изменять уставку и с OP панели и с диспетчерского места (TAC Vista). " Не понял, причем здесь Виста. Или Виста с Xenta и без SNVT. или Xenta c SNVT и с какой-то другой СКАДОй.
|
|
|
|
|
7.10.2013, 20:27
|
Группа: Участники форума
Сообщений: 134
Регистрация: 29.12.2006
Пользователь №: 5384
|
наверное я очень жестко туплю, но совсем не получается "вытянуть" объекты PVR в Vista. * В Menta сохраняю приложение в котором есть PVR блок. Данный блок имеет статус Public, именуется как "Setpoint", а в поле InitValue прописана "Setpoint1" -глобальная константа, имеющая также статус Public * Проект загружаю в контроллер Xenta 302 * В Vista добавляю новое устройство "New/Device/Lonworks Device", потом в несколько шагов мастера указываю NID контроллера и XIF файл * В дереве появляется контроллер, но "подтягиваются" только SNVT точки (они также есть в приложении), - переменной "Setpoint" нету.
|
|
|
|
|
8.10.2013, 6:58
|
Группа: Участники форума
Сообщений: 637
Регистрация: 4.7.2005
Пользователь №: 945
|
Используйте TAC Xenta Group. Если используется Виста и только Xentы, то SNVT и *.xif не нужны.
|
|
|
|
|
8.10.2013, 18:55
|
Группа: Участники форума
Сообщений: 134
Регистрация: 29.12.2006
Пользователь №: 5384
|
Уважаемый ttt, спасибо огромное за совет - действительно - через Xenta Group все объекты видны.
Можно еще вопрос. Как в системе TAC оптимальнее всего организовать присвоение одной типовой точке (в рамках 200 контроллеров) некого общего значения. Например, есть 200 номерных контроллеров (Xenta 121) и надо одной командой (кнопкой из мнемосхемы) задать температурную уставку (например 18С) всем контроллерам. При этом возможность изменения данной уставки у каждого фанкойла отдельно также остается. В SCADA типа WinCC или Citect данный механизм просто реализуется через скрипт, так как из скриптов есть возможность обращаться к большинству объектов SCADA (в т.ч. и к тэгам, которые привязаны к внешним точкам). Можно ли в TAC сделать что то подобное, может ли JavaScript, обращаться (Читать/Писать) к точкам. Проглядывал документацию - сложилось впечатление, что все, что может JavaScript, - это исключительно анимирование разных примитивов страниц
Спасибо
Сообщение отредактировал Sasha_24 - 8.10.2013, 18:56
|
|
|
|
|
9.10.2013, 6:43
|
Группа: Участники форума
Сообщений: 637
Регистрация: 4.7.2005
Пользователь №: 945
|
"Можно ли в TAC сделать что то подобное" Можно. Используется не Java, в TGML скрипты. Есть документация на объекты и функции TGML. Есть примеры, есть предустановленные компоненты с подобными скриптами. Вам бы поучиться в представительстве, или хотя бы документацию собрать и почитать.
|
|
|
|
|
9.10.2013, 12:28
|
Группа: Участники форума
Сообщений: 134
Регистрация: 29.12.2006
Пользователь №: 5384
|
К сожаления изучать приходится самому. Я конечно дико извиняюсь, - можете прикрепить ссылку на документацию по TGML скриптам. Сапорт предоставил мне документ TGML Format Specification TGML 1.0, в которым кроме обработки визуальных примитивов страниц (анимаций и событий над ними) я ничего не нашел. Тут бы кусочек скрипта где-то посмотреть - типа void function somefunc() { //.... WriteToTag(string tag, real value) //... }
Спасибо
|
|
|
|
|
9.10.2013, 14:38
|
Группа: Участники форума
Сообщений: 637
Регистрация: 4.7.2005
Пользователь №: 945
|
"Тут бы кусочек скрипта где-то посмотреть" Легко. Разберите как написаны и как работают компоненты ToggleButton и SpinButton во вкладке Basic Controls панели Components.
|
|
|
|
|
10.10.2013, 8:19
|
Группа: Участники форума
Сообщений: 637
Регистрация: 4.7.2005
Пользователь №: 945
|
Посмотрите этот документ. Здесь перечень функций и операторов используемых в TGML.
tgml_quick_reference_v1_1.pdf ( 39,25 килобайт )
Кол-во скачиваний: 63
|
|
|
|
|
10.10.2013, 13:21
|
Группа: Участники форума
Сообщений: 134
Регистрация: 29.12.2006
Пользователь №: 5384
|
Спасибо большое за документ - весьма полезен
Просмотрел скрипты компоненты ToggleButton. Действительно есть функция setValue(string BindingName, string Value), но... Она ведь записывает в Bind, то есть условно говоря в промежуточную переменную (например MyToggle_00.Value), которая в свою очередь связана с переменной сервера.То есть в любом случае функция setValue за рамки DOM не вылазит. А вот, если представить ситуацию, что нужно осуществить запись в точку, которая незабиндина ни с одним из элементом ни на одной из страниц. - осуществить запись напрямую в точку сервера, типа setValue("TESTER-NIC_USB100_1-l1-Floor_01-Fan01-SCCFanCoil.nviDO1","0"), где первый длинный параметр это адрес. Можно ли это как то реализовать?
И еще вот интересующий момент, если можно (уж простите, больше не у кого спросить) * правда ли, что изменив функционал, своего (ранее разработанного) компонента, эти изменения никак не "подтянутся" в экземпляры этого компонента, которые ранее были добавлены на страницы? То есть если это 200 раз встречающийся на разных страницах, например, анимированный клапан - его придется заменить 200 раз и в каждом экземпляре сделать новый перебиндинг. Спасибо
Сообщение отредактировал Sasha_24 - 10.10.2013, 13:23
|
|
|
|
|
10.10.2013, 14:23
|
Группа: Участники форума
Сообщений: 637
Регистрация: 4.7.2005
Пользователь №: 945
|
- осуществить запись напрямую в точку сервера, типа setValue("TESTER-NIC_USB100_1-l1-Floor_01-Fan01-SCCFanCoil.nviDO1","0"), где первый длинный параметр это адрес. Можно ли это как то реализовать?
Нет, нельзя. Читаем документ. setValue("‹bindingName›","‹value›") Sets the value of a bound signal object. The bindingName is the full name (as it is exposed to the binding tools) of a Bind element.
правда ли, что изменив функционал, своего (ранее разработанного) компонента, эти изменения никак не "подтянутся" в экземпляры этого компонента, которые ранее были добавлены на страницы? Конечно нет. Представьте что получится при открытии файла TGML работающей (в смысле правильной БД) на Вашем ноутбуке с измененной кнопкой.
У Вас странные вопросы. Какую задачу Вы решаете? Освоение? Или что-то конкретное.
|
|
|
|
|
10.10.2013, 15:10
|
Группа: Участники форума
Сообщений: 134
Регистрация: 29.12.2006
Пользователь №: 5384
|
Освоение + реальное внедрение гостиницы, так уж получилось (приходится осваивать на ходу с нуля) На счет setValue("‹bindingName›","‹value›") - я имел ввиду, что не конкретно эта функция сможет записать в адрес (действительно по документу приложенному Вами очевидно, что она так не умеет), может есть какая то альтернативная функция.
По поводу компонент. Если не вдаваться в технические подробности реализации изнутри на уровне SCADA - это совершенно стандартный подход в большинстве систем (В Citect есть Super Genius, в Wincc есть faceplate и т.д.). И это, не то что бы удобно - необходимо, что бы при изменении самой компоненты - ее экземпляры подхватывали изменения (иначе в чем тогда смысл, если любая из ошибок может стать серийной).
Вопросы может и странные, но думаю, что они вполне адекватные в рамках SCADA систем: Шаблоны; компоненты; наследование; интеграция со сторонними СУБД, интеграция сторонних Dll, ActieX, .NET компонент; скриптинг, который может работать со всеми без исключениями объектами среды (а не только в рамках графических примитивов) и.т.д., - все эти факторы важны для понимания процесса разработки конечного HMI .
Спасибо
|
|
|
|
|
10.10.2013, 17:44
|
Группа: Участники форума
Сообщений: 637
Регистрация: 4.7.2005
Пользователь №: 945
|
"По поводу компонент" Меня не напрягает что нет наследования. Если у Вас есть уже 200 экземпляров с ошибкой то можно поменять код в них на правильный. Открываем вкладку Source и заменяем неправильный код на правильный во всем документе.
"Освоение + реальное внедрение гостиницы." Ну так и скажите, например "Имею 200 номеров с Xenta 121 в каждом. В ТЗ написано - ночью менять все уставки на 30С, чтобы фанкойлы выключились, утром вернуть обратно. Постояльцы пусть спят в тишине. Как это сделать правильно?". Уверяю Вас решений может быть несколько.
|
|
|
|
|
14.10.2013, 16:26
|
Группа: Участники форума
Сообщений: 134
Регистрация: 29.12.2006
Пользователь №: 5384
|
Еще узрел вопрос, может опять странный...
можно ли из скрипта внутри страницы "А", обратится к свойствам/методам некоторого объекта (node) страницы "Б".? Не помню регламентирует ли такую штуку DOM, но насколько мне известно в мире Web страниц, через JavaScript'ы это реализуется.
Спасибо
Сообщение отредактировал Sasha_24 - 14.10.2013, 16:42
|
|
|
|
|
14.10.2013, 18:14
|
Группа: Участники форума
Сообщений: 637
Регистрация: 4.7.2005
Пользователь №: 945
|
Не знаю. Вряд ли. Назовите причину необходимости такой функциональности.
|
|
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
Реклама
ООО «Арктика групп» ИНН: 7713634274
ООО «УНИСПЛИТ» ИНН: 6453155081 erid:2VtzqvE2vr3
Последние сообщения Форума
|