Показано с 1 по 10 из 11

Тема: сравнение в Ld

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1
    Пользователь
    Регистрация
    10.01.2007
    Адрес
    Красноярск
    Сообщений
    138

    По умолчанию

    Правым скорее означает, что блок сравнения в LD CoDeSys может быть только выходной инстукцией как -( )- или -(S)-.
    В реализации LD других производителей часто встречаются инструкции сравнения как входные инструкции, т.е. возможна ,например, такая запись

    -| |--|/|--[A>B]--| |------------------(S)-

    Удобно, в LD CoDeSys приходится же прибегать к дополнительным промежуточным переменным

  2. #2

    По умолчанию

    Цитата Сообщение от SergeyNG Посмотреть сообщение
    Правым скорее означает, что блок сравнения в LD CoDeSys может быть только выходной инстукцией как -( )- или -(S)-.
    В реализации LD других производителей часто встречаются инструкции сравнения как входные инструкции, т.е. возможна ,например, такая запись

    -| |--|/|--[A>B]--| |------------------(S)-

    Удобно, в LD CoDeSys приходится же прибегать к дополнительным промежуточным переменным
    Да. Совершенно верно.

  3. #3

    По умолчанию

    А в этих программах сколько языков программирования? Случайно не два?

    В любом случае - будем считать это особенностью CoDeSys. Во всем есть свои плюсы и минусы

  4. #4
    Пользователь
    Регистрация
    10.01.2007
    Адрес
    Красноярск
    Сообщений
    138

    Thumbs up

    Цитата Сообщение от Николаев Андрей Посмотреть сообщение
    А в этих программах сколько языков программирования? Случайно не два?

    В любом случае - будем считать это особенностью CoDeSys. Во всем есть свои плюсы и минусы
    В каких два, в каких один, а при чем здесь количество языков?

    Да, особенность не переделаешь!
    Но если очень хочется такую форму записи, то можно сделать свой FB. Например, FB A>B:

    FUNCTION_BLOCK FGT
    var_input
    EN: BOOL;
    IN1: INT;
    IN2: INT;
    end_var

    var_output
    Q: BOOL;
    end_var

    тело на ST:
    Q:=EN AND (IN1>IN2);
    А в основной программе на LD для всех подобных вычислений использовать только один экземпляр этого FB

  5. #5

    По умолчанию

    Ну я про стандарт и системы программирования, близкие к стандарту или далекие. Естественно на сколько это хорошо - каждый решает сам - вот Вы например примером на ST выбираете близость стандарту.

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

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •