Herunterladen Inhalt Inhalt Diese Seite drucken

Base16.Decode; Base16.Encode; Das Bit32 Modul - IFTOOLS MSB-RS485-PLUS Handbuch

Inhaltsverzeichnis

Werbung

18.2. ALLGEMEINE ERWEITERUNGEN FÜR ALLE VIEWS
18.2.1.1

base16.decode

Dekodiert eine Datenreihe im base16 Format in seine ursprüngliche Binärse-
quenz und gibt diese als String zurück. Die Umwandlung/Dekodierung stoppt
automatisch wenn das Ende des übergebenen Strings erreicht wurde oder ein
ungültiges Zeichen auftrat.
base16.decode( string )
string: Eine im Base16 Format vorliegende Datensequenz.
Protokollmonitor Beispiel
1
function o u t ( )
2
e x t r a c t t h e b i n a r y data o f a Modbus ASCII t e l e g r a m
3
l o c a l t g = t e l e g r a m s . t h i s ( )
4
A Modbus ASCII t e l e g r a m s t a r t s w i t h a c o l o n
CRLF .
5
The data i n between ( b y t e 2 . . . t h i r d l a s t ) i s coded i n base16
6
l o c a l b i n d a t a = base16 . decode ( t g : s t r i n g ( ) : sub ( 2 ,
7
end
18.2.1.2

base16.encode

I.a. werden Sie diese Funktion nicht benötigen, da sie einen Lua String in ba-
se16 kodiert. Sie ist allerdings dann von Nutzen wenn Sie eine bestimmte Byte-
folge im base16 Format sehen möchten, z.B. um diese mit den empfangenen
Telegrammdaten vergleichen zu können.
base16.encode( string )
string: Ein Lua String der ins Base16 Format überführt werden soll.
Protokollmonitor Beispiel
1
function o u t ( )
2
l o c a l seq = " h e l l o w o r l d "
3
box . t e x t { c a p t i o n =" Base16 " , t e x t =base16 . encode ( seq ) }
end
4
Sketch Beispiel
1
l o c a l seq = " h e l l o w o r l d "
2
p r i n t ( base16 . encode ( seq ) )
3
p r i n t ( base16 . decode ( base16 . encode ( seq ) ) )
18.2.2

Das bit32 Modul

Lua kennt keine verschiedenen Zahlenformate sondern behandelt alle Zahlen
als Fliesskommawerte mit doppelter Genauigkeit. Bit Operationen sind deshalb
in der Standard Implementierung von Lua nicht vorgesehen.
1
Ein bit32 Modul wurde in Lua Version 5.2 eingeführt. Seit Lua 5.3 sind Bitweise Operatoren
Teil der Sprache.
' : ' and ends w i t h
> 40 20 00 00 00 00 03 E8
> H e l l o w o r l d
3 ) )
1
.
223

Werbung

Inhaltsverzeichnis
loading

Inhaltsverzeichnis