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

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

  1. #1101

    По умолчанию

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

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

    По умолчанию

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

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

    По умолчанию

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

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

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

    По умолчанию

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

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

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

    По умолчанию

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

  6. #1106

    По умолчанию

    Подскажите каким образом работает задержка в 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

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

    По умолчанию

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

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

    По умолчанию

    Цитата Сообщение от Alexmorphy Посмотреть сообщение
    считываю значение из прибора, надо это значение разделить на 1000, в итоге получаю 0. Почему?
    Выложите архив проекта, пожалуйста. Если это невозможно - то приведите кусок кода, желательно, скриншотом из онлайн-мониторинга - чтобы увидеть корректное считанное значение и операцию деления, которая приводит к обнулению значения.

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

    По умолчанию

    Цитата Сообщение от Евгений Кислов Посмотреть сообщение
    Выложите архив проекта, пожалуйста. Если это невозможно - то приведите кусок кода, желательно, скриншотом из онлайн-мониторинга - чтобы увидеть корректное считанное значение и операцию деления, которая приводит к обнулению значения.
    Скрин программы
    Не делит на 1000.jpg

  10. #1110

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

Похожие темы

  1. Панели оператора СП3xx. Вопросы и ответы
    от Мурат Ахриев в разделе Панели оператора (HMI)
    Ответов: 2455
    Последнее сообщение: 27.06.2022, 23:46
  2. Панели оператора ИП320. Вопросы и ответы
    от automat в разделе Панели оператора (HMI)
    Ответов: 749
    Последнее сообщение: 24.05.2022, 14:52
  3. ИПП120. Вопросы и ответы
    от Р.Александр в разделе Программируемые реле
    Ответов: 230
    Последнее сообщение: 21.03.2022, 16:40
  4. Индикатор ИП120 , вопросы- ответы
    от rovki в разделе Программируемые реле
    Ответов: 56
    Последнее сообщение: 03.11.2017, 15:58
  5. Панели оператора СП270. Вопросы и ответы
    от Давидюк в разделе Панели оператора (HMI)
    Ответов: 930
    Последнее сообщение: 15.05.2017, 17:12

Ваши права

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