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

[BugWrong] DAQ.Siemens & async write


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

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

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

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

Learn, learn and learn better than work, work and work.
Written on: 09. 02. 2012 [14:02]
punk
Василий Петров
Topic creator
registered since: 09.05.2011
Posts: 57
"roman" wrote:

"punk" wrote:

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

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

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

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

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

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

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

"punk" wrote:

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

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

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

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



22466