Воскресенье, 19.05.2024, 00:37
Приветствую Вас Гость | RSS
Главная | GT: Больше | Регистрация | Вход
Меню сайта
Форма входа
Поиск
Календарь
«  Май 2024  »
ПнВтСрЧтПтСбВс
  12345
6789101112
13141516171819
20212223242526
2728293031
Архив записей
Друзья сайта
  • Официальный блог
  • Сообщество uCoz
  • FAQ по системе
  • Инструкции для uCoz
  • Статистика

    Онлайн всего: 1
    Гостей: 1
    Пользователей: 0
    Программируемые Логические Контроллеры
    GT: Больше

    Описание функции
    Функция проверяет значения последовательных входов на убывающую последовательность.
    Типы данных всех входов должны быть идентичны.
    Количество входов может быть увеличено максимум до 31.
    Когда сравниваются переменные типов данных BOOL, BYTE, WORD, DWORD, INT, DINT, UINT, UDINT, REAL, TIME, DATE, DT и TOD , значения сравниваются друг с другом.
    STRING переменные сравниваются по алфавиту; переменные в конце алфавита имеют больший приоритет, чем переменные в начале.
    EN и ENO могут быть сконфигурированы как дополнительные параметры.
     

    Для данного примера я выбрал три контакта «OPEN», «OPEN2», «OPEN3» и соответственно катушки «COIL», «COIL2», «COIL3».


    Далее «CTRL+I» вводим в поле «GT», на выходе «OUT» присвоим новое имя переменной «COIL4».


    Запускаем программу и проверяем.

    Не в одном из случаев наша катушка «COIL4» не будет работать. Почему? Есть формула, по которой работает данная функция:

    Формула
    OUT = 1, если (IN1 > IN2) & (IN2 > IN3) & .. (IN(n-1) > INn)
    Т.е. сигнал на выходе будет в том случае, когда «IN1» > «IN2» и больше «IN3». Тогда задается вопрос: если канал «IN1» имеет сигнал, а два последующих отсутствуют, тогда на выходе должен сработать «COIL4»? Ответ однозначно нет, не сработает. Потому что, условие выполняется в том случае, когда «IN2» больше «IN3», а «IN1» больше «IN2», но мы знаем, что в булевой алгебре используются только «0 и 1». Отсюда следует, что катушка «COIL4» не сработает не при каких условиях, за исключением, если вы переменной не присвоите тип «integer» или «real», но это уже другая история.

    Если разобрать буквально по частям: «IN1» =1, «IN2» =0 и «IN3» =0.

    1 и 0 - булева алгебра, присутствие и отсутствие сигналов.

    1>0>0, в математической форме условие также не удовлетворяется, отсюда видно, что 0 не может быть больше 0, поэтому функциональный блок «GT» не сработает из-за своей специфики строения блока. Создатели программы учли все, нам остается только понять, что они хотели этим сказать.

    Надеюсь, внятно объяснил. В любом случае перепроверьте все, возможно я где-то что-то упустил.
    Конструктор сайтов - uCozCopyright MyCorp © 2024