Вход

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



aposternak35
06.02.2024, 16:18
Доброго времени суток. Возникла проблема с передачей массива в ФБ.
В ФБ код выглядит так:
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:23
Границы массива должны быть константами. Если нужны динамические, то тут где то есть решение, либо в видео у Евгения Кислова.

Кроме этого должно быть что-то вроде:
operTON[i]:=operTON

Евгений Кислов
06.02.2024, 16:54
Доброго времени суток. Возникла проблема с передачей массива в ФБ.
В ФБ код выглядит так:
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'

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

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

73323

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

МихаилГл
06.02.2024, 17:07
Добрый день.
Это баг, который был исправлен в более поздних версиях.

73323

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

А будут ли в ваших ПЛК новые версии кодесиса? А то и 17 уже давно не 30 на оф сайте...

Евгений Кислов
06.02.2024, 17:11
А будут ли в ваших ПЛК новые версии кодесиса? А то и 17 уже давно не 30 на оф сайте...

Зависит от ситуации с санкциями.