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

Тема: Выбор выполняемой программы в ПЛК

  1. #1

    Question Выбор выполняемой программы в ПЛК

    Суть вопроса в следующем.
    Имеется несколько разных программ для ПЛК 150 (в районе 10-15), они уже написаны. Хотелось бы иметь возможность залить их все в контроллер, а выбор той, которая будет выполнятся, происходил в зависимости от состояния дискретных входов при загрузке.
    Исходя из того что я знаю, по простому сделать это невозможно. Т. е. нужно будет писать новую программу, объединяющую все существующие, в ней проверять состояние входов и пускать по соответствующей ветке. Однако тут куча проблем, программа получится большой и сложной, придется менять совпадающие названия POU, некоторых глобальных переменных, размерности массивов еще чего то, сразу куча всякого вылезет и времени займет немерено.
    Однако, я знаю, что очень многого не знаю про программирование ПЛК. Например, я не использовал и не совсем понимаю как использовать Task Configuration, может там чем нить поиграть можно? И, может, я не прав и есть относительно легкие способы решить данную проблему?

  2. #2

    По умолчанию

    1. Самый правильный - переписать программу с учетом данных требований. Тем более, если программы однотипны - можно создать одну, и менять только значение входов или режимов...
    2. Как Вы и писали - заводите еще одну программу. В неё вставляете Ваши подпрограммы, естественно переименовав. И пишете по условию какую из подпрограмм вызывать. Единственно - надо подумать о том, чтобы корректно заканчивать программы, чтобы перейдя в другую не оставить хвостов от предыдущей (в виде не выключенного выхода, к примеру).
    3. Task Configuration. Можно вызывать подпрограммы в зависимости от внешнего события (срабатывания дискретного входа). Но опять же надо позаботится о корректном переходе между программами.

  3. #3

    По умолчанию

    Понятно, легкого способа нет, придется перерабатывать.
    Насчет корректного перехода, то он в моем понимании и не нужен, проверку входов планирую осуществлять один раз в момент загрузки.

  4. #4

    По умолчанию

    Тогда бы я предпочел Task Manager. Все что нужно - просто переименовать программы.

  5. #5

    По умолчанию

    Подскажите плз , что делаю не так :
    ставлю галочку на событии start , даю имя start , - кнопка создать , появляется функция с именем start , в функции пишу : zummer:=1; (zummer -спец.выход) .
    ставлю галочку на событии stop , даю имя stop , - кнопка создать , появляется функция с именем stop , в функции пишу : zummer:=0;
    Предпологаю , что зуммер должен звучать когда прога в старте и не звучать когда плк в стопе . но этого не происходит ... в чем я не прав ?
    С уважением , Денис Кучеренко .
    Знание некоторых принципов - легко заменяет не знание некоторых фактов ...

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

    По умолчанию

    Цитата Сообщение от вут Посмотреть сообщение
    Подскажите плз , что делаю не так :
    ставлю галочку на событии start , даю имя start , - кнопка создать , появляется функция с именем start , в функции пишу : zummer:=1; (zummer -спец.выход) .
    ставлю галочку на событии stop , даю имя stop , - кнопка создать , появляется функция с именем stop , в функции пишу : zummer:=0;
    Предпологаю , что зуммер должен звучать когда прога в старте и не звучать когда плк в стопе . но этого не происходит ... в чем я не прав ?
    начните с простого, возьмите переменную из дискретных выходов и проследите в онлайне или визуально на самом плк загорится ли соответствующий выход, потом уже и за спецсредства переходите

  7. #7

    По умолчанию

    Цитата Сообщение от вут Посмотреть сообщение
    Предпологаю , что зуммер должен звучать когда прога в старте и не звучать когда плк в стопе . но этого не происходит ... в чем я не прав ?
    Денис, покажите, пожалуйста, проект.
    Не видя вашего творчества, трудно давать точные советы.

  8. #8

    По умолчанию


    да какое уж там творчество

    два скрина , вот и всё :
    http://clip2net.com/s/2hj4w
    http://clip2net.com/s/2hj5l
    http://clip2net.com/s/2hj5K
    http://clip2net.com/s/2hj65
    переменная zu -global , zummer -спец.выход из конфигурации плк (пищалка) .
    думал так : когда кнопочку старт-стоп на фасаде плк нажимаешь - плк должен пищать или нет ....
    Последний раз редактировалось вут; 07.09.2012 в 19:01.
    С уважением , Денис Кучеренко .
    Знание некоторых принципов - легко заменяет не знание некоторых фактов ...

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

    По умолчанию

    причем тут кнопочка, чтоб ее задействовать, надо в конфигурацию модуль буттон добавить и тогда зуммер Ваш можно использовать, а старт и стоп в задачах это работа самого плк, после включения питания

  10. #10

    По умолчанию

    Ув. capzap ! но вопрос не о использовании буттон , а о использовании задач. почему при конфигурации как на скринах бит "zu" не взводится при переходе плк в run , и не сбрасывается при стоп ?
    С уважением , Денис Кучеренко .
    Знание некоторых принципов - легко заменяет не знание некоторых фактов ...

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

Ваши права

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