Offline-Betrieb der Lernfabrik

Alles rund um TX(T) und RoboPro, mit ft-Hard- und Software
Computing using original ft hard- and software
Forumsregeln
Bitte beachte die Forumsregeln!
Antworten
gerd.lorenz
Beiträge: 11
Registriert: 26 Jan 2023, 07:13

Offline-Betrieb der Lernfabrik

Beitrag von gerd.lorenz » 26 Jan 2023, 07:24

Hallo Community,

ich habe die Lernfabrik 560840. Es scheint, als ob eine Internetverbindung zwingend erforderlich ist. Blockiere ich den Internetzugang für den integrierten Nano-WLAN-Router, dann kann ich keine Werkstücke neu einlagern und produzierte Werkstücke werden in den Ausschussbehälter statt in den Ausgang gelegt. Kann man die Anlage auch komplett offline betreiben und so die Steuerung nur über das lokale NodeRed erledigen? Wo müsste man was hierzu anpassen?

Vielen Dank für die Unterstützung.
Gerd

vleeuwen
Beiträge: 1557
Registriert: 31 Okt 2010, 22:23
Wohnort: Enschede (NL)
Kontaktdaten:

Re: Offline-Betrieb der Lernfabrik

Beitrag von vleeuwen » 28 Jan 2023, 01:02

Yes, the factory 4.0 9V with the C++ program can operate without an Internet connection, in a local network only.
See also:
viewtopic.php?f=8&t=7517&p=58175&hilit= ... cal#p58175
viewtopic.php?f=8&t=7444&p=57395&hilit= ... cal#p57395
With some small change, it is also possible to run the Factory 4.0 inside a local network only and with a local NodeRed dashboard on a laptop. Without a internet connection.
software enigineer/teacher/advisor
Google translate
http://tescaweb.nl/Carel/?p=713

gerd.lorenz
Beiträge: 11
Registriert: 26 Jan 2023, 07:13

Re: Offline-Betrieb der Lernfabrik

Beitrag von gerd.lorenz » 28 Jan 2023, 07:51

Many thanks for your reply. It seems as your second link points to some sub links describing the change of a C++ program of the TXT controller to change the MQTT communication flow. I will have a look at this next week.

Or is it more easier to install a MQTT broker on the Raspberry and change the address in the configuration only? In this case I need the credentials of the root user. Where can I get them?

vleeuwen
Beiträge: 1557
Registriert: 31 Okt 2010, 22:23
Wohnort: Enschede (NL)
Kontaktdaten:

Re: Offline-Betrieb der Lernfabrik

Beitrag von vleeuwen » 28 Jan 2023, 14:15

There are more possibilities:
There is a MQTT broker running and is use on one of the TXT (camera).
You need to change the configuration file of this MQTT broker (service).
As I remember me well:
You need only remove the extension .cloud from TxtFactoryMain.cloud.
TxtFactoryMain is a normal executable.
The application lancer on the TXT use the .cloud extension only to restart the MQTT broker with a different configuration file.

When you like to run the MQTT broker on a different system in your local network, you will need to change the MQTT broker IP-address in the C++ file and recompile these executables.
See also: https://github.com/fischertechnik/txt_training_factory

For root access on the TXT, see the fischertechnik support website: Robotics|TXT.
Have fun with it.
software enigineer/teacher/advisor
Google translate
http://tescaweb.nl/Carel/?p=713

rugee-f
Beiträge: 63
Registriert: 28 Jan 2022, 13:46

Re: Offline-Betrieb der Lernfabrik

Beitrag von rugee-f » 14 Feb 2023, 21:20

Im Programm auf dem TXT werden die Zeitstempel aller MQTT Aktionen auf Gültigkeit geprüft.

Wenn die Uhrzeiten auf SPS, Raspi und TXT nicht synchron laufen werden Aktionen
mit ungültigen Zeitstempeln verworfen.

Wenn ich mich recht erinnere kann man im Node-Red Frontend die Uhrzeiten auch manuell setzen -
dann funktioniert das Dashboard auch ohne Internetverbindung.

Ansonsten versucht der RasPi und die SPS auf den Internet NTP Server in Braunschweig zu synchronisieren.

