In den letzten 40 Jahren wurden zahlreiche Verbesserungen an der Software-Programmierumgebung für die IEEE-488-Schnittstelle vorgenommen. Verbesserungen wie die Erweiterung IEEE-448.2 des Standards definierten eine Reihe von Low-Level-Befehlen für Instrumente und Busse, die ein Instrument unterstützen muss, um konform zu sein. Die Branche hat außerdem die Standardisierung von High-Level-Programmierbefehlen für Instrumente, bekannt als Standard Commands for Programmable Instruments (SCPI), übernommen. Dies führte zu einer deutlichen Verbesserung der Testentwicklungszeit sowie zu einer Reduzierung des Wartungsaufwands für bestehende Software. Obwohl die Implementierung von SCPI von Instrumentenherstellern weitgehend akzeptiert wird, ist der Ingenieur, der Instrumente automatisiert, weiterhin für einen Großteil der Instrumentenprogrammierung verantwortlich.


Die Bemühungen um eine höhere Abstraktionsebene für die Geräteautomatisierung führten zunächst zu proprietären Gerätetreibern mit eigener Programmierumgebung und später zu interoperableren, standardbasierten Treibern. Moderne Geräte führen vielfältige komplexe Analysen und Messungen durch und sind häufig als Anwendung unter Microsoft-Betriebssystemen ausgeführt. Die .NET-Infrastruktur von Microsoft ermöglicht Geräteherstellern den Zugriff auf deutlich tiefergehende Einblicke in die Gerätemessungen, ohne dass die SCPI-Programmierdokumentation konsultiert oder eine spezielle Treibersuite erlernt werden muss. Die Entwicklung von Gerätetreibersoftware auf Basis der Microsoft .NET-Technologie hat Automatisierungsingenieuren eine schnellere Entwicklung von Testsoftware und einen einfacheren Zugriff auf die komplexen Messergebnisse des Geräts ermöglicht.
Dieser Artikel veranschaulicht, wie die von einem Oszilloskophersteller in seinem Produkt zur Konformitätsprüfung digitaler Sender implementierte .NET-Technologie wertvolle Messergebnisse liefert, die direkt im Automatisierungscode der Kunden verfügbar sind. Die .NET-Technologie ermöglichte die Entwicklung eines gemeinsamen Frameworks für alle konformen Datenkommunikationsanwendungen, die für die Prüfung digitaler Sender nach einem bestimmten Standard entwickelt wurden. Die .NET-Technologie hat nicht nur den internen Entwicklern der Oszilloskophersteller geholfen, sondern auch ein hohes Abstraktionsniveau ermöglicht, sodass Kunden die Vorteile der Remote-Ausführung und Client-Automatisierung nutzen können. Messungen im heutigen digitalen Geräte-Ökosystem sind mit zunehmender Geschwindigkeit und Miniaturisierung der Geräte komplexer geworden. Bis vor Kurzem war der Automatisierungsingenieur für die Erstellung der Messalgorithmen verantwortlich, die für Konformitätsprüfungen gemäß einem bestimmten Standard wie PCI Express, SAS und anderen Datenkommunikationsstandards erforderlich waren. Heutzutage verfügen Kunden schlichtweg nicht über die nötigen Softwareentwickler, um mit den ständigen Änderungen der Datenkommunikationsstandards Schritt zu halten. Kunden erwarten daher von Oszilloskopherstellern die Bereitstellung der Software, die erforderlich ist, um ein Gerät als standardkonform zu qualifizieren.
    

