cpu13.ru - форум OMRON
http://cpu13.ru/

Преход к концу секции програмы
http://cpu13.ru/viewtopic.php?f=10&t=606
Страница 1 из 1

Автор:  alexk2 [ Пн сен 14, 2009 14:44 ]
Заголовок сообщения:  Преход к концу секции програмы

Здравствуйте. Продолжаю осваивать OMRON. Помогите советом!!!
Программа разбита на 5 секций (в Section1 будет 50 условных переходов по CONDITIONAL JUMP).

Section1
Section2
Section3
Section4
Section5
End

Section1:
LD I:0.0
CJP(510) #1
если на входе 0.0 нет лог.1 то необходимо уйти в конец Section1, но не к END всей программы
LD I:0.1
CJP(510) #2
если на входе 0.1 нет лог.1 то необходимо уйти в конец Section2 секции, но не к END всей программы
JME(005) #1
LD I:0.0
OUT Q:4.0
JME(005) #2
LD I:0.1
OUT Q:4.1

Какой командой уйти сразу в конец Section1 если не выполняется условие по CJP(510) (у меня условий CJP(510) будет много: от #1 до #50).

Автор:  Олег [ Пн сен 14, 2009 15:16 ]
Заголовок сообщения:  Re: Преход к концу секции програмы

Никакой, если там только тоже не поставить метку JME, секции условное деление проги на куски только для того чтобы мы могли быстрее и удобнее ориентироваться в том что наваяли.

чтобы разбить прогу на управляемые части используй подпрограммы и таски. таск не сильно отличается от подпрограммы. Таски в отличие от подпрограм не вызывают в какой-то точке, а включают или выключают во время выполнения выполнения программы.
есть ещё отличия.
Для "Ветвистой" проги прыжки по моему никак не подходят, их основное назначение пропустить кусок кода, а не переходы по программе.

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

Автор:  Andy [ Пн сен 14, 2009 16:20 ]
Заголовок сообщения:  Re: Преход к концу секции програмы

Еще стоит посмотреть как работают инструкции INTERLOCK и INTERLOCK CLEAR.
Да, и в обще весь раздел Sequence Control Instructions в доках W394 и W340 полистать полезно будет.

Автор:  alexk2 [ Пн сен 14, 2009 16:21 ]
Заголовок сообщения:  Re: Преход к концу секции програмы

Большое спасибо. Буду пробовать.

Автор:  alexk2 [ Пн сен 14, 2009 16:46 ]
Заголовок сообщения:  Re: Преход к концу секции програмы

А если после каждой инструкции CJP(510) #1...50
ниже написать CJP(510) #51, а в конце секции поставить JME(005) #51?
Получится (можно ли много раз использовать один и тот же номер CJP(510) #51)?

Автор:  Олег [ Пн сен 14, 2009 17:24 ]
Заголовок сообщения:  Re: Преход к концу секции програмы

можно, только в проге которую напишешь, сам-же потом и заблудишься.

Автор:  I1 [ Пн сен 14, 2009 19:59 ]
Заголовок сообщения:  Re: Преход к концу секции програмы

Для многократного вызова подпрограммы используется функция перехода к подппрограмме SBS(091). Подпрограммы пишутся в конце секции перед END и выделяются в начале SBN(092) И RET(093) в конце.
Могу выложить примерчик...

Страница 1 из 1 Часовой пояс: UTC + 3 часа (Russia: MSK)
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/