Abbildung der Logger Funktion
Diese Dokumentation beschreibt, wie Daten mithilfe der Analytics Data Exchange API im Analytics-Format versendet oder gespeichert werden können.
Lizenz
Für das Schreiben von Daten im TwinCAT-Analytics-Format wird eine Lizenz für den TwinCAT 3 Analytics Logger benötigt. Die Data Exchange API kann mit einer 7-Tage Lizenz getestet werden.
Erzeugen und Konfigurieren einer Datenablage:
Zum Versenden oder Speichern von Daten im Analytics-Format wird im ersten Schritt ein Builder erzeugt, um die Datenablage zu konfigurieren:
Factory = SinkFactory()
Builder = Factory.ToFile(FilePath)
Builder = Factory.ToMessageBroker(Broker, 1883)
Die verschiedenen Builder stellen unterschiedliche Methoden zur Konfiguration bereit. Symbole können über die Methode „WithSymbol“ hinzugefügt werden. Es können beliebig viele Symbole verwendet werden. Für die meisten Basisdatentypen stehen bereits Symbol Implementierungen bereit. Strukturierte Datentypen und Arrays können zusätzlich implementiert werden.
class MyStruct(Struct):
def __init__(self, name : str):
self.b = Bool("b")
self.i64 = Int64("i64")
self.f64 = Real64("f64")
super().__init__(name)
TestValInt = Int32("i32")
TestValFloat = Real32("f32")
TestValArray = Array("arrf64", Real64(), [10])
TestValStruct = MyStruct("myStruct")
Builder.WithSymbol(TestValInt)
Builder.WithSymbol(TestValFloat)
Builder.WithSymbol(TestValArray)
Builder.WithSymbol(TestValStruct)
Ist der Builder vollständig konfiguriert wird über die Build Methode eine neues Sink angelegt, welche mit InitWrite initialisiert wird. Anschließend wird über die Write-Methode der aktuelle Wert der Symbole geschrieben. Zwischen mehreren Aufrufen der Write-Methode können die Werte der Symbole aktualisiert werden. Sind alle Daten geschrieben wird der Schreibprozess mit CompleteWrite beendet:
SampleCount = 32
TestValInt.Value = 1000
TestValFloat.Value = 0.25
Sink.Write()
for i in range(0, SampleCount):
TestValInt.Value += 1
TestValFloat.Value += 0.25
Sink.Write()
Sink.CompleteWrite()