Здравствуйте, уважаемые коллеги! Использую CPU 1215C DC/DC/Rly, TP1200 Comfort. Необходимо после нажатия кнопки Estop организовать последовательный останов насосов. Вход на CPU I0. 0 сконфигурирован на вызов OB40 по нижнему фронту. Возможность работать с железом есть. При запуске программы в онлайн, нажатие Estop запускает OB40, но нижеприведенный алгоритм не работает.
Пожалуйста, подскажите, что делаю не так?
- Обязательно представиться на русском языке кириллицей (заполнить поле "Имя").
- Фиктивные имена мы не приветствуем. Ивановых и Пупкиных здесь уже достаточно.
- Не надо писать свой вопрос в первую попавшуюся тему - всегда лучше создать новую тему.
- За поиск, предложение и обсуждение пиратского ПО и средств взлома - бан без предупреждения. Непонятно? - Читать здесь.
- Рекламу и частные объявления "куплю/продам/есть халтура" мы не размещаем ни на каких условиях.
- Перед тем как что-то написать - читать здесь, а затем здесь и здесь.
- Не надо писать в ЛС администраторам свои технические вопросы. Администраторы форума отлично знают как работает форум, а не все-все контроллеры, о которых тут пишут.
Hardware interrupt, как Estop, s7-1200
Модератор: Глоб.модераторы
-
- здесь недавно
- Сообщения: 8
- Зарегистрирован: 03 июл 2021, 20:16
- Имя: Василий
- Страна: Россия
- город/регион: Voronezh
- Благодарил (а): 5 раз
Hardware interrupt, как Estop, s7-1200
У вас нет необходимых прав для просмотра вложений в этом сообщении.
-
- авторитет
- Сообщения: 802
- Зарегистрирован: 12 авг 2008, 11:05
- Имя: Патрушев Олег Валерьевич
- Страна: Россия
- город/регион: г. Н.Новгород
- Благодарил (а): 110 раз
- Поблагодарили: 158 раз
Hardware interrupt, как Estop, s7-1200
А что конкретно не работает? Вы понимаете, что область %i это не непосредственно вход, а лишь область в памяти? Она обновлена при вызове OB40?
-
- не первый раз у нас
- Сообщения: 325
- Зарегистрирован: 17 июн 2016, 14:18
- Имя: Максим
- Благодарил (а): 7 раз
- Поблагодарили: 118 раз
Hardware interrupt, как Estop, s7-1200
Добрый день.
А зачем так заморачиваться с аппаратными прерываниями и вызовом OB40?
Почему не сделать все в OB1? У Вас в программе присутствуют условия, которые вряд-ли выполнятся за один вызов программы, а при срабатывании прерывания по I 0.0, у Вас OB40 как раз только один раз и вызовется.
А зачем так заморачиваться с аппаратными прерываниями и вызовом OB40?
Почему не сделать все в OB1? У Вас в программе присутствуют условия, которые вряд-ли выполнятся за один вызов программы, а при срабатывании прерывания по I 0.0, у Вас OB40 как раз только один раз и вызовется.
-
- авторитет
- Сообщения: 865
- Зарегистрирован: 16 ноя 2016, 11:33
- Имя: Максим Владимирович
- Страна: Россия
- город/регион: Магнитогорск
- Благодарил (а): 16 раз
- Поблагодарили: 223 раза
Hardware interrupt, как Estop, s7-1200
Так-то у блоков прерываний есть свои особенности, выше правильно SMax подсказал, что OB40 один раз запускается в общем случае при появлении прерывания.
И как вы через OB40 собрались "последовательный останов" делать? Если его делать, то в OB40 обычно взводится какой-то бит, который дальше уже в циклической части запускает эту самую последовательность, по завершении которой сбрасывается в ноль.
На SIOS много есть тем про OB40, его взаимодействие с OB1 и т.д., посмотрите там:
https://support.industry.siemens.com/fo ... upt/202592
И как вы через OB40 собрались "последовательный останов" делать? Если его делать, то в OB40 обычно взводится какой-то бит, который дальше уже в циклической части запускает эту самую последовательность, по завершении которой сбрасывается в ноль.
На SIOS много есть тем про OB40, его взаимодействие с OB1 и т.д., посмотрите там:
https://support.industry.siemens.com/fo ... upt/202592
-
- здесь недавно
- Сообщения: 8
- Зарегистрирован: 03 июл 2021, 20:16
- Имя: Василий
- Страна: Россия
- город/регион: Voronezh
- Благодарил (а): 5 раз
Hardware interrupt, как Estop, s7-1200
POV,
Не выполнялся указанный алгоритм в OB40, и да, как подсказали мои старшие коллеги - НЕ нужно загромаждать этот блок. Сейчас программа выглядит т.о : во вложении ниже.
SMax,
Добрый день! Решили так "обезопасить себя" , чтоб Останов производился уж наверняка, привязав I 0.0 к OB40.
Parliament74,
Надеюсь, я Вас понял, потому что ЭТО заработало!
Не выполнялся указанный алгоритм в OB40, и да, как подсказали мои старшие коллеги - НЕ нужно загромаждать этот блок. Сейчас программа выглядит т.о : во вложении ниже.
SMax,
Добрый день! Решили так "обезопасить себя" , чтоб Останов производился уж наверняка, привязав I 0.0 к OB40.
Parliament74,
Надеюсь, я Вас понял, потому что ЭТО заработало!
У вас нет необходимых прав для просмотра вложений в этом сообщении.