Страница 1 из 4 123 ... ПоследняяПоследняя
Показано с 1 по 10 из 36

Тема: Имитация уменьшения/увеличения

  1. #1

    Lightbulb Имитация уменьшения/увеличения

    Всем доброго времени суток. В Codesys совсем недавно, можно сказать зеленый =), мне бы хотелось узнать имеется ли в Codesys имитация увеличения/уменьшения уровня и увеличения/уменьшения температуры (в принципе одно и тоже), в целом уменьшение/увеличение параметра.
    В Siemens (Step7 - Wincc), это реализовалась блоком имитация увеличения - INC_W, а уменьшения - DEC_W.
    Собственно вопрос, имеется ли такая же реализация в Codesys, и подскажите как реализовать если что ?.
    Цель: Имеется емкость, нужно открыть клапан и дождаться наполнения до 80% к примеру, потом открыть клапан2, и дождаться пока уровень опустится до 10%.
    В наличии имеется сама Codesys 2.3 и "Режим эмуляции". Контроллера не какого не имеется.
    Спасибо за ответ.
    P.S
    Желателен язык LD или FBD.
    Последний раз редактировалось mast_sup; 24.04.2012 в 16:19.

  2. #2
    Пользователь Аватар для rovki
    Регистрация
    03.01.2010
    Адрес
    Чехов
    Сообщений
    12,115

    По умолчанию

    В качестве имитатора используйте счетчик CTN ,на счетные входа (+-) подайте импульсы со входов или генератора .
    электронщик до мозга костей и не только

  3. #3
    Пользователь Аватар для dr_gebbels
    Регистрация
    09.02.2011
    Адрес
    г.Тюмень
    Сообщений
    90

    По умолчанию

    самый простой случай:

    в визулизации Codesys 2.3 создаете объекты визулизации==>

    1) столбчатый индикатор-будет имитировать уровень в емкости-это аналоговый сигнал
    2) кнопки вкл/выкл. обоих клапанов- это дискретные сигналы

    в свойствах этих объектов визулизации жестко привязываете переменные для переменных 1) и 2)

    и останется самая малость ==> создать зависимость (т.е. алгоритм) скорости заполнения
    емкости с момента открытия первого клапаночка,

    если этого алгоритма НЕ создавать-тогда нужно создать исчо 1 объект визулизации==>
    ползунок (вертикальный) -это будет задатчик уровня,который будет имитировать
    уровень заполнения емкости==> чтобы проверить работу ==> второго клапаночка.

    примерно так.

  4. #4

    По умолчанию

    Спасибо, все попробую, вот тут еще вопрос, как можно мой проект зациклить? ну чтобы работа происходила по кругу.

    Работа моя в Codesys 2.3
    Вложения Вложения

  5. #5

    По умолчанию

    Не один из ваших 2-х способов не удалось мне реализовать,
    rovki счетчик CTn не нашел, другие пробовал, чет не получается, ставил счетчик а как подачу импульса реализовать то? Пробовал R_TRIG и F_TRIG ставить, нечего не куда не идет, и увлечение или уменьшение не происходит.
    dr_gebbels в твоем методе вообще чет я нечего не понял, создал столбчатый индикатор, кнопки и все (( приехал..

    Опишу вообще весь процесс..
    Открывает клапан К1, контролируем уровень L, если L=L1 то да, иначе нет (в этот момент как бы происходит наполнение уровня, L1=8000), потом закрыть клапан К-1, открыть К-2 и контролировать уровень L? Если L=L2 то да, иначе нет (происходит увлечение уровня, L2=12000), далее закрыть клапан К-2, включить мешалку, открыть клапан К-3 и контролировать температуру, если T=Tзад да, иначе нет (идет увлечение температуры Tзад=2000), далее закрыть клапан К-3, установить выдержку времени, контролировать время (ну тут со временем просто все, можно и не думать). далее Отключаем мешалку, открываем К-4 и контролируем уровень L, если L=0 то да, иначе нет (тут идет уменьшение уровня). далее закрыть клапан К-4 и сбросить температуру в 0.

    Вот такой нужен в целом процесс.

  6. #6

    По умолчанию

    я вот сделал через Blink что то, но как ему ограничить? Как остановить Blink чтобы при достижении нужного числа в CTU , нарастание прекратилось.
    Изображения Изображения

  7. #7

    По умолчанию

    Цитата Сообщение от capzap Посмотреть сообщение
    ЗЫ неуспел
    если честно я на форуме, этот ролик от вас нашел =) , подскажите как прекратить рост в CTU при достижении требуемой величины ?

  8. #8

    По умолчанию

    соединяется? ) хм, ну я на языке LD попробовал конечно поставить катушку сброса, и написать (к примеру L1 (R)) L1 на Reset, но он не сбрасывает. Может можно как то Запретить блинку импульсы подавать ? и тогда набор дальше не будет идти. Притом мне как нужно то, сначала до 8000 набираем, а потом с 8000 до 12000, а как я понял CTU всегда начинает набор с нуля. Как реализовать ? или я не так понял.

  9. #9

    По умолчанию

    ( CU := blk.OUT AND flag ; )
    можно по подробнее, я малость нубоват в этой области

  10. #10

    По умолчанию

    не. не выходит, в ST работает, вставляю в цепь пишет (назвал Nabor), Nabor должен содержать ровно 0 входов.

    И еще, если делаю не в PLC_PRG, с другим названием, просто не хочет работать не в ST не в конвертированном виде.

    Имеется ли в Codesys блок подобный CTU но чтоб не с 0 начинал, а к примеру с 50 до 200, и на уменьшение также, с 200 до 50.
    Или это можно как то в CTU задать?
    Последний раз редактировалось mast_sup; 16.05.2012 в 14:38.

Страница 1 из 4 123 ... ПоследняяПоследняя

Ваши права

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