Здравствуйте! Возникла такая проблема. Выбираю "Графический индикатор" >> "Текстовый индикатор по диапазонам". Назначаю каналу: если 1 то отображать "Задание кадра" из ресурсов файл в формате *.txt (например N.txt), если 0, то из другого файла. Файл N.txt периодически переписывается с новыми данными, но при изменении значения канала с 1 на 0 значения файла N.txt не меняется (после первого прочтения этого файла значения не меняются)! Если закрыть ТМ, а потом заново запустить, то происходит подчитывание, но только один раз. Файл N.txt создает и переписывает внешнее ПО. Что посоветуете в этом случае? Может есть другой способ отображать данные (текстовые постоянно обновляющиеся и не повторяющиеся)?
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Все индикаторы на экране отрабатывают свою функцию только при изменении значения канала, к которому они привязаны. Поэтому можно попробовать ввести "ложный" диапазон, для которого не будет текстового файла, и время от времени (по событиям или периодически) программно заменять текущее значение канала на "ложное", а затем возвращать его обратно.
Posted by Vasilii (Участник № / Member № 1009) on :
Здравствуйте! Если я правильно понял, то привязав "индикатор" к каналу (например Name1), и меняя значение с 1 на 0 в нем, должно обновляться значение "индикатора"? Но этого не происходит. И еще : как это "попробовать ввести "ложный" диапазон, для которого не будет текстового файла"? Диапазон не создается, если не указывать ссылку на текстовый файл.
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Я перепроверил функцию "Текстового индикатора по диапазонам", используя в качестве текстовых файлов файлы, расположенные в папке INI инструментальной системы. Диапазоны задал 0...1, 1...2, 2...3. Выбрал соответственно 3 файла. Потом файл, заданный для диапазона 2...3, удалил из папки INI. Индикатор работает правильно. Задаем числа 0, 1, 2. Вызываются соответствующие файлы для диапазонов 0...1 и 1...2. Для диапазона 2...3 окно индикатора пустое. Если Вы воспользуетесь предложенным выше алгоритмом, то задача подчитывания измененного текста будет решена. Можно даже и не задавать "ложный" диапазон. Я в описанном тестовом проекте вводил в канал число 4 и получал опять пустое окно. Значит, можно задать только 2 диапазона, а для обновления задавать просто несуществующий диапазон.
Posted by Vasilii (Участник № / Member № 1009) on :
Здравствуйте! Может я не правильно объяснил? Но мне необходимо, чтобы не просто другие файлы подчитывал (это работает), а требуется, чтобы при изменении в файле информации, при подчитке его заново, появлялась эта информация. Попробовал все заново, но, к сожалению, не работает, как необходимо.
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Видимо, я действительно не точно понял задачу. Текстовые ресурсы подчитываются из файлов при загрузке графической базы. Поэтому обновление этих ресурсов в реальном времени невозможно.
Posted by Vasilii (Участник № / Member № 1009) on :
Очень жаль! А что тогда посоветуете предпринять по этому вопросу? Необходимо менять текстовую информацию для отображения из внешнего ПО. Как вариант сделали кучу *.txt и по равенству отображаем тот или этот файл, но информация дополняется и большие проблемы по замене проекта на месте. Вобщем не приемлемо.
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Никаких штатных альтернативных внутренних средств в Trace Mode 5 нет. Можно только написать ActiveX, которые будут решать Вашу задачу. Хотя актуальность такой задачи мне не очень понятна.