Показано с 1 по 10 из 160

Тема: CODESYS V3.5. Онлайн-FAQ

Древовидный режим

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #11
    Супер Модератор Аватар для Евгений Кислов
    Регистрация
    27.01.2015
    Адрес
    Москва
    Сообщений
    13,821

    По умолчанию PRG#31. Как инициализировать массивы и структуры?

    Вопрос: как задать начальные значения для переменных типа массив (ARRAY) и структура (STRUCT)?

    Ответ: см. видеопример или текстовое описание ниже.

    Начальные значения элементов массива задаются в квадратных скобках:
    Код:
    aiData: ARRAY [1..6] OF INT := [1, 2, 3, 4, 5, 6];
    Если некоторым последовательно размещенным элементам надо задать одно и то же значение - то можно сделать так:
    Код:
    // aiData[3] и aiData[4] получат значение 0
    aiData: ARRAY [1..6] OF INT := [1, 2, 2(0), 5, 6];
    Для многомерных массивов синтаксис аналогичен:
    Код:
    aiData: ARRAY [1..2, 1..3] OF INT := [1, 2, 3, 11, 22, 33];
    2022-02-08_11-18-22.png

    Начальные значения элементов структуры можно задать прямо при ее создании.
    Все экземпляры данной структуры по умолчанию будут инициализированы этими значениями.
    Код:
    TYPE TEST_DATA :
    STRUCT
    	iVar:	INT  := 11;
    	rVar:	REAL := 22.33;
    END_STRUCT
    END_TYPE
    Если требуется при объявлении конкретного экземпляра структуры задать индивидуальные значения элементов - то это можно сделать в круглых скобках c указанием их имен:
    Код:
    stData: TEST_DATA := (iVar := 123, rVar := 11.22);
    Пример инициализации массива структур:
    Код:
    astData:	ARRAY [1..3] OF TEST_DATA := [ (iVar := 111, rVar := 11.22), (iVar := 222, rVar := 22.33), (iVar := 333, rVar := 33.44) ];
    Кроме того, задать начальные значения можно в редакторе автообъявления:

    2022-02-08_11-28-43.png

Похожие темы

  1. Ответов: 1
    Последнее сообщение: 29.06.2017, 11:21

Ваши права

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