Воскресенье, 02.02.2025, 06:16
Приветствую Вас Гость | RSS
Главная | GT: Больше | Регистрация | Вход
Меню сайта
Форма входа
Поиск
Календарь
«  Февраль 2025  »
ПнВтСрЧтПтСбВс
     12
3456789
10111213141516
17181920212223
2425262728
Архив записей
Друзья сайта
  • Официальный блог
  • Сообщество 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 © 2025