После продолжительной работы проекта накопилось много данных в буфере. Размер буфера стоит 100000. При просмотре старых значений происходит замедление работы и зависание компьютера. Можно ли очистить буфер прямо в RTM, или это можно делать только удалением файлов? Хотел уменьшить размер до 10000, но после сохранения для RTM происходит вылет последнего с сообщением об ошибке. Если поставить прежний размер 100000 - все работает нормально. Компьютер PIII, 1 гГц, 512Мб.
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
1) Очистить буфер в реальном времени - нельзя. Только удалить файлы. 2) Изменяя размер буфера необходимо старый файл удалять - дело в том, что сейчас в текущем релизе есть ошибка при реиндексации этого файла при изменении размера буфера. Правим в следующий релиз 6.04. 3) Насчет торможения - рекомендую Вам проверить объем занятой оперативной памяти, когда система работает. Не переходит ли она в виртуальную область с ее дисковыми операциями?
Posted by Y_Vlad (Участник № / Member № 1361) on :
При торможении не наблюдается обращения к HDD. Неужели 512Мб памяти мало для работы с БД? На компьютере запущена всего одна программа. У нас более 5 лет работает АСКУЭ, которая собирает данные примерно с 80 каналов каждые 3 мин. И никаких тормозов при просмотре данных за несколько месяцев не наблюдается. Каков должен быть максимальный размер буфера, чтобы не было зависаний при просмотре тренда?
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Торможение ведь наблюдается не при сборе данных, а при просмотре буферов тренда. Буфер тренда объемом в 100000 записей требует по 1.2 МБ на каждую кривую. Если общее число кривых на таких трендах на экранах велико, то буферы (независимо от того, виден экран или нет, работает оператор с трендом или нет), то оставшейся свободной оперативной памяти может быть недостаточно для поддержания всех вычислений, графики и буферизированных потоков. 512 МБ это не так уж и много, ведь они расходуются на все - ОС, проект, исполнительный модуль, графика, вычисления и потоки информационного обмена. Этот объем существенно зависит от кокретного проекта. Можно отказаться от больших буферов для трендов и перейти на работу с архивом.
Posted by Grigorovskih (Участник № / Member № 1915) on :
Проблема чрезвычайно неприятная!!! На тренде 11 кривых, снизу как известно отображаются их названия (всмысле каналов) так вот если этот экран вызывается консолью то там отображается какой то код вместо названия, в то же время на полноценных РТМ-ах всё ОК! Как быть?
Posted by Grigorovskih (Участник № / Member № 1915) on :
По той же теме! Когда в работающем узле (консоли) просматриваешь компоненты, то там тоже в место имён каналов их коды, хотя в проекте в свойствах канала CALL, который вызывает экран, наименования каналов присутствуют!
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
1. Для корректного отображения имени "виртуального" канала в узле NLL в форме тренда необходимо задать свойство "заголовок" для кривой в свойствах тренда. 2. Для отображения имени "виртуального" канала в узле NLL в окне компонентов необходимо создать два аргумента (REAL и STRING), и оба этих аргумента должны быть привязаны к строковому атрибуту удаленного канала (аргумент REAL – вспомогательный, аргумент STRING содержит полученное строковое значение). 3. В релизе 6.05 "виртуальным" каналам NLL будут автоматически присваиваться соответствующие имена.
Posted by Grigorovskih (Участник № / Member № 1915) on :
Спасибо за информацию, буду пробовать!
Posted by Денис Анлреевич (Участник № / Member № 2046) on :