Deine Fehlerbeschreibung ist übrigens absolut korrekt - laufen die Uhren nicht synchron werden die Aktionen des RFID lesen/schreiben im TXT verworfen und das Teil im Wareneingang landet im Ausschußbehälter...

gerd.lorenz
Beiträge: 11
Registriert: 26 Jan 2023, 07:13

Re: Offline-Betrieb der Lernfabrik

Beitrag von gerd.lorenz » 15 Feb 2023, 07:55

Vielen Dank für die Antwort.

Ich war zwischenzeitlich im Kontakt mit dem Support. Auch hier hat man mir gesagt, dass es an den Zeitstempeln liegt. Ich wollte daraufhin lediglich den NTP-Server unter /etc/ntp.conf umstellen. Aber obwohl ich mich genau an die Anleitung https://www.fischertechnik.de/-/media/f ... 43_de.ashx gehalten habe, konnte ich das neue Root-Passwort nicht verwenden. Es wurde nicht akzeptiert. Gibt es hierzu Vorschläge?

Die Idee, die Zeitstempel in den JSON-Daten der Nachrichten einfach zu überschreiben, werde ich als letzte Möglichkeit umsetzen. Darauf bin ich nicht gekommen. Das sollte aber funktionieren. Ich wollte eigentlich nicht in die bestehenden Flows eingreifen.

Vielen Dank nochmals.

rugee-f
Beiträge: 63
Registriert: 28 Jan 2022, 13:46

Re: Offline-Betrieb der Lernfabrik

Beitrag von rugee-f » 15 Feb 2023, 21:32

Ich bin mir ziemlich sicher, daß Du auf dem TXT nichts anfassen bzw. ändern musst um die Fabrik offline zu bedienen.

Auf der SPS kannst Du die Uhrzeit auch einmalig über TIA stellen - die Echtzeituhr der SPS ist relativ genau und muß nicht oft nachgestellt werden.

In den Node-Red Flows gibt es ein Tab mit [Sync Time] dort wird die Uhrzeit gestellt (einmal am Tag).
Zum Test würde ich den delay Node ändern und mal sehen ab wann welche Zeit gilt.

Am TXT ging das Uhrzeit stellen nur über irgendeinen Kunstgriff (Kamera-settings aktualisieren oder sowas).
In den [Sync Time] Flows kannst Du gut sehen was da genau passiert.

RasPi und TXT haben nach jedem Ausschalten die falsche Uhrzeit, da musst Du also immer zuerst stellen...

Ach ja die Firmware und der Stand des TXT Programms (TXTGatewayPLC) zur Lernfabrik sollten aktuell sein.
Wenn Dein TXT älter ist, fehlt eventuell die Funktion des "Uhrzeit stellen".
Zuletzt geändert von rugee-f am 16 Feb 2023, 09:31, insgesamt 1-mal geändert.

rugee-f
Beiträge: 63
Registriert: 28 Jan 2022, 13:46

Re: Offline-Betrieb der Lernfabrik

Beitrag von rugee-f » 16 Feb 2023, 09:09

so heute konnte ich dir einen Screenshot machen...
Dateianhänge
Time_Sync.png
Time_Sync.png (180.5 KiB) 1818 mal betrachtet

gerd.lorenz
Beiträge: 11
Registriert: 26 Jan 2023, 07:13

Re: Offline-Betrieb der Lernfabrik

Beitrag von gerd.lorenz » 17 Feb 2023, 13:49

Vielen Dank für die Antwort.

Ich habe den Flow gefunden und habe die notwendigen Nodes in einen separaten Flow kopiert. Wenn ich nun über einen Inject-Node einen festen Zeitpunkt injiziere, dann wird nur auf dem Raspberry die Zeit gesetzt. Auf der Kamera, BME680, LDR und TXT sind die Zeitstempel am Ende noch immer falsch. Die PLC zeigt die richtige, aktuelle Uhrzeit an.

Hast Du noch eine Idee?

Vielen Dank schon mal im Voraus.
2023-02-17_13h38_39.png
2023-02-17_13h38_39.png (186.1 KiB) 1765 mal betrachtet

Flow Test Time Sync.json (den kann ich hier leider nicht direkt als JSON-Datei anhängen):

[{"id":"f90459c8.ec5198","type":"tab","label":"Test Time Sync","disabled":false,"info":""},{"id":"3b403268.31bf4e","type":"mqtt out","z":"f90459c8.ec5198","name":"","topic":"fl/broadcast","qos":"0","retain":"","broker":"788959e0.92f718","x":770,"y":180,"wires":[]},{"id":"2b3008e5.1c17a8","type":"inject","z":"f90459c8.ec5198","name":"2023-02-17T11:00:00.000Z","topic":"","payload":"2023-02-17T11:00:00.000Z","payloadType":"str","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":170,"y":160,"wires":[["f53d83ca.a6257","b997d960.3cc098","7a4651c9.34f3"]]},{"id":"f53d83ca.a6257","type":"function","z":"f90459c8.ec5198","name":"msg.ts","func":"msg.payload = {\"ts\": msg.payload};\nreturn msg;","outputs":1,"noerr":0,"x":430,"y":180,"wires":[["3b403268.31bf4e"]]},{"id":"15560397.a278fc","type":"comment","z":"f90459c8.ec5198","name":"set time Raspi","info":"","x":770,"y":40,"wires":[]},{"id":"33afdc7.9ee0524","type":"exec","z":"f90459c8.ec5198","command":"sudo date -s","addpay":true,"append":"","useSpawn":"false","timer":"","oldrc":false,"name":"","x":770,"y":80,"wires":[[],[],[]]},{"id":"b997d960.3cc098","type":"function","z":"f90459c8.ec5198","name":"msg","func":"return msg;","outputs":1,"noerr":0,"x":430,"y":80,"wires":[["33afdc7.9ee0524"]]},{"id":"27865b3b.2ebf54","type":"comment","z":"f90459c8.ec5198","name":"set time TXT Controller","info":"","x":800,"y":140,"wires":[]},{"id":"7a4651c9.34f3","type":"function","z":"f90459c8.ec5198","name":"{\"on\":true,\"fps\":2,\"ts\":msg.playload}","func":"msg.payload = {\"on\":true,\n \"fps\":2,\n \"ts\": msg.payload\n};\nmsg.payload = JSON.stringify(msg.payload);\nreturn msg;\n","outputs":1,"noerr":0,"x":520,"y":220,"wires":[["f3c3d35c.142ad"]]},{"id":"f3c3d35c.142ad","type":"mqtt out","z":"f90459c8.ec5198","name":"","topic":"c/cam","qos":"0","retain":"","broker":"788959e0.92f718","x":750,"y":220,"wires":[]},{"id":"788959e0.92f718","type":"mqtt-broker","z":"","name":"","broker":"192.168.0.10","port":"1883","clientid":"Node-RED","usetls":false,"compatmode":true,"keepalive":"60","cleansession":true,"birthTopic":"","birthQos":"0","birthPayload":"","closeTopic":"","closeQos":"0","closePayload":"","willTopic":"","willQos":"0","willPayload":""}]

vleeuwen
Beiträge: 1557
Registriert: 31 Okt 2010, 22:23
Wohnort: Enschede (NL)
Kontaktdaten:

Re: Offline-Betrieb der Lernfabrik

Beitrag von vleeuwen » 18 Feb 2023, 10:30

software enigineer/teacher/advisor
Google translate
http://tescaweb.nl/Carel/?p=713

rugee-f
Beiträge: 63
Registriert: 28 Jan 2022, 13:46

Re: Offline-Betrieb der Lernfabrik

Beitrag von rugee-f » 21 Feb 2023, 08:01

Welche Version hat denn dein TXTGatewayPLC Programm?
Ich weiß daß die "Uhrzeit stellen" Funktion auf dem TXT mal nachträglich integriert wurde.
Dazu wurde wohl programmtechnisch das MQTT Signal für das setzen der Camera settings zweckentfremdet.
TxtGatewayPLC.png
TxtGatewayPLC.png (30.26 KiB) 1622 mal betrachtet

