Показано с 1 по 5 из 5

Тема: Передача массива в функциональный блок

  1. #1

    По умолчанию Передача массива в функциональный блок

    Доброго времени суток. Возникла проблема с передачей массива в ФБ.
    В ФБ код выглядит так:
    FUNCTION_BLOCK operatingFB
    VAR_INPUT
    control: BOOL;
    END_VAR
    VAR_IN_OUT
    operTON: ARRAY [PRE_WARMING..FILTR] OF TON;
    END_VAR
    VAR_OUTPUT
    END_VAR
    VAR
    i: INT;
    END_VAR

    Передать я пытаюсь данный массив: operTON : ARRAY [PRE_WARMING..FILTR] OF TON;

    Следующим образом: operatingFB(control:=controls, operTON:=operTON);

    Получаю такую ошибку на предкомпиляции:
    Тип 'ARRAY [PRE_WARMING..FILTR] OF TON' не совпадает с типом 'ARRAY [PRE_WARMING..FILTR] OF TON' VAR_IN_OUT 'operTON'

    Подскажите, пожалуйста, как правильно передавать массивы

  2. #2

    По умолчанию

    Границы массива должны быть константами. Если нужны динамические, то тут где то есть решение, либо в видео у Евгения Кислова.

    Кроме этого должно быть что-то вроде:
    operTON[i]:=operTON
    Последний раз редактировалось МихаилГл; 06.02.2024 в 16:26.

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

    По умолчанию

    Цитата Сообщение от aposternak35 Посмотреть сообщение
    Доброго времени суток. Возникла проблема с передачей массива в ФБ.
    В ФБ код выглядит так:
    FUNCTION_BLOCK operatingFB
    VAR_INPUT
    control: BOOL;
    END_VAR
    VAR_IN_OUT
    operTON: ARRAY [PRE_WARMING..FILTR] OF TON;
    END_VAR
    VAR_OUTPUT
    END_VAR
    VAR
    i: INT;
    END_VAR

    Передать я пытаюсь данный массив: operTON : ARRAY [PRE_WARMING..FILTR] OF TON;

    Следующим образом: operatingFB(control:=controls, operTON:=operTON);

    Получаю такую ошибку на предкомпиляции:
    Тип 'ARRAY [PRE_WARMING..FILTR] OF TON' не совпадает с типом 'ARRAY [PRE_WARMING..FILTR] OF TON' VAR_IN_OUT 'operTON'

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

    06-02-2024 16-53-38.png

    В 3.5.17.30 в вашем сценарии придется отказаться от использования констант в качестве границ массива.

  4. #4

    По умолчанию

    Цитата Сообщение от Евгений Кислов Посмотреть сообщение
    Добрый день.
    Это баг, который был исправлен в более поздних версиях.

    06-02-2024 16-53-38.png

    В 3.5.17.30 в вашем сценарии придется отказаться от использования констант в качестве границ массива.
    А будут ли в ваших ПЛК новые версии кодесиса? А то и 17 уже давно не 30 на оф сайте...

  5. #5

Похожие темы

  1. функциональный блок CTU
    от АлексейI в разделе Среда программирования OWEN Logic
    Ответов: 4
    Последнее сообщение: 05.12.2023, 16:17
  2. Функциональный блок PID
    от Hemann в разделе Программируемые реле
    Ответов: 78
    Последнее сообщение: 04.05.2017, 08:57
  3. LD + функциональный блок
    от дрю в разделе ПЛК1хх
    Ответов: 2
    Последнее сообщение: 26.04.2014, 09:47
  4. Пользовательский функциональный блок
    от fill-forty в разделе ПЛК1хх
    Ответов: 6
    Последнее сообщение: 17.08.2009, 09:49
  5. Функциональный блок в PLC_PRG
    от -=OLeGA=- в разделе ПЛК1хх
    Ответов: 7
    Последнее сообщение: 20.10.2008, 20:32

Ваши права

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