Se udvalget af seriel port servere her
Udstyr med serielle porte er traditionelt blevet betragtet som udstyr, der kobles direkte til computeren via en seriel port. Med serielle portservere kan udstyr med serielt interface imidlertid tilsluttes overalt på et netværk, så alle netværks-brugere kan benytte dem. Det gælder både over lokalnet og internet. Ved tilslutning over internettet bliver rækkevidden global.
Om serielle portservere
Den serielle portservers opgave er at gøre serielle porte tilgængelige på et netværk, ligesom printerservere gør en printerport tilgængelig på nettet og fil-servere f. ex. gør harddisk-kapacitet tilgængelig på nettet. Den serielle portserver er en kompakt computer, der har et Ethernet netværks-interface og en eller flere serielle porte. Dens indbyggede firmware har kun til opgave at sende data fra netværket til den rette serielle port og at sende data, som modtages på serielle porte videre til netværket. Til netværkstrafikken bruges TCP/IP (Internet-protokollen), så selv en seriel portserver med mange porte har normalt kun én IP-adresse, og hver seriel port har sit eget portnummer.
Brugen af serielle portservere har adskillige fordele frem for traditionel kabelføring:
Fleksibilitet
Data-ruter er fastlagt ved konfigureringen. Serielle portservere kan derfor uden videre flyttes til et andet netværks-stik uden behov for ny konfigurering eller kabelføring.
Skalerbarhed
Nye serielle portservere kan problemfrit tilføjes. Normalt vil datamængden fra de serielle portservere være beskeden i forhold til netværkets kapacitet.
Drifts- og datasikkerhed
Serielle portservere er udført i robust design og er normalt forsynet med ”Watchdog” timer, som løbende overvåger programmets funktion i den serielle portserver, og reinitialiserer systemet ved fejl, så Watchdog-timeren hindrer, at den serielle portserver ”fryser”. Risikoen for forstyrrelser af data på netværket er langt mindre end ved brug af traditionelle serielle kabler. Bemærk også, at nogle typer kan benytte SSH kryptering, så de ikke kan ”aflyttes” af uvedkommende.
Servicevenlighed
Der er rige muligheder for at overvåge og fejlfinde både på netværket i almindelighed og på de serielle portservere i særdeleshed.
Økonomi
Normalt vil prisen for nye serielle portservere være mindre end omkostningerne ved at installere nye serielle kabler.
Tre kommunikationsmetoder
Principielt kan der kommunikeres med serielle portservere på 3 forskellige måder:
1. ”Box til box” metoden
2. ”Winsock” metoden
3. ”Virtuel com driver” metoden
”Box til box” – metoden
Denne metode kan bruges, hvis der ikke er en computer med netværksfunktion til rådighed. Metoden går ud på, at to serielle portservere konfigureres, så de sender data til modparten i stedet for til en computer. De to serielle portservere defineres som henholdsvis ”Master” og ”Slave” (eller ”Server” og ”Host”) med hver sin IP-adresse samt modpartens IP-adresse. Når begge de serielle portservere er konfigureret, kan denne metode siges at have etableret en fast forbindelse mellem serielle portene på de to serielle portservere. En fordel ved denne metode er, at forbindelsen vil være uafhængig af hvilke operativsystemer og software-versioner der i øvrigt bruges på netværket. ”Box til box metoden” er desuden den eneste brugbare metode i tilfælde, hvor der i systemet hverken kan indgå software, der benytter ”sockets” eller COM port drivere, f.eks. en PLC og et simpelt måleinstrument med seriel port.
Eksempel PLC med fjernaflæsning af data fra et måleinstrument.
”Winsock” metoden
Denne metode forudsætter, at de programmer, der benytter den serielle portserver, har adgang til netværket via TCP/IP protokollen ved hjælp af de netværksfunktioner, der er indbygget i Windows. Det er det standardiserede interface til disse funktioner, der kaldes ”Winsock”.
I alle gængse programmeringssprog til Windows (Visual C++, Visual basic, Delphi m. fl.) er der adgang til TCP/IP via ”Winsock”, der fritager programmøren for at kende alle detaljerne i de underliggende netværksprotokoller. Når først protokol, IP-adresse, portnummer og klient/server status er valgt, kan datablokke i frit format udveksles mellem programmet og den serielle portserver. Programmet ”Hyper Terminal”, der følger med som tilbehør til Windows, er et eksempel på et program, der kan benytte ”Winsock”.
På en PC med to serielle porte vil man i ”Hyper terminal” kunne vælge mellem COM1 eller COM2, og så vil ”TCP/IP (Winsock)” optræde som den tredje valgmulighed. Derfor er ”Hyper Terminal” ideel til at afprøve både TCP/IP- og RS232-forbindelsen, idet der simpelthen startes to versioner af Hyper Terminal, hvor den ene kommunikerer med den serielle portservers netværksinterface med TCP/IP ved hjælp af Winsock, medens den anden kommunikerer med COM1 tilsluttet den serielle portservers RS232-port. På den måde vil de to Hyper Terminal programmer køre fuld duplex indbyrdes gennem den serielle portserver, som figuren her viser. Her vil alt, hvad der tastes i det ene terminalvindue, vises som modtagne data i det andet vindue.
Eksempel: Proceskontrol og overvågning af industrielt anlæg.
Tegningen viser et eksempel, hvor forskelligt udstyr til måling, regulering og overvågning kommunikerer med én eller flere pc’er via lokalnet eller internet. De benyttede pc’er må nødvendigvis benytte ”Winsock” eller den ”Virtuelle COM driver” (Se næste afsnit). Bemærk at enhver af de 3 computere, der alle benytter ”Winsock”, er i stand til at kommunikere med alle serielle porte på de 6 viste apparater under software-kontrol, hvor traditionelle seriekabler kræver direkte kabelforbindelser, hvis længder næppe bør overstige ca. 15 – 20 meter.
Metoden kan bruges, når de Windows-programmer, der skal kommunikere med den serielle portserver, ikke har adgang til Winsock eller anden interface til TCP/IP netværk. Disse programmer er konstrueret, så de kommunikerer direkte med de eksisterende fysiske serielle porte, der findes i pc’en. Alligevel har de mulighed for at bruge de serielle portservere, hvis der installeres en ”Virtual COM port driver”(der leveres sammen med den serielle portserver). Dette er en såkaldt ”device driver”, som kan opfange data og kontrolinformationer til og fra de serielle porte for at få operativsystemet til at ”tro”, at der er installeret en ekstra seriel port (en virtuel port).
”Virtuel COM-driver” - metoden
Tegningen illustrerer dataflow i den computer, der benytter den virtuelle COM driver, som griber ind i operativsystemets funktion og sikrer, at data til den virtuelle port omdirigeres til netværksinterfacet via TCP/IP driverne, medens data til de almindelige serielle porte fortsat sendes til serieinterfacet.
Da de fleste moderne programmeringsmiljøer har API interface til netværk med TCP/IP, er det dog efterhånden sjældent, at nyere software vil være afhængig af en ekstern COM driver, og normalt vil Winsock da også være at foretrække frem for at satse på en ekstern COM driver.
Hvis man ikke skriver sin software selv og derfor ingen indflydelse har på, om ”Winsock” kan bruges, er ”Virtuel COM driver” metoden den letteste måde.
Mange typer og varianter
Der er et udvalg af varianter blandt de serielle portservere. Antallet af serielle porte pr. enhed varierer fra 1 til 16, og de serielle porte kan være traditionelle RS232 porte med ”punkt til punkt” forbindelse op til ca. 15 m eller RS422-porte med balancerede signaler for ”punkt til punkt” – forbindelse op til ca. 1200 m samt RS485-porte, til ”multidrop”-forbindelse, hvor op til 32 serielle porte kan dele samme 2- eller 4-tråds bus. Her vil rækkevidden også være op til 1200 m.