Современные технологии автоматизации» («СТА») —  журнал для квалифицированных специалистов по промышленной автоматизации Форум СТА — современные технологии автоматизации Домашняя страница
Домашняя страница форума CTA Домашняя страница форума CTA > II. АСУТП и SCADA > Программное обеспечение
  Активные темы Активные темы
  FAQ FAQ  Искать в форуме   Зарегистрироваться Зарегистрироваться  Вход в систему Вход в систему

MasterScada + OPC Server свой проблема коннекта

 Ответить Ответить
Автор
Сообщение
vtl12 Смотреть выпадающим
Новичок
Новичок
Аватар

Присоединился: 04 Июнь 2012
Категория: Программист
Online Status: Offline
Публикации: 1
Свойства публикации Свойства публикации   Ответить, цитируя автора - vtl12 Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Тема сообщения: MasterScada + OPC Server свой проблема коннекта
    Опубликовано: 04 Июнь 2012 21:31
Здравствуйте!
Измучался совсем. Может кто подскажет? Уже несколько месяцев на объекте:

MasterScada 3.4, Win 7 Домашняя расширенная.
OPC писанный на Delphi 7.
Через 1-3 суток постоянной работы в OPC сервере возникает ошибка:
Access violation at address 76F41FFE in module 'ntdll.dll'. Read of address 4ABA0DAA в
при освобождении памяти: CoTaskMemFree(mClientID).
Если убрать лишнее, то примерно:

1.      mClientID := CoTaskMemAlloc(dwCount * sizeof(DWORD));

2.           IOPCDataCallback(OPCGroup.DataCallback).OnDataChange(dwTransactionID,
              OPCGroup.ClientGroup,
              OPC_QUALITY_GOOD,
              RefreshResult,
              dwCount,
              @mClientID^,
              @mVariant^,
              @mQuality^,
              @mTime^,
              @mError^);

3.       CoTaskMemFree(mClientID);
CoTaskMemFree(mClientID); и т.д.

Ошибка возникает при освобождении объектов: mClientID, mVariant, mQuality, mError. Иногда одновременно в нескольких последовательно. Значения указателей от создания до уничтожения не меняются.
 Приложение, раумеется многопоточное. Память не жрет. Основное потребление - порядка 3-4мб судя по TaskManager. Даже если память отжирал бы, то ошибка была бы другой - например Out of memory.
Такое ощущение, что MasterScada или промежуточный модуль операционки блокирует указатели, но возвращается из функции OnDataChange.
Или начинается общий и приложение через некоторое время слетает.

Благодарен за любые умные мысли:-)
Наверх
AlexM Смотреть выпадающим
Действительный член
Действительный член
Аватар

Присоединился: 11 Октябрь 2003
Категория: Russian Federation
Online Status: Offline
Публикации: 392
Свойства публикации Свойства публикации   Ответить, цитируя автора - AlexM Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 06 Июнь 2012 10:21
А с другими СКАДАми так же работает, а что ИНСАТ говорит по этому поводу ?
Наверх
 Ответить Ответить

Переход на форум Права доступа на форуме Смотреть выпадающим

Bulletin Board Software by Web Wiz Forums® version 9.64
Powered by Web Wiz Forums Free Express Edition
Copyright ©2001-2009 Web Wiz