Codesys: Едномерни масиви


Здравейте колеги.


В тази статия съм решил да обясня какво представляват масивите, за какво се използват и как се декларират и извикват в средата Codesys.

Какво представляват масивите.
Масива е структура която съдържа подредена информация. Може да си го представите, като последователност от клетки, като всяка клетка си има свой собствен пореден номер и вътре в нея се съдържа информация. Специфичното  в случая е, че всички клетки трябва да съдържат еднотипна информация, като тя може да бъде числа, символи както дори и структури. За структурите ще говорим по-нататък.

Какво е предназначението на масивите.
  • Събирането и организирането на информация от един и същи тип
  • Използване на едно име при използване на която и да е клетка от масива, като разликата е само индекса
  • Значително се улеснява сортирането на информация

Как се използват масивите.

Най-основната декларация, съдържа само името на масива, големината и типа на данните в него.

Име: ARRAY[From..To] of INT;

Тук е важно да се отбележи, че не е задължително броенето да започва от 1 до N както е при повечето езици за програмиране. В случая нямаме ограничение да броенето да започне от 7 и да свърши на 90.
Ето и един пример за реална декларация:

NewArray: ARRAY[5..20] of INT;

Също така можем да дадем стойности на масива при самата инициализация.
Ще използваме горния пример:

NewArray: ARRAY[5..20] of INT := [6,49,3,659,5];

Как се извикват елементи от масива.

Достъпването на всеки един елемент от масива става като в повечето езици от високо ниво. Пишем името на масива, и в скобите добавяме индекса който искаме да достъпим. За да покажа нагледно ще декларирам нова променлива от същия тип какъвто е и масива, и ще присвоя някоя от неговите стойности.

testBoolVar: BOOL;
testBoolVar:= NewArray[1];

Индкса на масива може да бъде и променлива.

arrIndex: int:=1;
testBoolVar: BOOL;
testBoolVar:= NewArray[arrIndex];

Ако имате въпроси с гореописаните неща, моля да задайте ги в коментарите.

Comments