Data Tables

Pytania i odpowiedzi dotyczące sprzętu Unitronics

Moderatorzy: Marek Sikora, Mateusz Sikorski

Data Tables

Postprzez _kosa_ » Pn, 20 lis 2017, 11:00

Witam,
Sterownik Vision

Potrzebuję odczytać z tabeli (Data Tables) wartość z komórki np: 3 wiersz i 5 kolumna.
Dane jaki wiersz i jaka kolumna mam w zmiennych MI, w naszym przypadku np (MI0=3, MI1=5)

Jak to najszybciej zrobić?

Pozdrawiam
Marek
_kosa_
 
Posty: 56
Dołączył(a): Pt, 27 lis 2009, 10:17

Re: Data Tables

Postprzez Mateusz Sikorski » Pn, 20 lis 2017, 11:35

Witam,
są dedykowane bloki do odczytu całego wiersza (definiujemy konkretny rejestr dla konkretnej kolumny) podając zmienną, która odpowiada za numer wiersza. Drugą opcją jest bezpośrednie odwołanie się do konkretnej komórki w tabeli, ale trzeba podać jej adres w pamięci RAM bezpośrednio (można to sprawdzić najeżdżając kursorem na konkretną komórkę). Mając te informacje można napisać równanie, które będzie pobierało dwa rejestry MI (jeden nr wiersza, drugi nr kolumny):
Y=aX+b,
gdzie Y - adres w pamięci RAM
X - liczba bajtów używanych w danej tabeli w jednym wierszu
a - MI zawierające nr wiersza
b - MI zawierające nr kolumny

Teraz można użyć bloku z zakładki Data Tables -> Direct -> Read i wykorzystać zmienną Y z powyższego równania:
Obrazek
Mateusz Sikorski
Elmark Automatyka S.A.
Mateusz Sikorski
 
Posty: 558
Dołączył(a): Śr, 13 lip 2011, 08:08

Re: Data Tables

Postprzez _kosa_ » Pn, 20 lis 2017, 11:47

Dziękuję za szybką odpowiedz...
_kosa_
 
Posty: 56
Dołączył(a): Pt, 27 lis 2009, 10:17

Re: Data Tables

Postprzez _kosa_ » Wt, 21 lis 2017, 13:30

Mam jeszcze jeden dziwny problem:

Dodając kolejną tabele w Data Tables zmieniły mi się adresy w pamięci RAM w innej tabeli z której czytałem bezpośrednio (Data Tables -> Direct -> Read) no i wiadomo wszystko się rozjechało...

Jaka może być przyczyna zmiany adresów RAM?
Może przypadkowo coś zmieniłem ale dopiero teraz zwróciłem uwagę na te inne adresy niż miałem początkowo...
Na pewno usunąłem kilka kolumn z innej tabeli... To mogło być przyczyną?
_kosa_
 
Posty: 56
Dołączył(a): Pt, 27 lis 2009, 10:17

Re: Data Tables

Postprzez Mateusz Sikorski » Śr, 22 lis 2017, 08:43

Witam,
każda zmiana jakiejkolwiek tabeli danych powoduje zmianę adresów w pamięci RAM i jest to niezależne od nas niestety. Należy najpierw stworzyć wszystkie tabele, jakie chcemy zastosować w sterowniku a dopiero potem wykorzystać adresy w pamięci RAM.
Mateusz Sikorski
Elmark Automatyka S.A.
Mateusz Sikorski
 
Posty: 558
Dołączył(a): Śr, 13 lip 2011, 08:08


Powrót do Unitronics



Kto przegląda forum

Użytkownicy przeglądający to forum: Brak zalogowanych użytkowników i 14 gości