Zapis 2 MI do DW

Pytania i odpowiedzi dotyczące sprzętu Unitronics

Moderatorzy: Marek Sikora, Mateusz Sikorski

Zapis 2 MI do DW

Postprzez Jakub_Skotnicki » Śr, 1 sie 2018, 22:04

Witam,
W programie realizuję komunikację po modbus TCP. Czytam dane z SLAVE które są w postaci dwóch komórek MI (vector MI długości 2):
MI 0 (LSW - 16bit)
MI 1 (MSW - 16bit)

Aby ułatwić operacje na pobranych danych liczbowych chciałbym je scalić do jednej komórki DW.

Ewentualnie czy jest sposób czytać z rejestru Slave i w locie zapisywać do DW w master?

W załączniku screen bloku który wykorzystuję do pobierania danych.
Załączniki
VisiLogic_2018-08-01_23-00-35.jpg
(78.67 KiB) Pobrane 1148 razy
Jakub_Skotnicki
 
Posty: 16
Dołączył(a): Śr, 1 sie 2018, 21:51

Re: Zapis 2 MI do DW

Postprzez Mateusz Sikorski » Cz, 2 sie 2018, 07:08

Witam,
można zczytywać tylko ze Slave'a wartość Float bezpośrednio do MF (Read Floating Register #3).
W celu połączenia 2 x MI w 1 x DW należy użyć bloku Vector -> Use Offset -> Copy Memory. Gdyby trzeba było zamienić LSW z MSW należy użyć po tym bloku funkcji Vector -> Swap Bytes
Mateusz Sikorski
Elmark Automatyka S.A.
Mateusz Sikorski
 
Posty: 558
Dołączył(a): Śr, 13 lip 2011, 08:08

Re: Zapis 2 MI do DW

Postprzez Jakub_Skotnicki » Pn, 6 sie 2018, 07:48

Dziękuję za odpowiedź, polecenia rzeczywiście wykonują to czego potrzebuję.
Jakub_Skotnicki
 
Posty: 16
Dołączył(a): Śr, 1 sie 2018, 21:51

Re: Zapis 2 MI do DW

Postprzez Jakub_Skotnicki » Pt, 17 sie 2018, 19:35

Wydaje mi się, że w helpie do funkcji Vectro->Swap Bytes jest błąd.

Dla poniższego przykładu:
Obrazek

Otrzymuję wynik

CC DD AA BB

Co prawda wykonuję operację dla ML a nie dla DW i zmienna C ma u mnie długość 1 ale nie powinno mieć to znaczenia. Zgadza się?
Jakub_Skotnicki
 
Posty: 16
Dołączył(a): Śr, 1 sie 2018, 21:51

Re: Zapis 2 MI do DW

Postprzez Mateusz Sikorski » Pn, 20 sie 2018, 07:10

Zgadza się, w helpie jest błąd.
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 9 gości