Hallo,
ich arbeite zur Zeit sehr viel mit LabVIEW im Zusammenhang mit Modbus.
Mein Modbus arbeitet mit 9600 Baud. Es funktioniert auch sowohl das einlesen von Inputs u. Holdings als auch das Ausgeben von Coils oder Holdings.
Ich versuche aber die Geschwindigkeit beim einlesen der Inputs zu verbessern. Ich hab mal ein kleines performance Tool gemacht, in dem ich die Zeiten für das einlesen von 41 und einem einzelnen Input darstelle. Der einzelne Input benötigt nach Messungen rund 157ms das lesen von einem Input 64ms. Die Problematik liegt, darin, dass die auszulesenden Datenpunkte nicht untereinander angeordnet sind, sondern durcheinander. So kann es vor kommen, dass ich Datenpunkt 1 und 10 brauche usw.
Meine Frage wäre es, ob es eine Optimierungsmöglichkeit gibt, um einzelne Inputs bzw. eine bestimmte Anzahl bzw. bestimmte Datenpunkte einzulesen. Hat jemand eine Idee wo man da evtl. noch schrauben kann.
Das eigentliche Ziel wäre ein einlesen von 8 Inputs in etwa 70 ms zu erreichen.
Wenn ich mir so die Übertragung per Modbus anschaue habe ich in jedem Fall:
8-Bit Adresse, 8-Bit Funktion, Daten N x 8 Bits, 16-Bit CRC
Gruß Florian