Доброго времени суток всем.
Вопрос следующий. Пишу в simatic manager программу на 300-ый контроллер.
Столкнулся с таким вопросом.
Программа разбита 2 функции FC, можно ли сделать как-то, чтобы когда я вызывал FC#1 RLO в FC#2 обнулялось, и соответственно наоборот, когда работает FC#2 RLO в FC#1 так же обнуляется. То есть суть в том, чтобы сначала работала FC1 потом FC2 потом снова FC1 и так циклом.
Заранее благодарю за помощь!
- Обязательно представиться на русском языке кириллицей (заполнить поле "Имя").
- Фиктивные имена мы не приветствуем. Ивановых и Пупкиных здесь уже достаточно.
- Не писать свой вопрос в первую попавшуюся тему - вместо этого создать новую тему.
- За поиск, предложение и обсуждение пиратского ПО и средств взлома - бан без предупреждения.
- Рекламу и частные объявления "куплю/продам/есть халтура" мы не размещаем ни на каких условиях.
- Перед тем как что-то написать - читать здесь и здесь, а студентам - обязательно здесь.
- Не надо писать в ЛС администраторам свои технические вопросы. Администраторы форума отлично знают как работает форум, а не все-все контроллеры, о которых тут пишут.
Вопрос по вызовам FC и обнулению RLO
-
- здесь недавно
- Сообщения: 3
- Зарегистрирован: 06 июн 2019, 20:43
- Имя: Александр
- Страна: Россия
- город/регион: Ростов-на-Дону
-
- не первый раз у нас
- Сообщения: 343
- Зарегистрирован: 12 дек 2018, 14:47
- Имя: Влад
- Благодарил (а): 1 раз
- Поблагодарили: 44 раза
Вопрос по вызовам FC и обнулению RLO
Включайте и выключайте функции в OB1 как вам надо. Или я что не понял.
-
- администратор
- Сообщения: 4738
- Зарегистрирован: 25 июл 2008, 07:12
- Имя: Диев Александр Васильевич
- Страна: Россия
- город/регион: г. Сегежа, Карелия
- Благодарил (а): 225 раз
- Поблагодарили: 396 раз
Вопрос по вызовам FC и обнулению RLO
Вообще говоря, функции и так выполняются не одновременно, а последовательно. В порядке, определённом, к примеру, в OB1 (есть и другие варианты - к примеру, вызов в прерывании OB35). И не надо с RLO колдовать.
Повторное использование кода не отменяет повторного использования мозга при его повторном использовании.
-
- здесь недавно
- Сообщения: 3
- Зарегистрирован: 06 июн 2019, 20:43
- Имя: Александр
- Страна: Россия
- город/регион: Ростов-на-Дону
Вопрос по вызовам FC и обнулению RLO
v0v, вы про команду CC (вызов функции по условию) в OB1 ? Я правильно понял?
Отправлено спустя 10 минут 4 секунды:
VADR, с прерываниями пока темный лес, прям в OB 35 нужную функцию вызвать?
Отправлено спустя 10 минут 4 секунды:
VADR, с прерываниями пока темный лес, прям в OB 35 нужную функцию вызвать?
-
- не первый раз у нас
- Сообщения: 343
- Зарегистрирован: 12 дек 2018, 14:47
- Имя: Влад
- Благодарил (а): 1 раз
- Поблагодарили: 44 раза
Вопрос по вызовам FC и обнулению RLO
Нет я имел ввиду просто включение или выключение функции (например по меркеру).
A M 0.0
JNB _001
CALL FC 3
_001: NOP 0
На счет прерываний это вам скорей всего не нужно, там большая частота переключений.
A M 0.0
JNB _001
CALL FC 3
_001: NOP 0
На счет прерываний это вам скорей всего не нужно, там большая частота переключений.
-
- администратор
- Сообщения: 4738
- Зарегистрирован: 25 июл 2008, 07:12
- Имя: Диев Александр Васильевич
- Страна: Россия
- город/регион: г. Сегежа, Карелия
- Благодарил (а): 225 раз
- Поблагодарили: 396 раз
Вопрос по вызовам FC и обнулению RLO
С этим пока не заморачивайтесь. Для начала - определитесь с задачей. Что значит "чтобы сначала работала FC1 потом FC2 потом снова FC1 и так циклом"? OB1 и так вызывается циклично. Всё, что в нём прописано - выполняется в заданном порядке раз за разом. То есть - если в OB1 прописать вызов сначала FC1, потом - FC2, то они так и будут выполняться. Или надо что-то другое?
Повторное использование кода не отменяет повторного использования мозга при его повторном использовании.