gerd.lorenz
Beiträge: 11
Registriert: 26 Jan 2023, 07:13

Re: Offline-Betrieb der Lernfabrik

Beitrag von gerd.lorenz » 21 Feb 2023, 08:18

Die Version ist die TxtGatewayPLC 0.9.5.

Ich habe Zugriff auf einen internen NTP-Server bekommen. Wenn ich übermorgen wieder im Büro bin, werde ich testen, ob ich diesen verwenden kann. Damit sollte sich mein Problem hoffentlich erledigt haben.

Vielen Dank für die konstruktiven Antworten bislang.

rugee-f
Beiträge: 63
Registriert: 28 Jan 2022, 13:46

Re: Offline-Betrieb der Lernfabrik

Beitrag von rugee-f » 21 Feb 2023, 08:45

Auf dem Raspi kannst du relativ leicht die verwendeten Zeitserver ändern:
Time_conf.png
Time_conf.png (36.72 KiB) 1612 mal betrachtet
In der SPS über TIA.
Dateianhänge
PLC_Time.png
PLC_Time.png (213.29 KiB) 1609 mal betrachtet

rugee-f
Beiträge: 63
Registriert: 28 Jan 2022, 13:46

Re: Offline-Betrieb der Lernfabrik

Beitrag von rugee-f » 21 Feb 2023, 08:55

Am TXT - weiß ich es nicht. :-(

gerd.lorenz
Beiträge: 11
Registriert: 26 Jan 2023, 07:13

Re: Offline-Betrieb der Lernfabrik

Beitrag von gerd.lorenz » 21 Feb 2023, 09:23

Beim TXT stehen die Zeit-Server in /etc/ntp.conf. ;)

Vielen Dank. Dann habe ich jetzt für alle die Stellen, wo man den NTP-Server eintragen muss.

gerd.lorenz
Beiträge: 11
Registriert: 26 Jan 2023, 07:13

Re: Offline-Betrieb der Lernfabrik

Beitrag von gerd.lorenz » 23 Feb 2023, 14:13

Ich war heute voller Hoffnung, da ich alle Infos zusammen hatte. Das glaubte ich zumindest.

Ich habe auf meinem Windows-Laptop den NTP-Server aktiviert und ihn per WLAN angebunden. Der Zugriff vom TXT und vom Raspberry aus hat funktioniert. Nun habe ich in den Konfigurationsdateien beim TXT und Raspberry meine IP-Adresse als NTP-Server eingetragen und alles komplett neu gestartet.

Im NodeRed Dashboard zeigt der Raspberry die aktuelle Uhrzeit. Der TXT hingegen zeigt immer noch den 01.01.2000. Wobei hier ein "Flackern" zu erkennen ist und für einen ganz kurzen Moment immer mal wieder die aktuelle Zeit angezeigt wird. Auf der Kamera, BME680, LDR und TXT sind die Zeitstempel ebenfalls vom 01.01.2000.

Wenn ich die Debug-Meldungen im Zeit-Synchronisations-Flow aktiviere, sehe ich, dass hier der aktuelle Zeitstempel verwendet wird. Irgendwo scheint der TXT also seine aktuelle Zeit gegen seine Default-Einstellung zu verlieren. Wahrscheinlich direkt bei der Synchronisation mit dem Zeit-Server. Ich füge mal meine ntp.conf sowie die Abfrage meines NTP-Servers unter Windows und dem TXT an. Die liefern nämlich komplett unterschiedliche Zeiten zurück.

2023-02-23_14h59_50.png
2023-02-23_14h59_50.png (85.81 KiB) 1492 mal betrachtet
2023-02-23_14h59_15.png
2023-02-23_14h59_15.png (51.78 KiB) 1492 mal betrachtet
Noch eine Beobachtung von mir. Wenn ich den TXT neu starte, zeigt er die aktuelle Zeit an. Sobald ich aber das MQTT-Programm starte, dann wird wie oben beschrieben, der Zeitstempel auf den 01.01.2000 gesetzt.

rugee-f
Beiträge: 63
Registriert: 28 Jan 2022, 13:46

Re: Offline-Betrieb der Lernfabrik

