Страница 184 из 1044 ПерваяПервая ... 84134174182183184185186194234284684 ... ПоследняяПоследняя
Показано с 1,831 по 1,840 из 10436

Тема: ВОПРОС-ОТВЕТ (отвечаем на простые вопросы от новичков)

  1. #1831

    По умолчанию

    Вроде написано по русски, но ни чего не понятно
    Попробую по - другому описать проблему)
    Мне нужно сравнить значение модуля ввода, при включении 1 и 2 входа ПЛК.

  2. #1832

    По умолчанию

    Возможно ли задержать выполнение программы на ПЛК?
    Т.е. некий аналог фукции Sleep, чтобы программа остановила свое выполнение и через, например 50 мс, продолжила с того же места. Есть таймеры, но они, насколько я понимаю, выполнение программы не прерывают.
    Поясню для чего это нужно, допустим пришла команда по сети сменить направление вращения движка, для ПЛК это значит выключить один дискретный выход и включить другой. без задержки эти действия выполнять нельзя. Можно, конечно, сделать это на таймерах, но функция sleep была бы удобнее

  3. #1833

    По умолчанию

    Не изобретайте велосипед, это неправильный подход. Программа в контроллере должна работать постоянно, это основа безопасности. То, что вам нужно, без труда делается на таймерах.

  4. #1834
    Пользователь Аватар для petera
    Регистрация
    06.05.2011
    Адрес
    Минск
    Сообщений
    3,841

    По умолчанию

    Цитата Сообщение от kost2 Посмотреть сообщение
    Поясню для чего это нужно, допустим пришла команда по сети сменить направление вращения движка, для ПЛК это значит выключить один дискретный выход и включить другой. без задержки эти действия выполнять нельзя. Можно, конечно, сделать это на таймерах, но функция sleep была бы удобнее
    При управлении исполнительными механизмами с тремя состояниями (Открыть-Откл-Закрыть; Влево-Откл-Вправо...) проще всего использовать программу или ф.блок на языке SFC. Т.к очень просто реализуется блокировка одновременного включения управляющих выходов, если присутствуют оба сигнала управления Откр и Закр.

    И кроме того в этой простейшей программе автоматически обеспечивается задержка между изменениями состояния выходов ПЛК равная одному циклу без каких-либо дополнительных ухищрений
    Если состояния входов Откр=1, Закр=0 одновременно изменится на Откр=0, Закр=1, то выход Откр станет равным 0 в текущем цикле, а выход Закр включится только в следующем цикле.
    Продлить задержку между переключениями выходов на время больше, чем время одного цикла тоже очень просто, без дополнительных таймеров
    Мой канал на ютубе
    https://www.youtube.com/c/ПетрАртюков
    Библиотека ГМ для СП300
    https://disk.yandex.com/d/gHLMhLi8x1_HBg

  5. #1835
    Пользователь
    Регистрация
    19.11.2011
    Адрес
    г. Белгород
    Сообщений
    357

    По умолчанию

    Цитата Сообщение от myles Посмотреть сообщение
    Попробую по - другому описать проблему)
    Мне нужно сравнить значение модуля ввода, при включении 1 и 2 входа ПЛК.
    В конфигурации дайте имена входам, например in1 и in2.

    В программе:

    IF in1 AND in2 THEN
    <сравниваем что нужно>
    END_IF

    Это если нужно что-то сравнить при включенных входах in1 и in2. Тип входов BOOL.

  6. #1836

    По умолчанию

    В конфигурации дайте имена входам, например in1 и in2.

    В программе:

    IF in1 AND in2 THEN
    <сравниваем что нужно>
    END_IF

    Это если нужно что-то сравнить при включенных входах in1 и in2. Тип входов BOOL.
    Немного не так. У меня один тип входов BOOL, это входы на контроллере, а второе значение - это значение с модуля ввода, оно REAL. Обозвал это значение например izm. Так вот, можно - ли объединить в одну переменную izm и in1, а в другую переменную izm и in2. А потом сравнивать значения?

  7. #1837
    Пользователь
    Регистрация
    19.11.2011
    Адрес
    г. Белгород
    Сообщений
    357

    По умолчанию

    Цитата Сообщение от myles Посмотреть сообщение
    Немного не так. У меня один тип входов BOOL, это входы на контроллере, а второе значение - это значение с модуля ввода, оно REAL. Обозвал это значение например izm. Так вот, можно - ли объединить в одну переменную izm и in1, а в другую переменную izm и in2. А потом сравнивать значения?
    Что-то Вы мудрите. Зачем объединять? Почему нельзя просто сравнить значения с модуля? Приведите пример, чего хотите добиться в результате. А то не понятно, что дано, с чем сравнивать, и что в итоге должно получиться?

  8. #1838

    По умолчанию

    Здравствуйте, я новичок, у меня 2 вопроса 1) как на языке ST сделать авто подхват кнопки (кнопку нажал пришла единица и она осталась, а кнопка отошла) и 2) написал программу на SFC упрощенном -первый цикл проходит в конце выставляю все значения в начальные, на 2 цикле программа будто цикла не замечает летает по кругу (специально на условиях переключения останавливал - в тело ШАГА она не заходит а сразу на условие перехода) хотя я может не правильно её понял?

  9. #1839
    Пользователь
    Регистрация
    19.11.2011
    Адрес
    г. Белгород
    Сообщений
    357

    По умолчанию

    Цитата Сообщение от Hafizov G Посмотреть сообщение
    Здравствуйте, я новичок, у меня 2 вопроса 1) как на языке ST сделать авто подхват кнопки (кнопку нажал пришла единица и она осталась, а кнопка отошла)
    По первому вопросу:

    VAR
    RS1: RS;
    in1: BOOL; (*кнопка включения*)
    off: BOOL; (*кнопка оключения*)
    q1: BOOL; (*сигнал на выходе*)
    END_VAR

    RS1(SET:=in1 , RESET1:=off , Q1=>q1 );

  10. #1840

    По умолчанию

    Спасибо Amn, а нет идей по по воду 2 -го вопроса - там проблема после прохождения первого цикла счетчик не сбрасывается (CTU) через Reset. Не знаешь его принудительно как нибудь сбросить можно?

Страница 184 из 1044 ПерваяПервая ... 84134174182183184185186194234284684 ... ПоследняяПоследняя

Метки этой темы

Ваши права

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