In der Frühzeit der Oszilloskope entwickelten Ingenieure üblicherweise eigene Algorithmen zur Messung der Anstiegs- und Abfallzeiten elektrischer Signale. Erst Ende des 20. Jahrhunderts wurden diese Messungen in die Oszilloskop-Firmware integriert. In den 1990er-Jahren erwarteten Ingenieure von ihren Oszilloskopen grundlegende Messfunktionen wie die Anstiegszeitmessung. Im 21. Jahrhundert erwarten Kunden von Oszilloskopherstellern, dass sie die Testanforderungen spezifischer Datenkommunikationsstandards erfüllen und eine umfassende Messlösung mit einfachem Zugriff über ihren eigenen Automatisierungscode bieten. Das Produktangebot eines Oszilloskopherstellers muss kontinuierliche Investitionen in Messtechnik nachweisen, um die Anforderungen aktueller und zukünftiger Datenkommunikationsstandards zu erfüllen.
Ein Oszilloskophersteller, der mehr Messtechnik in sein Produktangebot integriert, ist typischerweise aktives Mitglied von Normungsgremien wie PCI Express, SATA, JEDEC und USB-IF. Die aktive Teilnahme an diesen Normen ermöglicht es dem Hersteller, Testspezifikationen mitzugestalten, die die Interoperabilität von Geräten gewährleisten, die mit einem bestimmten Standard kompatibel sind. Sobald die Testanforderungen definiert sind, kann der Oszilloskophersteller die im Standard festgelegten Messungen implementieren und in seine Oszilloskop-Software integrieren. Der Kunde erhält dann Zugriff auf eine Suite standardkonformer Testsoftware, die auf der .NET-Technologie des Herstellers basiert, um die Konformität seines Geräts mit einem bestimmten Datenkommunikationsstandard nachzuweisen. Neben einer benutzerfreundlichen grafischen Oberfläche zur Bedienung des Oszilloskops sollte die Softwareplattform auch vollständigen Fernzugriff ermöglichen. Ein Oszilloskophersteller, der Testpakete für eine Vielzahl von Datenkommunikationsstandards anbietet, steigert die Produktivität der Entwicklungsabteilung des Kunden erheblich. Der Hersteller übernimmt die Verantwortung für die Interpretation der Testspezifikationen eines Standards, die Entwicklung des Messsoftwarepakets und den technischen Support. Darüber hinaus ermöglicht die Bereitstellung des Messsoftwarepakets durch den Hersteller eine bessere Korrelation der Testdaten zwischen den Entwicklungsteams des Kunden und denen seiner Kunden, da alle Beteiligten gemeinsame Tests und Algorithmen verwenden.
 
DDR4-BeispieltestberichtAbbildung 1 zeigt ein Beispiel für ein Softwarepaket, das die im Standard für DDR4-Speicher definierten Tests bereitstellt. Der Kunde wählt die gewünschten Tests und Messungen aus, und die entsprechenden Algorithmen werden von der automatisierten Software des Oszilloskop-Herstellers implementiert. Es ist wichtig, einen Oszilloskop-Hersteller zu wählen, der konsistente, standardbasierte Messsoftware bietet. Ein DDR4-Testpaket sollte mit einem für PCI Express kompatibel sein, was die Effizienz und Produktivität des Endnutzers steigert.
 
Ein umfassendes Softwarepaket zur Durchführung von Tests gemäß einem Datenkommunikationsstandard sollte die Daten in einem leicht lesbaren Format ausgeben, wie im Beispiel in Abbildung 2 dargestellt. Ein HTML-Bericht mit Screenshots aller durchgeführten Tests inklusive Ergebnisinformationen (bestanden/nicht bestanden/Abweichung) bietet dem Kunden einen erheblichen Mehrwert, wenn er ihn mit seinen Entwicklungsteams und Kunden teilt.
 
    Moderne Oszilloskope des 21. Jahrhunderts gelten als Messsysteme mit innovativen Abfragefunktionen für den Zugriff auf Signale, die nicht über ein direktes HF-Kabel erreichbar sind. FPGA-basierte Algorithmen, die auf externe Verschlüsselungssprachen und mathematische Bibliotheken zugreifen, sind unerlässlich, um viele der von modernen digitalen Geräten benötigten Messwerte zu analysieren und zu generieren. Es ist nicht nur wichtig, die gewünschten Tests über eine interaktive grafische Benutzeroberfläche (siehe Abbildung 1) aufzurufen, sondern ebenso wichtig, diese Tests aus dem Automatisierungscode des Kunden ausführen zu können. Der Automatisierungsingenieur muss möglicherweise auch Stromversorgungen oder Umgebungskameras überwachen, bevor er einen vorgegebenen Test durchführt, und die Messdaten in eine Unternehmensdatenbank integrieren. Ein Oszilloskop-Hersteller, der eine nahtlose Automatisierungsschnittstelle für dieselben Funktionen wie die interaktive grafische Benutzeroberfläche bereitstellt, bietet dem Automatisierungsingenieur nicht nur einen erheblichen Mehrwert, sondern ermöglicht vor allem eine TestMenu-wbessere Nutzung der Entwicklungsressourcen des Unternehmens. Ein auf .NET-Technologie basierendes Software-Framework ermöglicht dem Automatisierungsingenieur den Zugriff auf alle Funktionen der Messsoftware des Oszilloskop-Herstellers, die für einen Datenkommunikationsstandard entwickelt wurde. Darüber hinaus ermöglicht es Ingenieuren, asynchrone Laufzeitereignisse zu analysieren und die Automatisierung von unterstützenden Instrumenten zu integrieren – beispielsweise durch die programmatische Reaktion auf die Meldung „Netzteilausgang auf 1 V ändern und zum Fortfahren auf ‚OK‘ klicken“. Diese Ereignisse erfordern keine zeitaufwändigen manuellen Eingriffe mehr.
    Das folgende Python-Beispiel zur Verwendung einer .NET-Suite bietet Automatisierungsingenieuren eine optimale Abstraktionsebene, ohne sie mit den Details der Testbedingungen, der Testablaufsteuerung und der Messdatenverwaltung zu überfordern. Die Common Language Runtime (CLR) von Microsoft ermöglicht das einfache Laden einer .NET-Suite aus verschiedenen Programmiersprachen wie Visual Basic, C# und C++ sowie grafischen Programmiersprachen wie Keysight VeePro und NI LabWindows und LabVIEW. Die .NET-Technologie lässt sich zudem auf vielfältige Automatisierungsaufgaben ausweiten, darunter die Steuerung von Umgebungskameras, die Kommunikation mit dem Prüfling, das Schalten von Matrizen und natürlich auch anderer Instrumente neben Oszilloskopen.
import clr
clr.AddReference("Keysight.Infiniium.AppFW.Remote")
from Keysight.Infiniium.AppFW.Remote import *
Erforderlich, um das Oszilloskop über eine Ethernet-Verbindung anzuschließen und auf die in den .NET-Sets bereitgestellten Methoden und Eigenschaften zuzugreifen.
remoteObj = RemoteAteUtilities.GetRemoteAte("192.168.1.107")
remoteApp = IRemoteAte(remoteObj)
    Das Objekt mit dem Namen remoteApp kann nun auf alle Funktionen des Messsoftwarepakets zugreifen, die für den ausgewählten Datenkommunikationsstandard spezifisch sind, als ob dies interaktiv über die grafische Benutzeroberfläche des Testpakets erfolgen würde. Nachfolgend finden Sie den Code, den der Automatisierungsingenieur benötigt, um ein neues Projekt zu erstellen, ähnlich wie über die grafische Benutzeroberfläche des Messsoftwarepakets über Datei->Neues Projekt.
