PDA

Просмотр полной версии : МСД-200 и десятичный разделитель в csv файлах



kfvniiz
17.04.2014, 22:50
В файлах примерах, которые идут с программой для построения графиков МСД-200 (http://www.owen.ru/uploads/msd200_gaf_v2.03.rar) в качестве десятичного разделителя используется запятая.
Однако вычислитель МСД-200 с прошивкой 1.3 (то-ли 1.30 ) в качестве разделителя использует точку и из-за этого утилита для построения графиков не строит графики!

Можно ли задать десятичный разделитель, который МСД будет использовать в архивах сsv?

Пантелеев Дмитрий
18.04.2014, 09:50
Задать разделитель нельзя. Утилита должна в любом случае работать. Пришлите скриншот ошибки.

kfvniiz
18.04.2014, 16:35
Файл csv с разделителем "." вместо "," загружается утилитой для построения графиков. Но после того как сделан выбор колонок для построения графиков, выбранные колонки с данными помечаются не желтым, а красным цветом и далее при переходе к построению графика вместо реальных данных из этих колонок отображаются нули. Причем как на графике так и в той таблице что рядом с ним.
Если же в файле csv заменить точку на запятую, то все работает нормально.
Windows XP SP3, Office 2007, МСД-200 1.30, msd200_gaf_v2.03

Для тестов прикладываю csv файл

Пантелеев Дмитрий
21.04.2014, 11:55
Проверил у себя - МСД пишет архив с разделителем "," , поэтому программа для построения графиков работает исправно.
Очень странно, что у Вас МСД пишет с разделителем ".". Попробуйте заново перепрошить МСД на последнюю версию (хоть она у Вас и последняя), а так же установить и запрограммировать МСД последним конфигуратором. Все нужные файлы можно скачать по ссылке (http://www.owen.ru/catalog/96030692).

kfvniiz
21.04.2014, 18:44
Проверил у себя - МСД пишет архив с разделителем "," , поэтому программа для построения графиков работает исправно.
Очень странно, что у Вас МСД пишет с разделителем ".". Попробуйте заново перепрошить МСД на последнюю версию

Версия МСД-200 - 1.30 (с такой версией он был куплен), конфигуратор брал с сайта, так как тот, что шел на диске некорректно работал с этой прошивкой, и из-за этого часть параметров не изменялась. Версия конфигуратора 1.0.52.1094.

Подумал над тем, как такое может быть с разделителем, чтобы у вас работало, а у нас нет? И пришла идея. Похоже мы по разному тестируем МСД. И в самом МСД заложено два разных разделителя для десятичной части. Разделитель в виде запятой МСД использует для типов floatxxxxx, а вот разделитель в виде точки МСД использует, если тип целый типа intxxxxxx или wordxxxxxxx и используется настройка "положение десятичной точки" равная отрицательному числу. После эта мысль была подтверждена на практике.
Вот пример как МСД пишет csv файл для целых чисел типа int16 (big...) у которых положение десятичной точки равно "-1" - каналы t1_01;t2_01;w1_01 и тут же добавлено число типа float32(big...) у которог положение десятичной точки задано равным "2" - канал w2_01.



Время;state_01;t1_01;t2_01;w1_01;w2_01
18:13:34;0;23.1;23.6;40.5;0,00


1)Поможет ли перепрошивка МСД в данном случае или та версия что лежит по вашей ссылке работает также?

2)Пока тестировал поведение МСД при использовании float - изменил настройки каналов. После решил все восстановить назад, загрузив конфигурацию из файла на диске. В файле была сохранена (через меню Файл->Сохранить настройки) конфигурация модуля и конфигуратора до тестов с float. Так вот после выбора меню Файл->Загрузить настройки или нажатия кнопки загрузить из файла - настройки не восстанавливаются! Например не восстановились настройки каналов: Тип данных, Положение десятичной точки и т.д. хотя в файле с сохраненной конфигурацией они присутствуют. Это так и должно быть или я что то делаю не так?

Пантелеев Дмитрий
23.04.2014, 09:08
1) Прошивка не поможет, т.к. у меня тоже самое. Постараемся исправить эту ошибку.
2) У Вас какая ОС? Если Win7, то попробуйте запустить конфигуратор в режиме совместимости с WinXP.

kfvniiz
23.04.2014, 18:10
1) Прошивка не поможет, т.к. у меня тоже самое. Постараемся исправить эту ошибку.
2) У Вас какая ОС? Если Win7, то попробуйте запустить конфигуратор в режиме совместимости с WinXP.
Да запуск в режиме совместимости с XP решил проблему с загрузкой конфигурации с диска.

Возник еще один вопрос, а точнее пожелание. Пробовал выполнять синхронизацию архивов через командную строку. Штука удобная. Можно, например, через планировщик задач настроить синхронизацию с нужной периодичностью. Единственное что напрягло - это то, что при синхронизации происходит пробежка по всем csv файлам на SD карте МСД. Это не страшно, если файлов будет два или три. А если на SD карте будет архивов за год, то нужно будет пробежать 365 файлов, а если это еще будет делаться через GSM модем с его задержками при передаче через сеть, то это будет выглядеть очень печально. Хотя конечно я понимаю, что вы при синхронизации не тупо копируете все подряд, а только дописываете изменения. Так вот хотелось бы иметь дополнительный параметр в команде для синхронизации, который бы позволял ограничить "глубину" синхронизации в днях. Например, на SD карте лежит csv файлов за несколько лет (к примеру, где-то 800 файлов), а мы задаем ограничение по "глубине" синхронизации, например, в 3 дня. Ваша утилита (MSD200.exe) берет текущую дату на компьютере на котором ее запустили, отнимает от нее 3 дня, и пытается синхронизировать только файлы за последние 3 дня, а все остальные файлы игнорирует, т.е. ей не придется делать пробежку по всем файлам, сравнивать их размеры и т.д., а она возьмет файлы только за последние 3 дня (ну или сколько там было задано дней). Если же пользователь не задал глубины синхронизации, то пусть все работает как раньше.

7410046
23.06.2021, 13:02
может тема умерла уже и я тут не в "тему" а внешний вид отчета в программе можно менять самостоятельно ?