Страница 215 из 220 ПерваяПервая ... 115165205213214215216217 ... ПоследняяПоследняя
Показано с 2,141 по 2,150 из 2192

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

  1. #2141

    По умолчанию

    И не пойму что делаю не такDTconcat.png

  2. #2142

  3. #2143

    По умолчанию

    Вызывается в PLC_PRG. Начал с того что присвоил переменные из узла OwenRTC, не работает, ну думаю может переменные неявно преобразовываются, хотя не должны, сделал отдельный фб, прописал в лоб, снова нулевой результат.
    Последний раз редактировалось Гурин Сергей; 27.06.2019 в 09:17.

  4. #2144

    По умолчанию

    Цитата Сообщение от Гурин Сергей Посмотреть сообщение
    Вызывается в PLC_PRG
    Скриншот вызова тогда покажите, пожалуйста.

    Upd. - в режиме симуляции ни OwenRTC, ни функция DTConcat работать не будут.
    Запускайте проект на СПК или виртуальном контроллере.

  5. #2145

    По умолчанию

    Тогда все понятно, Какие ещё библиотеки не работают в режиме эмуляции?

  6. #2146

    По умолчанию

    Цитата Сообщение от Гурин Сергей Посмотреть сообщение
    Тогда все понятно, Какие ещё библиотеки не работают в режиме эмуляции?
    Работа с файлами, сетевыми интерфейсами, внешними библиотеками, web-визуализацией...
    В целом, симуляция подходит для проверки кода, не связанного с какими-то внутренними или внешними устройствами.
    Практически всегда удобнее отлаживаться на виртуальном контроллере - см. тут:
    https://www.owen.ru/forum/showthread...l=1#post296706

  7. #2147

    По умолчанию

    CODESYS 3.5 SP11 Patch5
    на чём собрать переключатель аналоговых сигналов. SEL и MUX_R2 из OSCAT не работают.
    1.jpg2.jpg

  8. #2148

  9. #2149

    По умолчанию

    Доброго Вам суток форумчане! Кто подскажет как использовать таймеры, счетчки, блинки в методах класса! Использую псевдо-ООП при построении приложения на языке ST!

  10. #2150

    По умолчанию

    Цитата Сообщение от Umkamaks Посмотреть сообщение
    Доброго Вам суток форумчане! Кто подскажет как использовать таймеры, счетчки, блинки в методах класса! Использую псевдо-ООП при построении приложения на языке ST!
    Добрый день!
    Чтобы внести ясность, при использовании таймера невозможно "затормозить" выполнение POU, функции, метода до тех пор пока не сработает таймер.

    В остальных случаях используйте такой подход:
    1.1) В теле ФБ объявляете экземпляр таймера (счетчика, триггера и т.д.)
    Код:
    FUNCTION_BLOCK POU
    VAR
    	m_fb_Delay			: Standard.TON;
    END_VAR
    1.2) Добавляете метод:
    Код:
    (*
    Возвращает TRUE, когда истекла пауза в 30 секунд
    *)
    METHOD isDelayPassed : BOOL
    VAR_INPUT
    END_VAR
    в котором, собственно и вызываете таймер, например так:
    Код:
    m_fb_Delay.IN := TRUE;
    m_fb_Delay.PT := T#30S;
    m_fb_Delay();
    isDelayPassed := m_fb_Delay.Q;
    Вариант №2:
    2.1) Объявляете таймер (счетчик, триггер и т.д.) непосредственно в методе
    между ключевыми словами VAR_INST и END_VAR
    Код:
    (*
    Возвращает TRUE, когда истекла пауза в 30 секунд
    *)
    METHOD isDelayPassed : BOOL
    VAR_INST
    	_fb_Delay			: Standard.TON;
    END_VAR
    VAR_INST указывает, что переменная относится не к методу, а к экземпляру класса и ее значения будут сохраняться между вызовами.

    2.2) Работаете с таймером так же, как в предыдущем варианте
    Код:
    _fb_Delay.IN := TRUE;
    _fb_Delay.PT := T#30S;
    _fb_Delay();
    isDelayPassed := _fb_Delay.Q;
    Возможен еще вариант №3, в котором таймер (счетчик, триггер и т.д.) вызывается непосредственно в теле ФБ, а метод только получает доступ к переменным, например так:
    3.1) В теле ФБ объявляете экземпляр таймера (счетчика, триггера и т.д.)
    Код:
    FUNCTION_BLOCK POU
    VAR
    	m_fb_Delay			: Standard.TON;
    END_VAR
    Вызываете таймер тут же в теле:
    Код:
    m_fb_Delay.IN := TRUE;
    m_fb_Delay.PT := T#30S;
    m_fb_Delay();
    3.2) А в методе:
    Код:
    (*
    Возвращает TRUE, когда истекла пауза в 30 секунд
    *)
    METHOD isDelayPassed : BOOL
    VAR_INPUT
    END_VAR
    просто узнаете, сработал таймер или нет
    Код:
    isDelayPassed := m_fb_Delay.Q;
    Выбор конкретного варианта будет зависеть от задачи.
    Последний раз редактировалось Осинский Алексей; 02.07.2019 в 09:55.
    OSCAT.ru читать стандарты и статьи по автоматизации на русском без регистрации и СМС

Страница 215 из 220 ПерваяПервая ... 115165205213214215216217 ... ПоследняяПоследняя

Похожие темы

  1. Панели оператора ИП320. Вопросы и ответы
    от automat в разделе Панели оператора (HMI)
    Ответов: 477
    Последнее сообщение: 18.07.2019, 13:10
  2. Панели оператора СП3xx. Вопросы и ответы
    от Мурат Ахриев в разделе Панели оператора (HMI)
    Ответов: 1437
    Последнее сообщение: 08.07.2019, 06:05
  3. ИПП120. Вопросы и ответы
    от Р.Александр в разделе Программируемые реле
    Ответов: 136
    Последнее сообщение: 05.05.2019, 23:54
  4. Индикатор ИП120 , вопросы- ответы
    от rovki в разделе Программируемые реле
    Ответов: 56
    Последнее сообщение: 03.11.2017, 15:58
  5. Панели оператора СП270. Вопросы и ответы
    от Давидюк в разделе Панели оператора (HMI)
    Ответов: 930
    Последнее сообщение: 15.05.2017, 17:12

Ваши права

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