Köper man Nationals GPIB PCI/USB-hårdvara följer en hel hög med mjukvara, även för Linux och MAC, inklusive VISA-server och port-sniffers. Protokollet är standard IEEE 488.2. Utöver det måste man ha programvara lämpad för aktuellt instrument.
Har ingen erfarenhet av hur bra det fungerar i Linux då jag enbart sysslar med Windows i dessa sammanhang.
Letar man alternativa Linux utvecklingsmiljöer för att skriva programvara att hantera ett instrument via GPIB finns många alternativ beroende på hur mycket jobb man vill lägga ned. Att sniffa protokollen är enkelt, men jobbet är att strukturera resultatet.
För Ethernet finns alternativ typ Wireshark om man vill analysera instrument-kommunikation, men denna kommunikation behöver inte vara enligt IEEE488, utan instrumentet kommunicerar oftast med en hårdvaruspecifik VISA-server som i sin tur tillhandahåller protokollet. Inom ett och samma instrumentmärke brukar det finnas systematik och varierande grad av dokumentation hur denna del av kommunikationen fungerar men inget jag skulle ta för givet.
Har testat igenom en del olika GPIB hårdvaror samt och kört GPIB-kommunikation via t.ex. Perl. Håller mej i Windows-miljö men det är knappast en fördel när det gäller Perl. Exempel på Perl/GPIB-kod:
http://search.cpan.org/~jeffmock/GPIB_0 ... p59306a.pm
GPIB-bibliotek:
http://linux-gpib.sourceforge.net/
Här finns mycket praktisk info:
http://www.labmeasurement.de/
Vad gäller överskådlig kodning så är nog Perl bland de mindre bra programspråken.
Det kan ta timmar att analysera några programrader, och då har jag ändå skrivit raderna själv ett halvår innan.
Delvis ligger iofs problemet att jag bara programmerar i Perl lite då och då och glömmer och blandar med andra språk-strukturer rätt fort.
Men Perl är ju så uppbyggt att det lockar till kryptisk förkortningar och man kan i princip skiva ett större program som en enda lång textrad.
Även om man kommenterar varje rad är det t.ex. inte lätt att debugga.
Kommunicerar via GPIB även i Labview. Det är mycket peka och klicka, och hyggligt nybörjarvänligt med mycket färdiga exempel för instrument-kommunikation. Bra när man vill slänga ihop något på 5 minuter, men det går även i Labview gå ner på script-liknande nivå om man vill ha lite mer koll och optimera funktioner. Är det en super-kritiskt programdel så är det inget som hindrar att man länkar in just den biten via en lågnivå DLL, för t.ex. hårdvaru I/O port-kommunikation.
Stora projekt går utmärkt att skriva i Labview, med väl översiktlig kod och utvecklad dokumentation och kommentars-funktion. Det går även göra enklaste sak till en fullständigt obegriplig spagetti-kod även i Labview. Koden f.ö. kan relativt enkelt kompileras för ett antal operativ-system inkl Win CE och Linux.
Labview är inte direkt billigt. Licens ligger på ca 50k om man ska ha lite olika tillägg för full programmerings-miljö.
GPIB hårdvaran, av de jag testat inklusive kina-varianter har det mesta fungerat bra så länge de är kompatibla med Agilent eller National.
Har endast stött på en särling, Prologix GPIB-USB, vilken är enkel att kommunicera med då hårdvaran bättre kan beskrivas som GPIB-FTDI serieport.
Långsam och drivrutiner följer endast delvis IEEE488. Billig och ok om man vill dumpa data någon gång ibland mha egenskriven kod, men så mycket mer duger den inte till då sällan konventionell instrument-programvara fungera ihop med denna plugg. Bättre liknade alternativ är denna:
http://www.ebay.com/itm/F82357-GPIB-USB ... 2a24a1fd08
Innehållet är en kinesisk National-kopia och den jag har testat fungerade mycket bra och var ungefär lika snabb som originalet.
Vill man köra seriös industri-kvalitet och alltid vara säker på att det fungerar att kommunicera i nära realtid med bästa kompatibilitet så är det PCI-GPIB som gäller och endast från Agilent eller National. Det finns även andra PCI-fabrikat men kolla innan köp med andra användare om det finns drivrutiner, om den verkligen uppfyller IEEE488.2, och om det finns support. Jag har inte hittat något alternativt fabrikat som kunnat leva upp till ens ett av dessa önskemål.
För instrument med Ethernet eller USB som alternativ till GPIB får man förlita sej på att det ingår Linux VISA-server om man inte har allt för gott om tid att analysera ett enskilt instrument-protokoll och kan skriva egen VISA-server eller specialare mot egen instrument-kontroll-programvara.