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

Разработка модуля DAQ


Автор Сообщение
Сообщение создано: 04. 03. 2015 [16:37]
Vandrizm
Игорь М
Создатель темы
Зарегистрирован(а) с: 31.07.2010
Сообщения: 55
Здравствуйте!
Разбираюсь с разработкой модуля DAQ.
Подскажите примером.

Вот у контроллера создал поле
fldAdd(new TFld("ARR_CONT",_("Array contecnt"),TFld::Object,TFld::NoFlag));

Теперь необходимо записать в поле ARR_CONT содержимое vector<TArrItem> размером в 10 элементов.

JAVASCRIPT
class TArrItem {
 
public:
    string daq_sys; // Name of DAQ subsystem.
    int lvl; // Level for a log
    int64_t trig; // Trigger
 
    TAlmCfgItem(string const &_daq_sys, int _lvl, int64_t _trig);
 
};


Как правильно это сделать?
Сообщение создано: 05. 03. 2015 [09:11]
roman
Roman Savochenko
Moderator
Contributor
Developer
Зарегистрирован(а) с: 12.12.2007
Сообщения: 3750
"Vandrizm" wrote:

Разбираюсь с разработкой модуля DAQ.
Подскажите примером.

Вот у контроллера создал поле
fldAdd(new TFld("ARR_CONT",_("Array contecnt"),TFld::Object,TFld::NoFlag));

В OpenSCADA все DAQ модули можно брать за пример. А для атрибутов объектного типа можете в DAQ.MMS посмотреть, который сейчас единственный из модулей прямого источника, использующего объекты для предоставления сложных типов данных.

Вкратце:
JAVASCRIPT
TArrayObj *curArr = new TArrayObj();
for(int i=0; i < 10; i++) curArr->arSet(i, i);
vlAt("ARR_CONT").at().set(curArr, 0, true);


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



5394