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/ |