retriever писал(а): ↑2023-01-19 13:20:08
dev_ekra_ru,
А кстати, если на то пошло, то какие это отклонения в принципе?
Я слышал только про случай с Механотроникой (хотя вроде бы это не совсем отклонение, буквальное прочтение стандарта вроде бы ничего не запрещает), где писалось много частот дискретизации, и по ним восстанавливалась у механотроники частота сети.
А с остальным-то что? Где там можно налажать?
a,b,skew, PRIMARY/SECONDARY, расшифровка буквы k, M в аббревиатурах типа kV, kA....
... да, я еще знаю, старые отчественные осциллографы пишут в дос-кодировке названия (вроде 866), и нужен декодер кракозябр.
Миллион всего. Перечислю самое часто встречающееся, что сразу вспомнилось.
По стандарту до 2013 года были допустимы только ASCII символы (до кода 128). Кириллица не подразумевалась. Но у нас то все по-русски, поэтому на этот момент наплевали и уже много десятилетий назад. Старые устройства и ПО работавшие в DOS кодировке 866 писали текст в ней, а те что поновее уже по умолчанию работали в WIN кодировке 1251 и, соответственно, писали в ней. А теперь нам еще и utf8 подвезли. Поэтому приходится налету по коссвенным признакам "декодить кракозябры".
Единицы измерения указывают как попало. Очень многим программам на это плевать ибо они показывают это поле как строчку, никак его специально не интерпретируя, но лично для нас, как программы, которая дает обширный расчетный функционал, это поле важно, и мы его декодируем, огребая при этом по полной. Мы уже несколько раз алгоритм этого декодера переделывали, чтобы он не разрастался до умопомрачительных размеров и не тормозил загрузку.
Не хватает полей в описании сигналов
В качестве года ревизии стандарта указывают что попало. Вплоть до того, что могут указать 2013, а внутри по сути 1991.
Вещественные числа текстом бывают записаны очень экзотически (даже не всегда понятно что за код может такое сгенерировать).
В качестве десятичного разделителя могут использовать запятую, а также не фильтруют запятые в именах, что делает строки описания сигналов принципиально не разбираемыми.
Некоторые производители любят что-то от себя придумывать. Например, хочется им, чтобы в файле были единицы измерения и первичные и вторичные, т.к. у них они разные, а стандарт этого не умеет. Ну они и выдумывают свой формат записи поля единиц измерения. Встречалось несколько вариантов.
Часто не указывают частоту дискретизации, что формально допустимо, но делает такой файл не файлом осциллограммы, а ретроспективной событий. Приходится восстанавливать частоту по меткам времени, а они часто либо слишком грубые, либо вообще кривые.
Это не считая клинических случаев, когда CFG с DAT вообще не вяжется, но такое в любом случае незагружабельно.
Сайт: dev.ekra.ru | Почта: dev@ekra.ru | Тел.: 8 (8352) 220-130 (доб. 1057, 1099, 1267) | Часы работы: 08:00 - 17:00 по Москве