TC3 Anbindung an Prometheus

Ja, habe ich schon gemacht. Teils direkt über das Prometheus HTTP API, oder über eine weitere Schicht mittels Node-RED / Python / C++. Für direkten HTTP API Zugriff kann die TF6770 von Beckhoff verwendet werden.

Was möchtest du genau umsetzen?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo plcSniffer+

TF6770 finde ich auf der Beckhoff Homepage und im InfoSys nicht. Stimmt die Nummer?

Ich möchte ca. 1000 Real Werte alle 30 Sekunden übertragen und der direkte Weg von TwinCat zu Prometheus ohne Hilfsprogramme wäre mir der liebste.

Danke.
 
Ich kenne Prometheus jetzt nicht und Google hat mir auf die Schnelle mit meinen zwei Stichworten keine eindeutigen Antwort geliefert aber ich sehe als wahrscheinlichste Antwort
TF6760: HTTP(s) Client-Schnittstelle von TwinCAT (Rest-API mit z.b. HTTP GET)
Du benötigst allerdings eine aktuelle TwinCAT (4024.7)
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Nachtrag: Ich habe noch einmal in einem Projekt nachgesehen. Die Daten habe ich mittels REST aus der Steuerung an einen eigenen HTTPS Server gesendet. Dieser stellt einen Prometheus Client / Exporter, von welchem sich der Prometheus Server seinen Daten / Metrics holt. Ganz ohne weitere Schicht geht es nicht. Hatte ich leider anders in Erinnerung. Entschudigung für die Verwirrung.
 
Danke an alle für die Rückmeldungen. Werde mich mal ans Testen und Probieren üben....hoffentlich werde ich demnächst Zeit dafür finden!
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo!

Ich grabe dieses Thema nochmals aus. Meine erste Lösung war mittels einer zusätzlichen Software (https://github.com/MarcusCalidus/twincat-ads-webservice-exporter). Funktioniert eigentlich sehr gut (67.000 Messwerte pro Minute werden erfolgreich seit fast 12 Monaten in Prometheus gespeichert).

Da ich zur Zeit ein wenig Zeit übrig habe, möchte ich mir nochmals die Variante mit TF6760 anschauen. Ich hab mal mich ein wenig in die Prometheus "--web.enable-remote-write-receiver" Sache eingelesen, aber bin noch nicht auf einen grünen Zweig gekommen.

Kann mir da jemand Weiterhelfen? Mir wäre das ganze auch eine Flasche österreichischen Wein (inkl. Versand nach AT/DE) wert... ;)

Danke!

LG Klingone22
 
Guten Tag zusammen
Ich bin momentan auch mit der Twincat Library TF6760 beschäftigt. Es geht um eine Kommunikation mit einem Drucker.
Folgendes Kommando möchte ich via TC3 an den Drucker senden. http://192.168.170.220/TrojanControl/index.php/apiv1/system/status
1688975689569.png
Wenn ich diesen URL-Befehl im Google Crome oder Postman (mittels GET) absetze, bekomme ich die gewünschte Antwort.
Mache ich die ganze Sache in der TC3-Umgebung mittels dem Baustein FB_IotHttpClient und beschalte diesen entsprechend, habe ich keine Rückmeldung, dass ich Verbindung zu dem Http-Server habe.
1688976204258.png

1688976260271.png
Zusätzlich habe probehalber einen Verbindungsaufbau mittels TCP/IP (FB_ClientServerConnection) aufgebaut. Diese Verbindung klappt problemlos. PrintScreen Google Crome Entwicklungtool

1688976955976.png

Hat jemand eine Idee oder Anregung, was ich noch probieren kann, damit ich eine Http-Verbindung von TC3 nach dem Drucker hinbekomme.
Vielen Dank und einen sommerlichen Gruss
Mauser
 
Hi Mauser, threads kapern ist so eine Sache. Ein Neuer wäre schön gewesen.

Ich bin jetzt nur kurz drübergeflogen. Wie kommst du auf deinen Split der WebAdresse auf sHostName und sSendRequest.sUri ?
Ich hätte in sHostName nur die IP-Adresse eingepflegt.

Guga
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Guga, vielen Dank für deine Antwort.
Laut Drucker Doku kann man die Adresse splitten.
1688987481655.png

1688987504510.png
1688987527539.png
1688987552507.png

Dein Vorschlag mit dem HostName nur die IP-Adresse belegen, habe ich auch probiert. Leider ohne Erfolg.
1688987793253.png
 
Probier als sHostName bitte "192.168.170.220" Über den Port= 80 wird http schon eindeutig definiert.

Und auch wenn es nicht relevant sein dürfte würde ich starten mit fbHttpClient.bNoserverCertCheck=TRUE;
Die Sicherheit schärfer stellen geht immer. Allerdings sollte das hier keinen Unterschied machen
 
Hallo Guga
Ich konnte das Problem lösen. Ich habe die falsche Beckhoff Library ausgewählt. Anstatt die TF6760 muss ich die normale TCP/IP TF6310 benützen. Nachdem ich via Wireshark den Hex String herausfiltern konnte, testete ich diesen Hex String mit dem Hercules Terminal Programm. So konnte ich den richtigen TCP-Sendestring herausfinden.
Nochmals vielen Dank für die Hilfe.
1688998445690.png
 
Zurück
Oben