Beitrag von rugee-f » 24 Feb 2023, 07:51

Jetzt gehen mir langsam die Ideen aus...

Wie sieht denn dein Startbildschirm auf dem TXT aus?
Bei mir steht da an manchen Tagen in der Uhrzeit konstant der Wert 01:00 drin.
Das WLAN Symbol fehlt dann in der Anzeige auch.
WLAN funktioniert jedoch und die Zeitstempel vom TXT sind trotzdem OK.

Hast Du vielleicht ein timing Problem beim Starten?
Meine Starteinstellungen für das TXTGatewayPLC Programm sehen so aus:
TXT_Start.png
TXT_Start.png (188.36 KiB) 1438 mal betrachtet
Ich starte das TXT Programm also von Hand. Dies bedeutet in letzter Konsequenz,
das die "Uhr-stellen" Funktion auf dem RasPi schon durchgelaufen ist, bevor MQTT auf dem TXT läuft.
Durch die Synchronisierung nach extern läuft meine Fabrik dann aber trotzdem korrekt.
"Uhr-stellen" vom RasPi würde dann erst am nächsten Tag angestoßen - solange bleibt die Fabrik bei mir aber gar nicht an...

Eventuell hast Du noch ein Problem mit Winterzeit und UTC - was liefert denn dein Windows Timeserver.
Wenn sich die Zeitstempel von deiner SPS und deinem Zeitserver (dann auch dem TXT) unterscheiden, werden wieder MQTT Signale verworfen...

Ach ja auf deinem letzten Screenshot konnte ich nicht alles lesen, kannst Du die einzelnen Fenster mal größer Posten?
Ich bin schon alt da lässt mein Augenlicht nach...

gerd.lorenz
Beiträge: 11
Registriert: 26 Jan 2023, 07:13

Re: Offline-Betrieb der Lernfabrik

Beitrag von gerd.lorenz » 24 Feb 2023, 08:13

Vielen Dank.

Die Starteinstellungen am TXT sehen bei mir identisch aus. Momentan gehe ich auch von einem Timing Problem aus, obwohl ich den TXT ebenfalls immer als letztes und per Hand starte. Ich werde mir daher die NodeRed-Flows nochmals anschauen und ggf. anpassen. Die Zeitsynchronisation auf dem Raspberry und dem TXT per NTP sollte funktionieren. Die Zeitstempel sind auf beiden Geräten richtig im Dashboard dargestellt, allerdings nur solange, bis im Zeit-Sync-Flow die Zeit bei der Kamera gesetzt wird.

Ich werde mir also hier die zeitliche Reihenfolge nochmals anschauen und das Setzen im dem Zeit-Sync-Flow nur dann durchführen, wenn ich eine plausible Zeit ermittelt habe. Ich habe nämlich auch gelesen, dass unter Linux die Synchronisation per NTP nur dann funktioniert, wenn die aktuelle Zeit von der NTP-Zeit nicht zu stark abweicht (nur max. wenige Minuten).

rugee-f
Beiträge: 63
Registriert: 28 Jan 2022, 13:46

Re: Offline-Betrieb der Lernfabrik

Beitrag von rugee-f » 24 Feb 2023, 08:49

Wenn zu Beginn deine Zeitstempel OK sind, must du eigentlich nicht mehr neu synchronisieren.
D.h. wenn Du die Kamera settings nicht mehr veränderst muß deine Zeit passen
und die MQTT Nachrichten sollten nicht wegen falscher Zeitstempel verworfen werden.

Verhindere doch mal das synchronisieren des TXT aus Node-Red dann sollte eigentlich alles laufen.

gerd.lorenz
Beiträge: 11
Registriert: 26 Jan 2023, 07:13

Re: Offline-Betrieb der Lernfabrik

Beitrag von gerd.lorenz » 24 Feb 2023, 09:17

Das wollte ich ausprobieren. ;)

Einmalig muss ich jedoch den Zeitstempel in der Kamera und im Umweltsensor setzen, sonst wird mir der 01.01.2000 angezeigt. Ich werde mir die NodeRed-Flows nochmals genauer anschauen und hierbei die Auslöser genau im Auge behalten.

Antworten