Разные типы данных для одного выхода.

Простейшие вопросы в области инженерной разработки
Ответить
Sergey Puzanov
assistant
assistant
Сообщения: 118
Зарегистрирован: 05 ноя 2020, 08:26
Версия LabVIEW: 18, 20.0f1
Благодарил (а): 23 раза
Поблагодарили: 4 раза
Контактная информация:

Разные типы данных для одного выхода.

Сообщение Sergey Puzanov »

Программа считывает из файла данные в указанном формате - i8, i32, dbl и т.д. Для каждого варианта пока что реализовал отдельные циклы, в каждом из которых ко входу "read binary file" соединена константа соответственного типа. Можно ли создать Case с выбором типа, и подавать его в один вход в один цикл? Либо есть ли более красивое решение, нежели копировать каждый раз большой цикл и менять тип константы?
Artem.spb

Activity Автор
professor
professor
Сообщения: 3403
Зарегистрирован: 31 июл 2011, 23:05
Награды: 2
Версия LabVIEW: 12-18
Благодарил (а): 49 раз
Поблагодарили: 172 раза
Контактная информация:

Re: Разные типы данных для одного выхода.

Сообщение Artem.spb »

Покажите ваш код, может понятнее будет.
Если программа читает только простые типы, то зачем "большой" цикл? Это всего лишь одна функция.
Если это массивы, то опять же читаются одним запросом.
Если это известная последовательность, то можно сразу кластер прочитать.
И что на выходе должно получиться?
Sergey Puzanov
assistant
assistant
Сообщения: 118
Зарегистрирован: 05 ноя 2020, 08:26
Версия LabVIEW: 18, 20.0f1
Благодарил (а): 23 раза
Поблагодарили: 4 раза
Контактная информация:

Re: Разные типы данных для одного выхода.

Сообщение Sergey Puzanov »

изображение_2022-02-02_154059.png
По сути, здесь прореживаются значения из 1-го файла и записываются во 2-ой. Мы считываем одно значение выбранного типа из 1-го файла, и исходя из коэффициента прореживания сдвигаем курсор в файле на N позиций, и так до максимального числа значений, потом это всё массивом пишем во 2-ой. И вот для каждого типа данных в файле свой Case с одной изменённой константой при RBF и числом, на которое нужно сделать сдвиг.
Borjomy_1

Activity Professionalism Silver
doctor
doctor
Сообщения: 2211
Зарегистрирован: 28 июн 2012, 09:32
Награды: 3
Версия LabVIEW: 2009..2020
Откуда: город семи холмов
Благодарил (а): 27 раз
Поблагодарили: 27 раз

Re: Разные типы данных для одного выхода.

Сообщение Borjomy_1 »

Оберните в кейсы только функции чтения и записи в файл, а передачу данных сделайте через dbl. В кейсе чтения каждое число читается своим типом, который потом приводится к Double. В кейсе записи тип Double преобразуется в нужный тип и производится запись в файл.
А вообще любое число можно представить как строку байт или массив типа U8. Если преобразования не требуется, то разные типы будут влиять только на размер строки(массива)
Sergey Puzanov
assistant
assistant
Сообщения: 118
Зарегистрирован: 05 ноя 2020, 08:26
Версия LabVIEW: 18, 20.0f1
Благодарил (а): 23 раза
Поблагодарили: 4 раза
Контактная информация:

Re: Разные типы данных для одного выхода.

Сообщение Sergey Puzanov »

Про второй вариант тоже успел сегодня подумать, но первый меньше переделок потребует. Спасибо!
Ответить
  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Для чайников»