WLP CID-16 CTS protokol

spacer

Indhold

spacer

Kommunikations-
porte

COM1

Type: 2-tråds halv duplex RS-485
Connector: 3-polet skrueklemme (intern)

Forbindelser:
1: (længst th. i WLP) Ikke-inverteret signal
2: (i midten) Komplementært signal
3: (længst tv. i WLP) Skærm

Værter tilsluttet denne port skal efter transmission skifte retning så snart sidste karakters stopbit er sendt, idet svar genereres og kan ankomme i løbet af få millisekunder.

COM2
Type: fuld duplex RS-232
Connector: 9-polet D-sub hanstik

Forbindelser:
  1. DCD
  2. RxD
  3. TxD
  4. DTR
  5. GND
  6. DSR
  7. RTS
  8. CTS
  9. RI

Værter tilsluttet denne port skal holde DSR linien lav; i modsat fald formoder WLP et eksternt modem er tilsluttet, og søger at initialisere dette indtil det lykkes. Indhold

Kommunikations-
parametre

115200,N,8,1

Tidsmæssige
krav

WLP transmitterer uden karaktermellemrum; tilsluttede værter skal kunne håndtere dette.
Efter 20ms Rx inaktivitet gennemtvinger WLP afslutning af et påbegyndt telegram.
Transmissionsretning på RS-485 skal skiftes så snart sidste karakters stopbit er sendt.
Flerliniesvar har mindst 1.25ms linieseparation. Flerliniesvar bør ikke ledes gennem kanaler med lavere hastighed end 115200bps. Indhold

Telegram- og
bufferstørrelser

CID-16 CTS protokollens telegrammer er linieorienterede.
Hver linie kan rumme max. 95 tegn; heraf er 14 tegn header, op til 80 tegn er nyttelast, og 1 tegn er terminator (CR).
NB! Dersom CTS tilsluttes som en selvstændig vært på en RS-485 bus, der sammenkobler flere WLPer vil CTS porten blive konfronteret med nettrafik som benytter andre protokolformater, og hvis telegrammer kan have størrelser op til 2kB. Indhold

CID-16 adressering
og indkapsling

CID-16 adressering benytter en oktet til identifikation af et netværk samt en oktet til identifikation af en vært på dette netværk. Netværksoktetten kan have værdier fra 0-255, men værtsoktetten kan antage værdier fra 1-254 idet 0 er generisk netværksadresse og 255 er broadcastadresse.
Netværksoktet (MSB) og værtsoktet (LSB) optræder samlet som et big-endian ord der udgør en CID-16 adresse.
En CID-16 telegramheader ser således ud:
Navn   Ofs Str Funktion
dg_typ  0   1  Tel.type: '?' = forespørgsel, '!' = svar
dest    1   4  Hex modt.adresse (word) (ASCII)
ndg_typ 5   1  Neg. tel.type: '?' ved dg_typ '!' og omv.
src     6   4  Hex afs.adresse (word) (ASCII)
src_tc 10   1  Separator '.'
cksum  11   2  Hex 2's kompl. af telegr. bytesum (ASCII)
hdr_tc 13   1  Separator '.'

Al hexadecimal repræsentation benytter store bogstaver A-F.
Checksummen omfatter hele telegrammet fra header til og med terminator.
Under beregning af telegrammets checksum skal der på checksummens plads stå 0x0000.
Der kan m.a.o. ikke valideres checksum på et telegram, der er afsluttet ved time-out og som ikke indeholder en terminator. Indhold

Nyttelast:
CTS protokol
kommandoer

CID-16 telegrammets nyttelast udgøres af ASCII karakterer i området 0x20 til 0xFF samt karakteren 0x0A (LF), som dog ikke må benyttes som nyttelastens første karakter.
Se i øvrigt særskilt dokument for implementerede protokol kommandoer for CTS

Indhold

Sammenkobling
af CTS og WLP

CTS anlægget tildeles en ledig CID-16 adresse på netværket, f.eks. 2.254 (0x02FE).

Den anbefalede metode til forbindelse af CTS er gennem COM2 på en WLP, som ikke er gateway (dvs. ikke har modem).
På denne WLP (kaldet peephole) oprettes en ekstra 16-bit værts route til COM2 svarende til CTS anlæggets værtsadresse. Telegrammer fra CTS vil enten være til peephole eller routes af peephole til WLP netværket. Svar til CTS vil modtages af alle værter. Alle pånær peephole vil ignorere det; peephole vil route det til CTS.

Når CTS skal tilsluttes en WLP med modem som ikke har netværk må tilslutning foregå via COM1, og der skal på denne WLP oprettes en ektra 16-bit værts route til COM1 svarende til CTS anlæggets værtsadresse. Det er særlig vigtigt at der ikke oprettes 32-bit net routes til COM1 for at undgå at CTS konfronteres med uvedkommende netværkstrafik.

Hvis to WLPer er netværkskoblet, og COM2 er benyttet på begge (f.eks. af modem på den ene, og af en lokal PC på den anden) kan CTS tilsluttes netværket via et halv-duplex RS-485 interface.

NB! CTS modtageren ser nu al netværkstrafik. Man skal derfor være opmærksom på følgende omstændigheder:

Modtagelse

  1. Enhver karakter, der ankommer efter interface timeout, efter karakteren 0x04 eller efter et korrekt termineret og gyldigt CID-16 telegram repræsenterer starten på et nyt telegram ("startkarakter").
  2. Såfremt startkarakteren ikke er "!" eller "?" er det kommende telegram ikke CID-16, og efterfølgende karakterer indtil 0x04 eller interface timeout skal ignoreres.
  3. Et nyt telegram kan følge umiddelbart efter karakteren 0x04.
  4. 95-byte grænsen for telegramstørrelse gælder kun CID-16 telegrammer. Andre WLP protokoller kan sende telegrammer indtil 2kB størrelse. Med mindre CTS opererer med buffere af førnøden størrelse skal modtageren være i stand til at kassere uvedkommende karakterer løbende.
  5. Der kan forekomme CID-16 telegrammer stilet til andre modtagere end CTS-anlægget. CTS skal ignorere sådanne.

Transmission
Fordi CTS telegrammerne i denne konfiguration ikke routes af en WLP kan der opstå kollision på netværket såfremt CTS og en WLP transmitterer samtidig. Dette er intet problem for WLP modtagerne, der blot vil kassere de resulterende dårlige telegrammer. CTS bør i denne konfiguration afvente 300ms 'stilhed på linien' forinden påbegyndelse af transmission. Indhold