Современные технологии автоматизации» («СТА») —  журнал для квалифицированных специалистов по промышленной автоматизации Форум СТА — современные технологии автоматизации Домашняя страница
Домашняя страница форума CTA Домашняя страница форума CTA > II. АСУТП и SCADA > Программное обеспечение
  Активные темы Активные темы
  FAQ FAQ  Искать в форуме   Зарегистрироваться Зарегистрироваться  Вход в систему Вход в систему

Нулевая инструкция IL в CoDeSys

 Ответить Ответить
Автор
Сообщение
CHANt Смотреть выпадающим
Участник
Участник


Присоединился: 30 Июль 2003
Online Status: Offline
Публикации: 44
Свойства публикации Свойства публикации   Ответить, цитируя автора - CHANt Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Тема сообщения: Нулевая инструкция IL в CoDeSys
    Опубликовано: 16 Июнь 2010 06:56
Знатоки, подскажите пожалуйста, в Step7 есть нулевые инструкции NOP 0 или NOP 1, BLD<>. Они используются в Step7 для переключения графического отображения языков LD, FBD. Никаких операций эта инструкция не производит.  Я обычно использую ее, чтоб завершить часть кода и продолжить дальше решать нужные мне задачи в теле FC или FB. А вот как можно это сделать в CoDeSys, для наглядности:

   AND      IN_1
   AND      IN_2
   JMPCN   Tr01
   S     OUT_1
   R      OUT_2
   JMP      End
Tr01:AND      IN_3
   AND      IN_4
   JMPCN   End
   S      OUT_2
   R      OUT_1
   JMP      End
End:           (*????*)

Инструкция RET (вариации RETC; RETCN) завершит функциональный блок (в STEP7 аналог BE), а мне нужно продолжить следующий перебор, и не важно какое значение RLO (в аккумуляторе) в результате предыдущих операций.
В Step7 завершаешь нулевой инструкцией:
End:   NOP 0

и можно продолжать дальше, а в CoDeSys?
И еще один вопрос - в Step7 есть инструкция распределенного перехода JL - есть ли аналог в CoDeSys.

Наверх
Максим Ананских Смотреть выпадающим
Действительный член
Действительный член
Аватар

Присоединился: 14 Май 2003
Online Status: Offline
Публикации: 770
Свойства публикации Свойства публикации   Ответить, цитируя автора - Максим Ананских Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 16 Июнь 2010 15:57
Скорее, это вопрос к знатокам STEP7. В Codesys аналогом NOP является пустая строка. Приведенный текст программы абсолютно корректен, если я правильно понимаю смысл вопроса. Но, вообще говоря, пользователи Codesys практически не используют LD. Зачем, если там есть ST?
Инженер-системотехник
+7 (916) 477 3925
Наверх
CHANt Смотреть выпадающим
Участник
Участник


Присоединился: 30 Июль 2003
Online Status: Offline
Публикации: 44
Свойства публикации Свойства публикации   Ответить, цитируя автора - CHANt Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 16 Июнь 2010 17:24
Первоначально опубликовано Максим Ананских

Скорее, это вопрос к знатокам STEP7. В Codesys аналогом NOP является пустая строка. Приведенный текст программы абсолютно корректен, если я правильно понимаю смысл вопроса.

Спасибо! Вопрос касался именно CoDeSys...
Первоначально опубликовано Максим Ананских

Но, вообще говоря, пользователи Codesys практически не используют LD. Зачем, если там есть ST?

Не вижу противопоказаний к применению IL и в CoDeSys.
Вторая часть вопроса касался специфичного оператора в Step7 - JL (распределенный переход)
Пример применение этого оператора в Step7:

L MW20 \\загрузить указатель, число (Integer, Word) от 0 до 255
JL  End   \\Если число в указателе больше количества переходов ниже JL, уйти на метку End
JU ST_0 \\Если в указателе 0 переход на метку ST_0
JU ST_1 \\Если в указателе 1 переход на метку ST_1
JU ST_2 \\Если в указателе 0 переход на метку ST_2
End: Err \\переход на метку Err, для обработки ошибки
Err: L 0  \\загрузить 0 в регистр
      T MW20 \\передать в область памяти по адресу MW20
JU End1        \\Завершение обработки ошибки распределенного перехода
End1: NOP 0

Ну и дальше необходимо реализовать нужный код в метках ST_0, ST_1 ит.д.
Как в нотации IL реализовать это в CoDeSys?

P.S. Долгое время работал и работаю с Step7. Очень много наработок, хотелось бы осуществить перенос некоторых решений в среду CoDeSys, может пригодится Big smile А основная часть наработанных функций выполнена в стиле конечных автоматов. Пытаюсь конвертировать шаблон STL  в шаблон IL. 


Наверх
 Ответить Ответить

Переход на форум Права доступа на форуме Смотреть выпадающим

Bulletin Board Software by Web Wiz Forums® version 9.64
Powered by Web Wiz Forums Free Express Edition
Copyright ©2001-2009 Web Wiz