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

Тема: Тренироваться на кошечках

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

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1
    Пользователь Аватар для drvlas
    Регистрация
    30.09.2010
    Адрес
    Киев
    Сообщений
    700

    По умолчанию

    Цитата Сообщение от rovki Посмотреть сообщение
    метод от обратного
    Шикарно. Но касательно приложенного проекта - да, был неправ.
    Попробуем так: сначала я сделаю скриншот основной программы, если получится. И выкладу его здесь. Дело в том, что SFC-язык - это такая вещь! Наглядность удивительная. Просто предлагаю глянуть на это. А потом, если Вы не откажетесь от своей идеи, я с радостью уточню ТЗ.
    Пошел терзать скриншоты

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

    По умолчанию

    Цитата Сообщение от drvlas Посмотреть сообщение
    Шикарно. Но касательно приложенного проекта - да, был неправ.
    Попробуем так: сначала я сделаю скриншот основной программы, если получится. И выкладу его здесь. Дело в том, что SFC-язык - это такая вещь! Наглядность удивительная. Просто предлагаю глянуть на это. А потом, если Вы не откажетесь от своей идеи, я с радостью уточню ТЗ.
    Пошел терзать скриншоты
    А мне скриншоты не нужны, давайте ТЗ.

  3. #3
    Пользователь Аватар для drvlas
    Регистрация
    30.09.2010
    Адрес
    Киев
    Сообщений
    700

    По умолчанию

    Цитата Сообщение от Василий Кашуба Посмотреть сообщение
    А мне скриншоты не нужны, давайте ТЗ.
    Ну, при таком ажиотаже я уж и не смею спорить. Просто готовил свой ответ, не видел, что уже и не нужно.
    ОК, но тоогда уж никаких личек, верно? Прямо тут и выкладу.

  4. #4
    Пользователь Аватар для drvlas
    Регистрация
    30.09.2010
    Адрес
    Киев
    Сообщений
    700

    По умолчанию

    Сопцтвенно, ТЗ.
    Интересно, что пока его писал, вносил некоторые изменения в программу. Вродь как не должно порушить, а даже наоборот, улучшить в мелочах. Но проверять сейчас ночью не хочу.
    Так что по результату проверки соответствия ТЗ работающему макету могуть быть мельчайшие уточнения. С утреца.
    Вложения Вложения
    • Тип файла: pdf TZ.pdf (72.1 Кб, Просмотров: 40)

  5. #5
    Пользователь Аватар для maximov2009
    Регистрация
    11.09.2012
    Адрес
    Барнаул Алтайский край
    Сообщений
    2,465

    По умолчанию

    Добрый день.
    С техзаданием стандартная напряжёнка. Если бы у нас не использовалось подобное, вообще бы ничего не понял.
    У нас стоит аппарат по фасовке творога (Таурас - феникс) латвийского производства. У него принцип дозирования один в один, что описан у Вас. Там используется весовой контроллер "ВЕСОВОЙ ИНДИКАТОР С КОНТРОЛЛЕРОМ BDI-2002".
    Вы написали не техзадание на ПР 110, а как бы уже алгоритм работы Вашей программы для контроллера. А надо просто описать порядок включения выходов ПР110 в зависимости от сигналов на дискретных входах и от внутренних переменных. Тогда можно составить программу, даже не вникая в суть процесса. А задача действительно достаточно тривиальна. Просто если действительно будете пускать в дело, тогда стоит возиться. Но тогда если исходить из практического применения, наверное лучше будет использовать ПР114 с её аналоговыми входами. Потому как измерительную балку напрямую Вы подключить к ПР110 не сможете. А городить внешний компаратор с дискретными выходами, потом цеплять его к дискретным входам ПР110, и потом это всё по отдельности настраивать. Да Вас любой заказчик потом проклянёт. В контроллере, который стоит у нас на станке измерительная балка подключается непосредственно к нему и все регулировки и настройки (доза на каждом участке, установка 0 и т.д. делается на нём).
    С уважением.
    Лучшее - враг хорошего "Le mieux est I\'ennemi du bien" (вроде как Вольтеровское)

  6. #6
    Пользователь Аватар для drvlas
    Регистрация
    30.09.2010
    Адрес
    Киев
    Сообщений
    700

    По умолчанию

    Попробую отстоять кое что.
    Цитата Сообщение от maximov2009 Посмотреть сообщение
    Вы написали не техзадание на ПР 110, а как бы уже алгоритм работы Вашей программы для контроллера. А надо просто описать порядок включения выходов ПР110 в зависимости от сигналов на дискретных входах и от внутренних переменных
    Посмотрим на таблицу фаз и обратим внимание: первый столбец - это значения внутренней переменной ФАЗА (у меня она Ph). Теперь давайте читать строки єтой таблиці так:
    при переходе внутренней переменной Ph в значение PH_INIT следует сбросить все выходы, кроме алярма. По переходу _bBttmSensor в TRUE присвоить внутренней переменной Ph значение PH_STOP
    Разве это не то, о чем Вы говорите? Ну, может форма не слишком привычна для вас, адептов ПР. Но я ее умышленно выбрал такую, как в конечных автоматах. Ибо стройность реализации мне тоже важна: это научит меня программированию ПР, так как будет прослеживаться связь с привычным программированием. Это же, кстати, гарантирует возможность внесения правок в алгоритм в будущем. Ибо, если вы накрутите формальный автомат, который да, выполняет ТЗ, но не алгоритмизирован, то как я потом буду развивать проект?

    Цитата Сообщение от maximov2009 Посмотреть сообщение
    если исходить из практического применения, наверное лучше будет использовать ПР114 с её аналоговыми входами. Потому как измерительную балку напрямую Вы подключить к ПР110 не сможете. А городить внешний компаратор с дискретными выходами, потом цеплять его к дискретным входам ПР110, и потом это всё по отдельности настраивать. Да Вас любой заказчик потом проклянёт.
    Нет, уважаемый, Вы не правы. Не потянет ни одно изделие от ОВЕН (пока еще) тех требований, которые выполняет мой тензоАЦП (вот тот самый "внешний компаратор"). Это раз. Отдельная настройка - это благо, за которое меня заказчик готов целовать, а не проклинать. Вот, отдельная процедура: написание. отладка и сопровождение программы тензоАЦП. Программа там непростая, вся работа с ней - дома. На объект попадает изделие ТКМ98.05.04, которое можно только прокалибровать, да еще выбрать парочку параметров (номер фильтра, зона стабильности). Все с ним.
    А вот изделие ПР110. Его программу вы видели. Фигнюшка. Ее и написать не сложно (я надеюсь на вас), ее и модифицировать легко. Прям на объекте и подпилили. Могу оставлять даже исходник грамотному КИПовцу, хотя мой опыт показывает, что это ой как редко сработает!
    Вот эта разделенность: огромный айсберг работы дома и масенькая верхушка на объекте - это добро, а не зло.
    А совмещенный АЦП и контроллер у нас был. Но еще в прошлом веке отказалиь. И ни разу не жалею. Поэтому вот это решеине:
    Цитата Сообщение от maximov2009 Посмотреть сообщение
    В контроллере, который стоит у нас на станке измерительная балка подключается непосредственно к нему и все регулировки и настройки ... делается на нём
    ...я не принимаю. При всем уважении, конечно.

  7. #7
    Пользователь Аватар для maximov2009
    Регистрация
    11.09.2012
    Адрес
    Барнаул Алтайский край
    Сообщений
    2,465

    По умолчанию

    Цитата Сообщение от drvlas Посмотреть сообщение
    Попробую отстоять кое что.
    При всем уважении, конечно.
    И снова здравствуйте. Сильно и доказывать ничего никто не собирался. Сколько людей, столько мнений. Хотите принимайте, хотите нет. Я просто поделился, что у нас стоит контроллер, выполняющий описываемые Вами функции.
    А согласно поставленной Вами задачи техзадание должно составляться именно так, как я написал выше. А именно реакция выходов на изменение состояния либо внешних входов, либо внутренних переменных.
    На ОВЕН ЛОЖИКЕ процесс написания программы сильно отличается от написания в КОДЕСИСЕ на языке ФБ Блоки конечно очень похожи. Он больше похож по логике на язык релейной логики в том же КОДЕСИСЕ, то есть процессы идут как бы пареллельно, главное, чтобы в нужный момент замкнулись соответствующие контакты. То есть например я с первого входа рисую подачу сигнала одновременно на несколько логических элементов и (или) функциональных блоков. И дальше мне без разницы, как программа будет их компилировать в текст и с какой задержкой они отработают на практике, для меня подача будет происходить ОДНОВРЕМЕННО. Поэтому что Вы вкладываете в понятие АЛГОРИТМИЗАЦИЯ мне не понятно, если строгую последовательность выполнения действий, то здесь это не интересно.
    Этот язык лучше понимают те, кто раньше паял подобные схемы на логических микросхемах 155, 561 и пр. Огромное сходство.
    И не обижайте КИПовцев их всё меньше. Не знаю как у Вас, а у меня в цехе многие КИПовцы уже успешно освоили программирование ПР и клепают проекты и для работы и в свободное время для своей пользы. А если Вы уж так не надеетесь на своих, то поставленная Вами задача решается на нескольких релюшках, у нас подобные релейные схемы ремонтируют электрики.
    Судя по всему Вы работаете в частном порядке по отдельным заказам, а мы обслуживаем действующее производство, у нас все в связке.
    С уважением.
    Лучшее - враг хорошего "Le mieux est I\'ennemi du bien" (вроде как Вольтеровское)

  8. #8
    Пользователь Аватар для drvlas
    Регистрация
    30.09.2010
    Адрес
    Киев
    Сообщений
    700

    По умолчанию

    Ну вот, из таких 2-х частей состоит программа. И очень кратко о ее работе
    Ну, инициализация в шаге Init- ясен пень.
    В начале петли Loop ждем разрешения работы. Фактически, опрашивается первый вход ПР, к которому прсобачен тумблер "СТОП-РАБОТА". Тумблер щелк - bRun стал активным. И каждый раз, закончив цикл дозирования, возвращаемся к этой проверке.
    Дальше... не читать... Ага! Вот. Шаг WaitBottom ждет активного сигнала от датчика днища - вход номер 6 нашего ПР. Я его пропускаю через TON (ниже показал это), чтобы после всех там дребезгов прошло полсекунды. Ну, и просто звон какой - срезать.
    Да-с, когда сигнал с выхода этого TON показывает, что днище закрыто - иду на шаг Fast, т.е. включаю быструю подачу. Жду по входу номер 3 сигнала о достижении уставки 1: Lev1_got. Как только достигли - ухожу с шага Fast, выключив режим быстрой подачи.
    А в шаге Slow включаю досыпку - и жду входа 4 с сигналом о достижении уставки 2: lev2_got. Как тллько уставка 2 достигнута - выключаю питатель и перехожу к ожиданию специальной комбинации
    SFC_part1.jpg
    Эта комбинация выглядит как логическое выражение от входов 2 и 3 ПР. На рисунке это ADC_sig. Как только получим - уходми на шаг Unld_Enable, в котором всего-то выдаем активный уровень на выход 1 (ДОЗА ГОТОВА). У реальной ПР выходов только 4, поэтому как раз этим сигналом пожертвуем...
    Ну, а потом по сигналу на входе 5 (разрешение разгрузки) открываем днище (выход 3), ждем, пока не исчезнет сигнал на входе 2 (Уровень 0) и при том пройдет не меньше полсекунды, потом просто подождем 2 секунды - да и на начало петли.
    SFC_part2.jpg
    SFC_part3.jpg

    Это не ТЗ, это просто на ловах описание работы. Жду Вашего решения.

Похожие темы

  1. Ответов: 4
    Последнее сообщение: 03.03.2017, 08:25
  2. Файловый менеджер на Delphi на основе утилиты plc_io
    от kandiral в разделе Помощь Разработчикам
    Ответов: 18
    Последнее сообщение: 09.12.2016, 14:52
  3. Ответов: 6
    Последнее сообщение: 11.05.2011, 16:19
  4. Ответов: 7
    Последнее сообщение: 26.01.2011, 07:58
  5. Ответов: 2
    Последнее сообщение: 05.09.2010, 16:27

Ваши права

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