CSVToStructArray

<< Click to Display Table of Contents >>

Navigation:  Проект в MasterSCADA 4D > Дерево библиотек > Библиотека BaseObjects > BaseObjects.ФБ.Системные > Работа с файлами >

CSVToStructArray

Функциональный блок CSVToStructArray служит для чтения массива структур из CSV-файла.

Вид в дереве

Вид в редакторе FBD

csvtoStructArray

csvtoStructArray_1

Входы и выходы ФБ:

Название

Тип

Назначение

Входы

FileName

STRING

Путь(относительный или абсолютный) к  csv-файлу, из которого нужно прочитать данные.

Delimiter

STRING

Указывается символ, который используется  в качестве разделителя данных в исходном csv-файле.

Encoding

Encoding

Определяется соответствие, с которым идет преобразование входной строки. Возможные варианты:

UTF8 (по умолчанию),

CP1251,

ASCII

Run

BOOL

Запускает процесс чтения из csv-файла массива структур

StructArray

REF_TO

Определяет массив структур, в который нужно записать данные из CSV-файла. В библиотеке нужно создать структуру, поля которой будут соответствовать полям csv-файла. Затем создать новый тип данных Массив структур переменной длины. Подробный алгоритм работы с элементом смотрите ниже.

Важно! Если ФБ находится внутри программы, например, FBD или ST, то в программу необходимо добавить вход типа REF_TO, связать его с массивом структур, а затем уже этот вход программы связать со входом ФБ StructArray. Если ФБ находится внутри программы ST, то в программе можно указать полное имя массива структур. См раздел Специальные типы данных.

Выходы

Error

STRING

Указывается текст ошибки, если работа блока была неудачной.

Порядок работы с функциональным блоком

Рассмотрим работу с функциональным блоком на примере. Пусть есть файл вида:

csvtoStructArray_2

Значения из файла нужно получить в MasterSCADA 4D

1. В библиотеке создать новый тип данных Структура. Поля структуры должны соответствовать столбцам файла из которого нужно прочитать данные.

В рассматриваемом примере добавляем три поля. Имена полей соответствуют заголовкам столбцов файла, а типы полей соответствуют типу даных, которые записаны  в этих столбцах:

csvtoStructArray_3

Важно! Можно указывать поля структуры только для тех столбцов, которые нужны в проекте. Столбцы с именами, не указанными в структуре, будут пропущены.

2. Далее необходимо создать тип в библиотеке :

csvtoStructArray_4

3. Создать параметр с данным типом:

csvtoStructArray_7

4. Добавить программу, например, FBD, и в рабочую область перетащить ФБ CSVToStructArray.

5. На выходной клеммник перетащите созданный параметр.

5. Соедините вход ФБ StructArray с параметром:
csvtoStructArray_5

6. Установите значения входов FB FileName, Delimiter, Encoding, либо константами, либо установите связь с нужными параметрами.

7. Запустите проект на исполнение.

csvtoStructArray_6

8. В момент изменения значения входа Run  с False на TRUE произойдет чтение из файла:

csvtoStructArray_8