Тема: Осциллограмма в формате Comtrade
Вопрос в следующем ,как прочитать осциллограмму в формате Comtrade типа BINARY в матлабе?
Форум посвящен вопросам релейной защиты и автоматики (РЗА). Обмену опытом и общению релейщиков. |
Вы не вошли. Пожалуйста, войдите или зарегистрируйтесь.
Если вы интересуетесь релейной защитой и реле, то подписывайтесь на мой канал
Советы бывалого релейщика → Спрашивайте - отвечаем → Осциллограмма в формате Comtrade
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Вопрос в следующем ,как прочитать осциллограмму в формате Comtrade типа BINARY в матлабе?
Файл в студию.
Вопрос в следующем ,как прочитать осциллограмму в формате Comtrade типа BINARY в матлабе?
Думаю, никак. Нужно перевести в ASCII.
Файл в студию.
Присоединяюсь!
Вот сам файл
Добавлено: 2014-11-12 14:21:47
Тогда ещё один вопрос,как этот файл перевести в ASCII?
Присоединяйтесь!!! Мы в социальных сетях и на Ютуб. |
Тогда ещё один вопрос,как этот файл перевести в ASCII?
Открыть в Sigra и выполнить Comtrade-экспорт в нужный формат.
В матлабе это можно как-нибудь сделать?
В матлабе это можно как-нибудь сделать?
Можно перенести данные в Матлаб, и там с помощью графического интерфейса (plot) нарисовать их.
Для этого необходимо в командном окне Матлаб нажать кнопку "Import Data", указать на файл осциллограммы (.dat) в формате ASCII, выбрать разделитель (COmma) и нажать Finish. Сформируется массив длиной времени осциллограммы и шириной количества записанных данных. Дальше уже работаем с ней и строим график.
Информация по данным файла .dat хранится в файле .cfg.
Можно ли в матлабе преобразовать бинарный файл(который я скинул) в ASCII ? Если можно ,то как? Меня это интересует.
Можно ли в матлабе преобразовать бинарный файл(который я скинул) в ASCII ? Если можно ,то как? Меня это интересует.
Глядите сами:
Ваш файл OSC353.DAT имеет размер 110592 байта. Из файла CFG ясно, что в нем содержатся 1152 записи.
Делим 110592 на 1152 и получаем размер одной записи 96 байт (0x60).
Беру первую запись:
0000000000: 01 00 00 00 00 00 00 00 │ 02 00 03 00 03 00 FA FF
0000000010: ED 04 05 00 09 00 FC FF │ 00 00 FF FF 01 00 00 00
0000000020: 6F FF CC FE A2 FE 90 FA │ 2F 00 00 00 F1 00 E9 F9
0000000030: 89 00 05 72 17 00 A4 5F │ 9F 00 B2 EF 01 00 D6 42
0000000040: 02 00 DE 3A 02 00 73 3A │ 00 00 00 00 00 00 00 00
0000000050: 00 00 00 00 00 00 00 20 │ 04 00 80 1F 01 00 0A 00
Первые 4 байта 01 00 00 00 это порядковый номер записи, переставляем байты и видим 00000001. Для проверки - последний номер - 0x00000480 или 1152.
Следующие 4 байта - метка времени. Возрастает от записи к записи на фиксированную величину - 0x4E4 (1252) мкс.
Далее, мы знаем, что в записи 93 дискретных сигнала. Ближайшее большее число, делящееся на 8 - 96, а значит последние 96:8=12 байт в записи - дискреты (выделено красным).
Из размера записи 96 байт вычитаем 4 (размер номера записи), 4 (размер метки времени) и 12 (занято под дискреты), получаем 76 байт.
Это как раз 38 двухбайтных записей аналоговых значений. Младший байт идет первым.
Зная это все, можно написать скрипт, который будет читать записи и формировать матрицу значений.
Глядите сами:
Да, что называется: тайна пляшущих человечков раскрыта методом дедукции!
Спасибо. Надо сделать закладку.
Спасибо большое.)
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Советы бывалого релейщика → Спрашивайте - отвечаем → Осциллограмма в формате Comtrade
Форум работает на PunBB, при поддержке Informer Technologies, Inc