remoteApp.NewProject(True)

    Die folgenden Schritte rufen dieselben Informationen ab wie in Abbildung 1 dargestellt, wenn die Messsoftware interaktiv ausgeführt wird. Sobald der Automatisierungsingenieur die verfügbaren Tests kennt, kann er diese programmatisch auswählen, ähnlich wie durch Aktivieren eines Kontrollkästchens neben den Testnamen in Abbildung 1. Die grafische Benutzeroberfläche spiegelt die vom Ingenieur remote vorgenommenen Einstellungen wider, was die Fehlersuche im Code erheblich erleichtert. `
myAvailableTests = remoteApp.GetCurrentOptions("TestsInfo")
` Um Informationen zu `myAvailableTests` zu erhalten: // Die folgende Schleife extrahiert die Namen und IDs der verfügbaren Tests:
  `myTestName = info.Name` `  
  myTestId = info.ID` `
testToSelect = myAvailableTests[0].ID` // Der erste Test aus den verfügbaren Tests wird zur Ausführung ausgewählt:
`remoteApp.SelectedTests = [testToSelect]`
Anschließend wird der ausgewählte Test ausgeführt und der HTML-Bericht erstellt (siehe Abbildung 2). Die Datei `MY_HTML` wird im Ordner `C:\data` erstellt.
remoteApp.Run()
descriptionHtmlString = 'MY_HTML'
saveResultHtmlOptions = ExportHtmlOptions()
saveResultHtmlOptions.ReportName = descriptionHtmlString
saveResultHtmlOptions.OverwriteExisting = True
saveResultHtmlOptions.BasePath = "C:\data"
remoteApp.ExportResultsHtmlCustom(saveResultHtmlOptions);
Ein wichtiger Bestandteil der Dokumentation für die effiziente Nutzung der .NET-Suite ist eine umfassende und aktuelle Hilfedatei des Oszilloskop-Herstellers. Ein Auszug aus einer solchen Hilfedatei (siehe unten) definiert die verfügbaren Optionen beim Erstellen eines HTML-Berichts. Die Optionen werden im vorherigen Python-Beispiel implementiert.
Eigenschaften von ExportHtmlOptions Keysight DigitalTestApps Remote Interface für .NET
Remote Interface Version 3.40
Der Typ ExportHtmlOptions stellt die folgenden Member bereit.


Eigenschaften
Name und Beschreibung
BasePath: Pfad zum Speichern des Berichts. Es wird ein Unterverzeichnis mit dem Namen ReportName erstellt.

Vorhandenen Bericht überschreiben: Setzen Sie diese Eigenschaft auf „true“, um einen vorhandenen Bericht mit demselben Namen am angegebenen Speicherort zu überschreiben.
Berichtsname: Name des zu generierenden Berichts.

Noch besser sind die integrierten Indikatoren in der grafischen Benutzeroberfläche, die Fragen wie „Welchen Automatisierungsbefehl wählt dieses Kontrollkästchen aus?“ beantworten.
Unternehmen können es sich nicht mehr leisten, wertvolle Entwicklungsressourcen für das Verständnis aller Testanforderungen eines bestimmten Datenkommunikationsstandards und die anschließende Entwicklung der für die Messungen benötigten Software aufzuwenden. Sobald der Oszilloskophersteller zum Lieferanten der Messsoftware für einen bestimmten Datenkommunikationsstandard wird, können sich die Ingenieure des Kunden schneller auf die Gewinnung wertvoller Erkenntnisse über ihr Produkt aus den von der Software generierten Messdaten konzentrieren. Die Möglichkeit, Daten verschiedener Oszilloskope mit derselben Version der Messsoftware zu korrelieren, steigert die Produktivität der Entwicklungsmitarbeiter. Kunden werden sich auch weiterhin an Oszilloskophersteller wenden, um ein Oszilloskop als Messsystem zu erhalten, das Konnektivitätslösungen wie Tastköpfe, Messsoftware für verschiedene Datenkommunikationsstandards und eine hohe Abstraktionsebene der Messsoftware umfasst. Letztere ermöglicht es Automatisierungsingenieuren, die Ausführung der Messsoftware einfach über ihre interne Automatisierungssoftware zu steuern.

Weitere Informationen