1. Открываю файл с расширением '.csv'
2. Собираем в текстовую строку значения данных, разделяя их знаком ;
3. В конце строки добавляю возврат каретки '$R'.
4. Записываю строку в файл.
5. Повторяю 2-4 раз в секунду
6. Закрываю файл
7. Открываю его Excel и строю графики
Можете взять за основу мой кусок. ПЛК не Овен, но принцип аналогичный. Строка sLine формируется за несколько циклов. Вначале строки добавляется отметка даты и времени:
Код:
CASE uiState OF
0: IF bWrite THEN
(*Формируем дату*)
LineDT(dtIn := M_RTC.CDT);
sLine := UINT_TO_STRING(LineDT.uDay);
sLine := CONCAT(sLine,'-');
sLine := CONCAT(sLine, UINT_TO_STRING(LineDT.uMon));
sLine := CONCAT(sLine,'-');
sLine := CONCAT(sLine, UINT_TO_STRING(LineDT.uYear));
sLine := CONCAT(sLine,';');
sLine := CONCAT(sLine, UINT_TO_STRING(LineDT.uHr));
sLine := CONCAT(sLine,':');
sLine := CONCAT(sLine, UINT_TO_STRING(LineDT.uMin));
sLine := CONCAT(sLine,':');
sLine := CONCAT(sLine, UINT_TO_STRING(LineDT.uSec));
sLine := CONCAT(sLine,';');
uiState := 1;
END_IF
bWrite := FALSE;
1: (*Добавим данные*)
iPar := TRUNC(T_kv);
sLine := CONCAT(sLine, INT_TO_STRING(iPar));
sLine := CONCAT(sLine,',');
iPar := TRUNC((T_kv-iPar)*10);
sLine := CONCAT(sLine, INT_TO_STRING(iPar));
sLine := CONCAT(sLine,';');
iPar := TRUNC(HR_kv);
sLine := CONCAT(sLine, INT_TO_STRING(iPar));
sLine := CONCAT(sLine,',');
iPar := TRUNC((HR_kv-iPar)*10);
sLine := CONCAT(sLine, INT_TO_STRING(iPar));
sLine := CONCAT(sLine,';');
sLine := CONCAT(sLine, sComent);
sLine := CONCAT(sLine,'$R');
sComent := '';
uiState := 2;
2: IF SysFileWrite(dwHFile, ADR(sLine), LEN(sLine)) <> 0 THEN
uiLineCount := uiLineCount + 1;
ELSE
CloseFile;
END_IF
uiState := 0;
ELSE uiState := 0;
END_CASE