Сообщение создано: 10. 07. 2012 [15:11]
|
s60ru
Антон Петров
Создатель темы
Зарегистрирован(а) с: 10.05.2012
Сообщения: 141
|
Для регистрации нарушений делаю обработку сигнала в шаблоне, как рекомендовано в Быстром Старте :
this.nodePrev().alarmSet("Параметр: нарушение", -5, "prm")
Эта функция прекрасно работает, однако другие функции модуля SYS.DAQ
string name() — имя контроллера.
string descr() — описание контроллера.
CtrlName = this.name();
ParamName = this.nodePrev.name();
не работают, делают запись в архив:
Ошибка функции 'name' или не достаточно параметров для неё.
1) В чем ошибка ?
2) Каких параметров, если это функции без параметров ?
[Сообщение редактировалось 1 раз(а), в последний раз 10.07.2012 в 15:12.]
|
Сообщение создано: 10. 07. 2012 [16:16]
|
roman
Roman Savochenko
Moderator Contributor Developer
Зарегистрирован(а) с: 12.12.2007
Сообщения: 3750
|
"s60ru" wrote:
1) В чем ошибка ?
В том, что "nodePrev" это функция: this.nodePrev().name()
Learn, learn and learn better than work, work and work.
|
Сообщение создано: 10. 07. 2012 [16:45]
|
s60ru
Антон Петров
Создатель темы
Зарегистрирован(а) с: 10.05.2012
Сообщения: 141
|
"roman" wrote:
В том, что "nodePrev" это функция: this.nodePrev().name()
точно... не досмотрел...
Но this.name() не работает - "Ошибка функции 'name' или не достаточно параметров для неё."
name() как оказалось возвращает "ID", а не "Имя" (которое можно задать на русском для построения красивого пути а-ля "Контроллер_1.Параметр_1") и получается строка вида "alModBus:SBL0442_modbus.param1"
Можно ли получить значения полей "Имя" контроллера и параметра ?
|
Сообщение создано: 10. 07. 2012 [16:55]
|
roman
Roman Savochenko
Moderator Contributor Developer
Зарегистрирован(а) с: 12.12.2007
Сообщения: 3750
|
"s60ru" wrote:
"roman" wrote:
В том, что "nodePrev" это функция: this.nodePrev().name()
Но this.name() не работает - "Ошибка функции 'name' или не достаточно параметров для неё."
И не должно ибо нет у объекта параметра такой функции.
"s60ru" wrote:
name() как оказалось возвращает "ID", а не "Имя" (которое можно задать на русском для построения красивого пути а-ля "Контроллер_1.Параметр_1") и получается строка вида "alModBus:SBL0442_modbus.param1"
Можно ли получить значения полей "Имя" контроллера и параметра ?
У меня возвращает имя: "0|TEST 00 | Contr name: Експериментальний".
P.S. На cfg() смотрите:
ElTp cfg(string nm) — получение значения конфигурационного поля <nm> объекта.
"NAME" - конфигурационное поле имени.
Learn, learn and learn better than work, work and work.
|