This is topic Дозапись данных в dat-файл in forum Документирование в TRACE MODE 6 и в T-FACTORY 6 / Document generation in TRACE MODE 6 and T-FACTORY 6 at Форум TRACE MODE: техническая поддержка.


To visit this topic, use this URL:
http://forum.adastra.ru/ultimatebb.php/ubb/get_topic/f/39/t/000055.html

Posted by artash05 (Участник № / Member № 5793) on :
 
Здравствуйте!

Для записи текущих аргументов канала CALL использую атрибут "Запись в файл (129, WFile)". Запись данных происходит успешно. Однако, результирующий файл каждый раз создается заново.
Есть ли возможность настроить данную операцию так, чтобы данные дописывались в конец существующего файла, не уничтожая уже имеющиеся данные в файле?

Спасибо.
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
Такой возможности нет.
 
Posted by Gennady (Участник № / Member № 6305) on :
 
Добрый день!

При использовании канала CALL и атрибута 129 запись для сохранения аргументов в файлы *.dat аргументы типа Lreal сохраняются с округлением после запятой Где можно изменить настройки для сохранения в файл .dat аргументов Lreal с максимальным количеством разрядов после запятой т. е. без округления?
 
Posted by Nico (Участник № / Member № 5342) on :
 
если аргумент константа( не привязан к каналу)
то в LReal аргументах плавающее число хранится как Real(4 байта)
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
Сл-но, надо привязать LReal-аргумент канала CALL к атрибуту канала DFloat, например, к ВХОДНОМУ_ЗНАЧЕНИЮ.
 
Posted by Gennady (Участник № / Member № 6305) on :
 
У меня программа выдает результаты вычислений в аргументы экрана, и в канал CALL c типом вызова ChGroupReq для записи результатов в фал .dat. Проблема в том что на экране я могу выводить любое количество разрядов (цифр) после точки просто указывая количество цифр после точки (например: %.4f или %.15f)используя настройки формата отображения и никакого канала DFloat для этого не требуется. Но когда мы открываем файл *.dat то там совсем другая картина и в место как на экране( например: 103.250524638293154), будет записано 103.25 что нас не устраивает.

Извините, не совсем понятен ваш ответ. У меня 133 аргумента и будет еще больше, мне нужно для каждого создавать канал DFoat?

К тому же все аргументы уже привязаны к программе и там нет возможности сделать вторую привязку!?

Мне всего лишь нужно чтобы дробная часть значения аргументов точно записывались в файл, со всеми цифрами после точки (у Lreal их 15).
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
Аргумент канала CALL, не привязанный к атрибуту канала с типом данных DFloat, всегда будет передавать 4-байтовое число (на отображение, в документ, на запись в файл).
На экране значение такого аргумента (с типом данных LREAL) может отображаться с большим числом знаков, но реально точное отображение будет в пределах формата Float.

Есть смысл уточнить, для чего Вы хотите сохранять в файле вычисленное значение в формате DFLOAT.
 
Posted by Gennady (Участник № / Member № 6305) on :
 
Дело в том что полученные на экране результаты вычислений перепроверяют, используя данные записанные в файле и результаты проверки отличаются в третьем четвертом знаке после точки. Если же у исходных данных брать все значения после точки с экрана, то всё точно получается.
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
Различие в точности отображения на экране и записи в файл уже объяснены.
Для чего надо записывать вычисленные данные в файл?
Как это будет использоваться в реальном процессе?
 
Posted by Gennady (Участник № / Member № 6305) on :
 
Данные из файла экспортируются в Excel для формирования протокола.
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
Если не использовать каналы DFLOAT в качестве носителей данных соответствующего формата (как было предложено в посте от 16.03.2015), экспортировать в файл данные в формате DFLOAT не удастся.
 


Новости АСУ ТП / News | SCADA / HMI | Обучение / Trainings | Свяжитесь с нами / Contact Us



Powered by Infopop Corporation
UBB.classic™ 6.7.2