Professional Documents
Culture Documents
NexBox Communicatie 01
NexBox Communicatie 01
HOLLAND NexBox
NexBox communicatie
15 / 05 / 2003
Site: www.nexbox.nl
Email: nexus@nexnet.nl
Voorwoord
Dit manual is ontstaan omdat bij sommige gebruikers van NexBoxen de behoefte bestaat om
zonder tussenkomst van de NexMaster de verzamelde data in de NexBox rechtstreeks in hun
applicatie in te lezen.
Dit betekent dat deze applicatie de volgende functies tot zijn beschikking moet krijgen:
Starten van de dataopslag (= zetten van de tijd)
Uitlezen van de dataopslag.
Correctie van de tijd.
Voor alle beheer functies (installeren, aansluiten, modulen wijzigen, enz.) van de NexBoxen blijft
de NexMaster beschikbaar.
De beschreven functies in dit manual zijn een deelverzameling van de functies die bij NEXUS B.V.
HOLLAND wordt gebruikt.
Opmerkingen
De verderop genoemde CRC-16 berekening is eventueel beschikbaar in ‘C’ en ‘VB’.
Bij de communicatie naar een NexBox wordt gebruik gemaakt van het ‘Modbus’ protocol. Dit kan
zowel in multipoint (meerdere NexBoxen aan een veldbus) als in point-to-point (modem, gsm, isdn,
ethernet 10BaseT) worden gebruikt.
Default adressen
Module_adres
Dit wordt gebruikt om de individuele printen die aan de interne bus in een NexBox van elkaar te
kunnen onderscheiden.
POWER 10 Hex
TCP/IP via 10Base-T 12 Hex
PSTN MODEM 1A Hex
GSM 1C Hex
ISDN 1E Hex
INPUT basis 20 Hex (+ jumper stand x 2)
Standaard RTU:
start adres function data crc end
NexBox modificatie
Omdat het NexBox systeem anders in elkaar zit als waar het Modbus protocol voor bedoeld is
(multidrop), moet een aangepast adresseringssysteem worden geïmplementeerd. Hierbij geldt dat
voor de buitenwereld het modbus protocol zichtbaar gelijk blijft (en dus ook eventueel gerout kan
worden).
Opmerking:
De datablok grootte kan maximaal 64 bytes zijn. Er moeten dus niet teveel waarden per keer
worden opgevraagd.
Maanden die minder als 31 dagen hebben en die fout worden opgevraagd, worden niet als
zijnde fout gedetecteerd (dus 31 feb. is mogelijk)
Opgeslagen perioden worden bepaald doordat het aantal minuten deelbaar is door 60. Als de
tijd gelijkgezet wordt (en de buffer dus gereset), kan de eerste periode minder minuten
bevatten dan de periode duur.
Vraag VB (Hex)
Adres 01
Sub adres A0
Functie 01
Jaar 01 Totaal dus 2001
Maand 01
Dag 01
Uur 00
Minuut 05 Bij opstart zonder tijd gelijk zetten is dit de eerste
Kanaal 00 Tellen vanaf 00 tot 09
Aantal waarden xx
Error check --
Vraag VB (Hex)
Adres 01
Sub adres A0
Functie 02
Error check --
Vraag VB (Hex)
Adres 01
Sub adres A0
Functie 04
Error check --
OPGELET !!!: ALLE gegevens gaan op dit moment verloren. De opslag pointer van de
oudste gegevens wordt gelijk gemaakt aan die van de huidige gegevens (er zijn dus geen
oude gegevens meer). Alle gegevens die momenteel worden verzameld worden gereset (er
wordt dus overnieuw gestart met een periode telling). Dit hoeft niet te betekenen dat er een
volledige periode geteld wordt. De periode afsluiting wordt immers bepaald door een geheel
aantal minuten in 60 minuten.
Als het gewenst is om de tijd te corrigeren moet functie 06H worden gebruikt.
Vraag VB (Hex)
Adres 01
Sub adres A0
Functie 05
Eeuw xx van 0 tot 99
Jaar xx van 0 tot 99
Maand xx van 1 tot 12
Dag xx van 1 tot 31
Uur xx van 0 tot 23
Minuut xx van 0 tot 59
Seconde xx van 0 tot 59
0,1 sec eenheden xx van 0 tot 9
Error check --
Vraag VB (Hex)
Adres 01
Sub adres A0
Functie 06
Positieve correctie HI 00 Klok gaat enige tijd sneller lopen
Positieve correctie Lo 00
Negatieve correctie HI 00 Klok gaat enige tijd langzamer lopen
Negatieve correctie Lo 00
Error check --
Opmerking:
Als een evengroot sneller en langzamer getal wordt ingevoerd wordt niets gecorrigeerd.