EnglishУкраїнськаmRussian
Login/New
Topic with no new replies

[BugWrong] SYS.DAQ.name() и SYS.DAQ.descr() - ошибка


Author Message
Written on: 10. 07. 2012 [15:11]
s60ru
Антон Петров
Topic creator
registered since: 10.05.2012
Posts: 141
Для регистрации нарушений делаю обработку сигнала в шаблоне, как рекомендовано в Быстром Старте :

JAVASCRIPT
this.nodePrev().alarmSet("Параметр: нарушение", -5, "prm")


Эта функция прекрасно работает, однако другие функции модуля SYS.DAQ

string name() — имя контроллера.
string descr() — описание контроллера.


JAVASCRIPT
CtrlName = this.name();
ParamName = this.nodePrev.name();


не работают, делают запись в архив:

Ошибка функции 'name' или не достаточно параметров для неё.


1) В чем ошибка ?
2) Каких параметров, если это функции без параметров ?



[This article was edited 1 times, at last 10.07.2012 at 15:12.]
Written on: 10. 07. 2012 [16:16]
roman
Roman Savochenko
Moderator
Contributor
Developer
registered since: 12.12.2007
Posts: 3750
"s60ru" wrote:

1) В чем ошибка ?

В том, что "nodePrev" это функция: this.nodePrev().name()

Learn, learn and learn better than work, work and work.
Written on: 10. 07. 2012 [16:45]
s60ru
Антон Петров
Topic creator
registered since: 10.05.2012
Posts: 141
"roman" wrote:

В том, что "nodePrev" это функция: this.nodePrev().name()


точно... не досмотрел...

Но this.name() не работает - "Ошибка функции 'name' или не достаточно параметров для неё."

name() как оказалось возвращает "ID", а не "Имя" (которое можно задать на русском для построения красивого пути а-ля "Контроллер_1.Параметр_1") и получается строка вида "alModBus:SBL0442_modbus.param1"

Можно ли получить значения полей "Имя" контроллера и параметра ?
Written on: 10. 07. 2012 [16:55]
roman
Roman Savochenko
Moderator
Contributor
Developer
registered since: 12.12.2007
Posts: 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() смотрите:
JAVASCRIPT
ElTp cfg(string nm) — получение значения конфигурационного поля <nm> объекта.

"NAME" - конфигурационное поле имени.

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



1669