Seite 1 von 1

Externe (eigene) Konfigurations-Datei zu Sensoren einlesen

Verfasst: Montag 5. April 2010, 18:32
von hrd
Hallo zusammen,

da ich meine Sensoren immer wieder auf verschiedene Systeme umkonfigurieren muss und diese geänderten Daten nicht immer zu Beginn von Hand im ProfiLab eintippen möchte, habe ich mir überlegt, dies über eine entsprechende Konfigurations-Datei zu machen:

schlüssel1=wert1
schlüssel2=wert2
usw.
config.mak
(93 Bytes) 512-mal heruntergeladen
(ist kein Makro sondern die Konfigurations-Datei - bitte umbenennen da dieses Forum keine anderen Endungen als .prj & .mak zulässt)

Zuerst habe ich es mit dem $HOLD versucht aber bin an der Reihenfolge der Abarbeitung der Elemente in ProfiLab gescheitert trotz verschiedenen Komibinationen mit 'to front/back' der Elemente (siehe Makro tcfgval1): Da liefert ProfiLab schon den nächsten Wert am $HOLD wenn der Vergleicher noch immer Gleichheit liefert. Fehlt da nicht noch ein Elemente $Delay in ProfiLab?
Dann habe ich es mit dem $BUFFER anstelle von $HOLD versucht und konnte die Werte erfolgreich zuordnen (siehe Makro tcfgval4).
tcfgfile0.prj
(5.16 KiB) 502-mal heruntergeladen
(bitte Pfad/Name im Element ReadLine anpassen)

Hat jemand noch einen anderen Vorschlag wie man in ProfiLab so etwas elegant machen könnte?

p.s. Voraussetzung ist, dass ich die Sensoren entsprechend dem System konfiguriere und dann mit einer kompilierten ProfiLab-Version die Messung starte (wo dann u.a. zuerst die Werte der Sensoren eingelesen würde).

Danke & Gruss
hrd

Re: Externe (eigene) Konfigurations-Datei zu Sensoren einlesen

Verfasst: Mittwoch 7. April 2010, 15:34
von IKT
@hrd

die Geschichte $HLD arbeitet schon, nur muss der /HLD Eingang invertiert werden, entweder am Bauteil selbst oder via vorgeschaltetem Inverter.

@abacom
Frage: woran liegt es, dass am Ende immer eine Leerzeile kommt? Da doch über EOF der Taktgeber ausgeschaltet wird?

Gruss IKT

Re: Externe (eigene) Konfigurations-Datei zu Sensoren einlesen

Verfasst: Mittwoch 7. April 2010, 15:45
von testerer
hi hrd,

mittels zip kann man hier jede datei hochladen (eine oder mehrere dateien in eine *.zip komprimieren).
ein guter komprimierer: http://www.7-zip.de/

Re: Externe (eigene) Konfigurations-Datei zu Sensoren einlesen

Verfasst: Mittwoch 7. April 2010, 16:16
von hrd
@IKT: der Vergleicher liefert doch ein HIGH am A=B wenn die beiden Strings gleich sind, also muss der $HOLD den aktuellen String einlesen mit HIGH am /HLD Eingang. Sind die Strings ungleich, liefert der Vergleicher am A=B ein LOW und der $HOLD liest (sollte) keinen neuen Wert was er aber leider nicht tut. Ich vermute die Reihenfolge der Abarbeitung zu verändern oder habe ich da etwas nicht begriffen?
Danke für Dein Beispiel aber ich wollte am Ende den jeweiligen Wert jedes Schlüssels an einem Pin haben.

@IKT: die Leerzeile kommt vermutlich daher weil die letze Zeile noch ein CR & LF beinhaltet.

@testerer: danke - wusste ich nicht!

Re: Externe (eigene) Konfigurations-Datei zu Sensoren einlesen

Verfasst: Donnerstag 8. April 2010, 16:16
von IKT
@hrd
Timing ist das A und O bei jeder Schaltung, soweit alles klar. Ein Problem in der Schaltung ist mir beim "üben" aufgefallen:
Das Ausschalten des Taktgenerators funktioniert nicht "sauber", d.h. auch wenn bei "f" eine Null anliegt gibt es ab und zu doch noch Pulse "durch", was zur Folge hat, dass dann der Vergleicher nicht mehr A=B - High.
Eine Möglichkeit dieses Verhalten "abzustellen" ist einen $HOLD zwischen RL und Vergleicher einzubauen, der ein weiteres "nachschieben" verhindert. Dies habe ich getestet und es funktioniert.

Mein Beispiel von gestern ist nicht als fertige Lösung zu verstehen, sondern eher als ein Denkanstoss.