Страница 175 из 322 ПерваяПервая ... 75125165173174175176177185225275 ... ПоследняяПоследняя
Показано с 1,741 по 1,750 из 3217

Тема: CODESYS V3.5. Вопросы и ответы

  1. #1741

    По умолчанию

    Цитата Сообщение от Зинько Владислав Посмотреть сообщение
    Добрый день.

    Если я правильно Вас понял, то в библиотеке Standard.lib есть детекторы импульсов (триггеры) R_TRIG - детектор переднего фронта импульса и F_TRIG - детектор заднего фронта импульса.

    В Вашем случае может сработать за один цикл контроллера больше одного дискретного входа?
    Если нет, то код проверки будет выглядеть примерно так:
    1. Объявление переменных
    Код:
    var_input
        xIsFirstInputLocked             : BOOL;      // Признак того, что первый вход сработал
        xIsSecondInputLocked         : BOOL;      // Признак того, что второй вход сработал
        xIsThirdInputLocked            : BOOL;      // Признак того, что третий вход сработал
    end_var
    
    var_output
        m_uiFirstWorkedInput          : UINT;       // Номер выхода, который замкнулся первым
    end_var
    
    var
        m_fb_FirstInputDetector      : R_TRIG;   // Детектор переднего фронта 1-го входа
        m_fb_SecondInputDetector  : R_TRIG;   // Детектор переднего фронта 2-го входа
        m_fb_ThirdInputDetector     : R_TRIG;   // Детектор переднего фронта 3-го входа
    end_var
    2. ФБ по определению первого сработанного входа (к примеру ФБ - DiscretInputsDetector);

    Код:
    m_fb_FirstInputDetector (IN := xIsFirstInputLocked);
    m_fb_SecondInputDetector (IN := xIsSecondInputLocked);
    m_fb_ThirdInputDetector (IN := xIsThirdInputLocked);       
    
    if m_fb_FirstInputDetector.Q then
        m_uiFirstWorkedInput := 1;
    elsif m_fb_SecondInputDetector.Q then
        m_uiFirstWorkedInput := 2;     
    elsif m_fb_SecondInputDetector.Q then
        m_uiFirstWorkedInput := 3; 
    else 
        m_uiFirstWorkedInput := 0;
    end_if
    Но такой подход сработает только если у Вас одновременно не могут замкнуться два входа.
    Т.к. при замыкании входа с более низким порядковым номером, входы с более высоким номером уже будут игнорироваться.
    Примерно такую логику я сейчас и начинаю реализовывать, но блокирую входы других тригеров при появлении сигналов. Но столкнулся с такой проблемой.

    1. Создал POU (FB) (переименовал в "AI_TIR")" в котором описал входы (сигнализацию HiHi, Hi, LoLo, Lo: BOOL и выходы.
    2. В PLC_PRG создал копию моего FB A1: AI_TIR;
    3. Создал POU (переименовал в "TriggerD") на языке ST.
    4. Добавил в MainTask мой новый POU Trigger
    5. Теперь написании когда на ST в POU Trigger выходит ошибка
    Пытаюсь сделать такое
    VAr_In: PLC_PRG.A1.HiHi

    Компилятор пишет неизветсный тип PLC_PRG.A1.HiHi
    Я же обьявил его в главном PLC_PRG

  2. #1742

    По умолчанию

    Цитата Сообщение от RV9WFJ Посмотреть сообщение
    Вероятно речь про представление числа в текстовой форме так как иначе оно вроде как смысла не имеет. Если до то BYTE_TO_STRINGH и тому подобные из OSCAT.lib
    Спасибо! Именно то, что надо!

  3. #1743

    По умолчанию

    СПК107 модернизированный с Ethernet. Контроллер подключен к сети, через роутер с динамической сим-картой. По сути имеет доступ в интернет.
    Существует ли возможность отправки e-mail сообщений при возникновении события? Например через SMTP
    С уважением,
    Лапшин Вячеслав

  4. #1744
    Супер Модератор Аватар для Евгений Кислов
    Регистрация
    27.01.2015
    Адрес
    Москва
    Сообщений
    6,810

    По умолчанию

    Цитата Сообщение от krollcbas Посмотреть сообщение
    СПК107 модернизированный с Ethernet. Контроллер подключен к сети, через роутер с динамической сим-картой. По сути имеет доступ в интернет.
    Существует ли возможность отправки e-mail сообщений при возникновении события? Например через SMTP
    На релизной прошивке такая возможность будет - в ней поддержана cURL.
    В рамках бета-теста этот функционал еще не был доступен.

  5. #1745

    По умолчанию

    Добрый день!
    Установил Codesys 3.5, таргет для СПК-105, библиотеки c этой страницы https://www.owen.ru/product/codesys_v3.
    Возникает большое количество ошибок - см. скрин.

    В чем может быть проблема?
    Заранее спасибо.Снимок.JPG

  6. #1746
    Пользователь Аватар для Пьер
    Регистрация
    26.01.2011
    Адрес
    Земля
    Сообщений
    498

    По умолчанию

    Цитата Сообщение от Vcar75 Посмотреть сообщение
    Добрый день!
    Установил Codesys 3.5, таргет для СПК-105, библиотеки c этой страницы https://www.owen.ru/product/codesys_v3.
    Возникает большое количество ошибок - см. скрин.

    В чем может быть проблема?
    Заранее спасибо.Снимок.JPG
    репозиторий библиотек надо установить
    Не зная броду, не суйся в воду. (Пословица.)
    Век живи, век учись(а умрешь дураком).
    Опыт растет прямо пропорционально выведенному из строя оборудованию.

  7. #1747

    По умолчанию

    Подскажите каким образом возможно сделать побитовое И ? ( и прочие битовые операции).
    Есть значение типа UINT (или BYTE) хочу проверить выставлен ли определенный бит.
    Пытался выполнить следующим образом (сдвигаю бит в крайне правое положение и выполняю побитовое И...0b00000001):
    IF (SHR (переменная, сдвиг) & 1) = 1 THEN .....
    yно на сколько я понял ST не позволяет выполнить данную операцию.

  8. #1748

    По умолчанию

    Цитата Сообщение от shamilnizaev@mail.ru Посмотреть сообщение
    Подскажите каким образом возможно сделать побитовое И ? ( и прочие битовые операции).
    Есть значение типа UINT (или BYTE) хочу проверить выставлен ли определенный бит.
    Пытался выполнить следующим образом (сдвигаю бит в крайне правое положение и выполняю побитовое И...0b00000001):
    IF (SHR (переменная, сдвиг) & 1) = 1 THEN .....
    yно на сколько я понял ST не позволяет выполнить данную операцию.
    Вы можете обращаться к битам целочисленных переменных через точку. Например указав byVar.3 вы обращаетесь к биту №4 ( т.к. нумерация битов происходит с нуля ) переменной byVar типа BYTE.
    Вашу задачу на ST можно реализовать следующим образом:

    PROGRAM PLC_PRG
    VAR
    byVar : BYTE ;
    END_VAR
    __________________________________________________ _________________________

    IF byVar.0 THEN
    //действие, которое необходимо выполнить, если нулевой бит переменной byVar = 1
    ELSE
    //действие, которое необходимо выполнить, если нулевой бит переменной byVar = 0
    END_IF
    С уважением, Коськовецкий Владислав.
    Инженер группы технической поддержки компании "ОВЕН"

  9. #1749

    По умолчанию

    Цитата Сообщение от Коськовецкий Владислав Посмотреть сообщение
    Вы можете обращаться к битам целочисленных переменных через точку. Например указав byVar.3 вы обращаетесь к биту №4 ( т.к. нумерация битов происходит с нуля ) переменной byVar типа BYTE.
    Вашу задачу на ST можно реализовать следующим образом:

    PROGRAM PLC_PRG
    VAR
    byVar : BYTE ;
    END_VAR
    __________________________________________________ _________________________

    IF byVar.0 THEN
    //действие, которое необходимо выполнить, если нулевой бит переменной byVar = 1
    ELSE
    //действие, которое необходимо выполнить, если нулевой бит переменной byVar = 0
    END_IF
    По битно работает (когда необходимо указывать конкретный бит 0,1,2,3....) а если вот так byVar.J то не работает.

  10. #1750
    Супер Модератор Аватар для Евгений Кислов
    Регистрация
    27.01.2015
    Адрес
    Москва
    Сообщений
    6,810

    По умолчанию

    Цитата Сообщение от shamilnizaev@mail.ru Посмотреть сообщение
    По битно работает (когда необходимо указывать конкретный бит 0,1,2,3....) а если вот так byVar.J то не работает.
    Cм. библиотеку UTIL, функции EXTRACT/PUTBIT (считать бит номер N/записать бит номер N).

Страница 175 из 322 ПерваяПервая ... 75125165173174175176177185225275 ... ПоследняяПоследняя

Похожие темы

  1. Панели оператора СП3xx. Вопросы и ответы
    от Мурат Ахриев в разделе Панели оператора (HMI)
    Ответов: 2104
    Последнее сообщение: 12.06.2021, 22:03
  2. Панели оператора ИП320. Вопросы и ответы
    от automat в разделе Панели оператора (HMI)
    Ответов: 627
    Последнее сообщение: 01.06.2021, 19:16
  3. ИПП120. Вопросы и ответы
    от Р.Александр в разделе Программируемые реле
    Ответов: 218
    Последнее сообщение: 25.05.2021, 19:55
  4. Индикатор ИП120 , вопросы- ответы
    от rovki в разделе Программируемые реле
    Ответов: 56
    Последнее сообщение: 03.11.2017, 15:58
  5. Панели оператора СП270. Вопросы и ответы
    от Давидюк в разделе Панели оператора (HMI)
    Ответов: 930
    Последнее сообщение: 15.05.2017, 17:12

Ваши права

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