Страница 1 из 2 12 ПоследняяПоследняя
Показано с 1 по 10 из 15

Тема: Товарищи Знатоки нужна Ваша помощь

  1. #1

    Question Товарищи Знатоки нужна Ваша помощь

    Не как не могу совладать с библиотекой записи и чтения файлов с ПЛК 100
    Решить подкорректировать старый код

    PROGRAM HMI_Scada

    VAR

    Tools_Bathers : Bathers_Tools; (* TYPE STRUCT *)

    END_VAR

    CASE Number_Current_Screen OF (*Если на шестом экране вызываем прграмму записи в файл,по нажатию Cmd_1.0 записываем данные из панели в Tools_Bathers *)

    6,7:
    IF Cmd_1.0 (* Кнопка записи настроек на панели*) THEN
    Tools_Bathers.Time_Mixing:=Take_Real_For_HMI(Var_o ut:=HMI_Time_Mixing,Discr:=1);
    Tools_Bathers.Time_Unloading_Mixer:=Take_Real_For_ HMI(Var_out:=HMI_Time_Unloading_Mixer,Discr:=1);
    Tools_Bathers .Volume_Mixer:=Take_Real_For_HMI(Var_out:=HMI_Max_ Volume_Mixer,Discr:=1);
    Tools_Bathers.Rest_Inert_Before_Unloading:=Take_Re al_For_HMI(Var_out:=HMI_Rest_Inert_Before_Unloadin g, Discr :=1);
    State_Write_Tools_Bather :=TRUE;
    END_IF
    Write_Tools_Bathers ( Tools_Bathers:= Tools_Bathers);

    END_CASE



    PROGRAM Write_Tools_Bathers
    VAR_INPUT
    Tools_Bathers : Bathers_Tools;
    END_VAR

    VAR
    hFile_Tools_Bathers: DWORD; (* Дескриптор файла*)

    Adr_File_Tools_Bathers: DWORD; (*возвращает адресс начала файла в байтах.*)

    File_Size_Tools_Bathers: DWORD; (* возвращает размер файла в байтах. *)
    Write_File_Tools_Bathers : DWORD;
    END_VAR

    VAR CONSTANT
    Name_Tools_Bathers : STRING := 'Tools_Bathers.bin';
    END_VAR


    IF State_Write_Tools_Bather THEN Status_Writing_Tools_Bathers :=1;
    State_Write_Tools_Bather :=FALSE;
    END_IF

    CASE Status_Writing_Tools_Bathers OF (* Разносимоткрытие запись закрытие по разным циклам*)

    1: hFile_Tools_Bathers :=SysFileOpen(Name_Tools_Bathers ,'w'); (* Открываем файл для запси, прверяем дескриптор*)


    IF hFile_Tools_Bathers =0 THEN File_Opened_Tools_Bathers :=FALSE;
    Error_FIle_Write_Tools_Bathers :=TRUE;
    RETURN;
    ELSE
    File_Opened_Tools_Bathers := TRUE;
    Error_FIle_Write_Tools_Bathers :=FALSE;
    Adr_File_Tools_Bathers :=ADR( Tools_Bathers);
    File_Size_Tools_Bathers :=SIZEOF(Tools_Bathers);
    Status_Writing_Tools_Bathers :=Status_Writing_Tools_Bathers +1;
    END_IF

    2: (* Пишем в Файл*)
    Write_File_Tools_Bathers:=SysFileWrite(hFile_Tools _Bathers,Adr_File_Tools_Bathers,File_Size_Tools_Ba thers);

    IF Write_File_Tools_Bathers <> SIZEOF(Tools_Bathers) THEN Error_FIle_Write_Tools_Bathers :=TRUE;
    ELSE
    Error_FIle_Write_Tools_Bathers :=FALSE;
    END_IF (* Проверяем запись*)
    Status_Writing_Tools_Bathers :=Status_Writing_Tools_Bathers +1;

    3: (* Закрываем файл*)
    Error_FIle_Write_Tools_Bathers:= Error_FIle_Write_Tools_Bathers OR SysFileClose(hFile_Tools_Bathers);

    Status_Writing_Tools_Bathers :=Status_Writing_Tools_Bathers +1;
    END_CASE


    Почему данные в файл не записываются при нажатии CMD1.0 на панели ИП 320 (кнопка мгновенного действия нажал TRUE отпустил FALSE )
    CASE выполняеться Status_Writing_Tools_Bathers принимает значение
    4, а Write_File_Tools_Bather всегда 0 не хрена понять не могу уже как не извращался уже думаю может ПЛК 100 глючит уже и прошивку менял Люди добрые скажите что не так !?? блин
    вечно у меня с этой библиотекой какие то траблы
    Последний раз редактировалось BSA; 18.02.2015 в 18:09.

  2. #2
    Пользователь
    Регистрация
    24.07.2012
    Адрес
    Россия
    Сообщений
    1,492

    По умолчанию

    "Почему при нажатии CMD1.0 на панели ИП 320 кнопка мгновенного действия нажал TRUE отпустил FALSE ..."
    не совсем так, нажал сработал триггер, а когда отпустил там ее уже не имеет значения.

  3. #3

    По умолчанию

    Т.е если переменную Cmd_1.0 заменить передним фронтом триггера это решит проблему записи в файл? .Не получается!
    Последний раз редактировалось BSA; 18.02.2015 в 14:49.

  4. #4
    Пользователь
    Регистрация
    24.07.2012
    Адрес
    Россия
    Сообщений
    1,492

    По умолчанию

    Цитата Сообщение от BSA Посмотреть сообщение
    Т.е если переменную Cmd_1.0 заменить передним фронтом триггера это решит проблему записи в файл? .Не получается!
    Не знаю, я код не читал уж много его, просто уточнил как работает ип320. Ни одного комментария.
    Тем более что за библиотека, что за код, что за программа, что делает...... магия. А правильно поставленный вопрос.......


    "File_Size_Tools_Bathers :=SIZEOF(Tools_Bathers); (" что за скобка и что делает?
    Последний раз редактировалось Scream; 18.02.2015 в 15:35.

  5. #5

    По умолчанию

    Да я уже сам не знаю в чем сомневаться я понимаю опыт сын ошибок трудных....... но это издевательство просто
    задача то в принципе не сложная записать данные с панели в файл посредством библиотеки SysLibFile где ошибка ума не приложу!!!! может ПЛК поменять??????

  6. #6
    Пользователь
    Регистрация
    23.09.2008
    Адрес
    Центророссийск
    Сообщений
    2,314

    По умолчанию

    Да-да. На семена. Вот у них всегда по кнопке пишется в файл без проблем.

  7. #7
    Пользователь
    Регистрация
    24.07.2012
    Адрес
    Россия
    Сообщений
    1,492

    По умолчанию

    Сделайте заводской сброс и повторите попытку создания и записи файла./
    А лучше смените имя файлу и расширение на txt еще попробуйте.

  8. #8
    Пользователь
    Регистрация
    28.08.2008
    Адрес
    23..93..123
    Сообщений
    1,656

    По умолчанию

    Цитата Сообщение от Scream Посмотреть сообщение
    Сделайте заводской сброс и повторите попытку создания и записи файла./
    А лучше смените имя файлу и расширение на txt еще попробуйте.
    Че за бред!

    Т.С по ходу конкурент.
    Т.С : Уася, при записи необходимо указывать адрес буфера ... В вашем коде видно только объявление .

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

    По умолчанию

    дичайший код, зачем эта приблуда в каждом кейсе статус плюс один, просто обычное присвоение на какой кейс уйти не достаточно? зачем совершать бесмысленные арифметические операции. и что за страсть запускать программу в программе,да еще и с входными пеоеменными
    и послеэпрошивки таргеты переустанавливали?
    Bad programmers worry about the code. Good programmers worry about data structures and their relationships

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

  10. #10
    Пользователь
    Регистрация
    24.07.2012
    Адрес
    Россия
    Сообщений
    1,492

    По умолчанию

    Цитата Сообщение от Sergey666 Посмотреть сообщение
    Че за бред!

    Т.С по ходу конкурент.
    Т.С : Уася, при записи необходимо указывать адрес буфера ... В вашем коде видно только объявление .
    Давайка серёжка, обоснуйте своё "Че". С какого момента вы поняли что это бред? Аргументы?

Страница 1 из 2 12 ПоследняяПоследняя

Похожие темы

  1. Очень нужна Ваша помощь.2ТРМ1 и ДВТ-03
    от R!N@T в разделе Эксплуатация
    Ответов: 15
    Последнее сообщение: 19.05.2016, 16:30
  2. Нужна помощь
    от Илья1000 в разделе Программируемые реле
    Ответов: 4
    Последнее сообщение: 06.10.2013, 21:17
  3. Нужна помощь
    от Илья1000 в разделе Подбор Оборудования
    Ответов: 10
    Последнее сообщение: 17.09.2013, 23:07
  4. нужна помощь
    от МеГаПрогРамер в разделе ПЛК1хх
    Ответов: 2
    Последнее сообщение: 29.12.2008, 14:21
  5. Нужна помощь.
    от Дмитрий Альбертович в разделе Сервисное ПО
    Ответов: 2
    Последнее сообщение: 15.07.2008, 12:05

Ваши права

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