Страница 111 из 368 ПерваяПервая ... 1161101109110111112113121161211 ... ПоследняяПоследняя
Показано с 1,101 по 1,110 из 3671

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

  1. #1101

    По умолчанию

    Проверил в эмуляции - тоже не работает. Прикладываю кусок проекта в архиве. Версия SP5 Path 5

    03.02.0_for_forum.projectarchive

  2. #1102

    По умолчанию

    В InputConfiguration работают все функции,кроме OnDialogClosed. Евгений Кислов, прошу Вашей помощи. В чём ошибка? Не могу разобраться. Для проекта важно выполнять запись команды сразу после изменения переменной.

  3. #1103
    Супер Модератор Аватар для Евгений Кислов
    Регистрация
    27.01.2015
    Адрес
    Москва
    Сообщений
    7,523

    По умолчанию

    Цитата Сообщение от energvk Посмотреть сообщение
    В InputConfiguration работают все функции,кроме OnDialogClosed. Евгений Кислов, прошу Вашей помощи. В чём ошибка? Не могу разобраться. Для проекта важно выполнять запись команды сразу после изменения переменной.
    С OnDialogClosed связан один баг - соответствующий метод не работает во вложенных диалогах. Соответственно, как раз ваша ситуация - вы в своем диалоговом окне вызываете стандартный диалог ввода. Исправили в SP8.

  4. #1104

    По умолчанию

    Вот оно что! Спасибо за информацию. Придется делать костыли

  5. #1105
    Пользователь
    Регистрация
    05.11.2016
    Адрес
    Нижний Новгород
    Сообщений
    59

    По умолчанию

    В софт в CDS состоит из задач, которые выполняются в цикле, по событию и т.д. и т.п. Как создать кусок программы который будет выполняться перед запуском всех задач? Что я имею ввиду. Привык мыслить категориями программирования микроконтроллеров. Сначала выполняется код всяких разных инициализаций, настроек, потом запускается системный цикл, начинаются крутиться всякие разные прерывания или задачи (в случае RTOS). Т.е. к коду инициализации больше обращений не будет (только в случае сброса). Как нечто подобное организовать в CDS?

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

    По умолчанию

    Цитата Сообщение от Number17 Посмотреть сообщение
    В софт в CDS состоит из задач, которые выполняются в цикле, по событию и т.д. и т.п. Как создать кусок программы который будет выполняться перед запуском всех задач? Что я имею ввиду. Привык мыслить категориями программирования микроконтроллеров. Сначала выполняется код всяких разных инициализаций, настроек, потом запускается системный цикл, начинаются крутиться всякие разные прерывания или задачи (в случае RTOS). Т.е. к коду инициализации больше обращений не будет (только в случае сброса). Как нечто подобное организовать в CDS?
    Типичный пример кода, исполняемого однократно при загрузке контроллера (подразумевается, что xInit - булевская переменная, которая не перезаписывается из других фрагментов программы):

    Код:
    IF NOT(xInit) THEN
       // команды инициализации
       xInit:=TRUE;
    END_IF

  7. #1107
    Пользователь
    Регистрация
    05.11.2016
    Адрес
    Нижний Новгород
    Сообщений
    59

    По умолчанию

    Цитата Сообщение от Евгений Кислов Посмотреть сообщение
    Типичный пример кода, исполняемого однократно при загрузке контроллера (подразумевается, что xInit - булевская переменная, которая не перезаписывается из других фрагментов программы):

    Код:
    IF NOT(xInit) THEN
       // команды инициализации
       xInit:=TRUE;
    END_IF
    То есть всё равно код выполняется в составе задачи, какой то специального структурного программного блока для начальной инициализации не предусмотрено.

  8. #1108
    Супер Модератор Аватар для Евгений Кислов
    Регистрация
    27.01.2015
    Адрес
    Москва
    Сообщений
    7,523

    По умолчанию

    В данный момент - именно так. В последних версиях CDS появилась возможность обрабатывать системные события (старт проекта - одно из таких событий), но этот функционал не поддерживается на текущих прошивках СПК.

  9. #1109

    По умолчанию

    Подскажите каким образом работает задержка в 1 с.


    IF (TIMER+T#1S)<TIME() THEN
    TIMER:=TIME();
    CHASTOTA_AUTO:=CHASTOTA_AUTO+1;

    FUNCTION_BLOCK REGULIATOR
    VAR_INPUT
    REAL_DAVLENIE:REAL;
    ON_OFF:BOOL;
    USTAVKA_DAVLENIEL:REAL;
    MIN_DAVLENIE:REAL;
    MAX_DAVLENIE:REAL;
    MIN_CHASTOTA:REAL;
    MAX_CHASTOTA:REAL;
    SBROS:BOOL;
    END_VAR
    VAR_OUTPUT
    CHASTOTA_AUTO:REAL;
    END_VAR
    VAR
    TIMER: TIME;
    END_VAR

    Сам код
    IF ON_OFF=TRUE THEN
    IF REAL_DAVLENIE>=USTAVKA_DAVLENIEL THEN
    IF (TIMER+T#1S)<TIME() THEN
    TIMER:=TIME();
    CHASTOTA_AUTO:=CHASTOTA_AUTO+1;
    END_IF
    ELSE IF REAL_DAVLENIE<=USTAVKA_DAVLENIEL THEN
    IF (TIMER+T#1S)<TIME() THEN
    TIMER:=TIME();
    CHASTOTA_AUTO:=CHASTOTA_AUTO-1;
    END_IF
    END_IF
    END_IF
    IF CHASTOTA_AUTO<=MIN_CHASTOTA THEN CHASTOTA_AUTO:=MIN_CHASTOTA;

    END_IF
    IF CHASTOTA_AUTO>=MAX_CHASTOTA THEN CHASTOTA_AUTO:=MAX_CHASTOTA;
    END_IF

    IF SBROS=TRUE THEN CHASTOTA_AUTO:=0;

    END_IF
    ELSE IF ON_OFF=FALSE THEN CHASTOTA_AUTO:=0;
    END_IF
    END_IF

  10. #1110
    Пользователь
    Регистрация
    05.03.2012
    Адрес
    СПб
    Сообщений
    13

    По умолчанию

    считываю значение из прибора, надо это значение разделить на 1000, в итоге получаю 0. Почему?

Страница 111 из 368 ПерваяПервая ... 1161101109110111112113121161211 ... ПоследняяПоследняя

Похожие темы

  1. Панели оператора СП3xx. Вопросы и ответы
    от Мурат Ахриев в разделе Панели оператора (HMI)
    Ответов: 2330
    Последнее сообщение: 26.11.2021, 12:45
  2. Панели оператора ИП320. Вопросы и ответы
    от automat в разделе Панели оператора (HMI)
    Ответов: 677
    Последнее сообщение: 12.11.2021, 11:23
  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

Ваши права

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