1. Обязательно представиться на русском языке кириллицей (заполнить поле "Имя").
  2. Фиктивные имена мы не приветствуем. Ивановых и Пупкиных здесь уже достаточно.
  3. Не писать свой вопрос в первую попавшуюся тему - вместо этого создать новую тему.
  4. За поиск, предложение и обсуждение пиратского ПО и средств взлома - бан без предупреждения.
  5. Рекламу и частные объявления "куплю/продам/есть халтура" мы не размещаем ни на каких условиях.
  6. Перед тем как что-то написать - читать здесь и здесь, а студентам - обязательно здесь.
  7. Не надо писать в ЛС администраторам свои технические вопросы. Администраторы форума отлично знают как работает форум, а не все-все контроллеры, о которых тут пишут.

Hardware interrupt, как Estop, s7-1200

ПЛК SIMATIC (S7-200, S7-1200, S7-300, S7-400, S7-1500, ET200)
Ответить

Автор темы
BasilClay
здесь недавно
здесь недавно
Сообщения: 8
Зарегистрирован: 03 июл 2021, 20:16
Имя: Василий
Страна: Россия
город/регион: Voronezh
Благодарил (а): 5 раз

Hardware interrupt, как Estop, s7-1200

Сообщение BasilClay »

Здравствуйте, уважаемые коллеги! Использую CPU 1215C DC/DC/Rly, TP1200 Comfort. Необходимо после нажатия кнопки Estop организовать последовательный останов насосов. Вход на CPU I0. 0 сконфигурирован на вызов OB40 по нижнему фронту. Возможность работать с железом есть. При запуске программы в онлайн, нажатие Estop запускает OB40, но нижеприведенный алгоритм не работает.
Пожалуйста, подскажите, что делаю не так?
У вас нет необходимых прав для просмотра вложений в этом сообщении.

POV
корифей
корифей
Сообщения: 768
Зарегистрирован: 12 авг 2008, 11:05
Имя: Патрушев Олег Валерьевич
Страна: Россия
город/регион: г. Н.Новгород
Благодарил (а): 105 раз
Поблагодарили: 146 раз

Hardware interrupt, как Estop, s7-1200

Сообщение POV »

А что конкретно не работает? Вы понимаете, что область %i это не непосредственно вход, а лишь область в памяти? Она обновлена при вызове OB40?

SMax
не первый раз у нас
не первый раз у нас
Сообщения: 320
Зарегистрирован: 17 июн 2016, 14:18
Имя: Максим
Благодарил (а): 7 раз
Поблагодарили: 113 раз

Hardware interrupt, как Estop, s7-1200

Сообщение SMax »

Добрый день.
А зачем так заморачиваться с аппаратными прерываниями и вызовом OB40?
Почему не сделать все в OB1? У Вас в программе присутствуют условия, которые вряд-ли выполнятся за один вызов программы, а при срабатывании прерывания по I 0.0, у Вас OB40 как раз только один раз и вызовется.

Parliament74
авторитет
авторитет
Сообщения: 814
Зарегистрирован: 16 ноя 2016, 11:33
Имя: Максим Владимирович
Страна: Россия
город/регион: Магнитогорск
Благодарил (а): 16 раз
Поблагодарили: 211 раз

Hardware interrupt, как Estop, s7-1200

Сообщение Parliament74 »

Так-то у блоков прерываний есть свои особенности, выше правильно SMax подсказал, что OB40 один раз запускается в общем случае при появлении прерывания.

И как вы через OB40 собрались "последовательный останов" делать? Если его делать, то в OB40 обычно взводится какой-то бит, который дальше уже в циклической части запускает эту самую последовательность, по завершении которой сбрасывается в ноль.
На SIOS много есть тем про OB40, его взаимодействие с OB1 и т.д., посмотрите там:
https://support.industry.siemens.com/fo ... upt/202592

Автор темы
BasilClay
здесь недавно
здесь недавно
Сообщения: 8
Зарегистрирован: 03 июл 2021, 20:16
Имя: Василий
Страна: Россия
город/регион: Voronezh
Благодарил (а): 5 раз

Hardware interrupt, как Estop, s7-1200

Сообщение BasilClay »

POV,
Не выполнялся указанный алгоритм в OB40, и да, как подсказали мои старшие коллеги - НЕ нужно загромаждать этот блок. Сейчас программа выглядит т.о : во вложении ниже.

SMax,
Добрый день! Решили так "обезопасить себя" , чтоб Останов производился уж наверняка, привязав I 0.0 к OB40.

Parliament74,
Надеюсь, я Вас понял, потому что ЭТО заработало!
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Ответить

Вернуться в «Simatic Step7»