Страница 2 из 4 ПерваяПервая 1234 ПоследняяПоследняя
Показано с 11 по 20 из 35

Тема: ПЛК100 - Направте в "нужное русло"

  1. #11

    По умолчанию

    Цитата Сообщение от Валенок Посмотреть сообщение
    Ну Вам же предложили - опишите действия и состояния исполнителей во всех возможных ситуациях не думая о програмировании
    Типа:
    1.Нет машин нигде
    2.Только на выезде подъехала машина1
    3.Ждем карточку1 15сек
    4.Машина1 в процесса выезда
    5.Только на въезде подъехала машина2
    6.Ждем карточку2 15сек
    7.Машина2 в процесса въезда
    8.Одновременно подошли машина1 и машина2
    ..
    Да уж, по-моему я Ваш ник =) . Я не могу для себя уяснить как сделать весь цикл, с ожидание, т.е. у нас есть несколько ситуаций -
    1. Нет ни одной машины = Все входы/выходы разомкнуты.
    2. Машина подъехала на въезд (Прислонил карточку)
    2.1. Даем сигнал 15 секунд на открытие шлагбаума
    2.2. Замыкаем два выхода на включение красного сигнала светофора на въезде и на выезд
    2.3. Ждем срабатывания фотоэлемента, что машина начала проезжать шлагбаум.
    2.4. Ждем отключения фотоэлемента, что машина проехала шлагбаум.
    2.5. Только если прошли пункты 2.1. 2.3. 2.4. даем сигнал 15 секунд на закрытие шлагбаума.
    2.6. Ждем срабатывания датчика на выезд (петля)
    2.7. В течении 15 секунд даем сигнал на открытие шлагбаума
    2.8. Как и пункты 2.2. 2.3. но только с фотоэлементом на выезд.
    2.9. Даем сигнал на закрытие шлагбаума.
    2.10. Выключаем светофоры, т.е. размыкаем два выхода.
    3. Машина подъехала на выезд
    3.1 - 3.10. аналогично 2.1 - 2.10. в обратном порядке.
    4. Обе машины подъехал одновременно - эта ситуация исключается, так как с точность в доли секунды этого произойти не может.
    Ничего умнее как идти путем с переменными состояния я не придумал -
    a:BOOL; (*Показатель въезда машины*)
    b:BOOL; (*Показатель срабатывания фотоэлемента на въезд*)
    TIME_OFF_vzd:TOF:=(PT:=T#15s);(*Задержка выключения*)
    TIME_ON_vzd:TOF:=(PT:=T#15s);(* Задержка выключения *)
    IN_0 AT %IX0.0.0:BOOL;(*Считыватель карт въезд*)
    IN_1 AT %IX0.0.1:BOOL;(*Фотоэлемент въезд*)
    IN_2 AT %IX0.0.2:BOOL;(*Датчик (петля на выезд) *)
    OUT_0 AT %QX1.0:BOOL;(*Открытие шлагбаума*)
    OUT_1 AT %QX2.0:BOOL;(*Закрытие шлагбаума *)
    OUT_2 AT %QX3.0:BOOL; (*Красный светофор въезд *)
    OUT_5 AT %QX6.0:BOOL;(*Красный светофор выезд *)
    и т.д.
    IF IN_0=TRUE AND a=FALSE THEN
    TIME_OFF_vzd(IN:=1);
    OUT_0:=1; OUT_5:=1; (*Зажигаем светофоры на вьезде и выеде*)
    a:=TRUE; (*Состояния въезда машины *)
    ELSE
    TIME_OFF_vzd(IN:=0);
    END_IF;
    OUT_1:=TIME_OFF_vzd.Q; (*Открываем шлагбаум 15s*)

    IF IN_1=TRUE AND b=FALSE (*Сработал фотоэлемент но ранее не срабатывал*)
    THEN
    IF a=TRUE THEN (*Машина на въезд*)
    b:=TRUE; (*Сработал фотоэлемент*)
    TIME_ON_vzd(IN:=0);
    END_IF;
    END_IF;

    IF IN_1=FALSE AND b=TRUE (*если выключен фотоэлемент, но ранее он был включен, т.е. машина проехала *)
    THEN
    IF a=TRUE THEN
    b:=FALSE; (*Машина выехала из фотоэлемента*)
    TIME_ON_vzd(IN:=1);
    END_IF;
    END_IF;

    OUT_2:=TIME_ON_vzd.Q; (Закрываем шлагбаум)
    и т.д.
    Но это все равно не работает (OUT_2 постоянно TRUE).

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

    По умолчанию

    Если что-то включил , то надо не забыть выключить , а так ход мислей правильный.

    Есть еще (так для справки ) оператор CASE.

    Подъехал , сунул карточку , шлакбаум открылся - поехал - шлакбаум закрылся и при этом надо заблокировать "Встречку" можно выделить в функциональный блок или подпрограмму.
    Таймер на OFF - зачем , условие включает флаг,переменная , флаг запустил таймер (ТОН) , таймер оттикал , включил или выключил и выключил "Запускающую" переменную .

  3. #13
    Пользователь Аватар для Василий Кашуба
    Регистрация
    20.11.2011
    Адрес
    Ставрополь
    Сообщений
    2,493

    По умолчанию

    Цитата Сообщение от Василий Кашуба Посмотреть сообщение
    Если ещё не приобрели ПЛК, то могу помочь с написанием программы для ПР114.
    Программа для ПР114 готова, проверял на эмуляторе. Для моего варианта нужны четыре сдвоенных фото датчика или восемь одинарных.
    Изображения Изображения
    Последний раз редактировалось Василий Кашуба; 30.07.2013 в 23:28.

  4. #14

    По умолчанию

    Ну и что мешает тупо повторить алгоритм на CoDeSys?

  5. #15
    Пользователь Аватар для Василий Кашуба
    Регистрация
    20.11.2011
    Адрес
    Ставрополь
    Сообщений
    2,493

    По умолчанию

    Цитата Сообщение от Алексей Дмитриев Посмотреть сообщение
    Ну и что мешает тупо повторить алгоритм на CoDeSys?
    В СТ не силён.

  6. #16
    Пользователь
    Регистрация
    19.11.2011
    Адрес
    г. Белгород
    Сообщений
    357

    По умолчанию

    Написал в виде функционального блока. Программа работает для въезда машин. Для выезда немного не доделал. Там есть коментарии, думаю разберетесь. Есть простенькая визуализация.
    Вложения Вложения
    • Тип файла: pro 1.pro (35.5 Кб, Просмотров: 14)

  7. #17
    Пользователь Аватар для Василий Кашуба
    Регистрация
    20.11.2011
    Адрес
    Ставрополь
    Сообщений
    2,493

    По умолчанию

    Цитата Сообщение от Василий Кашуба Посмотреть сообщение
    Программа для ПР114 готова, проверял на эмуляторе. Для моего варианта нужны четыре сдвоенных фото датчика или восемь одинарных.
    Пример выложил в "Области применения ПР114" http://www.owen.ru/forum/showthread....l=1#post115839

  8. #18

    По умолчанию

    Цитата Сообщение от Василий Кашуба Посмотреть сообщение
    В СТ не силён.
    Не надо на ST, для этого в CoDeSys есть FBD или прямой его аналог - LD.
    Зачем чисто булевский алгоритм описывать на ST. Не предназначен этот язык для таких целей.

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

    По умолчанию

    ST среди МЭК языков программирования это как Русский язык , Великий и могучий . И предназначен он (ST) для всего .
    Потуги на FBD,LD и прочем просто смешны...
    Стартер на ST работает , а его на FBD , LD совращают , он просил "Направить в нужное русло" , так не направляйте не туда , еще ПРка эта , туды её в качель.
    Последний раз редактировалось Sergey666; 31.07.2013 в 09:54.

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

    По умолчанию

    Короче - нужно с начала.
    Был большой огненный шар и такая схема ?

Страница 2 из 4 ПерваяПервая 1234 ПоследняяПоследняя

Похожие темы

  1. Ответов: 7
    Последнее сообщение: 27.02.2013, 19:08
  2. Ответов: 2
    Последнее сообщение: 07.03.2012, 13:17
  3. Ответов: 3
    Последнее сообщение: 30.09.2010, 22:30
  4. как выбрать управление "прямое" или "обратное"
    от maxmore в разделе Эксплуатация
    Ответов: 1
    Последнее сообщение: 18.01.2010, 10:13

Ваши права

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