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

неделя, 3 март 2019 г.


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


В тази статия съм решил да обясня какво представляват масивите, за какво се използват и как се декларират и извикват в средата 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];

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

Share /

1 коментар

About me

This is my personal blog. My articles are about programming and adjustment of a lot of Automation tools, like PLC, Robots, cameras and so on. My favorite topics are programming of Mitsubishi robots, Siemens,Wago and Beckhoff PLC. Also adjusting and creating Visual Builder inspections.

And some of my hobby

© Милчев! Code and Control
designed by templatesZoo