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

[BugWrong] DAQ.Siemens & async write


Автор Сообщение
Сообщение создано: 09. 02. 2012 [11:37]
punk
Василий Петров
Создатель темы
Зарегистрирован(а) с: 09.05.2011
Сообщения: 57
Обнаружил интересное поведение функции асинхронной записи - если какой-то параметр был изменен - он записывается в контроллер много раз (вроде вечно). Обнаружил по сообщениям от libnodave. Поиск привел к тому, что эта строчка перестает выполняться.

void *TMdContr::Task( void *icntr )
{
......
if(atoi(cntr.writeBlks[i_b].err.getVal().c_str()) == -1) continue;
Понять, что при этом не сбрасывается меня не хватило пока.
Сообщение создано: 09. 02. 2012 [12:08]
roman
Roman Savochenko
Moderator
Contributor
Developer
Зарегистрирован(а) с: 12.12.2007
Сообщения: 3747
"punk" wrote:

Обнаружил интересное поведение функции асинхронной записи - если какой-то параметр был изменен - он записывается в контроллер много раз (вроде вечно).

Он, даже если и не изменён, в асинхронном режиме записи будет писаться (участок DB будет записываться) с периодичностью опроса. Внимательнее читайте документацию и отличие асинхронной записи, здесь: http://wiki.oscada.org/Doc/DAQ#h831-5

Learn, learn and learn better than work, work and work.
Сообщение создано: 09. 02. 2012 [14:02]
punk
Василий Петров
Создатель темы
Зарегистрирован(а) с: 09.05.2011
Сообщения: 57
"roman" wrote:

"punk" wrote:

Обнаружил интересное поведение функции асинхронной записи - если какой-то параметр был изменен - он записывается в контроллер много раз (вроде вечно).

Он, даже если и не изменён, в асинхронном режиме записи будет писаться (участок DB будет записываться) с периодичностью опроса.

А вот тут мои тесты говорят обратное - из той кучи блоков, что у меня R/W ничего не пишется до первого изменения. По мере внесения изменений параметров начинают писаться куски с частотой опроса.
"roman" wrote:

Внимательнее читайте документацию и отличие асинхронной записи, здесь: http://wiki.oscada.org/Doc/DAQ#h831-5

Перечитал, понял, что нет режима, при котором можно было бы сделать 2 вещи:
- записать быстро, как-бы в cache, не дожидаясь момента окончания записи
- не гонять лишний раз неизмененные данные в контроллер
Сообщение создано: 09. 02. 2012 [15:36]
roman
Roman Savochenko
Moderator
Contributor
Developer
Зарегистрирован(а) с: 12.12.2007
Сообщения: 3747
"punk" wrote:

А вот тут мои тесты говорят обратное - из той кучи блоков, что у меня R/W ничего не пишется до первого изменения. По мере внесения изменений параметров начинают писаться куски с частотой опроса.

Каким боком это вообще обратное? Просто писать блок он начинает при первой записи в него, а не сразу.

"punk" wrote:

Перечитал, понял, что нет режима, при котором можно было бы сделать 2 вещи:
- записать быстро, как-бы в cache, не дожидаясь момента окончания записи
- не гонять лишний раз неизмененные данные в контроллер

А ещё нет мира во всём мире.

P.S. Пробуйте сейчас.

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



21121