<< Click to Display Table of Contents >> Navigation: Проект в MasterSCADA 4D > Дерево библиотек > Библиотека BaseObjects > BaseObjects.ФБ.Системные > Работа с файлами > CSVToStructArray |
Функциональный блок CSVToStructArray служит для чтения массива структур из CSV-файла.
Вид в дереве |
Вид в редакторе FBD |
Входы и выходы ФБ:
Название |
Тип |
Назначение |
Входы |
||
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 |
Указывается текст ошибки, если работа блока была неудачной. |
Рассмотрим работу с функциональным блоком на примере. Пусть есть файл вида:
Значения из файла нужно получить в MasterSCADA 4D
1. В библиотеке создать новый тип данных Структура. Поля структуры должны соответствовать столбцам файла из которого нужно прочитать данные.
В рассматриваемом примере добавляем три поля. Имена полей соответствуют заголовкам столбцов файла, а типы полей соответствуют типу даных, которые записаны в этих столбцах:
Важно! Можно указывать поля структуры только для тех столбцов, которые нужны в проекте. Столбцы с именами, не указанными в структуре, будут пропущены.
2. Далее необходимо создать тип в библиотеке :
3. Создать параметр с данным типом:
4. Добавить программу, например, FBD, и в рабочую область перетащить ФБ CSVToStructArray.
5. На выходной клеммник перетащите созданный параметр.
5. Соедините вход ФБ StructArray с параметром:
6. Установите значения входов FB FileName, Delimiter, Encoding, либо константами, либо установите связь с нужными параметрами.
7. Запустите проект на исполнение.
8. В момент изменения значения входа Run с False на TRUE произойдет чтение из файла: