' schrieb:so, nach Rücksprache mit dem Support liegt das Problem wohl doch auf LabView-Seite.
[*zensiert*]
Zitat:Es muss irgendwo OPC-Client-Einstellungen geben, in den auch die Zykluszeit des Datenaustauschs zwischen LabView und dem OPC-Server erfolgt.
LabVIEW greift mit den Elementen des Datasocket auf die OPC-Schnittstelle (quasi der OPC-Scout) zu, die von OPC-Lieferanten (hier also Siemens) zur Verfügung gestellt wird. Wenn diese Schnittstelle, ob das nun ein Server oder ein Client ist spielt keine Rolle, neue Daten nur langsam zur Verfügung stellt - ist doch LabVIEW nicht Schuld. Die Zugriffsgeschwindigkeit von LabVIEW auf den OPC-Server geschieht alleine dadurch, dass du z.B. alle 5ms einen expliziten Lesebefehl machst. Der Lesebefehl kann nun mit oder ohne "Warten auf neue Daten" geschehen (wobei "neue Daten" nur heißt "neues Datenpaket").
Nimm einen OPC-Server von B&R - der geht um einiges schneller als der von Siemens. Wie kann das wohl sein?
Zitat:Diese Zeit ist unabhängig vom eigentlichen Buszyklus, da der OPC ja mit eigenem Zyklus auf das Prozessabbild der Ein- und Ausgänge der CP zugreift. Im Simatic OPC-Scout kann ich diese Zeit einstellen, wenn ich den Scout als Client benutze.
Ich glaube mich zu erinnern, dass in der Beschreibung steht: "Minimum 100ms".
Zitat:Bei LabView hab ich diese Einstellung bis jetzt noch nicht gefunden.
Mir ist gerade nicht bewusst, dass es da was zum Einstellen gibt. Einfach so schnell wie's geht die Datasockets ausführen.
Wie überträgst du denn die Daten über den OPC? Einzeln oder im Block? Du kannst einen Block definieren, der aus einer beliebigen Anzahl von Einzelwerten bestehen kann.
Zitat:Weiß irgendjemand wo es in LabView OPC-Client Einstellungen gibt?
Wenn, dann beim Erstellen der OPC/Datasocket-Referenz.
[*grübel*]
Da geht glaub ich bloß der Zugriffsmode (rd, wr, rd/wr) und Timeout.
Zitat:Wie kann ich die Differenz aus dem jeweils aktuellen Zeitwert und dem Zeitwert des Schleifendurchlaufs davor bilden,
Einfach subtrahieren. Nimm dazu ein Schieberegister und leg da den aktuellen Zeitstempel rein.