Страница 16 из 1041 ПерваяПервая ... 6141516171826661165161016 ... ПоследняяПоследняя
Показано с 151 по 160 из 10404

Тема: ВОПРОС-ОТВЕТ (отвечаем на простые вопросы от новичков)

  1. #151

    По умолчанию

    через TOF получается при обрыве связи остаётся записаным последнее пришедшее значение и отсчёт не начинается. Что бы начался надо чтоб это значение сменилось на 0.

    единственный выход с TOF на мой взгляд - пульсатор в котором 1 будет длиться скажем 0,01 секунду, а 0 длиться 10 секунд. А время сколько ждать ставим 15 секунд с запасом (в моём случае 15 секунд простоя не критично). В таком случае шанс что обрыв произойдёт на единице есть но мизерный по сравнению с шансом обрыва на нуле.

    PS: огромное спасибо за помощь всем кто откликается!!!
    Чтобы понять рекурсию нужно понять рекурсию

  2. #152

    По умолчанию

    см. пост #187

  3. #153

    По умолчанию

    TOFInst(IN := SVYAZ, PT:= T#5s);
    MANUAL :=TOFInst.Q;

    получается если связь есть то он преводит в ручной и в автомат переключиться вообще не даёт. ФБ так работает: "Если IN равен TRUE, то выход Q = TRUE и выход ET = 0. Как только IN переходит в FALSE, начинается отсчет времени (в миллисекундах) на выходе ET. При достижении заданной длительности отсчет останавливается. Выход Q равен FALSE, если IN равен FALSE и ET равен PT, иначе - TRUE."

    Не понимаю как у вас получается через него
    Чтобы понять рекурсию нужно понять рекурсию

  4. #154

    По умолчанию

    вам же написали - на вход in таймера TOF подать "значение_некоторого_регистра = какому-то значению"
    tof1(in := значение_некоторого_регистра = какому-то значению", pt := t#10s);
    а после таймера обнулять этот регистр
    значение_некоторого_регистра := 0;

    скадой же слать в этот регистр это самое значение.

  5. #155

    По умолчанию

    спасибо за объяснение, про обнуление дошло - не то обнулял, однако:

    TOFInst(IN := BOOL_TO_INT(SVYAZ)=1, PT:= T#10s);
    SVYAZ :=0;
    на in значение приходит каждые 1,5 секунды, но если связь оборвать то в этом случае по прошествии 10 секунд MANUAL не переходит в состоянии FALSE потому что мы не берём в него значение с выхода Q

    TOFInst(IN := BOOL_TO_INT(SVYAZ)=1, PT:= T#10s, Q=>MANUAL);
    SVYAZ :=0;
    в этом случае по прошествии 10 секунд MANUAL переходит в FALSE, НО каждый раз когда приходит на in со скады значение, Q переводится в TRUE и автомат становится в ручной режим, потому что ФБ так работает.
    "Если IN равен TRUE, то выход Q = TRUE. Выход Q равен FALSE, если IN равен FALSE и ET равен PT."
    Чтобы понять рекурсию нужно понять рекурсию

  6. #156

    По умолчанию

    у tof выход q гаснет через время pt после спада входа in

  7. #157

    По умолчанию

    да, но в то же время, q загорается когда приходит вновь значение на in, и тухнет только когда выполняется pt, то есть каждый раз когда приходит со скады значение загорается q а вместе с ним включается ручной режим.
    В итоге перевести нашу переменную manual в false мы не можем

    вот целиком код программы если поможет:
    TOFInst(IN := BOOL_TO_INT(SVYAZ)=1, PT:= T#10s, Q=>MANUAL);
    SVYAZ :=0;

    CASE BOOL_TO_BYTE(MANUAL) OF
    1: IF T_SHKAF<3 THEN OBOGREV:=TRUE; (*только обогрев шкафа если включен ручной режим*)
    ELSIF T_SHKAF>5 THEN OBOGREV:=FALSE;
    END_IF;
    0: IF SVET<50 THEN A:=TRUE; (*исполнение всей программы в автоматическом режиме*)
    ELSE A:=FALSE;
    END_IF;

    IF SVET<40 THEN B:=TRUE;
    ELSE B:=FALSE;
    END_IF;

    IF SVET<=20 THEN C:=TRUE;
    ELSE C:=FALSE;
    END_IF;

    IF T_SHKAF<3 THEN OBOGREV:=TRUE;
    ELSIF T_SHKAF>5 THEN OBOGREV:=FALSE;
    END_IF;
    END_CASE;
    Чтобы понять рекурсию нужно понять рекурсию

  8. #158
    Пользователь
    Регистрация
    18.08.2008
    Адрес
    Екатеринбург
    Сообщений
    983

    По умолчанию

    CodeSys/PLC_Configuration/PLC... два раза ЛКМ по входу/выходу и прописываете переменную. Не забудьте удалить прописанные переменные из PLC_PRG раздел-объявление переменных

  9. #159
    Пользователь Аватар для VanoKing
    Регистрация
    27.07.2011
    Адрес
    Уфа
    Сообщений
    47

    Question

    Объясните популярно пожалста, зачем в OPC-Сервере CodeSys вот это окно с именем проекта?
    Если нужную программу с конфигом ПЛК и исполнительной частью уже загружена в контроллер и выдает нужные OPC-переменные...

  10. #160

    Smile Re

    Цитата Сообщение от VanoKing Посмотреть сообщение
    Объясните популярно пожалста, зачем в OPC-Сервере CodeSys вот это окно с именем проекта?
    Если нужную программу с конфигом ПЛК и исполнительной частью уже загружена в контроллер и выдает нужные OPC-переменные...
    Если не хочется конфигурировать экспорт и загрузку символьного файла в ПЛК или это невозможно как в ПЛК63
    Часто задаваемые вопросы по кодесис
    1) Почему программа не работает - Следует выполнить "Онлайн ->Старт"
    2) Где скачать CoDeSys, таргеты, прошивки, библиотеки - http://www.owen.ru/catalog/codesys_v3/opisanie

Страница 16 из 1041 ПерваяПервая ... 6141516171826661165161016 ... ПоследняяПоследняя

Метки этой темы

Ваши права

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