Помощь      Поиск      Пользователи      BanList


 Страниц (1): [1]   

> Описание: Отображение данных из файла на Тренде.
sialiv
Отправлено: 17 Сентября, 2019 - 09:24:45
Post Id



Пользователь
Member


Покинул форум
Сообщений всего: 133
Дата рег-ции: Окт. 2013  





День добрый!

Есть файл.csv c аналоговыми данными.

Как эти данные вывести на тренд?
 
 Top
Support
Отправлено: 17 Сентября, 2019 - 16:59:35
Post Id



Администратор
Full Member


Покинул форум
Сообщений всего: 200
Дата рег-ции: Сент. 2010  





Примитив Тренд и вид Аналитически тренд отображают данные размещенные в перьях Менеджера трендов в истории. Для того чтобы отобразить данные из внешнего файла в любом их этих визуальных компонентов необходимо данные считать из этого файла, записать в тренд и тогда можно будет увидеть их на графике. Чтение и разбор csv файла придется делать скриптом. Затем использую функцию записи истории изменения технологического параметра перенести эти данные в перо менеджера трендов. Для этого можно использовать функцию HistoricalServiceHelper.AppendRange(). В справке есть раздел "Запись значений в тренд", где можно подробно ознакомиться с работой данной функции. При добавлении данных в тренд следите за хронологической целостностью данных иначе не получили правильного результата, в тренд не может быть записана точка с меткой времени ранее предыдущей записанной.
 
 Top
sialiv
Отправлено: 18 Сентября, 2019 - 13:31:52
Post Id



Пользователь
Member


Покинул форум
Сообщений всего: 133
Дата рег-ции: Окт. 2013  





Хорошо.
Мне не нужно сохранять данные в историю. (150 килобайт каждые 3 минуты)
Просто отобразить процесс в графике.

Как использовать C# Chart для этого отображения или что-нибудь попроще?
 
 Top
Support
Отправлено: 18 Сентября, 2019 - 17:06:46
Post Id



Администратор
Full Member


Покинул форум
Сообщений всего: 200
Дата рег-ции: Сент. 2010  





1. Примитив Тренд не может работать без Пера Менеджера трендов. Функции Append() и AppendRange() требуют наличия пера для тега. Вы можете поставить ограничение на Группу настроек истории, чтобы у Вас не накапливалось много данных либо вообще отключить ведение истории.
2. Можно напрямую присваивать значение атрибуту тега, но тогда метка времени точки будет текущим временем присвоения. У Вас метка времени должна приходить из файла и этот вариант вам точно не подойдет.
3. Использование обозначенных выше функций, тега и примитива Тренд самый простой и удобный во всех отношениях способ для отображения импортированных данных.
 
 Top
sialiv
Отправлено: 19 Сентября, 2019 - 12:59:17
Post Id



Пользователь
Member


Покинул форум
Сообщений всего: 133
Дата рег-ции: Окт. 2013  





Создал макрос для чтения данных и загрузки в тренд.
// переменные
StreamReader f = new StreamReader(@"D:\1000-string.csv"Подмигивание;
string readF;
string[] str2 = new string[2];
char splitchar = ';' ;
int mas = 0;
AttributeValue set1;

// чтение файла и загрузка истории
while (!f.EndOfStream) {
readF= f.ReadLine(); // читаем строку
str2 =readF.Split(splitchar); // разбираем на числа
mas =Convert.ToInt32(str2[0]); // преобразуем строку в число
set1 = new AttributeValue(mas);// создаем точку для пера
HistoricalServiceHelper.Append(Client, "Объект", "pero1", "i32_1", null, set1); // пишем в тренд
} f.Close(); // закрываем файл

Разные результаты: из сравнения графиков в Excel и в DR42 обнаружил отличия и возникли вопросы (Trend_DR42.ipg и Trend_Excel.ipg)

1 - Как добавить время к точке?
2 - Часть точек пропущена, как это устранить?

Скачать файл: Trend_DR42.zip
Скачан раз: 24
 
 Top
Support
Отправлено: 19 Сентября, 2019 - 14:43:07
Post Id



Администратор
Full Member


Покинул форум
Сообщений всего: 200
Дата рег-ции: Сент. 2010  





1. У AttributeValue есть свойство TimeStamp которому можно присвоить значение метки времени. Метки времени должны быть в UTC.
2. Часть точек может пропадать только по причине одинаковых меток времени. Для всего массива метки времени должны быть хронологически верно направлены.
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 1 (гостей: 1, зарегистрированных: 0)
« SCADA/HMI DataRate »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 




Powered by ExBB FM 1.0 Final