VISAM Support Forum

Normale Version: Janitza Modbus
Sie sehen gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Kann ich in Visam 9 auch Daten von Typ Float 4 Byte (IEEE754) einlesen ?
Hab schon versucht aber mit int geht es nicht ?? ??




Danke für ihre Hilfe
Hallo Geothermie,

Der Type Float (Single) oder auch REAL genannt wird von VISAM/VBASE unterstützt.
Es kann jedoch sein das der Hersteller eine andere Folge der Wörter/Bytes vorgibt.
(siehe auch BIG-Endian,little Endian Byte/Wort Reihenfolge)
http://de.wikipedia.org/wiki/Byte-Reihenfolge .

Wir haben das in der Vergangenheit auch schon einmal bei einem
MODBUS-Teilnehmer vorgefunden.
Um dennoch den FLOAT richtig anzuzeigen müssen sie die Bytes drehen.
Also mit einer Kopie im VDF arbeiten, per Script die Bytes an die richtige
Stelle transferieren.
(02.02.2015, 11:28)S.Rings schrieb: [ -> ]Danke für ihre Antwort

Hätten sie dazu noch ein Beispiel


Danke
Hallo Geothermie,

Der Type Float (Single)  oder auch REAL genannt wird von VISAM/VBASE unterstützt.
Es kann jedoch sein das der Hersteller eine andere Folge der Wörter/Bytes vorgibt.
(siehe auch BIG-Endian,little Endian Byte/Wort Reihenfolge)
http://de.wikipedia.org/wiki/Byte-Reihenfolge .

Wir haben das in der Vergangenheit auch schon einmal bei einem
MODBUS-Teilnehmer vorgefunden.
Um dennoch den FLOAT richtig anzuzeigen müssen sie die Bytes drehen.
Also mit einer Kopie im VDF arbeiten, per Script die Bytes an die richtige
Stelle transferieren.
Sehr geehrte Herren


Wie kann ich eine Adresse jenseits von 32000 eingeben. Word Offset.
Janitza gibt nählich auf z.B. 52761 auch Werte aus.
Hallo geothermie,

Adressen mit einem Offset >30000 können sie im Editor/VDF über die den Datenbereich VDF vornehmen.
Dort gibt es Einstellungen für :

- R/W Multiple Register (0/16) mit Offset 30000
- R/W Multiple Register (0/16) mit Offset 40000
- R Input Register (4) mit Offset 30000
- R Input Register (4) mit Offset 40000

da wird dann entsprechend zu ihrem Offset 30000 oder 40000 hinzuaddiert.

High/Low-Wort drehen für den kompletten Kanal funktioniert entweder
über mit dem Scriptbefehl vok.vkk32B_HL

oder über einen Eintrag in der "VisamVOK.INI"

[VKK32BitPV]
Vkk1=1

(siehe auch Hilfe zu Projekt-Eigenschaften)

Wörter drehen kann man mit Script , wenn man
die Funktion vdf.readint/vdf.writeint nutzt
oder mit vdf.readbitb/vdf.writebitb .