Jag skriver mätprogram för i första hand nätverksanalysatorer.
Kommunikation mellan PC och instrument sker via GPIB.
Den fysiska GPIB-delen kan vara PCI/USB/LAN, det har ingen betydelse så länge drivrutinen presenterar ett GPIB-interface.
Om sedan nätverkaren är av fabrikat HP/Agilent/Rohde/... spelar mindre roll.
Enkelt då mitt program kan användas till många instrument på många olika platser.
Blir man utelämnad till att prata mot en serieport så finns inte t.ex. olika status-register och vissa timing-beroende funktioner går bort.
Mellanliggande driver kan möjligen emulera sådant, för att sedan presentera GPIB-kompatibel front.
Många instrument-tillverkare har tagit fram olika test och styr-program för sina GPIB-instrument, och så länge programmet hittar GPIB-bussen fungerar det oftast, oavsett fabrikat på GPIB-hårdvaran.
Men köper man något med serieport fungerar det som till en regel inte med dessa program, även om serie-porten har ett GPIB-kontaktdon i änden.
Det spelar kanske mindre roll, om man accepterar att skriva specifika program, anpassat för serieports-kommunikation som passar just denna typen av serieport.
Agilent och National är dyra på sina GPIB-interface med tillhörande drivrutiner, men de fungerar med all programvara som har korrekt GPIB-kommunikation.
Agilent får väl dessutom ses som innehavare av HP, ursprunget till det som då hette HPIB och i dag är instrument-standard på lite bättre mät-instrument.
NI är motsvarande dominant för programvara som pratar med instrumenten via GPIB.
NI har ett stort program-bibliotek med instrument-specifika bygg-block. Det finns ingen seriös instrument tillverkare, som inte tillhandahåller NI sådana block för just sina instrument.
För mej som mjukvara-utvecklar, mestadels i Labview, är det bekvämt. För nästan vilket instrument som helst, tar det mej max 5 minuter att få igång ett program som styr och reglerar ett nytt instrument , inklusive grafiska displayer och reglage.
Nackdelen är att Labview är dyr mjukvara, men det finns både gratis och prisreducerade varianter typ student-versioner. Annan nackdel är att det inte finns på alla plattformar och dominerande utbudet är för Win-miljö.
I NI's mjukvaru-paket finns en loggande GPIB-spy. Sätt upp ett program som gör det du vill i Labview, ta spy-loggen och implementera kommandona i valfri annan program-miljö.
Av lågpris USB-GPIB-interface som jag har erfarenhet är Prologix riktigt dåliga, de är bara nästan GPIB-kompatibla, med en hel drös buggar och är för långsamma om man vill överföra t.ex. oscilloskop-bild live.
De duger om man vill ha en print-dump. De presenterar sej som serieport med FTDI-driver. Tillverkaren har åtskilliga gånger lovat att förbättra GPIB-kompatibiliteten men än har det inte skett.
Det andra lågpris-alternativet som jag har erfarenhet av är
denna.
Det är i själva verket en kines, som emulerar både Agilent och National hårdvaru GPIB-interface och kan således använda sej av dessa bägges drivrutiner.
Ger ett brett användningsområde då man kan använda sej av bägge dessa företags drivrutiner.
Kines-klonen har hitintills fungerat alldeles utmärkt för mej, använd dagligen sedan några år. Den har bytt namn några gånger då National jagat dom för att de åker snålskjuts genom att använda sej av Nationals drivrutiner och därför inte behöver skapa egna.
Bästa alternativet är annars PCI-GPIB, det är snabbaste och driftsäkraste alternativet. Har både NI och Agilent PCI-kort. Bägge är ungefär lika snabba och det är inga problem att ha flera instrument inkopplade på samma buss. Finns lite skillnader på korten beroende på ålder, men även de äldre korten fungerar ok, om man skulle hitta något begagnat på t.ex. Ebay.
Köp aldrig ett no-name GPIB-interface som det inte finns uppdaterade drivrutiner till. Det cirkulerar ett antal PCI-kort på Ebay, vars tillverkare inte längre finns och utan drivrutiner är kortet noll värt.
Sedan finns alternativet GPIB-LAN. Många moderna instrument har den möjligheten inbyggt och enklare styrning-mätning kan vara möjlig utan drivrutiner för varken serieport eller GPIB och mät-datorn behöver bara sitt ordinarie nätverks-kort som hårdvara, samt inga dyra GPIB-kablar. LAN kan upplevas långsammare än direkt kabel men hur pass långsamt beror ju även på typ av LAN.
Prologix har en GPIB-LAN konverter, som kanske kan vara bättre än deras GPIB-serieport.
Snabbheten beror ju givetvis på vad man vill göra men i mina programvaror sitter man typiskt och mäter live på ett kretskort där mätdata processas i PC innan det visas som en kurva på bildskärmen.
Där vill man absolut inte ha en sekunds fördröjning mellan probning och resultat medan man kanske glatt kan vänta 10 sekunder på en print-dump av vad man kan se på instrument i sej, utan vidare processning.
Med tanke på utbudet av GPIB-hårdvara och drivrutiner, samt annan supportande mjukvara, kan det totalt vara effektivare och billigare att köpa en PC till labbet än att knöla med dåligt supportade funktioner och drivers, i synnerhet om man vill få till något fungerande på kort tid. Är man nöjd med något enklare, typ logga eller styra en spänning i måttligt tempo, så duger det kanske med något som kan köra ett script via tillverkar-specifik serieport.