Ich glaube, ich habe versehentlich in meinem Leben ein Bedürfnis nach eingebetteten Systemen entdeckt. Was toll ist! Und irgendwie beängstigend. Und ich brauche Hilfe.
Hintergrund : Ich wurde beauftragt, eine GUI-Anwendung zu erstellen, die Scans von zwei SICK LMS-291s aufnimmt und diese in ein GPS mit einer Genauigkeit von weniger als einem Zoll integriert, damit Sie wissen, wo jeder Scan stattgefunden hat. Als naiver Webprogrammierer habe ich verstanden, dass das Timing wichtig sein würde, wusste aber nicht, dass es auch schwierig sein würde! Wenn Sie nicht wissen, wann jeder GPS-Punkt und jeder Scan stattgefunden hat, können Sie nicht herausfinden, wo die Scans stattfinden. Hoppla.
Sie hatten Windows 7 als Plattform angegeben und eine SeaLevel RS422-zu-USB- Box gekauft, um die Sensoren und das GPS anzuschließen , und in kurzer Zeit entdeckte ich meine Torheit. Irgendwo zwischen den Sensoren und meinem Computerprogramm verhinderte etwas, dass die Scans rechtzeitig eintrafen. Das LMS spuckt 75 Scans pro Sekunde oder mit 13,32 ms / Scan aus. Mein Programm bekommt sie nicht rechtzeitig. Sie werden alle 100 Millisekunden in Gruppen von 7 oder 8 oder 10 oder so etwas abgerufen. Manchmal werden auch nicht genügend Scans angezeigt oder sie werden verstümmelt. Entweder sendet dieser SeaPort-Adapter nur zehnmal pro Sekunde (ist das möglich? Ich weiß nicht, wie USB funktioniert) oder Windows überprüft den Puffer nicht fast oft genug (es muss irgendwo einen Puffer geben, oder?).
Gegenwärtiger Tag : Dies führt zu einigen Ungenauigkeiten, mit denen der Kunde grundsätzlich einverstanden ist. Ich bin es jedoch nicht und da ich die Möglichkeit habe, ähnliche Arbeiten für den Kunden auszuführen (mehr Sensoreingänge zu integrieren!), Würde ich gerne herausfinden, wie man es richtig macht, z. B. angesichts der Genauigkeit des GPS in der Lage sein, Garantien für die Präzision und Genauigkeit der Scanpositionen zu geben.
Wie sieht das aus? Ich benötige eine Benutzeroberfläche und kann alle 13,32 Millisekunden die Eingabe dieser drei Geräte überprüfen. Wenn ich FreeRTOS beispielsweise mit Nano-X für die GUI verwenden und auf einem von ihnen bereitgestellten Laptop ausführen würde, würde das nach einer vernünftigen Lösung klingen? Ist es möglich, dass der RS-422-zu-USB-Adapter diese Verzögerungen verursacht, und die Verwendung von Windows ist für diesen Zweck eigentlich in Ordnung?