Страница 4 из 4 ПерваяПервая ... 234
Показано с 31 по 37 из 37

Тема: TimeAndDate в СПК

  1. #31
    Супер Модератор Аватар для Евгений Кислов
    Регистрация
    27.01.2015
    Адрес
    Москва
    Сообщений
    12,215

    По умолчанию

    Так не получится. Можно сделать в визуализации кнопку "Размонтировать" и по ее нажатию отправлять в терминал команду. После этого крайне желательно проверить, что флешка действительно размонтировалась и вывести на экран соответствующее сообщение. И только после этого можно будет извлечь флэшку.

    Готовый функционал для этого будет добавлен в будущие версии таргет-файлов.

  2. #32
    Пользователь Аватар для Пьер
    Регистрация
    26.01.2011
    Адрес
    Земля
    Сообщений
    518

    По умолчанию

    Цитата Сообщение от Евгений Кислов Посмотреть сообщение
    Так не получится. Можно сделать в визуализации кнопку "Размонтировать" и по ее нажатию отправлять в терминал команду. После этого крайне желательно проверить, что флешка действительно размонтировалась и вывести на экран соответствующее сообщение. И только после этого можно будет извлечь флэшку.

    Готовый функционал для этого будет добавлен в будущие версии таргет-файлов.
    Код:
    Код:
    IF r1>100 THEN r1:=0;	
    END_IF
    r1_str:=REAL_TO_STRING(r1);
    r1_str:=Concat(r1_str,';');
    sFileTestString:=r1_str;
    
    IF NOT xFileStdInit THEN
    	filop(xExecute:=FALSE);
    	filcl(xExecute:=FALSE);
    	filwr(xExecute:=FALSE);
    	filrd(xExecute:=FALSE);
    	xFileStdInit:=TRUE;
    	uiFileStdState:=0;
    ELSE
    	CASE uiFileStdState OF
    		0: (* create a new file *)
    			filop.sFileName:=sFileName;
    			filop.eFileMode:=i1;
    			filop.xExclusive:=TRUE;
    			filop(xExecute:=TRUE);
    			IF filop.xDone THEN
    				hFile:=filop.hFile;
    				uiFileStdState:=1;
    			END_IF
    			IF filop.xError THEN
    			(* error handling*)
    			;
    			END_IF
    		1:(* write text in the file *)
    			filwr.hFile:=hFile;
    			filwr.pBuffer:=ADR(sFileTestString);
    			szFileSize1:=SIZEOF(sFileTestString);
    			filwr.szSize:=szFileSize1;
    			filwr.udiTimeOut:=100000; (* 100ms Timeout *)
    			filwr( xExecute:=TRUE);
    			IF filwr.xDone THEN
    				uiFileStdState:=2;
    			END_IF
    			IF filwr.xError THEN
    			(* error handling*);
    			END_IF
    		2:(* read file - TestFile.txt*)
    			filrd.hFile:=hFile;
    			filrd.udiTimeOut:=100000;  (* 100ms Timeout *)
    			filrd.pBuffer:=ADR(sFileString);
    			filrd.szBuffer:=255;
    			filrd( xExecute:=TRUE);
    			IF filrd.xDone THEN
    				szFileSize2:=filrd.szSize;
    				IF szFileSize2 = szFileSize1 THEN
    					uiFileStdState:=3;
    				ELSE
    				(* error handling*)
    				;
    				END_IF
    			END_IF
    			IF filrd.xError THEN
    			(* error handling*)
    			;
    			END_IF
    		3:             (* close file  - TestFile.txt *)
    			filcl.hFile:=hFile;
    			filcl( xExecute:=TRUE);
    			IF filcl.xDone THEN
    				uiFileStdState:=4;
    			END_IF
    			IF filcl.xError THEN
    				(* error handling*)
    				;
    			END_IF
    		4:  (* end of example *)
    			;
    		END_CASE
    END_IF
    
    blinker1(ENABLE:=b1 , TIMELOW:=T#1S , TIMEHIGH:=T#1S , OUT=>xFileStdInit );
    r1:=r1+0.01;
    
    IF b2 THEN
    	OutUSB(cmd:='umount/mnt/ufs/media/sda1' , output_string=> , complete=> );
    END_IF


    Размонтирование не получилось (OutUSB библиотека OutUSB:CmpSysExec.sysExecute2, ошибка осталась, при вторичной установке флешки записи нет.
    Также не получается записывать файл в один столбец.
    Записываю filop.eFileMode:=3 (MAPPD 3 Файл будет открыт в режиме записи, а записанные данные будут добавлены в конец файла.) тоже особо не получается, ставил разделитель $r$n, но записывает в столбец какие-то непонятные символы.
    File.Read -> xError постоянной выдает ошибку при переключении filop.eFileMode и при вытаскивании флешки.
    Не зная броду, не суйся в воду. (Пословица.)
    Век живи, век учись(а умрешь дураком).
    Опыт растет прямо пропорционально выведенному из строя оборудованию.

  3. #33
    Пользователь Аватар для capzap
    Регистрация
    25.02.2011
    Адрес
    Киров
    Сообщений
    10,254

    По умолчанию

    Цитата Сообщение от Пьер Посмотреть сообщение
    а как, допустим, я вытаскиваю флешку, СПК определяет, что флешка отсутствует и в этот момент посылает - "размонтировать".
    Т.е. с помощью какого блока идет опрос флешки есть/нет?
    смотреть надо как сконфигурирован fstab
    Bad programmers worry about the code. Good programmers worry about data structures and their relationships

    среди успешных людей я не встречала нытиков
    Барбара Коркоран

  4. #34
    Супер Модератор Аватар для Евгений Кислов
    Регистрация
    27.01.2015
    Адрес
    Москва
    Сообщений
    12,215

    По умолчанию

    В команде ошибка, нет пробела после umount. Лучше тренироваться с включенным терминалом (putty и т.д.).

    По поводу остального - вот пример от 3S (устанавливается через Менеджер пакетов).
    Вложения Вложения

  5. #35
    Пользователь Аватар для Пьер
    Регистрация
    26.01.2011
    Адрес
    Земля
    Сообщений
    518

    По умолчанию

    Цитата Сообщение от capzap Посмотреть сообщение
    смотреть надо как сконфигурирован fstab
    объясните пожалуйста, про что Вы это говорите?
    Не зная броду, не суйся в воду. (Пословица.)
    Век живи, век учись(а умрешь дураком).
    Опыт растет прямо пропорционально выведенному из строя оборудованию.

  6. #36
    Пользователь Аватар для Пьер
    Регистрация
    26.01.2011
    Адрес
    Земля
    Сообщений
    518

    По умолчанию

    Цитата Сообщение от Евгений Кислов Посмотреть сообщение
    В команде ошибка, нет пробела после umount. Лучше тренироваться с включенным терминалом (putty и т.д.).

    По поводу остального - вот пример от 3S (устанавливается через Менеджер пакетов).
    Установил. А примера не могу найти

    Темный лес для меня, написать свой архиватор, но это нужно сделать.
    Последний раз редактировалось Пьер; 28.10.2016 в 15:19.
    Не зная броду, не суйся в воду. (Пословица.)
    Век живи, век учись(а умрешь дураком).
    Опыт растет прямо пропорционально выведенному из строя оборудованию.

  7. #37

Страница 4 из 4 ПерваяПервая ... 234

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •