УкраїнськаEnglishmRussian
Вход/Новый
В теме нет новых постов

создание функции


Автор Сообщение
Сообщение создано: 10. 06. 2013 [12:28]
monia
Олег Намятов
Создатель темы
Зарегистрирован(а) с: 21.05.2012
Сообщения: 173
извините за тупой вопрос

а как создать свою функцию и как ее вызывать в шаблоне
просмотрел документацию так и не понял.

мои действия:
1) в узле "Вычислитель на Java подобном языке" - "Библиотека" создаю библиотеку ("trigs")
2) в этой библиотеке добавляю функцию "Change" (отслеживает изменение входного параметра, если изменился то возвращает true) (вопрос - если переменная объявленный в таблице параметров, то она сохраняет свое значение при следующем вызове функции? как в шаблонах)
3) создаю шаблон с использованием моей функции
вызываю ее так SYS.DAQ.JavaLikeCalc.trigs.Change(параметр), на данную строку OpenSCADA не ругается
4) и делаю вызов шаблона на логическом уровне.

Наверное я делаю что то не так, по скольку вызов функции не работает.

может есть пошаговая инструкция по созданию и вызову функции пользователя, пните в нужную сторону
Сообщение создано: 10. 06. 2013 [15:39]
roman
Roman Savochenko
Moderator
Contributor
Developer
Зарегистрирован(а) с: 12.12.2007
Сообщения: 3750
"monia" wrote:

2) в этой библиотеке добавляю функцию "Change" (отслеживает изменение входного параметра, если изменился то возвращает true) (вопрос - если переменная объявленный в таблице параметров, то она сохраняет свое значение при следующем вызове функции? как в шаблонах)

Нет конечно, сохраняйте через передаваемые аргументы, в вызывающем контексте.

"monia" wrote:

3) создаю шаблон с использованием моей функции
вызываю ее так SYS.DAQ.JavaLikeCalc.trigs.Change(параметр), на данную строку OpenSCADA не ругается

Неправильно, префикс "lib_", в документации, перед идентификатором библиотеки указан не просто так.

Learn, learn and learn better than work, work and work.
Сообщение создано: 10. 06. 2013 [17:03]
monia
Олег Намятов
Создатель темы
Зарегистрирован(а) с: 21.05.2012
Сообщения: 173
т.е. вызов должен быть таким
SYS.DAQ.JavaLikeCalc.lib_trigs.Change
Сообщение создано: 10. 06. 2013 [17:26]
roman
Roman Savochenko
Moderator
Contributor
Developer
Зарегистрирован(а) с: 12.12.2007
Сообщения: 3750
"monia" wrote:

т.е. вызов должен быть таким
SYS.DAQ.JavaLikeCalc.lib_trigs.Change

Да, таким.

Learn, learn and learn better than work, work and work.



19667