Повідомлення створено: 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
Повідомлення: 3750
|
"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 ничего не пишется до первого изменения. По мере внесения изменений параметров начинают писаться куски с частотой опроса.
Перечитал, понял, что нет режима, при котором можно было бы сделать 2 вещи:
- записать быстро, как-бы в cache, не дожидаясь момента окончания записи
- не гонять лишний раз неизмененные данные в контроллер
|
Повідомлення створено: 09. 02. 2012 [15:36]
|
roman
Roman Savochenko
Moderator Contributor Developer
Зареєстрован(а) с: 12.12.2007
Повідомлення: 3750
|
"punk" wrote:
А вот тут мои тесты говорят обратное - из той кучи блоков, что у меня R/W ничего не пишется до первого изменения. По мере внесения изменений параметров начинают писаться куски с частотой опроса.
Каким боком это вообще обратное? Просто писать блок он начинает при первой записи в него, а не сразу.
"punk" wrote:
Перечитал, понял, что нет режима, при котором можно было бы сделать 2 вещи:
- записать быстро, как-бы в cache, не дожидаясь момента окончания записи
- не гонять лишний раз неизмененные данные в контроллер
А ещё нет мира во всём мире.
P.S. Пробуйте сейчас.
Learn, learn and learn better than work, work and work.
|