ну да, именно так
ну да, именно так
Тролль-наседка, добрый, нежный и ласковый
Если знаете размер файла, то вычисляете до какой позиции нужно читать, и двигаете указатель файла от его начала до нужной позиции с помощью OwenFileSetPosAsync, ну и читаете что Вам нужно с помощью OwenFileReadAsync. Если не знаете размер файла - воспользуйтесь OwenFileGetSizeAsync для выяснения размера файла
Большое спасибо.
Добрый день.
На флешке записан текстовый файл. В файле через запятую перечисляются целые положительные числа в диапазоне от 0 до 255 (1,3,7,5,11,13 ...). Надо прочитать файл в ОЗУ ПЛК110-М[02]. Какой тип данных может иметь буфер, куда будет считываться файл ? В программе мне надо работать с числами.
Последний раз редактировалось Newcomer; 02.03.2016 в 13:58.
Я когда-то писал пример на чтение констант с текстового файла, перечисленных через точку с запятой (приложил к письму). Пользовался массивом типа string и на тот момент не асинхронной библиотекой SysLibFile (я думаю, если поймете этот пример, то и на асинхронной библиотеке получится).
Код назвать профессиональным не могу, но в помощь сойдет![]()
Newcomer, это не библиотека Овен, просто так сохранил. Весь код программы в файле с расширением.lib - двойной щелчок, откроется Кодесис.
Что-то я не понимаю вас.
simply_usb.pro - это ваша программа.
syslibfile_for_ustav_wr_final.lib - это библиотека.
На картинках все видно.
В программе файл читается в массив типа INT.
Все прекрасно, только я в асинхронной библиотеке такого ФБ (ARCHIV_FROM_USB_TXT) не нашел. Или я плохо смотрел ?
Может многоуважаемый В.Филоненко прояснит ситуацию ?
Последний раз редактировалось Newcomer; 03.03.2016 в 11:17.
ARCHIV_FROM_USB_TXT - это не мы делали![]()
Тролль-наседка, добрый, нежный и ласковый
С этим вопросом уже разобрались. Появились другие вопросы.
Программа 110_60_click_asyncfile.pro ваше творение ?
Судя по тому, что в тексте есть ошибки программу в ПЛК никто не загружал и работу не проверял.
CASE state_res OF
0:
res:=OwenFileOpenAsync('usb:test.dat','a',ADR(hand le));
IF res=ASYNC_WORKING THEN
state:=1; (* тут должно быть state_res:=1; *)
END_IF
1:
Последний раз редактировалось Newcomer; 04.03.2016 в 10:56.