Показано с 1 по 10 из 16

Тема: Проблема с SysLibFile

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1
    Пользователь
    Регистрация
    23.09.2008
    Адрес
    Центророссийск
    Сообщений
    3,172

    По умолчанию

    Для начала - выложить код

  2. #2

    Exclamation

    Цитата Сообщение от Валенок Посмотреть сообщение
    Для начала - выложить код
    Ну вообщем код, который отвечает за запись в SysLibFile вот такой - не стал выкладывать полный код программы..

    Два раза в сутки в файл дописываются значения переменных, и как размер файла становится 1КБ, информация перестаёт в него добавляться.


    Код:
    PROGRAM new_EC
    VAR
    	y: REAL; (*  Преобразование EC  *)
    	
    	sizDWC:DINT; (*размер файла для записи SysLibFile*)
    	fileDWC:DWORD; (*исполнительный файл для SysLibFile*)
    	strokaDWC:STRING;(*Строка для записи DWC значений*)
    
    END_VAR
    
    
    strokaDWC:='DWC4'; END_IF;
    strokaDWC:=CONCAT (strokaDWC, ' ');
    strokaDWC:=CONCAT (strokaDWC, TimeAndDate.Data);
    strokaDWC:=CONCAT (strokaDWC, ' ');
    strokaDWC:=CONCAT (strokaDWC, TimeAndDate.Vremya);
    strokaDWC:=CONCAT (strokaDWC, ' ');
    strokaDWC:=CONCAT (strokaDWC, 'Слито');
    strokaDWC:=CONCAT (strokaDWC, ' ');
    strokaDWC:=CONCAT (strokaDWC, REAL_TO_STRING(TRUNC(Uroven_Setup.liters*100)));
    strokaDWC:=INSERT(strokaDWC,'.',LEN(strokaDWC)-2);
    strokaDWC:=CONCAT (strokaDWC, 'л.');
    strokaDWC:=CONCAT (strokaDWC, ' ');
    
    strokaDWC:=CONCAT (strokaDWC, 'EC=');
    strokaDWC:=CONCAT (strokaDWC, Okruglenie_EC.strokaEC);
    strokaDWC:=CONCAT (strokaDWC, 'мСм');
    strokaDWC:=CONCAT (strokaDWC, ' '); 
    
    strokaDWC:=CONCAT (strokaDWC, 'PH=');
    strokaDWC:=CONCAT (strokaDWC, REAL_TO_STRING(TRUNC(PH*100)));
    strokaDWC:=INSERT(strokaDWC,'.',LEN(strokaDWC)-2);
    strokaDWC:=CONCAT (strokaDWC, '$R$N');
    
    
    sizDWC:=SysFileGetSize('DWC.txt');
    fileDWC:=SysFileOpen('DWC.txt','w');
    SysFileSetPos(fileDWC, sizDWC);
    SysFileWrite(fileDWC, ADR(strokaDWC), LEN(strokaDWC));
    SysFileClose(fileDWC);

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

    По умолчанию

    Цитата Сообщение от lava_02 Посмотреть сообщение
    Ну вообщем код, который отвечает за запись в SysLibFile вот такой - не стал выкладывать полный код программы..

    Два раза в сутки в файл дописываются значения переменных, и как размер файла становится 1КБ, информация перестаёт в него добавляться.


    Код:
    PROGRAM new_EC
    VAR
    	y: REAL; (*  Преобразование EC  *)
    	
    	sizDWC:DINT; (*размер файла для записи SysLibFile*)
    	fileDWC:DWORD; (*исполнительный файл для SysLibFile*)
    	strokaDWC:STRING;(*Строка для записи DWC значений*)
    
    END_VAR
    
    
    strokaDWC:='DWC4'; END_IF;
    strokaDWC:=CONCAT (strokaDWC, ' ');
    strokaDWC:=CONCAT (strokaDWC, TimeAndDate.Data);
    strokaDWC:=CONCAT (strokaDWC, ' ');
    strokaDWC:=CONCAT (strokaDWC, TimeAndDate.Vremya);
    strokaDWC:=CONCAT (strokaDWC, ' ');
    strokaDWC:=CONCAT (strokaDWC, 'Слито');
    strokaDWC:=CONCAT (strokaDWC, ' ');
    strokaDWC:=CONCAT (strokaDWC, REAL_TO_STRING(TRUNC(Uroven_Setup.liters*100)));
    strokaDWC:=INSERT(strokaDWC,'.',LEN(strokaDWC)-2);
    strokaDWC:=CONCAT (strokaDWC, 'л.');
    strokaDWC:=CONCAT (strokaDWC, ' ');
    
    strokaDWC:=CONCAT (strokaDWC, 'EC=');
    strokaDWC:=CONCAT (strokaDWC, Okruglenie_EC.strokaEC);
    strokaDWC:=CONCAT (strokaDWC, 'мСм');
    strokaDWC:=CONCAT (strokaDWC, ' '); 
    
    strokaDWC:=CONCAT (strokaDWC, 'PH=');
    strokaDWC:=CONCAT (strokaDWC, REAL_TO_STRING(TRUNC(PH*100)));
    strokaDWC:=INSERT(strokaDWC,'.',LEN(strokaDWC)-2);
    strokaDWC:=CONCAT (strokaDWC, '$R$N');
    
    
    sizDWC:=SysFileGetSize('DWC.txt');
    fileDWC:=SysFileOpen('DWC.txt','w');
    SysFileSetPos(fileDWC, sizDWC);
    SysFileWrite(fileDWC, ADR(strokaDWC), LEN(strokaDWC));
    SysFileClose(fileDWC);
    Странно что вообще работает, мне кажется сперва надо файл открыть, потом его размер вычислить

  4. #4

    По умолчанию

    Цитата Сообщение от capzap Посмотреть сообщение
    Странно что вообще работает, мне кажется сперва надо файл открыть, потом его размер вычислить
    Так вот же в конце, смотрите внимательней...

    sizDWC:=SysFileGetSize('DWC.txt');
    fileDWC:=SysFileOpen('DWC.txt','w');
    SysFileSetPos(fileDWC, sizDWC);
    SysFileWrite(fileDWC, ADR(strokaDWC), LEN(strokaDWC));
    SysFileClose(fileDWC);

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

    По умолчанию

    Цитата Сообщение от lava_02 Посмотреть сообщение
    Так вот же в конце, смотрите внимательней...

    izDWC:=SysFileGetSize('DWC.txt');
    fileDWC:=SysFileOpen('DWC.txt','w');
    SysFileSetPos(fileDWC, sizDWC);
    SysFileWrite(fileDWC, ADR(strokaDWC), LEN(strokaDWC));
    SysFileClose(fileDWC);
    Вот по увиденному я и высказываюсь, сравните когда я проверяю размер http://www.owen.ru/forum/showpost.ph...15&postcount=4

  6. #6

    Exclamation

    Цитата Сообщение от capzap Посмотреть сообщение
    Вот по увиденному я и высказываюсь, сравните когда я проверяю размер http://www.owen.ru/forum/showpost.ph...15&postcount=4
    Да суть то не в этом. Суть в том что размер фала он проверяет и показывает что он более 1024байт, но данные в него почему-то не хочет записывать. Если файл менее 1024байт, то данные в него записываются без проблем и мой код работает... Натолкните на правильную мысль, где подвох?

Похожие темы

  1. Особенности библиотеки SysLibFile
    от Партизан в разделе ПЛК1хх
    Ответов: 21
    Последнее сообщение: 12.08.2010, 09:06
  2. Библиотека SysLibFile
    от Serp в разделе ПЛК1хх
    Ответов: 37
    Последнее сообщение: 23.03.2010, 13:34
  3. Вопрос по SysLibFile
    от TYER в разделе ПЛК1хх
    Ответов: 6
    Последнее сообщение: 22.05.2009, 12:07
  4. работа с SysLibFile.
    от Юрий_1900 в разделе ПЛК1хх
    Ответов: 2
    Последнее сообщение: 19.11.2008, 13:10
  5. SysLibFile
    от незарегистрированный в разделе ПЛК1хх
    Ответов: 6
    Последнее сообщение: 31.10.2008, 18:01

Ваши права

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